Re: [PATCH 1/6] mfd: cros_ec: fail early if we cannot identify the EC

From: Gwendal Grignou
Date: Wed Feb 21 2018 - 18:53:01 EST


On Mon, Feb 19, 2018 at 2:46 PM, Enric Balletbo i Serra
<enric.balletbo@xxxxxxxxxxxxx> wrote:
> From: Vincent Palatin <vpalatin@xxxxxxxxxxxx>
>
> 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@xxxxxxxxxxxx>
> Acked-by: Benson Leung <bleung@xxxxxxxxxxxx>
> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx>
Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx>
> ---
> 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
>