mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 15:32:33 +00:00
a272af75cd
The b53 driver was added as a dsa driver into the mainline Linux kernel, but we still use the swconfig based driver. The header file b53.h is used by both drivers, but the swconfig one needs an extra member, add this one in a patch to not overwrite the version shipped with the mainline kernel. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
151 lines
4.1 KiB
Diff
151 lines
4.1 KiB
Diff
From 36e516290611e613aa92996cb4339561452695b4 Mon Sep 17 00:00:00 2001
|
|
From: Felix Fietkau <nbd@nbd.name>
|
|
Date: Fri, 7 Jul 2017 17:24:23 +0200
|
|
Subject: net: swconfig: adds openwrt switch layer
|
|
|
|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|
---
|
|
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
|
|
@@ -147,6 +147,89 @@ config MDIO_XGENE
|
|
This module provides a driver for the MDIO busses found in the
|
|
APM X-Gene SoC's.
|
|
|
|
+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 AMD_PHY
|
|
--- a/drivers/net/phy/Makefile
|
|
+++ b/drivers/net/phy/Makefile
|
|
@@ -5,6 +5,21 @@ libphy-$(CONFIG_SWPHY) += swphy.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
|
|
--- a/include/uapi/linux/Kbuild
|
|
+++ b/include/uapi/linux/Kbuild
|
|
@@ -399,6 +399,7 @@ header-y += stddef.h
|
|
header-y += string.h
|
|
header-y += suspend_ioctls.h
|
|
header-y += swab.h
|
|
+header-y += switch.h
|
|
header-y += synclink.h
|
|
header-y += sync_file.h
|
|
header-y += sysctl.h
|
|
--- a/include/linux/platform_data/b53.h
|
|
+++ b/include/linux/platform_data/b53.h
|
|
@@ -25,6 +25,9 @@ struct b53_platform_data {
|
|
u32 chip_id;
|
|
u16 enabled_ports;
|
|
|
|
+ /* allow to specify an ethX alias */
|
|
+ const char *alias;
|
|
+
|
|
/* only used by MMAP'd driver */
|
|
unsigned big_endian:1;
|
|
void __iomem *regs;
|