linux/include/video
Philipp Zabel 310944d148 drm/imx: Match imx-ipuv3-crtc components using device node in platform data
The component master driver imx-drm-core matches component devices using
their of_node. Since commit 950b410dd1ab ("gpu: ipu-v3: Fix imx-ipuv3-crtc
module autoloading"), the imx-ipuv3-crtc dev->of_node is not set during
probing. Before that, of_node was set and caused an of: modalias to be
used instead of the platform: modalias, which broke module autoloading.

On the other hand, if dev->of_node is not set yet when the imx-ipuv3-crtc
probe function calls component_add, component matching in imx-drm-core
fails. While dev->of_node will be set once the next component tries to
bring up the component master, imx-drm-core component binding will never
succeed if one of the crtc devices is probed last.

Add of_node to the component platform data and match against the
pdata->of_node instead of dev->of_node in imx-drm-core to work around
this problem.

Cc: <stable@vger.kernel.org> # 4.4.x
Fixes: 950b410dd1ab ("gpu: ipu-v3: Fix imx-ipuv3-crtc module autoloading")
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Tested-by: Fabio Estevam <fabio.estevam@nxp.com>
Tested-by: Lothar Waßmann <LW@KARO-electronics.de>
Tested-by: Heiko Schocher <hs@denx.de>
Tested-by: Chris Ruehl <chris.ruehl@gtsys.com.hk>
2016-05-23 12:35:11 +02:00
..
atmel_lcdc.h video: atmel_lcdfb: pass the pdata as params 2013-09-27 09:26:20 +03:00
aty128.h atyfb: fix header file trailing whitespace 2009-04-01 08:59:26 -07:00
auo_k190xfb.h AUO-K190x: Add resolutions for portrait displays 2013-04-04 13:08:07 +03:00
broadsheetfb.h broadsheetfb: support storing waveform 2010-03-12 15:52:34 -08:00
cirrus.h cirrusfb: Laguna chipset 8bpp fix 2009-04-01 08:59:27 -07:00
cvisionppc.h
da8xx-fb.h video: da8xx-fb: improve readability of code 2013-08-09 14:02:42 +03:00
display_timing.h video: display_timing: add doubleclk flag 2013-06-03 18:42:32 +10:00
edid.h UAPI: (Scripted) Disintegrate include/video 2012-12-20 17:14:26 +00:00
exynos7_decon.h drm/exynos: Add DECON driver 2015-02-11 20:27:08 +09:00
exynos5433_decon.h drm/exynos/decon5433: add support for DECON-TV 2015-11-03 11:46:37 +09:00
exynos_mipi_dsim.h video: exynos_mipi_dsim: Use the generic PHY driver 2013-10-16 13:48:08 -07:00
gbe.h
hecubafb.h fbdev: platforming hecubafb and n411 2008-04-28 08:58:41 -07:00
iga.h
ili9320.h fb: add support for the ILI9320 video display controller 2008-07-24 10:47:40 -07:00
imx-ipu-v3.h drm/imx: Match imx-ipuv3-crtc components using device node in platform data 2016-05-23 12:35:11 +02:00
Kbuild UAPI: (Scripted) Disintegrate include/video 2012-12-20 17:14:26 +00:00
kyro.h drivers/video/fbdev/kyrofb: Use arch_phys_wc_add() and pci_ioremap_wc_bar() 2015-08-25 09:59:44 +02:00
mach64.h atyfb: fix CONFIG_ namespace violations 2009-02-05 12:56:48 -08:00
maxinefb.h
mbxfb.h
metronomefb.h [ARM] 5209/1: metronomefb: changes to use platform framebuffer 2008-08-26 17:01:12 +01:00
mipi_display.h fbdev: add a MIPI DSI header 2010-05-24 08:47:38 +09:00
mmp_disp.h video: mmp: add pitch info in mmp_win structure 2013-09-20 12:52:33 +03:00
neomagic.h video: fbdev: neofb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:49 +03:00
newport.h Merge branch 'master' into for-next 2011-04-26 10:22:59 +02:00
of_display_timing.h videomode: provide dummy inline functions for !CONFIG_OF 2014-10-07 09:31:45 +03:00
of_videomode.h video: add of helper for display timings/videomode 2013-01-24 09:03:48 +01:00
omap-panel-data.h drm/omap: tpd12s015: remove platform data support 2016-03-03 17:36:41 +02:00
omapdss.h drm/omap: add dispc_channel_connected field to omap_dss_device 2016-03-03 17:38:22 +02:00
omapvrfb.h OMAPDSS: VRFB: add omap_vrfb_supported() 2012-10-17 12:17:18 +03:00
permedia2.h
platform_lcd.h drivers/video/backlight/platform_lcd.c: introduce probe callback 2013-04-29 18:28:18 -07:00
pm3fb.h
pmag-ba-fb.h
pmagb-b-fb.h
pxa168fb.h video: pxa168fb: Cleanup pxa168fb.h file 2014-01-17 10:57:43 +02:00
radeon.h atyfb: fix header file trailing whitespace 2009-04-01 08:59:26 -07:00
s1d13xxxfb.h s1d13xxxfb: drop unused code 2010-12-21 01:05:43 +09:00
sa1100fb.h FB: sa1100: remove global sa1100fb_.*_power function pointers 2012-02-21 11:56:19 +00:00
samsung_fimd.h drm/exynos: add macro to get the address of START_S reg 2015-08-31 00:27:37 +09:00
sh_mipi_dsi.h fbdev: sh_mipi_dsi: Remove the unused sh_mipi_dsi_info lcd_chan field 2012-11-21 15:50:01 +01:00
sh_mobile_lcdc.h fbdev: sh_mobile_lcdc: Remove unused get_brightness pdata callback 2012-11-21 15:50:02 +01:00
sh_mobile_meram.h sh_mobile_meram: Add direct MERAM allocation API 2012-07-19 02:05:22 +02:00
sisfb.h UAPI: (Scripted) Disintegrate include/video 2012-12-20 17:14:26 +00:00
sstfb.h Fix common misspellings 2011-03-31 11:26:23 -03:00
tdfx.h video: fbdev: tdfxfb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:52 +03:00
tgafb.h
trident.h tridentfb: add imageblit acceleration for Blade3D family 2008-07-24 10:47:36 -07:00
udlfb.h udlfb: fix hcd_buffer_free panic on unplug/replug 2012-03-01 17:46:27 -08:00
uvesafb.h uvesafb: Clean up MTRR code 2013-05-31 13:37:36 +10:00
vga.h arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead 2015-08-10 23:07:05 -04:00
videomode.h videomode: videomode_from_timing work 2013-03-21 14:34:33 +02:00
w100fb.h