[tip:perf/core] irq: Fix circular headers dependency

From: tip-bot for Frederic Weisbecker
Date: Thu Sep 09 2010 - 15:54:55 EST


Commit-ID: 3b8fad3e2f5f69bfd8e42d099ca8582fb2342edf
Gitweb: http://git.kernel.org/tip/3b8fad3e2f5f69bfd8e42d099ca8582fb2342edf
Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
AuthorDate: Wed, 8 Sep 2010 14:26:00 +0200
Committer: Ingo Molnar <mingo@xxxxxxx>
CommitDate: Thu, 9 Sep 2010 21:28:58 +0200

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@xxxxxxx>
Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
Cc: Koki Sanagi <sanagi.koki@xxxxxxxxxxxxxx>
Cc: mathieu.desnoyers@xxxxxxxxxxxx
Cc: rostedt@xxxxxxxxxxx
Cc: nhorman@xxxxxxxxxxxxx
Cc: scott.a.mcmillan@xxxxxxxxx
Cc: eric.dumazet@xxxxxxxxx
Cc: kaneshige.kenji@xxxxxxxxxxxxxx
Cc: davem@xxxxxxxxxxxxx
Cc: izumi.taku@xxxxxxxxxxxxxx
Cc: kosaki.motohiro@xxxxxxxxxxxxxx
LKML-Reference: <20100908122557.GA5310@nowhere>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
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 62f5908..04d0a97 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)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/