diff options
author | Frederic Weisbecker <fweisbec@gmail.com> | 2010-09-08 14:26:00 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-09-09 21:28:58 +0200 |
commit | 3b8fad3e2f5f69bfd8e42d099ca8582fb2342edf (patch) | |
tree | 23bea5741e65caaff0d3e5efb860b8eaa92906de | |
parent | 4e231c7962ce711c7d8c2a4dc23ecd1e8fc28363 (diff) | |
download | lwn-3b8fad3e2f5f69bfd8e42d099ca8582fb2342edf.tar.gz lwn-3b8fad3e2f5f69bfd8e42d099ca8582fb2342edf.zip |
irq: Fix circular headers dependency
asm-generic/hardirq.h needs asm/irq.h which might include
linux/interrupt.h as in the sparc 32 case. At this point
we need irq_cpustat generic definitions, but those are
included later in asm-generic/hardirq.h.
Then delay a bit the inclusion of irq.h from
asm-generic/hardirq.h, it doesn't need to be included early.
This fixes:
include/linux/interrupt.h: In function '__raise_softirq_irqoff':
include/linux/interrupt.h:414: error: implicit declaration of function 'local_softirq_pending'
include/linux/interrupt.h:414: error: lvalue required as left operand of assignment
Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
Cc: Koki Sanagi <sanagi.koki@jp.fujitsu.com>
Cc: mathieu.desnoyers@efficios.com
Cc: rostedt@goodmis.org
Cc: nhorman@tuxdriver.com
Cc: scott.a.mcmillan@intel.com
Cc: eric.dumazet@gmail.com
Cc: kaneshige.kenji@jp.fujitsu.com
Cc: davem@davemloft.net
Cc: izumi.taku@jp.fujitsu.com
Cc: kosaki.motohiro@jp.fujitsu.com
LKML-Reference: <20100908122557.GA5310@nowhere>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | include/asm-generic/hardirq.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-generic/hardirq.h b/include/asm-generic/hardirq.h index 62f59080e5cc..04d0a977cd43 100644 --- a/include/asm-generic/hardirq.h +++ b/include/asm-generic/hardirq.h @@ -3,13 +3,13 @@ #include <linux/cache.h> #include <linux/threads.h> -#include <linux/irq.h> typedef struct { unsigned int __softirq_pending; } ____cacheline_aligned irq_cpustat_t; #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ +#include <linux/irq.h> #ifndef ack_bad_irq static inline void ack_bad_irq(unsigned int irq) |