• Philipp Zabel's avatar
    drm/imx: Match imx-ipuv3-crtc components using device node in platform data · 310944d1
    Philipp Zabel authored
    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: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
    Tested-by: default avatarFabio Estevam <fabio.estevam@nxp.com>
    Tested-by: default avatarLothar Waßmann <LW@KARO-electronics.de>
    Tested-by: default avatarHeiko Schocher <hs@denx.de>
    Tested-by: default avatarChris Ruehl <chris.ruehl@gtsys.com.hk>
    310944d1
ipu-common.c 32.6 KB