]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
docs: ABI: auxdisplay: document linedisp library sysfs attributes
authorJean-François Lessard <jefflessard3@gmail.com>
Thu, 18 Sep 2025 12:13:11 +0000 (08:13 -0400)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 15 Oct 2025 16:46:01 +0000 (18:46 +0200)
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>
Documentation/ABI/testing/sysfs-auxdisplay-linedisp [new file with mode: 0644]

diff --git a/Documentation/ABI/testing/sysfs-auxdisplay-linedisp b/Documentation/ABI/testing/sysfs-auxdisplay-linedisp
new file mode 100644 (file)
index 0000000..45cf4e5
--- /dev/null
@@ -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