[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180219224602.22582-1-enric.balletbo@collabora.com>
Date: Mon, 19 Feb 2018 23:46:02 +0100
From: Enric Balletbo i Serra <enric.balletbo@...labora.com>
To: Lee Jones <lee.jones@...aro.org>
Cc: groeck@...omium.org, gwendal@...omium.org, bleung@...omium.org,
linux-kernel@...r.kernel.org, kernel@...labora.com,
Vincent Palatin <vpalatin@...omium.org>
Subject: [PATCH 1/6] mfd: cros_ec: fail early if we cannot identify the EC
From: Vincent Palatin <vpalatin@...omium.org>
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@...omium.org>
Acked-by: Benson Leung <bleung@...omium.org>
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@...labora.com>
---
drivers/mfd/cros_ec.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/mfd/cros_ec.c b/drivers/mfd/cros_ec.c
index d61024141e2b..74780f2964a1 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,
--
2.16.1
Powered by blists - more mailing lists