Re: [PATCH v4 3/5] i2c:ocores: add polling interface

From: Federico Vaga
Date: Mon Feb 11 2019 - 08:48:09 EST


On Monday, February 11, 2019 11:25:26 AM CET Wolfram Sang wrote:
> On Mon, Feb 11, 2019 at 09:31:20AM +0100, Federico Vaga wrote:
> > This driver assumes that an interrupt line is always available for
> > the I2C master. This is not always the case and this patch adds support
> > for a polling version.
> >
> > Report from Andrew Lunn:
> > I did some timing tests for this. On my box, we request a udelay of
> > 80uS. The kernel actually delays for about 79uS. We then spin in
> > ocores_wait() for an additional 10-11uS, which is 3 to 4 iterations.
> >
> > There are actually 9 bits on the wire, not 8, since there is an
> > ACK/NACK bit after the actual data transfer. So i changed the delay to
> > (9 * 1000) / i2c->bus_clock_khz. That resulted in ocores_wait() mostly
> > not looping at all. But for reading an 4K AT24 EEPROM, it increased
> > the read time by 10ms, from 424ms to 434ms. So we should probably keep
> > with 8.
> >
> > Signed-off-by: Federico Vaga <federico.vaga@xxxxxxx>
> > Tested-by: Andrew Lunn <andrew@xxxxxxx>
>
> Fixed these checkpatch warnings:
>
> WARNING: 'transfered' may be misspelled - perhaps 'transferred'?
> #111: FILE: drivers/i2c/busses/i2c-ocores.c:306:
> + * We wait for the data to be transfered (8bit),
>
> CHECK: Please don't use multiple blank lines
> #129: FILE: drivers/i2c/busses/i2c-ocores.c:324:
> +
> +
>
> WARNING: 'transfered' may be misspelled - perhaps 'transferred'?
> #154: FILE: drivers/i2c/busses/i2c-ocores.c:349:
> + break; /* all messages have been transfered */
>
> and applied to for-next, thanks!

I will resend this patch as v5 to add the fix suggested by Peter Rosin