[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aLbA1Ma9Cig3gbWV@smile.fi.intel.com>
Date: Tue, 2 Sep 2025 13:03:00 +0300
From: Andy Shevchenko <andriy.shevchenko@...el.com>
To: Jean-François Lessard <jefflessard3@...il.com>
Cc: Andy Shevchenko <andy@...nel.org>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/5] auxdisplay: linedisp: display static message when
length <= display size
On Sun, Aug 31, 2025 at 10:00:26PM -0400, Jean-François Lessard wrote:
> Currently, when a message shorter than the display size is written, the
> content wraps around (e.g., "123" on a 4-digit display shows "1231")
> without scrolling, which is confusing and unintuitive.
>
> Change behavior to display short messages statically with space padding
> (e.g. "123 ") while only scrolling messages longer than the display width.
> This provides more natural behavior that aligns with user expectations
> and current linedisp_display() kernel-doc.
>
> The scroll logic is also consolidated into a helper function for clarity.
>
> No API changes are introduced.
...
> /**
> * linedisp_scroll() - scroll the display by a character
> * @t: really a pointer to the private data structure
> linedisp->scroll_pos %= linedisp->message_len;
>
> /* rearm the timer */
> - if (linedisp->message_len > num_chars && linedisp->scroll_rate)
> + if (should_scroll(linedisp))
> mod_timer(&linedisp->timer, jiffies + linedisp->scroll_rate);
> }
>
...
> linedisp->message_len = count;
> linedisp->scroll_pos = 0;
>
> - /* update the display */
> - linedisp_scroll(&linedisp->timer);
> + if (should_scroll(linedisp)) {
> + /* display scrolling message */
> + linedisp_scroll(&linedisp->timer);
> + } else {
> + /* display static message */
> + memset(linedisp->buf, ' ', linedisp->num_chars);
> + memcpy(linedisp->buf, linedisp->message,
> + umin(linedisp->num_chars, linedisp->message_len));
> + linedisp->ops->update(linedisp);
> + }
Hmm... But it seems the linedisp_scroll already has a check, why do we need
an additional one here? Perhaps we need to pad a message somewhere else and
guarantee it won't ever be less than num_chars?
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists