Commit 7779f75f authored by Krzysztof Helt's avatar Krzysztof Helt Committed by Jaroslav Kysela

ALSA: wss_lib: rename cs4321_foo to wss_foo

Rename functions and structures from the former
cs4321_lib to names more corresponding with the
new name: wss_lib.
Signed-off-by: default avatarKrzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: default avatarRene Herman <rene.herman@gmail.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
parent 61ef19d7
This diff is collapsed.
...@@ -76,7 +76,7 @@ struct snd_card_azt2320 { ...@@ -76,7 +76,7 @@ struct snd_card_azt2320 {
int dev_no; int dev_no;
struct pnp_dev *dev; struct pnp_dev *dev;
struct pnp_dev *devmpu; struct pnp_dev *devmpu;
struct snd_cs4231 *chip; struct snd_wss *chip;
}; };
static struct pnp_card_device_id snd_azt2320_pnpids[] = { static struct pnp_card_device_id snd_azt2320_pnpids[] = {
...@@ -181,7 +181,7 @@ static int __devinit snd_card_azt2320_probe(int dev, ...@@ -181,7 +181,7 @@ static int __devinit snd_card_azt2320_probe(int dev,
int error; int error;
struct snd_card *card; struct snd_card *card;
struct snd_card_azt2320 *acard; struct snd_card_azt2320 *acard;
struct snd_cs4231 *chip; struct snd_wss *chip;
struct snd_opl3 *opl3; struct snd_opl3 *opl3;
if ((card = snd_card_new(index[dev], id[dev], THIS_MODULE, if ((card = snd_card_new(index[dev], id[dev], THIS_MODULE,
...@@ -200,11 +200,11 @@ static int __devinit snd_card_azt2320_probe(int dev, ...@@ -200,11 +200,11 @@ static int __devinit snd_card_azt2320_probe(int dev,
return error; return error;
} }
if ((error = snd_cs4231_create(card, wss_port[dev], -1, error = snd_wss_create(card, wss_port[dev], -1,
irq[dev], irq[dev],
dma1[dev], dma1[dev], dma2[dev],
dma2[dev], WSS_HW_DETECT, 0, &chip);
CS4231_HW_DETECT, 0, &chip)) < 0) { if (error < 0) {
snd_card_free(card); snd_card_free(card);
return error; return error;
} }
...@@ -214,15 +214,18 @@ static int __devinit snd_card_azt2320_probe(int dev, ...@@ -214,15 +214,18 @@ static int __devinit snd_card_azt2320_probe(int dev,
sprintf(card->longname, "%s, WSS at 0x%lx, irq %i, dma %i&%i", sprintf(card->longname, "%s, WSS at 0x%lx, irq %i, dma %i&%i",
card->shortname, chip->port, irq[dev], dma1[dev], dma2[dev]); card->shortname, chip->port, irq[dev], dma1[dev], dma2[dev]);
if ((error = snd_cs4231_pcm(chip, 0, NULL)) < 0) { error = snd_wss_pcm(chip, 0, NULL);
if (error < 0) {
snd_card_free(card); snd_card_free(card);
return error; return error;
} }
if ((error = snd_cs4231_mixer(chip)) < 0) { error = snd_wss_mixer(chip);
if (error < 0) {
snd_card_free(card); snd_card_free(card);
return error; return error;
} }
if ((error = snd_cs4231_timer(chip, 0, NULL)) < 0) { error = snd_wss_timer(chip, 0, NULL);
if (error < 0) {
snd_card_free(card); snd_card_free(card);
return error; return error;
} }
...@@ -293,7 +296,7 @@ static int snd_azt2320_pnp_suspend(struct pnp_card_link *pcard, pm_message_t sta ...@@ -293,7 +296,7 @@ static int snd_azt2320_pnp_suspend(struct pnp_card_link *pcard, pm_message_t sta
{ {
struct snd_card *card = pnp_get_card_drvdata(pcard); struct snd_card *card = pnp_get_card_drvdata(pcard);
struct snd_card_azt2320 *acard = card->private_data; struct snd_card_azt2320 *acard = card->private_data;
struct snd_cs4231 *chip = acard->chip; struct snd_wss *chip = acard->chip;
snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
chip->suspend(chip); chip->suspend(chip);
...@@ -304,7 +307,7 @@ static int snd_azt2320_pnp_resume(struct pnp_card_link *pcard) ...@@ -304,7 +307,7 @@ static int snd_azt2320_pnp_resume(struct pnp_card_link *pcard)
{ {
struct snd_card *card = pnp_get_card_drvdata(pcard); struct snd_card *card = pnp_get_card_drvdata(pcard);
struct snd_card_azt2320 *acard = card->private_data; struct snd_card_azt2320 *acard = card->private_data;
struct snd_cs4231 *chip = acard->chip; struct snd_wss *chip = acard->chip;
chip->resume(chip); chip->resume(chip);
snd_power_change_state(card, SNDRV_CTL_POWER_D0); snd_power_change_state(card, SNDRV_CTL_POWER_D0);
......
...@@ -91,7 +91,7 @@ static int __devinit snd_cs4231_match(struct device *dev, unsigned int n) ...@@ -91,7 +91,7 @@ static int __devinit snd_cs4231_match(struct device *dev, unsigned int n)
static int __devinit snd_cs4231_probe(struct device *dev, unsigned int n) static int __devinit snd_cs4231_probe(struct device *dev, unsigned int n)
{ {
struct snd_card *card; struct snd_card *card;
struct snd_cs4231 *chip; struct snd_wss *chip;
struct snd_pcm *pcm; struct snd_pcm *pcm;
int error; int error;
...@@ -99,14 +99,14 @@ static int __devinit snd_cs4231_probe(struct device *dev, unsigned int n) ...@@ -99,14 +99,14 @@ static int __devinit snd_cs4231_probe(struct device *dev, unsigned int n)
if (!card) if (!card)
return -EINVAL; return -EINVAL;
error = snd_cs4231_create(card, port[n], -1, irq[n], dma1[n], dma2[n], error = snd_wss_create(card, port[n], -1, irq[n], dma1[n], dma2[n],
CS4231_HW_DETECT, 0, &chip); WSS_HW_DETECT, 0, &chip);
if (error < 0) if (error < 0)
goto out; goto out;
card->private_data = chip; card->private_data = chip;
error = snd_cs4231_pcm(chip, 0, &pcm); error = snd_wss_pcm(chip, 0, &pcm);
if (error < 0) if (error < 0)
goto out; goto out;
...@@ -118,11 +118,11 @@ static int __devinit snd_cs4231_probe(struct device *dev, unsigned int n) ...@@ -118,11 +118,11 @@ static int __devinit snd_cs4231_probe(struct device *dev, unsigned int n)
if (dma2[n] >= 0) if (dma2[n] >= 0)
sprintf(card->longname + strlen(card->longname), "&%d", dma2[n]); sprintf(card->longname + strlen(card->longname), "&%d", dma2[n]);
error = snd_cs4231_mixer(chip); error = snd_wss_mixer(chip);
if (error < 0) if (error < 0)
goto out; goto out;
error = snd_cs4231_timer(chip, 0, NULL); error = snd_wss_timer(chip, 0, NULL);
if (error < 0) if (error < 0)
goto out; goto out;
...@@ -160,7 +160,7 @@ static int __devexit snd_cs4231_remove(struct device *dev, unsigned int n) ...@@ -160,7 +160,7 @@ static int __devexit snd_cs4231_remove(struct device *dev, unsigned int n)
static int snd_cs4231_suspend(struct device *dev, unsigned int n, pm_message_t state) static int snd_cs4231_suspend(struct device *dev, unsigned int n, pm_message_t state)
{ {
struct snd_card *card = dev_get_drvdata(dev); struct snd_card *card = dev_get_drvdata(dev);
struct snd_cs4231 *chip = card->private_data; struct snd_wss *chip = card->private_data;
snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
chip->suspend(chip); chip->suspend(chip);
...@@ -170,7 +170,7 @@ static int snd_cs4231_suspend(struct device *dev, unsigned int n, pm_message_t s ...@@ -170,7 +170,7 @@ static int snd_cs4231_suspend(struct device *dev, unsigned int n, pm_message_t s
static int snd_cs4231_resume(struct device *dev, unsigned int n) static int snd_cs4231_resume(struct device *dev, unsigned int n)
{ {
struct snd_card *card = dev_get_drvdata(dev); struct snd_card *card = dev_get_drvdata(dev);
struct snd_cs4231 *chip = card->private_data; struct snd_wss *chip = card->private_data;
chip->resume(chip); chip->resume(chip);
snd_power_change_state(card, SNDRV_CTL_POWER_D0); snd_power_change_state(card, SNDRV_CTL_POWER_D0);
......
...@@ -134,7 +134,7 @@ static int pnp_registered; ...@@ -134,7 +134,7 @@ static int pnp_registered;
#endif /* CONFIG_PNP */ #endif /* CONFIG_PNP */
struct snd_card_cs4236 { struct snd_card_cs4236 {
struct snd_cs4231 *chip; struct snd_wss *chip;
struct resource *res_sb_port; struct resource *res_sb_port;
#ifdef CONFIG_PNP #ifdef CONFIG_PNP
struct pnp_dev *wss; struct pnp_dev *wss;
...@@ -396,7 +396,7 @@ static int __devinit snd_cs423x_probe(struct snd_card *card, int dev) ...@@ -396,7 +396,7 @@ static int __devinit snd_cs423x_probe(struct snd_card *card, int dev)
{ {
struct snd_card_cs4236 *acard; struct snd_card_cs4236 *acard;
struct snd_pcm *pcm; struct snd_pcm *pcm;
struct snd_cs4231 *chip; struct snd_wss *chip;
struct snd_opl3 *opl3; struct snd_opl3 *opl3;
int err; int err;
...@@ -408,41 +408,37 @@ static int __devinit snd_cs423x_probe(struct snd_card *card, int dev) ...@@ -408,41 +408,37 @@ static int __devinit snd_cs423x_probe(struct snd_card *card, int dev)
} }
#ifdef CS4232 #ifdef CS4232
if ((err = snd_cs4231_create(card, err = snd_wss_create(card, port[dev], cport[dev],
port[dev],
cport[dev],
irq[dev], irq[dev],
dma1[dev], dma1[dev], dma2[dev],
dma2[dev], WSS_HW_DETECT, 0, &chip);
CS4231_HW_DETECT, if (err < 0)
0,
&chip)) < 0)
return err; return err;
acard->chip = chip; acard->chip = chip;
if ((err = snd_cs4231_pcm(chip, 0, &pcm)) < 0) err = snd_wss_pcm(chip, 0, &pcm);
if (err < 0)
return err; return err;
if ((err = snd_cs4231_mixer(chip)) < 0) err = snd_wss_mixer(chip);
if (err < 0)
return err; return err;
#else /* CS4236 */ #else /* CS4236 */
if ((err = snd_cs4236_create(card, err = snd_cs4236_create(card,
port[dev], port[dev], cport[dev],
cport[dev], irq[dev], dma1[dev], dma2[dev],
irq[dev], WSS_HW_DETECT, 0, &chip);
dma1[dev], if (err < 0)
dma2[dev],
CS4231_HW_DETECT,
0,
&chip)) < 0)
return err; return err;
acard->chip = chip; acard->chip = chip;
if ((err = snd_cs4236_pcm(chip, 0, &pcm)) < 0) err = snd_cs4236_pcm(chip, 0, &pcm);
if (err < 0)
return err; return err;
if ((err = snd_cs4236_mixer(chip)) < 0) err = snd_cs4236_mixer(chip);
if (err < 0)
return err; return err;
#endif #endif
strcpy(card->driver, pcm->name); strcpy(card->driver, pcm->name);
...@@ -455,7 +451,8 @@ static int __devinit snd_cs423x_probe(struct snd_card *card, int dev) ...@@ -455,7 +451,8 @@ static int __devinit snd_cs423x_probe(struct snd_card *card, int dev)
if (dma2[dev] >= 0) if (dma2[dev] >= 0)
sprintf(card->longname + strlen(card->longname), "&%d", dma2[dev]); sprintf(card->longname + strlen(card->longname), "&%d", dma2[dev]);
if ((err = snd_cs4231_timer(chip, 0, NULL)) < 0) err = snd_wss_timer(chip, 0, NULL);
if (err < 0)
return err; return err;
if (fm_port[dev] > 0 && fm_port[dev] != SNDRV_AUTO_PORT) { if (fm_port[dev] > 0 && fm_port[dev] != SNDRV_AUTO_PORT) {
......
This diff is collapsed.
...@@ -75,7 +75,7 @@ struct snd_gusmax { ...@@ -75,7 +75,7 @@ struct snd_gusmax {
int irq; int irq;
struct snd_card *card; struct snd_card *card;
struct snd_gus_card *gus; struct snd_gus_card *gus;
struct snd_cs4231 *cs4231; struct snd_wss *wss;
unsigned short gus_status_reg; unsigned short gus_status_reg;
unsigned short pcm_status_reg; unsigned short pcm_status_reg;
}; };
...@@ -117,7 +117,7 @@ static irqreturn_t snd_gusmax_interrupt(int irq, void *dev_id) ...@@ -117,7 +117,7 @@ static irqreturn_t snd_gusmax_interrupt(int irq, void *dev_id)
} }
if (inb(maxcard->pcm_status_reg) & 0x01) { /* IRQ bit is set? */ if (inb(maxcard->pcm_status_reg) & 0x01) { /* IRQ bit is set? */
handled = 1; handled = 1;
snd_cs4231_interrupt(irq, maxcard->cs4231); snd_wss_interrupt(irq, maxcard->wss);
loop++; loop++;
} }
} while (loop && --max > 0); } while (loop && --max > 0);
...@@ -140,10 +140,7 @@ static void __devinit snd_gusmax_init(int dev, struct snd_card *card, ...@@ -140,10 +140,7 @@ static void __devinit snd_gusmax_init(int dev, struct snd_card *card,
outb(gus->max_cntrl_val, GUSP(gus, MAXCNTRLPORT)); outb(gus->max_cntrl_val, GUSP(gus, MAXCNTRLPORT));
} }
#define CS4231_PRIVATE( left, right, shift, mute ) \ static int __devinit snd_gusmax_mixer(struct snd_wss *chip)
((left << 24)|(right << 16)|(shift<<8)|mute)
static int __devinit snd_gusmax_mixer(struct snd_cs4231 *chip)
{ {
struct snd_card *card = chip->card; struct snd_card *card = chip->card;
struct snd_ctl_elem_id id1, id2; struct snd_ctl_elem_id id1, id2;
...@@ -214,7 +211,7 @@ static int __devinit snd_gusmax_probe(struct device *pdev, unsigned int dev) ...@@ -214,7 +211,7 @@ static int __devinit snd_gusmax_probe(struct device *pdev, unsigned int dev)
int xirq, xdma1, xdma2, err; int xirq, xdma1, xdma2, err;
struct snd_card *card; struct snd_card *card;
struct snd_gus_card *gus = NULL; struct snd_gus_card *gus = NULL;
struct snd_cs4231 *cs4231; struct snd_wss *wss;
struct snd_gusmax *maxcard; struct snd_gusmax *maxcard;
card = snd_card_new(index[dev], id[dev], THIS_MODULE, card = snd_card_new(index[dev], id[dev], THIS_MODULE,
...@@ -301,33 +298,39 @@ static int __devinit snd_gusmax_probe(struct device *pdev, unsigned int dev) ...@@ -301,33 +298,39 @@ static int __devinit snd_gusmax_probe(struct device *pdev, unsigned int dev)
} }
maxcard->irq = xirq; maxcard->irq = xirq;
if ((err = snd_cs4231_create(card, err = snd_wss_create(card,
gus->gf1.port + 0x10c, -1, xirq, gus->gf1.port + 0x10c, -1, xirq,
xdma2 < 0 ? xdma1 : xdma2, xdma1, xdma2 < 0 ? xdma1 : xdma2, xdma1,
CS4231_HW_DETECT, WSS_HW_DETECT,
CS4231_HWSHARE_IRQ | WSS_HWSHARE_IRQ |
CS4231_HWSHARE_DMA1 | WSS_HWSHARE_DMA1 |
CS4231_HWSHARE_DMA2, WSS_HWSHARE_DMA2,
&cs4231)) < 0) &wss);
if (err < 0)
goto _err; goto _err;
if ((err = snd_cs4231_pcm(cs4231, 0, NULL)) < 0) err = snd_wss_pcm(wss, 0, NULL);
if (err < 0)
goto _err; goto _err;
if ((err = snd_cs4231_mixer(cs4231)) < 0) err = snd_wss_mixer(wss);
if (err < 0)
goto _err; goto _err;
if ((err = snd_cs4231_timer(cs4231, 2, NULL)) < 0) err = snd_wss_timer(wss, 2, NULL);
if (err < 0)
goto _err; goto _err;
if (pcm_channels[dev] > 0) { if (pcm_channels[dev] > 0) {
if ((err = snd_gf1_pcm_new(gus, 1, 1, NULL)) < 0) if ((err = snd_gf1_pcm_new(gus, 1, 1, NULL)) < 0)
goto _err; goto _err;
} }
if ((err = snd_gusmax_mixer(cs4231)) < 0) err = snd_gusmax_mixer(wss);
if (err < 0)
goto _err; goto _err;
if ((err = snd_gf1_rawmidi_new(gus, 0, NULL)) < 0) err = snd_gf1_rawmidi_new(gus, 0, NULL);
if (err < 0)
goto _err; goto _err;
sprintf(card->longname + strlen(card->longname), " at 0x%lx, irq %i, dma %i", gus->gf1.port, xirq, xdma1); sprintf(card->longname + strlen(card->longname), " at 0x%lx, irq %i, dma %i", gus->gf1.port, xirq, xdma1);
...@@ -336,11 +339,12 @@ static int __devinit snd_gusmax_probe(struct device *pdev, unsigned int dev) ...@@ -336,11 +339,12 @@ static int __devinit snd_gusmax_probe(struct device *pdev, unsigned int dev)
snd_card_set_dev(card, pdev); snd_card_set_dev(card, pdev);
if ((err = snd_card_register(card)) < 0) err = snd_card_register(card);
if (err < 0)
goto _err; goto _err;
maxcard->gus = gus; maxcard->gus = gus;
maxcard->cs4231 = cs4231; maxcard->wss = wss;
dev_set_drvdata(pdev, card); dev_set_drvdata(pdev, card);
return 0; return 0;
......
...@@ -118,7 +118,7 @@ struct snd_interwave { ...@@ -118,7 +118,7 @@ struct snd_interwave {
int irq; int irq;
struct snd_card *card; struct snd_card *card;
struct snd_gus_card *gus; struct snd_gus_card *gus;
struct snd_cs4231 *cs4231; struct snd_wss *wss;
#ifdef SNDRV_STB #ifdef SNDRV_STB
struct resource *i2c_res; struct resource *i2c_res;
#endif #endif
...@@ -312,7 +312,7 @@ static irqreturn_t snd_interwave_interrupt(int irq, void *dev_id) ...@@ -312,7 +312,7 @@ static irqreturn_t snd_interwave_interrupt(int irq, void *dev_id)
} }
if (inb(iwcard->pcm_status_reg) & 0x01) { /* IRQ bit is set? */ if (inb(iwcard->pcm_status_reg) & 0x01) { /* IRQ bit is set? */
handled = 1; handled = 1;
snd_cs4231_interrupt(irq, iwcard->cs4231); snd_wss_interrupt(irq, iwcard->wss);
loop++; loop++;
} }
} while (loop && --max > 0); } while (loop && --max > 0);
...@@ -498,13 +498,17 @@ static void __devinit snd_interwave_init(int dev, struct snd_gus_card * gus) ...@@ -498,13 +498,17 @@ static void __devinit snd_interwave_init(int dev, struct snd_gus_card * gus)
} }
static struct snd_kcontrol_new snd_interwave_controls[] = { static struct snd_kcontrol_new snd_interwave_controls[] = {
CS4231_DOUBLE("Master Playback Switch", 0, CS4231_LINE_LEFT_OUTPUT, CS4231_LINE_RIGHT_OUTPUT, 7, 7, 1, 1), WSS_DOUBLE("Master Playback Switch", 0,
CS4231_DOUBLE("Master Playback Volume", 0, CS4231_LINE_LEFT_OUTPUT, CS4231_LINE_RIGHT_OUTPUT, 0, 0, 31, 1), CS4231_LINE_LEFT_OUTPUT, CS4231_LINE_RIGHT_OUTPUT, 7, 7, 1, 1),
CS4231_DOUBLE("Mic Playback Switch", 0, CS4231_LEFT_MIC_INPUT, CS4231_RIGHT_MIC_INPUT, 7, 7, 1, 1), WSS_DOUBLE("Master Playback Volume", 0,
CS4231_DOUBLE("Mic Playback Volume", 0, CS4231_LEFT_MIC_INPUT, CS4231_RIGHT_MIC_INPUT, 0, 0, 31, 1) CS4231_LINE_LEFT_OUTPUT, CS4231_LINE_RIGHT_OUTPUT, 0, 0, 31, 1),
WSS_DOUBLE("Mic Playback Switch", 0,
CS4231_LEFT_MIC_INPUT, CS4231_RIGHT_MIC_INPUT, 7, 7, 1, 1),
WSS_DOUBLE("Mic Playback Volume", 0,
CS4231_LEFT_MIC_INPUT, CS4231_RIGHT_MIC_INPUT, 0, 0, 31, 1)
}; };
static int __devinit snd_interwave_mixer(struct snd_cs4231 *chip) static int __devinit snd_interwave_mixer(struct snd_wss *chip)
{ {
struct snd_card *card = chip->card; struct snd_card *card = chip->card;
struct snd_ctl_elem_id id1, id2; struct snd_ctl_elem_id id1, id2;
...@@ -527,10 +531,10 @@ static int __devinit snd_interwave_mixer(struct snd_cs4231 *chip) ...@@ -527,10 +531,10 @@ static int __devinit snd_interwave_mixer(struct snd_cs4231 *chip)
for (idx = 0; idx < ARRAY_SIZE(snd_interwave_controls); idx++) for (idx = 0; idx < ARRAY_SIZE(snd_interwave_controls); idx++)
if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_interwave_controls[idx], chip))) < 0) if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_interwave_controls[idx], chip))) < 0)
return err; return err;
snd_cs4231_out(chip, CS4231_LINE_LEFT_OUTPUT, 0x9f); snd_wss_out(chip, CS4231_LINE_LEFT_OUTPUT, 0x9f);
snd_cs4231_out(chip, CS4231_LINE_RIGHT_OUTPUT, 0x9f); snd_wss_out(chip, CS4231_LINE_RIGHT_OUTPUT, 0x9f);
snd_cs4231_out(chip, CS4231_LEFT_MIC_INPUT, 0x9f); snd_wss_out(chip, CS4231_LEFT_MIC_INPUT, 0x9f);
snd_cs4231_out(chip, CS4231_RIGHT_MIC_INPUT, 0x9f); snd_wss_out(chip, CS4231_RIGHT_MIC_INPUT, 0x9f);
/* reassign AUXA to SYNTHESIZER */ /* reassign AUXA to SYNTHESIZER */
strcpy(id1.name, "Aux Playback Switch"); strcpy(id1.name, "Aux Playback Switch");
strcpy(id2.name, "Synth Playback Switch"); strcpy(id2.name, "Synth Playback Switch");
...@@ -642,7 +646,7 @@ static int __devinit snd_interwave_probe(struct snd_card *card, int dev) ...@@ -642,7 +646,7 @@ static int __devinit snd_interwave_probe(struct snd_card *card, int dev)
{ {
int xirq, xdma1, xdma2; int xirq, xdma1, xdma2;
struct snd_interwave *iwcard = card->private_data; struct snd_interwave *iwcard = card->private_data;
struct snd_cs4231 *cs4231; struct snd_wss *wss;
struct snd_gus_card *gus; struct snd_gus_card *gus;
#ifdef SNDRV_STB #ifdef SNDRV_STB
struct snd_i2c_bus *i2c_bus; struct snd_i2c_bus *i2c_bus;
...@@ -684,33 +688,39 @@ static int __devinit snd_interwave_probe(struct snd_card *card, int dev) ...@@ -684,33 +688,39 @@ static int __devinit snd_interwave_probe(struct snd_card *card, int dev)
} }
iwcard->irq = xirq; iwcard->irq = xirq;
if ((err = snd_cs4231_create(card, err = snd_wss_create(card,
gus->gf1.port + 0x10c, -1, xirq, gus->gf1.port + 0x10c, -1, xirq,
xdma2 < 0 ? xdma1 : xdma2, xdma1, xdma2 < 0 ? xdma1 : xdma2, xdma1,
CS4231_HW_INTERWAVE, WSS_HW_INTERWAVE,
CS4231_HWSHARE_IRQ | WSS_HWSHARE_IRQ |
CS4231_HWSHARE_DMA1 | WSS_HWSHARE_DMA1 |
CS4231_HWSHARE_DMA2, WSS_HWSHARE_DMA2,
&cs4231)) < 0) &wss);
if (err < 0)
return err; return err;
if ((err = snd_cs4231_pcm(cs4231, 0, &pcm)) < 0) err = snd_wss_pcm(wss, 0, &pcm);
if (err < 0)
return err; return err;
sprintf(pcm->name + strlen(pcm->name), " rev %c", gus->revision + 'A'); sprintf(pcm->name + strlen(pcm->name), " rev %c", gus->revision + 'A');
strcat(pcm->name, " (codec)"); strcat(pcm->name, " (codec)");
if ((err = snd_cs4231_timer(cs4231, 2, NULL)) < 0) err = snd_wss_timer(wss, 2, NULL);
if (err < 0)
return err; return err;
if ((err = snd_cs4231_mixer(cs4231)) < 0) err = snd_wss_mixer(wss);
if (err < 0)
return err; return err;
if (pcm_channels[dev] > 0) { if (pcm_channels[dev] > 0) {
if ((err = snd_gf1_pcm_new(gus, 1, 1, NULL)) < 0) err = snd_gf1_pcm_new(gus, 1, 1, NULL);
if (err < 0)
return err; return err;
} }
if ((err = snd_interwave_mixer(cs4231)) < 0) err = snd_interwave_mixer(wss);
if (err < 0)
return err; return err;
#ifdef SNDRV_STB #ifdef SNDRV_STB
...@@ -754,10 +764,11 @@ static int __devinit snd_interwave_probe(struct snd_card *card, int dev) ...@@ -754,10 +764,11 @@ static int __devinit snd_interwave_probe(struct snd_card *card, int dev)
if (xdma2 >= 0) if (xdma2 >= 0)
sprintf(card->longname + strlen(card->longname), "&%d", xdma2); sprintf(card->longname + strlen(card->longname), "&%d", xdma2);
if ((err = snd_card_register(card)) < 0) err = snd_card_register(card);
if (err < 0)
return err; return err;
iwcard->cs4231 = cs4231; iwcard->wss = wss;
iwcard->gus = gus; iwcard->gus = gus;
return 0; return 0;
} }
......
...@@ -133,7 +133,7 @@ struct snd_opl3sa2 { ...@@ -133,7 +133,7 @@ struct snd_opl3sa2 {
spinlock_t reg_lock; spinlock_t reg_lock;
struct snd_hwdep *synth; struct snd_hwdep *synth;
struct snd_rawmidi *rmidi; struct snd_rawmidi *rmidi;
struct snd_cs4231 *cs4231; struct snd_wss *wss;
unsigned char ctlregs[0x20]; unsigned char ctlregs[0x20];
int ymode; /* SL added */ int ymode; /* SL added */
struct snd_kcontrol *master_switch; struct snd_kcontrol *master_switch;
...@@ -318,7 +318,7 @@ static irqreturn_t snd_opl3sa2_interrupt(int irq, void *dev_id) ...@@ -318,7 +318,7 @@ static irqreturn_t snd_opl3sa2_interrupt(int irq, void *dev_id)
if (status & 0x07) { /* TI,CI,PI */ if (status & 0x07) { /* TI,CI,PI */
handled = 1; handled = 1;
snd_cs4231_interrupt(irq, chip->cs4231); snd_wss_interrupt(irq, chip->wss);
} }
if (status & 0x40) { /* hardware volume change */ if (status & 0x40) { /* hardware volume change */
...@@ -573,7 +573,7 @@ static int snd_opl3sa2_suspend(struct snd_card *card, pm_message_t state) ...@@ -573,7 +573,7 @@ static int snd_opl3sa2_suspend(struct snd_card *card, pm_message_t state)
struct snd_opl3sa2 *chip = card->private_data; struct snd_opl3sa2 *chip = card->private_data;
snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
chip->cs4231->suspend(chip->cs4231); chip->wss->suspend(chip->wss);
/* power down */ /* power down */
snd_opl3sa2_write(chip, OPL3SA2_PM_CTRL, OPL3SA2_PM_D3); snd_opl3sa2_write(chip, OPL3SA2_PM_CTRL, OPL3SA2_PM_D3);
...@@ -597,8 +597,8 @@ static int snd_opl3sa2_resume(struct snd_card *card) ...@@ -597,8 +597,8 @@ static int snd_opl3sa2_resume(struct snd_card *card)
for (i = 0x12; i <= 0x16; i++) for (i = 0x12; i <= 0x16; i++)
snd_opl3sa2_write(chip, i, chip->ctlregs[i]); snd_opl3sa2_write(chip, i, chip->ctlregs[i]);
} }
/* restore cs4231 */ /* restore wss */
chip->cs4231->resume(chip->cs4231); chip->wss->resume(chip->wss);
snd_power_change_state(card, SNDRV_CTL_POWER_D0); snd_power_change_state(card, SNDRV_CTL_POWER_D0);
return 0; return 0;
...@@ -659,7 +659,7 @@ static int __devinit snd_opl3sa2_probe(struct snd_card *card, int dev) ...@@ -659,7 +659,7 @@ static int __devinit snd_opl3sa2_probe(struct snd_card *card, int dev)
{ {
int xirq, xdma1, xdma2; int xirq, xdma1, xdma2;
struct snd_opl3sa2 *chip; struct snd_opl3sa2 *chip;
struct snd_cs4231 *cs4231; struct snd_wss *wss;
struct snd_opl3 *opl3; struct snd_opl3 *opl3;
int err; int err;
...@@ -679,23 +679,25 @@ static int __devinit snd_opl3sa2_probe(struct snd_card *card, int dev) ...@@ -679,23 +679,25 @@ static int __devinit snd_opl3sa2_probe(struct snd_card *card, int dev)
return -ENODEV; return -ENODEV;
} }
chip->irq = xirq; chip->irq = xirq;
if ((err = snd_cs4231_create(card, err = snd_wss_create(card,
wss_port[dev] + 4, -1, wss_port[dev] + 4, -1,
xirq, xdma1, xdma2, xirq, xdma1, xdma2,
CS4231_HW_OPL3SA2, WSS_HW_OPL3SA2, WSS_HWSHARE_IRQ, &wss);
CS4231_HWSHARE_IRQ, if (err < 0) {
&cs4231)) < 0) {
snd_printd("Oops, WSS not detected at 0x%lx\n", wss_port[dev] + 4); snd_printd("Oops, WSS not detected at 0x%lx\n", wss_port[dev] + 4);
return err; return err;
} }
chip->cs4231 = cs4231; chip->wss = wss;
if ((err = snd_cs4231_pcm(cs4231, 0, NULL)) < 0) err = snd_wss_pcm(wss, 0, NULL);
if (err < 0)
return err; return err;
if ((err = snd_cs4231_mixer(cs4231)) < 0) err = snd_wss_mixer(wss);
if (err < 0)
return err; return err;
if ((err = snd_opl3sa2_mixer(chip)) < 0) if ((err = snd_opl3sa2_mixer(chip)) < 0)
return err; return err;
if ((err = snd_cs4231_timer(cs4231, 0, NULL)) < 0) err = snd_wss_timer(wss, 0, NULL);
if (err < 0)
return err; return err;
if (fm_port[dev] >= 0x340 && fm_port[dev] < 0x400) { if (fm_port[dev] >= 0x340 && fm_port[dev] < 0x400) {
if ((err = snd_opl3_create(card, fm_port[dev], if ((err = snd_opl3_create(card, fm_port[dev],
......
...@@ -1221,7 +1221,7 @@ static int __devinit snd_miro_probe(struct device *devptr, unsigned int n) ...@@ -1221,7 +1221,7 @@ static int __devinit snd_miro_probe(struct device *devptr, unsigned int n)
int error; int error;
struct snd_miro *miro; struct snd_miro *miro;
struct snd_cs4231 *codec; struct snd_wss *codec;
struct snd_timer *timer; struct snd_timer *timer;
struct snd_card *card; struct snd_card *card;
struct snd_pcm *pcm; struct snd_pcm *pcm;
...@@ -1310,29 +1310,32 @@ static int __devinit snd_miro_probe(struct device *devptr, unsigned int n) ...@@ -1310,29 +1310,32 @@ static int __devinit snd_miro_probe(struct device *devptr, unsigned int n)
} }
} }
if ((error = snd_miro_configure(miro))) { error = snd_miro_configure(miro);
if (error) {
snd_card_free(card); snd_card_free(card);
return error; return error;
} }
if ((error = snd_cs4231_create(card, miro->wss_base + 4, -1, error = snd_wss_create(card, miro->wss_base + 4, -1,
miro->irq, miro->dma1, miro->dma2, miro->irq, miro->dma1, miro->dma2,
CS4231_HW_AD1845, WSS_HW_AD1845, 0, &codec);
0, if (error < 0) {
&codec)) < 0) {
snd_card_free(card); snd_card_free(card);
return error; return error;
} }
if ((error = snd_cs4231_pcm(codec, 0, &pcm)) < 0) { error = snd_wss_pcm(codec, 0, &pcm);
if (error < 0) {
snd_card_free(card); snd_card_free(card);
return error; return error;
} }
if ((error = snd_cs4231_mixer(codec)) < 0) { error = snd_wss_mixer(codec);
if (error < 0) {
snd_card_free(card); snd_card_free(card);
return error; return error;
} }
if ((error = snd_cs4231_timer(codec, 0, &timer)) < 0) { error = snd_wss_timer(codec, 0, &timer);
if (error < 0) {
snd_card_free(card); snd_card_free(card);
return error; return error;
} }
......
...@@ -139,7 +139,7 @@ struct snd_opti9xx { ...@@ -139,7 +139,7 @@ struct snd_opti9xx {
unsigned long mc_base_size; unsigned long mc_base_size;
#ifdef OPTi93X #ifdef OPTi93X
unsigned long mc_indir_index; unsigned long mc_indir_index;
struct snd_cs4231 *codec; struct snd_wss *codec;
#endif /* OPTi93X */ #endif /* OPTi93X */
unsigned long pwd_reg; unsigned long pwd_reg;
...@@ -562,7 +562,7 @@ static int __devinit snd_opti9xx_configure(struct snd_opti9xx *chip) ...@@ -562,7 +562,7 @@ static int __devinit snd_opti9xx_configure(struct snd_opti9xx *chip)
static irqreturn_t snd_opti93x_interrupt(int irq, void *dev_id) static irqreturn_t snd_opti93x_interrupt(int irq, void *dev_id)
{ {
struct snd_cs4231 *codec = dev_id; struct snd_wss *codec = dev_id;
struct snd_opti9xx *chip = codec->card->private_data; struct snd_opti9xx *chip = codec->card->private_data;
unsigned char status; unsigned char status;
...@@ -570,7 +570,7 @@ static irqreturn_t snd_opti93x_interrupt(int irq, void *dev_id) ...@@ -570,7 +570,7 @@ static irqreturn_t snd_opti93x_interrupt(int irq, void *dev_id)
if ((status & OPTi93X_IRQ_PLAYBACK) && codec->playback_substream) if ((status & OPTi93X_IRQ_PLAYBACK) && codec->playback_substream)
snd_pcm_period_elapsed(codec->playback_substream); snd_pcm_period_elapsed(codec->playback_substream);
if ((status & OPTi93X_IRQ_CAPTURE) && codec->capture_substream) { if ((status & OPTi93X_IRQ_CAPTURE) && codec->capture_substream) {
snd_cs4231_overrange(codec); snd_wss_overrange(codec);
snd_pcm_period_elapsed(codec->capture_substream); snd_pcm_period_elapsed(codec->capture_substream);
} }
outb(0x00, OPTi93X_PORT(codec, STATUS)); outb(0x00, OPTi93X_PORT(codec, STATUS));
...@@ -691,7 +691,7 @@ static void snd_card_opti9xx_free(struct snd_card *card) ...@@ -691,7 +691,7 @@ static void snd_card_opti9xx_free(struct snd_card *card)
if (chip) { if (chip) {
#ifdef OPTi93X #ifdef OPTi93X
struct snd_cs4231 *codec = chip->codec; struct snd_wss *codec = chip->codec;
if (codec && codec->irq > 0) { if (codec && codec->irq > 0) {
disable_irq(codec->irq); disable_irq(codec->irq);
free_irq(codec->irq, codec); free_irq(codec->irq, codec);
...@@ -707,7 +707,7 @@ static int __devinit snd_opti9xx_probe(struct snd_card *card) ...@@ -707,7 +707,7 @@ static int __devinit snd_opti9xx_probe(struct snd_card *card)
int error; int error;
struct snd_opti9xx *chip = card->private_data; struct snd_opti9xx *chip = card->private_data;
#if defined(CS4231) || defined(OPTi93X) #if defined(CS4231) || defined(OPTi93X)
struct snd_cs4231 *codec; struct snd_wss *codec;
#ifdef CS4231 #ifdef CS4231
struct snd_timer *timer; struct snd_timer *timer;
#endif #endif
...@@ -734,33 +734,39 @@ static int __devinit snd_opti9xx_probe(struct snd_card *card) ...@@ -734,33 +734,39 @@ static int __devinit snd_opti9xx_probe(struct snd_card *card)
#endif #endif
if (chip->wss_base == SNDRV_AUTO_PORT) { if (chip->wss_base == SNDRV_AUTO_PORT) {
if ((chip->wss_base = snd_legacy_find_free_ioport(possible_ports, 4)) < 0) { chip->wss_base = snd_legacy_find_free_ioport(possible_ports, 4);
if (chip->wss_base < 0) {
snd_printk("unable to find a free WSS port\n"); snd_printk("unable to find a free WSS port\n");
return -EBUSY; return -EBUSY;
} }
} }
if ((error = snd_opti9xx_configure(chip))) error = snd_opti9xx_configure(chip);
if (error)
return error; return error;
#if defined(CS4231) || defined(OPTi93X) #if defined(CS4231) || defined(OPTi93X)
if ((error = snd_cs4231_create(card, chip->wss_base + 4, -1, error = snd_wss_create(card, chip->wss_base + 4, -1,
chip->irq, chip->dma1, chip->dma2, chip->irq, chip->dma1, chip->dma2,
#ifdef CS4231 #ifdef CS4231
CS4231_HW_DETECT, 0, WSS_HW_DETECT, 0,
#else /* OPTi93x */ #else /* OPTi93x */
CS4231_HW_OPTI93X, CS4231_HWSHARE_IRQ, WSS_HW_OPTI93X, WSS_HWSHARE_IRQ,
#endif #endif
&codec)) < 0) &codec);
if (error < 0)
return error; return error;
#ifdef OPTi93X #ifdef OPTi93X
chip->codec = codec; chip->codec = codec;
#endif #endif
if ((error = snd_cs4231_pcm(codec, 0, &pcm)) < 0) error = snd_wss_pcm(codec, 0, &pcm);
if (error < 0)
return error; return error;
if ((error = snd_cs4231_mixer(codec)) < 0) error = snd_wss_mixer(codec);
if (error < 0)
return error; return error;
#ifdef CS4231 #ifdef CS4231
if ((error = snd_cs4231_timer(codec, 0, &timer)) < 0) error = snd_wss_timer(codec, 0, &timer);
if (error < 0)
return error; return error;
#else /* OPTI93X */ #else /* OPTI93X */
error = request_irq(chip->irq, snd_opti93x_interrupt, error = request_irq(chip->irq, snd_opti93x_interrupt,
......
...@@ -147,7 +147,7 @@ struct soundscape { ...@@ -147,7 +147,7 @@ struct soundscape {
enum card_type type; enum card_type type;
struct resource *io_res; struct resource *io_res;
struct resource *wss_res; struct resource *wss_res;
struct snd_cs4231 *chip; struct snd_wss *chip;
struct snd_mpu401 *mpu; struct snd_mpu401 *mpu;
struct snd_hwdep *hw; struct snd_hwdep *hw;
...@@ -726,7 +726,7 @@ static int sscape_midi_info(struct snd_kcontrol *ctl, ...@@ -726,7 +726,7 @@ static int sscape_midi_info(struct snd_kcontrol *ctl,
static int sscape_midi_get(struct snd_kcontrol *kctl, static int sscape_midi_get(struct snd_kcontrol *kctl,
struct snd_ctl_elem_value *uctl) struct snd_ctl_elem_value *uctl)
{ {
struct snd_cs4231 *chip = snd_kcontrol_chip(kctl); struct snd_wss *chip = snd_kcontrol_chip(kctl);
struct snd_card *card = chip->card; struct snd_card *card = chip->card;
register struct soundscape *s = get_card_soundscape(card); register struct soundscape *s = get_card_soundscape(card);
unsigned long flags; unsigned long flags;
...@@ -746,7 +746,7 @@ static int sscape_midi_get(struct snd_kcontrol *kctl, ...@@ -746,7 +746,7 @@ static int sscape_midi_get(struct snd_kcontrol *kctl,
static int sscape_midi_put(struct snd_kcontrol *kctl, static int sscape_midi_put(struct snd_kcontrol *kctl,
struct snd_ctl_elem_value *uctl) struct snd_ctl_elem_value *uctl)
{ {
struct snd_cs4231 *chip = snd_kcontrol_chip(kctl); struct snd_wss *chip = snd_kcontrol_chip(kctl);
struct snd_card *card = chip->card; struct snd_card *card = chip->card;
register struct soundscape *s = get_card_soundscape(card); register struct soundscape *s = get_card_soundscape(card);
unsigned long flags; unsigned long flags;
...@@ -958,7 +958,9 @@ static int __devinit create_mpu401(struct snd_card *card, int devnum, unsigned l ...@@ -958,7 +958,9 @@ static int __devinit create_mpu401(struct snd_card *card, int devnum, unsigned l
* Override for the CS4231 playback format function. * Override for the CS4231 playback format function.
* The AD1845 has much simpler format and rate selection. * The AD1845 has much simpler format and rate selection.
*/ */
static void ad1845_playback_format(struct snd_cs4231 * chip, struct snd_pcm_hw_params *params, unsigned char format) static void ad1845_playback_format(struct snd_wss *chip,
struct snd_pcm_hw_params *params,
unsigned char format)
{ {
unsigned long flags; unsigned long flags;
unsigned rate = params_rate(params); unsigned rate = params_rate(params);
...@@ -983,9 +985,9 @@ static void ad1845_playback_format(struct snd_cs4231 * chip, struct snd_pcm_hw_p ...@@ -983,9 +985,9 @@ static void ad1845_playback_format(struct snd_cs4231 * chip, struct snd_pcm_hw_p
* NOTE: We seem to need to write to the MSB before the LSB * NOTE: We seem to need to write to the MSB before the LSB
* to get the correct sample frequency. * to get the correct sample frequency.
*/ */
snd_cs4231_out(chip, CS4231_PLAYBK_FORMAT, (format & 0xf0)); snd_wss_out(chip, CS4231_PLAYBK_FORMAT, (format & 0xf0));
snd_cs4231_out(chip, AD1845_FREQ_SEL_MSB, (unsigned char) (rate >> 8)); snd_wss_out(chip, AD1845_FREQ_SEL_MSB, (unsigned char) (rate >> 8));
snd_cs4231_out(chip, AD1845_FREQ_SEL_LSB, (unsigned char) rate); snd_wss_out(chip, AD1845_FREQ_SEL_LSB, (unsigned char) rate);
spin_unlock_irqrestore(&chip->reg_lock, flags); spin_unlock_irqrestore(&chip->reg_lock, flags);
} }
...@@ -994,7 +996,9 @@ static void ad1845_playback_format(struct snd_cs4231 * chip, struct snd_pcm_hw_p ...@@ -994,7 +996,9 @@ static void ad1845_playback_format(struct snd_cs4231 * chip, struct snd_pcm_hw_p
* Override for the CS4231 capture format function. * Override for the CS4231 capture format function.
* The AD1845 has much simpler format and rate selection. * The AD1845 has much simpler format and rate selection.
*/ */
static void ad1845_capture_format(struct snd_cs4231 * chip, struct snd_pcm_hw_params *params, unsigned char format) static void ad1845_capture_format(struct snd_wss *chip,
struct snd_pcm_hw_params *params,
unsigned char format)
{ {
unsigned long flags; unsigned long flags;
unsigned rate = params_rate(params); unsigned rate = params_rate(params);
...@@ -1019,9 +1023,9 @@ static void ad1845_capture_format(struct snd_cs4231 * chip, struct snd_pcm_hw_pa ...@@ -1019,9 +1023,9 @@ static void ad1845_capture_format(struct snd_cs4231 * chip, struct snd_pcm_hw_pa
* NOTE: We seem to need to write to the MSB before the LSB * NOTE: We seem to need to write to the MSB before the LSB
* to get the correct sample frequency. * to get the correct sample frequency.
*/ */
snd_cs4231_out(chip, CS4231_REC_FORMAT, (format & 0xf0)); snd_wss_out(chip, CS4231_REC_FORMAT, (format & 0xf0));
snd_cs4231_out(chip, AD1845_FREQ_SEL_MSB, (unsigned char) (rate >> 8)); snd_wss_out(chip, AD1845_FREQ_SEL_MSB, (unsigned char) (rate >> 8));
snd_cs4231_out(chip, AD1845_FREQ_SEL_LSB, (unsigned char) rate); snd_wss_out(chip, AD1845_FREQ_SEL_LSB, (unsigned char) rate);
spin_unlock_irqrestore(&chip->reg_lock, flags); spin_unlock_irqrestore(&chip->reg_lock, flags);
} }
...@@ -1036,7 +1040,7 @@ static int __devinit create_ad1845(struct snd_card *card, unsigned port, ...@@ -1036,7 +1040,7 @@ static int __devinit create_ad1845(struct snd_card *card, unsigned port,
int irq, int dma1, int dma2) int irq, int dma1, int dma2)
{ {
register struct soundscape *sscape = get_card_soundscape(card); register struct soundscape *sscape = get_card_soundscape(card);
struct snd_cs4231 *chip; struct snd_wss *chip;
int err; int err;
if (sscape->type == SSCAPE_VIVO) if (sscape->type == SSCAPE_VIVO)
...@@ -1045,9 +1049,8 @@ static int __devinit create_ad1845(struct snd_card *card, unsigned port, ...@@ -1045,9 +1049,8 @@ static int __devinit create_ad1845(struct snd_card *card, unsigned port,
if (dma1 == dma2) if (dma1 == dma2)
dma2 = -1; dma2 = -1;
err = snd_cs4231_create(card, err = snd_wss_create(card, port, -1, irq, dma1, dma2,
port, -1, irq, dma1, dma2, WSS_HW_DETECT, WSS_HWSHARE_DMA1, &chip);
CS4231_HW_DETECT, CS4231_HWSHARE_DMA1, &chip);
if (!err) { if (!err) {
unsigned long flags; unsigned long flags;
struct snd_pcm *pcm; struct snd_pcm *pcm;
...@@ -1063,11 +1066,11 @@ static int __devinit create_ad1845(struct snd_card *card, unsigned port, ...@@ -1063,11 +1066,11 @@ static int __devinit create_ad1845(struct snd_card *card, unsigned port,
* *
#define AD1845_IFACE_CONFIG \ #define AD1845_IFACE_CONFIG \
(CS4231_AUTOCALIB | CS4231_RECORD_ENABLE | CS4231_PLAYBACK_ENABLE) (CS4231_AUTOCALIB | CS4231_RECORD_ENABLE | CS4231_PLAYBACK_ENABLE)
snd_cs4231_mce_up(chip); snd_wss_mce_up(chip);
spin_lock_irqsave(&chip->reg_lock, flags); spin_lock_irqsave(&chip->reg_lock, flags);
snd_cs4231_out(chip, CS4231_IFACE_CTRL, AD1845_IFACE_CONFIG); snd_wss_out(chip, CS4231_IFACE_CTRL, AD1845_IFACE_CONFIG);
spin_unlock_irqrestore(&chip->reg_lock, flags); spin_unlock_irqrestore(&chip->reg_lock, flags);
snd_cs4231_mce_down(chip); snd_wss_mce_down(chip);
*/ */
if (sscape->type != SSCAPE_VIVO) { if (sscape->type != SSCAPE_VIVO) {
...@@ -1077,11 +1080,11 @@ static int __devinit create_ad1845(struct snd_card *card, unsigned port, ...@@ -1077,11 +1080,11 @@ static int __devinit create_ad1845(struct snd_card *card, unsigned port,
* be 14.31818 MHz, because we must set this register * be 14.31818 MHz, because we must set this register
* to get the playback to sound correct ... * to get the playback to sound correct ...
*/ */
snd_cs4231_mce_up(chip); snd_wss_mce_up(chip);
spin_lock_irqsave(&chip->reg_lock, flags); spin_lock_irqsave(&chip->reg_lock, flags);
snd_cs4231_out(chip, AD1845_CRYS_CLOCK_SEL, 0x20); snd_wss_out(chip, AD1845_CRYS_CLOCK_SEL, 0x20);
spin_unlock_irqrestore(&chip->reg_lock, flags); spin_unlock_irqrestore(&chip->reg_lock, flags);
snd_cs4231_mce_down(chip); snd_wss_mce_down(chip);
/* /*
* More custom configuration: * More custom configuration:
...@@ -1089,28 +1092,28 @@ static int __devinit create_ad1845(struct snd_card *card, unsigned port, ...@@ -1089,28 +1092,28 @@ static int __devinit create_ad1845(struct snd_card *card, unsigned port,
* b) enable frequency selection (for capture/playback) * b) enable frequency selection (for capture/playback)
*/ */
spin_lock_irqsave(&chip->reg_lock, flags); spin_lock_irqsave(&chip->reg_lock, flags);
snd_cs4231_out(chip, CS4231_MISC_INFO, snd_wss_out(chip, CS4231_MISC_INFO,
CS4231_MODE2 | 0x10); CS4231_MODE2 | 0x10);
val = snd_cs4231_in(chip, AD1845_PWR_DOWN_CTRL); val = snd_wss_in(chip, AD1845_PWR_DOWN_CTRL);
snd_cs4231_out(chip, AD1845_PWR_DOWN_CTRL, snd_wss_out(chip, AD1845_PWR_DOWN_CTRL,
val | AD1845_FREQ_SEL_ENABLE); val | AD1845_FREQ_SEL_ENABLE);
spin_unlock_irqrestore(&chip->reg_lock, flags); spin_unlock_irqrestore(&chip->reg_lock, flags);
} }
err = snd_cs4231_pcm(chip, 0, &pcm); err = snd_wss_pcm(chip, 0, &pcm);
if (err < 0) { if (err < 0) {
snd_printk(KERN_ERR "sscape: No PCM device " snd_printk(KERN_ERR "sscape: No PCM device "
"for AD1845 chip\n"); "for AD1845 chip\n");
goto _error; goto _error;
} }
err = snd_cs4231_mixer(chip); err = snd_wss_mixer(chip);
if (err < 0) { if (err < 0) {
snd_printk(KERN_ERR "sscape: No mixer device " snd_printk(KERN_ERR "sscape: No mixer device "
"for AD1845 chip\n"); "for AD1845 chip\n");
goto _error; goto _error;
} }
err = snd_cs4231_timer(chip, 0, NULL); err = snd_wss_timer(chip, 0, NULL);
if (err < 0) { if (err < 0) {
snd_printk(KERN_ERR "sscape: No timer device " snd_printk(KERN_ERR "sscape: No timer device "
"for AD1845 chip\n"); "for AD1845 chip\n");
......
...@@ -364,7 +364,7 @@ static int __devinit ...@@ -364,7 +364,7 @@ static int __devinit
snd_wavefront_probe (struct snd_card *card, int dev) snd_wavefront_probe (struct snd_card *card, int dev)
{ {
snd_wavefront_card_t *acard = card->private_data; snd_wavefront_card_t *acard = card->private_data;
struct snd_cs4231 *chip; struct snd_wss *chip;
struct snd_hwdep *wavefront_synth; struct snd_hwdep *wavefront_synth;
struct snd_rawmidi *ics2115_internal_rmidi = NULL; struct snd_rawmidi *ics2115_internal_rmidi = NULL;
struct snd_rawmidi *ics2115_external_rmidi = NULL; struct snd_rawmidi *ics2115_external_rmidi = NULL;
...@@ -373,21 +373,20 @@ snd_wavefront_probe (struct snd_card *card, int dev) ...@@ -373,21 +373,20 @@ snd_wavefront_probe (struct snd_card *card, int dev)
/* --------- PCM --------------- */ /* --------- PCM --------------- */
if ((err = snd_cs4231_create (card, err = snd_wss_create(card, cs4232_pcm_port[dev], -1,
cs4232_pcm_port[dev], cs4232_pcm_irq[dev], dma1[dev], dma2[dev],
-1, WSS_HW_DETECT, 0, &chip);
cs4232_pcm_irq[dev], if (err < 0) {
dma1[dev], snd_printk(KERN_ERR "can't allocate WSS device\n");
dma2[dev],
CS4231_HW_DETECT, 0, &chip)) < 0) {
snd_printk (KERN_ERR "can't allocate CS4231 device\n");
return err; return err;
} }
if ((err = snd_cs4231_pcm (chip, 0, NULL)) < 0) err = snd_wss_pcm(chip, 0, NULL);
if (err < 0)
return err; return err;
if ((err = snd_cs4231_timer (chip, 0, NULL)) < 0) err = snd_wss_timer(chip, 0, NULL);
if (err < 0)
return err; return err;
/* ---------- OPL3 synth --------- */ /* ---------- OPL3 synth --------- */
...@@ -395,24 +394,24 @@ snd_wavefront_probe (struct snd_card *card, int dev) ...@@ -395,24 +394,24 @@ snd_wavefront_probe (struct snd_card *card, int dev)
if (fm_port[dev] > 0 && fm_port[dev] != SNDRV_AUTO_PORT) { if (fm_port[dev] > 0 && fm_port[dev] != SNDRV_AUTO_PORT) {
struct snd_opl3 *opl3; struct snd_opl3 *opl3;
if ((err = snd_opl3_create(card, err = snd_opl3_create(card, fm_port[dev], fm_port[dev] + 2,
fm_port[dev], OPL3_HW_OPL3_CS, 0, &opl3);
fm_port[dev] + 2, if (err < 0) {
OPL3_HW_OPL3_CS,
0, &opl3)) < 0) {
snd_printk (KERN_ERR "can't allocate or detect OPL3 synth\n"); snd_printk (KERN_ERR "can't allocate or detect OPL3 synth\n");
return err; return err;
} }
if ((err = snd_opl3_hwdep_new(opl3, hw_dev, 1, NULL)) < 0) err = snd_opl3_hwdep_new(opl3, hw_dev, 1, NULL);
if (err < 0)
return err; return err;
hw_dev++; hw_dev++;
} }
/* ------- ICS2115 Wavetable synth ------- */ /* ------- ICS2115 Wavetable synth ------- */
if ((acard->wavefront.res_base = request_region(ics2115_port[dev], 16, acard->wavefront.res_base = request_region(ics2115_port[dev], 16,
"ICS2115")) == NULL) { "ICS2115");
if (acard->wavefront.res_base == NULL) {
snd_printk(KERN_ERR "unable to grab ICS2115 i/o region 0x%lx-0x%lx\n", snd_printk(KERN_ERR "unable to grab ICS2115 i/o region 0x%lx-0x%lx\n",
ics2115_port[dev], ics2115_port[dev] + 16 - 1); ics2115_port[dev], ics2115_port[dev] + 16 - 1);
return -EBUSY; return -EBUSY;
...@@ -426,7 +425,8 @@ snd_wavefront_probe (struct snd_card *card, int dev) ...@@ -426,7 +425,8 @@ snd_wavefront_probe (struct snd_card *card, int dev)
acard->wavefront.irq = ics2115_irq[dev]; acard->wavefront.irq = ics2115_irq[dev];
acard->wavefront.base = ics2115_port[dev]; acard->wavefront.base = ics2115_port[dev];
if ((wavefront_synth = snd_wavefront_new_synth (card, hw_dev, acard)) == NULL) { wavefront_synth = snd_wavefront_new_synth(card, hw_dev, acard);
if (wavefront_synth == NULL) {
snd_printk (KERN_ERR "can't create WaveFront synth device\n"); snd_printk (KERN_ERR "can't create WaveFront synth device\n");
return -ENOMEM; return -ENOMEM;
} }
...@@ -437,7 +437,8 @@ snd_wavefront_probe (struct snd_card *card, int dev) ...@@ -437,7 +437,8 @@ snd_wavefront_probe (struct snd_card *card, int dev)
/* --------- Mixer ------------ */ /* --------- Mixer ------------ */
if ((err = snd_cs4231_mixer(chip)) < 0) { err = snd_wss_mixer(chip);
if (err < 0) {
snd_printk (KERN_ERR "can't allocate mixer device\n"); snd_printk (KERN_ERR "can't allocate mixer device\n");
return err; return err;
} }
...@@ -445,11 +446,11 @@ snd_wavefront_probe (struct snd_card *card, int dev) ...@@ -445,11 +446,11 @@ snd_wavefront_probe (struct snd_card *card, int dev)
/* -------- CS4232 MPU-401 interface -------- */ /* -------- CS4232 MPU-401 interface -------- */
if (cs4232_mpu_port[dev] > 0 && cs4232_mpu_port[dev] != SNDRV_AUTO_PORT) { if (cs4232_mpu_port[dev] > 0 && cs4232_mpu_port[dev] != SNDRV_AUTO_PORT) {
if ((err = snd_mpu401_uart_new(card, midi_dev, MPU401_HW_CS4232, err = snd_mpu401_uart_new(card, midi_dev, MPU401_HW_CS4232,
cs4232_mpu_port[dev], 0, cs4232_mpu_port[dev], 0,
cs4232_mpu_irq[dev], cs4232_mpu_irq[dev], IRQF_DISABLED,
IRQF_DISABLED, NULL);
NULL)) < 0) { if (err < 0) {
snd_printk (KERN_ERR "can't allocate CS4232 MPU-401 device\n"); snd_printk (KERN_ERR "can't allocate CS4232 MPU-401 device\n");
return err; return err;
} }
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment