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

Peng Fan (OSS) peng.fan at oss.nxp.com
Sun Jul 3 01:43:01 PDT 2022



在 2022/6/30 1:32, Laurent Pinchart 写道:
> On Wed, Jun 29, 2022 at 05:08:58PM +0200, Lucas Stach wrote:
>> 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.
>>
>> 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;
> Due to the previous line, provider->dev is equal to dev->parent, so
> doesn't this essentially do
>
> 	dev->parent->of_node = dev->parent->of_node;
>
> which is a no-op ?

hmm. Indeed, I just not able to recall the issue I met before. I'll drop 
this patch in V3.

Thanks,
Peng.

>
>>>   	platform_set_drvdata(pdev, imx_provider);
>>>   
>>>   	ret = icc_provider_add(provider);




More information about the linux-arm-kernel mailing list