Re: [Outreachy kernel] [PATCH] staging: fbtft: Replace udelay with preferred usleep_range
From: Stefano Brivio
Date: Mon Mar 30 2020 - 13:41:19 EST
On Sun, 29 Mar 2020 12:37:18 +0200 (CEST)
Julia Lawall <julia.lawall@xxxxxxxx> wrote:
> On Sun, 29 Mar 2020, Soumyajit Deb wrote:
>
> > I had the same doubt the other day about the replacement of udelay() with
> > usleep_range(). The corresponding range for the single argument value of
> > udelay() is quite confusing as I couldn't decide the range.ÂBut as much as I
> > noticed checkpatch.pl gives warning for replacing udelay() with
> > usleep_range() by checking the argument value of udelay(). In the
> > documentation, it is written udelay() should be used for a sleep time of at
> > most 10 microseconds but between 10 microseconds and 20 milliseconds,
> > usleep_range() should be used.Â
> > I think the range is code specific and will depend on what range is
> > acceptable and doesn't break the code.
> > ÂPlease correct me if I am wrong.
>
> The range depends on the associated hardware.
John, by the way, here you could have checked the datasheet of this LCD
controller. It's a pair of those:
https://www.sparkfun.com/datasheets/LCD/ks0108b.pdf
reset time is 1Âs minimum, which is the only actual constraint here.
The rise time should then be handled by power supply and reflected
with some appropriate usage of the regulator framework.
That 120ms delay, however, must be there for a reason, that is, most
likely to develop this quickly without exposing a proper model of the
power supplies to the driver.
So... in this case, with the datasheet alone, you won't go very far,
you would need the actual module (probably connected to a Raspberry Pi
to catch a typical usage). Still, it's usually worth a check. In any
case, most likely, as Andy suggested, this function can eventually be
dropped.
--
Stefano