[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKxU2N9ssJS_1KApvXKFq67yw8uSkKVAD1erKPT05Wg172mnbA@mail.gmail.com>
Date: Thu, 14 Nov 2024 13:37:28 -0800
From: Rosen Penev <rosenp@...il.com>
To: Horatiu Vultur <horatiu.vultur@...rochip.com>
Cc: netdev@...r.kernel.org, Chandrasekar Ramakrishnan <rcsekar@...sung.com>,
Marc Kleine-Budde <mkl@...gutronix.de>, Vincent Mailhol <mailhol.vincent@...adoo.fr>,
Andrew Lunn <andrew+netdev@...n.ch>, "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Kurt Kanzenbach <kurt@...utronix.de>, Vladimir Oltean <olteanv@...il.com>,
Chris Snook <chris.snook@...il.com>, Marcin Wojtas <marcin.s.wojtas@...il.com>,
Russell King <linux@...linux.org.uk>,
"maintainer:MICROCHIP LAN966X ETHERNET DRIVER" <UNGLinuxDriver@...rochip.com>,
Yoshihiro Shimoda <yoshihiro.shimoda.uh@...esas.com>,
Niklas Söderlund <niklas.soderlund@...natech.se>,
Doug Berger <opendmb@...il.com>, Florian Fainelli <florian.fainelli@...adcom.com>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@...adcom.com>,
Heiner Kallweit <hkallweit1@...il.com>, Richard Cochran <richardcochran@...il.com>,
"open list:MCAN MMIO DEVICE DRIVER" <linux-can@...r.kernel.org>, open list <linux-kernel@...r.kernel.org>,
"open list:RENESAS ETHERNET SWITCH DRIVER" <linux-renesas-soc@...r.kernel.org>
Subject: Re: [PATCHv2 net-next] net: modernize ioremap in probe
On Thu, Nov 14, 2024 at 3:10 AM Horatiu Vultur
<horatiu.vultur@...rochip.com> wrote:
>
> The 11/11/2024 12:02, Rosen Penev wrote:
>
> Hi Rosen,
>
> > diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
> > index 3234a960fcc3..375e9a68b9a9 100644
> > --- a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
> > +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
> > @@ -77,20 +77,12 @@ static int lan966x_create_targets(struct platform_device *pdev,
> > * this.
> > */
> > for (idx = 0; idx < IO_RANGES; idx++) {
> > - iores[idx] = platform_get_resource(pdev, IORESOURCE_MEM,
> > - idx);
> > - if (!iores[idx]) {
> > - dev_err(&pdev->dev, "Invalid resource\n");
> > - return -EINVAL;
> > - }
> > -
> > - begin[idx] = devm_ioremap(&pdev->dev,
> > - iores[idx]->start,
> > - resource_size(iores[idx]));
> > - if (!begin[idx]) {
> > + begin[idx] = devm_platform_get_and_ioremap_resource(
> > + pdev, idx, &iores[idx]);
> > + if (IS_ERR(begin[idx])) {
> > dev_err(&pdev->dev, "Unable to get registers: %s\n",
> > iores[idx]->name);
> > - return -ENOMEM;
> > + return PTR_ERR(begin[idx]);
> > }
> > }
> >
>
> Unfortunately, this breaks the lan966x probe. With this change I get the
> following errors:
> [ 1.705315] lan966x-switch e0000000.switch: can't request region for resource [mem 0xe0000000-0xe00fffff]
> [ 1.714911] lan966x-switch e0000000.switch: Unable to get registers: cpu
> [ 1.721607] lan966x-switch e0000000.switch: error -EBUSY: Failed to create targets
> [ 1.729173] lan966x-switch: probe of e0000000.switch failed with error -16
>
Yes, also causes problems with another platform.
This commit should be abandoned.
> --
> /Horatiu
Powered by blists - more mailing lists