quirks.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef __USBAUDIO_QUIRKS_H
  2. #define __USBAUDIO_QUIRKS_H
  3. struct audioformat;
  4. struct snd_usb_endpoint;
  5. struct snd_usb_substream;
  6. int snd_usb_create_quirk(struct snd_usb_audio *chip,
  7. struct usb_interface *iface,
  8. struct usb_driver *driver,
  9. const struct snd_usb_audio_quirk *quirk);
  10. int snd_usb_apply_interface_quirk(struct snd_usb_audio *chip,
  11. int iface,
  12. int altno);
  13. int snd_usb_apply_boot_quirk(struct usb_device *dev,
  14. struct usb_interface *intf,
  15. const struct snd_usb_audio_quirk *quirk,
  16. unsigned int usb_id);
  17. void snd_usb_set_format_quirk(struct snd_usb_substream *subs,
  18. struct audioformat *fmt);
  19. bool snd_usb_get_sample_rate_quirk(struct snd_usb_audio *chip);
  20. int snd_usb_is_big_endian_format(struct snd_usb_audio *chip,
  21. struct audioformat *fp);
  22. void snd_usb_endpoint_start_quirk(struct snd_usb_endpoint *ep);
  23. void snd_usb_set_interface_quirk(struct usb_device *dev);
  24. void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe,
  25. __u8 request, __u8 requesttype, __u16 value,
  26. __u16 index, void *data, __u16 size);
  27. int snd_usb_select_mode_quirk(struct snd_usb_substream *subs,
  28. struct audioformat *fmt);
  29. u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
  30. struct audioformat *fp,
  31. unsigned int sample_bytes);
  32. #endif /* __USBAUDIO_QUIRKS_H */