]> git.neil.brown.name Git - history.git/commitdiff
ALSA CVS update - Clemens Ladisch <clemens@ladisch.de>
authorJaroslav Kysela <perex@suse.cz>
Thu, 18 Mar 2004 12:15:03 +0000 (13:15 +0100)
committerJaroslav Kysela <perex@suse.cz>
Thu, 18 Mar 2004 12:15:03 +0000 (13:15 +0100)
MPU401 UART
don't use acpi_disabled because it isn't exported in all archs

sound/drivers/mpu401/mpu401.c

index 7cee8d190a562f31e05cadf8172cb82a73ddc898..cd2f1ef3639061508e318d36edcf0c3873b53b8f 100644 (file)
@@ -90,6 +90,8 @@ static snd_card_t *snd_mpu401_legacy_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR;
 
 #ifdef USE_ACPI_PNP
 
+static int acpi_driver_registered;
+
 struct mpu401_resources {
        unsigned long port;
        int irq;
@@ -257,28 +259,30 @@ static struct acpi_driver snd_mpu401_acpi_driver = {
 
 static int __init alsa_card_mpu401_init(void)
 {
-       int dev, cards = 0;
+       int dev, cards;
 
+#ifdef USE_ACPI_PNP
+       cards = acpi_bus_register_driver(&snd_mpu401_acpi_driver);
+       acpi_driver_registered = cards >= 0;
+#else
+       cards = 0;
+#endif
        for (dev = 0; dev < SNDRV_CARDS; dev++) {
                if (!enable[dev])
                        continue;
 #ifdef USE_ACPI_PNP
-               if (acpipnp[dev] && !acpi_disabled)
+               if (acpipnp[dev] && acpi_driver_registered)
                        continue;
 #endif
                if (snd_card_mpu401_probe(dev, NULL) >= 0)
                        cards++;
        }
-#ifdef USE_ACPI_PNP
-       if (!acpi_disabled)
-               cards += acpi_bus_register_driver(&snd_mpu401_acpi_driver);
-#endif
        if (!cards) {
 #ifdef MODULE
                printk(KERN_ERR "MPU-401 device not found or device busy\n");
 #endif
 #ifdef USE_ACPI_PNP
-               if (!acpi_disabled)
+               if (acpi_driver_registered)
                        acpi_bus_unregister_driver(&snd_mpu401_acpi_driver);
 #endif
                return -ENODEV;
@@ -291,7 +295,7 @@ static void __exit alsa_card_mpu401_exit(void)
        int idx;
 
 #ifdef USE_ACPI_PNP
-       if (!acpi_disabled)
+       if (acpi_driver_registered)
                acpi_bus_unregister_driver(&snd_mpu401_acpi_driver);
 #endif
        for (idx = 0; idx < SNDRV_CARDS; idx++)