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>
This commit is contained in:
parent
cadb2b12fb
commit
0dbbf25561
|
@ -112,7 +112,11 @@ int cros_ec_register(struct cros_ec_device *ec_dev)
|
||||||
|
|
||||||
mutex_init(&ec_dev->lock);
|
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) {
|
if (ec_dev->irq) {
|
||||||
err = request_threaded_irq(ec_dev->irq, NULL, ec_irq_thread,
|
err = request_threaded_irq(ec_dev->irq, NULL, ec_irq_thread,
|
||||||
|
|
Loading…
Reference in New Issue