[GIT PULL] auxdisplay for 6.9-1

From: Andy Shevchenko
Date: Wed Mar 13 2024 - 10:23:22 EST


Hi Linus,

First PR from me as a maintainer of auxdisplay subsystem. Miguel retired and
nominated me as a successor (it appears that for the last a couple of years
I am appeared a main contributor to the subsystem), however I have no much time
for that, that's why the update in MAINTAINERS has 'Odd Fixes'. Nevertheless,
Geert agreed to help as the official reviewer. So far so good, the collection
of the code has been in Linux Next for a while with one reported issue that
had been addressed (and also stayed a couple of days in the Linux Next).
Please pull for v6.9-rc1.

Thanks,

With Best Regards,
Andy Shevchenko

The following changes since commit 6613476e225e090cc9aad49be7fa504e290dd33d:

Linux 6.8-rc1 (2024-01-21 14:11:32 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay.git tags/auxdisplay-v6.9-1

for you to fetch changes up to 5d9e12972259cd86ae9c3fc0d5338b15831b9929:

auxdisplay: img-ascii-lcd: Convert to platform remove callback returning void (2024-03-12 17:37:54 +0200)

----------------------------------------------------------------
auxdisplay for v6.9-1

* New driver for GPIO based 7-segment LED display (Chris Packham)
* New driver for Maxim MAX6958/6959 I²C 7-segment LED display controller
* Refactor linedisp library to make the above happen
* Update Holtek HT16k33 driver to follow the linedisp refactoring
* Convert .remove to return void in platform drivers (Uwe Kleine-König)
* Fix DT schemas (Krzysztof Kozlowski)
* Refresh MAINTAINERS database

The following is an automated git shortlog grouped by driver:

Add 7-segment LED display drivers:
- Add 7-segment LED display driver
- Add driver for MAX695x 7-segment LED controllers
- Add 7 and 14 segment mappings to MAINTAINERS

cfag12864bfb:
- Convert to platform remove callback returning void

dt-bindings:
- auxdisplay: Add bindings for generic 7-segment LED
- auxdisplay: Add Maxim MAX6958/6959
- auxdisplay: hit,hd44780: use defines for GPIO flags
- auxdisplay: adjust example indentation and use generic node names

hd44780:
- Convert to platform remove callback returning void

ht16k33:
- Drop struct ht16k33_seg
- Switch to use line display character mapping
- Define a few helper macros
- Move ht16k33_linedisp_ops down
- Add default to switch-cases

img-ascii-lcd:
- Convert to platform remove callback returning void
- Make container_of() no-op for struct linedisp

linedisp:
- Allocate buffer for the string
- Add support for overriding character mapping
- Provide struct linedisp_ops for future extension
- Move exported symbols to a namespace
- Add missing header(s)
- Unshadow error codes in ->store()
- Use unique number for id
- Free allocated resources in ->release()

panel:
- Switch to use module_parport_driver()

seg-led-gpio:
- Import linedisp namespace

----------------------------------------------------------------
Andy Shevchenko (19):
auxdisplay: Take over maintainership, but in Odd Fixes mode
auxdisplay: Add 7 and 14 segment mappings to MAINTAINERS
auxdisplay: panel: Switch to use module_parport_driver()
auxdisplay: img-ascii-lcd: Make container_of() no-op for struct linedisp
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: Provide struct linedisp_ops for future extension
auxdisplay: linedisp: Add support for overriding character mapping
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

Chris Packham (3):
auxdisplay: Add 7-segment LED display driver
dt-bindings: auxdisplay: Add bindings for generic 7-segment LED
auxdisplay: seg-led-gpio: Import linedisp namespace

Krzysztof Kozlowski (2):
dt-bindings: auxdisplay: adjust example indentation and use generic node names
dt-bindings: auxdisplay: hit,hd44780: use defines for GPIO flags

Uwe Kleine-König (3):
auxdisplay: cfag12864bfb: Convert to platform remove callback returning void
auxdisplay: hd44780: Convert to platform remove callback returning void
auxdisplay: img-ascii-lcd: Convert to platform remove callback returning void

.../bindings/auxdisplay/arm,versatile-lcd.yaml | 4 +-
.../bindings/auxdisplay/gpio-7-segment.yaml | 55 ++++++
.../bindings/auxdisplay/hit,hd44780.yaml | 62 +++---
.../bindings/auxdisplay/holtek,ht16k33.yaml | 50 ++---
.../bindings/auxdisplay/img,ascii-lcd.yaml | 4 +-
.../bindings/auxdisplay/maxim,max6959.yaml | 44 +++++
MAINTAINERS | 8 +-
drivers/auxdisplay/Kconfig | 25 +++
drivers/auxdisplay/Makefile | 2 +
drivers/auxdisplay/cfag12864bfb.c | 6 +-
drivers/auxdisplay/hd44780.c | 5 +-
drivers/auxdisplay/ht16k33.c | 174 +++++++----------
drivers/auxdisplay/img-ascii-lcd.c | 45 ++---
drivers/auxdisplay/line-display.c | 166 ++++++++++++++--
drivers/auxdisplay/line-display.h | 53 ++++-
drivers/auxdisplay/max6959.c | 194 ++++++++++++++++++
drivers/auxdisplay/panel.c | 216 +++++++++------------
drivers/auxdisplay/seg-led-gpio.c | 113 +++++++++++
18 files changed, 888 insertions(+), 338 deletions(-)
create mode 100644 Documentation/devicetree/bindings/auxdisplay/gpio-7-segment.yaml
create mode 100644 Documentation/devicetree/bindings/auxdisplay/maxim,max6959.yaml
create mode 100644 drivers/auxdisplay/max6959.c
create mode 100644 drivers/auxdisplay/seg-led-gpio.c

--
With Best Regards,
Andy Shevchenko