[PATCH] board: gw_ventana: gsc: fix GSC read/write functions

Tim Harvey tharvey at gateworks.com
Mon Mar 28 21:24:16 CEST 2022


On Thu, Mar 24, 2022 at 9:04 AM Tim Harvey <tharvey at gateworks.com> wrote:
>
> On Thu, Mar 24, 2022 at 8:59 AM Fabio Estevam <festevam at gmail.com> wrote:
> >
> > Hi Tim,
> >
> > On Thu, Mar 24, 2022 at 12:32 PM Tim Harvey <tharvey at gateworks.com> wrote:
> > >
> > > commit 7c84319af9c7 ("dm: gpio: Correct use of -ENODEV in drivers")
> > > changed the return code for an I2C NAK from -ENODEV to -EREMOTEIO.
> >
> > I think we should be consistent with Linux and return -ENXIO for the NACK case:
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/i2c/fault-codes.rst?h=v5.17#n88
> >
> > "ENXIO
> > Returned by I2C adapters to indicate that the address phase
> > of a transfer didn't get an ACK.  While it might just mean
> > an I2C device was temporarily not responding, usually it
> > means there's nothing listening at that address."
>
> Fabio,
>
> I share your sentiment however if I go and change this in
> drivers/i2c/mxc_i2c.c (or others) how do I know I don't cause the same
> breakage that Simon's patch did? I can't easily tell if anyone is
> depending on EREMOTEIO (or ENODEV as it was) to mean NAK.
>
> For reference there are about 48  i2c drivers in drivers/i2c and only
> 3 currently return -ENXIO
> (designware_i2c.c,i2c-microchip.c,sun8i_rsb.c)
>
> Honestly I would love to just implement retries on NAK in mxc_i2c.c
> but that approach was not accepted in the Linux driver when I
> attempted to do it there.
>

Any other feedback on this? Regardless of if I2C drivers should return
the same error code as Linux on a NAK, I would like to get this patch
applied to fix the current regression for the upcoming v2022.04.

Best Regards,

Tim


More information about the U-Boot mailing list