On Tue, Jan 31, 2017 at 05:03:19PM +0100, Noralf Trønnes wrote: > Add driver to support the Multi-Inno MI0283QT display panel. > It has an ILI9341 MIPI DBI compatible display controller. So what exactly does this entail? What if we ever see a second panel that has one of these controllers? Would it end up duplicating a lot of the code from this driver? Or would we be able to reuse the driver by just adding a different compatible string and parameterizing some more? > Signed-off-by: Noralf Trønnes > --- > MAINTAINERS | 6 + > drivers/gpu/drm/tinydrm/Kconfig | 8 ++ > drivers/gpu/drm/tinydrm/Makefile | 3 + > drivers/gpu/drm/tinydrm/mi0283qt.c | 279 +++++++++++++++++++++++++++++++++++++ > include/drm/tinydrm/ili9341.h | 54 +++++++ > 5 files changed, 350 insertions(+) > create mode 100644 drivers/gpu/drm/tinydrm/mi0283qt.c > create mode 100644 include/drm/tinydrm/ili9341.h > > diff --git a/MAINTAINERS b/MAINTAINERS > index d935135..5c4666b 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -4278,6 +4278,12 @@ S: Supported > F: drivers/gpu/drm/mediatek/ > F: Documentation/devicetree/bindings/display/mediatek/ > > +DRM DRIVER FOR MI0283QT > +M: Noralf Trønnes > +S: Maintained > +F: drivers/gpu/drm/tinydrm/mi0283qt.c > +F: Documentation/devicetree/bindings/display/multi-inno,mi0283qt.txt > + > DRM DRIVER FOR MSM ADRENO GPU > M: Rob Clark > L: linux-arm-msm@vger.kernel.org > diff --git a/drivers/gpu/drm/tinydrm/Kconfig b/drivers/gpu/drm/tinydrm/Kconfig > index 128d2f3..d3161fd 100644 > --- a/drivers/gpu/drm/tinydrm/Kconfig > +++ b/drivers/gpu/drm/tinydrm/Kconfig > @@ -9,3 +9,11 @@ menuconfig DRM_TINYDRM > > config TINYDRM_MIPI_DBI > tristate > + > +config TINYDRM_MI0283QT > + tristate "DRM support for MI0283QT" > + depends on DRM_TINYDRM && SPI > + select TINYDRM_MIPI_DBI > + help > + DRM driver for the Multi-Inno MI0283QT display panel > + If M is selected the module will be called mi0283qt. > diff --git a/drivers/gpu/drm/tinydrm/Makefile b/drivers/gpu/drm/tinydrm/Makefile > index fe5d4c6..7a3604c 100644 > --- a/drivers/gpu/drm/tinydrm/Makefile > +++ b/drivers/gpu/drm/tinydrm/Makefile > @@ -2,3 +2,6 @@ obj-$(CONFIG_DRM_TINYDRM) += core/ > > # Controllers > obj-$(CONFIG_TINYDRM_MIPI_DBI) += mipi-dbi.o > + > +# Displays > +obj-$(CONFIG_TINYDRM_MI0283QT) += mi0283qt.o > diff --git a/drivers/gpu/drm/tinydrm/mi0283qt.c b/drivers/gpu/drm/tinydrm/mi0283qt.c > new file mode 100644 > index 0000000..b29fe86 > --- /dev/null > +++ b/drivers/gpu/drm/tinydrm/mi0283qt.c > @@ -0,0 +1,279 @@ > +/* > + * DRM driver for Multi-Inno MI0283QT panels > + * > + * Copyright 2016 Noralf Trønnes > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; either version 2 of the License, or > + * (at your option) any later version. > + */ > + > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include