Commit 0785dad4 authored by Heiner Kallweit's avatar Heiner Kallweit Committed by David S. Miller

r8169: use devm_mdiobus_register

Use new function devm_mdiobus_register() to simplify the driver.
Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 38f961e7
...@@ -5185,20 +5185,18 @@ static int r8169_mdio_register(struct rtl8169_private *tp) ...@@ -5185,20 +5185,18 @@ static int r8169_mdio_register(struct rtl8169_private *tp)
new_bus->read = r8169_mdio_read_reg; new_bus->read = r8169_mdio_read_reg;
new_bus->write = r8169_mdio_write_reg; new_bus->write = r8169_mdio_write_reg;
ret = mdiobus_register(new_bus); ret = devm_mdiobus_register(new_bus);
if (ret) if (ret)
return ret; return ret;
tp->phydev = mdiobus_get_phy(new_bus, 0); tp->phydev = mdiobus_get_phy(new_bus, 0);
if (!tp->phydev) { if (!tp->phydev) {
mdiobus_unregister(new_bus);
return -ENODEV; return -ENODEV;
} else if (!tp->phydev->drv) { } else if (!tp->phydev->drv) {
/* Most chip versions fail with the genphy driver. /* Most chip versions fail with the genphy driver.
* Therefore ensure that the dedicated PHY driver is loaded. * Therefore ensure that the dedicated PHY driver is loaded.
*/ */
dev_err(&pdev->dev, "realtek.ko not loaded, maybe it needs to be added to initramfs?\n"); dev_err(&pdev->dev, "realtek.ko not loaded, maybe it needs to be added to initramfs?\n");
mdiobus_unregister(new_bus);
return -EUNATCH; return -EUNATCH;
} }
...@@ -5523,7 +5521,7 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -5523,7 +5521,7 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
rc = register_netdev(dev); rc = register_netdev(dev);
if (rc) if (rc)
goto err_mdio_unregister; return rc;
netif_info(tp, probe, dev, "%s, %pM, XID %03x, IRQ %d\n", netif_info(tp, probe, dev, "%s, %pM, XID %03x, IRQ %d\n",
rtl_chip_infos[chipset].name, dev->dev_addr, xid, rtl_chip_infos[chipset].name, dev->dev_addr, xid,
...@@ -5542,10 +5540,6 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -5542,10 +5540,6 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
pm_runtime_put_sync(&pdev->dev); pm_runtime_put_sync(&pdev->dev);
return 0; return 0;
err_mdio_unregister:
mdiobus_unregister(tp->phydev->mdio.bus);
return rc;
} }
static struct pci_driver rtl8169_pci_driver = { static struct pci_driver rtl8169_pci_driver = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment