2.6.30: add lzma support to squashfs through pcomp
[openwrt/svn-archive/archive.git] / target / linux / ixp4xx / patches-2.6.30 / 205-npe_driver_separate_phy_functions.patch
index a7ce893a8f778d576ebd88fe51043d49c76f8921..885ececed0a34004460b108074500878bb27dbcf 100644 (file)
        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);