drm/ssd130x: Add support for the SSD132x OLED controller family
authorJavier Martinez Canillas <javierm@redhat.com>
Sat, 14 Oct 2023 07:15:06 +0000 (09:15 +0200)
committerJavier Martinez Canillas <javierm@redhat.com>
Wed, 18 Oct 2023 07:53:29 +0000 (09:53 +0200)
commitfdd591e00a9c9d64a5f1d74779b72218c22bf15d
treec4a0ea23c224bd5bd49eaf22fe547e7444eea06e
parent9081d21a5a6b575551bfd6281981537140b55338
drm/ssd130x: Add support for the SSD132x OLED controller family

The Solomon SSD132x controllers (such as the SSD1322, SSD1325 and SSD1327)
are used by 16 grayscale dot matrix OLED panels, extend the driver to also
support this chip family.

Instead adding an indirection level to allow the same modesetting pipeline
to be used by both controller families, add another pipeline for SSD132x.

This leads to some code duplication but it makes the driver easier to read
and reason about. Once other controller families are added (e.g: SSD133x),
some common code can be factored out in driver helpers to be shared by the
different families. But that can be done later once these patterns emerge.

Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20231014071520.1342189-5-javierm@redhat.com
drivers/gpu/drm/solomon/Kconfig
drivers/gpu/drm/solomon/ssd130x-i2c.c
drivers/gpu/drm/solomon/ssd130x-spi.c
drivers/gpu/drm/solomon/ssd130x.c
drivers/gpu/drm/solomon/ssd130x.h