diff options
author | Sergey Ryazanov <ryazanov.s.a@gmail.com> | 2021-12-19 17:31:51 +0300 |
---|---|---|
committer | Daniel Golle <daniel@makrotopia.org> | 2021-12-27 16:00:21 +0000 |
commit | 0b2c1d8b9a2d68e3059698e3d6c82dfb32a9cbc9 (patch) | |
tree | b1629009878e273d418f01c9a6c606c898bde94b | |
parent | a3774d72c85bfb9a3d4b3128003413dad93b7c3f (diff) | |
download | upstream-0b2c1d8b9a2d68e3059698e3d6c82dfb32a9cbc9.tar.gz upstream-0b2c1d8b9a2d68e3059698e3d6c82dfb32a9cbc9.tar.bz2 upstream-0b2c1d8b9a2d68e3059698e3d6c82dfb32a9cbc9.zip |
Move mvswitch 88E6060 driver to the ath25
ath25 requires a 88E6060 driver to support boards such as Fonera 2.0g
(FON2202). The swconfig based mvswitch driver has not yet been ported to
the 5.10 kernel as the only user is the ath25 target while all other
targets have been switched to the upstream DSA implementation.
Switching ath25 to the DSA implementation is a complex task, since we
need either per-board platform data or DTS support. ath25 lacks both of
them and builds only a single generic image. So we need to keep the
swconfig driver implementation to easly and quickly port ath25 to the
5.10 kernel.
Since porting the mvswitch driver to 5.10 as a generic driver is not an
option, and since the ath25 is its only user, make mvswitch a target
specific driver to be able to port it to the 5.10 kernel as part of the
kernel version update of the target. This will allow us quickly migrate
to the next kernel version and not delay the next firmware release.
Suggested-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
-rw-r--r-- | target/linux/ath25/files/drivers/net/phy/mvswitch.c (renamed from target/linux/generic/files/drivers/net/phy/mvswitch.c) | 0 | ||||
-rw-r--r-- | target/linux/ath25/files/drivers/net/phy/mvswitch.h (renamed from target/linux/generic/files/drivers/net/phy/mvswitch.h) | 0 | ||||
-rw-r--r-- | target/linux/ath25/patches-5.4/700-swconfig_mvswitch.patch | 23 | ||||
-rw-r--r-- | target/linux/generic/config-5.10 | 1 | ||||
-rw-r--r-- | target/linux/generic/config-5.4 | 1 | ||||
-rw-r--r-- | target/linux/generic/hack-5.4/700-swconfig_switch_drivers.patch | 9 |
6 files changed, 25 insertions, 9 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/mvswitch.c b/target/linux/ath25/files/drivers/net/phy/mvswitch.c index bd3b9e1ad1..bd3b9e1ad1 100644 --- a/target/linux/generic/files/drivers/net/phy/mvswitch.c +++ b/target/linux/ath25/files/drivers/net/phy/mvswitch.c diff --git a/target/linux/generic/files/drivers/net/phy/mvswitch.h b/target/linux/ath25/files/drivers/net/phy/mvswitch.h index ab2a1a126e..ab2a1a126e 100644 --- a/target/linux/generic/files/drivers/net/phy/mvswitch.h +++ b/target/linux/ath25/files/drivers/net/phy/mvswitch.h diff --git a/target/linux/ath25/patches-5.4/700-swconfig_mvswitch.patch b/target/linux/ath25/patches-5.4/700-swconfig_mvswitch.patch new file mode 100644 index 0000000000..7f2c082432 --- /dev/null +++ b/target/linux/ath25/patches-5.4/700-swconfig_mvswitch.patch @@ -0,0 +1,23 @@ +--- a/drivers/net/phy/Kconfig ++++ b/drivers/net/phy/Kconfig +@@ -284,6 +284,10 @@ 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 PSB6970_PHY + tristate "Lantiq XWAY Tantos (PSB6970) Ethernet switch" + select SWCONFIG +--- a/drivers/net/phy/Makefile ++++ b/drivers/net/phy/Makefile +@@ -27,6 +27,7 @@ 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_PSB6970_PHY) += psb6970.o + obj-$(CONFIG_RTL8306_PHY) += rtl8306.o + obj-$(CONFIG_RTL8366_SMI) += rtl8366_smi.o diff --git a/target/linux/generic/config-5.10 b/target/linux/generic/config-5.10 index 27e3e90488..c37e33b13d 100644 --- a/target/linux/generic/config-5.10 +++ b/target/linux/generic/config-5.10 @@ -3675,7 +3675,6 @@ CONFIG_MULTIUSER=y # CONFIG_MVMDIO is not set # CONFIG_MVNETA_BM is not set # CONFIG_MVSW61XX_PHY is not set -# CONFIG_MVSWITCH_PHY is not set # CONFIG_MV_XOR_V2 is not set # CONFIG_MWAVE is not set # CONFIG_MWL8K is not set diff --git a/target/linux/generic/config-5.4 b/target/linux/generic/config-5.4 index c452d263c5..1b3f896514 100644 --- a/target/linux/generic/config-5.4 +++ b/target/linux/generic/config-5.4 @@ -3343,7 +3343,6 @@ CONFIG_MULTIUSER=y # CONFIG_MV643XX_ETH is not set # CONFIG_MVMDIO is not set # CONFIG_MVNETA_BM is not set -# CONFIG_MVSWITCH_PHY is not set # CONFIG_MV_XOR_V2 is not set # CONFIG_MWAVE is not set # CONFIG_MWL8K is not set diff --git a/target/linux/generic/hack-5.4/700-swconfig_switch_drivers.patch b/target/linux/generic/hack-5.4/700-swconfig_switch_drivers.patch index f30ad81e4e..b954bbb63e 100644 --- a/target/linux/generic/hack-5.4/700-swconfig_switch_drivers.patch +++ b/target/linux/generic/hack-5.4/700-swconfig_switch_drivers.patch @@ -12,7 +12,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -250,6 +250,85 @@ config LED_TRIGGER_PHY +@@ -250,6 +250,81 @@ config LED_TRIGGER_PHY for any speed known to the PHY. @@ -50,10 +50,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> + tristate "Driver for IC+ IP17xx switches" + select SWCONFIG + -+config MVSWITCH_PHY -+ tristate "Driver for Marvell 88E6060 switches" -+ select ETHERNET_PACKET_MANGLE -+ +config PSB6970_PHY + tristate "Lantiq XWAY Tantos (PSB6970) Ethernet switch" + select SWCONFIG @@ -100,7 +96,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> config SFP --- a/drivers/net/phy/Makefile +++ b/drivers/net/phy/Makefile -@@ -22,6 +22,20 @@ libphy-$(CONFIG_LED_TRIGGER_PHY) += phy_ +@@ -22,6 +22,19 @@ libphy-$(CONFIG_LED_TRIGGER_PHY) += phy_ obj-$(CONFIG_PHYLINK) += phylink.o obj-$(CONFIG_PHYLIB) += libphy.o @@ -109,7 +105,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> +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_PSB6970_PHY) += psb6970.o +obj-$(CONFIG_RTL8306_PHY) += rtl8306.o +obj-$(CONFIG_RTL8366_SMI) += rtl8366_smi.o |