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

From: Federico Vaga
Date: Mon Oct 29 2018 - 09:11:46 EST


On Monday, October 29, 2018 2:04:13 PM CET Peter Korsgaard wrote:
> > I think that something like this could be better
> >
> > (2) usleep_range(sleep_min, sleep_min * XXX);
> >
> > But.
> > Since it is better to make this patch ready for xfer_irqless, then I will
> > definitively go for udelay(). The reason is that, xfer_irqless may run in
> > atomic context where we can't sleep at all.
>
> Great! BTW I noticed that your sleep_min calculation looked odd:
>
> int sleep_min = (8/i2c->bus_clock_khz) * 1000; /* us for 8bits
>
> bus_clock_khz almost certainly will be bigger than 8 (E.G. likely
> 100KHz), so the above set sleep_min to 0. Please move the * 1000 before
> the division.

True, oops