Subject: Re: linux-next: kernel/trace/trace.c:658: error:

From: Frederic Weisbecker <[email-masked]>
Date: Thu, 23 Oct 2008 16:41:22 +0200

Frédéric Weisbecker wrote:
> 2008/10/23 Frédéric Weisbecker <[email-masked]>:
>> 2008/10/23 Alexey Dobriyan <[email-masked]>:
>>> On alpha-smp-n-debug-y:
>>>
>>> kernel/trace/trace.c: In function 'tracing_generic_entry_update':
>>> kernel/trace/trace.c:658: error: implicit declaration of function 'irqs_disabled_flags'
>>> kernel/trace/trace.c: In function 'tracing_cpumask_write':
>>> kernel/trace/trace.c:2145: error: implicit declaration of function 'raw_local_irq_disable'
>>> kernel/trace/trace.c:2162: error: implicit declaration of function 'raw_local_irq_enable'
>>> kernel/trace/trace.c: In function 'trace_die_handler':
>>> kernel/trace/trace.c:3039: error: 'DIE_OOPS' undeclared (first use in this function)
>>>
>>> This has something with config dependencies, because adding include doesn't fix it.
>>>
>> A lot of arch have an asm/irqflags.h but not alpha.
>> In linux/irqflags, raw_local_irq_* functions are defined to be
>> local_irq_* function if they don't support
>> CONFIG_TRACE_IRQFLAGS_SUPPORT.
>> It seems the error is here, alpha may turn this option off.
>>
> 
> Hmm no actually your CONFIG_TRACE_IRFLAGS_SUPPORT is not set.
> So that's because the linux/irqflags.h is not included in the
> asm/system.h on alpha (other archs do).
> 

Does this patch correct the issue?
It applies on last -tip
---

From: Frederic Weisbecker <[email-masked]>
Subject: [PATCH] alpha: include irqflags.h to enable use of tracing

asm/system.h should include linux/irqflags.h to enable the use of tracing
which needs raw_local_irq_* functions.

Signed-off-by: Frederic Weisbecker <[email-masked]>
---
diff --git a/arch/alpha/include/asm/system.h b/arch/alpha/include/asm/system.h
index afe20fa..c1e6dc5 100644
--- a/arch/alpha/include/asm/system.h
+++ b/arch/alpha/include/asm/system.h
@@ -48,6 +48,7 @@
 
 #ifndef __ASSEMBLY__
 #include <linux/kernel.h>
+#include <linux/irqflags.h>
 #define AT_VECTOR_SIZE_ARCH 4 /* entries in ARCH_DLINFO */
 
 /*