[PATCH v3 0/9] auxdisplay: linedisp: Clean up and add new driver

From: Andy Shevchenko
Date: Mon Feb 19 2024 - 12:04:07 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.

In v3:
- dropped applied patches
- fixed compilation error (Geert)
- dragging back and force added memory allocation for the character buffer
- dropped 'with keyscan' in new driver (Geert)
- rephrased a bit description in DT bindings for new driver (Geert)
- added tags to the (almost) unchanged patches (Geert, Krzysztof, Robin)

In v2:
- updated DT bindings to follow specifications and requirements (Krzysztof)
- unified return code variable (err everywhere)
- left patches 10 and 13 untouched, we may amend later on (Robin)

Andy Shevchenko (9):
auxdisplay: linedisp: Group display drivers together
auxdisplay: linedisp: Allocate buffer for the string
auxdisplay: ht16k33: Add default to switch-cases
auxdisplay: ht16k33: Move ht16k33_linedisp_ops down
auxdisplay: ht16k33: Define a few helper macros
auxdisplay: ht16k33: Switch to use line display character mapping
auxdisplay: ht16k33: Drop struct ht16k33_seg
dt-bindings: auxdisplay: Add Maxim MAX6958/6959
auxdisplay: Add driver for MAX695x 7-segment LED controllers

.../bindings/auxdisplay/maxim,max6959.yaml | 44 +++
drivers/auxdisplay/Kconfig | 306 ++++++++++--------
drivers/auxdisplay/Makefile | 16 +-
drivers/auxdisplay/ht16k33.c | 177 ++++------
drivers/auxdisplay/img-ascii-lcd.c | 17 +-
drivers/auxdisplay/line-display.c | 11 +-
drivers/auxdisplay/line-display.h | 3 +-
drivers/auxdisplay/max6959.c | 194 +++++++++++
8 files changed, 496 insertions(+), 272 deletions(-)
create mode 100644 Documentation/devicetree/bindings/auxdisplay/maxim,max6959.yaml
create mode 100644 drivers/auxdisplay/max6959.c

--
2.43.0.rc1.1.gbec44491f096