modules: Add kernel module for MV88E6xxx DSA switch

This adds a kernel module package for the Marvell
MV88E6XXX DSA switch and a separate module package for
the DSA tagger since it can in theory be used by multiple
DSA switches. Enable both DSA and EDSA tags in the
tagger.

We can't just compile this in because just a few devices
has this DSA, and it depends on e.g. the I2C and SFP
to be loaded as modules first.

We have no examples of DSA switches being packaged as
modules before, all seem to be compiled in, but it
actually works just fine to do this.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Linus Walleij 2023-07-01 16:00:50 +02:00
parent f475a44c03
commit 9c8f2d7c2d
1 changed files with 34 additions and 0 deletions

View File

@ -407,6 +407,40 @@ endef
$(eval $(call KernelPackage,phy-aquantia))
define KernelPackage/dsa-tag-dsa
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Marvell DSA type DSA and EDSA taggers
KCONFIG:= CONFIG_NET_DSA_TAG_DSA_COMMON \
CONFIG_NET_DSA_TAG_DSA \
CONFIG_NET_DSA_TAG_EDSA \
CONFIG_NET_DSA=y
FILES:=$(LINUX_DIR)/net/dsa/tag_dsa.ko
AUTOLOAD:=$(call AutoLoad,40,tag_dsa,1)
endef
define KernelPackage/dsa-tag-dsa/description
Kernel modules for Marvell DSA and EDSA tagging
endef
$(eval $(call KernelPackage,dsa-tag-dsa))
define KernelPackage/dsa-mv88e6xxx
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Marvell MV88E6XXX DSA Switch
DEPENDS:=+kmod-ptp +kmod-phy-marvell +kmod-dsa-tag-dsa
KCONFIG:=CONFIG_NET_DSA_MV88E6XXX \
CONFIG_NET_DSA_MV88E6XXX_PTP=y \
CONFIG_NET_DSA=y
FILES:=$(LINUX_DIR)/drivers/net/dsa/mv88e6xxx/mv88e6xxx.ko
AUTOLOAD:=$(call AutoLoad,41,mv88e6xxx,1)
endef
define KernelPackage/dsa-mv88e6xxx/description
Kernel modules for MV88E6XXX DSA switches
endef
$(eval $(call KernelPackage,dsa-mv88e6xxx))
define KernelPackage/swconfig
SUBMENU:=$(NETWORK_DEVICES_MENU)