[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMdYzYrD=qtwAPc8tNRB8Ko-f_zhOVKiOsbgPPqpAi2MrDzSSA@mail.gmail.com>
Date: Mon, 14 Jun 2021 17:58:52 -0400
From: Peter Geis <pgwipeout@...il.com>
To: Robin Murphy <robin.murphy@....com>
Cc: Benjamin Gaignard <benjamin.gaignard@...labora.com>, kishon@...com,
Vinod Koul <vkoul@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Heiko Stuebner <heiko@...ech.de>,
linux-phy@...ts.infradead.org, devicetree@...r.kernel.org,
arm-mail-list <linux-arm-kernel@...ts.infradead.org>,
"open list:ARM/Rockchip SoC..." <linux-rockchip@...ts.infradead.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
kernel@...labora.com
Subject: Re: [PATCH 3/4] PHY: rockchip: USB2: Allow 64 bits reg property
On Mon, Jun 14, 2021 at 1:09 PM Robin Murphy <robin.murphy@....com> wrote:
>
> On 2021-06-14 16:43, Benjamin Gaignard wrote:
> > In rk356x device-tree "reg" property could be coded on 64 bits.
> > Change reg type and of_property_read_ to make it works.
>
> On platforms with #address-cells=1, this isn't going to do what you
> think. Worse, it's not even going to fail, because you *can* read a
> 64-bit value from an address cell with a size cell after it...
Apologies, this was a hack and in no way ready for submission.
While I've got you here, what would be the best way to handle this?
Since previous generations #address-cells=1 and #size-cells=1, where
the rk356x #address-cells=2 and #size-cells=2 and we need to account
for both of them.
Thanks,
Peter
>
> Robin.
>
> > Signed-off-by: Peter Geis <pgwipeout@...il.com>
> > Signed-off-by: Benjamin Gaignard <benjamin.gaignard@...labora.com>
> > ---
> > drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
> > index 46ebdb1460a3d..45518f96d7217 100644
> > --- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
> > +++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
> > @@ -1068,7 +1068,7 @@ static int rockchip_usb2phy_probe(struct platform_device *pdev)
> > struct rockchip_usb2phy *rphy;
> > const struct rockchip_usb2phy_cfg *phy_cfgs;
> > const struct of_device_id *match;
> > - unsigned int reg;
> > + u64 reg;
> > int index, ret;
> >
> > rphy = devm_kzalloc(dev, sizeof(*rphy), GFP_KERNEL);
> > @@ -1098,7 +1098,7 @@ static int rockchip_usb2phy_probe(struct platform_device *pdev)
> > rphy->usbgrf = NULL;
> > }
> >
> > - if (of_property_read_u32(np, "reg", ®)) {
> > + if (of_property_read_u64(np, "reg", ®)) {
> > dev_err(dev, "the reg property is not assigned in %pOFn node\n",
> > np);
> > return -EINVAL;
> >
Powered by blists - more mailing lists