aboutsummaryrefslogtreecommitdiffstats
path: root/sound/isa
diff options
context:
space:
mode:
Diffstat (limited to 'sound/isa')
-rw-r--r--sound/isa/cmi8330.c6
-rw-r--r--sound/isa/cs423x/cs4236.c13
-rw-r--r--sound/isa/es18xx.c6
-rw-r--r--sound/isa/gus/gusclassic.c2
-rw-r--r--sound/isa/opl3sa2.c12
-rw-r--r--sound/isa/opti9xx/opti92x-ad1848.c2
-rw-r--r--sound/isa/sb/sb16.c4
-rw-r--r--sound/isa/sscape.c6
-rw-r--r--sound/isa/wavefront/wavefront.c7
-rw-r--r--sound/isa/wavefront/wavefront_synth.c2
10 files changed, 46 insertions, 14 deletions
diff --git a/sound/isa/cmi8330.c b/sound/isa/cmi8330.c
index bd8e23818460..fd9bb2575de8 100644
--- a/sound/isa/cmi8330.c
+++ b/sound/isa/cmi8330.c
@@ -109,7 +109,9 @@ module_param_array(wssdma, int, NULL, 0444);
109MODULE_PARM_DESC(wssdma, "DMA for CMI8330 WSS driver."); 109MODULE_PARM_DESC(wssdma, "DMA for CMI8330 WSS driver.");
110 110
111static struct platform_device *platform_devices[SNDRV_CARDS]; 111static struct platform_device *platform_devices[SNDRV_CARDS];
112#ifdef CONFIG_PNP
112static int pnp_registered; 113static int pnp_registered;
114#endif
113 115
114#define CMI8330_RMUX3D 16 116#define CMI8330_RMUX3D 16
115#define CMI8330_MUTEMUX 17 117#define CMI8330_MUTEMUX 17
@@ -672,8 +674,10 @@ static void __init_or_module snd_cmi8330_unregister_all(void)
672{ 674{
673 int i; 675 int i;
674 676
677#ifdef CONFIG_PNP
675 if (pnp_registered) 678 if (pnp_registered)
676 pnp_unregister_card_driver(&cmi8330_pnpc_driver); 679 pnp_unregister_card_driver(&cmi8330_pnpc_driver);
680#endif
677 for (i = 0; i < ARRAY_SIZE(platform_devices); ++i) 681 for (i = 0; i < ARRAY_SIZE(platform_devices); ++i)
678 platform_device_unregister(platform_devices[i]); 682 platform_device_unregister(platform_devices[i]);
679 platform_driver_unregister(&snd_cmi8330_driver); 683 platform_driver_unregister(&snd_cmi8330_driver);
@@ -700,11 +704,13 @@ static int __init alsa_card_cmi8330_init(void)
700 cards++; 704 cards++;
701 } 705 }
702 706
707#ifdef CONFIG_PNP
703 err = pnp_register_card_driver(&cmi8330_pnpc_driver); 708 err = pnp_register_card_driver(&cmi8330_pnpc_driver);
704 if (err >= 0) { 709 if (err >= 0) {
705 pnp_registered = 1; 710 pnp_registered = 1;
706 cards += err; 711 cards += err;
707 } 712 }
713#endif
708 714
709 if (!cards) { 715 if (!cards) {
710#ifdef MODULE 716#ifdef MODULE
diff --git a/sound/isa/cs423x/cs4236.c b/sound/isa/cs423x/cs4236.c
index e1683337e6cd..4fa431040564 100644
--- a/sound/isa/cs423x/cs4236.c
+++ b/sound/isa/cs423x/cs4236.c
@@ -75,8 +75,10 @@ MODULE_SUPPORTED_DEVICE("{{Crystal Semiconductors,CS4235},"
75 75
76#ifdef CS4232 76#ifdef CS4232
77#define IDENT "CS4232" 77#define IDENT "CS4232"
78#define CS423X_DRIVER "snd_cs4232"
78#else 79#else
79#define IDENT "CS4236+" 80#define IDENT "CS4236+"
81#define CS423X_DRIVER "snd_cs4236"
80#endif 82#endif
81 83
82static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ 84static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */
@@ -125,10 +127,12 @@ module_param_array(dma2, int, NULL, 0444);
125MODULE_PARM_DESC(dma2, "DMA2 # for " IDENT " driver."); 127MODULE_PARM_DESC(dma2, "DMA2 # for " IDENT " driver.");
126 128
127static struct platform_device *platform_devices[SNDRV_CARDS]; 129static struct platform_device *platform_devices[SNDRV_CARDS];
130#ifdef CONFIG_PNP
128static int pnpc_registered; 131static int pnpc_registered;
129#ifdef CS4232 132#ifdef CS4232
130static int pnp_registered; 133static int pnp_registered;
131#endif 134#endif
135#endif /* CONFIG_PNP */
132 136
133struct snd_card_cs4236 { 137struct snd_card_cs4236 {
134 struct snd_cs4231 *chip; 138 struct snd_cs4231 *chip;
@@ -158,7 +162,6 @@ MODULE_DEVICE_TABLE(pnp, snd_cs4232_pnpbiosids);
158#endif /* CS4232 */ 162#endif /* CS4232 */
159 163
160#ifdef CS4232 164#ifdef CS4232
161#define CS423X_DRIVER "snd_cs4232"
162#define CS423X_ISAPNP_DRIVER "cs4232_isapnp" 165#define CS423X_ISAPNP_DRIVER "cs4232_isapnp"
163static struct pnp_card_device_id snd_cs423x_pnpids[] = { 166static struct pnp_card_device_id snd_cs423x_pnpids[] = {
164 /* Philips PCA70PS */ 167 /* Philips PCA70PS */
@@ -175,11 +178,12 @@ static struct pnp_card_device_id snd_cs423x_pnpids[] = {
175 { .id = "CSC7632", .devs = { { "CSC0000" }, { "CSC0010" }, { "PNPb006" } } }, 178 { .id = "CSC7632", .devs = { { "CSC0000" }, { "CSC0010" }, { "PNPb006" } } },
176 /* SIC CrystalWave 32 (CS4232) */ 179 /* SIC CrystalWave 32 (CS4232) */
177 { .id = "CSCf032", .devs = { { "CSC0000" }, { "CSC0010" }, { "CSC0003" } } }, 180 { .id = "CSCf032", .devs = { { "CSC0000" }, { "CSC0010" }, { "CSC0003" } } },
181 /* Netfinity 3000 on-board soundcard */
182 { .id = "CSCe825", .devs = { { "CSC0100" }, { "CSC0110" }, { "CSC010f" } } },
178 /* --- */ 183 /* --- */
179 { .id = "" } /* end */ 184 { .id = "" } /* end */
180}; 185};
181#else /* CS4236 */ 186#else /* CS4236 */
182#define CS423X_DRIVER "snd_cs4236"
183#define CS423X_ISAPNP_DRIVER "cs4236_isapnp" 187#define CS423X_ISAPNP_DRIVER "cs4236_isapnp"
184static struct pnp_card_device_id snd_cs423x_pnpids[] = { 188static struct pnp_card_device_id snd_cs423x_pnpids[] = {
185 /* Intel Marlin Spike Motherboard - CS4235 */ 189 /* Intel Marlin Spike Motherboard - CS4235 */
@@ -747,12 +751,14 @@ static void __init_or_module snd_cs423x_unregister_all(void)
747{ 751{
748 int i; 752 int i;
749 753
754#ifdef CONFIG_PNP
750 if (pnpc_registered) 755 if (pnpc_registered)
751 pnp_unregister_card_driver(&cs423x_pnpc_driver); 756 pnp_unregister_card_driver(&cs423x_pnpc_driver);
752#ifdef CS4232 757#ifdef CS4232
753 if (pnp_registered) 758 if (pnp_registered)
754 pnp_unregister_driver(&cs4232_pnp_driver); 759 pnp_unregister_driver(&cs4232_pnp_driver);
755#endif 760#endif
761#endif /* CONFIG_PNP */
756 for (i = 0; i < ARRAY_SIZE(platform_devices); ++i) 762 for (i = 0; i < ARRAY_SIZE(platform_devices); ++i)
757 platform_device_unregister(platform_devices[i]); 763 platform_device_unregister(platform_devices[i]);
758 platform_driver_unregister(&cs423x_nonpnp_driver); 764 platform_driver_unregister(&cs423x_nonpnp_driver);
@@ -778,6 +784,7 @@ static int __init alsa_card_cs423x_init(void)
778 platform_devices[i] = device; 784 platform_devices[i] = device;
779 cards++; 785 cards++;
780 } 786 }
787#ifdef CONFIG_PNP
781#ifdef CS4232 788#ifdef CS4232
782 i = pnp_register_driver(&cs4232_pnp_driver); 789 i = pnp_register_driver(&cs4232_pnp_driver);
783 if (i >= 0) { 790 if (i >= 0) {
@@ -790,6 +797,8 @@ static int __init alsa_card_cs423x_init(void)
790 pnpc_registered = 1; 797 pnpc_registered = 1;
791 cards += i; 798 cards += i;
792 } 799 }
800#endif /* CONFIG_PNP */
801
793 if (!cards) { 802 if (!cards) {
794#ifdef MODULE 803#ifdef MODULE
795 printk(KERN_ERR IDENT " soundcard not found or device busy\n"); 804 printk(KERN_ERR IDENT " soundcard not found or device busy\n");
diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c
index bf5de0782eb0..08f032b51107 100644
--- a/sound/isa/es18xx.c
+++ b/sound/isa/es18xx.c
@@ -1878,9 +1878,9 @@ module_param_array(dma2, int, NULL, 0444);
1878MODULE_PARM_DESC(dma2, "DMA 2 # for ES18xx driver."); 1878MODULE_PARM_DESC(dma2, "DMA 2 # for ES18xx driver.");
1879 1879
1880static struct platform_device *platform_devices[SNDRV_CARDS]; 1880static struct platform_device *platform_devices[SNDRV_CARDS];
1881static int pnp_registered;
1882 1881
1883#ifdef CONFIG_PNP 1882#ifdef CONFIG_PNP
1883static int pnp_registered;
1884 1884
1885static struct pnp_card_device_id snd_audiodrive_pnpids[] = { 1885static struct pnp_card_device_id snd_audiodrive_pnpids[] = {
1886 /* ESS 1868 (integrated on Compaq dual P-Pro motherboard and Genius 18PnP 3D) */ 1886 /* ESS 1868 (integrated on Compaq dual P-Pro motherboard and Genius 18PnP 3D) */
@@ -2209,8 +2209,10 @@ static void __init_or_module snd_es18xx_unregister_all(void)
2209{ 2209{
2210 int i; 2210 int i;
2211 2211
2212#ifdef CONFIG_PNP
2212 if (pnp_registered) 2213 if (pnp_registered)
2213 pnp_unregister_card_driver(&es18xx_pnpc_driver); 2214 pnp_unregister_card_driver(&es18xx_pnpc_driver);
2215#endif
2214 for (i = 0; i < ARRAY_SIZE(platform_devices); ++i) 2216 for (i = 0; i < ARRAY_SIZE(platform_devices); ++i)
2215 platform_device_unregister(platform_devices[i]); 2217 platform_device_unregister(platform_devices[i]);
2216 platform_driver_unregister(&snd_es18xx_nonpnp_driver); 2218 platform_driver_unregister(&snd_es18xx_nonpnp_driver);
@@ -2237,11 +2239,13 @@ static int __init alsa_card_es18xx_init(void)
2237 cards++; 2239 cards++;
2238 } 2240 }
2239 2241
2242#ifdef CONFIG_PNP
2240 i = pnp_register_card_driver(&es18xx_pnpc_driver); 2243 i = pnp_register_card_driver(&es18xx_pnpc_driver);
2241 if (i >= 0) { 2244 if (i >= 0) {
2242 pnp_registered = 1; 2245 pnp_registered = 1;
2243 cards += i; 2246 cards += i;
2244 } 2247 }
2248#endif
2245 2249
2246 if(!cards) { 2250 if(!cards) {
2247#ifdef MODULE 2251#ifdef MODULE
diff --git a/sound/isa/gus/gusclassic.c b/sound/isa/gus/gusclassic.c
index d1165b96fa3f..91c219116d7a 100644
--- a/sound/isa/gus/gusclassic.c
+++ b/sound/isa/gus/gusclassic.c
@@ -195,7 +195,7 @@ static int __init snd_gusclassic_probe(struct platform_device *pdev)
195 goto _err; 195 goto _err;
196 } 196 }
197 sprintf(card->longname + strlen(card->longname), " at 0x%lx, irq %d, dma %d", gus->gf1.port, xirq, xdma1); 197 sprintf(card->longname + strlen(card->longname), " at 0x%lx, irq %d, dma %d", gus->gf1.port, xirq, xdma1);
198 if (dma2 >= 0) 198 if (xdma2 >= 0)
199 sprintf(card->longname + strlen(card->longname), "&%d", xdma2); 199 sprintf(card->longname + strlen(card->longname), "&%d", xdma2);
200 200
201 snd_card_set_dev(card, &pdev->dev); 201 snd_card_set_dev(card, &pdev->dev);
diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c
index ca359e0c674b..9d8431978501 100644
--- a/sound/isa/opl3sa2.c
+++ b/sound/isa/opl3sa2.c
@@ -91,8 +91,10 @@ module_param_array(opl3sa3_ymode, int, NULL, 0444);
91MODULE_PARM_DESC(opl3sa3_ymode, "Speaker size selection for 3D Enhancement mode: Desktop/Large Notebook/Small Notebook/HiFi."); 91MODULE_PARM_DESC(opl3sa3_ymode, "Speaker size selection for 3D Enhancement mode: Desktop/Large Notebook/Small Notebook/HiFi.");
92 92
93static struct platform_device *platform_devices[SNDRV_CARDS]; 93static struct platform_device *platform_devices[SNDRV_CARDS];
94#ifdef CONFIG_PNP
94static int pnp_registered; 95static int pnp_registered;
95static int pnpc_registered; 96static int pnpc_registered;
97#endif
96 98
97/* control ports */ 99/* control ports */
98#define OPL3SA2_PM_CTRL 0x01 100#define OPL3SA2_PM_CTRL 0x01
@@ -721,7 +723,7 @@ static int __devinit snd_opl3sa2_probe(struct snd_card *card, int dev)
721 } 723 }
722 sprintf(card->longname, "%s at 0x%lx, irq %d, dma %d", 724 sprintf(card->longname, "%s at 0x%lx, irq %d, dma %d",
723 card->shortname, chip->port, xirq, xdma1); 725 card->shortname, chip->port, xirq, xdma1);
724 if (dma2 >= 0) 726 if (xdma2 >= 0)
725 sprintf(card->longname + strlen(card->longname), "&%d", xdma2); 727 sprintf(card->longname + strlen(card->longname), "&%d", xdma2);
726 728
727 return snd_card_register(card); 729 return snd_card_register(card);
@@ -779,7 +781,7 @@ static int snd_opl3sa2_pnp_resume(struct pnp_dev *pdev)
779#endif 781#endif
780 782
781static struct pnp_driver opl3sa2_pnp_driver = { 783static struct pnp_driver opl3sa2_pnp_driver = {
782 .name = "opl3sa2-pnpbios", 784 .name = "snd-opl3sa2-pnpbios",
783 .id_table = snd_opl3sa2_pnpbiosids, 785 .id_table = snd_opl3sa2_pnpbiosids,
784 .probe = snd_opl3sa2_pnp_detect, 786 .probe = snd_opl3sa2_pnp_detect,
785 .remove = __devexit_p(snd_opl3sa2_pnp_remove), 787 .remove = __devexit_p(snd_opl3sa2_pnp_remove),
@@ -846,7 +848,7 @@ static int snd_opl3sa2_pnp_cresume(struct pnp_card_link *pcard)
846 848
847static struct pnp_card_driver opl3sa2_pnpc_driver = { 849static struct pnp_card_driver opl3sa2_pnpc_driver = {
848 .flags = PNP_DRIVER_RES_DISABLE, 850 .flags = PNP_DRIVER_RES_DISABLE,
849 .name = "opl3sa2", 851 .name = "snd-opl3sa2-cpnp",
850 .id_table = snd_opl3sa2_pnpids, 852 .id_table = snd_opl3sa2_pnpids,
851 .probe = snd_opl3sa2_pnp_cdetect, 853 .probe = snd_opl3sa2_pnp_cdetect,
852 .remove = __devexit_p(snd_opl3sa2_pnp_cremove), 854 .remove = __devexit_p(snd_opl3sa2_pnp_cremove),
@@ -929,10 +931,12 @@ static void __init_or_module snd_opl3sa2_unregister_all(void)
929{ 931{
930 int i; 932 int i;
931 933
934#ifdef CONFIG_PNP
932 if (pnpc_registered) 935 if (pnpc_registered)
933 pnp_unregister_card_driver(&opl3sa2_pnpc_driver); 936 pnp_unregister_card_driver(&opl3sa2_pnpc_driver);
934 if (pnp_registered) 937 if (pnp_registered)
935 pnp_unregister_driver(&opl3sa2_pnp_driver); 938 pnp_unregister_driver(&opl3sa2_pnp_driver);
939#endif
936 for (i = 0; i < ARRAY_SIZE(platform_devices); ++i) 940 for (i = 0; i < ARRAY_SIZE(platform_devices); ++i)
937 platform_device_unregister(platform_devices[i]); 941 platform_device_unregister(platform_devices[i]);
938 platform_driver_unregister(&snd_opl3sa2_nonpnp_driver); 942 platform_driver_unregister(&snd_opl3sa2_nonpnp_driver);
@@ -961,6 +965,7 @@ static int __init alsa_card_opl3sa2_init(void)
961 cards++; 965 cards++;
962 } 966 }
963 967
968#ifdef CONFIG_PNP
964 err = pnp_register_driver(&opl3sa2_pnp_driver); 969 err = pnp_register_driver(&opl3sa2_pnp_driver);
965 if (err >= 0) { 970 if (err >= 0) {
966 pnp_registered = 1; 971 pnp_registered = 1;
@@ -971,6 +976,7 @@ static int __init alsa_card_opl3sa2_init(void)
971 pnpc_registered = 1; 976 pnpc_registered = 1;
972 cards += err; 977 cards += err;
973 } 978 }
979#endif
974 980
975 if (!cards) { 981 if (!cards) {
976#ifdef MODULE 982#ifdef MODULE
diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c
index 1ea3944ef7ab..63d96be11b2b 100644
--- a/sound/isa/opti9xx/opti92x-ad1848.c
+++ b/sound/isa/opti9xx/opti92x-ad1848.c
@@ -1349,7 +1349,7 @@ static int snd_opti93x_pcm(struct snd_opti93x *codec, int device, struct snd_pcm
1349 int error; 1349 int error;
1350 struct snd_pcm *pcm; 1350 struct snd_pcm *pcm;
1351 1351
1352 if ((error = snd_pcm_new(codec->card, "OPTi 82C93X", device, 1, 1, &pcm))) 1352 if ((error = snd_pcm_new(codec->card, "OPTi 82C93X", device, 1, 1, &pcm)) < 0)
1353 return error; 1353 return error;
1354 1354
1355 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_opti93x_playback_ops); 1355 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_opti93x_playback_ops);
diff --git a/sound/isa/sb/sb16.c b/sound/isa/sb/sb16.c
index c0be7a5a3425..0667bd14ad60 100644
--- a/sound/isa/sb/sb16.c
+++ b/sound/isa/sb/sb16.c
@@ -179,6 +179,8 @@ static struct pnp_card_device_id snd_sb16_pnpids[] = {
179 { .id = "CTL0086", .devs = { { "CTL0041" } } }, 179 { .id = "CTL0086", .devs = { { "CTL0041" } } },
180 /* Sound Blaster Vibra16X */ 180 /* Sound Blaster Vibra16X */
181 { .id = "CTL00f0", .devs = { { "CTL0043" } } }, 181 { .id = "CTL00f0", .devs = { { "CTL0043" } } },
182 /* Sound Blaster 16 (Virtual PC 2004) */
183 { .id = "tBA03b0", .devs = { {.id="PNPb003" } } },
182#else /* SNDRV_SBAWE defined */ 184#else /* SNDRV_SBAWE defined */
183 /* Sound Blaster AWE 32 PnP */ 185 /* Sound Blaster AWE 32 PnP */
184 { .id = "CTL0035", .devs = { { "CTL0031" }, { "CTL0021" } } }, 186 { .id = "CTL0035", .devs = { { "CTL0031" }, { "CTL0021" } } },
@@ -235,8 +237,6 @@ static struct pnp_card_device_id snd_sb16_pnpids[] = {
235 { .id = "CTLXXXX" , .devs = { { "CTL0044" }, { "CTL0023" } } }, 237 { .id = "CTLXXXX" , .devs = { { "CTL0044" }, { "CTL0023" } } },
236 { .id = "CTLXXXX" , .devs = { { "CTL0045" }, { "CTL0022" } } }, 238 { .id = "CTLXXXX" , .devs = { { "CTL0045" }, { "CTL0022" } } },
237#endif /* SNDRV_SBAWE */ 239#endif /* SNDRV_SBAWE */
238 /* Sound Blaster 16 PnP (Virtual PC 2004)*/
239 { .id = "tBA03b0", .devs = { { "PNPb003" } } },
240 { .id = "", } 240 { .id = "", }
241}; 241};
242 242
diff --git a/sound/isa/sscape.c b/sound/isa/sscape.c
index 5fb981c0a281..29bba8cc3ef3 100644
--- a/sound/isa/sscape.c
+++ b/sound/isa/sscape.c
@@ -69,9 +69,9 @@ module_param_array(dma, int, NULL, 0444);
69MODULE_PARM_DESC(dma, "DMA # for SoundScape driver."); 69MODULE_PARM_DESC(dma, "DMA # for SoundScape driver.");
70 70
71static struct platform_device *platform_devices[SNDRV_CARDS]; 71static struct platform_device *platform_devices[SNDRV_CARDS];
72static int pnp_registered;
73 72
74#ifdef CONFIG_PNP 73#ifdef CONFIG_PNP
74static int pnp_registered;
75static struct pnp_card_device_id sscape_pnpids[] = { 75static struct pnp_card_device_id sscape_pnpids[] = {
76 { .id = "ENS3081", .devs = { { "ENS0000" } } }, 76 { .id = "ENS3081", .devs = { { "ENS0000" } } },
77 { .id = "" } /* end */ 77 { .id = "" } /* end */
@@ -1391,8 +1391,10 @@ static void __init_or_module sscape_unregister_all(void)
1391{ 1391{
1392 int i; 1392 int i;
1393 1393
1394#ifdef CONFIG_PNP
1394 if (pnp_registered) 1395 if (pnp_registered)
1395 pnp_unregister_card_driver(&sscape_pnpc_driver); 1396 pnp_unregister_card_driver(&sscape_pnpc_driver);
1397#endif
1396 for (i = 0; i < ARRAY_SIZE(platform_devices); ++i) 1398 for (i = 0; i < ARRAY_SIZE(platform_devices); ++i)
1397 platform_device_unregister(platform_devices[i]); 1399 platform_device_unregister(platform_devices[i]);
1398 platform_driver_unregister(&snd_sscape_driver); 1400 platform_driver_unregister(&snd_sscape_driver);
@@ -1466,8 +1468,10 @@ static int __init sscape_init(void)
1466 ret = sscape_manual_probe(); 1468 ret = sscape_manual_probe();
1467 if (ret < 0) 1469 if (ret < 0)
1468 return ret; 1470 return ret;
1471#ifdef CONFIG_PNP
1469 if (pnp_register_card_driver(&sscape_pnpc_driver) >= 0) 1472 if (pnp_register_card_driver(&sscape_pnpc_driver) >= 0)
1470 pnp_registered = 1; 1473 pnp_registered = 1;
1474#endif
1471 return 0; 1475 return 0;
1472} 1476}
1473 1477
diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c
index a6dcb2f970ca..fa3ab960de17 100644
--- a/sound/isa/wavefront/wavefront.c
+++ b/sound/isa/wavefront/wavefront.c
@@ -84,10 +84,9 @@ module_param_array(use_cs4232_midi, bool, NULL, 0444);
84MODULE_PARM_DESC(use_cs4232_midi, "Use CS4232 MPU-401 interface (inaccessibly located inside your computer)"); 84MODULE_PARM_DESC(use_cs4232_midi, "Use CS4232 MPU-401 interface (inaccessibly located inside your computer)");
85 85
86static struct platform_device *platform_devices[SNDRV_CARDS]; 86static struct platform_device *platform_devices[SNDRV_CARDS];
87static int pnp_registered;
88
89 87
90#ifdef CONFIG_PNP 88#ifdef CONFIG_PNP
89static int pnp_registered;
91 90
92static struct pnp_card_device_id snd_wavefront_pnpids[] = { 91static struct pnp_card_device_id snd_wavefront_pnpids[] = {
93 /* Tropez */ 92 /* Tropez */
@@ -695,8 +694,10 @@ static void __init_or_module snd_wavefront_unregister_all(void)
695{ 694{
696 int i; 695 int i;
697 696
697#ifdef CONFIG_PNP
698 if (pnp_registered) 698 if (pnp_registered)
699 pnp_unregister_card_driver(&wavefront_pnpc_driver); 699 pnp_unregister_card_driver(&wavefront_pnpc_driver);
700#endif
700 for (i = 0; i < ARRAY_SIZE(platform_devices); ++i) 701 for (i = 0; i < ARRAY_SIZE(platform_devices); ++i)
701 platform_device_unregister(platform_devices[i]); 702 platform_device_unregister(platform_devices[i]);
702 platform_driver_unregister(&snd_wavefront_driver); 703 platform_driver_unregister(&snd_wavefront_driver);
@@ -725,11 +726,13 @@ static int __init alsa_card_wavefront_init(void)
725 cards++; 726 cards++;
726 } 727 }
727 728
729#ifdef CONFIG_PNP
728 i = pnp_register_card_driver(&wavefront_pnpc_driver); 730 i = pnp_register_card_driver(&wavefront_pnpc_driver);
729 if (i >= 0) { 731 if (i >= 0) {
730 pnp_registered = 1; 732 pnp_registered = 1;
731 cards += i; 733 cards += i;
732 } 734 }
735#endif
733 736
734 if (!cards) { 737 if (!cards) {
735#ifdef MODULE 738#ifdef MODULE
diff --git a/sound/isa/wavefront/wavefront_synth.c b/sound/isa/wavefront/wavefront_synth.c
index ed81eec6e732..68aa091e8961 100644
--- a/sound/isa/wavefront/wavefront_synth.c
+++ b/sound/isa/wavefront/wavefront_synth.c
@@ -866,7 +866,7 @@ wavefront_send_sample (snd_wavefront_t *dev,
866 divided by 2. 866 divided by 2.
867 */ 867 */
868 868
869 u16 sample_short; 869 u16 sample_short = 0;
870 u32 length; 870 u32 length;
871 u16 __user *data_end = NULL; 871 u16 __user *data_end = NULL;
872 unsigned int i; 872 unsigned int i;