Commit 3e57615b authored by linuxppc@jdl.com's avatar linuxppc@jdl.com Committed by Paul Mackerras

[PATCH] powerpc: Revised merge asm-ppc*/hardirq.h

This is a revised patch to merge asm-ppc*/hardirq.h.
It removes some unnecessary #includes, but then requires
the addition of #include <asm/irq.h> in PPC32's hw_irq.h
much like ppc64 already does.  Furthermore, several
unnecessary #includes were removed from some ppc32 boards
in order to break resulting bad #include cycles.

Builds pSeries_defconfig and all ppc32 platforms except
the already b0rken bseip.
Signed-off-by: default avatarJon Loeliger <jdl@freescale.com>
Signed-off-by: default avatarKumar Gala <kumar.gala@freescale.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent c7aeffc4
...@@ -19,7 +19,6 @@ ...@@ -19,7 +19,6 @@
#include <linux/config.h> #include <linux/config.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/seq_file.h>
#include <syslib/ppc83xx_setup.h> #include <syslib/ppc83xx_setup.h>
#include <asm/ppcboot.h> #include <asm/ppcboot.h>
......
...@@ -19,7 +19,6 @@ ...@@ -19,7 +19,6 @@
#include <linux/config.h> #include <linux/config.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/seq_file.h>
#include <asm/ppcboot.h> #include <asm/ppcboot.h>
#define BOARD_CCSRBAR ((uint)0xe0000000) #define BOARD_CCSRBAR ((uint)0xe0000000)
......
...@@ -21,7 +21,6 @@ ...@@ -21,7 +21,6 @@
#include <linux/config.h> #include <linux/config.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/seq_file.h>
#include <asm/ppcboot.h> #include <asm/ppcboot.h>
#define BOARD_CCSRBAR ((uint)0xe0000000) #define BOARD_CCSRBAR ((uint)0xe0000000)
......
#ifdef __KERNEL__ #ifndef _ASM_POWERPC_HARDIRQ_H
#ifndef __ASM_HARDIRQ_H #define _ASM_POWERPC_HARDIRQ_H
#define __ASM_HARDIRQ_H
#include <linux/config.h>
#include <linux/cache.h>
#include <linux/smp_lock.h>
#include <asm/irq.h>
/* The __last_jiffy_stamp field is needed to ensure that no decrementer /* The __last_jiffy_stamp field is needed to ensure that no decrementer
* interrupt is lost on SMP machines. Since on most CPUs it is in the same * interrupt is lost on SMP machines. Since on most CPUs it is in the same
...@@ -13,7 +7,7 @@ ...@@ -13,7 +7,7 @@
* for uniformity. * for uniformity.
*/ */
typedef struct { typedef struct {
unsigned long __softirq_pending; /* set_bit is used on this */ unsigned int __softirq_pending; /* set_bit is used on this */
unsigned int __last_jiffy_stamp; unsigned int __last_jiffy_stamp;
} ____cacheline_aligned irq_cpustat_t; } ____cacheline_aligned irq_cpustat_t;
...@@ -27,5 +21,4 @@ static inline void ack_bad_irq(int irq) ...@@ -27,5 +21,4 @@ static inline void ack_bad_irq(int irq)
BUG(); BUG();
} }
#endif /* __ASM_HARDIRQ_H */ #endif /* _ASM_POWERPC_HARDIRQ_H */
#endif /* __KERNEL__ */
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/reg.h> #include <asm/reg.h>
#include <asm/irq.h>
extern void timer_interrupt(struct pt_regs *); extern void timer_interrupt(struct pt_regs *);
......
#ifndef __ASM_HARDIRQ_H
#define __ASM_HARDIRQ_H
/*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*/
#include <linux/config.h>
#include <linux/cache.h>
#include <linux/preempt.h>
typedef struct {
unsigned int __softirq_pending;
} ____cacheline_aligned irq_cpustat_t;
#include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
static inline void ack_bad_irq(int irq)
{
printk(KERN_CRIT "illegal vector %d received!\n", irq);
BUG();
}
#endif /* __ASM_HARDIRQ_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment