[PATCH] gpu: ipu-v3: Fix imx-ipuv3-crtc module autoloading

Dennis Gilmore dennis at ausil.us
Wed Apr 27 13:54:40 UTC 2016


Thanks Philipp,

I tested and module loading worked correctly

Dennis

On 2016-04-27 03:29, Philipp Zabel wrote:
> If of_node is set before calling platform_device_add, the driver core
> will try to use of: modalias matching, which fails because the device
> tree nodes don't have a compatible property set. This patch fixes
> imx-ipuv3-crtc module autoloading by setting the of_node property only
> after the platform modalias is set.
> 
> Fixes: 304e6be652e2 ("gpu: ipu-v3: Assign of_node of child platform
> devices to corresponding ports")
> Reported-by: Dennis Gilmore <dennis at ausil.us>
> Signed-off-by: Philipp Zabel <p.zabel at pengutronix.de>
Tested-By: Dennis Gilmore <dennis at ausil.us>

> ---
>  drivers/gpu/ipu-v3/ipu-common.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/ipu-v3/ipu-common.c 
> b/drivers/gpu/ipu-v3/ipu-common.c
> index e00db3f..abb98c7 100644
> --- a/drivers/gpu/ipu-v3/ipu-common.c
> +++ b/drivers/gpu/ipu-v3/ipu-common.c
> @@ -1068,7 +1068,6 @@ static int ipu_add_client_devices(struct ipu_soc
> *ipu, unsigned long ipu_base)
>  			goto err_register;
>  		}
> 
> -		pdev->dev.of_node = of_node;
>  		pdev->dev.parent = dev;
> 
>  		ret = platform_device_add_data(pdev, &reg->pdata,
> @@ -1079,6 +1078,12 @@ static int ipu_add_client_devices(struct
> ipu_soc *ipu, unsigned long ipu_base)
>  			platform_device_put(pdev);
>  			goto err_register;
>  		}
> +
> +		/*
> +		 * Set of_node only after calling platform_device_add. Otherwise
> +		 * the platform:imx-ipuv3-crtc modalias won't be used.
> +		 */
> +		pdev->dev.of_node = of_node;
>  	}
> 
>  	return 0;


More information about the dri-devel mailing list