aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-powerpc')
-rw-r--r--include/asm-powerpc/i8259.h3
-rw-r--r--include/asm-powerpc/irq.h8
-rw-r--r--include/asm-powerpc/mpic.h25
3 files changed, 10 insertions, 26 deletions
diff --git a/include/asm-powerpc/i8259.h b/include/asm-powerpc/i8259.h
index 0392159e16e4..ff31cb90325f 100644
--- a/include/asm-powerpc/i8259.h
+++ b/include/asm-powerpc/i8259.h
@@ -4,11 +4,8 @@
4 4
5#include <linux/irq.h> 5#include <linux/irq.h>
6 6
7extern struct hw_interrupt_type i8259_pic;
8
9extern void i8259_init(unsigned long intack_addr, int offset); 7extern void i8259_init(unsigned long intack_addr, int offset);
10extern int i8259_irq(struct pt_regs *regs); 8extern int i8259_irq(struct pt_regs *regs);
11extern int i8259_irq_cascade(struct pt_regs *regs, void *unused);
12 9
13#endif /* __KERNEL__ */ 10#endif /* __KERNEL__ */
14#endif /* _ASM_POWERPC_I8259_H */ 11#endif /* _ASM_POWERPC_I8259_H */
diff --git a/include/asm-powerpc/irq.h b/include/asm-powerpc/irq.h
index eb5f33e1977a..13fa2ef38dc7 100644
--- a/include/asm-powerpc/irq.h
+++ b/include/asm-powerpc/irq.h
@@ -514,9 +514,12 @@ extern u64 ppc64_interrupt_controller;
514 514
515#endif 515#endif
516 516
517#ifndef CONFIG_PPC_MERGE
517#define NR_MASK_WORDS ((NR_IRQS + 31) / 32) 518#define NR_MASK_WORDS ((NR_IRQS + 31) / 32)
518/* pedantic: these are long because they are used with set_bit --RR */ 519/* pedantic: these are long because they are used with set_bit --RR */
519extern unsigned long ppc_cached_irq_mask[NR_MASK_WORDS]; 520extern unsigned long ppc_cached_irq_mask[NR_MASK_WORDS];
521#endif
522
520extern atomic_t ppc_n_lost_interrupts; 523extern atomic_t ppc_n_lost_interrupts;
521 524
522#define virt_irq_create_mapping(x) (x) 525#define virt_irq_create_mapping(x) (x)
@@ -579,9 +582,8 @@ extern struct thread_info *softirq_ctx[NR_CPUS];
579 582
580extern void irq_ctx_init(void); 583extern void irq_ctx_init(void);
581extern void call_do_softirq(struct thread_info *tp); 584extern void call_do_softirq(struct thread_info *tp);
582extern int call___do_IRQ(int irq, struct pt_regs *regs, 585extern int call_handle_irq(int irq, void *p1, void *p2,
583 struct thread_info *tp); 586 struct thread_info *tp, void *func);
584
585#else 587#else
586#define irq_ctx_init() 588#define irq_ctx_init()
587 589
diff --git a/include/asm-powerpc/mpic.h b/include/asm-powerpc/mpic.h
index f0d22ac34b96..a2277cb77ddc 100644
--- a/include/asm-powerpc/mpic.h
+++ b/include/asm-powerpc/mpic.h
@@ -114,9 +114,6 @@
114#define MPIC_VEC_TIMER_1 248 114#define MPIC_VEC_TIMER_1 248
115#define MPIC_VEC_TIMER_0 247 115#define MPIC_VEC_TIMER_0 247
116 116
117/* Type definition of the cascade handler */
118typedef int (*mpic_cascade_t)(struct pt_regs *regs, void *data);
119
120#ifdef CONFIG_MPIC_BROKEN_U3 117#ifdef CONFIG_MPIC_BROKEN_U3
121/* Fixup table entry */ 118/* Fixup table entry */
122struct mpic_irq_fixup 119struct mpic_irq_fixup
@@ -133,9 +130,12 @@ struct mpic_irq_fixup
133struct mpic 130struct mpic
134{ 131{
135 /* The "linux" controller struct */ 132 /* The "linux" controller struct */
136 hw_irq_controller hc_irq; 133 struct irq_chip hc_irq;
134#ifdef CONFIG_MPIC_BROKEN_U3
135 struct irq_chip hc_ht_irq;
136#endif
137#ifdef CONFIG_SMP 137#ifdef CONFIG_SMP
138 hw_irq_controller hc_ipi; 138 struct irq_chip hc_ipi;
139#endif 139#endif
140 const char *name; 140 const char *name;
141 /* Flags */ 141 /* Flags */
@@ -153,10 +153,6 @@ struct mpic
153 unsigned int num_sources; 153 unsigned int num_sources;
154 /* Number of CPUs */ 154 /* Number of CPUs */
155 unsigned int num_cpus; 155 unsigned int num_cpus;
156 /* cascade handler */
157 mpic_cascade_t cascade;
158 void *cascade_data;
159 unsigned int cascade_vec;
160 /* senses array */ 156 /* senses array */
161 unsigned char *senses; 157 unsigned char *senses;
162 unsigned int senses_count; 158 unsigned int senses_count;
@@ -237,17 +233,6 @@ extern void mpic_assign_isu(struct mpic *mpic, unsigned int isu_num,
237 */ 233 */
238extern void mpic_init(struct mpic *mpic); 234extern void mpic_init(struct mpic *mpic);
239 235
240/* Setup a cascade. Currently, only one cascade is supported this
241 * way, though you can always do a normal request_irq() and add
242 * other cascades this way. You should call this _after_ having
243 * added all the ISUs
244 *
245 * @irq_no: "linux" irq number of the cascade (that is offset'ed vector)
246 * @handler: cascade handler function
247 */
248extern void mpic_setup_cascade(unsigned int irq_no, mpic_cascade_t hanlder,
249 void *data);
250
251/* 236/*
252 * All of the following functions must only be used after the 237 * All of the following functions must only be used after the
253 * ISUs have been assigned and the controller fully initialized 238 * ISUs have been assigned and the controller fully initialized