diff options
Diffstat (limited to 'target/linux/ixp4xx')
-rw-r--r-- | target/linux/ixp4xx/patches-2.6.30/205-npe_driver_separate_phy_functions.patch | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/target/linux/ixp4xx/patches-2.6.30/205-npe_driver_separate_phy_functions.patch b/target/linux/ixp4xx/patches-2.6.30/205-npe_driver_separate_phy_functions.patch index a7ce893a8f..885ececed0 100644 --- a/target/linux/ixp4xx/patches-2.6.30/205-npe_driver_separate_phy_functions.patch +++ b/target/linux/ixp4xx/patches-2.6.30/205-npe_driver_separate_phy_functions.patch @@ -81,38 +81,33 @@ int err; if (!(dev = alloc_etherdev(sizeof(struct port)))) -@@ -1212,22 +1257,9 @@ static int __devinit eth_init_one(struct +@@ -1207,18 +1252,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 +@@ -1245,7 +1282,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); |