+++ /dev/null
-/*
- * Driver for Micrel/Kendin PHYs
- *
- * Copyright (c) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published
- * by the Free Software Foundation.
- *
- */
-
-#include <linux/module.h>
-#include <linux/delay.h>
-#include <linux/skbuff.h>
-#include <linux/phy.h>
-
-#define KSZ_REG_INT_CTRL 0x1b
-
-#define KSZ_INT_LU_EN (1 << 8) /* enable Link Up interrupt */
-#define KSZ_INT_RF_EN (1 << 9) /* enable Remote Fault interrupt */
-#define KSZ_INT_LD_EN (1 << 10) /* enable Link Down interrupt */
-
-#define KSZ_INT_INIT (KSZ_INT_LU_EN | KSZ_INT_LD_EN)
-
-static int ksz8041_ack_interrupt(struct phy_device *phydev)
-{
- int err;
-
- err = phy_read(phydev, KSZ_REG_INT_CTRL);
-
- return (err < 0) ? err : 0;
-}
-
-static int ksz8041_config_intr(struct phy_device *phydev)
-{
- int err;
-
- if (phydev->interrupts == PHY_INTERRUPT_ENABLED)
- err = phy_write(phydev, KSZ_REG_INT_CTRL,
- KSZ_INT_INIT);
- else
- err = phy_write(phydev, KSZ_REG_INT_CTRL, 0);
-
- return err;
-}
-
-static struct phy_driver ksz8041_phy_driver = {
- .phy_id = 0x00221512,
- .name = "Micrel KSZ8041",
- .phy_id_mask = 0x001fffff,
- .features = PHY_BASIC_FEATURES,
- .flags = PHY_HAS_INTERRUPT,
- .config_aneg = genphy_config_aneg,
- .read_status = genphy_read_status,
- .ack_interrupt = ksz8041_ack_interrupt,
- .config_intr = ksz8041_config_intr,
- .driver = {
- .owner = THIS_MODULE,
- },
-};
-
-static int __init micrel_phy_init(void)
-{
- return phy_driver_register(&ksz8041_phy_driver);
-}
-
-static void __exit micrel_phy_exit(void)
-{
- phy_driver_unregister(&ksz8041_phy_driver);
-}
-
-#ifdef MODULE
-module_init(micrel_phy_init);
-module_exit(micrel_phy_exit);
-#else
-subsys_initcall(micrel_phy_init);
-#endif
-
-MODULE_DESCRIPTION("Micrel/Kendin PHY driver");
-MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
-MODULE_AUTHOR("Imre Kaloz <kaloz@openwrt.org>");
-MODULE_LICENSE("GPL v2");
+++ /dev/null
---- a/drivers/net/phy/Kconfig
-+++ b/drivers/net/phy/Kconfig
-@@ -144,6 +144,11 @@ config RTL8306_PHY
- tristate "Driver for Realtek RTL8306S switches"
- select SWCONFIG
-
-+config MICREL_PHY
-+ tristate "Drivers for Micrel/Kendin PHYs"
-+ ---help---
-+ Currently has a driver for the KSZ8041
-+
- config FIXED_PHY
- bool "Driver for MDIO Bus/PHY emulation with fixed speed/link PHYs"
- depends on PHYLIB=y
---- a/drivers/net/phy/Makefile
-+++ b/drivers/net/phy/Makefile
-@@ -28,6 +28,7 @@ obj-$(CONFIG_RTL8366S_PHY) += rtl8366s.o
- obj-$(CONFIG_RTL8366RB_PHY) += rtl8366rb.o
- obj-$(CONFIG_RTL8367_PHY) += rtl8367.o
- obj-$(CONFIG_LSI_ET1011C_PHY) += et1011c.o
-+obj-$(CONFIG_MICREL_PHY) += micrel.o
- obj-$(CONFIG_FIXED_PHY) += fixed.o
- obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o
- obj-$(CONFIG_MDIO_GPIO) += mdio-gpio.o
--- /dev/null
+--- a/drivers/net/phy/Kconfig
++++ b/drivers/net/phy/Kconfig
+@@ -257,6 +257,10 @@ config RTL8367_PHY
+ tristate "Driver for the Realtek RTL8367R/M switches"
+ select SWCONFIG
+
++config RTL8367B_PHY
++ tristate "Driver fot the Realtek RTL8367R-VB switch"
++ select SWCONFIG
++
+ endif # RTL8366_SMI
+
+ endif # PHYLIB
+--- a/drivers/net/phy/Makefile
++++ b/drivers/net/phy/Makefile
+@@ -27,6 +27,7 @@ obj-$(CONFIG_RTL8366_SMI) += rtl8366_smi
+ obj-$(CONFIG_RTL8366S_PHY) += rtl8366s.o
+ obj-$(CONFIG_RTL8366RB_PHY) += rtl8366rb.o
+ obj-$(CONFIG_RTL8367_PHY) += rtl8367.o
++obj-$(CONFIG_RTL8367B_PHY) += rtl8367b.o
+ obj-$(CONFIG_LSI_ET1011C_PHY) += et1011c.o
+ obj-$(CONFIG_FIXED_PHY) += fixed.o
+ obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o
+++ /dev/null
---- a/drivers/net/phy/Kconfig
-+++ b/drivers/net/phy/Kconfig
-@@ -262,6 +262,10 @@ config RTL8367_PHY
- tristate "Driver for the Realtek RTL8367R/M switches"
- select SWCONFIG
-
-+config RTL8367B_PHY
-+ tristate "Driver fot the Realtek RTL8367R-VB switch"
-+ select SWCONFIG
-+
- endif # RTL8366_SMI
-
- endif # PHYLIB
---- a/drivers/net/phy/Makefile
-+++ b/drivers/net/phy/Makefile
-@@ -27,6 +27,7 @@ obj-$(CONFIG_RTL8366_SMI) += rtl8366_smi
- obj-$(CONFIG_RTL8366S_PHY) += rtl8366s.o
- obj-$(CONFIG_RTL8366RB_PHY) += rtl8366rb.o
- obj-$(CONFIG_RTL8367_PHY) += rtl8367.o
-+obj-$(CONFIG_RTL8367B_PHY) += rtl8367b.o
- obj-$(CONFIG_LSI_ET1011C_PHY) += et1011c.o
- obj-$(CONFIG_MICREL_PHY) += micrel.o
- obj-$(CONFIG_FIXED_PHY) += fixed.o
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -273,3 +273,8 @@ endif # PHYLIB
+@@ -268,3 +268,8 @@ endif # PHYLIB
config MICREL_KS8995MA
tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
depends on SPI
+ select ETHERNET_PACKET_MANGLE
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
-@@ -30,6 +30,7 @@ obj-$(CONFIG_RTL8367_PHY) += rtl8367.o
+@@ -29,6 +29,7 @@ obj-$(CONFIG_RTL8366RB_PHY) += rtl8366rb
+ obj-$(CONFIG_RTL8367_PHY) += rtl8367.o
obj-$(CONFIG_RTL8367B_PHY) += rtl8367b.o
obj-$(CONFIG_LSI_ET1011C_PHY) += et1011c.o
- obj-$(CONFIG_MICREL_PHY) += micrel.o
+obj-$(CONFIG_PSB6970_PHY) += psb6970.o
obj-$(CONFIG_FIXED_PHY) += fixed.o
obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -268,6 +268,8 @@ config RTL8367B_PHY
+@@ -263,6 +263,8 @@ config RTL8367B_PHY
endif # RTL8366_SMI
config MICREL_KS8995MA
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
-@@ -31,6 +31,7 @@ obj-$(CONFIG_RTL8367B_PHY) += rtl8367b.o
+@@ -30,6 +30,7 @@ obj-$(CONFIG_RTL8367_PHY) += rtl8367.o
+ obj-$(CONFIG_RTL8367B_PHY) += rtl8367b.o
obj-$(CONFIG_LSI_ET1011C_PHY) += et1011c.o
- obj-$(CONFIG_MICREL_PHY) += micrel.o
obj-$(CONFIG_PSB6970_PHY) += psb6970.o
+obj-$(CONFIG_B53) += b53/
obj-$(CONFIG_FIXED_PHY) += fixed.o
+++ /dev/null
---- a/drivers/net/phy/Kconfig
-+++ b/drivers/net/phy/Kconfig
-@@ -156,6 +156,11 @@ config RTL8306_PHY
- tristate "Driver for Realtek RTL8306S switches"
- select SWCONFIG
-
-+config MICREL_PHY
-+ tristate "Drivers for Micrel/Kendin PHYs"
-+ ---help---
-+ Currently has a driver for the KSZ8041
-+
- config FIXED_PHY
- bool "Driver for MDIO Bus/PHY emulation with fixed speed/link PHYs"
- depends on PHYLIB=y
---- a/drivers/net/phy/Makefile
-+++ b/drivers/net/phy/Makefile
-@@ -29,6 +29,7 @@ obj-$(CONFIG_RTL8366S_PHY) += rtl8366s.o
- obj-$(CONFIG_RTL8366RB_PHY) += rtl8366rb.o
- obj-$(CONFIG_RTL8367_PHY) += rtl8367.o
- obj-$(CONFIG_LSI_ET1011C_PHY) += et1011c.o
-+obj-$(CONFIG_MICREL_PHY) += micrel.o
- obj-$(CONFIG_FIXED_PHY) += fixed.o
- obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o
- obj-$(CONFIG_MDIO_GPIO) += mdio-gpio.o
--- /dev/null
+--- a/drivers/net/phy/Kconfig
++++ b/drivers/net/phy/Kconfig
+@@ -276,6 +276,10 @@ config RTL8367_PHY
+ tristate "Driver for the Realtek RTL8367R/M switches"
+ select SWCONFIG
+
++config RTL8367B_PHY
++ tristate "Driver fot the Realtek RTL8367R-VB switch"
++ select SWCONFIG
++
+ endif # RTL8366_SMI
+
+ endif # PHYLIB
+--- a/drivers/net/phy/Makefile
++++ b/drivers/net/phy/Makefile
+@@ -28,6 +28,7 @@ obj-$(CONFIG_RTL8366_SMI) += rtl8366_smi
+ obj-$(CONFIG_RTL8366S_PHY) += rtl8366s.o
+ obj-$(CONFIG_RTL8366RB_PHY) += rtl8366rb.o
+ obj-$(CONFIG_RTL8367_PHY) += rtl8367.o
++obj-$(CONFIG_RTL8367B_PHY) += rtl8367b.o
+ obj-$(CONFIG_LSI_ET1011C_PHY) += et1011c.o
+ obj-$(CONFIG_FIXED_PHY) += fixed.o
+ obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o
+++ /dev/null
---- a/drivers/net/phy/Kconfig
-+++ b/drivers/net/phy/Kconfig
-@@ -281,6 +281,10 @@ config RTL8367_PHY
- tristate "Driver for the Realtek RTL8367R/M switches"
- select SWCONFIG
-
-+config RTL8367B_PHY
-+ tristate "Driver fot the Realtek RTL8367R-VB switch"
-+ select SWCONFIG
-+
- endif # RTL8366_SMI
-
- endif # PHYLIB
---- a/drivers/net/phy/Makefile
-+++ b/drivers/net/phy/Makefile
-@@ -28,6 +28,7 @@ obj-$(CONFIG_RTL8366_SMI) += rtl8366_smi
- obj-$(CONFIG_RTL8366S_PHY) += rtl8366s.o
- obj-$(CONFIG_RTL8366RB_PHY) += rtl8366rb.o
- obj-$(CONFIG_RTL8367_PHY) += rtl8367.o
-+obj-$(CONFIG_RTL8367B_PHY) += rtl8367b.o
- obj-$(CONFIG_LSI_ET1011C_PHY) += et1011c.o
- obj-$(CONFIG_MICREL_PHY) += micrel.o
- obj-$(CONFIG_FIXED_PHY) += fixed.o
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -292,3 +292,8 @@ endif # PHYLIB
+@@ -287,3 +287,8 @@ endif # PHYLIB
config MICREL_KS8995MA
tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
depends on SPI
+ select ETHERNET_PACKET_MANGLE
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
-@@ -31,6 +31,7 @@ obj-$(CONFIG_RTL8367_PHY) += rtl8367.o
+@@ -30,6 +30,7 @@ obj-$(CONFIG_RTL8366RB_PHY) += rtl8366rb
+ obj-$(CONFIG_RTL8367_PHY) += rtl8367.o
obj-$(CONFIG_RTL8367B_PHY) += rtl8367b.o
obj-$(CONFIG_LSI_ET1011C_PHY) += et1011c.o
- obj-$(CONFIG_MICREL_PHY) += micrel.o
+obj-$(CONFIG_PSB6970_PHY) += psb6970.o
obj-$(CONFIG_FIXED_PHY) += fixed.o
obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -287,6 +287,8 @@ config RTL8367B_PHY
+@@ -282,6 +282,8 @@ config RTL8367B_PHY
endif # RTL8366_SMI
config MICREL_KS8995MA
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
-@@ -32,6 +32,7 @@ obj-$(CONFIG_RTL8367B_PHY) += rtl8367b.o
+@@ -31,6 +31,7 @@ obj-$(CONFIG_RTL8367_PHY) += rtl8367.o
+ obj-$(CONFIG_RTL8367B_PHY) += rtl8367b.o
obj-$(CONFIG_LSI_ET1011C_PHY) += et1011c.o
- obj-$(CONFIG_MICREL_PHY) += micrel.o
obj-$(CONFIG_PSB6970_PHY) += psb6970.o
+obj-$(CONFIG_B53) += b53/
obj-$(CONFIG_FIXED_PHY) += fixed.o