diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2014-07-04 09:49:05 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2014-07-18 07:29:49 -0400 |
commit | 7397aa48fff47c2386867a3fbfce8f3e664843a9 (patch) | |
tree | edbbcea793a361542cb1be9ec2b15bb15b87862c /arch/arm/kernel/swp_emulate.c | |
parent | a11dd731f5ead63ab3d757bbb1ab631063f6c034 (diff) |
ARM: SWP emulation: only initialise on ARMv7 CPUs
Previous CPUs do not have the ability to trap SWP instructions, so
it's pointless initialising this code there.
Tested-by: Tony Lindgren <tony@atomide.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/swp_emulate.c')
-rw-r--r-- | arch/arm/kernel/swp_emulate.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/kernel/swp_emulate.c b/arch/arm/kernel/swp_emulate.c index b1b89882b113..67ca8578c6d8 100644 --- a/arch/arm/kernel/swp_emulate.c +++ b/arch/arm/kernel/swp_emulate.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <linux/perf_event.h> | 27 | #include <linux/perf_event.h> |
28 | 28 | ||
29 | #include <asm/opcodes.h> | 29 | #include <asm/opcodes.h> |
30 | #include <asm/system_info.h> | ||
30 | #include <asm/traps.h> | 31 | #include <asm/traps.h> |
31 | #include <asm/uaccess.h> | 32 | #include <asm/uaccess.h> |
32 | 33 | ||
@@ -266,6 +267,9 @@ static struct undef_hook swp_hook = { | |||
266 | */ | 267 | */ |
267 | static int __init swp_emulation_init(void) | 268 | static int __init swp_emulation_init(void) |
268 | { | 269 | { |
270 | if (cpu_architecture() < CPU_ARCH_ARMv7) | ||
271 | return 0; | ||
272 | |||
269 | #ifdef CONFIG_PROC_FS | 273 | #ifdef CONFIG_PROC_FS |
270 | if (!proc_create("cpu/swp_emulation", S_IRUGO, NULL, &proc_status_fops)) | 274 | if (!proc_create("cpu/swp_emulation", S_IRUGO, NULL, &proc_status_fops)) |
271 | return -ENOMEM; | 275 | return -ENOMEM; |