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