On Thu, Nov 06, 2008 at 03:03:26PM -0500, Steven Rostedt wrote: > Alexey Dobriyan wrote: >> On m68k-amiga: >> >> CC arch/m68k/kernel/asm-offsets.s >> In file included from include/linux/fs.h:287, >> from include/linux/ftrace.h:5, <=== >> from include/linux/hardirq.h:7, >> from include2/asm/system.h:69, >> from include/linux/list.h:7, <=== >> from include/linux/preempt.h:11, >> from include/linux/spinlock.h:50, >> from include/linux/seqlock.h:29, >> from include/linux/time.h:8, >> from include/linux/timex.h:57, >> from include/linux/sched.h:54, >> from arch/m68k/kernel/asm-offsets.c:12: >> include/linux/wait.h:37: error: field 'task_list' has incomplete type >> ... >> >> commit 7e5e26a3d8ac4bcadb380073dc9604c07a9a6198 aka "trace: fix hardirq header for non ftrace archs" >> >> >> > We only need to include the ftrace.h to declare the ftrace_nmi_enter and > exit. > > I could separate that out into its own "ftrace_irq.h" file, that > hardirq.h can include. That should fix it. > > basically all that would be needed in that file is this: > > #ifdef CONFIG_DYNAMIC_FTRACE > extern void ftrace_nmi_enter(void); > extern void ftrace_nmi_exit(void); > #else > static inline void ftrace_nmi_enter(void) { } > static inline void ftrace_nmi_exit(void) { } > #endif /* CONFIG_DYNAMIC_FTRACE */ Oh, this is only for that. Here is patch that allows m68k to compile, I've came up with. --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h @@ -1,14 +1,12 @@ #ifndef _LINUX_FTRACE_H #define _LINUX_FTRACE_H +#include <linux/kallsyms.h> +#ifdef CONFIG_FUNCTION_TRACER #include <linux/linkage.h> -#include <linux/fs.h> #include <linux/ktime.h> #include <linux/init.h> #include <linux/types.h> -#include <linux/kallsyms.h> - -#ifdef CONFIG_FUNCTION_TRACER extern int ftrace_enabled; extern int @@ -236,7 +234,7 @@ static inline void ftrace_init_module(unsigned long *start, unsigned long *end) { } #endif - +#ifdef CONFIG_BOOT_TRACER struct boot_trace { pid_t caller; char func[KSYM_NAME_LEN]; @@ -246,12 +244,10 @@ struct boot_trace { ktime_t rettime; }; -#ifdef CONFIG_BOOT_TRACER extern void trace_boot(struct boot_trace *it, initcall_t fn); extern void start_boot_trace(void); extern void stop_boot_trace(void); #else -static inline void trace_boot(struct boot_trace *it, initcall_t fn) { } static inline void start_boot_trace(void) { } static inline void stop_boot_trace(void) { } #endif --- a/init/main.c +++ b/init/main.c @@ -728,6 +728,7 @@ core_param(initcall_debug, initcall_debug, bool, 0644); int do_one_initcall(initcall_t fn) { +#ifdef CONFIG_BOOT_TRACER int count = preempt_count(); ktime_t delta; char msgbuf[64]; @@ -768,6 +769,9 @@ int do_one_initcall(initcall_t fn) } return it.result; +#else + return fn(); +#endif } -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html