quirks.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. void snd_usb_set_format_quirk(struct snd_usb_substream *subs,
  17. struct audioformat *fmt);
  18. bool snd_usb_get_sample_rate_quirk(struct snd_usb_audio *chip);
  19. int snd_usb_is_big_endian_format(struct snd_usb_audio *chip,
  20. struct audioformat *fp);
  21. void snd_usb_endpoint_start_quirk(struct snd_usb_endpoint *ep);
  22. void snd_usb_set_interface_quirk(struct usb_device *dev);
  23. void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe,
  24. __u8 request, __u8 requesttype, __u16 value,
  25. __u16 index, void *data, __u16 size);
  26. int snd_usb_select_mode_quirk(struct snd_usb_substream *subs,
  27. struct audioformat *fmt);
  28. u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
  29. struct audioformat *fp,
  30. unsigned int sample_bytes);
  31. #endif /* __USBAUDIO_QUIRKS_H */