2010-03-04 19:46:13 +01:00
# ifndef __USBAUDIO_QUIRKS_H
# define __USBAUDIO_QUIRKS_H
2012-09-04 10:23:07 +02:00
struct audioformat ;
struct snd_usb_endpoint ;
struct snd_usb_substream ;
2010-03-04 19:46:13 +01:00
int snd_usb_create_quirk ( struct snd_usb_audio * chip ,
struct usb_interface * iface ,
struct usb_driver * driver ,
const struct snd_usb_audio_quirk * quirk ) ;
int snd_usb_apply_interface_quirk ( struct snd_usb_audio * chip ,
int iface ,
int altno ) ;
int snd_usb_apply_boot_quirk ( struct usb_device * dev ,
struct usb_interface * intf ,
const struct snd_usb_audio_quirk * quirk ) ;
void snd_usb_set_format_quirk ( struct snd_usb_substream * subs ,
struct audioformat * fmt ) ;
2015-02-16 20:44:33 +00:00
bool snd_usb_get_sample_rate_quirk ( struct snd_usb_audio * chip ) ;
2010-03-04 19:46:13 +01:00
int snd_usb_is_big_endian_format ( struct snd_usb_audio * chip ,
struct audioformat * fp ) ;
2012-09-04 10:23:07 +02:00
void snd_usb_endpoint_start_quirk ( struct snd_usb_endpoint * ep ) ;
2013-04-10 00:56:03 +08:00
void snd_usb_set_interface_quirk ( struct usb_device * dev ) ;
2012-09-04 10:23:07 +02:00
void snd_usb_ctl_msg_quirk ( struct usb_device * dev , unsigned int pipe ,
__u8 request , __u8 requesttype , __u16 value ,
__u16 index , void * data , __u16 size ) ;
2014-11-28 17:32:54 +01:00
int snd_usb_select_mode_quirk ( struct snd_usb_substream * subs ,
struct audioformat * fmt ) ;
2013-04-17 00:01:40 +08:00
u64 snd_usb_interface_dsd_format_quirks ( struct snd_usb_audio * chip ,
struct audioformat * fp ,
unsigned int sample_bytes ) ;
2010-03-04 19:46:13 +01:00
# endif /* __USBAUDIO_QUIRKS_H */