aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/fm801.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-08-03 18:01:40 +0200
committerTakashi Iwai <tiwai@suse.de>2012-09-06 18:08:31 +0200
commite36e3b86c78cee9c7435eb33e0ef8a788193e812 (patch)
treea44ed8a8f0e7b832048d4fbd94a9041823cf1979 /sound/pci/fm801.c
parentALSA: ac97: Implement channel map workaround for ALC650 (diff)
downloadlinux-dev-e36e3b86c78cee9c7435eb33e0ef8a788193e812.tar.xz
linux-dev-e36e3b86c78cee9c7435eb33e0ef8a788193e812.zip
ALSA: Implement channel maps for standard onboard AC97 drivers
Just set the channel maps depending on the hardware availability. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/fm801.c')
-rw-r--r--sound/pci/fm801.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sound/pci/fm801.c b/sound/pci/fm801.c
index ce3e548de41d..cc2e91d15538 100644
--- a/sound/pci/fm801.c
+++ b/sound/pci/fm801.c
@@ -711,6 +711,13 @@ static int __devinit snd_fm801_pcm(struct fm801 *chip, int device, struct snd_pc
snd_dma_pci_data(chip->pci),
chip->multichannel ? 128*1024 : 64*1024, 128*1024);
+ err = snd_pcm_add_chmap_ctls(pcm, SNDRV_PCM_STREAM_PLAYBACK,
+ snd_pcm_alt_chmaps,
+ chip->multichannel ? 6 : 2, 0,
+ NULL);
+ if (err < 0)
+ return err;
+
if (rpcm)
*rpcm = pcm;
return 0;