[PATCH V2 7/9] interconnect: imx: set of_node for interconnect provider

Peng Fan peng.fan at nxp.com
Sat Jul 2 05:48:45 PDT 2022


> Subject: Re: [PATCH V2 7/9] interconnect: imx: set of_node for interconnect
> provider
> 
> Am Donnerstag, dem 16.06.2022 um 15:33 +0800 schrieb Peng Fan (OSS):
> > From: Peng Fan <peng.fan at nxp.com>
> >
> > The provider device is created using platform_device_register_data in
> > imx-bus driver, which not has of_node. With of_node set, it will be
> > easy to support QoS settings.
> >
> That's a bit dangerous, as sharing a of_node between two devices can lead
> to some reference counting issues IIRC, but then I also don't see a good way
> to do this any differently.

I just recalled there is a similar usage in usb code, I not remember the exact
file.

I thought not to let imx-bus.c to register the device, but I wanna to do all
these stuff step by step. The next step is to pick Abel's
https://lore.kernel.org/linux-arm-kernel/20220106164150.3474048-1-
abel.vesa at nxp.com/

Abel told me he was trying to decouple imx-bus with icc.

Thanks,
Peng.


> 
> Regards,
> Lucas
> 
> > Signed-off-by: Peng Fan <peng.fan at nxp.com>
> > ---
> >  drivers/interconnect/imx/imx.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/interconnect/imx/imx.c
> > b/drivers/interconnect/imx/imx.c index 1f16eedea21c..78557fe6da2c
> > 100644
> > --- a/drivers/interconnect/imx/imx.c
> > +++ b/drivers/interconnect/imx/imx.c
> > @@ -264,6 +264,7 @@ int imx_icc_register(struct platform_device *pdev,
> >  	provider->xlate = of_icc_xlate_onecell;
> >  	provider->data = data;
> >  	provider->dev = dev->parent;
> > +	provider->dev->of_node = dev->parent->of_node;
> >  	platform_set_drvdata(pdev, imx_provider);
> >
> >  	ret = icc_provider_add(provider);
> 



More information about the linux-arm-kernel mailing list