[PATCH 00/48] omapdrm: Merge omapdrm and omapdss
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri Oct 13 14:58:56 UTC 2017
Hello,
This patch series merges the omapdrm and omapdss drivers into a single driver
called omapdrm. The split in two drivers was historical, in order to support
the FBDEV, V4L2 and DRM/KMS APIs. Now that the driver supports DRM/KMS only
there's no need to keep two seperate drivers.
The series starts with a few cleanups (01/48 to 03/48) and quickly proceeds to
merging the omapdss and omapdss-base modules (04/48). It then prepares the
omapdss code (05/48 to 08/48), perform a few more cleanups (09/48 to 11/48)
and prepares the omapdrm code (12/48).
Patches 13/48 to 19/48 prepare the connector, encoder and panel drivers. All
those drivers defer probing when their video source can't be found at probe
time. This would cause endless probe deferral when merging omapdrm and omapdss
as the drivers need omapdss to be fully initialized to probe successfully, but
cause omapdrm to defer probing when they're not available.
Patch 20/48 merges the omapdrm and omapdss drivers.
The next patches are added bonuses that start removal of global variables from
the driver. The code relies heavily on global variables for objects that are
instance-specific, and should thus be dynamically allocated. Most of the
patches change internal APIs to pass objects to driver functions (21/48 to
28/48, 36/48, 39/48 to 41/38, 43/48 to 45/48) with a few miscellaneous
cleanups (29/48, 35/48, 37/48, 38/48, 42/48). Patches 30/48 to 34/48 and 46/48
then allocate instance objects dynamically to replace global variables, and
patches 47/48 and 48/48 move global variables to existing instance objects.
The series has been tested on a Pandaboard with the DVI and HDMI output.
Laurent Pinchart (48):
drm: omapdrm: dpi: Don't treat GPIO probe deferral as an error
drm: omapdrm: Pass drm_device to omap_gem_resume()
drm: omapdrm: Remove unused omap_dss_find_device() function
drm: omapdrm: Merge the omapdss and omapdss-base modules
drm: omapdrm: dss: Set the DMA coherent mask
drm: omapdrm: dss: Make dss_dump_clocks() function static
drm: omapdrm: dpi: Remove dpi_data port_initialized field
drm: omapdrm: venc: Return error code on OF parsing failure
drm: omapdrm: Deconstruct the omap_drv.h header.
drm: omapdrm: Use kernel integer types
drm: omapdrm: Use unsigned int type
drm: omapdrm: Split init and cleanup from probe and remove functions
drm: omapdrm: connector-analog-tv: Remove tvc_of_match forward
declaration
drm: omapdrm: displays: Remove OF node check in connector drivers
drm: omapdrm: displays: Remove OF node check in encoder drivers
drm: omapdrm: displays: Remove OF node check in panel drivers
drm: omapdrm: displays: Get connector source at connect time
drm: omapdrm: displays: Get panel source at connect time
drm: omapdrm: displays: Get encoder source at connect time
drm: omapdrm: Merge the omapdrm and omapdss drivers
drm: omapdrm: dss: Support passing private data to debugfs show
handlers
drm: omapdrm: dss: Pass DSS private structure to runtime PM functions
drm: omapdrm: dss: Pass PLL pointer to dss_ctrl_pll_enable()
drm: omapdrm: sdi: Pass DSS pointer to dss_sdi_*() functions
drm: omapdrm: dss: Pass DSS pointer to dss_ops operations
drm: omapdrm: dss: Pass DSS pointer to dss_get_*_clk_source()
drm: omapdrm: dss: Pass DSS pointer to dss clock functions
drm: omapdrm: dss: Pass DSS pointer to remaining dss functions
drm: omapdrm: dss: Remove dss_get_hdmi_venc_clk_source() function
drm: omapdrm: dss: Allocate the DSS private data structure dynamically
drm: omapdrm: hdmi4: Allocate the omap_hdmi data structure dynamically
drm: omapdrm: hdmi5: Allocate the omap_hdmi data structure dynamically
drm: omapdrm: venc: Allocate the venc private data structure
dynamically
drm: omapdrm: sdi: Allocate the sdi private data structure dynamically
drm: omapdrm: dsi: Make wait_for_bit_change() return a status
drm: omapdrm: dsi: Pass the dsi_data pointer to internal functions
drm: omapdrm: dsi: Combine two commonly used inline functions
drm: omapdrm: dsi: Use dev pointer directly in dsi_bind() function
drm: omapdrm: dsi: Store the struct device pointer in struct dsi_data
drm: omapdrm: dsi: Don't pass channel to dispc init/uninit functions
drm: omapdrm: dss: Pass omap_dss_device pointer to dss_mgr_*()
functions
drm: omapdrm: dss: Remove unused functions prototypes
drm: omapdrm: dss: Pass omap_drm_private pointer to dss_mgr_ops
drm: omapdrm: dispc: Pass DISPC pointer to dispc_ops operations
drm: omapdrm: dispc: Pass DISPC pointer to remaining dispc API
functions
drm: omapdrm: dispc: Allocate the dispc private data structure
dynamically
drm: omapdrm: dss: Store the debugfs root directory in struct
dss_device
drm: omapdrm: dss: Store the registered plls array in struct
dss_device
drivers/gpu/drm/omapdrm/Kconfig | 5 +-
drivers/gpu/drm/omapdrm/Makefile | 25 +
.../gpu/drm/omapdrm/displays/connector-analog-tv.c | 50 +-
drivers/gpu/drm/omapdrm/displays/connector-dvi.c | 34 +-
drivers/gpu/drm/omapdrm/displays/connector-hdmi.c | 40 +-
drivers/gpu/drm/omapdrm/displays/encoder-opa362.c | 40 +-
drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c | 42 +-
.../gpu/drm/omapdrm/displays/encoder-tpd12s015.c | 69 +-
drivers/gpu/drm/omapdrm/displays/panel-dpi.c | 38 +-
drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 38 +-
.../omapdrm/displays/panel-lgphilips-lb035q02.c | 38 +-
.../drm/omapdrm/displays/panel-nec-nl8048hl11.c | 42 +-
.../drm/omapdrm/displays/panel-sharp-ls037v7dw01.c | 38 +-
.../drm/omapdrm/displays/panel-sony-acx565akm.c | 35 +-
.../drm/omapdrm/displays/panel-tpo-td028ttec1.c | 49 +-
.../drm/omapdrm/displays/panel-tpo-td043mtea1.c | 32 +-
drivers/gpu/drm/omapdrm/dss/Kconfig | 16 -
drivers/gpu/drm/omapdrm/dss/Makefile | 18 -
drivers/gpu/drm/omapdrm/dss/base.c | 20 -
drivers/gpu/drm/omapdrm/dss/core.c | 14 +-
drivers/gpu/drm/omapdrm/dss/dispc.c | 2191 +++++++++++---------
drivers/gpu/drm/omapdrm/dss/display.c | 16 -
drivers/gpu/drm/omapdrm/dss/dpi.c | 98 +-
drivers/gpu/drm/omapdrm/dss/dsi.c | 1554 +++++++-------
drivers/gpu/drm/omapdrm/dss/dss-of.c | 2 -
drivers/gpu/drm/omapdrm/dss/dss.c | 722 ++++---
drivers/gpu/drm/omapdrm/dss/dss.h | 248 ++-
drivers/gpu/drm/omapdrm/dss/hdmi.h | 11 +-
drivers/gpu/drm/omapdrm/dss/hdmi4.c | 375 ++--
drivers/gpu/drm/omapdrm/dss/hdmi4_cec.c | 4 +-
drivers/gpu/drm/omapdrm/dss/hdmi4_core.h | 4 +-
drivers/gpu/drm/omapdrm/dss/hdmi5.c | 383 ++--
drivers/gpu/drm/omapdrm/dss/hdmi5_core.c | 24 +-
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c | 2 +-
drivers/gpu/drm/omapdrm/dss/hdmi_pll.c | 15 +-
drivers/gpu/drm/omapdrm/dss/hdmi_wp.c | 2 +-
drivers/gpu/drm/omapdrm/dss/omapdss.h | 166 +-
drivers/gpu/drm/omapdrm/dss/output.c | 61 +-
drivers/gpu/drm/omapdrm/dss/pll.c | 44 +-
drivers/gpu/drm/omapdrm/dss/sdi.c | 163 +-
drivers/gpu/drm/omapdrm/dss/venc.c | 457 ++--
drivers/gpu/drm/omapdrm/dss/video-pll.c | 19 +-
drivers/gpu/drm/omapdrm/omap_connector.h | 37 +
drivers/gpu/drm/omapdrm/omap_crtc.c | 70 +-
drivers/gpu/drm/omapdrm/omap_crtc.h | 43 +
drivers/gpu/drm/omapdrm/omap_dmm_priv.h | 10 +-
drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 58 +-
drivers/gpu/drm/omapdrm/omap_dmm_tiler.h | 25 +-
drivers/gpu/drm/omapdrm/omap_drv.c | 101 +-
drivers/gpu/drm/omapdrm/omap_drv.h | 146 +-
drivers/gpu/drm/omapdrm/omap_encoder.h | 33 +
drivers/gpu/drm/omapdrm/omap_fb.c | 18 +-
drivers/gpu/drm/omapdrm/omap_fb.h | 46 +
drivers/gpu/drm/omapdrm/omap_fbdev.h | 39 +
drivers/gpu/drm/omapdrm/omap_gem.c | 48 +-
drivers/gpu/drm/omapdrm/omap_gem.h | 99 +
drivers/gpu/drm/omapdrm/omap_irq.c | 38 +-
drivers/gpu/drm/omapdrm/omap_irq.h | 39 +
drivers/gpu/drm/omapdrm/omap_plane.c | 16 +-
drivers/gpu/drm/omapdrm/omap_plane.h | 37 +
drivers/gpu/drm/omapdrm/tcm-sita.c | 12 +-
drivers/gpu/drm/omapdrm/tcm.h | 4 +-
62 files changed, 4293 insertions(+), 3870 deletions(-)
create mode 100644 drivers/gpu/drm/omapdrm/omap_connector.h
create mode 100644 drivers/gpu/drm/omapdrm/omap_crtc.h
create mode 100644 drivers/gpu/drm/omapdrm/omap_encoder.h
create mode 100644 drivers/gpu/drm/omapdrm/omap_fb.h
create mode 100644 drivers/gpu/drm/omapdrm/omap_fbdev.h
create mode 100644 drivers/gpu/drm/omapdrm/omap_gem.h
create mode 100644 drivers/gpu/drm/omapdrm/omap_irq.h
create mode 100644 drivers/gpu/drm/omapdrm/omap_plane.h
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list