diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-11-16 05:33:41 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-11-16 05:33:41 -0500 |
commit | fe705ab1526bc2c8b7756f3a855f040ab2060af2 (patch) | |
tree | c4444d19983c5578f9ef2bddc1fa01b6e42f91a3 /sound/drivers/pcsp/pcsp_mixer.c | |
parent | 7d1794e81b5f202c73d7e3e65f0ee7aae4928038 (diff) | |
parent | ad1cd745060ae2f24026b3b3d09da3426df6ab36 (diff) |
Merge branch 'topic/beep-rename' into topic/hda
Diffstat (limited to 'sound/drivers/pcsp/pcsp_mixer.c')
-rw-r--r-- | sound/drivers/pcsp/pcsp_mixer.c | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/sound/drivers/pcsp/pcsp_mixer.c b/sound/drivers/pcsp/pcsp_mixer.c index 199b03377142..6f633f4f3b96 100644 --- a/sound/drivers/pcsp/pcsp_mixer.c +++ b/sound/drivers/pcsp/pcsp_mixer.c | |||
@@ -72,7 +72,7 @@ static int pcsp_treble_put(struct snd_kcontrol *kcontrol, | |||
72 | if (treble != chip->treble) { | 72 | if (treble != chip->treble) { |
73 | chip->treble = treble; | 73 | chip->treble = treble; |
74 | #if PCSP_DEBUG | 74 | #if PCSP_DEBUG |
75 | printk(KERN_INFO "PCSP: rate set to %i\n", PCSP_RATE()); | 75 | printk(KERN_INFO "PCSP: rate set to %li\n", PCSP_RATE()); |
76 | #endif | 76 | #endif |
77 | changed = 1; | 77 | changed = 1; |
78 | } | 78 | } |
@@ -119,24 +119,43 @@ static int pcsp_pcspkr_put(struct snd_kcontrol *kcontrol, | |||
119 | .put = pcsp_##ctl_type##_put, \ | 119 | .put = pcsp_##ctl_type##_put, \ |
120 | } | 120 | } |
121 | 121 | ||
122 | static struct snd_kcontrol_new __devinitdata snd_pcsp_controls[] = { | 122 | static struct snd_kcontrol_new __devinitdata snd_pcsp_controls_pcm[] = { |
123 | PCSP_MIXER_CONTROL(enable, "Master Playback Switch"), | 123 | PCSP_MIXER_CONTROL(enable, "Master Playback Switch"), |
124 | PCSP_MIXER_CONTROL(treble, "BaseFRQ Playback Volume"), | 124 | PCSP_MIXER_CONTROL(treble, "BaseFRQ Playback Volume"), |
125 | PCSP_MIXER_CONTROL(pcspkr, "PC Speaker Playback Switch"), | ||
126 | }; | 125 | }; |
127 | 126 | ||
128 | int __devinit snd_pcsp_new_mixer(struct snd_pcsp *chip) | 127 | static struct snd_kcontrol_new __devinitdata snd_pcsp_controls_spkr[] = { |
128 | PCSP_MIXER_CONTROL(pcspkr, "Beep Playback Switch"), | ||
129 | }; | ||
130 | |||
131 | static int __devinit snd_pcsp_ctls_add(struct snd_pcsp *chip, | ||
132 | struct snd_kcontrol_new *ctls, int num) | ||
129 | { | 133 | { |
130 | struct snd_card *card = chip->card; | ||
131 | int i, err; | 134 | int i, err; |
135 | struct snd_card *card = chip->card; | ||
136 | for (i = 0; i < num; i++) { | ||
137 | err = snd_ctl_add(card, snd_ctl_new1(ctls + i, chip)); | ||
138 | if (err < 0) | ||
139 | return err; | ||
140 | } | ||
141 | return 0; | ||
142 | } | ||
143 | |||
144 | int __devinit snd_pcsp_new_mixer(struct snd_pcsp *chip, int nopcm) | ||
145 | { | ||
146 | int err; | ||
147 | struct snd_card *card = chip->card; | ||
132 | 148 | ||
133 | for (i = 0; i < ARRAY_SIZE(snd_pcsp_controls); i++) { | 149 | if (!nopcm) { |
134 | err = snd_ctl_add(card, | 150 | err = snd_pcsp_ctls_add(chip, snd_pcsp_controls_pcm, |
135 | snd_ctl_new1(snd_pcsp_controls + i, | 151 | ARRAY_SIZE(snd_pcsp_controls_pcm)); |
136 | chip)); | ||
137 | if (err < 0) | 152 | if (err < 0) |
138 | return err; | 153 | return err; |
139 | } | 154 | } |
155 | err = snd_pcsp_ctls_add(chip, snd_pcsp_controls_spkr, | ||
156 | ARRAY_SIZE(snd_pcsp_controls_spkr)); | ||
157 | if (err < 0) | ||
158 | return err; | ||
140 | 159 | ||
141 | strcpy(card->mixername, "PC-Speaker"); | 160 | strcpy(card->mixername, "PC-Speaker"); |
142 | 161 | ||