summaryrefslogtreecommitdiffstats
path: root/target/linux/ixp4xx/patches-3.10/205-npe_driver_separate_phy_functions.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ixp4xx/patches-3.10/205-npe_driver_separate_phy_functions.patch')
-rw-r--r--target/linux/ixp4xx/patches-3.10/205-npe_driver_separate_phy_functions.patch131
1 files changed, 0 insertions, 131 deletions
diff --git a/target/linux/ixp4xx/patches-3.10/205-npe_driver_separate_phy_functions.patch b/target/linux/ixp4xx/patches-3.10/205-npe_driver_separate_phy_functions.patch
deleted file mode 100644
index 6eefc0e490..0000000000
--- a/target/linux/ixp4xx/patches-3.10/205-npe_driver_separate_phy_functions.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From e3eab80fb5d0a7d7fdb0f2f231b27161d5ec3804 Mon Sep 17 00:00:00 2001
-From: Jonas Gorski <jogo@openwrt.org>
-Date: Sun, 30 Jun 2013 15:52:53 +0200
-Subject: [PATCH 23/36] 205-npe_driver_separate_phy_functions.patch
-
----
- drivers/net/ethernet/xscale/ixp4xx_eth.c | 70 ++++++++++++++++++++++--------
- 1 file changed, 51 insertions(+), 19 deletions(-)
-
---- a/drivers/net/ethernet/xscale/ixp4xx_eth.c
-+++ b/drivers/net/ethernet/xscale/ixp4xx_eth.c
-@@ -573,6 +573,51 @@ static void ixp4xx_adjust_link(struct ne
- dev->name, port->speed, port->duplex ? "full" : "half");
- }
-
-+static int ixp4xx_phy_connect(struct net_device *dev)
-+{
-+ struct port *port = netdev_priv(dev);
-+ struct eth_plat_info *plat = port->plat;
-+ char phy_id[MII_BUS_ID_SIZE + 3];
-+
-+ snprintf(phy_id, MII_BUS_ID_SIZE + 3, PHY_ID_FMT,
-+ mdio_bus->id, plat->phy);
-+ port->phydev = phy_connect(dev, phy_id, &ixp4xx_adjust_link,
-+ 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);
-+ }
-+
-+ /* mask with MAC supported features */
-+ port->phydev->supported &= PHY_BASIC_FEATURES;
-+ port->phydev->advertising = port->phydev->supported;
-+
-+ port->phydev->irq = PHY_POLL;
-+
-+ return 0;
-+}
-+
-+static void ixp4xx_phy_disconnect(struct net_device *dev)
-+{
-+ struct port *port = netdev_priv(dev);
-+
-+ phy_disconnect(port->phydev);
-+}
-+
-+static void ixp4xx_phy_start(struct net_device *dev)
-+{
-+ struct port *port = netdev_priv(dev);
-+
-+ port->speed = 0; /* force "link up" message */
-+ phy_start(port->phydev);
-+}
-+
-+static void ixp4xx_phy_stop(struct net_device *dev)
-+{
-+ struct port *port = netdev_priv(dev);
-+
-+ phy_stop(port->phydev);
-+}
-
- static inline void debug_pkt(struct net_device *dev, const char *func,
- u8 *data, int len)
-@@ -1239,8 +1284,7 @@ static int eth_open(struct net_device *d
- return err;
- }
-
-- port->speed = 0; /* force "link up" message */
-- phy_start(port->phydev);
-+ ixp4xx_phy_start(dev);
-
- for (i = 0; i < ETH_ALEN; i++)
- __raw_writel(dev->dev_addr[i], &port->regs->hw_addr[i]);
-@@ -1361,7 +1405,7 @@ static int eth_close(struct net_device *
- printk(KERN_CRIT "%s: unable to disable loopback\n",
- dev->name);
-
-- phy_stop(port->phydev);
-+ ixp4xx_phy_stop(dev);
-
- if (!ports_open)
- qmgr_disable_irq(TXDONE_QUEUE);
-@@ -1387,7 +1431,6 @@ static int eth_init_one(struct platform_
- struct net_device *dev;
- struct eth_plat_info *plat = pdev->dev.platform_data;
- u32 regs_phys;
-- char phy_id[MII_BUS_ID_SIZE + 3];
- int err;
-
- if (ptp_filter_init(ptp_filter, ARRAY_SIZE(ptp_filter))) {
-@@ -1450,20 +1493,9 @@ static int eth_init_one(struct platform_
- __raw_writel(DEFAULT_CORE_CNTRL, &port->regs->core_control);
- udelay(50);
-
-- snprintf(phy_id, MII_BUS_ID_SIZE + 3, PHY_ID_FMT,
-- mdio_bus->id, plat->phy);
-- port->phydev = phy_connect(dev, phy_id, &ixp4xx_adjust_link,
-- PHY_INTERFACE_MODE_MII);
-- if (IS_ERR(port->phydev)) {
-- err = PTR_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;
-
- if ((err = register_netdev(dev)))
- goto err_phy_dis;
-@@ -1474,7 +1506,7 @@ static int eth_init_one(struct platform_
- return 0;
-
- err_phy_dis:
-- phy_disconnect(port->phydev);
-+ ixp4xx_phy_disconnect(dev);
- err_free_mem:
- npe_port_tab[NPE_ID(port->id)] = NULL;
- platform_set_drvdata(pdev, NULL);
-@@ -1492,7 +1524,7 @@ static int eth_remove_one(struct platfor
- struct port *port = netdev_priv(dev);
-
- unregister_netdev(dev);
-- phy_disconnect(port->phydev);
-+ ixp4xx_phy_disconnect(dev);
- npe_port_tab[NPE_ID(port->id)] = NULL;
- platform_set_drvdata(pdev, NULL);
- npe_release(port->npe);