[PATCH/RFC 0/7] Remove the omapdrm device from platform code

Laurent Pinchart laurent.pinchart at ideasonboard.com
Tue Dec 13 23:38:19 UTC 2016


The omapdss/omapdrm initialization code is quite a mess. The physical devices
are instantiated from DT, but two virtual devices named omapdrm and omapdss
are instanciated from platform code to pass various pieces of platform data to
the drivers.

The omapdrm and omapdss platform devices should eventually be removed. That
will require non-trivial work to implement the features provided by platform
data in a pure DT architecture without platform code.

This patch series starts by focussing on the omapdrm device. It moves all its
platform data to the omapdss device, to finally remove the omapdrm device
completely from platform code.

Doing so involves registering the omapdrm platform device from within the
omapdss driver. This is a hack, but isn't worse than the current situation.
Quite the contrary, given that the omapdrm device exists for the sole purpose
of supporting the omapdrm/omapdss driver architecture, moving it out of
platform code can be considered as (slightly) cleaner. In any case, it will be
easier to refactor the code as everything is now isolated on the driver side.

The series will be annoying to merge given how interleaved the ARM and driver
patches are. The easiest solution would be to merge everything through the ARM
tree (as the risk of conflict on the DRM side is low), in which case some 
patches could be squashed together if desired (especially the last two that
wouldn't require renaming the driver internally anymore).

Laurent Pinchart (7):
  drm: omapdrm: Add OMAP revision to omapdss platform data
  ARM: OMAP2+: Populate the omapdss platform data OMAP revision
  drm: omapdrm: Retrieve OMAP revision from omapdss
  ARM: OMAP2+: Remove omapdrm platform data
  drm: omapdrm: Remove omapdrm platform data
  drm: omapdrm: Register omapdrm platform device in omapdss driver
  ARM: OMAP2+: Remove unused omapdrm platform device

 arch/arm/mach-omap2/Makefile           |  2 +-
 arch/arm/mach-omap2/display.c          |  8 +----
 arch/arm/mach-omap2/display.h          |  1 -
 arch/arm/mach-omap2/drm.c              | 53 ----------------------------------
 drivers/gpu/drm/omapdrm/dss/core.c     | 25 ++++++++++++++++
 drivers/gpu/drm/omapdrm/dss/omapdss.h  |  1 +
 drivers/gpu/drm/omapdrm/omap_drv.c     |  5 ++--
 drivers/gpu/drm/omapdrm/omap_drv.h     |  1 -
 include/linux/platform_data/omap_drm.h | 53 ----------------------------------
 include/linux/platform_data/omapdss.h  |  1 +
 10 files changed, 31 insertions(+), 119 deletions(-)
 delete mode 100644 arch/arm/mach-omap2/drm.c
 delete mode 100644 include/linux/platform_data/omap_drm.h


Laurent Pinchart

More information about the dri-devel mailing list