@@ -597,19 +597,16 @@ static struct platform_device sh_pfc_device = {
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 platform_device_register(&sh_pfc_device);
+}
- return rc;
+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)
{
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> --- drivers/sh/pfc/core.c | 15 ++++++--------- 1 files changed, 6 insertions(+), 9 deletions(-)