twx-linux/drivers/usb
Takashi Iwai d6468be779 usb: gadget: midi2: MIDI 1.0 interface (altset 0) support
This patch extends MIDI 2.0 function driver to add more proper support
for MIDI 1.0 interface.  Before this patch, the driver only exposes
the USB descriptor of a MIDI 1.0 interface in altset 0 while no actual
I/O is running for it.  This patch enables the actual I/O for the
altset 0; the backend UMP rawmidi is translated from/to the MIDI 1.0
USB commands.

For converting to USB MIDI 1.0 data protocol, a helper function is
copied from the existing f_midi driver, in addition to a few other UMP
Core helper functions.  For the MIDI 1.0 OUT (that is, input for
gadget), the incoming USB MIDI 1.0 packet is translated to UMP packets
via UMP Core helper, and tossed to the attached UMP rawmidi.  It's a
relatively straightforward.  OTOH, for MIDI 1.0 IN (i.e. output for
gadget), it's a bit more complex: we need to convert a source UMP
packet once to the standard MIDI 1.0 byte stream, and convert it again
to USB MIDI 1.0 packets, then send them out.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/20230725062206.9674-5-tiwai@suse.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-07-26 06:38:14 +02:00
..
atm
c67x00 usb: c67x00-drv: Convert to platform remove callback returning void 2023-05-28 12:36:14 +01:00
cdns3 usb: cdns3: Add PHY mode switch to usb2 PHY 2023-07-25 18:22:36 +02:00
chipidea usb: chipidea: add USB PHY event 2023-07-25 18:24:17 +02:00
class USB: usbtmc: Fix direction for 0-length ioctl control messages 2023-05-13 17:25:49 +09:00
common usb: Explicitly include correct DT includes 2023-07-25 18:20:02 +02:00
core usb: phy: add usb phy notify port status API 2023-07-26 06:38:14 +02:00
dwc2 usb: Explicitly include correct DT includes 2023-07-25 18:20:02 +02:00
dwc3 usb: dwc3-am62: Rename private data 2023-07-25 18:24:58 +02:00
early usb: early: xhci-dbc: Use memcpy_and_pad() 2023-01-31 10:40:54 +01:00
fotg210 usb: fotg210: Convert to platform remove callback returning void 2023-05-28 12:36:25 +01:00
gadget usb: gadget: midi2: MIDI 1.0 interface (altset 0) support 2023-07-26 06:38:14 +02:00
host usb: Explicitly include correct DT includes 2023-07-25 18:20:02 +02:00
image scsi: usb: uas: Declare two host templates and host template pointers const 2023-03-24 19:20:00 -04:00
isp1760 usb: isp1760: Convert to platform remove callback returning void 2023-05-28 12:38:01 +01:00
misc usb: Explicitly include correct DT includes 2023-07-25 18:20:02 +02:00
mon USB: mon: make mon_bin_class a static const structure 2023-06-20 16:20:45 +02:00
mtu3 usb: Explicitly include correct DT includes 2023-07-25 18:20:02 +02:00
musb usb: Explicitly include correct DT includes 2023-07-25 18:20:02 +02:00
phy usb: phy: mxs: disconnect line when USB charger is attached 2023-07-25 18:24:17 +02:00
renesas_usbhs usb: Explicitly include correct DT includes 2023-07-25 18:20:02 +02:00
roles USB: roles: make role_class a static const structure 2023-06-20 16:20:40 +02:00
serial USB / Thunderbolt driver updates for 6.5-rc1 2023-07-03 13:23:10 -07:00
storage usb-storage: fix deadlock when a scsi command timeouts more than once 2023-05-13 18:53:03 +09:00
typec usb: typec: intel_pmc_mux: Configure Active and Retimer Cable type 2023-07-25 18:20:42 +02:00
usbip usbip: usbip_host: Replace strlcpy with strscpy 2023-06-23 09:54:32 +02:00
Kconfig usb: move config USB_USS720 to usb's misc Kconfig 2023-03-29 10:34:08 +02:00
Makefile usb: host: u132-hcd: Delete driver 2023-03-21 14:06:11 +01:00
usb-skeleton.c usb: add usb_set_intfdata() documentation 2022-11-29 08:56:09 +01:00