Re: [PATCH] i2c: imx: move to generic GPIO recovery

From: Oleksij Rempel
Date: Fri Jan 26 2024 - 01:12:48 EST


Hi,

On Thu, Jan 25, 2024 at 02:56:36PM +0100, Esben Haabendal wrote:
> Starting with
> commit 75820314de26 ("i2c: core: add generic I2C GPIO recovery")
> GPIO bus recovery is supported by the I2C core, so we can remove the
> driver implementation and use that one instead.
>
> As a nice side-effect, pinctrl becomes optional, allowing bus recovery on
> LS1021A, which does not have such luxury, but can be wired up to use extra
> fixed GPIO pins.
>
> Note: The previous error messages about bus recovery not being supported is
> dropped with this change. Given that it is perfectly possible to have platforms
> where bus recovery works without pinctrl support, I happen to work on one such,
> both error messages does not really make sense in those cases. And I don't see
> how to know if this is the case or not.
>
> Signed-off-by: Esben Haabendal <esben@xxxxxxxxxx>

Thank you for your work.

> ---
...
> + struct i2c_bus_recovery_info *bri = &i2c_imx->rinfo;
>
> - dev_dbg(&pdev->dev, "using scl%s for recovery\n",
> - rinfo->sda_gpiod ? ",sda" : "");
> + bri->pinctrl = devm_pinctrl_get(&pdev->dev);
> + if (IS_ERR(bri->pinctrl))
> + return PTR_ERR(bri->pinctrl);

According to the commit message - "pinctrl becomes optional", but this
code stops probe if pinctrl will fail for one or another reason. I do
not see any place returning NULL on fail. Do I'm missing something?

Regards,
Oleksij
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |