diff mbox series

modules: Add kernel module for MV88E6xxx DSA switch

Message ID 20240130-mv88e6xxx-dsa-modules-v1-1-33a5ad370fef@linaro.org
State Accepted, archived
Delegated to: Linus Walleij
Headers show
Series modules: Add kernel module for MV88E6xxx DSA switch | expand

Commit Message

Linus Walleij Jan. 30, 2024, 10:33 p.m. UTC
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>
---
 package/kernel/linux/modules/netdevices.mk | 34 ++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)


---
base-commit: 3a073a021286bef3fed0ca7884872c5890420d60
change-id: 20240130-mv88e6xxx-dsa-modules-2ba74a4cf70a

Best regards,

Comments

Paul D Jan. 31, 2024, 12:35 p.m. UTC | #1
Is this what we tested on 6846? Or this is what you've been cooking? :)

I'm almost certain it's the latter.

On 2024-01-30 23:33, Linus Walleij wrote:
> 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.
>
Linus Walleij Jan. 31, 2024, 1:24 p.m. UTC | #2
On Wed, Jan 31, 2024 at 1:35 PM Paul D <newtwen@gmail.com> wrote:

> Is this what we tested on 6846? Or this is what you've been cooking? :)
>
> I'm almost certain it's the latter.

Yeah I have it in my new patch set for the 6846, so we don't
have to unconditionally compile in the mv88e6xxx switch into all
bcm6328 kernels. (Those are footprint-sensitive.)

I updated the initramfs and sysupgrade images on my site especially
for you so you can test it :)

I try to trickle in the required patches a bit at the time.

Yours,
Linus Walleij
diff mbox series

Patch

diff --git a/package/kernel/linux/modules/netdevices.mk b/package/kernel/linux/modules/netdevices.mk
index 63f75e959145..fb6d565a86af 100644
--- a/package/kernel/linux/modules/netdevices.mk
+++ b/package/kernel/linux/modules/netdevices.mk
@@ -390,6 +390,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)