diff options
author | Frederic Weisbecker <fweisbec@gmail.com> | 2009-11-13 07:16:15 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-11-13 18:27:38 -0500 |
commit | 687b16fb617bd446439425a368ad7c7bbd202c73 (patch) | |
tree | 1c0eaf832ed47273daa435b4329bed104accea85 /include | |
parent | 59d8eb53ea9947db7cad8ebc31b0fb54f23a9851 (diff) |
hw-breakpoints: Provide an off-case for counter_arch_bp()
If an arch doesn't support the hw breakpoints, counter_arch_bp()
has no off case to cover the missing breakpoint info structure
from the perf event. The result is a build error in non-x86
configs.
Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Prasad <prasad@linux.vnet.ibm.com>
LKML-Reference: <1258114575-32655-1-git-send-email-fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Prasad <prasad@linux.vnet.ibm.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/hw_breakpoint.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/include/linux/hw_breakpoint.h b/include/linux/hw_breakpoint.h index 7eba9b92e5f3..18710e0c84bd 100644 --- a/include/linux/hw_breakpoint.h +++ b/include/linux/hw_breakpoint.h | |||
@@ -16,11 +16,6 @@ enum { | |||
16 | HW_BREAKPOINT_X = 4, | 16 | HW_BREAKPOINT_X = 4, |
17 | }; | 17 | }; |
18 | 18 | ||
19 | static inline struct arch_hw_breakpoint *counter_arch_bp(struct perf_event *bp) | ||
20 | { | ||
21 | return &bp->hw.info; | ||
22 | } | ||
23 | |||
24 | static inline unsigned long hw_breakpoint_addr(struct perf_event *bp) | 19 | static inline unsigned long hw_breakpoint_addr(struct perf_event *bp) |
25 | { | 20 | { |
26 | return bp->attr.bp_addr; | 21 | return bp->attr.bp_addr; |
@@ -83,6 +78,11 @@ extern void release_bp_slot(struct perf_event *bp); | |||
83 | 78 | ||
84 | extern void flush_ptrace_hw_breakpoint(struct task_struct *tsk); | 79 | extern void flush_ptrace_hw_breakpoint(struct task_struct *tsk); |
85 | 80 | ||
81 | static inline struct arch_hw_breakpoint *counter_arch_bp(struct perf_event *bp) | ||
82 | { | ||
83 | return &bp->hw.info; | ||
84 | } | ||
85 | |||
86 | #else /* !CONFIG_HAVE_HW_BREAKPOINT */ | 86 | #else /* !CONFIG_HAVE_HW_BREAKPOINT */ |
87 | 87 | ||
88 | static inline struct perf_event * | 88 | static inline struct perf_event * |
@@ -126,6 +126,11 @@ static inline void release_bp_slot(struct perf_event *bp) { } | |||
126 | 126 | ||
127 | static inline void flush_ptrace_hw_breakpoint(struct task_struct *tsk) { } | 127 | static inline void flush_ptrace_hw_breakpoint(struct task_struct *tsk) { } |
128 | 128 | ||
129 | static inline struct arch_hw_breakpoint *counter_arch_bp(struct perf_event *bp) | ||
130 | { | ||
131 | return NULL; | ||
132 | } | ||
133 | |||
129 | #endif /* CONFIG_HAVE_HW_BREAKPOINT */ | 134 | #endif /* CONFIG_HAVE_HW_BREAKPOINT */ |
130 | 135 | ||
131 | #endif /* _LINUX_HW_BREAKPOINT_H */ | 136 | #endif /* _LINUX_HW_BREAKPOINT_H */ |