diff options
author | Rene Herman <rene.herman@keyaccess.nl> | 2006-04-11 08:08:33 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2006-04-12 05:55:30 -0400 |
commit | d0ac642d76c79c5cc673c4cdfe43e926379784e1 (patch) | |
tree | 676e529b860634706ff98978d0328a71e584bc4f /sound/isa/gus | |
parent | 12831c15f35dcc9f55fa63d50fd4892c7c6a0a1c (diff) |
[ALSA] continue on IS_ERR from platform device registration
Continue with the next one on error from device registration.
This would seem the correct thing to do, even if it's not the probe()
error that we're getting.
Signed-off-by: Rene Herman <rene.herman@keyaccess.nl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/isa/gus')
-rw-r--r-- | sound/isa/gus/gusclassic.c | 14 | ||||
-rw-r--r-- | sound/isa/gus/gusextreme.c | 14 | ||||
-rw-r--r-- | sound/isa/gus/gusmax.c | 14 | ||||
-rw-r--r-- | sound/isa/gus/interwave.c | 14 |
4 files changed, 16 insertions, 40 deletions
diff --git a/sound/isa/gus/gusclassic.c b/sound/isa/gus/gusclassic.c index 26dccfea2437..ed34427c49db 100644 --- a/sound/isa/gus/gusclassic.c +++ b/sound/isa/gus/gusclassic.c | |||
@@ -253,10 +253,8 @@ static int __init alsa_card_gusclassic_init(void) | |||
253 | continue; | 253 | continue; |
254 | device = platform_device_register_simple(GUSCLASSIC_DRIVER, | 254 | device = platform_device_register_simple(GUSCLASSIC_DRIVER, |
255 | i, NULL, 0); | 255 | i, NULL, 0); |
256 | if (IS_ERR(device)) { | 256 | if (IS_ERR(device)) |
257 | err = PTR_ERR(device); | 257 | continue; |
258 | goto errout; | ||
259 | } | ||
260 | devices[i] = device; | 258 | devices[i] = device; |
261 | cards++; | 259 | cards++; |
262 | } | 260 | } |
@@ -264,14 +262,10 @@ static int __init alsa_card_gusclassic_init(void) | |||
264 | #ifdef MODULE | 262 | #ifdef MODULE |
265 | printk(KERN_ERR "GUS Classic soundcard not found or device busy\n"); | 263 | printk(KERN_ERR "GUS Classic soundcard not found or device busy\n"); |
266 | #endif | 264 | #endif |
267 | err = -ENODEV; | 265 | snd_gusclassic_unregister_all(); |
268 | goto errout; | 266 | return -ENODEV; |
269 | } | 267 | } |
270 | return 0; | 268 | return 0; |
271 | |||
272 | errout: | ||
273 | snd_gusclassic_unregister_all(); | ||
274 | return err; | ||
275 | } | 269 | } |
276 | 270 | ||
277 | static void __exit alsa_card_gusclassic_exit(void) | 271 | static void __exit alsa_card_gusclassic_exit(void) |
diff --git a/sound/isa/gus/gusextreme.c b/sound/isa/gus/gusextreme.c index 31dc20501d0c..aa312dee99c8 100644 --- a/sound/isa/gus/gusextreme.c +++ b/sound/isa/gus/gusextreme.c | |||
@@ -363,10 +363,8 @@ static int __init alsa_card_gusextreme_init(void) | |||
363 | continue; | 363 | continue; |
364 | device = platform_device_register_simple(GUSEXTREME_DRIVER, | 364 | device = platform_device_register_simple(GUSEXTREME_DRIVER, |
365 | i, NULL, 0); | 365 | i, NULL, 0); |
366 | if (IS_ERR(device)) { | 366 | if (IS_ERR(device)) |
367 | err = PTR_ERR(device); | 367 | continue; |
368 | goto errout; | ||
369 | } | ||
370 | devices[i] = device; | 368 | devices[i] = device; |
371 | cards++; | 369 | cards++; |
372 | } | 370 | } |
@@ -374,14 +372,10 @@ static int __init alsa_card_gusextreme_init(void) | |||
374 | #ifdef MODULE | 372 | #ifdef MODULE |
375 | printk(KERN_ERR "GUS Extreme soundcard not found or device busy\n"); | 373 | printk(KERN_ERR "GUS Extreme soundcard not found or device busy\n"); |
376 | #endif | 374 | #endif |
377 | err = -ENODEV; | 375 | snd_gusextreme_unregister_all(); |
378 | goto errout; | 376 | return -ENODEV; |
379 | } | 377 | } |
380 | return 0; | 378 | return 0; |
381 | |||
382 | errout: | ||
383 | snd_gusextreme_unregister_all(); | ||
384 | return err; | ||
385 | } | 379 | } |
386 | 380 | ||
387 | static void __exit alsa_card_gusextreme_exit(void) | 381 | static void __exit alsa_card_gusextreme_exit(void) |
diff --git a/sound/isa/gus/gusmax.c b/sound/isa/gus/gusmax.c index cafb9b67fa72..a733fabf653a 100644 --- a/sound/isa/gus/gusmax.c +++ b/sound/isa/gus/gusmax.c | |||
@@ -390,10 +390,8 @@ static int __init alsa_card_gusmax_init(void) | |||
390 | continue; | 390 | continue; |
391 | device = platform_device_register_simple(GUSMAX_DRIVER, | 391 | device = platform_device_register_simple(GUSMAX_DRIVER, |
392 | i, NULL, 0); | 392 | i, NULL, 0); |
393 | if (IS_ERR(device)) { | 393 | if (IS_ERR(device)) |
394 | err = PTR_ERR(device); | 394 | continue; |
395 | goto errout; | ||
396 | } | ||
397 | devices[i] = device; | 395 | devices[i] = device; |
398 | cards++; | 396 | cards++; |
399 | } | 397 | } |
@@ -401,14 +399,10 @@ static int __init alsa_card_gusmax_init(void) | |||
401 | #ifdef MODULE | 399 | #ifdef MODULE |
402 | printk(KERN_ERR "GUS MAX soundcard not found or device busy\n"); | 400 | printk(KERN_ERR "GUS MAX soundcard not found or device busy\n"); |
403 | #endif | 401 | #endif |
404 | err = -ENODEV; | 402 | snd_gusmax_unregister_all(); |
405 | goto errout; | 403 | return -ENODEV; |
406 | } | 404 | } |
407 | return 0; | 405 | return 0; |
408 | |||
409 | errout: | ||
410 | snd_gusmax_unregister_all(); | ||
411 | return err; | ||
412 | } | 406 | } |
413 | 407 | ||
414 | static void __exit alsa_card_gusmax_exit(void) | 408 | static void __exit alsa_card_gusmax_exit(void) |
diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c index de71b7a99c83..4be472ea99d2 100644 --- a/sound/isa/gus/interwave.c +++ b/sound/isa/gus/interwave.c | |||
@@ -947,10 +947,8 @@ static int __init alsa_card_interwave_init(void) | |||
947 | #endif | 947 | #endif |
948 | device = platform_device_register_simple(INTERWAVE_DRIVER, | 948 | device = platform_device_register_simple(INTERWAVE_DRIVER, |
949 | i, NULL, 0); | 949 | i, NULL, 0); |
950 | if (IS_ERR(device)) { | 950 | if (IS_ERR(device)) |
951 | err = PTR_ERR(device); | 951 | continue; |
952 | goto errout; | ||
953 | } | ||
954 | platform_devices[i] = device; | 952 | platform_devices[i] = device; |
955 | cards++; | 953 | cards++; |
956 | } | 954 | } |
@@ -966,14 +964,10 @@ static int __init alsa_card_interwave_init(void) | |||
966 | #ifdef MODULE | 964 | #ifdef MODULE |
967 | printk(KERN_ERR "InterWave soundcard not found or device busy\n"); | 965 | printk(KERN_ERR "InterWave soundcard not found or device busy\n"); |
968 | #endif | 966 | #endif |
969 | err = -ENODEV; | 967 | snd_interwave_unregister_all(); |
970 | goto errout; | 968 | return -ENODEV; |
971 | } | 969 | } |
972 | return 0; | 970 | return 0; |
973 | |||
974 | errout: | ||
975 | snd_interwave_unregister_all(); | ||
976 | return err; | ||
977 | } | 971 | } |
978 | 972 | ||
979 | static void __exit alsa_card_interwave_exit(void) | 973 | static void __exit alsa_card_interwave_exit(void) |