ALSA: snd-ad1816a: remove useless struct snd_card_ad1816a
struct snd_card_ad1816a is only set but the values are never used then. Removing it allows struct snd_card's private_data to be used for struct snd_ad1816a, simplifying the code. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
1c86845268
commit
c86b6b452a
|
@ -165,7 +165,7 @@ struct snd_ad1816a {
|
|||
|
||||
extern int snd_ad1816a_create(struct snd_card *card, unsigned long port,
|
||||
int irq, int dma1, int dma2,
|
||||
struct snd_ad1816a **chip);
|
||||
struct snd_ad1816a *chip);
|
||||
|
||||
extern int snd_ad1816a_pcm(struct snd_ad1816a *chip, int device, struct snd_pcm **rpcm);
|
||||
extern int snd_ad1816a_mixer(struct snd_ad1816a *chip);
|
||||
|
|
|
@ -63,11 +63,6 @@ MODULE_PARM_DESC(enable, "Enable ad1816a based soundcard.");
|
|||
module_param_array(clockfreq, int, NULL, 0444);
|
||||
MODULE_PARM_DESC(clockfreq, "Clock frequency for ad1816a driver (default = 0).");
|
||||
|
||||
struct snd_card_ad1816a {
|
||||
struct pnp_dev *dev;
|
||||
struct pnp_dev *devmpu;
|
||||
};
|
||||
|
||||
static struct pnp_card_device_id snd_ad1816a_pnpids[] = {
|
||||
/* Analog Devices AD1815 */
|
||||
{ .id = "ADS7150", .devs = { { .id = "ADS7150" }, { .id = "ADS7151" } } },
|
||||
|
@ -99,25 +94,16 @@ MODULE_DEVICE_TABLE(pnp_card, snd_ad1816a_pnpids);
|
|||
#define DRIVER_NAME "snd-card-ad1816a"
|
||||
|
||||
|
||||
static int __devinit snd_card_ad1816a_pnp(int dev, struct snd_card_ad1816a *acard,
|
||||
struct pnp_card_link *card,
|
||||
static int __devinit snd_card_ad1816a_pnp(int dev, struct pnp_card_link *card,
|
||||
const struct pnp_card_device_id *id)
|
||||
{
|
||||
struct pnp_dev *pdev;
|
||||
int err;
|
||||
|
||||
acard->dev = pnp_request_card_device(card, id->devs[0].id, NULL);
|
||||
if (acard->dev == NULL)
|
||||
pdev = pnp_request_card_device(card, id->devs[0].id, NULL);
|
||||
if (pdev == NULL)
|
||||
return -EBUSY;
|
||||
|
||||
acard->devmpu = pnp_request_card_device(card, id->devs[1].id, NULL);
|
||||
if (acard->devmpu == NULL) {
|
||||
mpu_port[dev] = -1;
|
||||
snd_printk(KERN_WARNING PFX "MPU401 device busy, skipping.\n");
|
||||
}
|
||||
|
||||
pdev = acard->dev;
|
||||
|
||||
err = pnp_activate_dev(pdev);
|
||||
if (err < 0) {
|
||||
printk(KERN_ERR PFX "AUDIO PnP configure failure\n");
|
||||
|
@ -130,16 +116,17 @@ static int __devinit snd_card_ad1816a_pnp(int dev, struct snd_card_ad1816a *acar
|
|||
dma2[dev] = pnp_dma(pdev, 1);
|
||||
irq[dev] = pnp_irq(pdev, 0);
|
||||
|
||||
if (acard->devmpu == NULL)
|
||||
pdev = pnp_request_card_device(card, id->devs[1].id, NULL);
|
||||
if (pdev == NULL) {
|
||||
mpu_port[dev] = -1;
|
||||
snd_printk(KERN_WARNING PFX "MPU401 device busy, skipping.\n");
|
||||
return 0;
|
||||
|
||||
pdev = acard->devmpu;
|
||||
}
|
||||
|
||||
err = pnp_activate_dev(pdev);
|
||||
if (err < 0) {
|
||||
printk(KERN_ERR PFX "MPU401 PnP configure failure\n");
|
||||
mpu_port[dev] = -1;
|
||||
acard->devmpu = NULL;
|
||||
} else {
|
||||
mpu_port[dev] = pnp_port_start(pdev, 0);
|
||||
mpu_irq[dev] = pnp_irq(pdev, 0);
|
||||
|
@ -153,18 +140,17 @@ static int __devinit snd_card_ad1816a_probe(int dev, struct pnp_card_link *pcard
|
|||
{
|
||||
int error;
|
||||
struct snd_card *card;
|
||||
struct snd_card_ad1816a *acard;
|
||||
struct snd_ad1816a *chip;
|
||||
struct snd_opl3 *opl3;
|
||||
struct snd_timer *timer;
|
||||
|
||||
error = snd_card_create(index[dev], id[dev], THIS_MODULE,
|
||||
sizeof(struct snd_card_ad1816a), &card);
|
||||
sizeof(struct snd_ad1816a), &card);
|
||||
if (error < 0)
|
||||
return error;
|
||||
acard = card->private_data;
|
||||
chip = card->private_data;
|
||||
|
||||
if ((error = snd_card_ad1816a_pnp(dev, acard, pcard, pid))) {
|
||||
if ((error = snd_card_ad1816a_pnp(dev, pcard, pid))) {
|
||||
snd_card_free(card);
|
||||
return error;
|
||||
}
|
||||
|
@ -174,7 +160,7 @@ static int __devinit snd_card_ad1816a_probe(int dev, struct pnp_card_link *pcard
|
|||
irq[dev],
|
||||
dma1[dev],
|
||||
dma2[dev],
|
||||
&chip)) < 0) {
|
||||
chip)) < 0) {
|
||||
snd_card_free(card);
|
||||
return error;
|
||||
}
|
||||
|
|
|
@ -548,7 +548,6 @@ static int snd_ad1816a_free(struct snd_ad1816a *chip)
|
|||
snd_dma_disable(chip->dma2);
|
||||
free_dma(chip->dma2);
|
||||
}
|
||||
kfree(chip);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -573,19 +572,13 @@ static const char __devinit *snd_ad1816a_chip_id(struct snd_ad1816a *chip)
|
|||
|
||||
int __devinit snd_ad1816a_create(struct snd_card *card,
|
||||
unsigned long port, int irq, int dma1, int dma2,
|
||||
struct snd_ad1816a **rchip)
|
||||
struct snd_ad1816a *chip)
|
||||
{
|
||||
static struct snd_device_ops ops = {
|
||||
.dev_free = snd_ad1816a_dev_free,
|
||||
};
|
||||
int error;
|
||||
struct snd_ad1816a *chip;
|
||||
|
||||
*rchip = NULL;
|
||||
|
||||
chip = kzalloc(sizeof(*chip), GFP_KERNEL);
|
||||
if (chip == NULL)
|
||||
return -ENOMEM;
|
||||
chip->irq = -1;
|
||||
chip->dma1 = -1;
|
||||
chip->dma2 = -1;
|
||||
|
@ -631,7 +624,6 @@ int __devinit snd_ad1816a_create(struct snd_card *card,
|
|||
return error;
|
||||
}
|
||||
|
||||
*rchip = chip;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue