aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ixp4xx
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ixp4xx')
-rw-r--r--target/linux/ixp4xx/patches-2.6.30/205-npe_driver_separate_phy_functions.patch25
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);