diff options
Diffstat (limited to 'sound/pci/cs5535audio/cs5535audio.c')
-rw-r--r-- | sound/pci/cs5535audio/cs5535audio.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sound/pci/cs5535audio/cs5535audio.c b/sound/pci/cs5535audio/cs5535audio.c index 1d8b1605253..826e6dec2e9 100644 --- a/sound/pci/cs5535audio/cs5535audio.c +++ b/sound/pci/cs5535audio/cs5535audio.c | |||
@@ -159,10 +159,14 @@ static int __devinit snd_cs5535audio_mixer(struct cs5535audio *cs5535au) | |||
159 | return err; | 159 | return err; |
160 | 160 | ||
161 | memset(&ac97, 0, sizeof(ac97)); | 161 | memset(&ac97, 0, sizeof(ac97)); |
162 | ac97.scaps = AC97_SCAP_AUDIO|AC97_SCAP_SKIP_MODEM; | 162 | ac97.scaps = AC97_SCAP_AUDIO | AC97_SCAP_SKIP_MODEM |
163 | | AC97_SCAP_POWER_SAVE; | ||
163 | ac97.private_data = cs5535au; | 164 | ac97.private_data = cs5535au; |
164 | ac97.pci = cs5535au->pci; | 165 | ac97.pci = cs5535au->pci; |
165 | 166 | ||
167 | /* set any OLPC-specific scaps */ | ||
168 | olpc_prequirks(card, &ac97); | ||
169 | |||
166 | if ((err = snd_ac97_mixer(pbus, &ac97, &cs5535au->ac97)) < 0) { | 170 | if ((err = snd_ac97_mixer(pbus, &ac97, &cs5535au->ac97)) < 0) { |
167 | snd_printk(KERN_ERR "mixer failed\n"); | 171 | snd_printk(KERN_ERR "mixer failed\n"); |
168 | return err; | 172 | return err; |
@@ -170,6 +174,12 @@ static int __devinit snd_cs5535audio_mixer(struct cs5535audio *cs5535au) | |||
170 | 174 | ||
171 | snd_ac97_tune_hardware(cs5535au->ac97, ac97_quirks, ac97_quirk); | 175 | snd_ac97_tune_hardware(cs5535au->ac97, ac97_quirks, ac97_quirk); |
172 | 176 | ||
177 | err = olpc_quirks(card, cs5535au->ac97); | ||
178 | if (err < 0) { | ||
179 | snd_printk(KERN_ERR "olpc quirks failed\n"); | ||
180 | return err; | ||
181 | } | ||
182 | |||
173 | return 0; | 183 | return 0; |
174 | } | 184 | } |
175 | 185 | ||