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

Fabio posted 1 patch 2 months, 1 week ago
drivers/staging/fbtft/fb_ra8875.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] staging: fbtft: Changed calls to udelays() functions for usleep_range()
Posted by Fabio 2 months, 1 week ago
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@gmail.com>
---
 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);
 }
 
 static int write_vmem16_bus8(struct fbtft_par *par, size_t offset, size_t len)
-- 
2.34.1
Re: [PATCH] staging: fbtft: Changed calls to udelays() functions for usleep_range()
Posted by Nam Cao 2 months, 1 week ago
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@gmail.com>
> ---
>  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