diff options
author | Steven Rostedt <rostedt@goodmis.org> | 2008-10-31 09:36:38 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-11-03 05:03:43 -0500 |
commit | 7e5e26a3d8ac4bcadb380073dc9604c07a9a6198 (patch) | |
tree | 68f6e0ab79358b198ba9cf404d647d2188146292 /include | |
parent | 7a895f53cda9d9362c30144e42c124a1ae996b9e (diff) |
ftrace: fix hardirq header for non ftrace archs
Impact: build fix for non-ftrace architectures
Not all archs implement ftrace, and therefore do not have an asm/ftrace.h.
This patch corrects the problem.
The ftrace_nmi_enter/exit now must be defined for all archs that implement
dynamic ftrace. Currently, only x86 does.
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/ftrace.h | 5 | ||||
-rw-r--r-- | include/linux/hardirq.h | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h index e46a7b34037c..0ad1b48aea69 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h | |||
@@ -44,7 +44,6 @@ static inline void ftrace_kill(void) { } | |||
44 | #endif /* CONFIG_FUNCTION_TRACER */ | 44 | #endif /* CONFIG_FUNCTION_TRACER */ |
45 | 45 | ||
46 | #ifdef CONFIG_DYNAMIC_FTRACE | 46 | #ifdef CONFIG_DYNAMIC_FTRACE |
47 | |||
48 | enum { | 47 | enum { |
49 | FTRACE_FL_FREE = (1 << 0), | 48 | FTRACE_FL_FREE = (1 << 0), |
50 | FTRACE_FL_FAILED = (1 << 1), | 49 | FTRACE_FL_FAILED = (1 << 1), |
@@ -105,6 +104,8 @@ extern void ftrace_release(void *start, unsigned long size); | |||
105 | 104 | ||
106 | extern void ftrace_disable_daemon(void); | 105 | extern void ftrace_disable_daemon(void); |
107 | extern void ftrace_enable_daemon(void); | 106 | extern void ftrace_enable_daemon(void); |
107 | extern void ftrace_nmi_enter(void); | ||
108 | extern void ftrace_nmi_exit(void); | ||
108 | 109 | ||
109 | #else | 110 | #else |
110 | # define skip_trace(ip) ({ 0; }) | 111 | # define skip_trace(ip) ({ 0; }) |
@@ -113,6 +114,8 @@ extern void ftrace_enable_daemon(void); | |||
113 | # define ftrace_disable_daemon() do { } while (0) | 114 | # define ftrace_disable_daemon() do { } while (0) |
114 | # define ftrace_enable_daemon() do { } while (0) | 115 | # define ftrace_enable_daemon() do { } while (0) |
115 | static inline void ftrace_release(void *start, unsigned long size) { } | 116 | static inline void ftrace_release(void *start, unsigned long size) { } |
117 | static inline void ftrace_nmi_enter(void) { } | ||
118 | static inline void ftrace_nmi_exit(void) { } | ||
116 | #endif /* CONFIG_DYNAMIC_FTRACE */ | 119 | #endif /* CONFIG_DYNAMIC_FTRACE */ |
117 | 120 | ||
118 | /* totally disable ftrace - can not re-enable after this */ | 121 | /* totally disable ftrace - can not re-enable after this */ |
diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h index 0087cb43becf..ffc16ab5a878 100644 --- a/include/linux/hardirq.h +++ b/include/linux/hardirq.h | |||
@@ -4,8 +4,8 @@ | |||
4 | #include <linux/preempt.h> | 4 | #include <linux/preempt.h> |
5 | #include <linux/smp_lock.h> | 5 | #include <linux/smp_lock.h> |
6 | #include <linux/lockdep.h> | 6 | #include <linux/lockdep.h> |
7 | #include <linux/ftrace.h> | ||
7 | #include <asm/hardirq.h> | 8 | #include <asm/hardirq.h> |
8 | #include <asm/ftrace.h> | ||
9 | #include <asm/system.h> | 9 | #include <asm/system.h> |
10 | 10 | ||
11 | /* | 11 | /* |