From 4b31c24f7c4c3da5f37c458c3380b28e5105771f Mon Sep 17 00:00:00 2001 From: Doug Nappier Date: Sun, 19 Apr 2026 19:32:48 -0500 Subject: [PATCH 1/2] MT-147614: Enable ALSA sequencer for USB-C MIDI in PipeWire * Add CONFIG_SND_SEQUENCER=y and CONFIG_SND_SEQ_MIDI=y to mt_connect_defconfig * Sequencer creates /dev/snd/seq; snd-seq-midi bridges f_midi rawmidi devices to ALSA seq clients * WirePlumber alsa-midi.lua detects /dev/snd/seq and exposes both USB-C f_midi ports as PipeWire MIDI nodes automatically --- arch/arm64/configs/mt_connect_defconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm64/configs/mt_connect_defconfig b/arch/arm64/configs/mt_connect_defconfig index d8d9f9f621c08..dd15ba66e2408 100644 --- a/arch/arm64/configs/mt_connect_defconfig +++ b/arch/arm64/configs/mt_connect_defconfig @@ -410,6 +410,8 @@ CONFIG_DRM=y CONFIG_SOUND=y CONFIG_SND=y CONFIG_SND_ALOOP=m +CONFIG_SND_SEQUENCER=y +CONFIG_SND_SEQ_MIDI=y CONFIG_SND_USB_AUDIO=m CONFIG_SND_SOC=y CONFIG_SND_SOC_FSL_ASRC=m From 241d0bdf61d5c7d8d26adf6063d47c7e6396c204 Mon Sep 17 00:00:00 2001 From: Doug Nappier Date: Sun, 19 Apr 2026 19:41:59 -0500 Subject: [PATCH 2/2] MT-147614: Use configfs id as f_midi ALSA card shortname MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Replace hardcoded shortname "f_midi" with the configfs id attribute * id propagates to rawmidi name, ALSA sequencer client name, and PipeWire port name — enabling per-port identification in PipeWire * Falls back to "f_midi" if id is not set --- drivers/usb/gadget/function/f_midi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/usb/gadget/function/f_midi.c b/drivers/usb/gadget/function/f_midi.c index 2d02f25f95979..729e154862f19 100644 --- a/drivers/usb/gadget/function/f_midi.c +++ b/drivers/usb/gadget/function/f_midi.c @@ -820,7 +820,8 @@ static int f_midi_register_card(struct f_midi *midi) strcpy(card->driver, f_midi_longname); strcpy(card->longname, f_midi_longname); - strcpy(card->shortname, f_midi_shortname); + strlcpy(card->shortname, midi->id ? midi->id : f_midi_shortname, + sizeof(card->shortname)); /* Set up rawmidi */ snd_component_add(card, "MIDI");