docs: ABI: auxdisplay: document linedisp library sysfs attributes

Add ABI documentation for sysfs attributes provided by the line-display
auxdisplay library module. These attributes enable text message display and
configuration on character-based auxdisplay devices.

Documents previously undocumented attributes:
- message, scroll_step_ms (introduced in v5.16)
- map_seg7, map_seg14 (introduced in v6.9)

The line-display library is used by multiple auxdisplay drivers and
can expose these attributes either on linedisp.N child devices or
directly on parent auxdisplay devices.

Signed-off-by: Jean-François Lessard <jefflessard3@gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
This commit is contained in:
Jean-François Lessard 2025-09-18 08:13:11 -04:00 committed by Andy Shevchenko
parent 86cc796e5e
commit 1cdaf601ef

View File

@ -0,0 +1,79 @@
What: /sys/.../message
Date: October 2021
KernelVersion: 5.16
Description:
Controls the text message displayed on character line displays.
Reading returns the current message with a trailing newline.
Writing updates the displayed message. Messages longer than the
display width will automatically scroll. Trailing newlines in
input are automatically trimmed.
Writing an empty string clears the display.
Example:
echo "Hello World" > message
cat message # Returns "Hello World\n"
What: /sys/.../scroll_step_ms
Date: October 2021
KernelVersion: 5.16
Description:
Controls the scrolling speed for messages longer than the display
width, specified in milliseconds per scroll step.
Setting to 0 disables scrolling. Default is 500ms.
Example:
echo "250" > scroll_step_ms # 4Hz scrolling
cat scroll_step_ms # Returns "250\n"
What: /sys/.../map_seg7
Date: January 2024
KernelVersion: 6.9
Description:
Read/write binary blob representing the ASCII-to-7-segment
display conversion table used by the linedisp driver, as defined
by struct seg7_conversion_map in <linux/map_to_7segment.h>.
Only visible on displays with 7-segment capability.
This attribute is not human-readable. Writes must match the
struct size exactly, else -EINVAL is returned; reads return the
entire mapping as a binary blob.
This interface and its implementation match existing conventions
used in segment-mapped display drivers since 2005.
ABI note: This style of binary sysfs attribute *is an exception*
to current "one value per file, text only" sysfs rules, for
historical compatibility and driver uniformity. New drivers are
discouraged from introducing additional binary sysfs ABIs.
Reference interface guidance:
- include/uapi/linux/map_to_7segment.h
What: /sys/.../map_seg14
Date: January 2024
KernelVersion: 6.9
Description:
Read/write binary blob representing the ASCII-to-14-segment
display conversion table used by the linedisp driver, as defined
by struct seg14_conversion_map in <linux/map_to_14segment.h>.
Only visible on displays with 14-segment capability.
This attribute is not human-readable. Writes must match the
struct size exactly, else -EINVAL is returned; reads return the
entire mapping as a binary blob.
This interface and its implementation match existing conventions
used by segment-mapped display drivers since 2005.
ABI note: This style of binary sysfs attribute *is an exception*
to current "one value per file, text only" sysfs rules, for
historical compatibility and driver uniformity. New drivers are
discouraged from introducing additional binary sysfs ABIs.
Reference interface guidance:
- include/uapi/linux/map_to_14segment.h