Hello, Most of this series has previously been posted as part of "[PATCH 00/48] omapdrm: Merge omapdrm and omapdss". With "[PATCH v2 00/15] omapdrm: Miscellaneous fixes and cleanups" posted and merged a few days ago, it completes the rework of the omapdrm and omapdss drivers to replace most global variables with dynamically-allocated objects. The actual merge of the omapdrm and omapdss drivers has been left out for now as it still suffers from unresolved issues. As with the previous series I have other pending patches based on top of this, as passing driver objects around explicitly helps not relying on more global variables that would hinder the effort to move to the DRM bridge and DRM panel APIs. Patches 02/30, 14/30, 22/30 and 23/30 are new. Patch 21/30 has seen significant changes and I have thus dropped the Reviewed-by tag from Sebastian. All other patches have been rebased and reordered, thus sometimes modified to resolve conflicts, but have otherwise seen only minor changes. The series is based on top of the omapdrm-next branch from git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux.git. Tomi, as the series has been stripped of its controversial patches, I think it's now ready to be merged (pending review of the patches mentioned above of course). I have tested it on both a Panda board and an AM57xx EVM without any issues (and this time I made sure to try with the drivers compiled as modules). Laurent Pinchart (30): drm: omapdrm: Split init and cleanup from probe and remove functions drm: omapdrm: dss: Expose DSS data in a dss_device structure drm: omapdrm: dss: Pass DSS private structure to runtime PM functions drm: omapdrm: dss: Pass PLL pointer to dss_ctrl_pll_enable() drm: omapdrm: dss: 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: Allocate the DSS private data structure dynamically drm: omapdrm: dss: Support passing private data to debugfs show handlers drm: omapdrm: dss: Store the registered plls array in struct dss_device drm: omapdrm: dss: Store the debugfs root directory in struct dss_device drm: omapdrm: dss: Don't unnecessarily cast to dev to pdev and back 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: Pass omap_drm_private pointer to dss_mgr_ops drm: omapdrm: dss: Store DSS device pointer in the omapdrm private data drm: omapdrm: dss: Store dispc ops in dss_device structure 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: hdmi4: Allocate the omap_hdmi data structure dynamically drm: omapdrm: hdmi5: Allocate the omap_hdmi data structure dynamically drm: omapdrm: sdi: Allocate the sdi private data structure dynamically drm: omapdrm: venc: Allocate the venc private data structure dynamically drivers/gpu/drm/omapdrm/dss/base.c | 27 +- drivers/gpu/drm/omapdrm/dss/dispc.c | 2183 ++++++++++++++++-------------- drivers/gpu/drm/omapdrm/dss/dpi.c | 89 +- drivers/gpu/drm/omapdrm/dss/dsi.c | 1466 ++++++++++---------- drivers/gpu/drm/omapdrm/dss/dss.c | 668 ++++----- drivers/gpu/drm/omapdrm/dss/dss.h | 229 ++-- drivers/gpu/drm/omapdrm/dss/hdmi.h | 11 +- drivers/gpu/drm/omapdrm/dss/hdmi4.c | 371 ++--- 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 | 379 +++--- drivers/gpu/drm/omapdrm/dss/hdmi_pll.c | 15 +- drivers/gpu/drm/omapdrm/dss/omapdss.h | 171 ++- drivers/gpu/drm/omapdrm/dss/output.c | 52 +- drivers/gpu/drm/omapdrm/dss/pll.c | 40 +- drivers/gpu/drm/omapdrm/dss/sdi.c | 162 ++- drivers/gpu/drm/omapdrm/dss/venc.c | 453 ++++--- drivers/gpu/drm/omapdrm/dss/video-pll.c | 19 +- drivers/gpu/drm/omapdrm/omap_crtc.c | 62 +- drivers/gpu/drm/omapdrm/omap_crtc.h | 2 +- drivers/gpu/drm/omapdrm/omap_drv.c | 102 +- drivers/gpu/drm/omapdrm/omap_drv.h | 4 + drivers/gpu/drm/omapdrm/omap_irq.c | 32 +- drivers/gpu/drm/omapdrm/omap_plane.c | 12 +- 24 files changed, 3484 insertions(+), 3073 deletions(-) -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel