]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ARM: keystone: Make PM bus ready before populating platform devices
authorSantosh Shilimkar <santosh.shilimkar@ti.com>
Sat, 23 Nov 2013 22:08:03 +0000 (17:08 -0500)
committerSantosh Shilimkar <santosh.shilimkar@ti.com>
Mon, 16 Dec 2013 21:03:36 +0000 (16:03 -0500)
Keystone PM bus makes use of generic PM clock core backend. Since
generic PM clock core uses platform bus notifiers to track events like
ADD_DEVICE/DEL_DEVICE and to fill clock lists per each device, we need
to initialise Keystone PM domains before the platform devices have been
created.

Hence, fix it by moving keystone_pm_runtime_init() before platform
devices have been populated.

Reported-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
arch/arm/mach-keystone/keystone.c
arch/arm/mach-keystone/keystone.h
arch/arm/mach-keystone/pm_domain.c

index 2fe4dd04996cbcc9de5c8cac709fa46185d9b355..6e6bb7d5ea308ca890e56439481b51e211437346 100644 (file)
@@ -41,6 +41,7 @@ static void __init keystone_init(void)
        if (WARN_ON(!keystone_rstctrl))
                pr_warn("ti,keystone-reset iomap error\n");
 
+       keystone_pm_runtime_init();
        of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
index 60bef9dedb129b29a7aa67097cb51b0a05f0559d..cd04a1c14de8034b8c27dc5c5f9dbf7f0f31b64a 100644 (file)
@@ -18,6 +18,7 @@
 extern struct smp_operations keystone_smp_ops;
 extern void secondary_startup(void);
 extern u32 keystone_cpu_smc(u32 command, u32 cpu, u32 addr);
+extern int keystone_pm_runtime_init(void);
 
 #endif /* __ASSEMBLER__ */
 #endif /* __KEYSTONE_H__ */
index 29625232e9543aba107f29bc8cd6260c4f12c658..065f2e3863681dccce1b19e6cef52a513195ce91 100644 (file)
@@ -79,4 +79,3 @@ int __init keystone_pm_runtime_init(void)
 
        return 0;
 }
-subsys_initcall(keystone_pm_runtime_init);