Skip to content

Commit d352c0e

Browse files
thierryredingdtor
authored andcommitted
Input: sparcspkr - use platform_register/unregister_drivers()
These new helpers simplify implementing multi-driver modules and properly handle failure to register one driver by unregistering all previously registered drivers. Signed-off-by: Thierry Reding <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
1 parent 0eea505 commit d352c0e

File tree

1 file changed

+7
-11
lines changed

1 file changed

+7
-11
lines changed

drivers/input/misc/sparcspkr.c

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -345,23 +345,19 @@ static struct platform_driver grover_beep_driver = {
345345
.shutdown = sparcspkr_shutdown,
346346
};
347347

348+
static struct platform_driver * const drivers[] = {
349+
&bbc_beep_driver,
350+
&grover_beep_driver,
351+
};
352+
348353
static int __init sparcspkr_init(void)
349354
{
350-
int err = platform_driver_register(&bbc_beep_driver);
351-
352-
if (!err) {
353-
err = platform_driver_register(&grover_beep_driver);
354-
if (err)
355-
platform_driver_unregister(&bbc_beep_driver);
356-
}
357-
358-
return err;
355+
return platform_register_drivers(drivers, ARRAY_SIZE(drivers));
359356
}
360357

361358
static void __exit sparcspkr_exit(void)
362359
{
363-
platform_driver_unregister(&bbc_beep_driver);
364-
platform_driver_unregister(&grover_beep_driver);
360+
platform_unregister_drivers(drivers, ARRAY_SIZE(drivers));
365361
}
366362

367363
module_init(sparcspkr_init);

0 commit comments

Comments
 (0)