* [PATCH] staging: sm750fb: replace magic number with defined constant
@ 2026-01-27 13:27 Madhumitha Sundar
2026-01-27 13:32 ` Greg KH
2026-01-28 11:46 ` Dan Carpenter
0 siblings, 2 replies; 3+ messages in thread
From: Madhumitha Sundar @ 2026-01-27 13:27 UTC (permalink / raw)
To: sudipm.mukherjee, teddy.wang, gregkh
Cc: linux-fbdev, linux-staging, linux-kernel, Madhumitha Sundar
The hardware wait loop in hw_sm750_de_wait uses a hardcoded magic
number (0x10000000) for the timeout counter.
Define a constant SM750_MAX_LOOP in sm750.h and use it to improve
code readability and maintainability.
Signed-off-by: Madhumitha Sundar <madhuananda18@gmail.com>
---
drivers/staging/sm750fb/sm750.h | 2 ++
drivers/staging/sm750fb/sm750_hw.c | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/staging/sm750fb/sm750.h b/drivers/staging/sm750fb/sm750.h
index fcb7d586e..ae07ceec1 100644
--- a/drivers/staging/sm750fb/sm750.h
+++ b/drivers/staging/sm750fb/sm750.h
@@ -12,6 +12,8 @@
#define SM750LE_REVISION_ID ((unsigned char)0xfe)
#endif
+#define SM750_MAX_LOOP 0x10000000
+
enum sm750_pnltype {
sm750_24TFT = 0, /* 24bit tft */
sm750_dualTFT = 2, /* dual 18 bit tft */
diff --git a/drivers/staging/sm750fb/sm750_hw.c b/drivers/staging/sm750fb/sm750_hw.c
index ce46f240c..f051bd75f 100644
--- a/drivers/staging/sm750fb/sm750_hw.c
+++ b/drivers/staging/sm750fb/sm750_hw.c
@@ -523,7 +523,7 @@ int hw_sm750le_de_wait(void)
int hw_sm750_de_wait(void)
{
- int i = 0x10000000;
+ int i = SM750_MAX_LOOP;
unsigned int mask = SYSTEM_CTRL_DE_STATUS_BUSY |
SYSTEM_CTRL_DE_FIFO_EMPTY |
SYSTEM_CTRL_DE_MEM_FIFO_EMPTY;
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] staging: sm750fb: replace magic number with defined constant
2026-01-27 13:27 [PATCH] staging: sm750fb: replace magic number with defined constant Madhumitha Sundar
@ 2026-01-27 13:32 ` Greg KH
2026-01-28 11:46 ` Dan Carpenter
1 sibling, 0 replies; 3+ messages in thread
From: Greg KH @ 2026-01-27 13:32 UTC (permalink / raw)
To: Madhumitha Sundar
Cc: sudipm.mukherjee, teddy.wang, linux-fbdev, linux-staging,
linux-kernel
On Tue, Jan 27, 2026 at 01:27:58PM +0000, Madhumitha Sundar wrote:
> The hardware wait loop in hw_sm750_de_wait uses a hardcoded magic
> number (0x10000000) for the timeout counter.
>
> Define a constant SM750_MAX_LOOP in sm750.h and use it to improve
> code readability and maintainability.
>
> Signed-off-by: Madhumitha Sundar <madhuananda18@gmail.com>
> ---
> drivers/staging/sm750fb/sm750.h | 2 ++
> drivers/staging/sm750fb/sm750_hw.c | 2 +-
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/staging/sm750fb/sm750.h b/drivers/staging/sm750fb/sm750.h
> index fcb7d586e..ae07ceec1 100644
> --- a/drivers/staging/sm750fb/sm750.h
> +++ b/drivers/staging/sm750fb/sm750.h
> @@ -12,6 +12,8 @@
> #define SM750LE_REVISION_ID ((unsigned char)0xfe)
> #endif
>
> +#define SM750_MAX_LOOP 0x10000000
> +
> enum sm750_pnltype {
> sm750_24TFT = 0, /* 24bit tft */
> sm750_dualTFT = 2, /* dual 18 bit tft */
> diff --git a/drivers/staging/sm750fb/sm750_hw.c b/drivers/staging/sm750fb/sm750_hw.c
> index ce46f240c..f051bd75f 100644
> --- a/drivers/staging/sm750fb/sm750_hw.c
> +++ b/drivers/staging/sm750fb/sm750_hw.c
> @@ -523,7 +523,7 @@ int hw_sm750le_de_wait(void)
>
> int hw_sm750_de_wait(void)
> {
> - int i = 0x10000000;
> + int i = SM750_MAX_LOOP;
> unsigned int mask = SYSTEM_CTRL_DE_STATUS_BUSY |
> SYSTEM_CTRL_DE_FIFO_EMPTY |
> SYSTEM_CTRL_DE_MEM_FIFO_EMPTY;
This type of "loop delay" does not work at all. Can you try to fix this
up to use a proper timing check instead of just relying on how fast the
CPU can process instructions?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] staging: sm750fb: replace magic number with defined constant
2026-01-27 13:27 [PATCH] staging: sm750fb: replace magic number with defined constant Madhumitha Sundar
2026-01-27 13:32 ` Greg KH
@ 2026-01-28 11:46 ` Dan Carpenter
1 sibling, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2026-01-28 11:46 UTC (permalink / raw)
To: Madhumitha Sundar
Cc: sudipm.mukherjee, teddy.wang, gregkh, linux-fbdev, linux-staging,
linux-kernel
On Tue, Jan 27, 2026 at 01:27:58PM +0000, Madhumitha Sundar wrote:
> The hardware wait loop in hw_sm750_de_wait uses a hardcoded magic
> number (0x10000000) for the timeout counter.
>
> Define a constant SM750_MAX_LOOP in sm750.h and use it to improve
> code readability and maintainability.
Timeout counters have no special meaning. They aren't intended to be
re-used in multiple places.
There is a kind of bug where people think we exit with the counter set
to zero but actually we exit with it set the -1. Normally, when I see
this sort of bug, I change the timer from cnt-- to --cnt which changes
loop from iterating 100 times to iterating 99 times. It's fine. No
one cares if about the exact number, just the approximate range.
The original was more clear.
regards,
dan carpenter
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-01-28 11:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-27 13:27 [PATCH] staging: sm750fb: replace magic number with defined constant Madhumitha Sundar
2026-01-27 13:32 ` Greg KH
2026-01-28 11:46 ` Dan Carpenter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox