From 36e516290611e613aa92996cb4339561452695b4 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 7 Jul 2017 17:24:23 +0200 Subject: net: swconfig: adds openwrt switch layer Signed-off-by: Felix Fietkau --- drivers/net/phy/Kconfig | 83 +++++++++++++++++++++++++++++++++++++++++++++++ drivers/net/phy/Makefile | 15 +++++++++ include/uapi/linux/Kbuild | 1 + 3 files changed, 99 insertions(+) --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig @@ -199,6 +199,89 @@ config LED_TRIGGER_PHY Mbps or Gbps +comment "Switch configuration API + drivers" + +config SWCONFIG + tristate "Switch configuration API" + ---help--- + Switch configuration API using netlink. This allows + you to configure the VLAN features of certain switches. + +config SWCONFIG_LEDS + bool "Switch LED trigger support" + depends on (SWCONFIG && LEDS_TRIGGERS) + +config ADM6996_PHY + tristate "Driver for ADM6996 switches" + select SWCONFIG + ---help--- + Currently supports the ADM6996FC and ADM6996M switches. + Support for FC is very limited. + +config AR8216_PHY + tristate "Driver for Atheros AR8216 switches" + select ETHERNET_PACKET_MANGLE + select SWCONFIG + +config AR8216_PHY_LEDS + bool "Atheros AR8216 switch LED support" + depends on (AR8216_PHY && LEDS_CLASS) + +source "drivers/net/phy/b53/Kconfig" + +config IP17XX_PHY + tristate "Driver for IC+ IP17xx switches" + select SWCONFIG + +config MVSWITCH_PHY + tristate "Driver for Marvell 88E6060 switches" + select ETHERNET_PACKET_MANGLE + +config MVSW61XX_PHY + tristate "Driver for Marvell 88E6171/6172 switches" + select SWCONFIG + +config PSB6970_PHY + tristate "Lantiq XWAY Tantos (PSB6970) Ethernet switch" + select SWCONFIG + select ETHERNET_PACKET_MANGLE + +config RTL8306_PHY + tristate "Driver for Realtek RTL8306S switches" + select SWCONFIG + +config RTL8366_SMI + tristate "Driver for the RTL8366 SMI interface" + depends on GPIOLIB + ---help--- + This module implements the SMI interface protocol which is used + by some RTL8366 ethernet switch devices via the generic GPIO API. + +if RTL8366_SMI + +config RTL8366_SMI_DEBUG_FS + bool "RTL8366 SMI interface debugfs support" + depends on DEBUG_FS + default n + +config RTL8366S_PHY + tristate "Driver for the Realtek RTL8366S switch" + select SWCONFIG + +config RTL8366RB_PHY + tristate "Driver for the Realtek RTL8366RB switch" + select SWCONFIG + +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 + comment "MII PHY device drivers" config SFP --- a/drivers/net/phy/Makefile +++ b/drivers/net/phy/Makefile @@ -22,6 +22,21 @@ libphy-$(CONFIG_LED_TRIGGER_PHY) += phy_ obj-$(CONFIG_PHYLINK) += phylink.o obj-$(CONFIG_PHYLIB) += libphy.o +obj-$(CONFIG_SWCONFIG) += swconfig.o +obj-$(CONFIG_ADM6996_PHY) += adm6996.o +obj-$(CONFIG_AR8216_PHY) += ar8216.o ar8327.o +obj-$(CONFIG_SWCONFIG_B53) += b53/ +obj-$(CONFIG_IP17XX_PHY) += ip17xx.o +obj-$(CONFIG_MVSWITCH_PHY) += mvswitch.o +obj-$(CONFIG_MVSW61XX_PHY) += mvsw61xx.o +obj-$(CONFIG_PSB6970_PHY) += psb6970.o +obj-$(CONFIG_RTL8306_PHY) += rtl8306.o +obj-$(CONFIG_RTL8366_SMI) += rtl8366_smi.o +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_MDIO_BCM_IPROC) += mdio-bcm-iproc.o obj-$(CONFIG_MDIO_BCM_UNIMAC) += mdio-bcm-unimac.o obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o