diff options
author | Arnd Bergmann <arnd@arndb.de> | 2015-02-27 20:31:51 +0100 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2015-12-01 21:50:24 +0100 |
commit | a0e157afd0c3ecb2e953eb41da04da2bf0e3d6c3 (patch) | |
tree | 7e6b92d70621cfd3771753012a0905da0c1051d7 /arch/arm/mach-s3c64xx/cpuidle.c | |
parent | 0f20e456bd0542b7bf8cae8f553142405a8ab430 (diff) |
ARM: s3c64xx: prepare initcalls for multiplatform
In a multiplatform kernel, each initcall is run regardless
of the platform it is meant for, so it must not attempt to
access SoC-specific registers.
This adds 'if (soc_is_s3c64xx)' to all initcalls that are
specific to the s3c64xx platform, to prevent them from breaking
other platforms once we can build them into a combined kernel.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Diffstat (limited to 'arch/arm/mach-s3c64xx/cpuidle.c')
-rw-r--r-- | arch/arm/mach-s3c64xx/cpuidle.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm/mach-s3c64xx/cpuidle.c b/arch/arm/mach-s3c64xx/cpuidle.c index 93aa8cb70195..5322db51150e 100644 --- a/arch/arm/mach-s3c64xx/cpuidle.c +++ b/arch/arm/mach-s3c64xx/cpuidle.c @@ -18,6 +18,7 @@ #include <asm/cpuidle.h> +#include <plat/cpu.h> #include <mach/map.h> #include "regs-sys.h" @@ -57,6 +58,8 @@ static struct cpuidle_driver s3c64xx_cpuidle_driver = { static int __init s3c64xx_init_cpuidle(void) { - return cpuidle_register(&s3c64xx_cpuidle_driver, NULL); + if (soc_is_s3c64xx()) + return cpuidle_register(&s3c64xx_cpuidle_driver, NULL); + return 0; } device_initcall(s3c64xx_init_cpuidle); |