linux/drivers/auxdisplay
Jean-François Lessard 3ba5c78fe7 auxdisplay: linedisp: support attribute attachment to auxdisplay devices
Enable linedisp library integration into existing kernel devices (like LED
class) to provide a uniform 7-segment userspace API without creating
separate child devices, meeting the consistent interface while maintaining
coherent device hierarchies.

This allows uniform 7-segment API across all drivers while solving device
proliferation and fragmented userspace interfaces.

The sysfs attributes appear in one of the two locations depending on usage:
  1. On linedisp.N child devices (legacy linedisp_register())
  2. On the parent auxdisplay device (new linedisp_attach())
Functionality is identical in both modes.

Existing consumers of linedisp_register() are unaffected. The new API
enables drivers like TM16XX to integrate 7-segment display functionality
seamlessly within their LED class device hierarchy.

Signed-off-by: Jean-François Lessard <jefflessard3@gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2025-10-15 18:46:01 +02:00
..
Kconfig auxdisplay: MAX6959 should select BITREVERSE 2025-02-20 14:43:58 +02:00
Makefile auxdisplay: linedisp: Group display drivers together 2024-04-02 19:09:14 +03:00
arm-charlcd.c auxdisplay: Use sizeof(*pointer) instead of sizeof(type) 2024-06-04 10:29:36 +03:00
cfag12864b.c auxdisplay: Remove unused functions 2024-10-08 20:48:18 +03:00
cfag12864bfb.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
charlcd.c auxdisplay: charlcd: Partially revert "Move hwidth and bwidth to struct hd44780_common" 2025-03-10 18:02:31 +02:00
charlcd.h auxdisplay: charlcd: Partially revert "Move hwidth and bwidth to struct hd44780_common" 2025-03-10 18:02:31 +02:00
hd44780.c auxdisplay: hd44780: Call charlcd_alloc() from hd44780_common_alloc() 2025-03-10 18:03:02 +02:00
hd44780_common.c auxdisplay: hd44780: Rename hd to hdc in hd44780_common_alloc() 2025-03-10 18:03:02 +02:00
hd44780_common.h auxdisplay: hd44780: Call charlcd_alloc() from hd44780_common_alloc() 2025-03-10 18:03:02 +02:00
ht16k33.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
img-ascii-lcd.c auxdisplay: img-ascii-lcd: Constify struct img_ascii_lcd_config 2024-12-10 22:26:33 +02:00
ks0108.c parport: Remove parport_driver.devmodel 2024-07-03 16:44:22 +02:00
lcd2s.c auxdisplay: lcd2s: Allocate memory for custom data in charlcd_alloc() 2025-03-10 18:03:02 +02:00
line-display.c auxdisplay: linedisp: support attribute attachment to auxdisplay devices 2025-10-15 18:46:01 +02:00
line-display.h auxdisplay: linedisp: support attribute attachment to auxdisplay devices 2025-10-15 18:46:01 +02:00
max6959.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
panel.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
seg-led-gpio.c auxdisplay: seg-led-gpio: use gpiod_multi_set_value_cansleep 2025-02-12 12:52:17 +02:00