port generic and ixp4xx kernel patches to 2.6.27 (compiles except for iptables, but...
[openwrt.git] / target / linux / generic-2.6 / patches-2.6.27 / 640-mvswitch.patch
1 --- a/drivers/net/phy/Kconfig
2 +++ b/drivers/net/phy/Kconfig
3 @@ -71,6 +71,12 @@
4         ---help---
5           Currently supports the ADM6996F switch
6  
7 +config MVSWITCH_PHY
8 +       tristate "Driver for Marvell switches"
9 +       select VLAN_8021Q
10 +       ---help---
11 +         Currently supports the Marvell 88E6060 switch.
12 +
13  config FIXED_PHY
14         bool "Driver for MDIO Bus/PHY emulation with fixed speed/link PHYs"
15         depends on PHYLIB=y
16 --- a/drivers/net/phy/Makefile
17 +++ b/drivers/net/phy/Makefile
18 @@ -13,6 +13,7 @@
19  obj-$(CONFIG_BROADCOM_PHY)     += broadcom.o
20  obj-$(CONFIG_ICPLUS_PHY)       += icplus.o
21  obj-$(CONFIG_ADM6996_PHY)      += adm6996.o
22 +obj-$(CONFIG_MVSWITCH_PHY)     += mvswitch.o
23  obj-$(CONFIG_REALTEK_PHY)      += realtek.o
24  obj-$(CONFIG_FIXED_PHY)                += fixed.o
25  obj-$(CONFIG_MDIO_BITBANG)     += mdio-bitbang.o
26 --- a/drivers/net/phy/mdio_bus.c
27 +++ b/drivers/net/phy/mdio_bus.c
28 @@ -35,6 +35,12 @@
29  #include <asm/irq.h>
30  #include <asm/uaccess.h>
31  
32 +static void mdio_dev_release(struct device *dev)
33 +{
34 +       /* nothing to do */
35 +}
36 +
37 +
38  /**
39   * mdiobus_register - bring up all the PHYs on a given bus and attach them to bus
40   * @bus: target mii_bus
41 @@ -85,6 +91,7 @@
42  
43                         phydev->dev.parent = bus->dev;
44                         phydev->dev.bus = &mdio_bus_type;
45 +                       phydev->dev.release = mdio_dev_release;
46                         snprintf(phydev->dev.bus_id, BUS_ID_SIZE, PHY_ID_FMT, bus->id, i);
47  
48                         phydev->bus = bus;