rfkill: Cleanup error handling in rfkill_init()

Use a separate label per error condition in rfkill_init() to make it a
bit cleaner and easier to extend.

Signed-off-by: Michał Kępień <kernel@kempniu.pl>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Michał Kępień 2016-12-08 08:30:51 +01:00 committed by Johannes Berg
parent 4a5eccaa93
commit 6124c53ede
1 changed files with 12 additions and 11 deletions

View File

@ -1263,24 +1263,25 @@ static int __init rfkill_init(void)
error = class_register(&rfkill_class);
if (error)
goto out;
goto error_class;
error = misc_register(&rfkill_miscdev);
if (error) {
class_unregister(&rfkill_class);
goto out;
}
if (error)
goto error_misc;
#ifdef CONFIG_RFKILL_INPUT
error = rfkill_handler_init();
if (error) {
misc_deregister(&rfkill_miscdev);
class_unregister(&rfkill_class);
goto out;
}
if (error)
goto error_input;
#endif
out:
return 0;
error_input:
misc_deregister(&rfkill_miscdev);
error_misc:
class_unregister(&rfkill_class);
error_class:
return error;
}
subsys_initcall(rfkill_init);