diff options
Diffstat (limited to 'sound/pci/ca0106/ca0106_mixer.c')
-rw-r--r-- | sound/pci/ca0106/ca0106_mixer.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/sound/pci/ca0106/ca0106_mixer.c b/sound/pci/ca0106/ca0106_mixer.c index ad2888705d2a..c8c6f437f5b3 100644 --- a/sound/pci/ca0106/ca0106_mixer.c +++ b/sound/pci/ca0106/ca0106_mixer.c | |||
@@ -739,7 +739,7 @@ static int __devinit rename_ctl(struct snd_card *card, const char *src, const ch | |||
739 | } while (0) | 739 | } while (0) |
740 | 740 | ||
741 | static __devinitdata | 741 | static __devinitdata |
742 | DECLARE_TLV_DB_SCALE(snd_ca0106_master_db_scale, -6375, 50, 1); | 742 | DECLARE_TLV_DB_SCALE(snd_ca0106_master_db_scale, -6375, 25, 1); |
743 | 743 | ||
744 | static char *slave_vols[] __devinitdata = { | 744 | static char *slave_vols[] __devinitdata = { |
745 | "Analog Front Playback Volume", | 745 | "Analog Front Playback Volume", |
@@ -800,7 +800,7 @@ int __devinit snd_ca0106_mixer(struct snd_ca0106 *emu) | |||
800 | "Capture Volume", | 800 | "Capture Volume", |
801 | "External Amplifier", | 801 | "External Amplifier", |
802 | "Sigmatel 4-Speaker Stereo Playback Switch", | 802 | "Sigmatel 4-Speaker Stereo Playback Switch", |
803 | "Sigmatel Surround Phase Inversion Playback ", | 803 | "Surround Phase Inversion Playback Switch", |
804 | NULL | 804 | NULL |
805 | }; | 805 | }; |
806 | static char *ca0106_rename_ctls[] = { | 806 | static char *ca0106_rename_ctls[] = { |
@@ -841,6 +841,9 @@ int __devinit snd_ca0106_mixer(struct snd_ca0106 *emu) | |||
841 | snd_ca0106_master_db_scale); | 841 | snd_ca0106_master_db_scale); |
842 | if (!vmaster) | 842 | if (!vmaster) |
843 | return -ENOMEM; | 843 | return -ENOMEM; |
844 | err = snd_ctl_add(card, vmaster); | ||
845 | if (err < 0) | ||
846 | return err; | ||
844 | add_slaves(card, vmaster, slave_vols); | 847 | add_slaves(card, vmaster, slave_vols); |
845 | 848 | ||
846 | if (emu->details->spi_dac == 1) { | 849 | if (emu->details->spi_dac == 1) { |
@@ -848,8 +851,13 @@ int __devinit snd_ca0106_mixer(struct snd_ca0106 *emu) | |||
848 | NULL); | 851 | NULL); |
849 | if (!vmaster) | 852 | if (!vmaster) |
850 | return -ENOMEM; | 853 | return -ENOMEM; |
854 | err = snd_ctl_add(card, vmaster); | ||
855 | if (err < 0) | ||
856 | return err; | ||
851 | add_slaves(card, vmaster, slave_sws); | 857 | add_slaves(card, vmaster, slave_sws); |
852 | } | 858 | } |
859 | |||
860 | strcpy(card->mixername, "CA0106"); | ||
853 | return 0; | 861 | return 0; |
854 | } | 862 | } |
855 | 863 | ||