summaryrefslogtreecommitdiff
path: root/src/ec/google/chromeec/ec.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ec/google/chromeec/ec.c')
-rw-r--r--src/ec/google/chromeec/ec.c27
1 files changed, 25 insertions, 2 deletions
diff --git a/src/ec/google/chromeec/ec.c b/src/ec/google/chromeec/ec.c
index 1d351c5875..81e68d0f96 100644
--- a/src/ec/google/chromeec/ec.c
+++ b/src/ec/google/chromeec/ec.c
@@ -29,9 +29,7 @@
#include <stdlib.h>
#include <timer.h>
-#include "chip.h"
#include "ec.h"
-#include "ec_commands.h"
#define INVALID_HCMD 0xFF
@@ -1527,3 +1525,28 @@ int google_chromeec_wait_for_displayport(long timeout)
return 1;
}
+
+#if CONFIG(HAVE_ACPI_TABLES) && !DEVTREE_EARLY
+static struct device_operations ec_chromeec_ops = {
+ .acpi_name = google_chromeec_acpi_name,
+ .acpi_fill_ssdt_generator = google_chromeec_fill_ssdt_generator,
+};
+#endif
+
+/* ec_lpc, ec_spi, or ec_i2c can override this */
+__weak void google_ec_enable_extra(struct device *dev)
+{
+}
+
+static void google_chromeec_enable(struct device *dev)
+{
+#if CONFIG(HAVE_ACPI_TABLES) && !DEVTREE_EARLY
+ dev->ops = &ec_chromeec_ops;
+#endif
+ google_ec_enable_extra(dev);
+}
+
+struct chip_operations ec_google_chromeec_ops = {
+ CHIP_NAME("Google Chrome EC")
+ .enable_dev = google_chromeec_enable
+};