OpenCloudOS-Kernel/drivers/gpu/ipu-v3
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
..
Kconfig gpu: ipu-v3: Kconfig: Remove SOC_IMX6SL from IMX_IPUV3_CORE Kconfig 2014-09-24 23:50:25 +02:00
Makefile gpu: ipu-v3: Add Image Converter unit 2014-09-02 14:55:43 +02:00
ipu-common.c drm/imx: Match imx-ipuv3-crtc components using device node in platform data 2016-05-23 12:35:11 +02:00
ipu-cpmem.c gpu: ipu-cpmem: modify ipu_cpmem_set_yuv_planar_full for better control 2016-03-31 11:23:29 +02:00
ipu-csi.c gpu: ipu-v3: fix div_ratio type 2015-10-30 17:13:47 +01:00
ipu-dc.c gpu: ipu-v3: ipu-dc: Simplify display controller microcode setup 2016-03-01 08:33:38 +01:00
ipu-di.c gpu: imx: fix support for interlaced modes 2015-10-06 19:58:30 +01:00
ipu-dmfc.c gpu: ipu-v3: ipu-dmfc: Rename ipu_dmfc_init_channel to ipu_dmfc_config_wait4eot 2016-03-31 11:24:33 +02:00
ipu-dp.c
ipu-ic.c gpu: ipu-v3: turns out the IPU can only downsize 4:1 2015-03-31 12:03:55 +02:00
ipu-prv.h gpu: ipu-v3: Add ipu_idmac_buffer_is_ready() 2014-09-02 14:55:48 +02:00
ipu-smfc.c IPUv3 fixes for v3.18 2014-10-07 14:31:14 +10:00