2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-21 03:33:59 +08:00
linux-next/drivers/video/fbdev
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
..
aty fbdev: radeon: replace PPC_OF with PPC 2015-03-17 20:04:31 +11:00
core fbdev: remove the unnecessary includes of ppc specific header files 2015-03-17 20:04:32 +11:00
exynos Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
geode fbdev: geocode: remove unneeded NULL check 2015-01-13 13:29:22 +02:00
i810
intelfb video: fbdev: intelfb: delete double assignment 2014-08-26 15:53:34 +03:00
kyro
matrox video: fbdev: matrox: use c99 initializers in structures 2014-08-26 15:52:38 +03:00
mb862xx video: fbdev: mb862xx: drop owner assignment from platform_drivers 2014-10-20 16:21:52 +02:00
mbx video/mbx: indent some if statements 2014-07-01 13:32:30 +03:00
mmp video/mmpfb: allow modular build 2015-01-30 09:45:20 +02:00
msm msm: msm_fb: Move to using managed resources of kzalloc 2014-08-26 15:53:33 +03:00
nvidia fbdev: nvidia: remove the dependency on PPC_OF 2015-03-17 20:04:32 +11:00
omap video: fbdev: omap: drop owner assignment from platform_drivers 2014-10-20 16:21:54 +02:00
omap2 OMAPDSS: componentize omapdss 2015-06-17 13:44:53 +03:00
riva fbdev: riva: remove the dependency on PPC_OF 2015-03-17 20:04:32 +11:00
savage fbdev: savage: remove unused variable 2015-01-13 13:31:51 +02:00
sis video: fbdev-SIS: Deletion of unnecessary checks before the function call "pci_dev_put" 2014-12-04 16:16:01 +02:00
vermilion x86: Use new cache mode type in drivers/video/fbdev/vermilion 2014-11-16 11:04:25 +01:00
via fbdev: via/via_clock: fix sparse warning 2015-03-02 13:17:25 +02:00
68328fb.c video: 68328fb: remove check for CONFIG_FB_68328_INVERT 2014-06-24 10:55:13 +03:00
acornfb.c
acornfb.h
amba-clcd-versatile.c video: move Versatile CLCD helpers 2014-06-27 10:15:22 +02:00
amba-clcd.c video: ARM CLCD: Add missing error check for devm_kzalloc 2015-02-26 10:23:15 +02:00
amifb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
arcfb.c
arkfb.c video: fbdev: arkfb: suppress build warning 2014-12-04 15:41:18 +02:00
asiliantfb.c
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atafb.c video: atafb: Remove obsolete IRQ_TYPE_PRIO 2015-01-15 13:44:51 +01:00
atafb.h
atmel_lcdfb.c Merge branch 'platform/remove_owner' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux into driver-core-next 2014-11-03 19:53:56 -08:00
au1100fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
au1100fb.h MIPS: Alchemy: au1100fb: use clk framework 2014-07-30 14:10:39 +02:00
au1200fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
au1200fb.h
auo_k190x.c
auo_k190x.h
auo_k1900fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
auo_k1901fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
bf54x-lq043fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
bf537-lq035.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
bfin_adv7393fb.c fb: adv7393: add missing semicolon 2014-07-01 13:18:38 +03:00
bfin_adv7393fb.h
bfin-lq035q1-fb.c
bfin-t350mcqb-fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
broadsheetfb.c fbdev/broadsheetfb: fix memory leak 2015-01-13 15:13:45 +02:00
bt431.h
bt455.h
bw2.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
c2p_core.h
c2p_iplan2.c
c2p_planar.c
c2p.h
carminefb_regs.h
carminefb.c
carminefb.h
cg3.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
cg6.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
cg14.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
chipsfb.c fbdev: Remove __init from chips_hw_init() to fix build failure 2014-08-26 12:48:34 +03:00
cirrusfb.c
clps711x-fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
clps711xfb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
cobalt_lcdfb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
controlfb.c powerpc: Move Power Macintosh drivers to generic byteswappers 2015-03-23 14:29:40 +11:00
controlfb.h
cyber2000fb.c video: fbdev: cyber2000fb.c: use container_of to resolve cfb_info from fb_info 2014-09-30 13:06:01 +03:00
cyber2000fb.h
da8xx-fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
dnfb.c
edid.h
efifb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
ep93xx-fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
fb-puv3.c drivers/video/fbdev/fb-puv3.c: Add header files for function unifb_mmap 2014-05-23 13:51:10 +03:00
ffb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
fm2fb.c
fsl-diu-fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
g364fb.c
gbefb.c x86: Use new cache mode type in drivers/video/fbdev/gbefb.c 2014-11-16 11:04:25 +01:00
goldfishfb.c
grvga.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
gxt4500.c
hecubafb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
hgafb.c video: hgafb: remove unneeded comparison 2015-01-26 14:43:06 +02:00
hitfb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
hpfb.c
hyperv_fb.c hyperv: hyperv_fb: match wait_for_completion_timeout return type 2015-03-10 14:37:46 +02:00
i740_reg.h
i740fb.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
igafb.c
imsttfb.c fbdev: imsttfb: remove the dependency on PPC_OF 2015-03-17 20:04:31 +11:00
imxfb.c video: fbdev: make of_device_id array const 2015-03-02 13:17:24 +02:00
jz4740_fb.c
Kconfig fbdev: kconfig: replace PPC_OF with PPC 2015-03-17 20:04:32 +11:00
leo.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
macfb.c
macmodes.c
macmodes.h
Makefile fbdev changes for 3.17 2014-08-08 18:09:33 -07:00
maxinefb.c
metronomefb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
mx3fb.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
mxsfb.c fbdev: mxsfb: Add support for mx6sl and mx6sx 2014-11-06 16:41:36 +02:00
n411.c
neofb.c
nuc900fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
nuc900fb.h
ocfb.c video: ocfb: Fix data type warning 2015-01-13 12:53:25 +02:00
offb.c Revert "offb: Add palette hack for little endian" 2014-06-16 19:45:45 +10:00
p9100.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
platinumfb.c powerpc: Move Power Macintosh drivers to generic byteswappers 2015-03-23 14:29:40 +11:00
platinumfb.h
pm2fb.c
pm3fb.c fbdev: pm3fb: cleanup some confusing indenting 2015-03-10 14:47:09 +02:00
pmag-aa-fb.c
pmag-ba-fb.c
pmagb-b-fb.c
ps3fb.c
pvr2fb.c mm: gup: use get_user_pages_unlocked 2015-02-11 17:06:05 -08:00
pxa3xx-gcu.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
pxa3xx-gcu.h
pxa168fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
pxa168fb.h
pxafb.c video: fbdev: use msecs_to_jiffies for time conversions 2015-03-10 14:32:13 +02:00
pxafb.h
q40fb.c
s1d13xxxfb.c
s3c2410fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
s3c2410fb.h
s3c-fb.c More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
s3fb.c video: fbdev: s3fb: suppress build warning 2014-12-04 15:41:18 +02:00
sa1100fb.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sa1100fb.h ARM: 8244/1: fbdev: sa1100fb: make use of device clock 2014-12-05 16:30:25 +00:00
sbuslib.c
sbuslib.h
sh7760fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
sh_mipi_dsi.c
sh_mobile_hdmi.c fbdev: sh_mobile_hdmi: Re-init regs before irq re-enable on resume 2014-09-30 13:42:13 +03:00
sh_mobile_lcdcfb.c fbdev: sh_mobile_lcdc: Fix destruction of uninitialized mutex 2015-04-07 16:24:15 +03:00
sh_mobile_lcdcfb.h
sh_mobile_meram.c More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
simplefb.c simplefb: Fix build failure on Sparc 2015-01-13 13:25:16 +02:00
skeletonfb.c
sm501fb.c fbdev: sm501fb: use memset_io 2015-03-02 13:17:24 +02:00
smscufx.c video: smscufx: Deletion of unnecessary checks before the function call "vfree" 2014-12-04 16:16:01 +02:00
ssd1307fb.c fbdev: ssd1307fb: return proper error code if write command fails 2015-01-30 09:40:00 +02:00
sstfb.c
sticore.h
stifb.c video: fbdev: stifb.c: use container_of to resolve stifb_info from fb_info 2014-09-30 13:06:00 +03:00
sunxvr500.c
sunxvr1000.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
sunxvr2500.c
tcx.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
tdfxfb.c
tgafb.c
tmiofb.c
tridentfb.c
udlfb.c video: udlfb: Deletion of unnecessary checks before the function call "vfree" 2014-12-04 16:16:01 +02:00
uvesafb.c video: uvesafb: Deletion of an unnecessary check before the function call "platform_device_put" 2014-12-04 16:16:02 +02:00
valkyriefb.c video: fbdev: valkyriefb.c: use container_of to resolve fb_info_valkyrie from fb_info 2014-09-30 13:06:01 +03:00
valkyriefb.h
vesafb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
vfb.c
vga16fb.c
vt8500lcdfb.c video: vt8500lcdfb: remove unneeded continue 2015-01-13 13:35:04 +02:00
vt8500lcdfb.h
vt8623fb.c video: fbdev: vt8623fb: suppress build warning 2014-12-04 15:41:18 +02:00
w100fb.c
w100fb.h
wm8505fb_regs.h
wm8505fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
wmt_ge_rops.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
wmt_ge_rops.h
xen-fbfront.c xen: remove DEFINE_XENBUS_DRIVER() macro 2014-10-06 10:27:57 +01:00
xilinxfb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00