Re: [PATCH v6 RESEND 2/2] i2c: muxes: pca954x: Reset if (de)select fails
From: Wolfram Sang
Date: Mon Jul 28 2025 - 06:39:20 EST
Hi,
thanks for improving this driver!
> +static void pca954x_reset_mux(struct pca954x *data)
> +{
> + dev_warn(&data->client->dev, "resetting the device\n");
To me, this is not the proper place for such a report. Can't the reset
framework be instrumented in some way?
> + pca954x_reset_assert(data);
> + udelay(1);
> + pca954x_reset_deassert(data);
> +}
> +
> static int pca954x_select_chan(struct i2c_mux_core *muxc, u32 chan)
> {
> struct pca954x *data = i2c_mux_priv(muxc);
> @@ -328,6 +348,8 @@ static int pca954x_select_chan(struct i2c_mux_core *muxc, u32 chan)
> ret = pca954x_reg_write(muxc->parent, client, regval);
> data->last_chan = ret < 0 ? 0 : regval;
> }
> + if (ret == -ETIMEDOUT && (data->reset_cont))
Braces around 'data...' not needed. Use '--strict' with checkpatch to
get notified.
> + pca954x_reset_mux(data);
>
> return ret;
> }
> - return pca954x_reg_write(muxc->parent, client,
> + ret = pca954x_reg_write(muxc->parent, client,
> data->last_chan);
Indentation of the above line needs to be adapted.
Rest looks good to me.
Happy hacking,
Wolfram
Attachment:
signature.asc
Description: PGP signature