summaryrefslogtreecommitdiffstats
path: root/sound/drivers/dummy.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-09-23 17:21:12 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-09-23 17:21:12 -0700
commitf7425b160db500520c33f241edb066fc5c413f03 (patch)
treef1f50b935fa49a273f8df685b5fb2fcf6a0f07a6 /sound/drivers/dummy.c
parent9f261e011340bcd22c1dd48b465153bd78caa8c8 (diff)
parentf0063c4489a00ed5395378ef80a7edea4272f20b (diff)
Merge branch 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa
* 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa: (148 commits) [ALSA] intel8x0m - Free irq in suspend [ALSA] Move CONFIG_SND_AC97_POWER_SAVE to pci/Kconfig [ALSA] usb-audio: add mixer control names for the Aureon 5.1 MkII [ALSA] ES1938: remove duplicate field initialization [ALSA] usb-audio: increase number of packets per URB [ALSA] hda-codec - Fix headphone auto-toggle on sigmatel codec [ALSA] hda-intel - A slight cleanup of timeout check in azx_get_response() [ALSA] hda-codec - Fix mic input with STAC92xx codecs [ALSA] mixart: Use SEEK_{SET,CUR,END} instead of hardcoded values [ALSA] gus: Use SEEK_{SET,CUR,END} instead of hardcoded values [ALSA] opl4: Use SEEK_{SET,CUR,END} instead of hardcoded values [ALSA] sound core: Use SEEK_{SET,CUR,END} instead of hardcoded values [ALSA] hda-codec - Support multiple headphone pins [ALSA] hda_intel prefer 24bit instead of 20bit [ALSA] hda-codec - Add vendor ids for Motorola and Conexant [ALSA] hda-codec - Add device id for Motorola si3054-compatible codec [ALSA] Add missing compat ioctls for ALSA control API [ALSA] powermac - Fix Oops when conflicting with aoa driver [ALSA] aoa: add locking to tas codec [ALSA] hda-intel - Fix suspend/resume with MSI ...
Diffstat (limited to 'sound/drivers/dummy.c')
-rw-r--r--sound/drivers/dummy.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/sound/drivers/dummy.c b/sound/drivers/dummy.c
index ffeafaf2ecc..42001efa9f3 100644
--- a/sound/drivers/dummy.c
+++ b/sound/drivers/dummy.c
@@ -29,6 +29,7 @@
#include <linux/moduleparam.h>
#include <sound/core.h>
#include <sound/control.h>
+#include <sound/tlv.h>
#include <sound/pcm.h>
#include <sound/rawmidi.h>
#include <sound/initval.h>
@@ -285,7 +286,7 @@ static struct snd_pcm_hardware snd_card_dummy_playback =
.channels_max = USE_CHANNELS_MAX,
.buffer_bytes_max = MAX_BUFFER_SIZE,
.period_bytes_min = 64,
- .period_bytes_max = MAX_BUFFER_SIZE,
+ .period_bytes_max = MAX_PERIOD_SIZE,
.periods_min = USE_PERIODS_MIN,
.periods_max = USE_PERIODS_MAX,
.fifo_size = 0,
@@ -443,10 +444,13 @@ static int __init snd_card_dummy_pcm(struct snd_dummy *dummy, int device, int su
}
#define DUMMY_VOLUME(xname, xindex, addr) \
-{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
+ .access = SNDRV_CTL_ELEM_ACCESS_READWRITE | SNDRV_CTL_ELEM_ACCESS_TLV_READ, \
+ .name = xname, .index = xindex, \
.info = snd_dummy_volume_info, \
.get = snd_dummy_volume_get, .put = snd_dummy_volume_put, \
- .private_value = addr }
+ .private_value = addr, \
+ .tlv = { .p = db_scale_dummy } }
static int snd_dummy_volume_info(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_info *uinfo)
@@ -497,6 +501,8 @@ static int snd_dummy_volume_put(struct snd_kcontrol *kcontrol,
return change;
}
+static DECLARE_TLV_DB_SCALE(db_scale_dummy, -4500, 30, 0);
+
#define DUMMY_CAPSRC(xname, xindex, addr) \
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
.info = snd_dummy_capsrc_info, \
@@ -547,13 +553,13 @@ static struct snd_kcontrol_new snd_dummy_controls[] = {
DUMMY_VOLUME("Master Volume", 0, MIXER_ADDR_MASTER),
DUMMY_CAPSRC("Master Capture Switch", 0, MIXER_ADDR_MASTER),
DUMMY_VOLUME("Synth Volume", 0, MIXER_ADDR_SYNTH),
-DUMMY_CAPSRC("Synth Capture Switch", 0, MIXER_ADDR_MASTER),
+DUMMY_CAPSRC("Synth Capture Switch", 0, MIXER_ADDR_SYNTH),
DUMMY_VOLUME("Line Volume", 0, MIXER_ADDR_LINE),
-DUMMY_CAPSRC("Line Capture Switch", 0, MIXER_ADDR_MASTER),
+DUMMY_CAPSRC("Line Capture Switch", 0, MIXER_ADDR_LINE),
DUMMY_VOLUME("Mic Volume", 0, MIXER_ADDR_MIC),
-DUMMY_CAPSRC("Mic Capture Switch", 0, MIXER_ADDR_MASTER),
+DUMMY_CAPSRC("Mic Capture Switch", 0, MIXER_ADDR_MIC),
DUMMY_VOLUME("CD Volume", 0, MIXER_ADDR_CD),
-DUMMY_CAPSRC("CD Capture Switch", 0, MIXER_ADDR_MASTER)
+DUMMY_CAPSRC("CD Capture Switch", 0, MIXER_ADDR_CD)
};
static int __init snd_card_dummy_new_mixer(struct snd_dummy *dummy)