diff options
author | Trent Piepho <xyzzy@speakeasy.org> | 2007-09-06 22:02:25 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-10-22 10:01:18 -0400 |
commit | bbaccc04459d5cedb342228084223143fbc285e5 (patch) | |
tree | 8d6fdee011532e769db017e9575df676701b360c /drivers/media/video/cx88/cx88-alsa.c | |
parent | 54ac005adcda1a9e4566df6fa87acd4a1c135b80 (diff) |
V4L/DVB (6187): cx88-alsa: Add TLV support
Lets mixer apps display a dB range for the volume control.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/cx88/cx88-alsa.c')
-rw-r--r-- | drivers/media/video/cx88/cx88-alsa.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/media/video/cx88/cx88-alsa.c b/drivers/media/video/cx88/cx88-alsa.c index 6cf8609588a5..40ffd7a5579a 100644 --- a/drivers/media/video/cx88/cx88-alsa.c +++ b/drivers/media/video/cx88/cx88-alsa.c | |||
@@ -39,6 +39,7 @@ | |||
39 | #include <sound/pcm_params.h> | 39 | #include <sound/pcm_params.h> |
40 | #include <sound/control.h> | 40 | #include <sound/control.h> |
41 | #include <sound/initval.h> | 41 | #include <sound/initval.h> |
42 | #include <sound/tlv.h> | ||
42 | 43 | ||
43 | #include "cx88.h" | 44 | #include "cx88.h" |
44 | #include "cx88-reg.h" | 45 | #include "cx88-reg.h" |
@@ -605,12 +606,17 @@ static int snd_cx88_volume_put(struct snd_kcontrol *kcontrol, | |||
605 | return changed; | 606 | return changed; |
606 | } | 607 | } |
607 | 608 | ||
609 | static const DECLARE_TLV_DB_SCALE(snd_cx88_db_scale, -6300, 100, 0); | ||
610 | |||
608 | static struct snd_kcontrol_new snd_cx88_volume = { | 611 | static struct snd_kcontrol_new snd_cx88_volume = { |
609 | .iface = SNDRV_CTL_ELEM_IFACE_MIXER, | 612 | .iface = SNDRV_CTL_ELEM_IFACE_MIXER, |
613 | .access = SNDRV_CTL_ELEM_ACCESS_READWRITE | | ||
614 | SNDRV_CTL_ELEM_ACCESS_TLV_READ, | ||
610 | .name = "Playback Volume", | 615 | .name = "Playback Volume", |
611 | .info = snd_cx88_volume_info, | 616 | .info = snd_cx88_volume_info, |
612 | .get = snd_cx88_volume_get, | 617 | .get = snd_cx88_volume_get, |
613 | .put = snd_cx88_volume_put, | 618 | .put = snd_cx88_volume_put, |
619 | .tlv.p = snd_cx88_db_scale, | ||
614 | }; | 620 | }; |
615 | 621 | ||
616 | static int snd_cx88_switch_get(struct snd_kcontrol *kcontrol, | 622 | static int snd_cx88_switch_get(struct snd_kcontrol *kcontrol, |