Merge tag 'irq-urgent-2023-10-28' of git://git.kernel.org/pub/scm/linux/kernel/git...
[platform/kernel/linux-rpi.git] / sound / usb / midi2.h
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)
8 int 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);
12 void snd_usb_midi_v2_suspend_all(struct snd_usb_audio *chip);
13 void snd_usb_midi_v2_resume_all(struct snd_usb_audio *chip);
14 void snd_usb_midi_v2_disconnect_all(struct snd_usb_audio *chip);
15 void 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 */
18 static 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
27 static inline void snd_usb_midi_v2_suspend_all(struct snd_usb_audio *chip) {}
28 static inline void snd_usb_midi_v2_resume_all(struct snd_usb_audio *chip) {}
29 static inline void snd_usb_midi_v2_disconnect_all(struct snd_usb_audio *chip) {}
30 static 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 */