midi2.h 1.3 KB

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