Commit b67cad93 authored by Krzysztof Helt's avatar Krzysztof Helt Committed by Takashi Iwai

ALSA: opti-miro: use variables directly in the probe function

Use the fm_port and mpu_port variables directly in a probe function.
This completely eliminates a need to copy the fm_port value to
the snd_miro structure.
Signed-off-by: default avatarKrzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent b753e03e
...@@ -118,8 +118,6 @@ struct snd_miro { ...@@ -118,8 +118,6 @@ struct snd_miro {
int dma1; int dma1;
int dma2; int dma2;
long fm_port;
long mpu_port; long mpu_port;
int mpu_irq; int mpu_irq;
...@@ -757,7 +755,6 @@ static int __devinit snd_miro_init(struct snd_miro *chip, ...@@ -757,7 +755,6 @@ static int __devinit snd_miro_init(struct snd_miro *chip,
chip->irq = -1; chip->irq = -1;
chip->dma1 = -1; chip->dma1 = -1;
chip->dma2 = -1; chip->dma2 = -1;
chip->fm_port = -1;
chip->mpu_port = -1; chip->mpu_port = -1;
chip->mpu_irq = -1; chip->mpu_irq = -1;
...@@ -1261,7 +1258,6 @@ static int __devinit snd_miro_probe(struct device *devptr, unsigned int n) ...@@ -1261,7 +1258,6 @@ static int __devinit snd_miro_probe(struct device *devptr, unsigned int n)
} }
miro->wss_base = port; miro->wss_base = port;
miro->fm_port = fm_port;
miro->mpu_port = mpu_port; miro->mpu_port = mpu_port;
miro->irq = irq; miro->irq = irq;
miro->mpu_irq = mpu_irq; miro->mpu_irq = mpu_irq;
...@@ -1276,11 +1272,12 @@ static int __devinit snd_miro_probe(struct device *devptr, unsigned int n) ...@@ -1276,11 +1272,12 @@ static int __devinit snd_miro_probe(struct device *devptr, unsigned int n)
} }
} }
if (miro->mpu_port == SNDRV_AUTO_PORT) { if (mpu_port == SNDRV_AUTO_PORT) {
if ((miro->mpu_port = snd_legacy_find_free_ioport(possible_mpu_ports, 2)) < 0) { mpu_port = snd_legacy_find_free_ioport(possible_mpu_ports, 2);
if (mpu_port < 0) {
snd_card_free(card); snd_card_free(card);
snd_printk(KERN_ERR "unable to find a free MPU401 port\n"); snd_printk(KERN_ERR "unable to find a free MPU401 port\n");
return -EBUSY; return -EBUSY
} }
} }
if (miro->irq == SNDRV_AUTO_IRQ) { if (miro->irq == SNDRV_AUTO_IRQ) {
...@@ -1380,20 +1377,24 @@ static int __devinit snd_miro_probe(struct device *devptr, unsigned int n) ...@@ -1380,20 +1377,24 @@ static int __devinit snd_miro_probe(struct device *devptr, unsigned int n)
card->shortname, miro->name, pcm->name, miro->wss_base + 4, card->shortname, miro->name, pcm->name, miro->wss_base + 4,
miro->irq, miro->dma1, miro->dma2); miro->irq, miro->dma1, miro->dma2);
if (miro->mpu_port <= 0 || miro->mpu_port == SNDRV_AUTO_PORT) if (mpu_port <= 0 || mpu_port == SNDRV_AUTO_PORT)
rmidi = NULL; rmidi = NULL;
else else {
if ((error = snd_mpu401_uart_new(card, 0, MPU401_HW_MPU401, error = snd_mpu401_uart_new(card, 0, MPU401_HW_MPU401,
miro->mpu_port, 0, miro->mpu_irq, IRQF_DISABLED, mpu_port, 0, miro->mpu_irq, IRQF_DISABLED,
&rmidi))) &rmidi);
snd_printk(KERN_WARNING "no MPU-401 device at 0x%lx?\n", miro->mpu_port); if (error < 0)
snd_printk(KERN_WARNING "no MPU-401 device at 0x%lx?\n",
mpu_port);
}
if (miro->fm_port > 0 && miro->fm_port != SNDRV_AUTO_PORT) { if (fm_port > 0 && fm_port != SNDRV_AUTO_PORT) {
struct snd_opl3 *opl3 = NULL; struct snd_opl3 *opl3 = NULL;
struct snd_opl4 *opl4; struct snd_opl4 *opl4;
if (snd_opl4_create(card, miro->fm_port, miro->fm_port - 8, if (snd_opl4_create(card, fm_port, fm_port - 8,
2, &opl3, &opl4) < 0) 2, &opl3, &opl4) < 0)
snd_printk(KERN_WARNING "no OPL4 device at 0x%lx\n", miro->fm_port); snd_printk(KERN_WARNING "no OPL4 device at 0x%lx\n",
fm_port);
} }
if ((error = snd_set_aci_init_values(miro)) < 0) { if ((error = snd_set_aci_init_values(miro)) < 0) {
......
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