forked from Minki/linux
[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: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
This commit is contained in:
parent
6e8331ac69
commit
545b07d362
|
@ -181,21 +181,14 @@ 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)) {
|
return 0;
|
||||||
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;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __exit alsa_card_pmac_exit(void)
|
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);
|
platform_driver_unregister(&snd_pmac_driver);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user