aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-s3c64xx/cpuidle.c
diff options
context:
space:
mode:
authorGravatar Arnd Bergmann <arnd@arndb.de> 2015-02-27 20:31:51 +0100
committerGravatar Arnd Bergmann <arnd@arndb.de> 2015-12-01 21:50:24 +0100
commita0e157afd0c3ecb2e953eb41da04da2bf0e3d6c3 (patch)
tree7e6b92d70621cfd3771753012a0905da0c1051d7 /arch/arm/mach-s3c64xx/cpuidle.c
parentgpio: samsung: move gpio-samsung driver back to platform code (diff)
downloadlinux-a0e157afd0c3ecb2e953eb41da04da2bf0e3d6c3.tar.gz
linux-a0e157afd0c3ecb2e953eb41da04da2bf0e3d6c3.tar.bz2
linux-a0e157afd0c3ecb2e953eb41da04da2bf0e3d6c3.zip
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.c5
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);