if (!ports_open)
qmgr_disable_irq(TXDONE_QUEUE);
-@@ -1149,7 +1195,6 @@ static int __devinit eth_init_one(struct
+@@ -1151,7 +1197,6 @@ static int __devinit eth_init_one(struct
struct net_device *dev;
struct eth_plat_info *plat = pdev->dev.platform_data;
u32 regs_phys;
int err;
if (!(dev = alloc_etherdev(sizeof(struct port))))
-@@ -1212,22 +1257,9 @@ static int __devinit eth_init_one(struct
+@@ -1209,18 +1254,10 @@ static int __devinit eth_init_one(struct
__raw_writel(DEFAULT_CORE_CNTRL, &port->regs->core_control);
udelay(50);
- snprintf(phy_id, BUS_ID_SIZE, PHY_ID_FMT, "0", plat->phy);
- port->phydev = phy_connect(dev, phy_id, &ixp4xx_adjust_link, 0,
- PHY_INTERFACE_MODE_MII);
-- if (IS_ERR(port->phydev)) {
-- printk(KERN_ERR "%s: Could not attach to PHY\n", dev->name);
-- return PTR_ERR(port->phydev);
-- }
--
+- if ((err = IS_ERR(port->phydev)))
++ err = ixp4xx_phy_connect(dev);
++ if (err)
+ goto err_free_mem;
+
- /* mask with MAC supported features */
- port->phydev->supported &= PHY_BASIC_FEATURES;
- port->phydev->advertising = port->phydev->supported;
-
- port->phydev->irq = PHY_POLL;
-
-- printk(KERN_INFO "%s: MII PHY %i on %s\n", dev->name, plat->phy,
-- npe_name(port->npe));
-+ err = ixp4xx_phy_connect(dev);
-+ if (err)
-+ goto err_unreg;
-
- return 0;
+ if ((err = register_netdev(dev)))
+ goto err_phy_dis;
-@@ -1245,7 +1277,7 @@ static int __devexit eth_remove_one(stru
+@@ -1247,7 +1284,7 @@ static int __devexit eth_remove_one(stru
struct net_device *dev = platform_get_drvdata(pdev);
struct port *port = netdev_priv(dev);
- phy_disconnect(port->phydev);
+ ixp4xx_phy_disconnect(dev);
unregister_netdev(dev);
+ phy_disconnect(port->phydev);
npe_port_tab[NPE_ID(port->id)] = NULL;
- platform_set_drvdata(pdev, NULL);