aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/sound/wss.h6
-rw-r--r--sound/isa/ad1848/ad1848.c7
-rw-r--r--sound/isa/azt2320.c4
-rw-r--r--sound/isa/cmi8328.c4
-rw-r--r--sound/isa/cs423x/cs4231.c9
-rw-r--r--sound/isa/cs423x/cs4236.c13
-rw-r--r--sound/isa/cs423x/cs4236_lib.c9
-rw-r--r--sound/isa/galaxy/galaxy.c4
-rw-r--r--sound/isa/gus/gusmax.c4
-rw-r--r--sound/isa/gus/interwave.c10
-rw-r--r--sound/isa/opl3sa2.c4
-rw-r--r--sound/isa/opti9xx/miro.c12
-rw-r--r--sound/isa/opti9xx/opti92x-ad1848.c13
-rw-r--r--sound/isa/sc6000.c2
-rw-r--r--sound/isa/sscape.c5
-rw-r--r--sound/isa/wavefront/wavefront.c4
-rw-r--r--sound/isa/wss/wss_lib.c8
17 files changed, 51 insertions, 67 deletions
diff --git a/include/sound/wss.h b/include/sound/wss.h
index 0c7f034f1e86..1823e3a964e2 100644
--- a/include/sound/wss.h
+++ b/include/sound/wss.h
@@ -154,8 +154,8 @@ int snd_wss_create(struct snd_card *card,
154 unsigned short hardware, 154 unsigned short hardware,
155 unsigned short hwshare, 155 unsigned short hwshare,
156 struct snd_wss **rchip); 156 struct snd_wss **rchip);
157int snd_wss_pcm(struct snd_wss *chip, int device, struct snd_pcm **rpcm); 157int snd_wss_pcm(struct snd_wss *chip, int device);
158int snd_wss_timer(struct snd_wss *chip, int device, struct snd_timer **rtimer); 158int snd_wss_timer(struct snd_wss *chip, int device);
159int snd_wss_mixer(struct snd_wss *chip); 159int snd_wss_mixer(struct snd_wss *chip);
160 160
161const struct snd_pcm_ops *snd_wss_get_pcm_ops(int direction); 161const struct snd_pcm_ops *snd_wss_get_pcm_ops(int direction);
@@ -167,7 +167,7 @@ int snd_cs4236_create(struct snd_card *card,
167 unsigned short hardware, 167 unsigned short hardware,
168 unsigned short hwshare, 168 unsigned short hwshare,
169 struct snd_wss **rchip); 169 struct snd_wss **rchip);
170int snd_cs4236_pcm(struct snd_wss *chip, int device, struct snd_pcm **rpcm); 170int snd_cs4236_pcm(struct snd_wss *chip, int device);
171int snd_cs4236_mixer(struct snd_wss *chip); 171int snd_cs4236_mixer(struct snd_wss *chip);
172 172
173/* 173/*
diff --git a/sound/isa/ad1848/ad1848.c b/sound/isa/ad1848/ad1848.c
index 093f22a464d7..f159da4ec890 100644
--- a/sound/isa/ad1848/ad1848.c
+++ b/sound/isa/ad1848/ad1848.c
@@ -88,7 +88,6 @@ static int snd_ad1848_probe(struct device *dev, unsigned int n)
88{ 88{
89 struct snd_card *card; 89 struct snd_card *card;
90 struct snd_wss *chip; 90 struct snd_wss *chip;
91 struct snd_pcm *pcm;
92 int error; 91 int error;
93 92
94 error = snd_card_new(dev, index[n], id[n], THIS_MODULE, 0, &card); 93 error = snd_card_new(dev, index[n], id[n], THIS_MODULE, 0, &card);
@@ -103,7 +102,7 @@ static int snd_ad1848_probe(struct device *dev, unsigned int n)
103 102
104 card->private_data = chip; 103 card->private_data = chip;
105 104
106 error = snd_wss_pcm(chip, 0, &pcm); 105 error = snd_wss_pcm(chip, 0);
107 if (error < 0) 106 if (error < 0)
108 goto out; 107 goto out;
109 108
@@ -112,10 +111,10 @@ static int snd_ad1848_probe(struct device *dev, unsigned int n)
112 goto out; 111 goto out;
113 112
114 strcpy(card->driver, "AD1848"); 113 strcpy(card->driver, "AD1848");
115 strcpy(card->shortname, pcm->name); 114 strcpy(card->shortname, chip->pcm->name);
116 115
117 sprintf(card->longname, "%s at 0x%lx, irq %d, dma %d", 116 sprintf(card->longname, "%s at 0x%lx, irq %d, dma %d",
118 pcm->name, chip->port, irq[n], dma1[n]); 117 chip->pcm->name, chip->port, irq[n], dma1[n]);
119 if (thinkpad[n]) 118 if (thinkpad[n])
120 strcat(card->longname, " [Thinkpad]"); 119 strcat(card->longname, " [Thinkpad]");
121 120
diff --git a/sound/isa/azt2320.c b/sound/isa/azt2320.c
index 0ea75fc62072..b8e768e5ce80 100644
--- a/sound/isa/azt2320.c
+++ b/sound/isa/azt2320.c
@@ -215,7 +215,7 @@ static int snd_card_azt2320_probe(int dev,
215 sprintf(card->longname, "%s, WSS at 0x%lx, irq %i, dma %i&%i", 215 sprintf(card->longname, "%s, WSS at 0x%lx, irq %i, dma %i&%i",
216 card->shortname, chip->port, irq[dev], dma1[dev], dma2[dev]); 216 card->shortname, chip->port, irq[dev], dma1[dev], dma2[dev]);
217 217
218 error = snd_wss_pcm(chip, 0, NULL); 218 error = snd_wss_pcm(chip, 0);
219 if (error < 0) { 219 if (error < 0) {
220 snd_card_free(card); 220 snd_card_free(card);
221 return error; 221 return error;
@@ -225,7 +225,7 @@ static int snd_card_azt2320_probe(int dev,
225 snd_card_free(card); 225 snd_card_free(card);
226 return error; 226 return error;
227 } 227 }
228 error = snd_wss_timer(chip, 0, NULL); 228 error = snd_wss_timer(chip, 0);
229 if (error < 0) { 229 if (error < 0) {
230 snd_card_free(card); 230 snd_card_free(card);
231 return error; 231 return error;
diff --git a/sound/isa/cmi8328.c b/sound/isa/cmi8328.c
index 4778852a1201..2c89d95da674 100644
--- a/sound/isa/cmi8328.c
+++ b/sound/isa/cmi8328.c
@@ -307,7 +307,7 @@ static int snd_cmi8328_probe(struct device *pdev, unsigned int ndev)
307 if (err < 0) 307 if (err < 0)
308 goto error; 308 goto error;
309 309
310 err = snd_wss_pcm(cmi->wss, 0, NULL); 310 err = snd_wss_pcm(cmi->wss, 0);
311 if (err < 0) 311 if (err < 0)
312 goto error; 312 goto error;
313 313
@@ -318,7 +318,7 @@ static int snd_cmi8328_probe(struct device *pdev, unsigned int ndev)
318 if (err < 0) 318 if (err < 0)
319 goto error; 319 goto error;
320 320
321 if (snd_wss_timer(cmi->wss, 0, NULL) < 0) 321 if (snd_wss_timer(cmi->wss, 0) < 0)
322 snd_printk(KERN_WARNING "error initializing WSS timer\n"); 322 snd_printk(KERN_WARNING "error initializing WSS timer\n");
323 323
324 if (mpuport[ndev] == SNDRV_AUTO_PORT) { 324 if (mpuport[ndev] == SNDRV_AUTO_PORT) {
diff --git a/sound/isa/cs423x/cs4231.c b/sound/isa/cs423x/cs4231.c
index 7dba07a4343a..282cd75d2235 100644
--- a/sound/isa/cs423x/cs4231.c
+++ b/sound/isa/cs423x/cs4231.c
@@ -92,7 +92,6 @@ static int snd_cs4231_probe(struct device *dev, unsigned int n)
92{ 92{
93 struct snd_card *card; 93 struct snd_card *card;
94 struct snd_wss *chip; 94 struct snd_wss *chip;
95 struct snd_pcm *pcm;
96 int error; 95 int error;
97 96
98 error = snd_card_new(dev, index[n], id[n], THIS_MODULE, 0, &card); 97 error = snd_card_new(dev, index[n], id[n], THIS_MODULE, 0, &card);
@@ -106,15 +105,15 @@ static int snd_cs4231_probe(struct device *dev, unsigned int n)
106 105
107 card->private_data = chip; 106 card->private_data = chip;
108 107
109 error = snd_wss_pcm(chip, 0, &pcm); 108 error = snd_wss_pcm(chip, 0);
110 if (error < 0) 109 if (error < 0)
111 goto out; 110 goto out;
112 111
113 strcpy(card->driver, "CS4231"); 112 strcpy(card->driver, "CS4231");
114 strcpy(card->shortname, pcm->name); 113 strcpy(card->shortname, chip->pcm->name);
115 114
116 sprintf(card->longname, "%s at 0x%lx, irq %d, dma %d", 115 sprintf(card->longname, "%s at 0x%lx, irq %d, dma %d",
117 pcm->name, chip->port, irq[n], dma1[n]); 116 chip->pcm->name, chip->port, irq[n], dma1[n]);
118 if (dma2[n] >= 0) 117 if (dma2[n] >= 0)
119 sprintf(card->longname + strlen(card->longname), "&%d", dma2[n]); 118 sprintf(card->longname + strlen(card->longname), "&%d", dma2[n]);
120 119
@@ -122,7 +121,7 @@ static int snd_cs4231_probe(struct device *dev, unsigned int n)
122 if (error < 0) 121 if (error < 0)
123 goto out; 122 goto out;
124 123
125 error = snd_wss_timer(chip, 0, NULL); 124 error = snd_wss_timer(chip, 0);
126 if (error < 0) 125 if (error < 0)
127 goto out; 126 goto out;
128 127
diff --git a/sound/isa/cs423x/cs4236.c b/sound/isa/cs423x/cs4236.c
index 750f51c904fc..9d7582c90a95 100644
--- a/sound/isa/cs423x/cs4236.c
+++ b/sound/isa/cs423x/cs4236.c
@@ -382,7 +382,6 @@ static int snd_cs423x_card_new(struct device *pdev, int dev,
382static int snd_cs423x_probe(struct snd_card *card, int dev) 382static int snd_cs423x_probe(struct snd_card *card, int dev)
383{ 383{
384 struct snd_card_cs4236 *acard; 384 struct snd_card_cs4236 *acard;
385 struct snd_pcm *pcm;
386 struct snd_wss *chip; 385 struct snd_wss *chip;
387 struct snd_opl3 *opl3; 386 struct snd_opl3 *opl3;
388 int err; 387 int err;
@@ -404,7 +403,7 @@ static int snd_cs423x_probe(struct snd_card *card, int dev)
404 acard->chip = chip; 403 acard->chip = chip;
405 if (chip->hardware & WSS_HW_CS4236B_MASK) { 404 if (chip->hardware & WSS_HW_CS4236B_MASK) {
406 405
407 err = snd_cs4236_pcm(chip, 0, &pcm); 406 err = snd_cs4236_pcm(chip, 0);
408 if (err < 0) 407 if (err < 0)
409 return err; 408 return err;
410 409
@@ -412,7 +411,7 @@ static int snd_cs423x_probe(struct snd_card *card, int dev)
412 if (err < 0) 411 if (err < 0)
413 return err; 412 return err;
414 } else { 413 } else {
415 err = snd_wss_pcm(chip, 0, &pcm); 414 err = snd_wss_pcm(chip, 0);
416 if (err < 0) 415 if (err < 0)
417 return err; 416 return err;
418 417
@@ -420,17 +419,17 @@ static int snd_cs423x_probe(struct snd_card *card, int dev)
420 if (err < 0) 419 if (err < 0)
421 return err; 420 return err;
422 } 421 }
423 strcpy(card->driver, pcm->name); 422 strcpy(card->driver, chip->pcm->name);
424 strcpy(card->shortname, pcm->name); 423 strcpy(card->shortname, chip->pcm->name);
425 sprintf(card->longname, "%s at 0x%lx, irq %i, dma %i", 424 sprintf(card->longname, "%s at 0x%lx, irq %i, dma %i",
426 pcm->name, 425 chip->pcm->name,
427 chip->port, 426 chip->port,
428 irq[dev], 427 irq[dev],
429 dma1[dev]); 428 dma1[dev]);
430 if (dma2[dev] >= 0) 429 if (dma2[dev] >= 0)
431 sprintf(card->longname + strlen(card->longname), "&%d", dma2[dev]); 430 sprintf(card->longname + strlen(card->longname), "&%d", dma2[dev]);
432 431
433 err = snd_wss_timer(chip, 0, NULL); 432 err = snd_wss_timer(chip, 0);
434 if (err < 0) 433 if (err < 0)
435 return err; 434 return err;
436 435
diff --git a/sound/isa/cs423x/cs4236_lib.c b/sound/isa/cs423x/cs4236_lib.c
index c5adca300632..add7ffc072c5 100644
--- a/sound/isa/cs423x/cs4236_lib.c
+++ b/sound/isa/cs423x/cs4236_lib.c
@@ -376,17 +376,14 @@ int snd_cs4236_create(struct snd_card *card,
376 return 0; 376 return 0;
377} 377}
378 378
379int snd_cs4236_pcm(struct snd_wss *chip, int device, struct snd_pcm **rpcm) 379int snd_cs4236_pcm(struct snd_wss *chip, int device)
380{ 380{
381 struct snd_pcm *pcm;
382 int err; 381 int err;
383 382
384 err = snd_wss_pcm(chip, device, &pcm); 383 err = snd_wss_pcm(chip, device);
385 if (err < 0) 384 if (err < 0)
386 return err; 385 return err;
387 pcm->info_flags &= ~SNDRV_PCM_INFO_JOINT_DUPLEX; 386 chip->pcm->info_flags &= ~SNDRV_PCM_INFO_JOINT_DUPLEX;
388 if (rpcm)
389 *rpcm = pcm;
390 return 0; 387 return 0;
391} 388}
392 389
diff --git a/sound/isa/galaxy/galaxy.c b/sound/isa/galaxy/galaxy.c
index 1eb2b1ec0fd9..32278847884f 100644
--- a/sound/isa/galaxy/galaxy.c
+++ b/sound/isa/galaxy/galaxy.c
@@ -569,7 +569,7 @@ static int snd_galaxy_probe(struct device *dev, unsigned int n)
569 if (err < 0) 569 if (err < 0)
570 goto error; 570 goto error;
571 571
572 err = snd_wss_pcm(chip, 0, NULL); 572 err = snd_wss_pcm(chip, 0);
573 if (err < 0) 573 if (err < 0)
574 goto error; 574 goto error;
575 575
@@ -577,7 +577,7 @@ static int snd_galaxy_probe(struct device *dev, unsigned int n)
577 if (err < 0) 577 if (err < 0)
578 goto error; 578 goto error;
579 579
580 err = snd_wss_timer(chip, 0, NULL); 580 err = snd_wss_timer(chip, 0);
581 if (err < 0) 581 if (err < 0)
582 goto error; 582 goto error;
583 583
diff --git a/sound/isa/gus/gusmax.c b/sound/isa/gus/gusmax.c
index b2b3734a8e72..8216e8d8f017 100644
--- a/sound/isa/gus/gusmax.c
+++ b/sound/isa/gus/gusmax.c
@@ -309,7 +309,7 @@ static int snd_gusmax_probe(struct device *pdev, unsigned int dev)
309 if (err < 0) 309 if (err < 0)
310 goto _err; 310 goto _err;
311 311
312 err = snd_wss_pcm(wss, 0, NULL); 312 err = snd_wss_pcm(wss, 0);
313 if (err < 0) 313 if (err < 0)
314 goto _err; 314 goto _err;
315 315
@@ -317,7 +317,7 @@ static int snd_gusmax_probe(struct device *pdev, unsigned int dev)
317 if (err < 0) 317 if (err < 0)
318 goto _err; 318 goto _err;
319 319
320 err = snd_wss_timer(wss, 2, NULL); 320 err = snd_wss_timer(wss, 2);
321 if (err < 0) 321 if (err < 0)
322 goto _err; 322 goto _err;
323 323
diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c
index 8ea54a7f78d2..70d0040484c8 100644
--- a/sound/isa/gus/interwave.c
+++ b/sound/isa/gus/interwave.c
@@ -647,7 +647,6 @@ static int snd_interwave_probe(struct snd_card *card, int dev)
647#ifdef SNDRV_STB 647#ifdef SNDRV_STB
648 struct snd_i2c_bus *i2c_bus; 648 struct snd_i2c_bus *i2c_bus;
649#endif 649#endif
650 struct snd_pcm *pcm;
651 char *str; 650 char *str;
652 int err; 651 int err;
653 652
@@ -695,14 +694,15 @@ static int snd_interwave_probe(struct snd_card *card, int dev)
695 if (err < 0) 694 if (err < 0)
696 return err; 695 return err;
697 696
698 err = snd_wss_pcm(wss, 0, &pcm); 697 err = snd_wss_pcm(wss, 0);
699 if (err < 0) 698 if (err < 0)
700 return err; 699 return err;
701 700
702 sprintf(pcm->name + strlen(pcm->name), " rev %c", gus->revision + 'A'); 701 sprintf(wss->pcm->name + strlen(wss->pcm->name), " rev %c",
703 strcat(pcm->name, " (codec)"); 702 gus->revision + 'A');
703 strcat(wss->pcm->name, " (codec)");
704 704
705 err = snd_wss_timer(wss, 2, NULL); 705 err = snd_wss_timer(wss, 2);
706 if (err < 0) 706 if (err < 0)
707 return err; 707 return err;
708 708
diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c
index a219bc37816b..d7aff527da88 100644
--- a/sound/isa/opl3sa2.c
+++ b/sound/isa/opl3sa2.c
@@ -684,7 +684,7 @@ static int snd_opl3sa2_probe(struct snd_card *card, int dev)
684 return err; 684 return err;
685 } 685 }
686 chip->wss = wss; 686 chip->wss = wss;
687 err = snd_wss_pcm(wss, 0, NULL); 687 err = snd_wss_pcm(wss, 0);
688 if (err < 0) 688 if (err < 0)
689 return err; 689 return err;
690 err = snd_wss_mixer(wss); 690 err = snd_wss_mixer(wss);
@@ -693,7 +693,7 @@ static int snd_opl3sa2_probe(struct snd_card *card, int dev)
693 err = snd_opl3sa2_mixer(card); 693 err = snd_opl3sa2_mixer(card);
694 if (err < 0) 694 if (err < 0)
695 return err; 695 return err;
696 err = snd_wss_timer(wss, 0, NULL); 696 err = snd_wss_timer(wss, 0);
697 if (err < 0) 697 if (err < 0)
698 return err; 698 return err;
699 if (fm_port[dev] >= 0x340 && fm_port[dev] < 0x400) { 699 if (fm_port[dev] >= 0x340 && fm_port[dev] < 0x400) {
diff --git a/sound/isa/opti9xx/miro.c b/sound/isa/opti9xx/miro.c
index c2ca681ac51b..546452888aed 100644
--- a/sound/isa/opti9xx/miro.c
+++ b/sound/isa/opti9xx/miro.c
@@ -1270,8 +1270,6 @@ static int snd_miro_probe(struct snd_card *card)
1270 int error; 1270 int error;
1271 struct snd_miro *miro = card->private_data; 1271 struct snd_miro *miro = card->private_data;
1272 struct snd_wss *codec; 1272 struct snd_wss *codec;
1273 struct snd_timer *timer;
1274 struct snd_pcm *pcm;
1275 struct snd_rawmidi *rmidi; 1273 struct snd_rawmidi *rmidi;
1276 1274
1277 if (!miro->res_mc_base) { 1275 if (!miro->res_mc_base) {
@@ -1310,7 +1308,7 @@ static int snd_miro_probe(struct snd_card *card)
1310 if (error < 0) 1308 if (error < 0)
1311 return error; 1309 return error;
1312 1310
1313 error = snd_wss_pcm(codec, 0, &pcm); 1311 error = snd_wss_pcm(codec, 0);
1314 if (error < 0) 1312 if (error < 0)
1315 return error; 1313 return error;
1316 1314
@@ -1318,11 +1316,11 @@ static int snd_miro_probe(struct snd_card *card)
1318 if (error < 0) 1316 if (error < 0)
1319 return error; 1317 return error;
1320 1318
1321 error = snd_wss_timer(codec, 0, &timer); 1319 error = snd_wss_timer(codec, 0);
1322 if (error < 0) 1320 if (error < 0)
1323 return error; 1321 return error;
1324 1322
1325 miro->pcm = pcm; 1323 miro->pcm = codec->pcm;
1326 1324
1327 error = snd_miro_mixer(card, miro); 1325 error = snd_miro_mixer(card, miro);
1328 if (error < 0) 1326 if (error < 0)
@@ -1356,8 +1354,8 @@ static int snd_miro_probe(struct snd_card *card)
1356 1354
1357 strcpy(card->driver, "miro"); 1355 strcpy(card->driver, "miro");
1358 sprintf(card->longname, "%s: OPTi%s, %s at 0x%lx, irq %d, dma %d&%d", 1356 sprintf(card->longname, "%s: OPTi%s, %s at 0x%lx, irq %d, dma %d&%d",
1359 card->shortname, miro->name, pcm->name, miro->wss_base + 4, 1357 card->shortname, miro->name, codec->pcm->name,
1360 miro->irq, miro->dma1, miro->dma2); 1358 miro->wss_base + 4, miro->irq, miro->dma1, miro->dma2);
1361 1359
1362 if (mpu_port <= 0 || mpu_port == SNDRV_AUTO_PORT) 1360 if (mpu_port <= 0 || mpu_port == SNDRV_AUTO_PORT)
1363 rmidi = NULL; 1361 rmidi = NULL;
diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c
index c9b582848603..840831f1dd4e 100644
--- a/sound/isa/opti9xx/opti92x-ad1848.c
+++ b/sound/isa/opti9xx/opti92x-ad1848.c
@@ -820,10 +820,6 @@ static int snd_opti9xx_probe(struct snd_card *card)
820 int xdma2; 820 int xdma2;
821 struct snd_opti9xx *chip = card->private_data; 821 struct snd_opti9xx *chip = card->private_data;
822 struct snd_wss *codec; 822 struct snd_wss *codec;
823#ifdef CS4231
824 struct snd_timer *timer;
825#endif
826 struct snd_pcm *pcm;
827 struct snd_rawmidi *rmidi; 823 struct snd_rawmidi *rmidi;
828 struct snd_hwdep *synth; 824 struct snd_hwdep *synth;
829 825
@@ -855,7 +851,7 @@ static int snd_opti9xx_probe(struct snd_card *card)
855 if (error < 0) 851 if (error < 0)
856 return error; 852 return error;
857 chip->codec = codec; 853 chip->codec = codec;
858 error = snd_wss_pcm(codec, 0, &pcm); 854 error = snd_wss_pcm(codec, 0);
859 if (error < 0) 855 if (error < 0)
860 return error; 856 return error;
861 error = snd_wss_mixer(codec); 857 error = snd_wss_mixer(codec);
@@ -867,7 +863,7 @@ static int snd_opti9xx_probe(struct snd_card *card)
867 return error; 863 return error;
868#endif 864#endif
869#ifdef CS4231 865#ifdef CS4231
870 error = snd_wss_timer(codec, 0, &timer); 866 error = snd_wss_timer(codec, 0);
871 if (error < 0) 867 if (error < 0)
872 return error; 868 return error;
873#endif 869#endif
@@ -884,11 +880,12 @@ static int snd_opti9xx_probe(struct snd_card *card)
884 sprintf(card->shortname, "OPTi %s", card->driver); 880 sprintf(card->shortname, "OPTi %s", card->driver);
885#if defined(CS4231) || defined(OPTi93X) 881#if defined(CS4231) || defined(OPTi93X)
886 sprintf(card->longname, "%s, %s at 0x%lx, irq %d, dma %d&%d", 882 sprintf(card->longname, "%s, %s at 0x%lx, irq %d, dma %d&%d",
887 card->shortname, pcm->name, 883 card->shortname, codec->pcm->name,
888 chip->wss_base + 4, irq, dma1, xdma2); 884 chip->wss_base + 4, irq, dma1, xdma2);
889#else 885#else
890 sprintf(card->longname, "%s, %s at 0x%lx, irq %d, dma %d", 886 sprintf(card->longname, "%s, %s at 0x%lx, irq %d, dma %d",
891 card->shortname, pcm->name, chip->wss_base + 4, irq, dma1); 887 card->shortname, codec->pcm->name, chip->wss_base + 4, irq,
888 dma1);
892#endif /* CS4231 || OPTi93X */ 889#endif /* CS4231 || OPTi93X */
893 890
894 if (mpu_port <= 0 || mpu_port == SNDRV_AUTO_PORT) 891 if (mpu_port <= 0 || mpu_port == SNDRV_AUTO_PORT)
diff --git a/sound/isa/sc6000.c b/sound/isa/sc6000.c
index 15a152eaa2e8..51cfa7615f72 100644
--- a/sound/isa/sc6000.c
+++ b/sound/isa/sc6000.c
@@ -625,7 +625,7 @@ static int snd_sc6000_probe(struct device *devptr, unsigned int dev)
625 if (err < 0) 625 if (err < 0)
626 goto err_unmap2; 626 goto err_unmap2;
627 627
628 err = snd_wss_pcm(chip, 0, NULL); 628 err = snd_wss_pcm(chip, 0);
629 if (err < 0) { 629 if (err < 0) {
630 snd_printk(KERN_ERR PFX 630 snd_printk(KERN_ERR PFX
631 "error creating new WSS PCM device\n"); 631 "error creating new WSS PCM device\n");
diff --git a/sound/isa/sscape.c b/sound/isa/sscape.c
index 44405df7d4be..018ab140c2be 100644
--- a/sound/isa/sscape.c
+++ b/sound/isa/sscape.c
@@ -877,7 +877,6 @@ static int create_ad1845(struct snd_card *card, unsigned port,
877 codec_type, WSS_HWSHARE_DMA1, &chip); 877 codec_type, WSS_HWSHARE_DMA1, &chip);
878 if (!err) { 878 if (!err) {
879 unsigned long flags; 879 unsigned long flags;
880 struct snd_pcm *pcm;
881 880
882 if (sscape->type != SSCAPE_VIVO) { 881 if (sscape->type != SSCAPE_VIVO) {
883 /* 882 /*
@@ -893,7 +892,7 @@ static int create_ad1845(struct snd_card *card, unsigned port,
893 892
894 } 893 }
895 894
896 err = snd_wss_pcm(chip, 0, &pcm); 895 err = snd_wss_pcm(chip, 0);
897 if (err < 0) { 896 if (err < 0) {
898 snd_printk(KERN_ERR "sscape: No PCM device " 897 snd_printk(KERN_ERR "sscape: No PCM device "
899 "for AD1845 chip\n"); 898 "for AD1845 chip\n");
@@ -907,7 +906,7 @@ static int create_ad1845(struct snd_card *card, unsigned port,
907 goto _error; 906 goto _error;
908 } 907 }
909 if (chip->hardware != WSS_HW_AD1848) { 908 if (chip->hardware != WSS_HW_AD1848) {
910 err = snd_wss_timer(chip, 0, NULL); 909 err = snd_wss_timer(chip, 0);
911 if (err < 0) { 910 if (err < 0) {
912 snd_printk(KERN_ERR "sscape: No timer device " 911 snd_printk(KERN_ERR "sscape: No timer device "
913 "for AD1845 chip\n"); 912 "for AD1845 chip\n");
diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c
index bfbf38cf9841..a0987a57c8a9 100644
--- a/sound/isa/wavefront/wavefront.c
+++ b/sound/isa/wavefront/wavefront.c
@@ -380,11 +380,11 @@ snd_wavefront_probe (struct snd_card *card, int dev)
380 return err; 380 return err;
381 } 381 }
382 382
383 err = snd_wss_pcm(chip, 0, NULL); 383 err = snd_wss_pcm(chip, 0);
384 if (err < 0) 384 if (err < 0)
385 return err; 385 return err;
386 386
387 err = snd_wss_timer(chip, 0, NULL); 387 err = snd_wss_timer(chip, 0);
388 if (err < 0) 388 if (err < 0)
389 return err; 389 return err;
390 390
diff --git a/sound/isa/wss/wss_lib.c b/sound/isa/wss/wss_lib.c
index 347bb1bda110..6530d32901b9 100644
--- a/sound/isa/wss/wss_lib.c
+++ b/sound/isa/wss/wss_lib.c
@@ -1923,7 +1923,7 @@ static struct snd_pcm_ops snd_wss_capture_ops = {
1923 .pointer = snd_wss_capture_pointer, 1923 .pointer = snd_wss_capture_pointer,
1924}; 1924};
1925 1925
1926int snd_wss_pcm(struct snd_wss *chip, int device, struct snd_pcm **rpcm) 1926int snd_wss_pcm(struct snd_wss *chip, int device)
1927{ 1927{
1928 struct snd_pcm *pcm; 1928 struct snd_pcm *pcm;
1929 int err; 1929 int err;
@@ -1949,8 +1949,6 @@ int snd_wss_pcm(struct snd_wss *chip, int device, struct snd_pcm **rpcm)
1949 64*1024, chip->dma1 > 3 || chip->dma2 > 3 ? 128*1024 : 64*1024); 1949 64*1024, chip->dma1 > 3 || chip->dma2 > 3 ? 128*1024 : 64*1024);
1950 1950
1951 chip->pcm = pcm; 1951 chip->pcm = pcm;
1952 if (rpcm)
1953 *rpcm = pcm;
1954 return 0; 1952 return 0;
1955} 1953}
1956EXPORT_SYMBOL(snd_wss_pcm); 1954EXPORT_SYMBOL(snd_wss_pcm);
@@ -1961,7 +1959,7 @@ static void snd_wss_timer_free(struct snd_timer *timer)
1961 chip->timer = NULL; 1959 chip->timer = NULL;
1962} 1960}
1963 1961
1964int snd_wss_timer(struct snd_wss *chip, int device, struct snd_timer **rtimer) 1962int snd_wss_timer(struct snd_wss *chip, int device)
1965{ 1963{
1966 struct snd_timer *timer; 1964 struct snd_timer *timer;
1967 struct snd_timer_id tid; 1965 struct snd_timer_id tid;
@@ -1980,8 +1978,6 @@ int snd_wss_timer(struct snd_wss *chip, int device, struct snd_timer **rtimer)
1980 timer->private_free = snd_wss_timer_free; 1978 timer->private_free = snd_wss_timer_free;
1981 timer->hw = snd_wss_timer_table; 1979 timer->hw = snd_wss_timer_table;
1982 chip->timer = timer; 1980 chip->timer = timer;
1983 if (rtimer)
1984 *rtimer = timer;
1985 return 0; 1981 return 0;
1986} 1982}
1987EXPORT_SYMBOL(snd_wss_timer); 1983EXPORT_SYMBOL(snd_wss_timer);