640-mvswitch.patch 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. --- a/drivers/net/phy/Kconfig
  2. +++ b/drivers/net/phy/Kconfig
  3. @@ -65,6 +65,12 @@
  4. ---help---
  5. Currently supports the ADM6996F switch
  6. +config MVSWITCH_PHY
  7. + tristate "Driver for Marvell switches"
  8. + select VLAN_8021Q
  9. + ---help---
  10. + Currently supports the Marvell 88E6060 switch.
  11. +
  12. config FIXED_PHY
  13. tristate "Drivers for PHY emulation on fixed speed/link"
  14. ---help---
  15. --- a/drivers/net/phy/Makefile
  16. +++ b/drivers/net/phy/Makefile
  17. @@ -13,4 +13,5 @@
  18. obj-$(CONFIG_BROADCOM_PHY) += broadcom.o
  19. obj-$(CONFIG_ICPLUS_PHY) += icplus.o
  20. obj-$(CONFIG_ADM6996_PHY) += adm6996.o
  21. +obj-$(CONFIG_MVSWITCH_PHY) += mvswitch.o
  22. obj-$(CONFIG_FIXED_PHY) += fixed.o
  23. --- a/drivers/net/phy/mdio_bus.c
  24. +++ b/drivers/net/phy/mdio_bus.c
  25. @@ -35,6 +35,12 @@
  26. #include <asm/irq.h>
  27. #include <asm/uaccess.h>
  28. +static void mdio_dev_release(struct device *dev)
  29. +{
  30. + /* nothing to do */
  31. +}
  32. +
  33. +
  34. /**
  35. * mdiobus_register - bring up all the PHYs on a given bus and attach them to bus
  36. * @bus: target mii_bus
  37. @@ -85,6 +91,7 @@
  38. phydev->dev.parent = bus->dev;
  39. phydev->dev.bus = &mdio_bus_type;
  40. + phydev->dev.release = mdio_dev_release;
  41. snprintf(phydev->dev.bus_id, BUS_ID_SIZE, PHY_ID_FMT, bus->id, i);
  42. phydev->bus = bus;