summaryrefslogtreecommitdiff
path: root/drivers/misc/cros_ec.c
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2015-03-26 09:29:30 -0600
committerSimon Glass <sjg@chromium.org>2015-04-18 11:11:15 -0600
commit72a38e06a20129209eaa0e5211cbf50b192de688 (patch)
tree4fc0dbb49a2b2810d6ad21bf524637cb5bc732b2 /drivers/misc/cros_ec.c
parent90b16d1491facd55909bdeca1326766dd5d0b925 (diff)
downloadu-boot-imx-72a38e06a20129209eaa0e5211cbf50b192de688.zip
u-boot-imx-72a38e06a20129209eaa0e5211cbf50b192de688.tar.gz
u-boot-imx-72a38e06a20129209eaa0e5211cbf50b192de688.tar.bz2
dm: cros_ec: Convert cros_ec LPC driver to driver model
This is the last driver to be converted. It requires an LPC bus and a special check_version() method. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/misc/cros_ec.c')
-rw-r--r--drivers/misc/cros_ec.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/misc/cros_ec.c b/drivers/misc/cros_ec.c
index 1c29ba8..efcad89 100644
--- a/drivers/misc/cros_ec.c
+++ b/drivers/misc/cros_ec.c
@@ -681,11 +681,23 @@ static int cros_ec_check_version(struct cros_ec_dev *dev)
struct ec_params_hello req;
struct ec_response_hello *resp;
+#ifdef CONFIG_DM_CROS_EC
+ struct dm_cros_ec_ops *ops;
+ int ret;
+
+ ops = dm_cros_ec_get_ops(dev->dev);
+ if (ops->check_version) {
+ ret = ops->check_version(dev->dev);
+ if (ret)
+ return ret;
+ }
+#else
#ifdef CONFIG_CROS_EC_LPC
/* LPC has its own way of doing this */
if (dev->interface == CROS_EC_IF_LPC)
return cros_ec_lpc_check_version(dev);
#endif
+#endif
/*
* TODO(sjg@chromium.org).