ixp4xx: Break out mv88e6060 DSA switch to package

Just one of the devices uses the Marvell MV88E6060 DSA
switch so break this out from the generic kernel config
and into a package selected only by that single device
and probed at boot instead.

The big win is from being able to drop the dsa_core
(~600KB) kernel module out of the common kernel on
devices with no DSA switch.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit 2456a2fd7f)
This commit is contained in:
Linus Walleij 2024-12-28 00:13:37 +01:00 committed by Hauke Mehrtens
parent 3d0ed57b16
commit e80b7a63f1
3 changed files with 18 additions and 4 deletions

View File

@ -575,6 +575,23 @@ endef
$(eval $(call KernelPackage,dsa-b53-mdio))
define KernelPackage/dsa-mv88e6060
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Marvell MV88E6060 DSA Switch
DEPENDS:=+kmod-dsa +kmod-phy-marvell
KCONFIG:=CONFIG_NET_DSA_TAG_TRAILER \
CONFIG_NET_DSA_MV88E6060
FILES:= \
$(LINUX_DIR)/drivers/net/dsa/mv88e6060.ko \
$(LINUX_DIR)/net/dsa/tag_trailer.ko
AUTOLOAD:=$(call AutoLoad,41,mv88e6060,1)
endef
define KernelPackage/dsa-mv88e6060/description
Kernel modules for MV88E6060 DSA switches
endef
$(eval $(call KernelPackage,dsa-mv88e6060))
define KernelPackage/dsa-tag-dsa
SUBMENU:=$(NETWORK_DEVICES_MENU)

View File

@ -168,9 +168,6 @@ CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_KUSER_HELPERS=y
CONFIG_NEED_PER_CPU_KM=y
CONFIG_NET_DEVLINK=y
CONFIG_NET_DSA=y
CONFIG_NET_DSA_MV88E6060=y
CONFIG_NET_DSA_TAG_TRAILER=y
CONFIG_NET_EGRESS=y
CONFIG_NET_INGRESS=y
CONFIG_NET_PTP_CLASSIFY=y

View File

@ -128,7 +128,7 @@ define Device/usrobotics_usr8200
DEVICE_VENDOR := USRobotics
DEVICE_MODEL := USR8200
# USB2 is compiled in and needs no package
DEVICE_PACKAGES := ixp4xx-microcode-ethernet kmod-rtc-r7301 kmod-firewire kmod-firewire-ohci
DEVICE_PACKAGES := ixp4xx-microcode-ethernet kmod-rtc-r7301 kmod-firewire kmod-firewire-ohci kmod-dsa-mv88e6060
DEVICE_DTS := intel-ixp42x-usrobotics-usr8200
KERNEL := kernel-bin | append-dtb
IMAGES := kernel.bin rootfs.bin