[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YryMt4CfQNkIHwiV@pendragon.ideasonboard.com>
Date: Wed, 29 Jun 2022 20:32:39 +0300
From: Laurent Pinchart <laurent.pinchart@...asonboard.com>
To: Lucas Stach <l.stach@...gutronix.de>
Cc: "Peng Fan (OSS)" <peng.fan@....nxp.com>, djakov@...nel.org,
shawnguo@...nel.org, s.hauer@...gutronix.de, festevam@...il.com,
robh+dt@...nel.org, krzysztof.kozlowski+dt@...aro.org,
abel.vesa@....com, abailon@...libre.com, marex@...x.de,
paul.elder@...asonboard.com, Markus.Niebel@...tq-group.com,
aford173@...il.com, kernel@...gutronix.de,
linux-pm@...r.kernel.org, devicetree@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-imx@....com, abelvesa@...nel.org, Peng Fan <peng.fan@....com>
Subject: Re: [PATCH V2 7/9] interconnect: imx: set of_node for interconnect
provider
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@....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@....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 ?
> > platform_set_drvdata(pdev, imx_provider);
> >
> > ret = icc_provider_add(provider);
--
Regards,
Laurent Pinchart
Powered by blists - more mailing lists