linux/drivers/video/fbdev/omap2/dss
Tomi Valkeinen 736e60ddc2 OMAPDSS: componentize omapdss
omapdss kernel module contains drivers for multiple devices, one for
each DSS submodule. The probing we have at the moment is a mess, and
doesn't give us proper deferred probing nor ensure that all the devices
are probed before omapfb/omapdrm start using omapdss.

This patch solves the mess by using the component system for DSS
submodules.

The changes to all DSS submodules (dispc, dpi, dsi, hdmi4/5, rfbi, sdi,
venc) are the same: probe & remove functions are changed to bind &
unbind, and new probe & remove functions are added which call
component_add/del.

The dss_core driver (dss.c) acts as a component master. Adding and
matching the components is simple: all dss device's child devices are
added as components.

However, we do have some dependencies between the drivers. The order in
which they should be probed is reflected by the list in core.c
(dss_output_drv_reg_funcs). The drivers are registered in that order,
which causes the components to be added in that order, which makes the
components to be bound in that order. This feels a bit fragile, and we
probably should improve the code to manage binds in random order.
However, for now, this works fine.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2015-06-17 13:44:53 +03:00
..
apply.c OMAPDSS: apply: wait pending updates on manager disable 2014-10-22 11:07:08 +03:00
core.c OMAPDSS: reorder uninit calls 2015-06-17 13:44:50 +03:00
dispc_coefs.c
dispc-compat.c arm, fbdev, omap2, LLVMLinux: Remove nested function from omap2 dss 2014-09-30 13:11:44 +03:00
dispc-compat.h
dispc.c OMAPDSS: componentize omapdss 2015-06-17 13:44:53 +03:00
dispc.h OMAPDSS: DISPC: fix mflag offset 2014-10-22 11:33:10 +03:00
display-sysfs.c OMAPDSS: fix regression with display sysfs files 2015-02-26 10:23:15 +02:00
display.c OMAPDSS: DISPC: change sync_pclk_edge default value 2015-02-26 12:15:12 +02:00
dpi.c OMAPDSS: componentize omapdss 2015-06-17 13:44:53 +03:00
dsi.c OMAPDSS: componentize omapdss 2015-06-17 13:44:53 +03:00
dss_features.c OMAPDSS: fix AM43xx minimum pixel clock divider 2015-02-25 15:03:28 +02:00
dss_features.h OMAPDSS: features: remove unused DSI PLL features 2014-11-12 13:40:27 +02:00
dss-of.c OMAPDSS: DT: Get source endpoint by matching reg-id 2014-11-12 13:40:06 +02:00
dss.c OMAPDSS: componentize omapdss 2015-06-17 13:44:53 +03:00
dss.h OMAPDSS: remove uses of __init/__exit 2015-06-17 13:44:47 +03:00
hdmi4_core.c OMAPDSS: hdmi4_core: Remove unused hdmi4_audio_get_dma_port() 2014-11-26 10:41:07 +02:00
hdmi4_core.h OMAPDSS: hdmi4_core: Remove unused hdmi4_audio_get_dma_port() 2014-11-26 10:41:07 +02:00
hdmi4.c OMAPDSS: componentize omapdss 2015-06-17 13:44:53 +03:00
hdmi5_core.c OMAPDSS: HDMI5: Increase DDC SDA-HOLD time 2015-02-25 15:03:50 +02:00
hdmi5_core.h OMAPDSS: hdmi: Remove most of OMAP[45]_DSS_HDMI_AUDIO ifdefs 2014-11-26 10:41:07 +02:00
hdmi5.c OMAPDSS: componentize omapdss 2015-06-17 13:44:53 +03:00
hdmi_common.c OMAPDSS: hdmi: Remove most of OMAP[45]_DSS_HDMI_AUDIO ifdefs 2014-11-26 10:41:07 +02:00
hdmi_phy.c OMAPDSS: HDMI: Add DRA7xx support 2015-02-04 12:32:06 +02:00
hdmi_pll.c OMAPDSS: HDMI: Add DRA7xx support 2015-02-04 12:32:06 +02:00
hdmi_wp.c OMAPDSS: hdmi_wp: Add function for getting audio dma address 2014-11-26 10:41:08 +02:00
hdmi.h OMAPDSS: hdmi5: Change hdmi_wp idlemode to to no_idle for audio playback 2014-12-01 11:10:02 +02:00
Kconfig OMAPDSS: Kconfig: Remove HDMI audio booleans from Kconfig 2014-12-01 11:09:37 +02:00
Makefile OMAPDSS: Add Video PLLs for DRA7xx 2015-02-04 12:32:05 +02:00
manager-sysfs.c arm, fbdev, omap2, LLVMLinux: Remove nested function from omap2 dss 2014-09-30 13:11:44 +03:00
manager.c
omapdss-boot-init.c of: Decrement refcount of previous endpoint in of_graph_get_next_endpoint 2015-02-23 11:42:23 +01:00
output.c OMAPDSS: DT: Get source endpoint by matching reg-id 2014-11-12 13:40:06 +02:00
overlay-sysfs.c
overlay.c
pll.c OMAPDSS: PLL: add dss_pll_wait_reset_done() 2015-02-04 12:32:03 +02:00
rfbi.c OMAPDSS: componentize omapdss 2015-06-17 13:44:53 +03:00
sdi.c OMAPDSS: componentize omapdss 2015-06-17 13:44:53 +03:00
venc.c OMAPDSS: componentize omapdss 2015-06-17 13:44:53 +03:00
video-pll.c OMAPDSS: Add Video PLLs for DRA7xx 2015-02-04 12:32:05 +02:00