.../ABI/testing/sysfs-auxdisplay-linedisp | 90 +++++++ drivers/auxdisplay/line-display.c | 240 ++++++++++++++++-- drivers/auxdisplay/line-display.h | 4 + 3 files changed, 312 insertions(+), 22 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-auxdisplay-linedisp
This series modernizes the auxdisplay line display (linedisp) library to
enable seamless integration with auxdisplay parent devices while
maintaining backward compatibility.
The key improvement is adding attach/detach APIs that allow linedisp sysfs
attributes to be bound directly to their parent auxdisplay devices avoiding
child device proliferation and enabling a uniform 7-segment userspace
interface across different driver architectures.
This series introduces attachment infrastructure for linedisp devices.
The first consumer of this API will be the TM16XX driver series.
See the related patch series:
auxdisplay: Add TM16xx 7-segment LED matrix display controllers driver
Changes include:
1. Encapsulate container_of() usage with to_linedisp() helper function for
cleaner context retrieval
2. Improve message display behavior with static padding when message length
is smaller than display width
3. Add 'num_chars' read-only attribute for userspace capability discovery
4. Add attach/detach API for sysfs attributes binding to parent devices
5. Document all linedisp sysfs attributes in ABI documentation
All existing linedisp_register() users remain unaffected. The new APIs
enable drivers like TM16XX to integrate 7-segment functionality within
their LED class device hierarchy while providing a uniform 7-segment API.
Thanks to Andy Shevchenko for early feedback and guidance.
V1 changelog:
- Remove should_scroll() check in linedisp_scroll()
- Keep attributes sorted alphabetically
- Document, invert logic and rename owns_device to direct
- Document linedisp_attach()/_register() must be freed by their
respective APIs after use
- Change call order of display default message and add attributes
to prevent racy userspace condition
- Separate delete_attachment() call from linedisp variable declaration
- Document existing attributes separately, in the first patch
RFC changelog:
- Replace scope_guard() with guard()() for synchronized list operations.
- Replace NULL assignments with proper list_entry_is_head() pattern.
- Clearly document why introducing the attach/detach APIs.
- Split in patch series, each patch containing a specific change.
- Implement static (non-scrolling) display for short messages.
- Document exisiting and new ABI sysfs attributes.
Jean-François Lessard (5):
docs: ABI: auxdisplay: document linedisp library sysfs attributes
auxdisplay: linedisp: encapsulate container_of usage within
to_linedisp
auxdisplay: linedisp: display static message when length <= display
size
auxdisplay: linedisp: add num_chars sysfs attribute
auxdisplay: linedisp: support attribute attachment to auxdisplay
devices
.../ABI/testing/sysfs-auxdisplay-linedisp | 90 +++++++
drivers/auxdisplay/line-display.c | 240 ++++++++++++++++--
drivers/auxdisplay/line-display.h | 4 +
3 files changed, 312 insertions(+), 22 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-auxdisplay-linedisp
--
2.43.0
Le 18 septembre 2025 08 h 13 min 10 s HAE, "Jean-François Lessard" <jefflessard3@gmail.com> a écrit : >This series modernizes the auxdisplay line display (linedisp) library to >enable seamless integration with auxdisplay parent devices while >maintaining backward compatibility. > >The key improvement is adding attach/detach APIs that allow linedisp sysfs >attributes to be bound directly to their parent auxdisplay devices avoiding >child device proliferation and enabling a uniform 7-segment userspace >interface across different driver architectures. > >This series introduces attachment infrastructure for linedisp devices. >The first consumer of this API will be the TM16XX driver series. >See the related patch series: > auxdisplay: Add TM16xx 7-segment LED matrix display controllers driver > >Changes include: >1. Encapsulate container_of() usage with to_linedisp() helper function for > cleaner context retrieval >2. Improve message display behavior with static padding when message length > is smaller than display width >3. Add 'num_chars' read-only attribute for userspace capability discovery >4. Add attach/detach API for sysfs attributes binding to parent devices >5. Document all linedisp sysfs attributes in ABI documentation > >All existing linedisp_register() users remain unaffected. The new APIs >enable drivers like TM16XX to integrate 7-segment functionality within >their LED class device hierarchy while providing a uniform 7-segment API. > >Thanks to Andy Shevchenko for early feedback and guidance. > >V1 changelog: >- Remove should_scroll() check in linedisp_scroll() >- Keep attributes sorted alphabetically >- Document, invert logic and rename owns_device to direct >- Document linedisp_attach()/_register() must be freed by their > respective APIs after use >- Change call order of display default message and add attributes > to prevent racy userspace condition >- Separate delete_attachment() call from linedisp variable declaration >- Document existing attributes separately, in the first patch > >RFC changelog: >- Replace scope_guard() with guard()() for synchronized list operations. >- Replace NULL assignments with proper list_entry_is_head() pattern. >- Clearly document why introducing the attach/detach APIs. >- Split in patch series, each patch containing a specific change. >- Implement static (non-scrolling) display for short messages. >- Document exisiting and new ABI sysfs attributes. > >Jean-François Lessard (5): > docs: ABI: auxdisplay: document linedisp library sysfs attributes > auxdisplay: linedisp: encapsulate container_of usage within > to_linedisp > auxdisplay: linedisp: display static message when length <= display > size > auxdisplay: linedisp: add num_chars sysfs attribute > auxdisplay: linedisp: support attribute attachment to auxdisplay > devices > > .../ABI/testing/sysfs-auxdisplay-linedisp | 90 +++++++ > drivers/auxdisplay/line-display.c | 240 ++++++++++++++++-- > drivers/auxdisplay/line-display.h | 4 + > 3 files changed, 312 insertions(+), 22 deletions(-) > create mode 100644 Documentation/ABI/testing/sysfs-auxdisplay-linedisp > Hi Andy and Geert, This is a gentle ping on the v2 line-display enhancement patch series submitted over a week ago. I have just submitted v5 of the TM16xx driver series: https://lore.kernel.org/linux-devicetree/20250926141913.25919-1-jefflessard3@gmail.com/T/ The TM16xx driver depends on the line-display enhancements for proper auxdisplay subsystem integration, as discussed in our previous exchanges. It would be great if we could move forward with both patch series together. Thanks in advance for your time and consideration. Best regards, Jean-François Lessard
Hi Geert, I hope this message finds you well. I wanted to follow up on this v2 line-display enhancement patch series submitted three weeks ago. Le 26 septembre 2025 10 h 31 min 16 s HAE, "Jean-François Lessard" <jefflessard3@gmail.com> a écrit : >Le 18 septembre 2025 08 h 13 min 10 s HAE, "Jean-François Lessard" <jefflessard3@gmail.com> a écrit : >>This series modernizes the auxdisplay line display (linedisp) library to >>enable seamless integration with auxdisplay parent devices while >>maintaining backward compatibility. >> >>The key improvement is adding attach/detach APIs that allow linedisp sysfs >>attributes to be bound directly to their parent auxdisplay devices avoiding >>child device proliferation and enabling a uniform 7-segment userspace >>interface across different driver architectures. >> >>This series introduces attachment infrastructure for linedisp devices. >>The first consumer of this API will be the TM16XX driver series. >>See the related patch series: >> auxdisplay: Add TM16xx 7-segment LED matrix display controllers driver >> >>Changes include: >>1. Encapsulate container_of() usage with to_linedisp() helper function for >> cleaner context retrieval >>2. Improve message display behavior with static padding when message length >> is smaller than display width >>3. Add 'num_chars' read-only attribute for userspace capability discovery >>4. Add attach/detach API for sysfs attributes binding to parent devices >>5. Document all linedisp sysfs attributes in ABI documentation >> >>All existing linedisp_register() users remain unaffected. The new APIs >>enable drivers like TM16XX to integrate 7-segment functionality within >>their LED class device hierarchy while providing a uniform 7-segment API. >> >>Thanks to Andy Shevchenko for early feedback and guidance. >> >>V1 changelog: >>- Remove should_scroll() check in linedisp_scroll() >>- Keep attributes sorted alphabetically >>- Document, invert logic and rename owns_device to direct >>- Document linedisp_attach()/_register() must be freed by their >> respective APIs after use >>- Change call order of display default message and add attributes >> to prevent racy userspace condition >>- Separate delete_attachment() call from linedisp variable declaration >>- Document existing attributes separately, in the first patch >> >>RFC changelog: >>- Replace scope_guard() with guard()() for synchronized list operations. >>- Replace NULL assignments with proper list_entry_is_head() pattern. >>- Clearly document why introducing the attach/detach APIs. >>- Split in patch series, each patch containing a specific change. >>- Implement static (non-scrolling) display for short messages. >>- Document exisiting and new ABI sysfs attributes. >> >>Jean-François Lessard (5): >> docs: ABI: auxdisplay: document linedisp library sysfs attributes >> auxdisplay: linedisp: encapsulate container_of usage within >> to_linedisp >> auxdisplay: linedisp: display static message when length <= display >> size >> auxdisplay: linedisp: add num_chars sysfs attribute >> auxdisplay: linedisp: support attribute attachment to auxdisplay >> devices >> >> .../ABI/testing/sysfs-auxdisplay-linedisp | 90 +++++++ >> drivers/auxdisplay/line-display.c | 240 ++++++++++++++++-- >> drivers/auxdisplay/line-display.h | 4 + >> 3 files changed, 312 insertions(+), 22 deletions(-) >> create mode 100644 Documentation/ABI/testing/sysfs-auxdisplay-linedisp >> > >Hi Andy and Geert, > >This is a gentle ping on the v2 line-display enhancement patch series submitted >over a week ago. I have just submitted v5 of the TM16xx driver series: >https://lore.kernel.org/linux-devicetree/20250926141913.25919-1-jefflessard3@gmail.com/T/ > >The TM16xx driver depends on the line-display enhancements for proper >auxdisplay subsystem integration, as discussed in our previous exchanges. It >would be great if we could move forward with both patch series together. > In the v1 submission, Andy mentioned that the changes look good to him but that he would wait for your review/Acks before proceeding. The TM16xx driver (v5 recently submitted) depends on these line-display enhancements for proper auxdisplay subsystem integration. Would you be able to review the v2 series when you have a chance? Your feedback would be greatly appreciated so we can move both series forward. Thank you for your time and consideration. Best regards, Jean-François Lessard
On Thu, Oct 09, 2025 at 07:19:11AM -0400, Jean-François Lessard wrote: > Hi Geert, > > I hope this message finds you well. I wanted to follow up on this v2 > line-display enhancement patch series submitted three weeks ago. Taking no answer as silent agreement, pushed to my review and testing queue, thanks! If anything, we have time to address / drop / etc. > Le 26 septembre 2025 10 h 31 min 16 s HAE, "Jean-François Lessard" <jefflessard3@gmail.com> a écrit : > >Le 18 septembre 2025 08 h 13 min 10 s HAE, "Jean-François Lessard" <jefflessard3@gmail.com> a écrit : > >>This series modernizes the auxdisplay line display (linedisp) library to > >>enable seamless integration with auxdisplay parent devices while > >>maintaining backward compatibility. > >> > >>The key improvement is adding attach/detach APIs that allow linedisp sysfs > >>attributes to be bound directly to their parent auxdisplay devices avoiding > >>child device proliferation and enabling a uniform 7-segment userspace > >>interface across different driver architectures. > >> > >>This series introduces attachment infrastructure for linedisp devices. > >>The first consumer of this API will be the TM16XX driver series. > >>See the related patch series: > >> auxdisplay: Add TM16xx 7-segment LED matrix display controllers driver > >> > >>Changes include: > >>1. Encapsulate container_of() usage with to_linedisp() helper function for > >> cleaner context retrieval > >>2. Improve message display behavior with static padding when message length > >> is smaller than display width > >>3. Add 'num_chars' read-only attribute for userspace capability discovery > >>4. Add attach/detach API for sysfs attributes binding to parent devices > >>5. Document all linedisp sysfs attributes in ABI documentation > >> > >>All existing linedisp_register() users remain unaffected. The new APIs > >>enable drivers like TM16XX to integrate 7-segment functionality within > >>their LED class device hierarchy while providing a uniform 7-segment API. > >> > >>Thanks to Andy Shevchenko for early feedback and guidance. > >> > >>V1 changelog: > >>- Remove should_scroll() check in linedisp_scroll() > >>- Keep attributes sorted alphabetically > >>- Document, invert logic and rename owns_device to direct > >>- Document linedisp_attach()/_register() must be freed by their > >> respective APIs after use > >>- Change call order of display default message and add attributes > >> to prevent racy userspace condition > >>- Separate delete_attachment() call from linedisp variable declaration > >>- Document existing attributes separately, in the first patch > >> > >>RFC changelog: > >>- Replace scope_guard() with guard()() for synchronized list operations. > >>- Replace NULL assignments with proper list_entry_is_head() pattern. > >>- Clearly document why introducing the attach/detach APIs. > >>- Split in patch series, each patch containing a specific change. > >>- Implement static (non-scrolling) display for short messages. > >>- Document exisiting and new ABI sysfs attributes. > >This is a gentle ping on the v2 line-display enhancement patch series submitted > >over a week ago. I have just submitted v5 of the TM16xx driver series: > >https://lore.kernel.org/linux-devicetree/20250926141913.25919-1-jefflessard3@gmail.com/T/ > > > >The TM16xx driver depends on the line-display enhancements for proper > >auxdisplay subsystem integration, as discussed in our previous exchanges. It > >would be great if we could move forward with both patch series together. > > > > In the v1 submission, Andy mentioned that the changes look good to him but that > he would wait for your review/Acks before proceeding. The TM16xx driver (v5 > recently submitted) depends on these line-display enhancements for proper > auxdisplay subsystem integration. > > Would you be able to review the v2 series when you have a chance? Your feedback > would be greatly appreciated so we can move both series forward. > > Thank you for your time and consideration. -- With Best Regards, Andy Shevchenko
© 2016 - 2026 Red Hat, Inc.