Message ID | 20220216184634.2032460-1-f.fainelli@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 6aba04ee3263669b335458c4cf4c7d97d6940229 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] Revert "net: ethernet: bgmac: Use devm_platform_ioremap_resource_byname" | expand |
On Wed, Feb 16, 2022 at 10:46:34AM -0800, Florian Fainelli wrote: > From: Jonas Gorski <jonas.gorski@gmail.com> > > This reverts commit 3710e80952cf2dc48257ac9f145b117b5f74e0a5. > > Since idm_base and nicpm_base are still optional resources not present > on all platforms, this breaks the driver for everything except Northstar > 2 (which has both). > > The same change was already reverted once with 755f5738ff98 ("net: > broadcom: fix a mistake about ioremap resource"). > > So let's do it again. > > - bgmac->plat.idm_base = devm_platform_ioremap_resource_byname(pdev, "idm_base"); > - if (IS_ERR(bgmac->plat.idm_base)) > - return PTR_ERR(bgmac->plat.idm_base); > - else > + /* The idm_base resource is optional for some platforms */ I see you are adding a comment. Good idea. Lets see if the bot handlers are clever enough to actually read it, or just blindly do what the bot says to do, without actually trying to understand the code. Reviewed-by: Andrew Lunn <andrew@lunn.ch> Andrew
Hello: This patch was applied to netdev/net.git (master) by Jakub Kicinski <kuba@kernel.org>: On Wed, 16 Feb 2022 10:46:34 -0800 you wrote: > From: Jonas Gorski <jonas.gorski@gmail.com> > > This reverts commit 3710e80952cf2dc48257ac9f145b117b5f74e0a5. > > Since idm_base and nicpm_base are still optional resources not present > on all platforms, this breaks the driver for everything except Northstar > 2 (which has both). > > [...] Here is the summary with links: - [net] Revert "net: ethernet: bgmac: Use devm_platform_ioremap_resource_byname" https://git.kernel.org/netdev/net/c/6aba04ee3263 You are awesome, thank you!
diff --git a/drivers/net/ethernet/broadcom/bgmac-platform.c b/drivers/net/ethernet/broadcom/bgmac-platform.c index c6412c523637..b4381cd41979 100644 --- a/drivers/net/ethernet/broadcom/bgmac-platform.c +++ b/drivers/net/ethernet/broadcom/bgmac-platform.c @@ -172,6 +172,7 @@ static int bgmac_probe(struct platform_device *pdev) { struct device_node *np = pdev->dev.of_node; struct bgmac *bgmac; + struct resource *regs; int ret; bgmac = bgmac_alloc(&pdev->dev); @@ -208,15 +209,23 @@ static int bgmac_probe(struct platform_device *pdev) if (IS_ERR(bgmac->plat.base)) return PTR_ERR(bgmac->plat.base); - bgmac->plat.idm_base = devm_platform_ioremap_resource_byname(pdev, "idm_base"); - if (IS_ERR(bgmac->plat.idm_base)) - return PTR_ERR(bgmac->plat.idm_base); - else + /* The idm_base resource is optional for some platforms */ + regs = platform_get_resource_byname(pdev, IORESOURCE_MEM, "idm_base"); + if (regs) { + bgmac->plat.idm_base = devm_ioremap_resource(&pdev->dev, regs); + if (IS_ERR(bgmac->plat.idm_base)) + return PTR_ERR(bgmac->plat.idm_base); bgmac->feature_flags &= ~BGMAC_FEAT_IDM_MASK; + } - bgmac->plat.nicpm_base = devm_platform_ioremap_resource_byname(pdev, "nicpm_base"); - if (IS_ERR(bgmac->plat.nicpm_base)) - return PTR_ERR(bgmac->plat.nicpm_base); + /* The nicpm_base resource is optional for some platforms */ + regs = platform_get_resource_byname(pdev, IORESOURCE_MEM, "nicpm_base"); + if (regs) { + bgmac->plat.nicpm_base = devm_ioremap_resource(&pdev->dev, + regs); + if (IS_ERR(bgmac->plat.nicpm_base)) + return PTR_ERR(bgmac->plat.nicpm_base); + } bgmac->read = platform_bgmac_read; bgmac->write = platform_bgmac_write;