aboutsummaryrefslogtreecommitdiffstats
path: root/sound/ppc/powermac.c
diff options
context:
space:
mode:
authorRene Herman <rene.herman@keyaccess.nl>2006-04-13 06:58:06 -0400
committerJaroslav Kysela <perex@suse.cz>2006-06-22 15:32:42 -0400
commit7152447df98b3981d621224be947a2c8d77aed06 (patch)
tree33419b17c13ee13c757c2d2fff9a09d47cc01af6 /sound/ppc/powermac.c
parent79ca4f3f625e14212310f953b096e2e45110ac6b (diff)
[ALSA] unregister platform device again if probe was unsuccessful
This second one unregisters the platform device again when the probe is unsuccesful for sound/drivers, sound/arm/sa11xx-uda1341.c and sound/ppc/powermac.c. This gets them all. Signed-off-by: Rene Herman <rene.herman@keyaccess.nl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/ppc/powermac.c')
-rw-r--r--sound/ppc/powermac.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/sound/ppc/powermac.c b/sound/ppc/powermac.c
index f4902a219e50..875f1f7bdc58 100644
--- a/sound/ppc/powermac.c
+++ b/sound/ppc/powermac.c
@@ -188,11 +188,15 @@ static int __init alsa_card_pmac_init(void)
188 if ((err = platform_driver_register(&snd_pmac_driver)) < 0) 188 if ((err = platform_driver_register(&snd_pmac_driver)) < 0)
189 return err; 189 return err;
190 device = platform_device_register_simple(SND_PMAC_DRIVER, -1, NULL, 0); 190 device = platform_device_register_simple(SND_PMAC_DRIVER, -1, NULL, 0);
191 if (IS_ERR(device)) { 191 if (!IS_ERR(device)) {
192 platform_driver_unregister(&snd_pmac_driver); 192 if (platform_get_drvdata(device))
193 return PTR_ERR(device); 193 return 0;
194 } 194 platform_device_unregister(device);
195 return 0; 195 err = -ENODEV;
196 } else
197 err = PTR_ERR(device);
198 platform_driver_unregister(&snd_pmac_driver);
199 return err;
196 200
197} 201}
198 202