kernel: sound: add support for MIDI 2.0 and UMP
authorFlorian Bomers <[email protected]>
Mon, 10 Nov 2025 17:39:34 +0000 (18:39 +0100)
committerChristian Marangi <[email protected]>
Tue, 11 Nov 2025 11:13:40 +0000 (12:13 +0100)
New Packages / build options:
* sound-midi2: enable MIDI 2.0 / UMP in ALSA MIDI
* sound-midi2-seq: enable MIDI 2.0 / UMP in ALSA sequencer
* sound-midi2-usb: enable USB MIDI 2.0 support
* sound-dynamic-minors: allow more than 8 MIDI devices
More info about ALSA MIDI 2.0:
 https://docs.kernel.org/6.12/sound/designs/midi-2.0.html
More info about MIDI 2.0:
 https://midi.org/midi-2-0

Signed-off-by: Florian Bomers <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20727
Signed-off-by: Christian Marangi <[email protected]>
package/kernel/linux/modules/sound.mk
package/kernel/linux/modules/usb.mk

index af5aadd3606c49d9da98e850974322c51f82b2ac..5645d3187832235bb5b10b1463029a474f412df8 100644 (file)
@@ -604,3 +604,55 @@ define KernelPackage/sound-hda-intel/description
 endef
 
 $(eval $(call KernelPackage,sound-hda-intel))
+
+
+define KernelPackage/sound-midi2
+  TITLE:=MIDI 2.0 and UMP Support
+  KCONFIG:= \
+       CONFIG_SND_UMP=y  \
+       CONFIG_SND_UMP_LEGACY_RAWMIDI=y
+  FILES:=$(LINUX_DIR)/sound/core/snd-ump.ko
+  AUTOLOAD:=$(call AutoProbe,snd-ump)
+  $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-midi2/description
+ Kernel module for MIDI 2.0: sequencer, rawmidi, and USB-MIDI 2.0 support.
+endef
+
+$(eval $(call KernelPackage,sound-midi2))
+
+define KernelPackage/sound-midi2-seq
+  TITLE:=MIDI 2.0 and UMP Support for Sequencer
+  KCONFIG:= \
+       CONFIG_SND_SEQ_UMP=y \
+       CONFIG_SND_SEQ_UMP_CLIENT=y
+  DEPENDS:=+kmod-sound-midi2 +kmod-sound-seq
+  $(call AddDepends/sound)
+endef
+
+$(eval $(call KernelPackage,sound-midi2-seq))
+
+
+define KernelPackage/sound-midi2-usb
+  TITLE:=MIDI 2.0 and UMP Support for USB-MIDI
+  KCONFIG:=CONFIG_SND_USB_AUDIO_MIDI_V2=y
+  DEPENDS:=+kmod-sound-midi2 +kmod-usb-audio
+  $(call AddDepends/sound)
+endef
+
+$(eval $(call KernelPackage,sound-midi2-usb))
+
+
+define KernelPackage/sound-dynamic-minors
+  TITLE:=Support more than 8 audio and MIDI devices
+  KCONFIG:=CONFIG_SND_DYNAMIC_MINORS=y
+  $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-dynamic-minors/description
+ Kernel module for dynamic minor device support.
+ Required for using more than 8 audio and MIDI devices.
+endef
+
+$(eval $(call KernelPackage,sound-dynamic-minors))
index 121e3aed513d14f5ae9a563a3204f8943f686995..5c67669139e81c9833e06f0f0b05a30245474373 100644 (file)
@@ -616,7 +616,7 @@ define KernelPackage/usb-audio
        CONFIG_SND_USB_AUDIO
   $(call AddDepends/usb)
   $(call AddDepends/sound)
-  DEPENDS+=+kmod-media-controller
+  DEPENDS+=+kmod-media-controller +PACKAGE_kmod-sound-midi2-usb:kmod-sound-midi2
   FILES:= \
        $(LINUX_DIR)/sound/usb/snd-usbmidi-lib.ko \
        $(LINUX_DIR)/sound/usb/snd-usb-audio.ko