| Daniel Mack | e577999 | 2010-03-04 19:46:13 +0100 | [diff] [blame] | 1 | #ifndef __USBAUDIO_HELPER_H | 
|  | 2 | #define __USBAUDIO_HELPER_H | 
|  | 3 |  | 
|  | 4 | unsigned int snd_usb_combine_bytes(unsigned char *bytes, int size); | 
|  | 5 |  | 
|  | 6 | void *snd_usb_find_desc(void *descstart, int desclen, void *after, u8 dtype); | 
|  | 7 | void *snd_usb_find_csint_desc(void *descstart, int desclen, void *after, u8 dsubtype); | 
|  | 8 |  | 
|  | 9 | int snd_usb_ctl_msg(struct usb_device *dev, unsigned int pipe, | 
|  | 10 | __u8 request, __u8 requesttype, __u16 value, __u16 index, | 
|  | 11 | void *data, __u16 size, int timeout); | 
|  | 12 |  | 
|  | 13 | unsigned char snd_usb_parse_datainterval(struct snd_usb_audio *chip, | 
|  | 14 | struct usb_host_interface *alts); | 
|  | 15 |  | 
|  | 16 | /* | 
|  | 17 | * retrieve usb_interface descriptor from the host interface | 
|  | 18 | * (conditional for compatibility with the older API) | 
|  | 19 | */ | 
|  | 20 | #ifndef get_iface_desc | 
|  | 21 | #define get_iface_desc(iface)	(&(iface)->desc) | 
|  | 22 | #define get_endpoint(alt,ep)	(&(alt)->endpoint[ep].desc) | 
|  | 23 | #define get_ep_desc(ep)		(&(ep)->desc) | 
|  | 24 | #define get_cfg_desc(cfg)	(&(cfg)->desc) | 
|  | 25 | #endif | 
|  | 26 |  | 
|  | 27 | #ifndef snd_usb_get_speed | 
|  | 28 | #define snd_usb_get_speed(dev) ((dev)->speed) | 
|  | 29 | #endif | 
|  | 30 |  | 
| Daniel Mack | 11bcbc4 | 2010-06-11 17:34:20 +0200 | [diff] [blame] | 31 | static inline int snd_usb_ctrl_intf(struct snd_usb_audio *chip) | 
|  | 32 | { | 
|  | 33 | return get_iface_desc(chip->ctrl_intf)->bInterfaceNumber; | 
|  | 34 | } | 
| Daniel Mack | e577999 | 2010-03-04 19:46:13 +0100 | [diff] [blame] | 35 |  | 
|  | 36 | #endif /* __USBAUDIO_HELPER_H */ |