Message ID | 20210928071720.2084666-1-horatiu.vultur@microchip.com (mailing list archive) |
---|---|
State | Accepted |
Commit | c6995117b60ef3f7afca8fb41f906e9f459d869a |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] net: mdio: mscc-miim: Fix the mdio controller | expand |
Context | Check | Description |
---|---|---|
netdev/cover_letter | success | Link |
netdev/fixes_present | success | Link |
netdev/patch_count | success | Link |
netdev/tree_selection | success | Clearly marked for net |
netdev/subject_prefix | success | Link |
netdev/cc_maintainers | success | CCed 7 of 7 maintainers |
netdev/source_inline | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Link |
netdev/module_param | success | Was 0 now: 0 |
netdev/build_32bit | success | Errors and warnings before: 0 this patch: 0 |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/verify_fixes | success | Link |
netdev/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 28 lines checked |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 0 this patch: 0 |
netdev/header_inline | success | Link |
On 28 9月 21 09:17:20, Horatiu Vultur wrote: Hi Horatiu, Thank for your feedback. I'm sorry for this commit, my mistake. After I have checked my recent submission history the commit- commit fa14d03e014a130839f9dc1b97ea61fe598d873d drivers/net/mdio/mdio-ipq4019.c 225 line has the same issue, an optional phy-regs Are you willing to fix it at the same time:) Many thanks. > According to the documentation the second resource is optional. But the > blamed commit ignores that and if the resource is not there it just > fails. > > This patch reverts that to still allow the second resource to be > optional because other SoC have the some MDIO controller and doesn't > need to second resource. > > Fixes: 672a1c394950 ("net: mdio: mscc-miim: Make use of the helper function devm_platform_ioremap_resource()") > Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> > --- > drivers/net/mdio/mdio-mscc-miim.c | 15 ++++++++++----- > 1 file changed, 10 insertions(+), 5 deletions(-) > > diff --git a/drivers/net/mdio/mdio-mscc-miim.c b/drivers/net/mdio/mdio-mscc-miim.c > index 1ee592d3eae4..17f98f609ec8 100644 > --- a/drivers/net/mdio/mdio-mscc-miim.c > +++ b/drivers/net/mdio/mdio-mscc-miim.c > @@ -134,8 +134,9 @@ static int mscc_miim_reset(struct mii_bus *bus) > > static int mscc_miim_probe(struct platform_device *pdev) > { > - struct mii_bus *bus; > struct mscc_miim_dev *dev; > + struct resource *res; > + struct mii_bus *bus; > int ret; > > bus = devm_mdiobus_alloc_size(&pdev->dev, sizeof(*dev)); > @@ -156,10 +157,14 @@ static int mscc_miim_probe(struct platform_device *pdev) > return PTR_ERR(dev->regs); > } > > - dev->phy_regs = devm_platform_ioremap_resource(pdev, 1); > - if (IS_ERR(dev->phy_regs)) { > - dev_err(&pdev->dev, "Unable to map internal phy registers\n"); > - return PTR_ERR(dev->phy_regs); > + /* This resource is optional */ > + res = platform_get_resource(pdev, IORESOURCE_MEM, 1); > + if (res) { > + dev->phy_regs = devm_ioremap_resource(&pdev->dev, res); > + if (IS_ERR(dev->phy_regs)) { > + dev_err(&pdev->dev, "Unable to map internal phy registers\n"); > + return PTR_ERR(dev->phy_regs); > + } > } > > ret = of_mdiobus_register(bus, pdev->dev.of_node); > -- > 2.33.0 >
On Tue, Sep 28, 2021 at 04:54:14PM +0800, Cai Huoqing wrote: > On 28 9月 21 09:17:20, Horatiu Vultur wrote: > Hi Horatiu, > > Thank for your feedback. > > I'm sorry for this commit, my mistake. > > After I have checked my recent submission history > > the commit- > commit fa14d03e014a130839f9dc1b97ea61fe598d873d > drivers/net/mdio/mdio-ipq4019.c 225 line > > has the same issue, an optional phy-regs > Are you willing to fix it at the same time:) Hi Since it was a separate patch which broken it, it should be a separate patch which fixes it. Please send a fix. You can also give a Reviewed-by: to Horatiu patch, if you think it is correct. Andrew
On 28 9月 21 09:17:20, Horatiu Vultur wrote: > According to the documentation the second resource is optional. But the > blamed commit ignores that and if the resource is not there it just > fails. > > This patch reverts that to still allow the second resource to be > optional because other SoC have the some MDIO controller and doesn't > need to second resource. > > Fixes: 672a1c394950 ("net: mdio: mscc-miim: Make use of the helper function devm_platform_ioremap_resource()") > Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Reviewed-by: Cai Huoqing <caihuoqing@baidu.com> > --- > drivers/net/mdio/mdio-mscc-miim.c | 15 ++++++++++----- > 1 file changed, 10 insertions(+), 5 deletions(-) > > diff --git a/drivers/net/mdio/mdio-mscc-miim.c b/drivers/net/mdio/mdio-mscc-miim.c > index 1ee592d3eae4..17f98f609ec8 100644 > --- a/drivers/net/mdio/mdio-mscc-miim.c > +++ b/drivers/net/mdio/mdio-mscc-miim.c > @@ -134,8 +134,9 @@ static int mscc_miim_reset(struct mii_bus *bus) > > static int mscc_miim_probe(struct platform_device *pdev) > { > - struct mii_bus *bus; > struct mscc_miim_dev *dev; > + struct resource *res; > + struct mii_bus *bus; > int ret; > > bus = devm_mdiobus_alloc_size(&pdev->dev, sizeof(*dev)); > @@ -156,10 +157,14 @@ static int mscc_miim_probe(struct platform_device *pdev) > return PTR_ERR(dev->regs); > } > > - dev->phy_regs = devm_platform_ioremap_resource(pdev, 1); > - if (IS_ERR(dev->phy_regs)) { > - dev_err(&pdev->dev, "Unable to map internal phy registers\n"); > - return PTR_ERR(dev->phy_regs); > + /* This resource is optional */ Looks good to me, Thanks, Cai > + res = platform_get_resource(pdev, IORESOURCE_MEM, 1); > + if (res) { > + dev->phy_regs = devm_ioremap_resource(&pdev->dev, res); > + if (IS_ERR(dev->phy_regs)) { > + dev_err(&pdev->dev, "Unable to map internal phy registers\n"); > + return PTR_ERR(dev->phy_regs); > + } > } > > ret = of_mdiobus_register(bus, pdev->dev.of_node); > -- > 2.33.0 >
Hello: This patch was applied to netdev/net.git (refs/heads/master): On Tue, 28 Sep 2021 09:17:20 +0200 you wrote: > According to the documentation the second resource is optional. But the > blamed commit ignores that and if the resource is not there it just > fails. > > This patch reverts that to still allow the second resource to be > optional because other SoC have the some MDIO controller and doesn't > need to second resource. > > [...] Here is the summary with links: - [net] net: mdio: mscc-miim: Fix the mdio controller https://git.kernel.org/netdev/net/c/c6995117b60e You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
diff --git a/drivers/net/mdio/mdio-mscc-miim.c b/drivers/net/mdio/mdio-mscc-miim.c index 1ee592d3eae4..17f98f609ec8 100644 --- a/drivers/net/mdio/mdio-mscc-miim.c +++ b/drivers/net/mdio/mdio-mscc-miim.c @@ -134,8 +134,9 @@ static int mscc_miim_reset(struct mii_bus *bus) static int mscc_miim_probe(struct platform_device *pdev) { - struct mii_bus *bus; struct mscc_miim_dev *dev; + struct resource *res; + struct mii_bus *bus; int ret; bus = devm_mdiobus_alloc_size(&pdev->dev, sizeof(*dev)); @@ -156,10 +157,14 @@ static int mscc_miim_probe(struct platform_device *pdev) return PTR_ERR(dev->regs); } - dev->phy_regs = devm_platform_ioremap_resource(pdev, 1); - if (IS_ERR(dev->phy_regs)) { - dev_err(&pdev->dev, "Unable to map internal phy registers\n"); - return PTR_ERR(dev->phy_regs); + /* This resource is optional */ + res = platform_get_resource(pdev, IORESOURCE_MEM, 1); + if (res) { + dev->phy_regs = devm_ioremap_resource(&pdev->dev, res); + if (IS_ERR(dev->phy_regs)) { + dev_err(&pdev->dev, "Unable to map internal phy registers\n"); + return PTR_ERR(dev->phy_regs); + } } ret = of_mdiobus_register(bus, pdev->dev.of_node);
According to the documentation the second resource is optional. But the blamed commit ignores that and if the resource is not there it just fails. This patch reverts that to still allow the second resource to be optional because other SoC have the some MDIO controller and doesn't need to second resource. Fixes: 672a1c394950 ("net: mdio: mscc-miim: Make use of the helper function devm_platform_ioremap_resource()") Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> --- drivers/net/mdio/mdio-mscc-miim.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-)