Re: [PATCH v2] i2c: cadence: Fix regression with bus recovery

From: Wolfram Sang
Date: Thu Dec 01 2022 - 17:42:50 EST


On Mon, Nov 28, 2022 at 10:51:58AM +0000, carsten.haitzler@xxxxxxxxxxxx wrote:
> From: Carsten Haitzler <carsten.haitzler@xxxxxxx>
>
> Commit "i2c: cadence: Add standard bus recovery support" breaks for i2c
> devices that have no pinctrl defined. There is no requirement for this
> to exist in the DT. This has worked perfectly well without this before in
> at least 1 real usage case on hardware (Mali Komeda DPU, Cadence i2c to
> talk to a tda99xx phy). Adding the requirement to have pinctrl set up in
> the device tree (or otherwise be found) is a regression where the whole
> i2c device is lost entirely (in this case dropping entire devices which
> then leads to the drm display stack unable to find the phy for display
> output, thus having no drm display device and so on down the chain).
>
> This converts the above commit to an enhancement if pinctrl can be found
> for the i2c device, providing a timeout on read with recovery, but if not,
> do what used to be done rather than a fatal loss of a device.
>
> This restores the mentioned display devices to their working state again.
>
> Fixes: 58b924241d0a ("i2c: cadence: Add standard bus recovery support")
> Signed-off-by: Carsten Haitzler <carsten.haitzler@xxxxxxx>

Fixed this checkpatch check:

CHECK: Unbalanced braces around else statement
#55: FILE: drivers/i2c/busses/i2c-cadence.c:1272:
+ } else

and applied to for-current, thanks!

Attachment: signature.asc
Description: PGP signature