aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/ad1848.h1
-rw-r--r--include/sound/wss.h25
2 files changed, 25 insertions, 1 deletions
diff --git a/include/sound/ad1848.h b/include/sound/ad1848.h
index 29f63b786351..03e2abf64a7c 100644
--- a/include/sound/ad1848.h
+++ b/include/sound/ad1848.h
@@ -115,6 +115,5 @@ int snd_ad1848_create(struct snd_card *card,
115 115
116int snd_ad1848_pcm(struct snd_wss *chip, int device, struct snd_pcm **rpcm); 116int snd_ad1848_pcm(struct snd_wss *chip, int device, struct snd_pcm **rpcm);
117const struct snd_pcm_ops *snd_ad1848_get_pcm_ops(int direction); 117const struct snd_pcm_ops *snd_ad1848_get_pcm_ops(int direction);
118int snd_ad1848_mixer(struct snd_wss *chip);
119 118
120#endif /* __SOUND_AD1848_H */ 119#endif /* __SOUND_AD1848_H */
diff --git a/include/sound/wss.h b/include/sound/wss.h
index 2cc1f1462d8e..c896f6e1f937 100644
--- a/include/sound/wss.h
+++ b/include/sound/wss.h
@@ -193,6 +193,31 @@ int snd_wss_put_single(struct snd_kcontrol *kcontrol,
193 .private_value = left_reg | (right_reg << 8) | (shift_left << 16) | \ 193 .private_value = left_reg | (right_reg << 8) | (shift_left << 16) | \
194 (shift_right << 19) | (mask << 24) | (invert << 22) } 194 (shift_right << 19) | (mask << 24) | (invert << 22) }
195 195
196#define WSS_SINGLE_TLV(xname, xindex, reg, shift, mask, invert, xtlv) \
197{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
198 .access = SNDRV_CTL_ELEM_ACCESS_READWRITE | SNDRV_CTL_ELEM_ACCESS_TLV_READ, \
199 .name = xname, \
200 .index = xindex, \
201 .info = snd_wss_info_single, \
202 .get = snd_wss_get_single, \
203 .put = snd_wss_put_single, \
204 .private_value = reg | (shift << 8) | (mask << 16) | (invert << 24), \
205 .tlv = { .p = (xtlv) } }
206
207#define WSS_DOUBLE_TLV(xname, xindex, left_reg, right_reg, \
208 shift_left, shift_right, mask, invert, xtlv) \
209{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
210 .access = SNDRV_CTL_ELEM_ACCESS_READWRITE | SNDRV_CTL_ELEM_ACCESS_TLV_READ, \
211 .name = xname, \
212 .index = xindex, \
213 .info = snd_wss_info_double, \
214 .get = snd_wss_get_double, \
215 .put = snd_wss_put_double, \
216 .private_value = left_reg | (right_reg << 8) | (shift_left << 16) | \
217 (shift_right << 19) | (mask << 24) | (invert << 22), \
218 .tlv = { .p = (xtlv) } }
219
220
196int snd_wss_info_double(struct snd_kcontrol *kcontrol, 221int snd_wss_info_double(struct snd_kcontrol *kcontrol,
197 struct snd_ctl_elem_info *uinfo); 222 struct snd_ctl_elem_info *uinfo);
198int snd_wss_get_double(struct snd_kcontrol *kcontrol, 223int snd_wss_get_double(struct snd_kcontrol *kcontrol,