[ALSA] make snd-powermac load even when it can't bind the device
authorJohannes Berg <johannes@sipsolutions.net>
Tue, 25 Jul 2006 14:14:16 +0000 (16:14 +0200)
committerJaroslav Kysela <perex@suse.cz>
Thu, 3 Aug 2006 13:21:24 +0000 (15:21 +0200)
This patch makes snd-powermac load when it can't bind the device right
away. That's the expected behaviour for hotplugging, but fixes an
important problem I was seeing with doing a modprobe snd-powermac with
a version that refuses loading on machines with layout-id: snd-powermac
would create a bunch of uevents and then refuse to load, the uevents
causing udev to reload it again, ad eternum.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
sound/ppc/powermac.c

index fa9a44ab487e8a35a46e0a4086849943719c5f5f..2264574fa06b7c317252653f75068f5e841a6235 100644 (file)
@@ -181,21 +181,14 @@ static int __init alsa_card_pmac_init(void)
        if ((err = platform_driver_register(&snd_pmac_driver)) < 0)
                return err;
        device = platform_device_register_simple(SND_PMAC_DRIVER, -1, NULL, 0);
-       if (!IS_ERR(device)) {
-               if (platform_get_drvdata(device))
-                       return 0;
-               platform_device_unregister(device);
-               err = -ENODEV;
-       } else
-               err = PTR_ERR(device);
-       platform_driver_unregister(&snd_pmac_driver);
-       return err;
+       return 0;
 
 }
 
 static void __exit alsa_card_pmac_exit(void)
 {
-       platform_device_unregister(device);
+       if (!IS_ERR(device))
+               platform_device_unregister(device);
        platform_driver_unregister(&snd_pmac_driver);
 }