diff options
Diffstat (limited to 'include/uapi/linux/usb/audio.h')
| -rw-r--r-- | include/uapi/linux/usb/audio.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/include/uapi/linux/usb/audio.h b/include/uapi/linux/usb/audio.h index 3a78e7145689..13d98e6e0db1 100644 --- a/include/uapi/linux/usb/audio.h +++ b/include/uapi/linux/usb/audio.h | |||
| @@ -285,9 +285,22 @@ static inline __u8 uac_mixer_unit_iChannelNames(struct uac_mixer_unit_descriptor | |||
| 285 | static inline __u8 *uac_mixer_unit_bmControls(struct uac_mixer_unit_descriptor *desc, | 285 | static inline __u8 *uac_mixer_unit_bmControls(struct uac_mixer_unit_descriptor *desc, |
| 286 | int protocol) | 286 | int protocol) |
| 287 | { | 287 | { |
| 288 | return (protocol == UAC_VERSION_1) ? | 288 | switch (protocol) { |
| 289 | &desc->baSourceID[desc->bNrInPins + 4] : | 289 | case UAC_VERSION_1: |
| 290 | &desc->baSourceID[desc->bNrInPins + 6]; | 290 | return &desc->baSourceID[desc->bNrInPins + 4]; |
| 291 | case UAC_VERSION_2: | ||
| 292 | return &desc->baSourceID[desc->bNrInPins + 6]; | ||
| 293 | case UAC_VERSION_3: | ||
| 294 | return &desc->baSourceID[desc->bNrInPins + 2]; | ||
| 295 | default: | ||
| 296 | return NULL; | ||
| 297 | } | ||
| 298 | } | ||
| 299 | |||
| 300 | static inline __u16 uac3_mixer_unit_wClusterDescrID(struct uac_mixer_unit_descriptor *desc) | ||
| 301 | { | ||
| 302 | return (desc->baSourceID[desc->bNrInPins + 1] << 8) | | ||
| 303 | desc->baSourceID[desc->bNrInPins]; | ||
| 291 | } | 304 | } |
| 292 | 305 | ||
| 293 | static inline __u8 uac_mixer_unit_iMixer(struct uac_mixer_unit_descriptor *desc) | 306 | static inline __u8 uac_mixer_unit_iMixer(struct uac_mixer_unit_descriptor *desc) |
