Commit 545b07d3 authored by Johannes Berg's avatar Johannes Berg Committed by Jaroslav Kysela

[ALSA] make snd-powermac load even when it can't bind the device

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: default avatarJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarJaroslav Kysela <perex@suse.cz>
parent 6e8331ac
...@@ -181,20 +181,13 @@ static int __init alsa_card_pmac_init(void) ...@@ -181,20 +181,13 @@ static int __init alsa_card_pmac_init(void)
if ((err = platform_driver_register(&snd_pmac_driver)) < 0) if ((err = platform_driver_register(&snd_pmac_driver)) < 0)
return err; return err;
device = platform_device_register_simple(SND_PMAC_DRIVER, -1, NULL, 0); device = platform_device_register_simple(SND_PMAC_DRIVER, -1, NULL, 0);
if (!IS_ERR(device)) {
if (platform_get_drvdata(device))
return 0; return 0;
platform_device_unregister(device);
err = -ENODEV;
} else
err = PTR_ERR(device);
platform_driver_unregister(&snd_pmac_driver);
return err;
} }
static void __exit alsa_card_pmac_exit(void) static void __exit alsa_card_pmac_exit(void)
{ {
if (!IS_ERR(device))
platform_device_unregister(device); platform_device_unregister(device);
platform_driver_unregister(&snd_pmac_driver); platform_driver_unregister(&snd_pmac_driver);
} }
......
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