summaryrefslogtreecommitdiffstats
path: root/target/linux/kirkwood/patches-3.10/0029-net-mv643xx_eth-do-not-use-port-number-as-platform-d.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/kirkwood/patches-3.10/0029-net-mv643xx_eth-do-not-use-port-number-as-platform-d.patch')
-rw-r--r--target/linux/kirkwood/patches-3.10/0029-net-mv643xx_eth-do-not-use-port-number-as-platform-d.patch62
1 files changed, 0 insertions, 62 deletions
diff --git a/target/linux/kirkwood/patches-3.10/0029-net-mv643xx_eth-do-not-use-port-number-as-platform-d.patch b/target/linux/kirkwood/patches-3.10/0029-net-mv643xx_eth-do-not-use-port-number-as-platform-d.patch
deleted file mode 100644
index 12e522a1f8..0000000000
--- a/target/linux/kirkwood/patches-3.10/0029-net-mv643xx_eth-do-not-use-port-number-as-platform-d.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From dc4eff91629aa5132f9c0737ef6d9ef013d4f8ce Mon Sep 17 00:00:00 2001
-From: Jonas Gorski <jogo@openwrt.org>
-Date: Mon, 8 Jul 2013 00:44:55 +0200
-Subject: [PATCH 29/29] net: mv643xx_eth: do not use port number as platform
- device id
-
-The port number is only local to the ethernet block, not global, so
-there can be two ethernet blocks both using the same port, like
-kirkwood with both using port 0.
-
-Fix this by using the array index offset for the allocated platform
-devices as the id.
-
-Signed-off-by: Jonas Gorski <jogo@openwrt.org>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- drivers/net/ethernet/marvell/mv643xx_eth.c | 13 +++++++++++--
- 1 file changed, 11 insertions(+), 2 deletions(-)
-
---- a/drivers/net/ethernet/marvell/mv643xx_eth.c
-+++ b/drivers/net/ethernet/marvell/mv643xx_eth.c
-@@ -2482,6 +2482,7 @@ static int mv643xx_eth_shared_of_add_por
- struct resource res;
- const char *mac_addr;
- int ret;
-+ int dev_num = 0;
-
- memset(&ppd, 0, sizeof(ppd));
- ppd.shared = pdev;
-@@ -2502,6 +2503,14 @@ static int mv643xx_eth_shared_of_add_por
- return -EINVAL;
- }
-
-+ while (dev_num < 3 && port_platdev[dev_num])
-+ dev_num++;
-+
-+ if (dev_num == 3) {
-+ dev_err(&pdev->dev, "too many ports registered\n");
-+ return -EINVAL;
-+ }
-+
- mac_addr = of_get_mac_address(pnp);
- if (mac_addr)
- memcpy(ppd.mac_addr, mac_addr, 6);
-@@ -2520,7 +2529,7 @@ static int mv643xx_eth_shared_of_add_por
- of_property_read_u32(pnp, "duplex", &ppd.duplex);
- }
-
-- ppdev = platform_device_alloc(MV643XX_ETH_NAME, ppd.port_number);
-+ ppdev = platform_device_alloc(MV643XX_ETH_NAME, dev_num);
- if (!ppdev)
- return -ENOMEM;
- ppdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
-@@ -2537,7 +2546,7 @@ static int mv643xx_eth_shared_of_add_por
- if (ret)
- goto port_err;
-
-- port_platdev[ppd.port_number] = ppdev;
-+ port_platdev[dev_num] = ppdev;
-
- return 0;
-