Re: [PATCH] staging: sm750fb: replace magic number with defined constant
From: Greg KH
Date: Tue Jan 27 2026 - 08:41:21 EST
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@xxxxxxxxx>
> ---
> 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