History log of /linux-master/drivers/auxdisplay/line-display.c
Revision Date Author Comments
# 4ce026d5 19-Feb-2024 Andy Shevchenko <andriy.shevchenko@linux.intel.com>

auxdisplay: linedisp: Allocate buffer for the string

Always allocate a buffer for the currently displayed characters.
It makes the line display API simpler.

Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>


# 34ddc83d 12-Feb-2024 Andy Shevchenko <andriy.shevchenko@linux.intel.com>

auxdisplay: linedisp: Add support for overriding character mapping

There is already the driver using character mapping table for
7 or 14 segment display. It is possible to override it. Make
the similar in the line display library to allow other drivers
to utilise the same functionality.

Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>


# 70fb97c0 12-Feb-2024 Andy Shevchenko <andriy.shevchenko@linux.intel.com>

auxdisplay: linedisp: Provide struct linedisp_ops for future extension

Currently the line display library doesn't scale in case we want to
provide more operations. Prepare the library to take a newly created
struct linedisp_ops that scales.

Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>


# fe5bd82f 12-Feb-2024 Andy Shevchenko <andriy.shevchenko@linux.intel.com>

auxdisplay: linedisp: Move exported symbols to a namespace

Avoid unnecessary pollution of the global symbol namespace by
moving library functions in to a specific namespace and import
that into the drivers that make use of the functions.

For more info: https://lwn.net/Articles/760045/

Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>


# 6134b0be 12-Feb-2024 Andy Shevchenko <andriy.shevchenko@linux.intel.com>

auxdisplay: linedisp: Add missing header(s)

Do not imply that some of the generic headers may be always included.
Instead, include explicitly what we are direct user of.

Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>


# 7168791f 12-Feb-2024 Andy Shevchenko <andriy.shevchenko@linux.intel.com>

auxdisplay: linedisp: Unshadow error codes in ->store()

kstrtox() may return different error codes.

Unshadow them in the ->store() callback to give better error report.

While at it, add missing kstrtox.h inclusion.

Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>


# 50d6b9d5 12-Feb-2024 Andy Shevchenko <andriy.shevchenko@linux.intel.com>

auxdisplay: linedisp: Use unique number for id

The absence of decrementation of linedisp_id is incorrect in two ways,
i.e. it may cause:
- an ID exhaustion
- (and if the above is addressed) a duplicate id number may be allocated
next time a device is added

Replace above mentioned approach by using IDA framework.

Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>


# 2327960f 12-Feb-2024 Andy Shevchenko <andriy.shevchenko@linux.intel.com>

auxdisplay: linedisp: Free allocated resources in ->release()

While there is no issue currently with the resources allocation,
the code may still be made more robust by deallocating message
in the ->release() callback.

Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>


# d79141c3 19-Oct-2021 Geert Uytterhoeven <geert@linux-m68k.org>

auxdisplay: linedisp: Add support for changing scroll rate

If the message to display is longer than the number of characters that
the display can show, the message will be scrolled. Currently the
scroll rate is fixed, moving every 500 ms.

Add support for changing the scroll rate through a "scroll_step_ms"
device attribute in sysfs.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>


# 364f2c39 19-Oct-2021 Geert Uytterhoeven <geert@linux-m68k.org>

auxdisplay: linedisp: Use kmemdup_nul() helper

Use the existing kmemdup_nul() helper instead of open-coding the same
operation.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>


# 7e76aece 19-Oct-2021 Geert Uytterhoeven <geert@linux-m68k.org>

auxdisplay: Extract character line display core support

Extract the character line display core support from the simple ASCII
LCD driver for the MIPS Boston, Malta & SEAD3 development boards into
its own subdriver, so it can be reused for other displays.

As this moves the "message" device attribute in sysfs in a "linedisp.N"
subdirectory, a symlink is added to preserve backwards compatibility.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>