diff options
author | Thierry Reding <treding@nvidia.com> | 2015-12-02 11:32:51 -0500 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-12-02 14:37:03 -0500 |
commit | 7629cef11200bccb63ce5a629a4d0602e7f85555 (patch) | |
tree | 81d2fc3df7e0500742ede639b99dfc72cec8ea32 | |
parent | 8005c49d9aea74d382f474ce11afbbc7d7130bec (diff) |
regulator: lp8788-ldo: 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 <treding@nvidia.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | drivers/regulator/lp8788-ldo.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/drivers/regulator/lp8788-ldo.c b/drivers/regulator/lp8788-ldo.c index 9f22d079c8cc..30e28b131126 100644 --- a/drivers/regulator/lp8788-ldo.c +++ b/drivers/regulator/lp8788-ldo.c | |||
@@ -613,22 +613,20 @@ static struct platform_driver lp8788_aldo_driver = { | |||
613 | }, | 613 | }, |
614 | }; | 614 | }; |
615 | 615 | ||
616 | static struct platform_driver * const drivers[] = { | ||
617 | &lp8788_dldo_driver, | ||
618 | &lp8788_aldo_driver, | ||
619 | }; | ||
620 | |||
616 | static int __init lp8788_ldo_init(void) | 621 | static int __init lp8788_ldo_init(void) |
617 | { | 622 | { |
618 | int ret; | 623 | return platform_register_drivers(drivers, ARRAY_SIZE(drivers)); |
619 | |||
620 | ret = platform_driver_register(&lp8788_dldo_driver); | ||
621 | if (ret) | ||
622 | return ret; | ||
623 | |||
624 | return platform_driver_register(&lp8788_aldo_driver); | ||
625 | } | 624 | } |
626 | subsys_initcall(lp8788_ldo_init); | 625 | subsys_initcall(lp8788_ldo_init); |
627 | 626 | ||
628 | static void __exit lp8788_ldo_exit(void) | 627 | static void __exit lp8788_ldo_exit(void) |
629 | { | 628 | { |
630 | platform_driver_unregister(&lp8788_aldo_driver); | 629 | platform_unregister_drivers(drivers, ARRAY_SIZE(drivers)); |
631 | platform_driver_unregister(&lp8788_dldo_driver); | ||
632 | } | 630 | } |
633 | module_exit(lp8788_ldo_exit); | 631 | module_exit(lp8788_ldo_exit); |
634 | 632 | ||