diff options
Diffstat (limited to 'include/sound')
-rw-r--r-- | include/sound/soc.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h index 1e16d6e3f2a..3e9cae001ea 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h | |||
@@ -185,6 +185,12 @@ | |||
185 | .rreg = xreg_right, .shift = xshift, \ | 185 | .rreg = xreg_right, .shift = xshift, \ |
186 | .min = xmin, .max = xmax} } | 186 | .min = xmin, .max = xmax} } |
187 | 187 | ||
188 | #define SND_SOC_BYTES(xname, xbase, xregs) \ | ||
189 | { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \ | ||
190 | .info = snd_soc_bytes_info, .get = snd_soc_bytes_get, \ | ||
191 | .put = snd_soc_bytes_put, .private_value = \ | ||
192 | ((unsigned long)&(struct soc_bytes) \ | ||
193 | {.base = xbase, .num_regs = xregs }) } | ||
188 | 194 | ||
189 | /* | 195 | /* |
190 | * Simplified versions of above macros, declaring a struct and calculating | 196 | * Simplified versions of above macros, declaring a struct and calculating |
@@ -413,6 +419,13 @@ int snd_soc_get_volsw_2r_sx(struct snd_kcontrol *kcontrol, | |||
413 | struct snd_ctl_elem_value *ucontrol); | 419 | struct snd_ctl_elem_value *ucontrol); |
414 | int snd_soc_put_volsw_2r_sx(struct snd_kcontrol *kcontrol, | 420 | int snd_soc_put_volsw_2r_sx(struct snd_kcontrol *kcontrol, |
415 | struct snd_ctl_elem_value *ucontrol); | 421 | struct snd_ctl_elem_value *ucontrol); |
422 | int snd_soc_bytes_info(struct snd_kcontrol *kcontrol, | ||
423 | struct snd_ctl_elem_info *uinfo); | ||
424 | int snd_soc_bytes_get(struct snd_kcontrol *kcontrol, | ||
425 | struct snd_ctl_elem_value *ucontrol); | ||
426 | int snd_soc_bytes_put(struct snd_kcontrol *kcontrol, | ||
427 | struct snd_ctl_elem_value *ucontrol); | ||
428 | |||
416 | 429 | ||
417 | /** | 430 | /** |
418 | * struct snd_soc_reg_access - Describes whether a given register is | 431 | * struct snd_soc_reg_access - Describes whether a given register is |
@@ -888,6 +901,11 @@ struct soc_mixer_control { | |||
888 | unsigned int reg, rreg, shift, rshift, invert; | 901 | unsigned int reg, rreg, shift, rshift, invert; |
889 | }; | 902 | }; |
890 | 903 | ||
904 | struct soc_bytes { | ||
905 | int base; | ||
906 | int num_regs; | ||
907 | }; | ||
908 | |||
891 | /* enumerated kcontrol */ | 909 | /* enumerated kcontrol */ |
892 | struct soc_enum { | 910 | struct soc_enum { |
893 | unsigned short reg; | 911 | unsigned short reg; |