1// SPDX-License-Identifier: GPL-2.0-or-later
2#ifndef __USB_AUDIO_MIDI2_H
3#define __USB_AUDIO_MIDI2_H
4
5#include "midi.h"
6
7#if IS_ENABLED(CONFIG_SND_USB_AUDIO_MIDI_V2)
8int snd_usb_midi_v2_create(struct snd_usb_audio *chip,
9 struct usb_interface *iface,
10 const struct snd_usb_audio_quirk *quirk,
11 unsigned int usb_id);
12void snd_usb_midi_v2_suspend_all(struct snd_usb_audio *chip);
13void snd_usb_midi_v2_resume_all(struct snd_usb_audio *chip);
14void snd_usb_midi_v2_disconnect_all(struct snd_usb_audio *chip);
15void snd_usb_midi_v2_free_all(struct snd_usb_audio *chip);
16#else /* CONFIG_SND_USB_AUDIO_MIDI_V2 */
17/* fallback to MIDI 1.0 creation */
18static inline int snd_usb_midi_v2_create(struct snd_usb_audio *chip,
19 struct usb_interface *iface,
20 const struct snd_usb_audio_quirk *quirk,
21 unsigned int usb_id)
22{
23 return __snd_usbmidi_create(chip->card, iface, &chip->midi_list,
24 quirk, usb_id, &chip->num_rawmidis);
25}
26
27static inline void snd_usb_midi_v2_suspend_all(struct snd_usb_audio *chip) {}
28static inline void snd_usb_midi_v2_resume_all(struct snd_usb_audio *chip) {}
29static inline void snd_usb_midi_v2_disconnect_all(struct snd_usb_audio *chip) {}
30static inline void snd_usb_midi_v2_free_all(struct snd_usb_audio *chip) {}
31#endif /* CONFIG_SND_USB_AUDIO_MIDI_V2 */
32
33#endif /* __USB_AUDIO_MIDI2_H */
34

source code of linux/sound/usb/midi2.h