public inbox for linux-fbdev@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] staging: fbtft: fb_ra8875: replace udelay with usleep_range
@ 2025-10-20 19:15 Olle Lukowski
  2025-10-21  7:37 ` Greg Kroah-Hartman
  2025-10-21  8:50 ` Andy Shevchenko
  0 siblings, 2 replies; 6+ messages in thread
From: Olle Lukowski @ 2025-10-20 19:15 UTC (permalink / raw)
  To: Andy Shevchenko, Greg Kroah-Hartman
  Cc: dri-devel, linux-fbdev, linux-staging, linux-kernel,
	Olle Lukowski

Replace udelay(100) calls with usleep_range(100, 200) to allow the
scheduler to yield instead of busy-waiting. This is the preferred API for
sleep durations above 10 microseconds.

Signed-off-by: Olle Lukowski <olle@lukowski.dev>
---
This patch replaces udelay() with usleep_range() in fb_ra8875.
---
 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 0ab1de664..d2400bb44 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, 200);
 
 	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, 200);
 }
 
 static int write_vmem16_bus8(struct fbtft_par *par, size_t offset, size_t len)

---
base-commit: 211ddde0823f1442e4ad052a2f30f050145ccada
change-id: 20251020-staging-fbtft-ra8875-usleep-77306ea543c7

Best regards,
-- 
Olle Lukowski <olle@lukowski.dev>


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] staging: fbtft: fb_ra8875: replace udelay with usleep_range
  2025-10-20 19:15 [PATCH] staging: fbtft: fb_ra8875: replace udelay with usleep_range Olle Lukowski
@ 2025-10-21  7:37 ` Greg Kroah-Hartman
  2025-10-21  8:12   ` Olle Lukowski
  2025-10-21  8:50 ` Andy Shevchenko
  1 sibling, 1 reply; 6+ messages in thread
From: Greg Kroah-Hartman @ 2025-10-21  7:37 UTC (permalink / raw)
  To: Olle Lukowski
  Cc: Andy Shevchenko, dri-devel, linux-fbdev, linux-staging,
	linux-kernel

On Mon, Oct 20, 2025 at 10:15:36PM +0300, Olle Lukowski wrote:
> Replace udelay(100) calls with usleep_range(100, 200) to allow the
> scheduler to yield instead of busy-waiting. This is the preferred API for
> sleep durations above 10 microseconds.

As per this type of change, have you tested it on real hardware?
Without that, we can't accept this change, and such checkpatch.pl
comments should be ignored.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] staging: fbtft: fb_ra8875: replace udelay with usleep_range
  2025-10-21  7:37 ` Greg Kroah-Hartman
@ 2025-10-21  8:12   ` Olle Lukowski
  0 siblings, 0 replies; 6+ messages in thread
From: Olle Lukowski @ 2025-10-21  8:12 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Andy Shevchenko, dri-devel, linux-fbdev, linux-staging,
	linux-kernel

Hi Greg,

On Tue, Oct 21, 2025 at 09:37:50AM +0200, Greg Kroah-Hartman wrote:
> As per this type of change, have you tested it on real hardware?
> Without that, we can't accept this change, and such checkpatch.pl
> comments should be ignored.

Thanks for clarifying!

I don't have access to the hardware for this driver, so I'll skip these
types of timing-related changes for now and focus on other
non-functional cleanups in staging instead.

Thanks again,
Olle

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] staging: fbtft: fb_ra8875: replace udelay with usleep_range
  2025-10-20 19:15 [PATCH] staging: fbtft: fb_ra8875: replace udelay with usleep_range Olle Lukowski
  2025-10-21  7:37 ` Greg Kroah-Hartman
@ 2025-10-21  8:50 ` Andy Shevchenko
  1 sibling, 0 replies; 6+ messages in thread
From: Andy Shevchenko @ 2025-10-21  8:50 UTC (permalink / raw)
  To: Olle Lukowski
  Cc: Andy Shevchenko, Greg Kroah-Hartman, dri-devel, linux-fbdev,
	linux-staging, linux-kernel

On Mon, Oct 20, 2025 at 10:16 PM Olle Lukowski <olle@lukowski.dev> wrote:
>
> Replace udelay(100) calls with usleep_range(100, 200) to allow the
> scheduler to yield instead of busy-waiting. This is the preferred API for
> sleep durations above 10 microseconds.

...

> -       udelay(100);
> +       usleep_range(100, 200);

Besides what Greg said, the function in similar changes should be
fsleep(), it will automatically choose the best low-level API for the
given delay.

-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] staging: fbtft: fb_ra8875: replace udelay with usleep_range
       [not found] <20260218174737.86994-1-tomasz.unger.ref@yahoo.pl>
@ 2026-02-18 17:47 ` tomasz.unger
  2026-02-19  7:30   ` Andy Shevchenko
  0 siblings, 1 reply; 6+ messages in thread
From: tomasz.unger @ 2026-02-18 17:47 UTC (permalink / raw)
  To: andy, gregkh
  Cc: dri-devel, linux-fbdev, linux-staging, linux-kernel, Tomasz Unger

From: Tomasz Unger <tomasz.unger@yahoo.pl>

Signed-off-by: Tomasz Unger <tomasz.unger@yahoo.pl>
---
 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..ec4ce534e409 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, 110);
 
 	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, 110);
 }
 
 static int write_vmem16_bus8(struct fbtft_par *par, size_t offset, size_t len)
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] staging: fbtft: fb_ra8875: replace udelay with usleep_range
  2026-02-18 17:47 ` tomasz.unger
@ 2026-02-19  7:30   ` Andy Shevchenko
  0 siblings, 0 replies; 6+ messages in thread
From: Andy Shevchenko @ 2026-02-19  7:30 UTC (permalink / raw)
  To: tomasz.unger
  Cc: andy, gregkh, dri-devel, linux-fbdev, linux-staging, linux-kernel

On Wed, Feb 18, 2026 at 06:47:37PM +0100, tomasz.unger@yahoo.pl wrote:
> From: Tomasz Unger <tomasz.unger@yahoo.pl>

We do not accept changes without explanations.

Also where did you get this idea to convert udelay() to usleep_range()?
The API (in case it's okay to use) should be fsleep() nowadays.

(Note as well that we refer to the functions as 'func()' in the text.)

And last, but not least: have you checked carefully that this is even
possible change? This is quite a change in the behaviour and needs very
good justification and testing.

TL;DR: if any tool suggested this change to you, go and fix that tool
to stop spreading misleading ARs!

P.S.
NAK to all your three patches. Also check https://lore.kernel.org ML
archives on the similar changes in the past, they were all NAKed
(rejected).

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-02-19  7:30 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-20 19:15 [PATCH] staging: fbtft: fb_ra8875: replace udelay with usleep_range Olle Lukowski
2025-10-21  7:37 ` Greg Kroah-Hartman
2025-10-21  8:12   ` Olle Lukowski
2025-10-21  8:50 ` Andy Shevchenko
     [not found] <20260218174737.86994-1-tomasz.unger.ref@yahoo.pl>
2026-02-18 17:47 ` tomasz.unger
2026-02-19  7:30   ` Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox