Re: [PATCH] staging: fbtft: Changed calls to udelays() functions for usleep_range()

From: Nam Cao
Date: Sun Sep 22 2024 - 17:59:57 EST


On Sun, Sep 22, 2024 at 09:12:13AM -0300, Fabio wrote:
> Replaced two lines of calling udelays by usleep_range() functions, adding
> more efficiency due to the need of long-lasting delays of more than 10us.
>
> Signed-off-by: Fabio Bareiro <joakobar2000@xxxxxxxxx>
> ---
> drivers/staging/fbtft/fb_ra8875.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/fbtft/fb_ra8875.c b/drivers/staging/fbtft/fb_ra8875.c
> index 0ab1de6647d0..edd467c6bf1a 100644
> --- a/drivers/staging/fbtft/fb_ra8875.c
> +++ b/drivers/staging/fbtft/fb_ra8875.c
> @@ -210,7 +210,7 @@ static void write_reg8_bus8(struct fbtft_par *par, int len, ...)
> }
> len--;
>
> - udelay(100);
> + usleep_range(100, 150);
>
> if (len) {
> buf = (u8 *)par->buf;
> @@ -231,7 +231,7 @@ static void write_reg8_bus8(struct fbtft_par *par, int len, ...)
>
> /* restore user spi-speed */
> par->fbtftops.write = fbtft_write_spi;
> - udelay(100);
> + usleep_range(100, 150);
> }

Are you sure that these changes are safe to make? If this write_reg8_bus8()
function is ever called in atomic context, this patch would break the
driver.

Unless it can be verified with hardware, I wouldn't make this kind of
changes.

Best regards,
Nam