Add support for the ultra-crappy Marvell 88E6060, which is used in Fonera+ and the...
[openwrt/svn-archive/archive.git] / target / linux / generic-2.6 / patches-2.6.23 / 640-mvswitch.patch
1 Index: linux-2.6.23.16/drivers/net/phy/Kconfig
2 ===================================================================
3 --- linux-2.6.23.16.orig/drivers/net/phy/Kconfig 2008-04-20 07:31:20.000000000 +0200
4 +++ linux-2.6.23.16/drivers/net/phy/Kconfig 2008-04-20 08:57:26.000000000 +0200
5 @@ -65,6 +65,12 @@
6 ---help---
7 Currently supports the ADM6996F switch
8
9 +config MVSWITCH_PHY
10 + tristate "Driver for Marvell switches"
11 + select VLAN_8021Q
12 + ---help---
13 + Currently supports the Marvell 88E6060 switch.
14 +
15 config FIXED_PHY
16 tristate "Drivers for PHY emulation on fixed speed/link"
17 ---help---
18 Index: linux-2.6.23.16/drivers/net/phy/Makefile
19 ===================================================================
20 --- linux-2.6.23.16.orig/drivers/net/phy/Makefile 2008-04-20 07:31:20.000000000 +0200
21 +++ linux-2.6.23.16/drivers/net/phy/Makefile 2008-04-20 07:31:34.000000000 +0200
22 @@ -13,4 +13,5 @@
23 obj-$(CONFIG_BROADCOM_PHY) += broadcom.o
24 obj-$(CONFIG_ICPLUS_PHY) += icplus.o
25 obj-$(CONFIG_ADM6996_PHY) += adm6996.o
26 +obj-$(CONFIG_MVSWITCH_PHY) += mvswitch.o
27 obj-$(CONFIG_FIXED_PHY) += fixed.o
28 Index: linux-2.6.23.16/drivers/net/phy/mdio_bus.c
29 ===================================================================
30 --- linux-2.6.23.16.orig/drivers/net/phy/mdio_bus.c 2008-04-20 04:40:31.000000000 +0200
31 +++ linux-2.6.23.16/drivers/net/phy/mdio_bus.c 2008-04-20 07:34:08.000000000 +0200
32 @@ -35,6 +35,12 @@
33 #include <asm/irq.h>
34 #include <asm/uaccess.h>
35
36 +static void mdio_dev_release(struct device *dev)
37 +{
38 + /* nothing to do */
39 +}
40 +
41 +
42 /**
43 * mdiobus_register - bring up all the PHYs on a given bus and attach them to bus
44 * @bus: target mii_bus
45 @@ -85,6 +91,7 @@
46
47 phydev->dev.parent = bus->dev;
48 phydev->dev.bus = &mdio_bus_type;
49 + phydev->dev.release = mdio_dev_release;
50 snprintf(phydev->dev.bus_id, BUS_ID_SIZE, PHY_ID_FMT, bus->id, i);
51
52 phydev->bus = bus;