sh-pfc: Split platform device and platform driver registration
Move platform driver registration to a static postcore initcall. This
prepares the move of platform device registration to arch code.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
diff --git a/drivers/sh/pfc/core.c b/drivers/sh/pfc/core.c
index 1bb38e8..cd8f09d 100644
--- a/drivers/sh/pfc/core.c
+++ b/drivers/sh/pfc/core.c
@@ -573,20 +573,17 @@
int __init register_sh_pfc(struct sh_pfc_platform_data *pdata)
{
- int rc;
-
sh_pfc_device.dev.platform_data = pdata;
- rc = platform_driver_register(&sh_pfc_driver);
- if (likely(!rc)) {
- rc = platform_device_register(&sh_pfc_device);
- if (unlikely(rc))
- platform_driver_unregister(&sh_pfc_driver);
- }
-
- return rc;
+ return platform_device_register(&sh_pfc_device);
}
+static int __init sh_pfc_init(void)
+{
+ return platform_driver_register(&sh_pfc_driver);
+}
+postcore_initcall(sh_pfc_init);
+
static void __exit sh_pfc_exit(void)
{
platform_driver_unregister(&sh_pfc_driver);