diff options
author | Marc Zyngier <Marc.Zyngier@arm.com> | 2012-11-22 07:05:55 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-11-23 08:01:30 -0500 |
commit | c7cc504bc351e41e871e317ca7f032f4562f34ad (patch) | |
tree | 4e3dc63c90467067eb55990c307bb125f3f79f5e /arch/arm/include | |
parent | 82b5df7bf27ca6cf642499bc3bcae1c93b9ac4ba (diff) |
ARM: 7584/1: perf: fix link error when CONFIG_HW_PERF_EVENTS is not selected
Commit e50c541 (ARM: perf: add guest vs host discrimination) broken the
link as perf_instruction_pointer and perf_misc_flags are not defined
when CONFIG_HW_PERF_EVENTS is not selected.
As it make little sense to try and profile a guest without any HW event,
just fallback to the original code when this config option is not selected.
Reported-by: Russell King <linux@arm.linux.org.uk>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/include')
-rw-r--r-- | arch/arm/include/asm/perf_event.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/include/asm/perf_event.h b/arch/arm/include/asm/perf_event.h index 00416edecead..755877527cf9 100644 --- a/arch/arm/include/asm/perf_event.h +++ b/arch/arm/include/asm/perf_event.h | |||
@@ -21,9 +21,11 @@ | |||
21 | #define C(_x) PERF_COUNT_HW_CACHE_##_x | 21 | #define C(_x) PERF_COUNT_HW_CACHE_##_x |
22 | #define CACHE_OP_UNSUPPORTED 0xFFFF | 22 | #define CACHE_OP_UNSUPPORTED 0xFFFF |
23 | 23 | ||
24 | #ifdef CONFIG_HW_PERF_EVENTS | ||
24 | struct pt_regs; | 25 | struct pt_regs; |
25 | extern unsigned long perf_instruction_pointer(struct pt_regs *regs); | 26 | extern unsigned long perf_instruction_pointer(struct pt_regs *regs); |
26 | extern unsigned long perf_misc_flags(struct pt_regs *regs); | 27 | extern unsigned long perf_misc_flags(struct pt_regs *regs); |
27 | #define perf_misc_flags(regs) perf_misc_flags(regs) | 28 | #define perf_misc_flags(regs) perf_misc_flags(regs) |
29 | #endif | ||
28 | 30 | ||
29 | #endif /* __ARM_PERF_EVENT_H__ */ | 31 | #endif /* __ARM_PERF_EVENT_H__ */ |