summaryrefslogtreecommitdiffstats
path: root/drivers/mfd
diff options
context:
space:
mode:
authorVincent Palatin <vpalatin@chromium.org>2018-04-18 12:23:58 +0200
committerLee Jones <lee.jones@linaro.org>2018-05-29 09:09:35 +0100
commit0dbbf25561b29ffab5ba6277429760abdf49ceff (patch)
tree655099061a1d6e8aa33e0995ab0cef62075b50ad /drivers/mfd
parentcadb2b12fbdc956c1f4a00fa371404c25295fb2c (diff)
downloadop-kernel-dev-0dbbf25561b29ffab5ba6277429760abdf49ceff.zip
op-kernel-dev-0dbbf25561b29ffab5ba6277429760abdf49ceff.tar.gz
mfd: cros_ec: Fail early if we cannot identify the EC
If we cannot communicate with the EC chip to detect the protocol version and its features, it's very likely useless to continue. Else we will commit all kind of uninformed mistakes (using the wrong protocol, the wrong buffer size, mixing the EC with other chips). Signed-off-by: Vincent Palatin <vpalatin@chromium.org> Acked-by: Benson Leung <bleung@chromium.org> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> Reviewed-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/cros_ec.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/mfd/cros_ec.c b/drivers/mfd/cros_ec.c
index c221163..1e52769 100644
--- a/drivers/mfd/cros_ec.c
+++ b/drivers/mfd/cros_ec.c
@@ -112,7 +112,11 @@ int cros_ec_register(struct cros_ec_device *ec_dev)
mutex_init(&ec_dev->lock);
- cros_ec_query_all(ec_dev);
+ err = cros_ec_query_all(ec_dev);
+ if (err) {
+ dev_err(dev, "Cannot identify the EC: error %d\n", err);
+ return err;
+ }
if (ec_dev->irq) {
err = request_threaded_irq(ec_dev->irq, NULL, ec_irq_thread,
OpenPOWER on IntegriCloud