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(-)
@@ -134,8 +134,9 @@ static int mscc_miim_reset(struct mii_bus *bus)staticintmscc_miim_probe(structplatform_device*pdev){-structmii_bus*bus;structmscc_miim_dev*dev;+structresource*res;+structmii_bus*bus;intret;bus=devm_mdiobus_alloc_size(&pdev->dev,sizeof(*dev));
@@ -156,10 +157,14 @@ static int mscc_miim_probe(struct platform_device *pdev)returnPTR_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");-returnPTR_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");+returnPTR_ERR(dev->phy_regs);+}}ret=of_mdiobus_register(bus,pdev->dev.of_node);
From: Cai Huoqing <hidden> Date: 2021-09-28 08:54:24
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.
quoted hunk
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(-)
@@ -134,8 +134,9 @@ static int mscc_miim_reset(struct mii_bus *bus)staticintmscc_miim_probe(structplatform_device*pdev){-structmii_bus*bus;structmscc_miim_dev*dev;+structresource*res;+structmii_bus*bus;intret;bus=devm_mdiobus_alloc_size(&pdev->dev,sizeof(*dev));
@@ -156,10 +157,14 @@ static int mscc_miim_probe(struct platform_device *pdev)returnPTR_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");-returnPTR_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");+returnPTR_ERR(dev->phy_regs);+}}ret=of_mdiobus_register(bus,pdev->dev.of_node);
From: Andrew Lunn <andrew@lunn.ch> Date: 2021-09-28 12:00:37
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
From: Cai Huoqing <hidden> Date: 2021-09-28 12:20:03
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>
@@ -134,8 +134,9 @@ static int mscc_miim_reset(struct mii_bus *bus)staticintmscc_miim_probe(structplatform_device*pdev){-structmii_bus*bus;structmscc_miim_dev*dev;+structresource*res;+structmii_bus*bus;intret;bus=devm_mdiobus_alloc_size(&pdev->dev,sizeof(*dev));
@@ -156,10 +157,14 @@ static int mscc_miim_probe(struct platform_device *pdev)returnPTR_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");-returnPTR_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.
[...]