[kernel] refresh generic 2.6.25 patches
[openwrt.git] / target / linux / generic-2.6 / patches-2.6.25 / 640-mvswitch.patch
1 Index: linux-2.6.25.4/drivers/net/phy/Kconfig
2 ===================================================================
3 --- linux-2.6.25.4.orig/drivers/net/phy/Kconfig
4 +++ linux-2.6.25.4/drivers/net/phy/Kconfig
5 @@ -70,6 +70,12 @@ config ADM6996_PHY
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         bool "Driver for MDIO Bus/PHY emulation with fixed speed/link PHYs"
17         depends on PHYLIB=y
18 Index: linux-2.6.25.4/drivers/net/phy/Makefile
19 ===================================================================
20 --- linux-2.6.25.4.orig/drivers/net/phy/Makefile
21 +++ linux-2.6.25.4/drivers/net/phy/Makefile
22 @@ -13,6 +13,7 @@ obj-$(CONFIG_VITESSE_PHY)     += vitesse.o
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_REALTEK_PHY)      += realtek.o
28  obj-$(CONFIG_FIXED_PHY)                += fixed.o
29  obj-$(CONFIG_MDIO_BITBANG)     += mdio-bitbang.o
30 Index: linux-2.6.25.4/drivers/net/phy/mdio_bus.c
31 ===================================================================
32 --- linux-2.6.25.4.orig/drivers/net/phy/mdio_bus.c
33 +++ linux-2.6.25.4/drivers/net/phy/mdio_bus.c
34 @@ -35,6 +35,12 @@
35  #include <asm/irq.h>
36  #include <asm/uaccess.h>
37  
38 +static void mdio_dev_release(struct device *dev)
39 +{
40 +       /* nothing to do */
41 +}
42 +
43 +
44  /**
45   * mdiobus_register - bring up all the PHYs on a given bus and attach them to bus
46   * @bus: target mii_bus
47 @@ -85,6 +91,7 @@ int mdiobus_register(struct mii_bus *bus
48  
49                         phydev->dev.parent = bus->dev;
50                         phydev->dev.bus = &mdio_bus_type;
51 +                       phydev->dev.release = mdio_dev_release;
52                         snprintf(phydev->dev.bus_id, BUS_ID_SIZE, PHY_ID_FMT, bus->id, i);
53  
54                         phydev->bus = bus;