diff options
author | Krzysztof Helt <krzysztof.h1@wp.pl> | 2008-07-31 15:10:47 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2008-08-06 09:40:02 -0400 |
commit | 760fc6b838d8c783c363e8bdb3714bd92a8945c4 (patch) | |
tree | be50fd4d3e3c3d561d62a369066f9ea62d348fbc /sound/isa/opti9xx | |
parent | ead893c0deeec165524cc8a06e7e739d7d84b4c4 (diff) |
ALSA: wss_lib: use wss detection code instead of ad1848 one
Use the wss detection code and kill the ad1848 library.
The library is fully assimilated into the new wss library.
This required reworking of the AD1848 family code
so the code is changed to correctly detect chips from
the AD1848 and CS4231 families.
I have tested it on following cards:
Gallant SC-6600 (codec: AD1848, driver: snd-sc6600)
SoundScape VIVO/90 (codec: AD1845, driver: snd-sscape)
SG Waverider (codec: CS4231A, driver: Rene Herman's snd-galaxy)
Opti930 (codec: built-in - CS4231 compatible, driver: snd-opti93x)
Opti931 (codec: built-in - CS4231 compatible, driver: snd-opti93x)
Gallant SC-70P (chip/codec: CS4237B, driver: snd-cs4236)
Audio Plus 3D (chip/codec: CMI8330A, driver: snd-cmi8330)
Dell Latitude CP (chip/codec: cs4236, driver snd-cs4232)
Sound playback and recording works on all these cards.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'sound/isa/opti9xx')
-rw-r--r-- | sound/isa/opti9xx/opti92x-ad1848.c | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c index 561d4b3ed098..cb5f66bde5d3 100644 --- a/sound/isa/opti9xx/opti92x-ad1848.c +++ b/sound/isa/opti9xx/opti92x-ad1848.c | |||
@@ -33,11 +33,7 @@ | |||
33 | #include <asm/io.h> | 33 | #include <asm/io.h> |
34 | #include <asm/dma.h> | 34 | #include <asm/dma.h> |
35 | #include <sound/core.h> | 35 | #include <sound/core.h> |
36 | #if defined(CS4231) || defined(OPTi93X) | ||
37 | #include <sound/wss.h> | 36 | #include <sound/wss.h> |
38 | #else | ||
39 | #include <sound/ad1848.h> | ||
40 | #endif /* CS4231 */ | ||
41 | #include <sound/mpu401.h> | 37 | #include <sound/mpu401.h> |
42 | #include <sound/opl3.h> | 38 | #include <sound/opl3.h> |
43 | #ifndef OPTi93X | 39 | #ifndef OPTi93X |
@@ -148,9 +144,7 @@ struct snd_opti9xx { | |||
148 | long wss_base; | 144 | long wss_base; |
149 | int irq; | 145 | int irq; |
150 | int dma1; | 146 | int dma1; |
151 | #if defined(CS4231) || defined(OPTi93X) | ||
152 | int dma2; | 147 | int dma2; |
153 | #endif /* CS4231 || OPTi93X */ | ||
154 | 148 | ||
155 | long fm_port; | 149 | long fm_port; |
156 | 150 | ||
@@ -225,9 +219,7 @@ static int __devinit snd_opti9xx_init(struct snd_opti9xx *chip, | |||
225 | chip->wss_base = -1; | 219 | chip->wss_base = -1; |
226 | chip->irq = -1; | 220 | chip->irq = -1; |
227 | chip->dma1 = -1; | 221 | chip->dma1 = -1; |
228 | #if defined(CS4231) || defined (OPTi93X) | ||
229 | chip->dma2 = -1; | 222 | chip->dma2 = -1; |
230 | #endif /* CS4231 || OPTi93X */ | ||
231 | chip->fm_port = -1; | 223 | chip->fm_port = -1; |
232 | chip->mpu_port = -1; | 224 | chip->mpu_port = -1; |
233 | chip->mpu_irq = -1; | 225 | chip->mpu_irq = -1; |
@@ -740,7 +732,6 @@ static int __devinit snd_opti9xx_probe(struct snd_card *card) | |||
740 | if (error) | 732 | if (error) |
741 | return error; | 733 | return error; |
742 | 734 | ||
743 | #if defined(CS4231) || defined(OPTi93X) | ||
744 | error = snd_wss_create(card, chip->wss_base + 4, -1, | 735 | error = snd_wss_create(card, chip->wss_base + 4, -1, |
745 | chip->irq, chip->dma1, chip->dma2, | 736 | chip->irq, chip->dma1, chip->dma2, |
746 | #ifdef CS4231 | 737 | #ifdef CS4231 |
@@ -754,12 +745,6 @@ static int __devinit snd_opti9xx_probe(struct snd_card *card) | |||
754 | #ifdef OPTi93X | 745 | #ifdef OPTi93X |
755 | chip->codec = codec; | 746 | chip->codec = codec; |
756 | #endif | 747 | #endif |
757 | #else | ||
758 | error = snd_ad1848_create(card, chip->wss_base + 4, chip->irq, | ||
759 | chip->dma1, WSS_HW_DETECT, &codec); | ||
760 | if (error < 0) | ||
761 | return error; | ||
762 | #endif | ||
763 | error = snd_wss_pcm(codec, 0, &pcm); | 748 | error = snd_wss_pcm(codec, 0, &pcm); |
764 | if (error < 0) | 749 | if (error < 0) |
765 | return error; | 750 | return error; |