[PATCH v1 00/15] auxdisplay: linedisp: Clean up and add new driver

From: Andy Shevchenko
Date: Thu Feb 08 2024 - 12:18:19 EST

Add a new initial driver for Maxim MAX6958/6959 chips.
While developing that driver I realised that there is a lot
of duplication between ht16k33 and a new one. Hence set of
cleanups and refactorings.

Note, the new driver has minimum support of the hardware and
I have plans to cover more features in the future.

Andy Shevchenko (15):
auxdisplay: img-ascii-lcd: Make container_of() no-op for struct
auxdisplay: linedisp: Free allocated resources in ->release()
auxdisplay: linedisp: Use unique number for id
auxdisplay: linedisp: Unshadow error codes in ->store()
auxdisplay: linedisp: Add missing header(s)
auxdisplay: linedisp: Move exported symbols to a namespace
auxdisplay: linedisp: Group line display drivers together
auxdisplay: linedisp: Provide struct linedisp_ops for future extension
auxdisplay: linedisp: Add support for overriding character mapping
auxdisplay: linedisp: Provide a small buffer in the struct linedisp
auxdisplay: ht16k33: Move ht16k33_linedisp_ops down
auxdisplay: ht16k33: Switch to use line display character mapping
auxdisplay: ht16k33: Use buffer from struct linedisp
dt-bindings: auxdisplay: Add Maxim MAX6958/6959
auxdisplay: Add driver for MAX695x 7-segment LED controllers

.../bindings/auxdisplay/maxim,max6959.yaml | 35 +++
drivers/auxdisplay/Kconfig | 40 ++--
drivers/auxdisplay/Makefile | 13 +-
drivers/auxdisplay/ht16k33.c | 145 +++++--------
drivers/auxdisplay/img-ascii-lcd.c | 24 ++-
drivers/auxdisplay/line-display.c | 162 ++++++++++++--
drivers/auxdisplay/line-display.h | 57 ++++-
drivers/auxdisplay/max6959.c | 200 ++++++++++++++++++
8 files changed, 530 insertions(+), 146 deletions(-)
create mode 100644 Documentation/devicetree/bindings/auxdisplay/maxim,max6959.yaml
create mode 100644 drivers/auxdisplay/max6959.c