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, ®->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;