Commit 8c59c4a2 authored by Bjorn Helgaas's avatar Bjorn Helgaas Committed by Linus Torvalds

[PATCH] pnp: opl3sa2: adjust pnp_register_driver signature

Remove the assumption that pnp_register_driver() returns the number of devices
claimed.
Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent ed7cb191
...@@ -95,6 +95,7 @@ static struct platform_device *platform_devices[SNDRV_CARDS]; ...@@ -95,6 +95,7 @@ static struct platform_device *platform_devices[SNDRV_CARDS];
static int pnp_registered; static int pnp_registered;
static int pnpc_registered; static int pnpc_registered;
#endif #endif
static unsigned int snd_opl3sa2_devices;
/* control ports */ /* control ports */
#define OPL3SA2_PM_CTRL 0x01 #define OPL3SA2_PM_CTRL 0x01
...@@ -760,6 +761,7 @@ static int __devinit snd_opl3sa2_pnp_detect(struct pnp_dev *pdev, ...@@ -760,6 +761,7 @@ static int __devinit snd_opl3sa2_pnp_detect(struct pnp_dev *pdev,
} }
pnp_set_drvdata(pdev, card); pnp_set_drvdata(pdev, card);
dev++; dev++;
snd_opl3sa2_devices++;
return 0; return 0;
} }
...@@ -826,6 +828,7 @@ static int __devinit snd_opl3sa2_pnp_cdetect(struct pnp_card_link *pcard, ...@@ -826,6 +828,7 @@ static int __devinit snd_opl3sa2_pnp_cdetect(struct pnp_card_link *pcard,
} }
pnp_set_card_drvdata(pcard, card); pnp_set_card_drvdata(pcard, card);
dev++; dev++;
snd_opl3sa2_devices++;
return 0; return 0;
} }
...@@ -944,7 +947,7 @@ static void __init_or_module snd_opl3sa2_unregister_all(void) ...@@ -944,7 +947,7 @@ static void __init_or_module snd_opl3sa2_unregister_all(void)
static int __init alsa_card_opl3sa2_init(void) static int __init alsa_card_opl3sa2_init(void)
{ {
int i, err, cards = 0; int i, err;
if ((err = platform_driver_register(&snd_opl3sa2_nonpnp_driver)) < 0) if ((err = platform_driver_register(&snd_opl3sa2_nonpnp_driver)) < 0)
return err; return err;
...@@ -964,23 +967,19 @@ static int __init alsa_card_opl3sa2_init(void) ...@@ -964,23 +967,19 @@ static int __init alsa_card_opl3sa2_init(void)
goto errout; goto errout;
} }
platform_devices[i] = device; platform_devices[i] = device;
cards++; snd_opl3sa2_devices++;
} }
#ifdef CONFIG_PNP #ifdef CONFIG_PNP
err = pnp_register_driver(&opl3sa2_pnp_driver); err = pnp_register_driver(&opl3sa2_pnp_driver);
if (err >= 0) { if (!err)
pnp_registered = 1; pnp_registered = 1;
cards += err;
}
err = pnp_register_card_driver(&opl3sa2_pnpc_driver); err = pnp_register_card_driver(&opl3sa2_pnpc_driver);
if (err >= 0) { if (!err)
pnpc_registered = 1; pnpc_registered = 1;
cards += err;
}
#endif #endif
if (!cards) { if (!snd_opl3sa2_devices) {
#ifdef MODULE #ifdef MODULE
snd_printk(KERN_ERR "Yamaha OPL3-SA soundcard not found or device busy\n"); snd_printk(KERN_ERR "Yamaha OPL3-SA soundcard not found or device busy\n");
#endif #endif
......
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