On Wed, Jun 17, 2020 at 10:45:34PM +0530, Calvin Johnson wrote: > From: Jeremy Linton <jeremy.lin...@arm.com> > > Add ACPI support for xgmac MDIO bus registration while maintaining > the existing DT support. > > The function mdiobus_register() inside of_mdiobus_register(), brings > up all the PHYs on the mdio bus and attach them to the bus. > > Signed-off-by: Jeremy Linton <jeremy.lin...@arm.com> > Signed-off-by: Calvin Johnson <calvin.john...@oss.nxp.com> > --- > > drivers/net/ethernet/freescale/xgmac_mdio.c | 27 +++++++++++++-------- > 1 file changed, 17 insertions(+), 10 deletions(-) > > diff --git a/drivers/net/ethernet/freescale/xgmac_mdio.c > b/drivers/net/ethernet/freescale/xgmac_mdio.c > index c82c85ef5fb3..fb7f8caff643 100644 > --- a/drivers/net/ethernet/freescale/xgmac_mdio.c > +++ b/drivers/net/ethernet/freescale/xgmac_mdio.c > @@ -245,14 +245,14 @@ static int xgmac_mdio_probe(struct platform_device > *pdev) > { > struct device_node *np = pdev->dev.of_node; > struct mii_bus *bus; > - struct resource res; > + struct resource *res; > struct mdio_fsl_priv *priv; > int ret; > > - ret = of_address_to_resource(np, 0, &res); > - if (ret) { > + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > + if (!res) { > dev_err(&pdev->dev, "could not obtain address\n"); > - return ret; > + return -EINVAL; > }
I think, as you're completely rewriting the resource handling, it would be a good idea to switch over to using devm_* stuff here. void __iomem *regs; regs = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(regs)) { dev_err(&pdev->dev, "could not map resource: %pe\n", regs); return PTR_ERR(regs); } This also gets rid of the error checking on priv->mdio_base below, and of course the unmap/resource handling for priv->mdio_base in the error paths and device removal paths. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!