提交 d1bef4ed 编写于 作者: I Ingo Molnar 提交者: Linus Torvalds

[PATCH] genirq: rename desc->handler to desc->chip

This patch-queue improves the generic IRQ layer to be truly generic, by adding
various abstractions and features to it, without impacting existing
functionality.

While the queue can be best described as "fix and improve everything in the
generic IRQ layer that we could think of", and thus it consists of many
smaller features and lots of cleanups, the one feature that stands out most is
the new 'irq chip' abstraction.

The irq-chip abstraction is about describing and coding and IRQ controller
driver by mapping its raw hardware capabilities [and quirks, if needed] in a
straightforward way, without having to think about "IRQ flow"
(level/edge/etc.) type of details.

This stands in contrast with the current 'irq-type' model of genirq
architectures, which 'mixes' raw hardware capabilities with 'flow' details.
The patchset supports both types of irq controller designs at once, and
converts i386 and x86_64 to the new irq-chip design.

As a bonus side-effect of the irq-chip approach, chained interrupt controllers
(master/slave PIC constructs, etc.) are now supported by design as well.

The end result of this patchset intends to be simpler architecture-level code
and more consolidation between architectures.

We reused many bits of code and many concepts from Russell King's ARM IRQ
layer, the merging of which was one of the motivations for this patchset.

This patch:

rename desc->handler to desc->chip.

Originally i did not want to do this, because it's a big patch.  But having
both "desc->handler", "desc->handle_irq" and "action->handler" caused a
large degree of confusion and made the code appear alot less clean than it
truly is.

I have also attempted a dual approach as well by introducing a
desc->chip alias - but that just wasnt robust enough and broke
frequently.

So lets get over with this quickly.  The conversion was done automatically
via scripts and converts all the code in the kernel.

This renaming patch is the first one amongst the patches, so that the
remaining patches can stay flexible and can be merged and split up
without having some big monolithic patch act as a merge barrier.

[akpm@osdl.org: build fix]
[akpm@osdl.org: another build fix]
Signed-off-by: NIngo Molnar <mingo@elte.hu>
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 cfb9e32f
...@@ -49,7 +49,7 @@ select_smp_affinity(unsigned int irq) ...@@ -49,7 +49,7 @@ select_smp_affinity(unsigned int irq)
static int last_cpu; static int last_cpu;
int cpu = last_cpu + 1; int cpu = last_cpu + 1;
if (!irq_desc[irq].handler->set_affinity || irq_user_affinity[irq]) if (!irq_desc[irq].chip->set_affinity || irq_user_affinity[irq])
return 1; return 1;
while (!cpu_possible(cpu)) while (!cpu_possible(cpu))
...@@ -57,7 +57,7 @@ select_smp_affinity(unsigned int irq) ...@@ -57,7 +57,7 @@ select_smp_affinity(unsigned int irq)
last_cpu = cpu; last_cpu = cpu;
irq_affinity[irq] = cpumask_of_cpu(cpu); irq_affinity[irq] = cpumask_of_cpu(cpu);
irq_desc[irq].handler->set_affinity(irq, cpumask_of_cpu(cpu)); irq_desc[irq].chip->set_affinity(irq, cpumask_of_cpu(cpu));
return 0; return 0;
} }
#endif /* CONFIG_SMP */ #endif /* CONFIG_SMP */
...@@ -93,7 +93,7 @@ show_interrupts(struct seq_file *p, void *v) ...@@ -93,7 +93,7 @@ show_interrupts(struct seq_file *p, void *v)
for_each_online_cpu(j) for_each_online_cpu(j)
seq_printf(p, "%10u ", kstat_cpu(j).irqs[irq]); seq_printf(p, "%10u ", kstat_cpu(j).irqs[irq]);
#endif #endif
seq_printf(p, " %14s", irq_desc[irq].handler->typename); seq_printf(p, " %14s", irq_desc[irq].chip->typename);
seq_printf(p, " %c%s", seq_printf(p, " %c%s",
(action->flags & SA_INTERRUPT)?'+':' ', (action->flags & SA_INTERRUPT)?'+':' ',
action->name); action->name);
......
...@@ -233,7 +233,7 @@ void __init ...@@ -233,7 +233,7 @@ void __init
init_rtc_irq(void) init_rtc_irq(void)
{ {
irq_desc[RTC_IRQ].status = IRQ_DISABLED; irq_desc[RTC_IRQ].status = IRQ_DISABLED;
irq_desc[RTC_IRQ].handler = &rtc_irq_type; irq_desc[RTC_IRQ].chip = &rtc_irq_type;
setup_irq(RTC_IRQ, &timer_irqaction); setup_irq(RTC_IRQ, &timer_irqaction);
} }
......
...@@ -109,7 +109,7 @@ init_i8259a_irqs(void) ...@@ -109,7 +109,7 @@ init_i8259a_irqs(void)
for (i = 0; i < 16; i++) { for (i = 0; i < 16; i++) {
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].handler = &i8259a_irq_type; irq_desc[i].chip = &i8259a_irq_type;
} }
setup_irq(2, &cascade); setup_irq(2, &cascade);
......
...@@ -120,7 +120,7 @@ init_pyxis_irqs(unsigned long ignore_mask) ...@@ -120,7 +120,7 @@ init_pyxis_irqs(unsigned long ignore_mask)
if ((ignore_mask >> i) & 1) if ((ignore_mask >> i) & 1)
continue; continue;
irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL; irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[i].handler = &pyxis_irq_type; irq_desc[i].chip = &pyxis_irq_type;
} }
setup_irq(16+7, &isa_cascade_irqaction); setup_irq(16+7, &isa_cascade_irqaction);
......
...@@ -67,7 +67,7 @@ init_srm_irqs(long max, unsigned long ignore_mask) ...@@ -67,7 +67,7 @@ init_srm_irqs(long max, unsigned long ignore_mask)
if (i < 64 && ((ignore_mask >> i) & 1)) if (i < 64 && ((ignore_mask >> i) & 1))
continue; continue;
irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL; irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[i].handler = &srm_irq_type; irq_desc[i].chip = &srm_irq_type;
} }
} }
......
...@@ -144,7 +144,7 @@ alcor_init_irq(void) ...@@ -144,7 +144,7 @@ alcor_init_irq(void)
if (i >= 16+20 && i <= 16+30) if (i >= 16+20 && i <= 16+30)
continue; continue;
irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL; irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[i].handler = &alcor_irq_type; irq_desc[i].chip = &alcor_irq_type;
} }
i8259a_irq_type.ack = alcor_isa_mask_and_ack_irq; i8259a_irq_type.ack = alcor_isa_mask_and_ack_irq;
......
...@@ -124,7 +124,7 @@ common_init_irq(void (*srm_dev_int)(unsigned long v, struct pt_regs *r)) ...@@ -124,7 +124,7 @@ common_init_irq(void (*srm_dev_int)(unsigned long v, struct pt_regs *r))
for (i = 16; i < 35; ++i) { for (i = 16; i < 35; ++i) {
irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL; irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[i].handler = &cabriolet_irq_type; irq_desc[i].chip = &cabriolet_irq_type;
} }
} }
......
...@@ -300,7 +300,7 @@ init_tsunami_irqs(struct hw_interrupt_type * ops, int imin, int imax) ...@@ -300,7 +300,7 @@ init_tsunami_irqs(struct hw_interrupt_type * ops, int imin, int imax)
long i; long i;
for (i = imin; i <= imax; ++i) { for (i = imin; i <= imax; ++i) {
irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL; irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[i].handler = ops; irq_desc[i].chip = ops;
} }
} }
......
...@@ -137,7 +137,7 @@ eb64p_init_irq(void) ...@@ -137,7 +137,7 @@ eb64p_init_irq(void)
for (i = 16; i < 32; ++i) { for (i = 16; i < 32; ++i) {
irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL; irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[i].handler = &eb64p_irq_type; irq_desc[i].chip = &eb64p_irq_type;
} }
common_init_isa_dma(); common_init_isa_dma();
......
...@@ -154,7 +154,7 @@ eiger_init_irq(void) ...@@ -154,7 +154,7 @@ eiger_init_irq(void)
for (i = 16; i < 128; ++i) { for (i = 16; i < 128; ++i) {
irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL; irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[i].handler = &eiger_irq_type; irq_desc[i].chip = &eiger_irq_type;
} }
} }
......
...@@ -206,11 +206,11 @@ jensen_init_irq(void) ...@@ -206,11 +206,11 @@ jensen_init_irq(void)
{ {
init_i8259a_irqs(); init_i8259a_irqs();
irq_desc[1].handler = &jensen_local_irq_type; irq_desc[1].chip = &jensen_local_irq_type;
irq_desc[4].handler = &jensen_local_irq_type; irq_desc[4].chip = &jensen_local_irq_type;
irq_desc[3].handler = &jensen_local_irq_type; irq_desc[3].chip = &jensen_local_irq_type;
irq_desc[7].handler = &jensen_local_irq_type; irq_desc[7].chip = &jensen_local_irq_type;
irq_desc[9].handler = &jensen_local_irq_type; irq_desc[9].chip = &jensen_local_irq_type;
common_init_isa_dma(); common_init_isa_dma();
} }
......
...@@ -303,7 +303,7 @@ init_io7_irqs(struct io7 *io7, ...@@ -303,7 +303,7 @@ init_io7_irqs(struct io7 *io7,
/* Set up the lsi irqs. */ /* Set up the lsi irqs. */
for (i = 0; i < 128; ++i) { for (i = 0; i < 128; ++i) {
irq_desc[base + i].status = IRQ_DISABLED | IRQ_LEVEL; irq_desc[base + i].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[base + i].handler = lsi_ops; irq_desc[base + i].chip = lsi_ops;
} }
/* Disable the implemented irqs in hardware. */ /* Disable the implemented irqs in hardware. */
...@@ -317,7 +317,7 @@ init_io7_irqs(struct io7 *io7, ...@@ -317,7 +317,7 @@ init_io7_irqs(struct io7 *io7,
/* Set up the msi irqs. */ /* Set up the msi irqs. */
for (i = 128; i < (128 + 512); ++i) { for (i = 128; i < (128 + 512); ++i) {
irq_desc[base + i].status = IRQ_DISABLED | IRQ_LEVEL; irq_desc[base + i].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[base + i].handler = msi_ops; irq_desc[base + i].chip = msi_ops;
} }
for (i = 0; i < 16; ++i) for (i = 0; i < 16; ++i)
...@@ -335,7 +335,7 @@ marvel_init_irq(void) ...@@ -335,7 +335,7 @@ marvel_init_irq(void)
/* Reserve the legacy irqs. */ /* Reserve the legacy irqs. */
for (i = 0; i < 16; ++i) { for (i = 0; i < 16; ++i) {
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].handler = &marvel_legacy_irq_type; irq_desc[i].chip = &marvel_legacy_irq_type;
} }
/* Init the io7 irqs. */ /* Init the io7 irqs. */
......
...@@ -117,7 +117,7 @@ mikasa_init_irq(void) ...@@ -117,7 +117,7 @@ mikasa_init_irq(void)
for (i = 16; i < 32; ++i) { for (i = 16; i < 32; ++i) {
irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL; irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[i].handler = &mikasa_irq_type; irq_desc[i].chip = &mikasa_irq_type;
} }
init_i8259a_irqs(); init_i8259a_irqs();
......
...@@ -139,7 +139,7 @@ noritake_init_irq(void) ...@@ -139,7 +139,7 @@ noritake_init_irq(void)
for (i = 16; i < 48; ++i) { for (i = 16; i < 48; ++i) {
irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL; irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[i].handler = &noritake_irq_type; irq_desc[i].chip = &noritake_irq_type;
} }
init_i8259a_irqs(); init_i8259a_irqs();
......
...@@ -180,7 +180,7 @@ rawhide_init_irq(void) ...@@ -180,7 +180,7 @@ rawhide_init_irq(void)
for (i = 16; i < 128; ++i) { for (i = 16; i < 128; ++i) {
irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL; irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[i].handler = &rawhide_irq_type; irq_desc[i].chip = &rawhide_irq_type;
} }
init_i8259a_irqs(); init_i8259a_irqs();
......
...@@ -117,7 +117,7 @@ rx164_init_irq(void) ...@@ -117,7 +117,7 @@ rx164_init_irq(void)
rx164_update_irq_hw(0); rx164_update_irq_hw(0);
for (i = 16; i < 40; ++i) { for (i = 16; i < 40; ++i) {
irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL; irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[i].handler = &rx164_irq_type; irq_desc[i].chip = &rx164_irq_type;
} }
init_i8259a_irqs(); init_i8259a_irqs();
......
...@@ -537,7 +537,7 @@ sable_lynx_init_irq(int nr_irqs) ...@@ -537,7 +537,7 @@ sable_lynx_init_irq(int nr_irqs)
for (i = 0; i < nr_irqs; ++i) { for (i = 0; i < nr_irqs; ++i) {
irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL; irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[i].handler = &sable_lynx_irq_type; irq_desc[i].chip = &sable_lynx_irq_type;
} }
common_init_isa_dma(); common_init_isa_dma();
......
...@@ -154,7 +154,7 @@ takara_init_irq(void) ...@@ -154,7 +154,7 @@ takara_init_irq(void)
for (i = 16; i < 128; ++i) { for (i = 16; i < 128; ++i) {
irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL; irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[i].handler = &takara_irq_type; irq_desc[i].chip = &takara_irq_type;
} }
common_init_isa_dma(); common_init_isa_dma();
......
...@@ -189,7 +189,7 @@ init_titan_irqs(struct hw_interrupt_type * ops, int imin, int imax) ...@@ -189,7 +189,7 @@ init_titan_irqs(struct hw_interrupt_type * ops, int imin, int imax)
long i; long i;
for (i = imin; i <= imax; ++i) { for (i = imin; i <= imax; ++i) {
irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL; irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[i].handler = ops; irq_desc[i].chip = ops;
} }
} }
......
...@@ -199,14 +199,14 @@ wildfire_init_irq_per_pca(int qbbno, int pcano) ...@@ -199,14 +199,14 @@ wildfire_init_irq_per_pca(int qbbno, int pcano)
if (i == 2) if (i == 2)
continue; continue;
irq_desc[i+irq_bias].status = IRQ_DISABLED | IRQ_LEVEL; irq_desc[i+irq_bias].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[i+irq_bias].handler = &wildfire_irq_type; irq_desc[i+irq_bias].chip = &wildfire_irq_type;
} }
irq_desc[36+irq_bias].status = IRQ_DISABLED | IRQ_LEVEL; irq_desc[36+irq_bias].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[36+irq_bias].handler = &wildfire_irq_type; irq_desc[36+irq_bias].chip = &wildfire_irq_type;
for (i = 40; i < 64; ++i) { for (i = 40; i < 64; ++i) {
irq_desc[i+irq_bias].status = IRQ_DISABLED | IRQ_LEVEL; irq_desc[i+irq_bias].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[i+irq_bias].handler = &wildfire_irq_type; irq_desc[i+irq_bias].chip = &wildfire_irq_type;
} }
setup_irq(32+irq_bias, &isa_enable); setup_irq(32+irq_bias, &isa_enable);
......
...@@ -172,7 +172,7 @@ init_IRQ(void) ...@@ -172,7 +172,7 @@ init_IRQ(void)
/* Initialize IRQ handler descriptiors. */ /* Initialize IRQ handler descriptiors. */
for(i = 2; i < NR_IRQS; i++) { for(i = 2; i < NR_IRQS; i++) {
irq_desc[i].handler = &crisv10_irq_type; irq_desc[i].chip = &crisv10_irq_type;
set_int_vector(i, interrupt[i]); set_int_vector(i, interrupt[i]);
} }
......
...@@ -369,7 +369,7 @@ init_IRQ(void) ...@@ -369,7 +369,7 @@ init_IRQ(void)
/* Point all IRQ's to bad handlers. */ /* Point all IRQ's to bad handlers. */
for (i = FIRST_IRQ, j = 0; j < NR_IRQS; i++, j++) { for (i = FIRST_IRQ, j = 0; j < NR_IRQS; i++, j++) {
irq_desc[j].handler = &crisv32_irq_type; irq_desc[j].chip = &crisv32_irq_type;
set_exception_vector(i, interrupt[j]); set_exception_vector(i, interrupt[j]);
} }
......
...@@ -69,7 +69,7 @@ int show_interrupts(struct seq_file *p, void *v) ...@@ -69,7 +69,7 @@ int show_interrupts(struct seq_file *p, void *v)
for_each_online_cpu(j) for_each_online_cpu(j)
seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]); seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]);
#endif #endif
seq_printf(p, " %14s", irq_desc[i].handler->typename); seq_printf(p, " %14s", irq_desc[i].chip->typename);
seq_printf(p, " %s", action->name); seq_printf(p, " %s", action->name);
for (action=action->next; action; action = action->next) for (action=action->next; action; action = action->next)
......
...@@ -132,7 +132,7 @@ void make_8259A_irq(unsigned int irq) ...@@ -132,7 +132,7 @@ void make_8259A_irq(unsigned int irq)
{ {
disable_irq_nosync(irq); disable_irq_nosync(irq);
io_apic_irqs &= ~(1<<irq); io_apic_irqs &= ~(1<<irq);
irq_desc[irq].handler = &i8259A_irq_type; irq_desc[irq].chip = &i8259A_irq_type;
enable_irq(irq); enable_irq(irq);
} }
...@@ -386,12 +386,12 @@ void __init init_ISA_irqs (void) ...@@ -386,12 +386,12 @@ void __init init_ISA_irqs (void)
/* /*
* 16 old-style INTA-cycle interrupts: * 16 old-style INTA-cycle interrupts:
*/ */
irq_desc[i].handler = &i8259A_irq_type; irq_desc[i].chip = &i8259A_irq_type;
} else { } else {
/* /*
* 'high' PCI IRQs filled in on demand * 'high' PCI IRQs filled in on demand
*/ */
irq_desc[i].handler = &no_irq_type; irq_desc[i].chip = &no_irq_type;
} }
} }
} }
......
...@@ -1205,15 +1205,17 @@ static struct hw_interrupt_type ioapic_edge_type; ...@@ -1205,15 +1205,17 @@ static struct hw_interrupt_type ioapic_edge_type;
#define IOAPIC_EDGE 0 #define IOAPIC_EDGE 0
#define IOAPIC_LEVEL 1 #define IOAPIC_LEVEL 1
static inline void ioapic_register_intr(int irq, int vector, unsigned long trigger) static void ioapic_register_intr(int irq, int vector, unsigned long trigger)
{ {
unsigned idx = use_pci_vector() && !platform_legacy_irq(irq) ? vector : irq; unsigned idx;
idx = use_pci_vector() && !platform_legacy_irq(irq) ? vector : irq;
if ((trigger == IOAPIC_AUTO && IO_APIC_irq_trigger(irq)) || if ((trigger == IOAPIC_AUTO && IO_APIC_irq_trigger(irq)) ||
trigger == IOAPIC_LEVEL) trigger == IOAPIC_LEVEL)
irq_desc[idx].handler = &ioapic_level_type; irq_desc[idx].chip = &ioapic_level_type;
else else
irq_desc[idx].handler = &ioapic_edge_type; irq_desc[idx].chip = &ioapic_edge_type;
set_intr_gate(vector, interrupt[idx]); set_intr_gate(vector, interrupt[idx]);
} }
...@@ -1325,7 +1327,7 @@ static void __init setup_ExtINT_IRQ0_pin(unsigned int apic, unsigned int pin, in ...@@ -1325,7 +1327,7 @@ static void __init setup_ExtINT_IRQ0_pin(unsigned int apic, unsigned int pin, in
* The timer IRQ doesn't have to know that behind the * The timer IRQ doesn't have to know that behind the
* scene we have a 8259A-master in AEOI mode ... * scene we have a 8259A-master in AEOI mode ...
*/ */
irq_desc[0].handler = &ioapic_edge_type; irq_desc[0].chip = &ioapic_edge_type;
/* /*
* Add it to the IO-APIC irq-routing table: * Add it to the IO-APIC irq-routing table:
...@@ -2135,7 +2137,7 @@ static inline void init_IO_APIC_traps(void) ...@@ -2135,7 +2137,7 @@ static inline void init_IO_APIC_traps(void)
make_8259A_irq(irq); make_8259A_irq(irq);
else else
/* Strange. Oh, well.. */ /* Strange. Oh, well.. */
irq_desc[irq].handler = &no_irq_type; irq_desc[irq].chip = &no_irq_type;
} }
} }
} }
...@@ -2351,7 +2353,7 @@ static inline void check_timer(void) ...@@ -2351,7 +2353,7 @@ static inline void check_timer(void)
printk(KERN_INFO "...trying to set up timer as Virtual Wire IRQ..."); printk(KERN_INFO "...trying to set up timer as Virtual Wire IRQ...");
disable_8259A_irq(0); disable_8259A_irq(0);
irq_desc[0].handler = &lapic_irq_type; irq_desc[0].chip = &lapic_irq_type;
apic_write_around(APIC_LVT0, APIC_DM_FIXED | vector); /* Fixed mode */ apic_write_around(APIC_LVT0, APIC_DM_FIXED | vector); /* Fixed mode */
enable_8259A_irq(0); enable_8259A_irq(0);
......
...@@ -249,7 +249,7 @@ int show_interrupts(struct seq_file *p, void *v) ...@@ -249,7 +249,7 @@ int show_interrupts(struct seq_file *p, void *v)
for_each_online_cpu(j) for_each_online_cpu(j)
seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]); seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]);
#endif #endif
seq_printf(p, " %14s", irq_desc[i].handler->typename); seq_printf(p, " %14s", irq_desc[i].chip->typename);
seq_printf(p, " %s", action->name); seq_printf(p, " %s", action->name);
for (action=action->next; action; action = action->next) for (action=action->next; action; action = action->next)
...@@ -296,8 +296,8 @@ void fixup_irqs(cpumask_t map) ...@@ -296,8 +296,8 @@ void fixup_irqs(cpumask_t map)
printk("Breaking affinity for irq %i\n", irq); printk("Breaking affinity for irq %i\n", irq);
mask = map; mask = map;
} }
if (irq_desc[irq].handler->set_affinity) if (irq_desc[irq].chip->set_affinity)
irq_desc[irq].handler->set_affinity(irq, mask); irq_desc[irq].chip->set_affinity(irq, mask);
else if (irq_desc[irq].action && !(warned++)) else if (irq_desc[irq].action && !(warned++))
printk("Cannot set affinity for irq %i\n", irq); printk("Cannot set affinity for irq %i\n", irq);
} }
......
...@@ -278,22 +278,22 @@ void init_VISWS_APIC_irqs(void) ...@@ -278,22 +278,22 @@ void init_VISWS_APIC_irqs(void)
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
if (i == 0) { if (i == 0) {
irq_desc[i].handler = &cobalt_irq_type; irq_desc[i].chip = &cobalt_irq_type;
} }
else if (i == CO_IRQ_IDE0) { else if (i == CO_IRQ_IDE0) {
irq_desc[i].handler = &cobalt_irq_type; irq_desc[i].chip = &cobalt_irq_type;
} }
else if (i == CO_IRQ_IDE1) { else if (i == CO_IRQ_IDE1) {
irq_desc[i].handler = &cobalt_irq_type; irq_desc[i].chip = &cobalt_irq_type;
} }
else if (i == CO_IRQ_8259) { else if (i == CO_IRQ_8259) {
irq_desc[i].handler = &piix4_master_irq_type; irq_desc[i].chip = &piix4_master_irq_type;
} }
else if (i < CO_IRQ_APIC0) { else if (i < CO_IRQ_APIC0) {
irq_desc[i].handler = &piix4_virtual_irq_type; irq_desc[i].chip = &piix4_virtual_irq_type;
} }
else if (IS_CO_APIC(i)) { else if (IS_CO_APIC(i)) {
irq_desc[i].handler = &cobalt_irq_type; irq_desc[i].chip = &cobalt_irq_type;
} }
} }
......
...@@ -1419,7 +1419,7 @@ smp_intr_init(void) ...@@ -1419,7 +1419,7 @@ smp_intr_init(void)
* This is for later: first 16 correspond to PC IRQs; next 16 * This is for later: first 16 correspond to PC IRQs; next 16
* are Primary MC IRQs and final 16 are Secondary MC IRQs */ * are Primary MC IRQs and final 16 are Secondary MC IRQs */
for(i = 0; i < 48; i++) for(i = 0; i < 48; i++)
irq_desc[i].handler = &vic_irq_type; irq_desc[i].chip = &vic_irq_type;
} }
/* send a CPI at level cpi to a set of cpus in cpuset (set 1 bit per /* send a CPI at level cpi to a set of cpus in cpuset (set 1 bit per
......
...@@ -660,13 +660,13 @@ register_intr (unsigned int gsi, int vector, unsigned char delivery, ...@@ -660,13 +660,13 @@ register_intr (unsigned int gsi, int vector, unsigned char delivery,
irq_type = &irq_type_iosapic_level; irq_type = &irq_type_iosapic_level;
idesc = irq_descp(vector); idesc = irq_descp(vector);
if (idesc->handler != irq_type) { if (idesc->chip != irq_type) {
if (idesc->handler != &no_irq_type) if (idesc->chip != &no_irq_type)
printk(KERN_WARNING printk(KERN_WARNING
"%s: changing vector %d from %s to %s\n", "%s: changing vector %d from %s to %s\n",
__FUNCTION__, vector, __FUNCTION__, vector,
idesc->handler->typename, irq_type->typename); idesc->chip->typename, irq_type->typename);
idesc->handler = irq_type; idesc->chip = irq_type;
} }
return 0; return 0;
} }
...@@ -903,7 +903,7 @@ iosapic_unregister_intr (unsigned int gsi) ...@@ -903,7 +903,7 @@ iosapic_unregister_intr (unsigned int gsi)
BUG_ON(iosapic_intr_info[vector].count); BUG_ON(iosapic_intr_info[vector].count);
/* Clear the interrupt controller descriptor */ /* Clear the interrupt controller descriptor */
idesc->handler = &no_irq_type; idesc->chip = &no_irq_type;
/* Clear the interrupt information */ /* Clear the interrupt information */
memset(&iosapic_intr_info[vector], 0, memset(&iosapic_intr_info[vector], 0,
......
...@@ -76,7 +76,7 @@ int show_interrupts(struct seq_file *p, void *v) ...@@ -76,7 +76,7 @@ int show_interrupts(struct seq_file *p, void *v)
seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]); seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]);
} }
#endif #endif
seq_printf(p, " %14s", irq_desc[i].handler->typename); seq_printf(p, " %14s", irq_desc[i].chip->typename);
seq_printf(p, " %s", action->name); seq_printf(p, " %s", action->name);
for (action=action->next; action; action = action->next) for (action=action->next; action; action = action->next)
...@@ -144,15 +144,15 @@ static void migrate_irqs(void) ...@@ -144,15 +144,15 @@ static void migrate_irqs(void)
/* /*
* Al three are essential, currently WARN_ON.. maybe panic? * Al three are essential, currently WARN_ON.. maybe panic?
*/ */
if (desc->handler && desc->handler->disable && if (desc->chip && desc->chip->disable &&
desc->handler->enable && desc->handler->set_affinity) { desc->chip->enable && desc->chip->set_affinity) {
desc->handler->disable(irq); desc->chip->disable(irq);
desc->handler->set_affinity(irq, mask); desc->chip->set_affinity(irq, mask);
desc->handler->enable(irq); desc->chip->enable(irq);
} else { } else {
WARN_ON((!(desc->handler) || !(desc->handler->disable) || WARN_ON((!(desc->chip) || !(desc->chip->disable) ||
!(desc->handler->enable) || !(desc->chip->enable) ||
!(desc->handler->set_affinity))); !(desc->chip->set_affinity)));
} }
} }
} }
......
...@@ -251,7 +251,7 @@ register_percpu_irq (ia64_vector vec, struct irqaction *action) ...@@ -251,7 +251,7 @@ register_percpu_irq (ia64_vector vec, struct irqaction *action)
if (irq_to_vector(irq) == vec) { if (irq_to_vector(irq) == vec) {
desc = irq_descp(irq); desc = irq_descp(irq);
desc->status |= IRQ_PER_CPU; desc->status |= IRQ_PER_CPU;
desc->handler = &irq_type_ia64_lsapic; desc->chip = &irq_type_ia64_lsapic;
if (action) if (action)
setup_irq(irq, action); setup_irq(irq, action);
} }
......
...@@ -684,9 +684,9 @@ int migrate_platform_irqs(unsigned int cpu) ...@@ -684,9 +684,9 @@ int migrate_platform_irqs(unsigned int cpu)
* polling before making changes. * polling before making changes.
*/ */
if (desc) { if (desc) {
desc->handler->disable(ia64_cpe_irq); desc->chip->disable(ia64_cpe_irq);
desc->handler->set_affinity(ia64_cpe_irq, mask); desc->chip->set_affinity(ia64_cpe_irq, mask);
desc->handler->enable(ia64_cpe_irq); desc->chip->enable(ia64_cpe_irq);
printk ("Re-targetting CPEI to cpu %d\n", new_cpei_cpu); printk ("Re-targetting CPEI to cpu %d\n", new_cpei_cpu);
} }
} }
......
...@@ -225,8 +225,8 @@ void sn_irq_init(void) ...@@ -225,8 +225,8 @@ void sn_irq_init(void)
ia64_last_device_vector = IA64_SN2_LAST_DEVICE_VECTOR; ia64_last_device_vector = IA64_SN2_LAST_DEVICE_VECTOR;
for (i = 0; i < NR_IRQS; i++) { for (i = 0; i < NR_IRQS; i++) {
if (base_desc[i].handler == &no_irq_type) { if (base_desc[i].chip == &no_irq_type) {
base_desc[i].handler = &irq_type_sn; base_desc[i].chip = &irq_type_sn;
} }
} }
} }
......
...@@ -54,7 +54,7 @@ int show_interrupts(struct seq_file *p, void *v) ...@@ -54,7 +54,7 @@ int show_interrupts(struct seq_file *p, void *v)
for_each_online_cpu(j) for_each_online_cpu(j)
seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]); seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]);
#endif #endif
seq_printf(p, " %14s", irq_desc[i].handler->typename); seq_printf(p, " %14s", irq_desc[i].chip->typename);
seq_printf(p, " %s", action->name); seq_printf(p, " %s", action->name);
for (action=action->next; action; action = action->next) for (action=action->next; action; action = action->next)
......
...@@ -87,7 +87,7 @@ void __init init_IRQ(void) ...@@ -87,7 +87,7 @@ void __init init_IRQ(void)
#if defined(CONFIG_SMC91X) #if defined(CONFIG_SMC91X)
/* INT#0: LAN controller on M32104UT-LAN (SMC91C111)*/ /* INT#0: LAN controller on M32104UT-LAN (SMC91C111)*/
irq_desc[M32R_IRQ_INT0].status = IRQ_DISABLED; irq_desc[M32R_IRQ_INT0].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_INT0].handler = &m32104ut_irq_type; irq_desc[M32R_IRQ_INT0].chip = &m32104ut_irq_type;
irq_desc[M32R_IRQ_INT0].action = 0; irq_desc[M32R_IRQ_INT0].action = 0;
irq_desc[M32R_IRQ_INT0].depth = 1; irq_desc[M32R_IRQ_INT0].depth = 1;
icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN | M32R_ICUCR_ISMOD11; /* "H" level sense */ icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN | M32R_ICUCR_ISMOD11; /* "H" level sense */
...@@ -96,7 +96,7 @@ void __init init_IRQ(void) ...@@ -96,7 +96,7 @@ void __init init_IRQ(void)
/* MFT2 : system timer */ /* MFT2 : system timer */
irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED; irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_MFT2].handler = &m32104ut_irq_type; irq_desc[M32R_IRQ_MFT2].chip = &m32104ut_irq_type;
irq_desc[M32R_IRQ_MFT2].action = 0; irq_desc[M32R_IRQ_MFT2].action = 0;
irq_desc[M32R_IRQ_MFT2].depth = 1; irq_desc[M32R_IRQ_MFT2].depth = 1;
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
...@@ -105,7 +105,7 @@ void __init init_IRQ(void) ...@@ -105,7 +105,7 @@ void __init init_IRQ(void)
#ifdef CONFIG_SERIAL_M32R_SIO #ifdef CONFIG_SERIAL_M32R_SIO
/* SIO0_R : uart receive data */ /* SIO0_R : uart receive data */
irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO0_R].handler = &m32104ut_irq_type; irq_desc[M32R_IRQ_SIO0_R].chip = &m32104ut_irq_type;
irq_desc[M32R_IRQ_SIO0_R].action = 0; irq_desc[M32R_IRQ_SIO0_R].action = 0;
irq_desc[M32R_IRQ_SIO0_R].depth = 1; irq_desc[M32R_IRQ_SIO0_R].depth = 1;
icu_data[M32R_IRQ_SIO0_R].icucr = M32R_ICUCR_IEN; icu_data[M32R_IRQ_SIO0_R].icucr = M32R_ICUCR_IEN;
...@@ -113,7 +113,7 @@ void __init init_IRQ(void) ...@@ -113,7 +113,7 @@ void __init init_IRQ(void)
/* SIO0_S : uart send data */ /* SIO0_S : uart send data */
irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO0_S].handler = &m32104ut_irq_type; irq_desc[M32R_IRQ_SIO0_S].chip = &m32104ut_irq_type;
irq_desc[M32R_IRQ_SIO0_S].action = 0; irq_desc[M32R_IRQ_SIO0_S].action = 0;
irq_desc[M32R_IRQ_SIO0_S].depth = 1; irq_desc[M32R_IRQ_SIO0_S].depth = 1;
icu_data[M32R_IRQ_SIO0_S].icucr = M32R_ICUCR_IEN; icu_data[M32R_IRQ_SIO0_S].icucr = M32R_ICUCR_IEN;
......
...@@ -301,7 +301,7 @@ void __init init_IRQ(void) ...@@ -301,7 +301,7 @@ void __init init_IRQ(void)
#if defined(CONFIG_SMC91X) #if defined(CONFIG_SMC91X)
/* INT#0: LAN controller on M32700UT-LAN (SMC91C111)*/ /* INT#0: LAN controller on M32700UT-LAN (SMC91C111)*/
irq_desc[M32700UT_LAN_IRQ_LAN].status = IRQ_DISABLED; irq_desc[M32700UT_LAN_IRQ_LAN].status = IRQ_DISABLED;
irq_desc[M32700UT_LAN_IRQ_LAN].handler = &m32700ut_lanpld_irq_type; irq_desc[M32700UT_LAN_IRQ_LAN].chip = &m32700ut_lanpld_irq_type;
irq_desc[M32700UT_LAN_IRQ_LAN].action = 0; irq_desc[M32700UT_LAN_IRQ_LAN].action = 0;
irq_desc[M32700UT_LAN_IRQ_LAN].depth = 1; /* disable nested irq */ irq_desc[M32700UT_LAN_IRQ_LAN].depth = 1; /* disable nested irq */
lanpld_icu_data[irq2lanpldirq(M32700UT_LAN_IRQ_LAN)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* "H" edge sense */ lanpld_icu_data[irq2lanpldirq(M32700UT_LAN_IRQ_LAN)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* "H" edge sense */
...@@ -310,7 +310,7 @@ void __init init_IRQ(void) ...@@ -310,7 +310,7 @@ void __init init_IRQ(void)
/* MFT2 : system timer */ /* MFT2 : system timer */
irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED; irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_MFT2].handler = &m32700ut_irq_type; irq_desc[M32R_IRQ_MFT2].chip = &m32700ut_irq_type;
irq_desc[M32R_IRQ_MFT2].action = 0; irq_desc[M32R_IRQ_MFT2].action = 0;
irq_desc[M32R_IRQ_MFT2].depth = 1; irq_desc[M32R_IRQ_MFT2].depth = 1;
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
...@@ -318,7 +318,7 @@ void __init init_IRQ(void) ...@@ -318,7 +318,7 @@ void __init init_IRQ(void)
/* SIO0 : receive */ /* SIO0 : receive */
irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO0_R].handler = &m32700ut_irq_type; irq_desc[M32R_IRQ_SIO0_R].chip = &m32700ut_irq_type;
irq_desc[M32R_IRQ_SIO0_R].action = 0; irq_desc[M32R_IRQ_SIO0_R].action = 0;
irq_desc[M32R_IRQ_SIO0_R].depth = 1; irq_desc[M32R_IRQ_SIO0_R].depth = 1;
icu_data[M32R_IRQ_SIO0_R].icucr = 0; icu_data[M32R_IRQ_SIO0_R].icucr = 0;
...@@ -326,7 +326,7 @@ void __init init_IRQ(void) ...@@ -326,7 +326,7 @@ void __init init_IRQ(void)
/* SIO0 : send */ /* SIO0 : send */
irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO0_S].handler = &m32700ut_irq_type; irq_desc[M32R_IRQ_SIO0_S].chip = &m32700ut_irq_type;
irq_desc[M32R_IRQ_SIO0_S].action = 0; irq_desc[M32R_IRQ_SIO0_S].action = 0;
irq_desc[M32R_IRQ_SIO0_S].depth = 1; irq_desc[M32R_IRQ_SIO0_S].depth = 1;
icu_data[M32R_IRQ_SIO0_S].icucr = 0; icu_data[M32R_IRQ_SIO0_S].icucr = 0;
...@@ -334,7 +334,7 @@ void __init init_IRQ(void) ...@@ -334,7 +334,7 @@ void __init init_IRQ(void)
/* SIO1 : receive */ /* SIO1 : receive */
irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO1_R].handler = &m32700ut_irq_type; irq_desc[M32R_IRQ_SIO1_R].chip = &m32700ut_irq_type;
irq_desc[M32R_IRQ_SIO1_R].action = 0; irq_desc[M32R_IRQ_SIO1_R].action = 0;
irq_desc[M32R_IRQ_SIO1_R].depth = 1; irq_desc[M32R_IRQ_SIO1_R].depth = 1;
icu_data[M32R_IRQ_SIO1_R].icucr = 0; icu_data[M32R_IRQ_SIO1_R].icucr = 0;
...@@ -342,7 +342,7 @@ void __init init_IRQ(void) ...@@ -342,7 +342,7 @@ void __init init_IRQ(void)
/* SIO1 : send */ /* SIO1 : send */
irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO1_S].handler = &m32700ut_irq_type; irq_desc[M32R_IRQ_SIO1_S].chip = &m32700ut_irq_type;
irq_desc[M32R_IRQ_SIO1_S].action = 0; irq_desc[M32R_IRQ_SIO1_S].action = 0;
irq_desc[M32R_IRQ_SIO1_S].depth = 1; irq_desc[M32R_IRQ_SIO1_S].depth = 1;
icu_data[M32R_IRQ_SIO1_S].icucr = 0; icu_data[M32R_IRQ_SIO1_S].icucr = 0;
...@@ -350,7 +350,7 @@ void __init init_IRQ(void) ...@@ -350,7 +350,7 @@ void __init init_IRQ(void)
/* DMA1 : */ /* DMA1 : */
irq_desc[M32R_IRQ_DMA1].status = IRQ_DISABLED; irq_desc[M32R_IRQ_DMA1].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_DMA1].handler = &m32700ut_irq_type; irq_desc[M32R_IRQ_DMA1].chip = &m32700ut_irq_type;
irq_desc[M32R_IRQ_DMA1].action = 0; irq_desc[M32R_IRQ_DMA1].action = 0;
irq_desc[M32R_IRQ_DMA1].depth = 1; irq_desc[M32R_IRQ_DMA1].depth = 1;
icu_data[M32R_IRQ_DMA1].icucr = 0; icu_data[M32R_IRQ_DMA1].icucr = 0;
...@@ -359,7 +359,7 @@ void __init init_IRQ(void) ...@@ -359,7 +359,7 @@ void __init init_IRQ(void)
#ifdef CONFIG_SERIAL_M32R_PLDSIO #ifdef CONFIG_SERIAL_M32R_PLDSIO
/* INT#1: SIO0 Receive on PLD */ /* INT#1: SIO0 Receive on PLD */
irq_desc[PLD_IRQ_SIO0_RCV].status = IRQ_DISABLED; irq_desc[PLD_IRQ_SIO0_RCV].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_SIO0_RCV].handler = &m32700ut_pld_irq_type; irq_desc[PLD_IRQ_SIO0_RCV].chip = &m32700ut_pld_irq_type;
irq_desc[PLD_IRQ_SIO0_RCV].action = 0; irq_desc[PLD_IRQ_SIO0_RCV].action = 0;
irq_desc[PLD_IRQ_SIO0_RCV].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_SIO0_RCV].depth = 1; /* disable nested irq */
pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_RCV)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03; pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_RCV)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03;
...@@ -367,7 +367,7 @@ void __init init_IRQ(void) ...@@ -367,7 +367,7 @@ void __init init_IRQ(void)
/* INT#1: SIO0 Send on PLD */ /* INT#1: SIO0 Send on PLD */
irq_desc[PLD_IRQ_SIO0_SND].status = IRQ_DISABLED; irq_desc[PLD_IRQ_SIO0_SND].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_SIO0_SND].handler = &m32700ut_pld_irq_type; irq_desc[PLD_IRQ_SIO0_SND].chip = &m32700ut_pld_irq_type;
irq_desc[PLD_IRQ_SIO0_SND].action = 0; irq_desc[PLD_IRQ_SIO0_SND].action = 0;
irq_desc[PLD_IRQ_SIO0_SND].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_SIO0_SND].depth = 1; /* disable nested irq */
pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_SND)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03; pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_SND)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03;
...@@ -376,7 +376,7 @@ void __init init_IRQ(void) ...@@ -376,7 +376,7 @@ void __init init_IRQ(void)
/* INT#1: CFC IREQ on PLD */ /* INT#1: CFC IREQ on PLD */
irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED; irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_CFIREQ].handler = &m32700ut_pld_irq_type; irq_desc[PLD_IRQ_CFIREQ].chip = &m32700ut_pld_irq_type;
irq_desc[PLD_IRQ_CFIREQ].action = 0; irq_desc[PLD_IRQ_CFIREQ].action = 0;
irq_desc[PLD_IRQ_CFIREQ].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_CFIREQ].depth = 1; /* disable nested irq */
pld_icu_data[irq2pldirq(PLD_IRQ_CFIREQ)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* 'L' level sense */ pld_icu_data[irq2pldirq(PLD_IRQ_CFIREQ)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* 'L' level sense */
...@@ -384,7 +384,7 @@ void __init init_IRQ(void) ...@@ -384,7 +384,7 @@ void __init init_IRQ(void)
/* INT#1: CFC Insert on PLD */ /* INT#1: CFC Insert on PLD */
irq_desc[PLD_IRQ_CFC_INSERT].status = IRQ_DISABLED; irq_desc[PLD_IRQ_CFC_INSERT].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_CFC_INSERT].handler = &m32700ut_pld_irq_type; irq_desc[PLD_IRQ_CFC_INSERT].chip = &m32700ut_pld_irq_type;
irq_desc[PLD_IRQ_CFC_INSERT].action = 0; irq_desc[PLD_IRQ_CFC_INSERT].action = 0;
irq_desc[PLD_IRQ_CFC_INSERT].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_CFC_INSERT].depth = 1; /* disable nested irq */
pld_icu_data[irq2pldirq(PLD_IRQ_CFC_INSERT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD00; /* 'L' edge sense */ pld_icu_data[irq2pldirq(PLD_IRQ_CFC_INSERT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD00; /* 'L' edge sense */
...@@ -392,7 +392,7 @@ void __init init_IRQ(void) ...@@ -392,7 +392,7 @@ void __init init_IRQ(void)
/* INT#1: CFC Eject on PLD */ /* INT#1: CFC Eject on PLD */
irq_desc[PLD_IRQ_CFC_EJECT].status = IRQ_DISABLED; irq_desc[PLD_IRQ_CFC_EJECT].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_CFC_EJECT].handler = &m32700ut_pld_irq_type; irq_desc[PLD_IRQ_CFC_EJECT].chip = &m32700ut_pld_irq_type;
irq_desc[PLD_IRQ_CFC_EJECT].action = 0; irq_desc[PLD_IRQ_CFC_EJECT].action = 0;
irq_desc[PLD_IRQ_CFC_EJECT].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_CFC_EJECT].depth = 1; /* disable nested irq */
pld_icu_data[irq2pldirq(PLD_IRQ_CFC_EJECT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* 'H' edge sense */ pld_icu_data[irq2pldirq(PLD_IRQ_CFC_EJECT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* 'H' edge sense */
...@@ -416,7 +416,7 @@ void __init init_IRQ(void) ...@@ -416,7 +416,7 @@ void __init init_IRQ(void)
outw(USBCR_OTGS, USBCR); /* USBCR: non-OTG */ outw(USBCR_OTGS, USBCR); /* USBCR: non-OTG */
irq_desc[M32700UT_LCD_IRQ_USB_INT1].status = IRQ_DISABLED; irq_desc[M32700UT_LCD_IRQ_USB_INT1].status = IRQ_DISABLED;
irq_desc[M32700UT_LCD_IRQ_USB_INT1].handler = &m32700ut_lcdpld_irq_type; irq_desc[M32700UT_LCD_IRQ_USB_INT1].chip = &m32700ut_lcdpld_irq_type;
irq_desc[M32700UT_LCD_IRQ_USB_INT1].action = 0; irq_desc[M32700UT_LCD_IRQ_USB_INT1].action = 0;
irq_desc[M32700UT_LCD_IRQ_USB_INT1].depth = 1; irq_desc[M32700UT_LCD_IRQ_USB_INT1].depth = 1;
lcdpld_icu_data[irq2lcdpldirq(M32700UT_LCD_IRQ_USB_INT1)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* "L" level sense */ lcdpld_icu_data[irq2lcdpldirq(M32700UT_LCD_IRQ_USB_INT1)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* "L" level sense */
...@@ -434,7 +434,7 @@ void __init init_IRQ(void) ...@@ -434,7 +434,7 @@ void __init init_IRQ(void)
* INT3# is used for AR * INT3# is used for AR
*/ */
irq_desc[M32R_IRQ_INT3].status = IRQ_DISABLED; irq_desc[M32R_IRQ_INT3].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_INT3].handler = &m32700ut_irq_type; irq_desc[M32R_IRQ_INT3].chip = &m32700ut_irq_type;
irq_desc[M32R_IRQ_INT3].action = 0; irq_desc[M32R_IRQ_INT3].action = 0;
irq_desc[M32R_IRQ_INT3].depth = 1; irq_desc[M32R_IRQ_INT3].depth = 1;
icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
......
...@@ -86,7 +86,7 @@ void __init init_IRQ(void) ...@@ -86,7 +86,7 @@ void __init init_IRQ(void)
#ifdef CONFIG_NE2000 #ifdef CONFIG_NE2000
/* INT0 : LAN controller (RTL8019AS) */ /* INT0 : LAN controller (RTL8019AS) */
irq_desc[M32R_IRQ_INT0].status = IRQ_DISABLED; irq_desc[M32R_IRQ_INT0].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_INT0].handler = &mappi_irq_type; irq_desc[M32R_IRQ_INT0].chip = &mappi_irq_type;
irq_desc[M32R_IRQ_INT0].action = 0; irq_desc[M32R_IRQ_INT0].action = 0;
irq_desc[M32R_IRQ_INT0].depth = 1; irq_desc[M32R_IRQ_INT0].depth = 1;
icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
...@@ -95,7 +95,7 @@ void __init init_IRQ(void) ...@@ -95,7 +95,7 @@ void __init init_IRQ(void)
/* MFT2 : system timer */ /* MFT2 : system timer */
irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED; irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_MFT2].handler = &mappi_irq_type; irq_desc[M32R_IRQ_MFT2].chip = &mappi_irq_type;
irq_desc[M32R_IRQ_MFT2].action = 0; irq_desc[M32R_IRQ_MFT2].action = 0;
irq_desc[M32R_IRQ_MFT2].depth = 1; irq_desc[M32R_IRQ_MFT2].depth = 1;
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
...@@ -104,7 +104,7 @@ void __init init_IRQ(void) ...@@ -104,7 +104,7 @@ void __init init_IRQ(void)
#ifdef CONFIG_SERIAL_M32R_SIO #ifdef CONFIG_SERIAL_M32R_SIO
/* SIO0_R : uart receive data */ /* SIO0_R : uart receive data */
irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO0_R].handler = &mappi_irq_type; irq_desc[M32R_IRQ_SIO0_R].chip = &mappi_irq_type;
irq_desc[M32R_IRQ_SIO0_R].action = 0; irq_desc[M32R_IRQ_SIO0_R].action = 0;
irq_desc[M32R_IRQ_SIO0_R].depth = 1; irq_desc[M32R_IRQ_SIO0_R].depth = 1;
icu_data[M32R_IRQ_SIO0_R].icucr = 0; icu_data[M32R_IRQ_SIO0_R].icucr = 0;
...@@ -112,7 +112,7 @@ void __init init_IRQ(void) ...@@ -112,7 +112,7 @@ void __init init_IRQ(void)
/* SIO0_S : uart send data */ /* SIO0_S : uart send data */
irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO0_S].handler = &mappi_irq_type; irq_desc[M32R_IRQ_SIO0_S].chip = &mappi_irq_type;
irq_desc[M32R_IRQ_SIO0_S].action = 0; irq_desc[M32R_IRQ_SIO0_S].action = 0;
irq_desc[M32R_IRQ_SIO0_S].depth = 1; irq_desc[M32R_IRQ_SIO0_S].depth = 1;
icu_data[M32R_IRQ_SIO0_S].icucr = 0; icu_data[M32R_IRQ_SIO0_S].icucr = 0;
...@@ -120,7 +120,7 @@ void __init init_IRQ(void) ...@@ -120,7 +120,7 @@ void __init init_IRQ(void)
/* SIO1_R : uart receive data */ /* SIO1_R : uart receive data */
irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO1_R].handler = &mappi_irq_type; irq_desc[M32R_IRQ_SIO1_R].chip = &mappi_irq_type;
irq_desc[M32R_IRQ_SIO1_R].action = 0; irq_desc[M32R_IRQ_SIO1_R].action = 0;
irq_desc[M32R_IRQ_SIO1_R].depth = 1; irq_desc[M32R_IRQ_SIO1_R].depth = 1;
icu_data[M32R_IRQ_SIO1_R].icucr = 0; icu_data[M32R_IRQ_SIO1_R].icucr = 0;
...@@ -128,7 +128,7 @@ void __init init_IRQ(void) ...@@ -128,7 +128,7 @@ void __init init_IRQ(void)
/* SIO1_S : uart send data */ /* SIO1_S : uart send data */
irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO1_S].handler = &mappi_irq_type; irq_desc[M32R_IRQ_SIO1_S].chip = &mappi_irq_type;
irq_desc[M32R_IRQ_SIO1_S].action = 0; irq_desc[M32R_IRQ_SIO1_S].action = 0;
irq_desc[M32R_IRQ_SIO1_S].depth = 1; irq_desc[M32R_IRQ_SIO1_S].depth = 1;
icu_data[M32R_IRQ_SIO1_S].icucr = 0; icu_data[M32R_IRQ_SIO1_S].icucr = 0;
...@@ -138,7 +138,7 @@ void __init init_IRQ(void) ...@@ -138,7 +138,7 @@ void __init init_IRQ(void)
#if defined(CONFIG_M32R_PCC) #if defined(CONFIG_M32R_PCC)
/* INT1 : pccard0 interrupt */ /* INT1 : pccard0 interrupt */
irq_desc[M32R_IRQ_INT1].status = IRQ_DISABLED; irq_desc[M32R_IRQ_INT1].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_INT1].handler = &mappi_irq_type; irq_desc[M32R_IRQ_INT1].chip = &mappi_irq_type;
irq_desc[M32R_IRQ_INT1].action = 0; irq_desc[M32R_IRQ_INT1].action = 0;
irq_desc[M32R_IRQ_INT1].depth = 1; irq_desc[M32R_IRQ_INT1].depth = 1;
icu_data[M32R_IRQ_INT1].icucr = M32R_ICUCR_IEN | M32R_ICUCR_ISMOD00; icu_data[M32R_IRQ_INT1].icucr = M32R_ICUCR_IEN | M32R_ICUCR_ISMOD00;
...@@ -146,7 +146,7 @@ void __init init_IRQ(void) ...@@ -146,7 +146,7 @@ void __init init_IRQ(void)
/* INT2 : pccard1 interrupt */ /* INT2 : pccard1 interrupt */
irq_desc[M32R_IRQ_INT2].status = IRQ_DISABLED; irq_desc[M32R_IRQ_INT2].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_INT2].handler = &mappi_irq_type; irq_desc[M32R_IRQ_INT2].chip = &mappi_irq_type;
irq_desc[M32R_IRQ_INT2].action = 0; irq_desc[M32R_IRQ_INT2].action = 0;
irq_desc[M32R_IRQ_INT2].depth = 1; irq_desc[M32R_IRQ_INT2].depth = 1;
icu_data[M32R_IRQ_INT2].icucr = M32R_ICUCR_IEN | M32R_ICUCR_ISMOD00; icu_data[M32R_IRQ_INT2].icucr = M32R_ICUCR_IEN | M32R_ICUCR_ISMOD00;
......
...@@ -87,7 +87,7 @@ void __init init_IRQ(void) ...@@ -87,7 +87,7 @@ void __init init_IRQ(void)
#if defined(CONFIG_SMC91X) #if defined(CONFIG_SMC91X)
/* INT0 : LAN controller (SMC91111) */ /* INT0 : LAN controller (SMC91111) */
irq_desc[M32R_IRQ_INT0].status = IRQ_DISABLED; irq_desc[M32R_IRQ_INT0].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_INT0].handler = &mappi2_irq_type; irq_desc[M32R_IRQ_INT0].chip = &mappi2_irq_type;
irq_desc[M32R_IRQ_INT0].action = 0; irq_desc[M32R_IRQ_INT0].action = 0;
irq_desc[M32R_IRQ_INT0].depth = 1; irq_desc[M32R_IRQ_INT0].depth = 1;
icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
...@@ -96,7 +96,7 @@ void __init init_IRQ(void) ...@@ -96,7 +96,7 @@ void __init init_IRQ(void)
/* MFT2 : system timer */ /* MFT2 : system timer */
irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED; irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_MFT2].handler = &mappi2_irq_type; irq_desc[M32R_IRQ_MFT2].chip = &mappi2_irq_type;
irq_desc[M32R_IRQ_MFT2].action = 0; irq_desc[M32R_IRQ_MFT2].action = 0;
irq_desc[M32R_IRQ_MFT2].depth = 1; irq_desc[M32R_IRQ_MFT2].depth = 1;
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
...@@ -105,7 +105,7 @@ void __init init_IRQ(void) ...@@ -105,7 +105,7 @@ void __init init_IRQ(void)
#ifdef CONFIG_SERIAL_M32R_SIO #ifdef CONFIG_SERIAL_M32R_SIO
/* SIO0_R : uart receive data */ /* SIO0_R : uart receive data */
irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO0_R].handler = &mappi2_irq_type; irq_desc[M32R_IRQ_SIO0_R].chip = &mappi2_irq_type;
irq_desc[M32R_IRQ_SIO0_R].action = 0; irq_desc[M32R_IRQ_SIO0_R].action = 0;
irq_desc[M32R_IRQ_SIO0_R].depth = 1; irq_desc[M32R_IRQ_SIO0_R].depth = 1;
icu_data[M32R_IRQ_SIO0_R].icucr = 0; icu_data[M32R_IRQ_SIO0_R].icucr = 0;
...@@ -113,14 +113,14 @@ void __init init_IRQ(void) ...@@ -113,14 +113,14 @@ void __init init_IRQ(void)
/* SIO0_S : uart send data */ /* SIO0_S : uart send data */
irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO0_S].handler = &mappi2_irq_type; irq_desc[M32R_IRQ_SIO0_S].chip = &mappi2_irq_type;
irq_desc[M32R_IRQ_SIO0_S].action = 0; irq_desc[M32R_IRQ_SIO0_S].action = 0;
irq_desc[M32R_IRQ_SIO0_S].depth = 1; irq_desc[M32R_IRQ_SIO0_S].depth = 1;
icu_data[M32R_IRQ_SIO0_S].icucr = 0; icu_data[M32R_IRQ_SIO0_S].icucr = 0;
disable_mappi2_irq(M32R_IRQ_SIO0_S); disable_mappi2_irq(M32R_IRQ_SIO0_S);
/* SIO1_R : uart receive data */ /* SIO1_R : uart receive data */
irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO1_R].handler = &mappi2_irq_type; irq_desc[M32R_IRQ_SIO1_R].chip = &mappi2_irq_type;
irq_desc[M32R_IRQ_SIO1_R].action = 0; irq_desc[M32R_IRQ_SIO1_R].action = 0;
irq_desc[M32R_IRQ_SIO1_R].depth = 1; irq_desc[M32R_IRQ_SIO1_R].depth = 1;
icu_data[M32R_IRQ_SIO1_R].icucr = 0; icu_data[M32R_IRQ_SIO1_R].icucr = 0;
...@@ -128,7 +128,7 @@ void __init init_IRQ(void) ...@@ -128,7 +128,7 @@ void __init init_IRQ(void)
/* SIO1_S : uart send data */ /* SIO1_S : uart send data */
irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO1_S].handler = &mappi2_irq_type; irq_desc[M32R_IRQ_SIO1_S].chip = &mappi2_irq_type;
irq_desc[M32R_IRQ_SIO1_S].action = 0; irq_desc[M32R_IRQ_SIO1_S].action = 0;
irq_desc[M32R_IRQ_SIO1_S].depth = 1; irq_desc[M32R_IRQ_SIO1_S].depth = 1;
icu_data[M32R_IRQ_SIO1_S].icucr = 0; icu_data[M32R_IRQ_SIO1_S].icucr = 0;
...@@ -138,7 +138,7 @@ void __init init_IRQ(void) ...@@ -138,7 +138,7 @@ void __init init_IRQ(void)
#if defined(CONFIG_USB) #if defined(CONFIG_USB)
/* INT1 : USB Host controller interrupt */ /* INT1 : USB Host controller interrupt */
irq_desc[M32R_IRQ_INT1].status = IRQ_DISABLED; irq_desc[M32R_IRQ_INT1].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_INT1].handler = &mappi2_irq_type; irq_desc[M32R_IRQ_INT1].chip = &mappi2_irq_type;
irq_desc[M32R_IRQ_INT1].action = 0; irq_desc[M32R_IRQ_INT1].action = 0;
irq_desc[M32R_IRQ_INT1].depth = 1; irq_desc[M32R_IRQ_INT1].depth = 1;
icu_data[M32R_IRQ_INT1].icucr = M32R_ICUCR_ISMOD01; icu_data[M32R_IRQ_INT1].icucr = M32R_ICUCR_ISMOD01;
...@@ -147,7 +147,7 @@ void __init init_IRQ(void) ...@@ -147,7 +147,7 @@ void __init init_IRQ(void)
/* ICUCR40: CFC IREQ */ /* ICUCR40: CFC IREQ */
irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED; irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_CFIREQ].handler = &mappi2_irq_type; irq_desc[PLD_IRQ_CFIREQ].chip = &mappi2_irq_type;
irq_desc[PLD_IRQ_CFIREQ].action = 0; irq_desc[PLD_IRQ_CFIREQ].action = 0;
irq_desc[PLD_IRQ_CFIREQ].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_CFIREQ].depth = 1; /* disable nested irq */
icu_data[PLD_IRQ_CFIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD01; icu_data[PLD_IRQ_CFIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD01;
...@@ -156,7 +156,7 @@ void __init init_IRQ(void) ...@@ -156,7 +156,7 @@ void __init init_IRQ(void)
#if defined(CONFIG_M32R_CFC) #if defined(CONFIG_M32R_CFC)
/* ICUCR41: CFC Insert */ /* ICUCR41: CFC Insert */
irq_desc[PLD_IRQ_CFC_INSERT].status = IRQ_DISABLED; irq_desc[PLD_IRQ_CFC_INSERT].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_CFC_INSERT].handler = &mappi2_irq_type; irq_desc[PLD_IRQ_CFC_INSERT].chip = &mappi2_irq_type;
irq_desc[PLD_IRQ_CFC_INSERT].action = 0; irq_desc[PLD_IRQ_CFC_INSERT].action = 0;
irq_desc[PLD_IRQ_CFC_INSERT].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_CFC_INSERT].depth = 1; /* disable nested irq */
icu_data[PLD_IRQ_CFC_INSERT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD00; icu_data[PLD_IRQ_CFC_INSERT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD00;
...@@ -164,7 +164,7 @@ void __init init_IRQ(void) ...@@ -164,7 +164,7 @@ void __init init_IRQ(void)
/* ICUCR42: CFC Eject */ /* ICUCR42: CFC Eject */
irq_desc[PLD_IRQ_CFC_EJECT].status = IRQ_DISABLED; irq_desc[PLD_IRQ_CFC_EJECT].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_CFC_EJECT].handler = &mappi2_irq_type; irq_desc[PLD_IRQ_CFC_EJECT].chip = &mappi2_irq_type;
irq_desc[PLD_IRQ_CFC_EJECT].action = 0; irq_desc[PLD_IRQ_CFC_EJECT].action = 0;
irq_desc[PLD_IRQ_CFC_EJECT].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_CFC_EJECT].depth = 1; /* disable nested irq */
icu_data[PLD_IRQ_CFC_EJECT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; icu_data[PLD_IRQ_CFC_EJECT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
......
...@@ -87,7 +87,7 @@ void __init init_IRQ(void) ...@@ -87,7 +87,7 @@ void __init init_IRQ(void)
#if defined(CONFIG_SMC91X) #if defined(CONFIG_SMC91X)
/* INT0 : LAN controller (SMC91111) */ /* INT0 : LAN controller (SMC91111) */
irq_desc[M32R_IRQ_INT0].status = IRQ_DISABLED; irq_desc[M32R_IRQ_INT0].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_INT0].handler = &mappi3_irq_type; irq_desc[M32R_IRQ_INT0].chip = &mappi3_irq_type;
irq_desc[M32R_IRQ_INT0].action = 0; irq_desc[M32R_IRQ_INT0].action = 0;
irq_desc[M32R_IRQ_INT0].depth = 1; irq_desc[M32R_IRQ_INT0].depth = 1;
icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
...@@ -96,7 +96,7 @@ void __init init_IRQ(void) ...@@ -96,7 +96,7 @@ void __init init_IRQ(void)
/* MFT2 : system timer */ /* MFT2 : system timer */
irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED; irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_MFT2].handler = &mappi3_irq_type; irq_desc[M32R_IRQ_MFT2].chip = &mappi3_irq_type;
irq_desc[M32R_IRQ_MFT2].action = 0; irq_desc[M32R_IRQ_MFT2].action = 0;
irq_desc[M32R_IRQ_MFT2].depth = 1; irq_desc[M32R_IRQ_MFT2].depth = 1;
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
...@@ -105,7 +105,7 @@ void __init init_IRQ(void) ...@@ -105,7 +105,7 @@ void __init init_IRQ(void)
#ifdef CONFIG_SERIAL_M32R_SIO #ifdef CONFIG_SERIAL_M32R_SIO
/* SIO0_R : uart receive data */ /* SIO0_R : uart receive data */
irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO0_R].handler = &mappi3_irq_type; irq_desc[M32R_IRQ_SIO0_R].chip = &mappi3_irq_type;
irq_desc[M32R_IRQ_SIO0_R].action = 0; irq_desc[M32R_IRQ_SIO0_R].action = 0;
irq_desc[M32R_IRQ_SIO0_R].depth = 1; irq_desc[M32R_IRQ_SIO0_R].depth = 1;
icu_data[M32R_IRQ_SIO0_R].icucr = 0; icu_data[M32R_IRQ_SIO0_R].icucr = 0;
...@@ -113,14 +113,14 @@ void __init init_IRQ(void) ...@@ -113,14 +113,14 @@ void __init init_IRQ(void)
/* SIO0_S : uart send data */ /* SIO0_S : uart send data */
irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO0_S].handler = &mappi3_irq_type; irq_desc[M32R_IRQ_SIO0_S].chip = &mappi3_irq_type;
irq_desc[M32R_IRQ_SIO0_S].action = 0; irq_desc[M32R_IRQ_SIO0_S].action = 0;
irq_desc[M32R_IRQ_SIO0_S].depth = 1; irq_desc[M32R_IRQ_SIO0_S].depth = 1;
icu_data[M32R_IRQ_SIO0_S].icucr = 0; icu_data[M32R_IRQ_SIO0_S].icucr = 0;
disable_mappi3_irq(M32R_IRQ_SIO0_S); disable_mappi3_irq(M32R_IRQ_SIO0_S);
/* SIO1_R : uart receive data */ /* SIO1_R : uart receive data */
irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO1_R].handler = &mappi3_irq_type; irq_desc[M32R_IRQ_SIO1_R].chip = &mappi3_irq_type;
irq_desc[M32R_IRQ_SIO1_R].action = 0; irq_desc[M32R_IRQ_SIO1_R].action = 0;
irq_desc[M32R_IRQ_SIO1_R].depth = 1; irq_desc[M32R_IRQ_SIO1_R].depth = 1;
icu_data[M32R_IRQ_SIO1_R].icucr = 0; icu_data[M32R_IRQ_SIO1_R].icucr = 0;
...@@ -128,7 +128,7 @@ void __init init_IRQ(void) ...@@ -128,7 +128,7 @@ void __init init_IRQ(void)
/* SIO1_S : uart send data */ /* SIO1_S : uart send data */
irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO1_S].handler = &mappi3_irq_type; irq_desc[M32R_IRQ_SIO1_S].chip = &mappi3_irq_type;
irq_desc[M32R_IRQ_SIO1_S].action = 0; irq_desc[M32R_IRQ_SIO1_S].action = 0;
irq_desc[M32R_IRQ_SIO1_S].depth = 1; irq_desc[M32R_IRQ_SIO1_S].depth = 1;
icu_data[M32R_IRQ_SIO1_S].icucr = 0; icu_data[M32R_IRQ_SIO1_S].icucr = 0;
...@@ -138,7 +138,7 @@ void __init init_IRQ(void) ...@@ -138,7 +138,7 @@ void __init init_IRQ(void)
#if defined(CONFIG_USB) #if defined(CONFIG_USB)
/* INT1 : USB Host controller interrupt */ /* INT1 : USB Host controller interrupt */
irq_desc[M32R_IRQ_INT1].status = IRQ_DISABLED; irq_desc[M32R_IRQ_INT1].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_INT1].handler = &mappi3_irq_type; irq_desc[M32R_IRQ_INT1].chip = &mappi3_irq_type;
irq_desc[M32R_IRQ_INT1].action = 0; irq_desc[M32R_IRQ_INT1].action = 0;
irq_desc[M32R_IRQ_INT1].depth = 1; irq_desc[M32R_IRQ_INT1].depth = 1;
icu_data[M32R_IRQ_INT1].icucr = M32R_ICUCR_ISMOD01; icu_data[M32R_IRQ_INT1].icucr = M32R_ICUCR_ISMOD01;
...@@ -147,7 +147,7 @@ void __init init_IRQ(void) ...@@ -147,7 +147,7 @@ void __init init_IRQ(void)
/* CFC IREQ */ /* CFC IREQ */
irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED; irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_CFIREQ].handler = &mappi3_irq_type; irq_desc[PLD_IRQ_CFIREQ].chip = &mappi3_irq_type;
irq_desc[PLD_IRQ_CFIREQ].action = 0; irq_desc[PLD_IRQ_CFIREQ].action = 0;
irq_desc[PLD_IRQ_CFIREQ].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_CFIREQ].depth = 1; /* disable nested irq */
icu_data[PLD_IRQ_CFIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD01; icu_data[PLD_IRQ_CFIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD01;
...@@ -156,7 +156,7 @@ void __init init_IRQ(void) ...@@ -156,7 +156,7 @@ void __init init_IRQ(void)
#if defined(CONFIG_M32R_CFC) #if defined(CONFIG_M32R_CFC)
/* ICUCR41: CFC Insert & eject */ /* ICUCR41: CFC Insert & eject */
irq_desc[PLD_IRQ_CFC_INSERT].status = IRQ_DISABLED; irq_desc[PLD_IRQ_CFC_INSERT].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_CFC_INSERT].handler = &mappi3_irq_type; irq_desc[PLD_IRQ_CFC_INSERT].chip = &mappi3_irq_type;
irq_desc[PLD_IRQ_CFC_INSERT].action = 0; irq_desc[PLD_IRQ_CFC_INSERT].action = 0;
irq_desc[PLD_IRQ_CFC_INSERT].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_CFC_INSERT].depth = 1; /* disable nested irq */
icu_data[PLD_IRQ_CFC_INSERT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD00; icu_data[PLD_IRQ_CFC_INSERT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD00;
...@@ -166,7 +166,7 @@ void __init init_IRQ(void) ...@@ -166,7 +166,7 @@ void __init init_IRQ(void)
/* IDE IREQ */ /* IDE IREQ */
irq_desc[PLD_IRQ_IDEIREQ].status = IRQ_DISABLED; irq_desc[PLD_IRQ_IDEIREQ].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_IDEIREQ].handler = &mappi3_irq_type; irq_desc[PLD_IRQ_IDEIREQ].chip = &mappi3_irq_type;
irq_desc[PLD_IRQ_IDEIREQ].action = 0; irq_desc[PLD_IRQ_IDEIREQ].action = 0;
irq_desc[PLD_IRQ_IDEIREQ].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_IDEIREQ].depth = 1; /* disable nested irq */
icu_data[PLD_IRQ_IDEIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; icu_data[PLD_IRQ_IDEIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
......
...@@ -85,7 +85,7 @@ void __init init_IRQ(void) ...@@ -85,7 +85,7 @@ void __init init_IRQ(void)
#ifdef CONFIG_NE2000 #ifdef CONFIG_NE2000
/* INT3 : LAN controller (RTL8019AS) */ /* INT3 : LAN controller (RTL8019AS) */
irq_desc[M32R_IRQ_INT3].status = IRQ_DISABLED; irq_desc[M32R_IRQ_INT3].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_INT3].handler = &oaks32r_irq_type; irq_desc[M32R_IRQ_INT3].chip = &oaks32r_irq_type;
irq_desc[M32R_IRQ_INT3].action = 0; irq_desc[M32R_IRQ_INT3].action = 0;
irq_desc[M32R_IRQ_INT3].depth = 1; irq_desc[M32R_IRQ_INT3].depth = 1;
icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
...@@ -94,7 +94,7 @@ void __init init_IRQ(void) ...@@ -94,7 +94,7 @@ void __init init_IRQ(void)
/* MFT2 : system timer */ /* MFT2 : system timer */
irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED; irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_MFT2].handler = &oaks32r_irq_type; irq_desc[M32R_IRQ_MFT2].chip = &oaks32r_irq_type;
irq_desc[M32R_IRQ_MFT2].action = 0; irq_desc[M32R_IRQ_MFT2].action = 0;
irq_desc[M32R_IRQ_MFT2].depth = 1; irq_desc[M32R_IRQ_MFT2].depth = 1;
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
...@@ -103,7 +103,7 @@ void __init init_IRQ(void) ...@@ -103,7 +103,7 @@ void __init init_IRQ(void)
#ifdef CONFIG_SERIAL_M32R_SIO #ifdef CONFIG_SERIAL_M32R_SIO
/* SIO0_R : uart receive data */ /* SIO0_R : uart receive data */
irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO0_R].handler = &oaks32r_irq_type; irq_desc[M32R_IRQ_SIO0_R].chip = &oaks32r_irq_type;
irq_desc[M32R_IRQ_SIO0_R].action = 0; irq_desc[M32R_IRQ_SIO0_R].action = 0;
irq_desc[M32R_IRQ_SIO0_R].depth = 1; irq_desc[M32R_IRQ_SIO0_R].depth = 1;
icu_data[M32R_IRQ_SIO0_R].icucr = 0; icu_data[M32R_IRQ_SIO0_R].icucr = 0;
...@@ -111,7 +111,7 @@ void __init init_IRQ(void) ...@@ -111,7 +111,7 @@ void __init init_IRQ(void)
/* SIO0_S : uart send data */ /* SIO0_S : uart send data */
irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO0_S].handler = &oaks32r_irq_type; irq_desc[M32R_IRQ_SIO0_S].chip = &oaks32r_irq_type;
irq_desc[M32R_IRQ_SIO0_S].action = 0; irq_desc[M32R_IRQ_SIO0_S].action = 0;
irq_desc[M32R_IRQ_SIO0_S].depth = 1; irq_desc[M32R_IRQ_SIO0_S].depth = 1;
icu_data[M32R_IRQ_SIO0_S].icucr = 0; icu_data[M32R_IRQ_SIO0_S].icucr = 0;
...@@ -119,7 +119,7 @@ void __init init_IRQ(void) ...@@ -119,7 +119,7 @@ void __init init_IRQ(void)
/* SIO1_R : uart receive data */ /* SIO1_R : uart receive data */
irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO1_R].handler = &oaks32r_irq_type; irq_desc[M32R_IRQ_SIO1_R].chip = &oaks32r_irq_type;
irq_desc[M32R_IRQ_SIO1_R].action = 0; irq_desc[M32R_IRQ_SIO1_R].action = 0;
irq_desc[M32R_IRQ_SIO1_R].depth = 1; irq_desc[M32R_IRQ_SIO1_R].depth = 1;
icu_data[M32R_IRQ_SIO1_R].icucr = 0; icu_data[M32R_IRQ_SIO1_R].icucr = 0;
...@@ -127,7 +127,7 @@ void __init init_IRQ(void) ...@@ -127,7 +127,7 @@ void __init init_IRQ(void)
/* SIO1_S : uart send data */ /* SIO1_S : uart send data */
irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO1_S].handler = &oaks32r_irq_type; irq_desc[M32R_IRQ_SIO1_S].chip = &oaks32r_irq_type;
irq_desc[M32R_IRQ_SIO1_S].action = 0; irq_desc[M32R_IRQ_SIO1_S].action = 0;
irq_desc[M32R_IRQ_SIO1_S].depth = 1; irq_desc[M32R_IRQ_SIO1_S].depth = 1;
icu_data[M32R_IRQ_SIO1_S].icucr = 0; icu_data[M32R_IRQ_SIO1_S].icucr = 0;
......
...@@ -302,7 +302,7 @@ void __init init_IRQ(void) ...@@ -302,7 +302,7 @@ void __init init_IRQ(void)
#if defined(CONFIG_SMC91X) #if defined(CONFIG_SMC91X)
/* INT#0: LAN controller on OPSPUT-LAN (SMC91C111)*/ /* INT#0: LAN controller on OPSPUT-LAN (SMC91C111)*/
irq_desc[OPSPUT_LAN_IRQ_LAN].status = IRQ_DISABLED; irq_desc[OPSPUT_LAN_IRQ_LAN].status = IRQ_DISABLED;
irq_desc[OPSPUT_LAN_IRQ_LAN].handler = &opsput_lanpld_irq_type; irq_desc[OPSPUT_LAN_IRQ_LAN].chip = &opsput_lanpld_irq_type;
irq_desc[OPSPUT_LAN_IRQ_LAN].action = 0; irq_desc[OPSPUT_LAN_IRQ_LAN].action = 0;
irq_desc[OPSPUT_LAN_IRQ_LAN].depth = 1; /* disable nested irq */ irq_desc[OPSPUT_LAN_IRQ_LAN].depth = 1; /* disable nested irq */
lanpld_icu_data[irq2lanpldirq(OPSPUT_LAN_IRQ_LAN)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* "H" edge sense */ lanpld_icu_data[irq2lanpldirq(OPSPUT_LAN_IRQ_LAN)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* "H" edge sense */
...@@ -311,7 +311,7 @@ void __init init_IRQ(void) ...@@ -311,7 +311,7 @@ void __init init_IRQ(void)
/* MFT2 : system timer */ /* MFT2 : system timer */
irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED; irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_MFT2].handler = &opsput_irq_type; irq_desc[M32R_IRQ_MFT2].chip = &opsput_irq_type;
irq_desc[M32R_IRQ_MFT2].action = 0; irq_desc[M32R_IRQ_MFT2].action = 0;
irq_desc[M32R_IRQ_MFT2].depth = 1; irq_desc[M32R_IRQ_MFT2].depth = 1;
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
...@@ -319,7 +319,7 @@ void __init init_IRQ(void) ...@@ -319,7 +319,7 @@ void __init init_IRQ(void)
/* SIO0 : receive */ /* SIO0 : receive */
irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO0_R].handler = &opsput_irq_type; irq_desc[M32R_IRQ_SIO0_R].chip = &opsput_irq_type;
irq_desc[M32R_IRQ_SIO0_R].action = 0; irq_desc[M32R_IRQ_SIO0_R].action = 0;
irq_desc[M32R_IRQ_SIO0_R].depth = 1; irq_desc[M32R_IRQ_SIO0_R].depth = 1;
icu_data[M32R_IRQ_SIO0_R].icucr = 0; icu_data[M32R_IRQ_SIO0_R].icucr = 0;
...@@ -327,7 +327,7 @@ void __init init_IRQ(void) ...@@ -327,7 +327,7 @@ void __init init_IRQ(void)
/* SIO0 : send */ /* SIO0 : send */
irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO0_S].handler = &opsput_irq_type; irq_desc[M32R_IRQ_SIO0_S].chip = &opsput_irq_type;
irq_desc[M32R_IRQ_SIO0_S].action = 0; irq_desc[M32R_IRQ_SIO0_S].action = 0;
irq_desc[M32R_IRQ_SIO0_S].depth = 1; irq_desc[M32R_IRQ_SIO0_S].depth = 1;
icu_data[M32R_IRQ_SIO0_S].icucr = 0; icu_data[M32R_IRQ_SIO0_S].icucr = 0;
...@@ -335,7 +335,7 @@ void __init init_IRQ(void) ...@@ -335,7 +335,7 @@ void __init init_IRQ(void)
/* SIO1 : receive */ /* SIO1 : receive */
irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO1_R].handler = &opsput_irq_type; irq_desc[M32R_IRQ_SIO1_R].chip = &opsput_irq_type;
irq_desc[M32R_IRQ_SIO1_R].action = 0; irq_desc[M32R_IRQ_SIO1_R].action = 0;
irq_desc[M32R_IRQ_SIO1_R].depth = 1; irq_desc[M32R_IRQ_SIO1_R].depth = 1;
icu_data[M32R_IRQ_SIO1_R].icucr = 0; icu_data[M32R_IRQ_SIO1_R].icucr = 0;
...@@ -343,7 +343,7 @@ void __init init_IRQ(void) ...@@ -343,7 +343,7 @@ void __init init_IRQ(void)
/* SIO1 : send */ /* SIO1 : send */
irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO1_S].handler = &opsput_irq_type; irq_desc[M32R_IRQ_SIO1_S].chip = &opsput_irq_type;
irq_desc[M32R_IRQ_SIO1_S].action = 0; irq_desc[M32R_IRQ_SIO1_S].action = 0;
irq_desc[M32R_IRQ_SIO1_S].depth = 1; irq_desc[M32R_IRQ_SIO1_S].depth = 1;
icu_data[M32R_IRQ_SIO1_S].icucr = 0; icu_data[M32R_IRQ_SIO1_S].icucr = 0;
...@@ -351,7 +351,7 @@ void __init init_IRQ(void) ...@@ -351,7 +351,7 @@ void __init init_IRQ(void)
/* DMA1 : */ /* DMA1 : */
irq_desc[M32R_IRQ_DMA1].status = IRQ_DISABLED; irq_desc[M32R_IRQ_DMA1].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_DMA1].handler = &opsput_irq_type; irq_desc[M32R_IRQ_DMA1].chip = &opsput_irq_type;
irq_desc[M32R_IRQ_DMA1].action = 0; irq_desc[M32R_IRQ_DMA1].action = 0;
irq_desc[M32R_IRQ_DMA1].depth = 1; irq_desc[M32R_IRQ_DMA1].depth = 1;
icu_data[M32R_IRQ_DMA1].icucr = 0; icu_data[M32R_IRQ_DMA1].icucr = 0;
...@@ -360,7 +360,7 @@ void __init init_IRQ(void) ...@@ -360,7 +360,7 @@ void __init init_IRQ(void)
#ifdef CONFIG_SERIAL_M32R_PLDSIO #ifdef CONFIG_SERIAL_M32R_PLDSIO
/* INT#1: SIO0 Receive on PLD */ /* INT#1: SIO0 Receive on PLD */
irq_desc[PLD_IRQ_SIO0_RCV].status = IRQ_DISABLED; irq_desc[PLD_IRQ_SIO0_RCV].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_SIO0_RCV].handler = &opsput_pld_irq_type; irq_desc[PLD_IRQ_SIO0_RCV].chip = &opsput_pld_irq_type;
irq_desc[PLD_IRQ_SIO0_RCV].action = 0; irq_desc[PLD_IRQ_SIO0_RCV].action = 0;
irq_desc[PLD_IRQ_SIO0_RCV].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_SIO0_RCV].depth = 1; /* disable nested irq */
pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_RCV)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03; pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_RCV)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03;
...@@ -368,7 +368,7 @@ void __init init_IRQ(void) ...@@ -368,7 +368,7 @@ void __init init_IRQ(void)
/* INT#1: SIO0 Send on PLD */ /* INT#1: SIO0 Send on PLD */
irq_desc[PLD_IRQ_SIO0_SND].status = IRQ_DISABLED; irq_desc[PLD_IRQ_SIO0_SND].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_SIO0_SND].handler = &opsput_pld_irq_type; irq_desc[PLD_IRQ_SIO0_SND].chip = &opsput_pld_irq_type;
irq_desc[PLD_IRQ_SIO0_SND].action = 0; irq_desc[PLD_IRQ_SIO0_SND].action = 0;
irq_desc[PLD_IRQ_SIO0_SND].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_SIO0_SND].depth = 1; /* disable nested irq */
pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_SND)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03; pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_SND)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03;
...@@ -378,7 +378,7 @@ void __init init_IRQ(void) ...@@ -378,7 +378,7 @@ void __init init_IRQ(void)
#if defined(CONFIG_M32R_CFC) #if defined(CONFIG_M32R_CFC)
/* INT#1: CFC IREQ on PLD */ /* INT#1: CFC IREQ on PLD */
irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED; irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_CFIREQ].handler = &opsput_pld_irq_type; irq_desc[PLD_IRQ_CFIREQ].chip = &opsput_pld_irq_type;
irq_desc[PLD_IRQ_CFIREQ].action = 0; irq_desc[PLD_IRQ_CFIREQ].action = 0;
irq_desc[PLD_IRQ_CFIREQ].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_CFIREQ].depth = 1; /* disable nested irq */
pld_icu_data[irq2pldirq(PLD_IRQ_CFIREQ)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* 'L' level sense */ pld_icu_data[irq2pldirq(PLD_IRQ_CFIREQ)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* 'L' level sense */
...@@ -386,7 +386,7 @@ void __init init_IRQ(void) ...@@ -386,7 +386,7 @@ void __init init_IRQ(void)
/* INT#1: CFC Insert on PLD */ /* INT#1: CFC Insert on PLD */
irq_desc[PLD_IRQ_CFC_INSERT].status = IRQ_DISABLED; irq_desc[PLD_IRQ_CFC_INSERT].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_CFC_INSERT].handler = &opsput_pld_irq_type; irq_desc[PLD_IRQ_CFC_INSERT].chip = &opsput_pld_irq_type;
irq_desc[PLD_IRQ_CFC_INSERT].action = 0; irq_desc[PLD_IRQ_CFC_INSERT].action = 0;
irq_desc[PLD_IRQ_CFC_INSERT].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_CFC_INSERT].depth = 1; /* disable nested irq */
pld_icu_data[irq2pldirq(PLD_IRQ_CFC_INSERT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD00; /* 'L' edge sense */ pld_icu_data[irq2pldirq(PLD_IRQ_CFC_INSERT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD00; /* 'L' edge sense */
...@@ -394,7 +394,7 @@ void __init init_IRQ(void) ...@@ -394,7 +394,7 @@ void __init init_IRQ(void)
/* INT#1: CFC Eject on PLD */ /* INT#1: CFC Eject on PLD */
irq_desc[PLD_IRQ_CFC_EJECT].status = IRQ_DISABLED; irq_desc[PLD_IRQ_CFC_EJECT].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_CFC_EJECT].handler = &opsput_pld_irq_type; irq_desc[PLD_IRQ_CFC_EJECT].chip = &opsput_pld_irq_type;
irq_desc[PLD_IRQ_CFC_EJECT].action = 0; irq_desc[PLD_IRQ_CFC_EJECT].action = 0;
irq_desc[PLD_IRQ_CFC_EJECT].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_CFC_EJECT].depth = 1; /* disable nested irq */
pld_icu_data[irq2pldirq(PLD_IRQ_CFC_EJECT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* 'H' edge sense */ pld_icu_data[irq2pldirq(PLD_IRQ_CFC_EJECT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* 'H' edge sense */
...@@ -420,7 +420,7 @@ void __init init_IRQ(void) ...@@ -420,7 +420,7 @@ void __init init_IRQ(void)
outw(USBCR_OTGS, USBCR); /* USBCR: non-OTG */ outw(USBCR_OTGS, USBCR); /* USBCR: non-OTG */
irq_desc[OPSPUT_LCD_IRQ_USB_INT1].status = IRQ_DISABLED; irq_desc[OPSPUT_LCD_IRQ_USB_INT1].status = IRQ_DISABLED;
irq_desc[OPSPUT_LCD_IRQ_USB_INT1].handler = &opsput_lcdpld_irq_type; irq_desc[OPSPUT_LCD_IRQ_USB_INT1].chip = &opsput_lcdpld_irq_type;
irq_desc[OPSPUT_LCD_IRQ_USB_INT1].action = 0; irq_desc[OPSPUT_LCD_IRQ_USB_INT1].action = 0;
irq_desc[OPSPUT_LCD_IRQ_USB_INT1].depth = 1; irq_desc[OPSPUT_LCD_IRQ_USB_INT1].depth = 1;
lcdpld_icu_data[irq2lcdpldirq(OPSPUT_LCD_IRQ_USB_INT1)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* "L" level sense */ lcdpld_icu_data[irq2lcdpldirq(OPSPUT_LCD_IRQ_USB_INT1)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* "L" level sense */
...@@ -438,7 +438,7 @@ void __init init_IRQ(void) ...@@ -438,7 +438,7 @@ void __init init_IRQ(void)
* INT3# is used for AR * INT3# is used for AR
*/ */
irq_desc[M32R_IRQ_INT3].status = IRQ_DISABLED; irq_desc[M32R_IRQ_INT3].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_INT3].handler = &opsput_irq_type; irq_desc[M32R_IRQ_INT3].chip = &opsput_irq_type;
irq_desc[M32R_IRQ_INT3].action = 0; irq_desc[M32R_IRQ_INT3].action = 0;
irq_desc[M32R_IRQ_INT3].depth = 1; irq_desc[M32R_IRQ_INT3].depth = 1;
icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
......
...@@ -158,7 +158,7 @@ void __init init_IRQ(void) ...@@ -158,7 +158,7 @@ void __init init_IRQ(void)
/* MFT2 : system timer */ /* MFT2 : system timer */
irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED; irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_MFT2].handler = &mappi_irq_type; irq_desc[M32R_IRQ_MFT2].chip = &mappi_irq_type;
irq_desc[M32R_IRQ_MFT2].action = 0; irq_desc[M32R_IRQ_MFT2].action = 0;
irq_desc[M32R_IRQ_MFT2].depth = 1; irq_desc[M32R_IRQ_MFT2].depth = 1;
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
...@@ -167,7 +167,7 @@ void __init init_IRQ(void) ...@@ -167,7 +167,7 @@ void __init init_IRQ(void)
#if defined(CONFIG_SERIAL_M32R_SIO) #if defined(CONFIG_SERIAL_M32R_SIO)
/* SIO0_R : uart receive data */ /* SIO0_R : uart receive data */
irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO0_R].handler = &mappi_irq_type; irq_desc[M32R_IRQ_SIO0_R].chip = &mappi_irq_type;
irq_desc[M32R_IRQ_SIO0_R].action = 0; irq_desc[M32R_IRQ_SIO0_R].action = 0;
irq_desc[M32R_IRQ_SIO0_R].depth = 1; irq_desc[M32R_IRQ_SIO0_R].depth = 1;
icu_data[M32R_IRQ_SIO0_R].icucr = 0; icu_data[M32R_IRQ_SIO0_R].icucr = 0;
...@@ -175,7 +175,7 @@ void __init init_IRQ(void) ...@@ -175,7 +175,7 @@ void __init init_IRQ(void)
/* SIO0_S : uart send data */ /* SIO0_S : uart send data */
irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO0_S].handler = &mappi_irq_type; irq_desc[M32R_IRQ_SIO0_S].chip = &mappi_irq_type;
irq_desc[M32R_IRQ_SIO0_S].action = 0; irq_desc[M32R_IRQ_SIO0_S].action = 0;
irq_desc[M32R_IRQ_SIO0_S].depth = 1; irq_desc[M32R_IRQ_SIO0_S].depth = 1;
icu_data[M32R_IRQ_SIO0_S].icucr = 0; icu_data[M32R_IRQ_SIO0_S].icucr = 0;
...@@ -183,7 +183,7 @@ void __init init_IRQ(void) ...@@ -183,7 +183,7 @@ void __init init_IRQ(void)
/* SIO1_R : uart receive data */ /* SIO1_R : uart receive data */
irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO1_R].handler = &mappi_irq_type; irq_desc[M32R_IRQ_SIO1_R].chip = &mappi_irq_type;
irq_desc[M32R_IRQ_SIO1_R].action = 0; irq_desc[M32R_IRQ_SIO1_R].action = 0;
irq_desc[M32R_IRQ_SIO1_R].depth = 1; irq_desc[M32R_IRQ_SIO1_R].depth = 1;
icu_data[M32R_IRQ_SIO1_R].icucr = 0; icu_data[M32R_IRQ_SIO1_R].icucr = 0;
...@@ -191,7 +191,7 @@ void __init init_IRQ(void) ...@@ -191,7 +191,7 @@ void __init init_IRQ(void)
/* SIO1_S : uart send data */ /* SIO1_S : uart send data */
irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED; irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED;
irq_desc[M32R_IRQ_SIO1_S].handler = &mappi_irq_type; irq_desc[M32R_IRQ_SIO1_S].chip = &mappi_irq_type;
irq_desc[M32R_IRQ_SIO1_S].action = 0; irq_desc[M32R_IRQ_SIO1_S].action = 0;
irq_desc[M32R_IRQ_SIO1_S].depth = 1; irq_desc[M32R_IRQ_SIO1_S].depth = 1;
icu_data[M32R_IRQ_SIO1_S].icucr = 0; icu_data[M32R_IRQ_SIO1_S].icucr = 0;
...@@ -201,7 +201,7 @@ void __init init_IRQ(void) ...@@ -201,7 +201,7 @@ void __init init_IRQ(void)
/* INT#67-#71: CFC#0 IREQ on PLD */ /* INT#67-#71: CFC#0 IREQ on PLD */
for (i = 0 ; i < CONFIG_CFC_NUM ; i++ ) { for (i = 0 ; i < CONFIG_CFC_NUM ; i++ ) {
irq_desc[PLD_IRQ_CF0 + i].status = IRQ_DISABLED; irq_desc[PLD_IRQ_CF0 + i].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_CF0 + i].handler = &m32700ut_pld_irq_type; irq_desc[PLD_IRQ_CF0 + i].chip = &m32700ut_pld_irq_type;
irq_desc[PLD_IRQ_CF0 + i].action = 0; irq_desc[PLD_IRQ_CF0 + i].action = 0;
irq_desc[PLD_IRQ_CF0 + i].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_CF0 + i].depth = 1; /* disable nested irq */
pld_icu_data[irq2pldirq(PLD_IRQ_CF0 + i)].icucr pld_icu_data[irq2pldirq(PLD_IRQ_CF0 + i)].icucr
...@@ -212,7 +212,7 @@ void __init init_IRQ(void) ...@@ -212,7 +212,7 @@ void __init init_IRQ(void)
#if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE) #if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE)
/* INT#76: 16552D#0 IREQ on PLD */ /* INT#76: 16552D#0 IREQ on PLD */
irq_desc[PLD_IRQ_UART0].status = IRQ_DISABLED; irq_desc[PLD_IRQ_UART0].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_UART0].handler = &m32700ut_pld_irq_type; irq_desc[PLD_IRQ_UART0].chip = &m32700ut_pld_irq_type;
irq_desc[PLD_IRQ_UART0].action = 0; irq_desc[PLD_IRQ_UART0].action = 0;
irq_desc[PLD_IRQ_UART0].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_UART0].depth = 1; /* disable nested irq */
pld_icu_data[irq2pldirq(PLD_IRQ_UART0)].icucr pld_icu_data[irq2pldirq(PLD_IRQ_UART0)].icucr
...@@ -221,7 +221,7 @@ void __init init_IRQ(void) ...@@ -221,7 +221,7 @@ void __init init_IRQ(void)
/* INT#77: 16552D#1 IREQ on PLD */ /* INT#77: 16552D#1 IREQ on PLD */
irq_desc[PLD_IRQ_UART1].status = IRQ_DISABLED; irq_desc[PLD_IRQ_UART1].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_UART1].handler = &m32700ut_pld_irq_type; irq_desc[PLD_IRQ_UART1].chip = &m32700ut_pld_irq_type;
irq_desc[PLD_IRQ_UART1].action = 0; irq_desc[PLD_IRQ_UART1].action = 0;
irq_desc[PLD_IRQ_UART1].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_UART1].depth = 1; /* disable nested irq */
pld_icu_data[irq2pldirq(PLD_IRQ_UART1)].icucr pld_icu_data[irq2pldirq(PLD_IRQ_UART1)].icucr
...@@ -232,7 +232,7 @@ void __init init_IRQ(void) ...@@ -232,7 +232,7 @@ void __init init_IRQ(void)
#if defined(CONFIG_IDC_AK4524) || defined(CONFIG_IDC_AK4524_MODULE) #if defined(CONFIG_IDC_AK4524) || defined(CONFIG_IDC_AK4524_MODULE)
/* INT#80: AK4524 IREQ on PLD */ /* INT#80: AK4524 IREQ on PLD */
irq_desc[PLD_IRQ_SNDINT].status = IRQ_DISABLED; irq_desc[PLD_IRQ_SNDINT].status = IRQ_DISABLED;
irq_desc[PLD_IRQ_SNDINT].handler = &m32700ut_pld_irq_type; irq_desc[PLD_IRQ_SNDINT].chip = &m32700ut_pld_irq_type;
irq_desc[PLD_IRQ_SNDINT].action = 0; irq_desc[PLD_IRQ_SNDINT].action = 0;
irq_desc[PLD_IRQ_SNDINT].depth = 1; /* disable nested irq */ irq_desc[PLD_IRQ_SNDINT].depth = 1; /* disable nested irq */
pld_icu_data[irq2pldirq(PLD_IRQ_SNDINT)].icucr pld_icu_data[irq2pldirq(PLD_IRQ_SNDINT)].icucr
......
...@@ -333,31 +333,31 @@ static void setup_local_irq(unsigned int irq_nr, int type, int int_req) ...@@ -333,31 +333,31 @@ static void setup_local_irq(unsigned int irq_nr, int type, int int_req)
au_writel(1<<(irq_nr-32), IC1_CFG2CLR); au_writel(1<<(irq_nr-32), IC1_CFG2CLR);
au_writel(1<<(irq_nr-32), IC1_CFG1CLR); au_writel(1<<(irq_nr-32), IC1_CFG1CLR);
au_writel(1<<(irq_nr-32), IC1_CFG0SET); au_writel(1<<(irq_nr-32), IC1_CFG0SET);
irq_desc[irq_nr].handler = &rise_edge_irq_type; irq_desc[irq_nr].chip = &rise_edge_irq_type;
break; break;
case INTC_INT_FALL_EDGE: /* 0:1:0 */ case INTC_INT_FALL_EDGE: /* 0:1:0 */
au_writel(1<<(irq_nr-32), IC1_CFG2CLR); au_writel(1<<(irq_nr-32), IC1_CFG2CLR);
au_writel(1<<(irq_nr-32), IC1_CFG1SET); au_writel(1<<(irq_nr-32), IC1_CFG1SET);
au_writel(1<<(irq_nr-32), IC1_CFG0CLR); au_writel(1<<(irq_nr-32), IC1_CFG0CLR);
irq_desc[irq_nr].handler = &fall_edge_irq_type; irq_desc[irq_nr].chip = &fall_edge_irq_type;
break; break;
case INTC_INT_RISE_AND_FALL_EDGE: /* 0:1:1 */ case INTC_INT_RISE_AND_FALL_EDGE: /* 0:1:1 */
au_writel(1<<(irq_nr-32), IC1_CFG2CLR); au_writel(1<<(irq_nr-32), IC1_CFG2CLR);
au_writel(1<<(irq_nr-32), IC1_CFG1SET); au_writel(1<<(irq_nr-32), IC1_CFG1SET);
au_writel(1<<(irq_nr-32), IC1_CFG0SET); au_writel(1<<(irq_nr-32), IC1_CFG0SET);
irq_desc[irq_nr].handler = &either_edge_irq_type; irq_desc[irq_nr].chip = &either_edge_irq_type;
break; break;
case INTC_INT_HIGH_LEVEL: /* 1:0:1 */ case INTC_INT_HIGH_LEVEL: /* 1:0:1 */
au_writel(1<<(irq_nr-32), IC1_CFG2SET); au_writel(1<<(irq_nr-32), IC1_CFG2SET);
au_writel(1<<(irq_nr-32), IC1_CFG1CLR); au_writel(1<<(irq_nr-32), IC1_CFG1CLR);
au_writel(1<<(irq_nr-32), IC1_CFG0SET); au_writel(1<<(irq_nr-32), IC1_CFG0SET);
irq_desc[irq_nr].handler = &level_irq_type; irq_desc[irq_nr].chip = &level_irq_type;
break; break;
case INTC_INT_LOW_LEVEL: /* 1:1:0 */ case INTC_INT_LOW_LEVEL: /* 1:1:0 */
au_writel(1<<(irq_nr-32), IC1_CFG2SET); au_writel(1<<(irq_nr-32), IC1_CFG2SET);
au_writel(1<<(irq_nr-32), IC1_CFG1SET); au_writel(1<<(irq_nr-32), IC1_CFG1SET);
au_writel(1<<(irq_nr-32), IC1_CFG0CLR); au_writel(1<<(irq_nr-32), IC1_CFG0CLR);
irq_desc[irq_nr].handler = &level_irq_type; irq_desc[irq_nr].chip = &level_irq_type;
break; break;
case INTC_INT_DISABLED: /* 0:0:0 */ case INTC_INT_DISABLED: /* 0:0:0 */
au_writel(1<<(irq_nr-32), IC1_CFG0CLR); au_writel(1<<(irq_nr-32), IC1_CFG0CLR);
...@@ -385,31 +385,31 @@ static void setup_local_irq(unsigned int irq_nr, int type, int int_req) ...@@ -385,31 +385,31 @@ static void setup_local_irq(unsigned int irq_nr, int type, int int_req)
au_writel(1<<irq_nr, IC0_CFG2CLR); au_writel(1<<irq_nr, IC0_CFG2CLR);
au_writel(1<<irq_nr, IC0_CFG1CLR); au_writel(1<<irq_nr, IC0_CFG1CLR);
au_writel(1<<irq_nr, IC0_CFG0SET); au_writel(1<<irq_nr, IC0_CFG0SET);
irq_desc[irq_nr].handler = &rise_edge_irq_type; irq_desc[irq_nr].chip = &rise_edge_irq_type;
break; break;
case INTC_INT_FALL_EDGE: /* 0:1:0 */ case INTC_INT_FALL_EDGE: /* 0:1:0 */
au_writel(1<<irq_nr, IC0_CFG2CLR); au_writel(1<<irq_nr, IC0_CFG2CLR);
au_writel(1<<irq_nr, IC0_CFG1SET); au_writel(1<<irq_nr, IC0_CFG1SET);
au_writel(1<<irq_nr, IC0_CFG0CLR); au_writel(1<<irq_nr, IC0_CFG0CLR);
irq_desc[irq_nr].handler = &fall_edge_irq_type; irq_desc[irq_nr].chip = &fall_edge_irq_type;
break; break;
case INTC_INT_RISE_AND_FALL_EDGE: /* 0:1:1 */ case INTC_INT_RISE_AND_FALL_EDGE: /* 0:1:1 */
au_writel(1<<irq_nr, IC0_CFG2CLR); au_writel(1<<irq_nr, IC0_CFG2CLR);
au_writel(1<<irq_nr, IC0_CFG1SET); au_writel(1<<irq_nr, IC0_CFG1SET);
au_writel(1<<irq_nr, IC0_CFG0SET); au_writel(1<<irq_nr, IC0_CFG0SET);
irq_desc[irq_nr].handler = &either_edge_irq_type; irq_desc[irq_nr].chip = &either_edge_irq_type;
break; break;
case INTC_INT_HIGH_LEVEL: /* 1:0:1 */ case INTC_INT_HIGH_LEVEL: /* 1:0:1 */
au_writel(1<<irq_nr, IC0_CFG2SET); au_writel(1<<irq_nr, IC0_CFG2SET);
au_writel(1<<irq_nr, IC0_CFG1CLR); au_writel(1<<irq_nr, IC0_CFG1CLR);
au_writel(1<<irq_nr, IC0_CFG0SET); au_writel(1<<irq_nr, IC0_CFG0SET);
irq_desc[irq_nr].handler = &level_irq_type; irq_desc[irq_nr].chip = &level_irq_type;
break; break;
case INTC_INT_LOW_LEVEL: /* 1:1:0 */ case INTC_INT_LOW_LEVEL: /* 1:1:0 */
au_writel(1<<irq_nr, IC0_CFG2SET); au_writel(1<<irq_nr, IC0_CFG2SET);
au_writel(1<<irq_nr, IC0_CFG1SET); au_writel(1<<irq_nr, IC0_CFG1SET);
au_writel(1<<irq_nr, IC0_CFG0CLR); au_writel(1<<irq_nr, IC0_CFG0CLR);
irq_desc[irq_nr].handler = &level_irq_type; irq_desc[irq_nr].chip = &level_irq_type;
break; break;
case INTC_INT_DISABLED: /* 0:0:0 */ case INTC_INT_DISABLED: /* 0:0:0 */
au_writel(1<<irq_nr, IC0_CFG0CLR); au_writel(1<<irq_nr, IC0_CFG0CLR);
......
...@@ -172,7 +172,7 @@ void _board_init_irq(void) ...@@ -172,7 +172,7 @@ void _board_init_irq(void)
for (irq_nr = PB1200_INT_BEGIN; irq_nr <= PB1200_INT_END; irq_nr++) for (irq_nr = PB1200_INT_BEGIN; irq_nr <= PB1200_INT_END; irq_nr++)
{ {
irq_desc[irq_nr].handler = &external_irq_type; irq_desc[irq_nr].chip = &external_irq_type;
pb1200_disable_irq(irq_nr); pb1200_disable_irq(irq_nr);
} }
......
...@@ -107,7 +107,7 @@ void __init vrc5477_irq_init(u32 irq_base) ...@@ -107,7 +107,7 @@ void __init vrc5477_irq_init(u32 irq_base)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = NULL; irq_desc[i].action = NULL;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
irq_desc[i].handler = &vrc5477_irq_controller; irq_desc[i].chip = &vrc5477_irq_controller;
} }
vrc5477_irq_base = irq_base; vrc5477_irq_base = irq_base;
......
...@@ -144,13 +144,13 @@ void __init init_ioasic_irqs(int base) ...@@ -144,13 +144,13 @@ void __init init_ioasic_irqs(int base)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
irq_desc[i].handler = &ioasic_irq_type; irq_desc[i].chip = &ioasic_irq_type;
} }
for (; i < base + IO_IRQ_LINES; i++) { for (; i < base + IO_IRQ_LINES; i++) {
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
irq_desc[i].handler = &ioasic_dma_irq_type; irq_desc[i].chip = &ioasic_dma_irq_type;
} }
ioasic_irq_base = base; ioasic_irq_base = base;
......
...@@ -123,7 +123,7 @@ void __init init_kn02_irqs(int base) ...@@ -123,7 +123,7 @@ void __init init_kn02_irqs(int base)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
irq_desc[i].handler = &kn02_irq_type; irq_desc[i].chip = &kn02_irq_type;
} }
kn02_irq_base = base; kn02_irq_base = base;
......
...@@ -138,7 +138,7 @@ void __init arch_init_irq(void) ...@@ -138,7 +138,7 @@ void __init arch_init_irq(void)
/* Let's initialize our IRQ descriptors */ /* Let's initialize our IRQ descriptors */
for (i = 0; i < NR_IRQS; i++) { for (i = 0; i < NR_IRQS; i++) {
irq_desc[i].status = 0; irq_desc[i].status = 0;
irq_desc[i].handler = &no_irq_type; irq_desc[i].chip = &no_irq_type;
irq_desc[i].action = NULL; irq_desc[i].action = NULL;
irq_desc[i].depth = 0; irq_desc[i].depth = 0;
spin_lock_init(&irq_desc[i].lock); spin_lock_init(&irq_desc[i].lock);
......
...@@ -208,10 +208,10 @@ void __init arch_init_irq(void) ...@@ -208,10 +208,10 @@ void __init arch_init_irq(void)
#endif #endif
for (i = 0; i <= IT8172_LAST_IRQ; i++) { for (i = 0; i <= IT8172_LAST_IRQ; i++) {
irq_desc[i].handler = &it8172_irq_type; irq_desc[i].chip = &it8172_irq_type;
spin_lock_init(&irq_desc[i].lock); spin_lock_init(&irq_desc[i].lock);
} }
irq_desc[MIPS_CPU_TIMER_IRQ].handler = &cp0_irq_type; irq_desc[MIPS_CPU_TIMER_IRQ].chip = &cp0_irq_type;
set_c0_status(ALLINTS_NOTIMER); set_c0_status(ALLINTS_NOTIMER);
} }
......
...@@ -73,7 +73,7 @@ void __init init_r4030_ints(void) ...@@ -73,7 +73,7 @@ void __init init_r4030_ints(void)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
irq_desc[i].handler = &r4030_irq_type; irq_desc[i].chip = &r4030_irq_type;
} }
r4030_write_reg16(JAZZ_IO_IRQ_ENABLE, 0); r4030_write_reg16(JAZZ_IO_IRQ_ENABLE, 0);
......
...@@ -435,7 +435,7 @@ void jmr3927_irq_init(u32 irq_base) ...@@ -435,7 +435,7 @@ void jmr3927_irq_init(u32 irq_base)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = NULL; irq_desc[i].action = NULL;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
irq_desc[i].handler = &jmr3927_irq_controller; irq_desc[i].chip = &jmr3927_irq_controller;
} }
jmr3927_irq_base = irq_base; jmr3927_irq_base = irq_base;
......
...@@ -120,7 +120,7 @@ int i8259A_irq_pending(unsigned int irq) ...@@ -120,7 +120,7 @@ int i8259A_irq_pending(unsigned int irq)
void make_8259A_irq(unsigned int irq) void make_8259A_irq(unsigned int irq)
{ {
disable_irq_nosync(irq); disable_irq_nosync(irq);
irq_desc[irq].handler = &i8259A_irq_type; irq_desc[irq].chip = &i8259A_irq_type;
enable_irq(irq); enable_irq(irq);
} }
...@@ -327,7 +327,7 @@ void __init init_i8259_irqs (void) ...@@ -327,7 +327,7 @@ void __init init_i8259_irqs (void)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = NULL; irq_desc[i].action = NULL;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
irq_desc[i].handler = &i8259A_irq_type; irq_desc[i].chip = &i8259A_irq_type;
} }
setup_irq(2, &irq2); setup_irq(2, &irq2);
......
...@@ -174,14 +174,14 @@ void __init init_msc_irqs(unsigned int base, msc_irqmap_t *imp, int nirq) ...@@ -174,14 +174,14 @@ void __init init_msc_irqs(unsigned int base, msc_irqmap_t *imp, int nirq)
switch (imp->im_type) { switch (imp->im_type) {
case MSC01_IRQ_EDGE: case MSC01_IRQ_EDGE:
irq_desc[base+n].handler = &msc_edgeirq_type; irq_desc[base+n].chip = &msc_edgeirq_type;
if (cpu_has_veic) if (cpu_has_veic)
MSCIC_WRITE(MSC01_IC_SUP+n*8, MSC01_IC_SUP_EDGE_BIT); MSCIC_WRITE(MSC01_IC_SUP+n*8, MSC01_IC_SUP_EDGE_BIT);
else else
MSCIC_WRITE(MSC01_IC_SUP+n*8, MSC01_IC_SUP_EDGE_BIT | imp->im_lvl); MSCIC_WRITE(MSC01_IC_SUP+n*8, MSC01_IC_SUP_EDGE_BIT | imp->im_lvl);
break; break;
case MSC01_IRQ_LEVEL: case MSC01_IRQ_LEVEL:
irq_desc[base+n].handler = &msc_levelirq_type; irq_desc[base+n].chip = &msc_levelirq_type;
if (cpu_has_veic) if (cpu_has_veic)
MSCIC_WRITE(MSC01_IC_SUP+n*8, 0); MSCIC_WRITE(MSC01_IC_SUP+n*8, 0);
else else
......
...@@ -155,7 +155,7 @@ void __init mv64340_irq_init(unsigned int base) ...@@ -155,7 +155,7 @@ void __init mv64340_irq_init(unsigned int base)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = 2; irq_desc[i].depth = 2;
irq_desc[i].handler = &mv64340_irq_type; irq_desc[i].chip = &mv64340_irq_type;
} }
irq_base = base; irq_base = base;
......
...@@ -91,7 +91,7 @@ void __init rm7k_cpu_irq_init(int base) ...@@ -91,7 +91,7 @@ void __init rm7k_cpu_irq_init(int base)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = NULL; irq_desc[i].action = NULL;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
irq_desc[i].handler = &rm7k_irq_controller; irq_desc[i].chip = &rm7k_irq_controller;
} }
irq_base = base; irq_base = base;
......
...@@ -139,11 +139,11 @@ void __init rm9k_cpu_irq_init(int base) ...@@ -139,11 +139,11 @@ void __init rm9k_cpu_irq_init(int base)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = NULL; irq_desc[i].action = NULL;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
irq_desc[i].handler = &rm9k_irq_controller; irq_desc[i].chip = &rm9k_irq_controller;
} }
rm9000_perfcount_irq = base + 1; rm9000_perfcount_irq = base + 1;
irq_desc[rm9000_perfcount_irq].handler = &rm9k_perfcounter_irq; irq_desc[rm9000_perfcount_irq].chip = &rm9k_perfcounter_irq;
irq_base = base; irq_base = base;
} }
...@@ -95,7 +95,7 @@ int show_interrupts(struct seq_file *p, void *v) ...@@ -95,7 +95,7 @@ int show_interrupts(struct seq_file *p, void *v)
for_each_online_cpu(j) for_each_online_cpu(j)
seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]); seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]);
#endif #endif
seq_printf(p, " %14s", irq_desc[i].handler->typename); seq_printf(p, " %14s", irq_desc[i].chip->typename);
seq_printf(p, " %s", action->name); seq_printf(p, " %s", action->name);
for (action=action->next; action; action = action->next) for (action=action->next; action; action = action->next)
...@@ -137,7 +137,7 @@ void __init init_IRQ(void) ...@@ -137,7 +137,7 @@ void __init init_IRQ(void)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = NULL; irq_desc[i].action = NULL;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
irq_desc[i].handler = &no_irq_type; irq_desc[i].chip = &no_irq_type;
spin_lock_init(&irq_desc[i].lock); spin_lock_init(&irq_desc[i].lock);
#ifdef CONFIG_MIPS_MT_SMTC #ifdef CONFIG_MIPS_MT_SMTC
irq_hwmask[i] = 0; irq_hwmask[i] = 0;
......
...@@ -167,14 +167,14 @@ void __init mips_cpu_irq_init(int irq_base) ...@@ -167,14 +167,14 @@ void __init mips_cpu_irq_init(int irq_base)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = NULL; irq_desc[i].action = NULL;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
irq_desc[i].handler = &mips_mt_cpu_irq_controller; irq_desc[i].chip = &mips_mt_cpu_irq_controller;
} }
for (i = irq_base + 2; i < irq_base + 8; i++) { for (i = irq_base + 2; i < irq_base + 8; i++) {
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = NULL; irq_desc[i].action = NULL;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
irq_desc[i].handler = &mips_cpu_irq_controller; irq_desc[i].chip = &mips_cpu_irq_controller;
} }
mips_cpu_irq_base = irq_base; mips_cpu_irq_base = irq_base;
......
...@@ -156,6 +156,6 @@ void __init arch_init_irq(void) ...@@ -156,6 +156,6 @@ void __init arch_init_irq(void)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
irq_desc[i].handler = &lasat_irq_type; irq_desc[i].chip = &lasat_irq_type;
} }
} }
...@@ -215,7 +215,7 @@ void __init arch_init_irq(void) ...@@ -215,7 +215,7 @@ void __init arch_init_irq(void)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
irq_desc[i].handler = &atlas_irq_type; irq_desc[i].chip = &atlas_irq_type;
spin_lock_init(&irq_desc[i].lock); spin_lock_init(&irq_desc[i].lock);
} }
} }
...@@ -147,6 +147,6 @@ void cpci_irq_init(void) ...@@ -147,6 +147,6 @@ void cpci_irq_init(void)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = 2; irq_desc[i].depth = 2;
irq_desc[i].handler = &cpci_irq_type; irq_desc[i].chip = &cpci_irq_type;
} }
} }
...@@ -137,10 +137,10 @@ void uart_irq_init(void) ...@@ -137,10 +137,10 @@ void uart_irq_init(void)
irq_desc[80].status = IRQ_DISABLED; irq_desc[80].status = IRQ_DISABLED;
irq_desc[80].action = 0; irq_desc[80].action = 0;
irq_desc[80].depth = 2; irq_desc[80].depth = 2;
irq_desc[80].handler = &uart_irq_type; irq_desc[80].chip = &uart_irq_type;
irq_desc[81].status = IRQ_DISABLED; irq_desc[81].status = IRQ_DISABLED;
irq_desc[81].action = 0; irq_desc[81].action = 0;
irq_desc[81].depth = 2; irq_desc[81].depth = 2;
irq_desc[81].handler = &uart_irq_type; irq_desc[81].chip = &uart_irq_type;
} }
...@@ -236,7 +236,7 @@ void __init arch_init_irq(void) ...@@ -236,7 +236,7 @@ void __init arch_init_irq(void)
int configPR; int configPR;
for (i = 0; i < PNX8550_INT_CP0_TOTINT; i++) { for (i = 0; i < PNX8550_INT_CP0_TOTINT; i++) {
irq_desc[i].handler = &level_irq_type; irq_desc[i].chip = &level_irq_type;
pnx8550_ack(i); /* mask the irq just in case */ pnx8550_ack(i); /* mask the irq just in case */
} }
...@@ -273,7 +273,7 @@ void __init arch_init_irq(void) ...@@ -273,7 +273,7 @@ void __init arch_init_irq(void)
/* mask/priority is still 0 so we will not get any /* mask/priority is still 0 so we will not get any
* interrupts until it is unmasked */ * interrupts until it is unmasked */
irq_desc[i].handler = &level_irq_type; irq_desc[i].chip = &level_irq_type;
} }
/* Priority level 0 */ /* Priority level 0 */
...@@ -282,12 +282,12 @@ void __init arch_init_irq(void) ...@@ -282,12 +282,12 @@ void __init arch_init_irq(void)
/* Set int vector table address */ /* Set int vector table address */
PNX8550_GIC_VECTOR_0 = PNX8550_GIC_VECTOR_1 = 0; PNX8550_GIC_VECTOR_0 = PNX8550_GIC_VECTOR_1 = 0;
irq_desc[MIPS_CPU_GIC_IRQ].handler = &level_irq_type; irq_desc[MIPS_CPU_GIC_IRQ].chip = &level_irq_type;
setup_irq(MIPS_CPU_GIC_IRQ, &gic_action); setup_irq(MIPS_CPU_GIC_IRQ, &gic_action);
/* init of Timer interrupts */ /* init of Timer interrupts */
for (i = PNX8550_INT_TIMER_MIN; i <= PNX8550_INT_TIMER_MAX; i++) { for (i = PNX8550_INT_TIMER_MIN; i <= PNX8550_INT_TIMER_MAX; i++) {
irq_desc[i].handler = &level_irq_type; irq_desc[i].chip = &level_irq_type;
} }
/* Stop Timer 1-3 */ /* Stop Timer 1-3 */
...@@ -295,7 +295,7 @@ void __init arch_init_irq(void) ...@@ -295,7 +295,7 @@ void __init arch_init_irq(void)
configPR |= 0x00000038; configPR |= 0x00000038;
write_c0_config7(configPR); write_c0_config7(configPR);
irq_desc[MIPS_CPU_TIMER_IRQ].handler = &level_irq_type; irq_desc[MIPS_CPU_TIMER_IRQ].chip = &level_irq_type;
setup_irq(MIPS_CPU_TIMER_IRQ, &timer_action); setup_irq(MIPS_CPU_TIMER_IRQ, &timer_action);
} }
......
...@@ -279,9 +279,9 @@ int __init ip22_eisa_init(void) ...@@ -279,9 +279,9 @@ int __init ip22_eisa_init(void)
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
if (i < (SGINT_EISA + 8)) if (i < (SGINT_EISA + 8))
irq_desc[i].handler = &ip22_eisa1_irq_type; irq_desc[i].chip = &ip22_eisa1_irq_type;
else else
irq_desc[i].handler = &ip22_eisa2_irq_type; irq_desc[i].chip = &ip22_eisa2_irq_type;
} }
/* Cannot use request_irq because of kmalloc not being ready at such /* Cannot use request_irq because of kmalloc not being ready at such
......
...@@ -436,7 +436,7 @@ void __init arch_init_irq(void) ...@@ -436,7 +436,7 @@ void __init arch_init_irq(void)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
irq_desc[i].handler = handler; irq_desc[i].chip = handler;
} }
/* vector handler. this register the IRQ as non-sharable */ /* vector handler. this register the IRQ as non-sharable */
......
...@@ -386,7 +386,7 @@ void __devinit register_bridge_irq(unsigned int irq) ...@@ -386,7 +386,7 @@ void __devinit register_bridge_irq(unsigned int irq)
irq_desc[irq].status = IRQ_DISABLED; irq_desc[irq].status = IRQ_DISABLED;
irq_desc[irq].action = 0; irq_desc[irq].action = 0;
irq_desc[irq].depth = 1; irq_desc[irq].depth = 1;
irq_desc[irq].handler = &bridge_irq_type; irq_desc[irq].chip = &bridge_irq_type;
} }
int __devinit request_bridge_irq(struct bridge_controller *bc) int __devinit request_bridge_irq(struct bridge_controller *bc)
......
...@@ -591,7 +591,7 @@ void __init arch_init_irq(void) ...@@ -591,7 +591,7 @@ void __init arch_init_irq(void)
irq_desc[irq].status = IRQ_DISABLED; irq_desc[irq].status = IRQ_DISABLED;
irq_desc[irq].action = 0; irq_desc[irq].action = 0;
irq_desc[irq].depth = 0; irq_desc[irq].depth = 0;
irq_desc[irq].handler = controller; irq_desc[irq].chip = controller;
} }
setup_irq(CRIME_MEMERR_IRQ, &memerr_irq); setup_irq(CRIME_MEMERR_IRQ, &memerr_irq);
setup_irq(CRIME_CPUERR_IRQ, &cpuerr_irq); setup_irq(CRIME_CPUERR_IRQ, &cpuerr_irq);
......
...@@ -276,10 +276,10 @@ void __init init_bcm1480_irqs(void) ...@@ -276,10 +276,10 @@ void __init init_bcm1480_irqs(void)
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
if (i < BCM1480_NR_IRQS) { if (i < BCM1480_NR_IRQS) {
irq_desc[i].handler = &bcm1480_irq_type; irq_desc[i].chip = &bcm1480_irq_type;
bcm1480_irq_owner[i] = 0; bcm1480_irq_owner[i] = 0;
} else { } else {
irq_desc[i].handler = &no_irq_type; irq_desc[i].chip = &no_irq_type;
} }
} }
} }
......
...@@ -246,10 +246,10 @@ void __init init_sb1250_irqs(void) ...@@ -246,10 +246,10 @@ void __init init_sb1250_irqs(void)
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
if (i < SB1250_NR_IRQS) { if (i < SB1250_NR_IRQS) {
irq_desc[i].handler = &sb1250_irq_type; irq_desc[i].chip = &sb1250_irq_type;
sb1250_irq_owner[i] = 0; sb1250_irq_owner[i] = 0;
} else { } else {
irq_desc[i].handler = &no_irq_type; irq_desc[i].chip = &no_irq_type;
} }
} }
} }
......
...@@ -203,7 +203,7 @@ void __init arch_init_irq(void) ...@@ -203,7 +203,7 @@ void __init arch_init_irq(void)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
irq_desc[i].handler = &pciasic_irq_type; irq_desc[i].chip = &pciasic_irq_type;
} }
change_c0_status(ST0_IM, IE_IRQ1|IE_IRQ2|IE_IRQ3|IE_IRQ4); change_c0_status(ST0_IM, IE_IRQ1|IE_IRQ2|IE_IRQ3|IE_IRQ4);
......
...@@ -227,7 +227,7 @@ static void __init tx4927_irq_cp0_init(void) ...@@ -227,7 +227,7 @@ static void __init tx4927_irq_cp0_init(void)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
irq_desc[i].handler = &tx4927_irq_cp0_type; irq_desc[i].chip = &tx4927_irq_cp0_type;
} }
return; return;
...@@ -435,7 +435,7 @@ static void __init tx4927_irq_pic_init(void) ...@@ -435,7 +435,7 @@ static void __init tx4927_irq_pic_init(void)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = 2; irq_desc[i].depth = 2;
irq_desc[i].handler = &tx4927_irq_pic_type; irq_desc[i].chip = &tx4927_irq_pic_type;
} }
setup_irq(TX4927_IRQ_NEST_PIC_ON_CP0, &tx4927_irq_pic_action); setup_irq(TX4927_IRQ_NEST_PIC_ON_CP0, &tx4927_irq_pic_action);
......
...@@ -368,7 +368,7 @@ static void __init toshiba_rbtx4927_irq_ioc_init(void) ...@@ -368,7 +368,7 @@ static void __init toshiba_rbtx4927_irq_ioc_init(void)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = 3; irq_desc[i].depth = 3;
irq_desc[i].handler = &toshiba_rbtx4927_irq_ioc_type; irq_desc[i].chip = &toshiba_rbtx4927_irq_ioc_type;
} }
setup_irq(TOSHIBA_RBTX4927_IRQ_NEST_IOC_ON_PIC, setup_irq(TOSHIBA_RBTX4927_IRQ_NEST_IOC_ON_PIC,
...@@ -526,7 +526,7 @@ static void __init toshiba_rbtx4927_irq_isa_init(void) ...@@ -526,7 +526,7 @@ static void __init toshiba_rbtx4927_irq_isa_init(void)
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = irq_desc[i].depth =
((i < TOSHIBA_RBTX4927_IRQ_ISA_MID) ? (4) : (5)); ((i < TOSHIBA_RBTX4927_IRQ_ISA_MID) ? (4) : (5));
irq_desc[i].handler = &toshiba_rbtx4927_irq_isa_type; irq_desc[i].chip = &toshiba_rbtx4927_irq_isa_type;
} }
setup_irq(TOSHIBA_RBTX4927_IRQ_NEST_ISA_ON_IOC, setup_irq(TOSHIBA_RBTX4927_IRQ_NEST_ISA_ON_IOC,
...@@ -692,13 +692,13 @@ void toshiba_rbtx4927_irq_dump(char *key) ...@@ -692,13 +692,13 @@ void toshiba_rbtx4927_irq_dump(char *key)
{ {
u32 i, j = 0; u32 i, j = 0;
for (i = 0; i < NR_IRQS; i++) { for (i = 0; i < NR_IRQS; i++) {
if (strcmp(irq_desc[i].handler->typename, "none") if (strcmp(irq_desc[i].chip->typename, "none")
== 0) == 0)
continue; continue;
if ((i >= 1) if ((i >= 1)
&& (irq_desc[i - 1].handler->typename == && (irq_desc[i - 1].chip->typename ==
irq_desc[i].handler->typename)) { irq_desc[i].chip->typename)) {
j++; j++;
} else { } else {
j = 0; j = 0;
...@@ -707,12 +707,12 @@ void toshiba_rbtx4927_irq_dump(char *key) ...@@ -707,12 +707,12 @@ void toshiba_rbtx4927_irq_dump(char *key)
(TOSHIBA_RBTX4927_IRQ_INFO, (TOSHIBA_RBTX4927_IRQ_INFO,
"%s irq=0x%02x/%3d s=0x%08x h=0x%08x a=0x%08x ah=0x%08x d=%1d n=%s/%02d\n", "%s irq=0x%02x/%3d s=0x%08x h=0x%08x a=0x%08x ah=0x%08x d=%1d n=%s/%02d\n",
key, i, i, irq_desc[i].status, key, i, i, irq_desc[i].status,
(u32) irq_desc[i].handler, (u32) irq_desc[i].chip,
(u32) irq_desc[i].action, (u32) irq_desc[i].action,
(u32) (irq_desc[i].action ? irq_desc[i]. (u32) (irq_desc[i].action ? irq_desc[i].
action->handler : 0), action->handler : 0),
irq_desc[i].depth, irq_desc[i].depth,
irq_desc[i].handler->typename, j); irq_desc[i].chip->typename, j);
} }
} }
#endif #endif
......
...@@ -102,7 +102,7 @@ tx4938_irq_cp0_init(void) ...@@ -102,7 +102,7 @@ tx4938_irq_cp0_init(void)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = 1; irq_desc[i].depth = 1;
irq_desc[i].handler = &tx4938_irq_cp0_type; irq_desc[i].chip = &tx4938_irq_cp0_type;
} }
return; return;
...@@ -306,7 +306,7 @@ tx4938_irq_pic_init(void) ...@@ -306,7 +306,7 @@ tx4938_irq_pic_init(void)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = 2; irq_desc[i].depth = 2;
irq_desc[i].handler = &tx4938_irq_pic_type; irq_desc[i].chip = &tx4938_irq_pic_type;
} }
setup_irq(TX4938_IRQ_NEST_PIC_ON_CP0, &tx4938_irq_pic_action); setup_irq(TX4938_IRQ_NEST_PIC_ON_CP0, &tx4938_irq_pic_action);
......
...@@ -146,7 +146,7 @@ toshiba_rbtx4938_irq_ioc_init(void) ...@@ -146,7 +146,7 @@ toshiba_rbtx4938_irq_ioc_init(void)
irq_desc[i].status = IRQ_DISABLED; irq_desc[i].status = IRQ_DISABLED;
irq_desc[i].action = 0; irq_desc[i].action = 0;
irq_desc[i].depth = 3; irq_desc[i].depth = 3;
irq_desc[i].handler = &toshiba_rbtx4938_irq_ioc_type; irq_desc[i].chip = &toshiba_rbtx4938_irq_ioc_type;
} }
setup_irq(RBTX4938_IRQ_IOCINT, setup_irq(RBTX4938_IRQ_IOCINT,
......
...@@ -722,10 +722,10 @@ static int __init vr41xx_icu_init(void) ...@@ -722,10 +722,10 @@ static int __init vr41xx_icu_init(void)
icu2_write(MGIUINTHREG, 0xffff); icu2_write(MGIUINTHREG, 0xffff);
for (i = SYSINT1_IRQ_BASE; i <= SYSINT1_IRQ_LAST; i++) for (i = SYSINT1_IRQ_BASE; i <= SYSINT1_IRQ_LAST; i++)
irq_desc[i].handler = &sysint1_irq_type; irq_desc[i].chip = &sysint1_irq_type;
for (i = SYSINT2_IRQ_BASE; i <= SYSINT2_IRQ_LAST; i++) for (i = SYSINT2_IRQ_BASE; i <= SYSINT2_IRQ_LAST; i++)
irq_desc[i].handler = &sysint2_irq_type; irq_desc[i].chip = &sysint2_irq_type;
cascade_irq(INT0_IRQ, icu_get_irq); cascade_irq(INT0_IRQ, icu_get_irq);
cascade_irq(INT1_IRQ, icu_get_irq); cascade_irq(INT1_IRQ, icu_get_irq);
......
...@@ -73,13 +73,13 @@ static void irq_dispatch(unsigned int irq, struct pt_regs *regs) ...@@ -73,13 +73,13 @@ static void irq_dispatch(unsigned int irq, struct pt_regs *regs)
if (cascade->get_irq != NULL) { if (cascade->get_irq != NULL) {
unsigned int source_irq = irq; unsigned int source_irq = irq;
desc = irq_desc + source_irq; desc = irq_desc + source_irq;
desc->handler->ack(source_irq); desc->chip->ack(source_irq);
irq = cascade->get_irq(irq, regs); irq = cascade->get_irq(irq, regs);
if (irq < 0) if (irq < 0)
atomic_inc(&irq_err_count); atomic_inc(&irq_err_count);
else else
irq_dispatch(irq, regs); irq_dispatch(irq, regs);
desc->handler->end(source_irq); desc->chip->end(source_irq);
} else } else
do_IRQ(irq, regs); do_IRQ(irq, regs);
} }
......
...@@ -483,7 +483,7 @@ static inline int vrc4173_icu_init(int cascade_irq) ...@@ -483,7 +483,7 @@ static inline int vrc4173_icu_init(int cascade_irq)
vr41xx_set_irq_level(GIU_IRQ_TO_PIN(cascade_irq), LEVEL_LOW); vr41xx_set_irq_level(GIU_IRQ_TO_PIN(cascade_irq), LEVEL_LOW);
for (i = VRC4173_IRQ_BASE; i <= VRC4173_IRQ_LAST; i++) for (i = VRC4173_IRQ_BASE; i <= VRC4173_IRQ_LAST; i++)
irq_desc[i].handler = &vrc4173_irq_type; irq_desc[i].chip = &vrc4173_irq_type;
return 0; return 0;
} }
......
...@@ -104,7 +104,7 @@ void __init rockhopper_init_irq(void) ...@@ -104,7 +104,7 @@ void __init rockhopper_init_irq(void)
} }
for (i = I8259_IRQ_BASE; i <= I8259_IRQ_LAST; i++) for (i = I8259_IRQ_BASE; i <= I8259_IRQ_LAST; i++)
irq_desc[i].handler = &i8259_irq_type; irq_desc[i].chip = &i8259_irq_type;
setup_irq(I8259_SLAVE_IRQ, &i8259_slave_cascade); setup_irq(I8259_SLAVE_IRQ, &i8259_slave_cascade);
......
...@@ -158,7 +158,7 @@ int show_interrupts(struct seq_file *p, void *v) ...@@ -158,7 +158,7 @@ int show_interrupts(struct seq_file *p, void *v)
seq_printf(p, "%10u ", kstat_irqs(i)); seq_printf(p, "%10u ", kstat_irqs(i));
#endif #endif
seq_printf(p, " %14s", irq_desc[i].handler->typename); seq_printf(p, " %14s", irq_desc[i].chip->typename);
#ifndef PARISC_IRQ_CR16_COUNTS #ifndef PARISC_IRQ_CR16_COUNTS
seq_printf(p, " %s", action->name); seq_printf(p, " %s", action->name);
...@@ -210,12 +210,12 @@ int cpu_claim_irq(unsigned int irq, struct hw_interrupt_type *type, void *data) ...@@ -210,12 +210,12 @@ int cpu_claim_irq(unsigned int irq, struct hw_interrupt_type *type, void *data)
{ {
if (irq_desc[irq].action) if (irq_desc[irq].action)
return -EBUSY; return -EBUSY;
if (irq_desc[irq].handler != &cpu_interrupt_type) if (irq_desc[irq].chip != &cpu_interrupt_type)
return -EBUSY; return -EBUSY;
if (type) { if (type) {
irq_desc[irq].handler = type; irq_desc[irq].chip = type;
irq_desc[irq].handler_data = data; irq_desc[irq].chip_data = data;
cpu_interrupt_type.enable(irq); cpu_interrupt_type.enable(irq);
} }
return 0; return 0;
...@@ -378,7 +378,7 @@ static void claim_cpu_irqs(void) ...@@ -378,7 +378,7 @@ static void claim_cpu_irqs(void)
{ {
int i; int i;
for (i = CPU_IRQ_BASE; i <= CPU_IRQ_MAX; i++) { for (i = CPU_IRQ_BASE; i <= CPU_IRQ_MAX; i++) {
irq_desc[i].handler = &cpu_interrupt_type; irq_desc[i].chip = &cpu_interrupt_type;
} }
irq_desc[TIMER_IRQ].action = &timer_action; irq_desc[TIMER_IRQ].action = &timer_action;
......
...@@ -193,10 +193,10 @@ void default_machine_crash_shutdown(struct pt_regs *regs) ...@@ -193,10 +193,10 @@ void default_machine_crash_shutdown(struct pt_regs *regs)
struct irq_desc *desc = irq_descp(irq); struct irq_desc *desc = irq_descp(irq);
if (desc->status & IRQ_INPROGRESS) if (desc->status & IRQ_INPROGRESS)
desc->handler->end(irq); desc->chip->end(irq);
if (!(desc->status & IRQ_DISABLED)) if (!(desc->status & IRQ_DISABLED))
desc->handler->disable(irq); desc->chip->disable(irq);
} }
if (ppc_md.kexec_cpu_down) if (ppc_md.kexec_cpu_down)
......
...@@ -120,8 +120,8 @@ int show_interrupts(struct seq_file *p, void *v) ...@@ -120,8 +120,8 @@ int show_interrupts(struct seq_file *p, void *v)
#else #else
seq_printf(p, "%10u ", kstat_irqs(i)); seq_printf(p, "%10u ", kstat_irqs(i));
#endif /* CONFIG_SMP */ #endif /* CONFIG_SMP */
if (desc->handler) if (desc->chip)
seq_printf(p, " %s ", desc->handler->typename); seq_printf(p, " %s ", desc->chip->typename);
else else
seq_puts(p, " None "); seq_puts(p, " None ");
seq_printf(p, "%s", (desc->status & IRQ_LEVEL) ? "Level " : "Edge "); seq_printf(p, "%s", (desc->status & IRQ_LEVEL) ? "Level " : "Edge ");
...@@ -169,8 +169,8 @@ void fixup_irqs(cpumask_t map) ...@@ -169,8 +169,8 @@ void fixup_irqs(cpumask_t map)
printk("Breaking affinity for irq %i\n", irq); printk("Breaking affinity for irq %i\n", irq);
mask = map; mask = map;
} }
if (irq_desc[irq].handler->set_affinity) if (irq_desc[irq].chip->set_affinity)
irq_desc[irq].handler->set_affinity(irq, mask); irq_desc[irq].chip->set_affinity(irq, mask);
else if (irq_desc[irq].action && !(warned++)) else if (irq_desc[irq].action && !(warned++))
printk("Cannot set affinity for irq %i\n", irq); printk("Cannot set affinity for irq %i\n", irq);
} }
......
...@@ -307,7 +307,7 @@ static void iic_request_ipi(int ipi, const char *name) ...@@ -307,7 +307,7 @@ static void iic_request_ipi(int ipi, const char *name)
irq = iic_ipi_to_irq(ipi); irq = iic_ipi_to_irq(ipi);
/* IPIs are marked SA_INTERRUPT as they must run with irqs /* IPIs are marked SA_INTERRUPT as they must run with irqs
* disabled */ * disabled */
get_irq_desc(irq)->handler = &iic_pic; get_irq_desc(irq)->chip = &iic_pic;
get_irq_desc(irq)->status |= IRQ_PER_CPU; get_irq_desc(irq)->status |= IRQ_PER_CPU;
request_irq(irq, iic_ipi_action, SA_INTERRUPT, name, NULL); request_irq(irq, iic_ipi_action, SA_INTERRUPT, name, NULL);
} }
...@@ -330,7 +330,7 @@ static void iic_setup_spe_handlers(void) ...@@ -330,7 +330,7 @@ static void iic_setup_spe_handlers(void)
for (be=0; be < num_present_cpus() / 2; be++) { for (be=0; be < num_present_cpus() / 2; be++) {
for (isrc = 0; isrc < IIC_CLASS_STRIDE * 3; isrc++) { for (isrc = 0; isrc < IIC_CLASS_STRIDE * 3; isrc++) {
int irq = IIC_NODE_STRIDE * be + IIC_SPE_OFFSET + isrc; int irq = IIC_NODE_STRIDE * be + IIC_SPE_OFFSET + isrc;
get_irq_desc(irq)->handler = &iic_pic; get_irq_desc(irq)->chip = &iic_pic;
} }
} }
} }
......
...@@ -162,7 +162,7 @@ void spider_init_IRQ_hardcoded(void) ...@@ -162,7 +162,7 @@ void spider_init_IRQ_hardcoded(void)
spider_pics[node] = ioremap(spiderpic, 0x800); spider_pics[node] = ioremap(spiderpic, 0x800);
for (n = 0; n < IIC_NUM_EXT; n++) { for (n = 0; n < IIC_NUM_EXT; n++) {
int irq = n + IIC_EXT_OFFSET + node * IIC_NODE_STRIDE; int irq = n + IIC_EXT_OFFSET + node * IIC_NODE_STRIDE;
get_irq_desc(irq)->handler = &spider_pic; get_irq_desc(irq)->chip = &spider_pic;
} }
/* do not mask any interrupts because of level */ /* do not mask any interrupts because of level */
...@@ -217,7 +217,7 @@ void spider_init_IRQ(void) ...@@ -217,7 +217,7 @@ void spider_init_IRQ(void)
for (n = 0; n < IIC_NUM_EXT; n++) { for (n = 0; n < IIC_NUM_EXT; n++) {
int irq = n + IIC_EXT_OFFSET + node * IIC_NODE_STRIDE; int irq = n + IIC_EXT_OFFSET + node * IIC_NODE_STRIDE;
get_irq_desc(irq)->handler = &spider_pic; get_irq_desc(irq)->chip = &spider_pic;
} }
/* do not mask any interrupts because of level */ /* do not mask any interrupts because of level */
......
...@@ -242,9 +242,9 @@ void __init iSeries_activate_IRQs() ...@@ -242,9 +242,9 @@ void __init iSeries_activate_IRQs()
for_each_irq (irq) { for_each_irq (irq) {
irq_desc_t *desc = get_irq_desc(irq); irq_desc_t *desc = get_irq_desc(irq);
if (desc && desc->handler && desc->handler->startup) { if (desc && desc->chip && desc->chip->startup) {
spin_lock_irqsave(&desc->lock, flags); spin_lock_irqsave(&desc->lock, flags);
desc->handler->startup(irq); desc->chip->startup(irq);
spin_unlock_irqrestore(&desc->lock, flags); spin_unlock_irqrestore(&desc->lock, flags);
} }
} }
...@@ -324,7 +324,7 @@ int __init iSeries_allocate_IRQ(HvBusNumber bus, ...@@ -324,7 +324,7 @@ int __init iSeries_allocate_IRQ(HvBusNumber bus,
+ function; + function;
virtirq = virt_irq_create_mapping(realirq); virtirq = virt_irq_create_mapping(realirq);
irq_desc[virtirq].handler = &iSeries_IRQ_handler; irq_desc[virtirq].chip = &iSeries_IRQ_handler;
return virtirq; return virtirq;
} }
......
...@@ -446,7 +446,7 @@ static void __init pmac_pic_probe_oldstyle(void) ...@@ -446,7 +446,7 @@ static void __init pmac_pic_probe_oldstyle(void)
/* Set the handler for the main PIC */ /* Set the handler for the main PIC */
for ( i = 0; i < max_real_irqs ; i++ ) for ( i = 0; i < max_real_irqs ; i++ )
irq_desc[i].handler = &pmac_pic; irq_desc[i].chip = &pmac_pic;
/* Get addresses of first controller if we have a node for it */ /* Get addresses of first controller if we have a node for it */
BUG_ON(of_address_to_resource(master, 0, &r)); BUG_ON(of_address_to_resource(master, 0, &r));
...@@ -493,7 +493,7 @@ static void __init pmac_pic_probe_oldstyle(void) ...@@ -493,7 +493,7 @@ static void __init pmac_pic_probe_oldstyle(void)
/* Setup handlers for secondary controller and hook cascade irq*/ /* Setup handlers for secondary controller and hook cascade irq*/
if (slave) { if (slave) {
for ( i = max_real_irqs ; i < max_irqs ; i++ ) for ( i = max_real_irqs ; i < max_irqs ; i++ )
irq_desc[i].handler = &gatwick_pic; irq_desc[i].chip = &gatwick_pic;
setup_irq(irq_cascade, &gatwick_cascade_action); setup_irq(irq_cascade, &gatwick_cascade_action);
} }
printk(KERN_INFO "irq: System has %d possible interrupts\n", max_irqs); printk(KERN_INFO "irq: System has %d possible interrupts\n", max_irqs);
......
...@@ -558,7 +558,7 @@ void xics_init_IRQ(void) ...@@ -558,7 +558,7 @@ void xics_init_IRQ(void)
} }
for (i = irq_offset_value(); i < NR_IRQS; ++i) for (i = irq_offset_value(); i < NR_IRQS; ++i)
get_irq_desc(i)->handler = &xics_pic; get_irq_desc(i)->chip = &xics_pic;
xics_setup_cpu(); xics_setup_cpu();
...@@ -701,9 +701,9 @@ void xics_migrate_irqs_away(void) ...@@ -701,9 +701,9 @@ void xics_migrate_irqs_away(void)
continue; continue;
/* We only need to migrate enabled IRQS */ /* We only need to migrate enabled IRQS */
if (desc == NULL || desc->handler == NULL if (desc == NULL || desc->chip == NULL
|| desc->action == NULL || desc->action == NULL
|| desc->handler->set_affinity == NULL) || desc->chip->set_affinity == NULL)
continue; continue;
spin_lock_irqsave(&desc->lock, flags); spin_lock_irqsave(&desc->lock, flags);
...@@ -728,7 +728,7 @@ void xics_migrate_irqs_away(void) ...@@ -728,7 +728,7 @@ void xics_migrate_irqs_away(void)
virq, cpu); virq, cpu);
/* Reset affinity to all cpus */ /* Reset affinity to all cpus */
desc->handler->set_affinity(virq, CPU_MASK_ALL); desc->chip->set_affinity(virq, CPU_MASK_ALL);
irq_affinity[virq] = CPU_MASK_ALL; irq_affinity[virq] = CPU_MASK_ALL;
unlock: unlock:
spin_unlock_irqrestore(&desc->lock, flags); spin_unlock_irqrestore(&desc->lock, flags);
......
...@@ -208,7 +208,7 @@ void __init i8259_init(unsigned long intack_addr, int offset) ...@@ -208,7 +208,7 @@ void __init i8259_init(unsigned long intack_addr, int offset)
spin_unlock_irqrestore(&i8259_lock, flags); spin_unlock_irqrestore(&i8259_lock, flags);
for (i = 0; i < NUM_ISA_INTERRUPTS; ++i) for (i = 0; i < NUM_ISA_INTERRUPTS; ++i)
irq_desc[offset + i].handler = &i8259_pic; irq_desc[offset + i].chip = &i8259_pic;
/* reserve our resources */ /* reserve our resources */
setup_irq(offset + 2, &i8259_irqaction); setup_irq(offset + 2, &i8259_irqaction);
......
...@@ -472,7 +472,7 @@ void __init ipic_init(phys_addr_t phys_addr, ...@@ -472,7 +472,7 @@ void __init ipic_init(phys_addr_t phys_addr,
ipic_write(primary_ipic->regs, IPIC_SEMSR, temp); ipic_write(primary_ipic->regs, IPIC_SEMSR, temp);
for (i = 0 ; i < NR_IPIC_INTS ; i++) { for (i = 0 ; i < NR_IPIC_INTS ; i++) {
irq_desc[i+irq_offset].handler = &ipic; irq_desc[i+irq_offset].chip = &ipic;
irq_desc[i+irq_offset].status = IRQ_LEVEL; irq_desc[i+irq_offset].status = IRQ_LEVEL;
} }
......
...@@ -379,14 +379,14 @@ static inline u32 mpic_physmask(u32 cpumask) ...@@ -379,14 +379,14 @@ static inline u32 mpic_physmask(u32 cpumask)
/* Get the mpic structure from the IPI number */ /* Get the mpic structure from the IPI number */
static inline struct mpic * mpic_from_ipi(unsigned int ipi) static inline struct mpic * mpic_from_ipi(unsigned int ipi)
{ {
return container_of(irq_desc[ipi].handler, struct mpic, hc_ipi); return container_of(irq_desc[ipi].chip, struct mpic, hc_ipi);
} }
#endif #endif
/* Get the mpic structure from the irq number */ /* Get the mpic structure from the irq number */
static inline struct mpic * mpic_from_irq(unsigned int irq) static inline struct mpic * mpic_from_irq(unsigned int irq)
{ {
return container_of(irq_desc[irq].handler, struct mpic, hc_irq); return container_of(irq_desc[irq].chip, struct mpic, hc_irq);
} }
/* Send an EOI */ /* Send an EOI */
...@@ -752,7 +752,7 @@ void __init mpic_init(struct mpic *mpic) ...@@ -752,7 +752,7 @@ void __init mpic_init(struct mpic *mpic)
if (!(mpic->flags & MPIC_PRIMARY)) if (!(mpic->flags & MPIC_PRIMARY))
continue; continue;
irq_desc[mpic->ipi_offset+i].status |= IRQ_PER_CPU; irq_desc[mpic->ipi_offset+i].status |= IRQ_PER_CPU;
irq_desc[mpic->ipi_offset+i].handler = &mpic->hc_ipi; irq_desc[mpic->ipi_offset+i].chip = &mpic->hc_ipi;
#endif /* CONFIG_SMP */ #endif /* CONFIG_SMP */
} }
...@@ -813,7 +813,7 @@ void __init mpic_init(struct mpic *mpic) ...@@ -813,7 +813,7 @@ void __init mpic_init(struct mpic *mpic)
/* init linux descriptors */ /* init linux descriptors */
if (i < mpic->irq_count) { if (i < mpic->irq_count) {
irq_desc[mpic->irq_offset+i].status = level ? IRQ_LEVEL : 0; irq_desc[mpic->irq_offset+i].status = level ? IRQ_LEVEL : 0;
irq_desc[mpic->irq_offset+i].handler = &mpic->hc_irq; irq_desc[mpic->irq_offset+i].chip = &mpic->hc_irq;
} }
} }
......
...@@ -187,7 +187,7 @@ cpm_interrupt_init(void) ...@@ -187,7 +187,7 @@ cpm_interrupt_init(void)
* interrupt vectors * interrupt vectors
*/ */
for ( i = CPM_IRQ_OFFSET ; i < CPM_IRQ_OFFSET + NR_CPM_INTS ; i++ ) for ( i = CPM_IRQ_OFFSET ; i < CPM_IRQ_OFFSET + NR_CPM_INTS ; i++ )
irq_desc[i].handler = &cpm_pic; irq_desc[i].chip = &cpm_pic;
/* Set our interrupt handler with the core CPU. */ /* Set our interrupt handler with the core CPU. */
if (setup_irq(CPM_INTERRUPT, &cpm_interrupt_irqaction)) if (setup_irq(CPM_INTERRUPT, &cpm_interrupt_irqaction))
......
...@@ -734,9 +734,9 @@ void apus_init_IRQ(void) ...@@ -734,9 +734,9 @@ void apus_init_IRQ(void)
for ( i = 0 ; i < AMI_IRQS; i++ ) { for ( i = 0 ; i < AMI_IRQS; i++ ) {
irq_desc[i].status = IRQ_LEVEL; irq_desc[i].status = IRQ_LEVEL;
if (i < IRQ_AMIGA_AUTO) { if (i < IRQ_AMIGA_AUTO) {
irq_desc[i].handler = &amiga_irqctrl; irq_desc[i].chip = &amiga_irqctrl;
} else { } else {
irq_desc[i].handler = &amiga_sys_irqctrl; irq_desc[i].chip = &amiga_sys_irqctrl;
action = &amiga_sys_irqaction[i-IRQ_AMIGA_AUTO]; action = &amiga_sys_irqaction[i-IRQ_AMIGA_AUTO];
if (action->name) if (action->name)
setup_irq(i, action); setup_irq(i, action);
......
...@@ -172,7 +172,7 @@ void __init sbc82xx_init_IRQ(void) ...@@ -172,7 +172,7 @@ void __init sbc82xx_init_IRQ(void)
/* Set up the interrupt handlers for the i8259 IRQs */ /* Set up the interrupt handlers for the i8259 IRQs */
for (i = NR_SIU_INTS; i < NR_SIU_INTS + 8; i++) { for (i = NR_SIU_INTS; i < NR_SIU_INTS + 8; i++) {
irq_desc[i].handler = &sbc82xx_i8259_ic; irq_desc[i].chip = &sbc82xx_i8259_ic;
irq_desc[i].status |= IRQ_LEVEL; irq_desc[i].status |= IRQ_LEVEL;
} }
......
...@@ -140,12 +140,12 @@ cpc700_init_IRQ(void) ...@@ -140,12 +140,12 @@ cpc700_init_IRQ(void)
/* IRQ 0 is highest */ /* IRQ 0 is highest */
for (i = 0; i < 17; i++) { for (i = 0; i < 17; i++) {
irq_desc[i].handler = &cpc700_pic; irq_desc[i].chip = &cpc700_pic;
cpc700_pic_init_irq(i); cpc700_pic_init_irq(i);
} }
for (i = 20; i < 32; i++) { for (i = 20; i < 32; i++) {
irq_desc[i].handler = &cpc700_pic; irq_desc[i].chip = &cpc700_pic;
cpc700_pic_init_irq(i); cpc700_pic_init_irq(i);
} }
......
...@@ -171,7 +171,7 @@ void cpm2_init_IRQ(void) ...@@ -171,7 +171,7 @@ void cpm2_init_IRQ(void)
/* Enable chaining to OpenPIC, and make everything level /* Enable chaining to OpenPIC, and make everything level
*/ */
for (i = 0; i < NR_CPM_INTS; i++) { for (i = 0; i < NR_CPM_INTS; i++) {
irq_desc[i+CPM_IRQ_OFFSET].handler = &cpm2_pic; irq_desc[i+CPM_IRQ_OFFSET].chip = &cpm2_pic;
irq_desc[i+CPM_IRQ_OFFSET].status |= IRQ_LEVEL; irq_desc[i+CPM_IRQ_OFFSET].status |= IRQ_LEVEL;
} }
} }
...@@ -98,7 +98,7 @@ gt64260_init_irq(void) ...@@ -98,7 +98,7 @@ gt64260_init_irq(void)
/* use the gt64260 for all (possible) interrupt sources */ /* use the gt64260 for all (possible) interrupt sources */
for (i = gt64260_irq_base; i < (gt64260_irq_base + 96); i++) for (i = gt64260_irq_base; i < (gt64260_irq_base + 96); i++)
irq_desc[i].handler = &gt64260_pic; irq_desc[i].chip = &gt64260_pic;
if (ppc_md.progress) if (ppc_md.progress)
ppc_md.progress("gt64260_init_irq: exit", 0x0); ppc_md.progress("gt64260_init_irq: exit", 0x0);
......
...@@ -159,7 +159,7 @@ pq2pci_init_irq(void) ...@@ -159,7 +159,7 @@ pq2pci_init_irq(void)
immap->im_memctl.memc_or8 = 0xffff8010; immap->im_memctl.memc_or8 = 0xffff8010;
#endif #endif
for (irq = NR_CPM_INTS; irq < NR_CPM_INTS + 4; irq++) for (irq = NR_CPM_INTS; irq < NR_CPM_INTS + 4; irq++)
irq_desc[irq].handler = &pq2pci_ic; irq_desc[irq].chip = &pq2pci_ic;
/* make PCI IRQ level sensitive */ /* make PCI IRQ level sensitive */
immap->im_intctl.ic_siexr &= immap->im_intctl.ic_siexr &=
......
...@@ -347,13 +347,13 @@ m8xx_init_IRQ(void) ...@@ -347,13 +347,13 @@ m8xx_init_IRQ(void)
int i; int i;
for (i = SIU_IRQ_OFFSET ; i < SIU_IRQ_OFFSET + NR_SIU_INTS ; i++) for (i = SIU_IRQ_OFFSET ; i < SIU_IRQ_OFFSET + NR_SIU_INTS ; i++)
irq_desc[i].handler = &ppc8xx_pic; irq_desc[i].chip = &ppc8xx_pic;
cpm_interrupt_init(); cpm_interrupt_init();
#if defined(CONFIG_PCI) #if defined(CONFIG_PCI)
for (i = I8259_IRQ_OFFSET ; i < I8259_IRQ_OFFSET + NR_8259_INTS ; i++) for (i = I8259_IRQ_OFFSET ; i < I8259_IRQ_OFFSET + NR_8259_INTS ; i++)
irq_desc[i].handler = &i8259_pic; irq_desc[i].chip = &i8259_pic;
i8259_pic_irq_offset = I8259_IRQ_OFFSET; i8259_pic_irq_offset = I8259_IRQ_OFFSET;
i8259_init(0); i8259_init(0);
......
...@@ -204,9 +204,9 @@ mpc52xx_init_irq(void) ...@@ -204,9 +204,9 @@ mpc52xx_init_irq(void)
out_be32(&intr->main_pri1, 0); out_be32(&intr->main_pri1, 0);
out_be32(&intr->main_pri2, 0); out_be32(&intr->main_pri2, 0);
/* Initialize irq_desc[i].handler's with mpc52xx_ic. */ /* Initialize irq_desc[i].chip's with mpc52xx_ic. */
for (i = 0; i < NR_IRQS; i++) { for (i = 0; i < NR_IRQS; i++) {
irq_desc[i].handler = &mpc52xx_ic; irq_desc[i].chip = &mpc52xx_ic;
irq_desc[i].status = IRQ_LEVEL; irq_desc[i].status = IRQ_LEVEL;
} }
......
...@@ -119,7 +119,7 @@ mv64360_init_irq(void) ...@@ -119,7 +119,7 @@ mv64360_init_irq(void)
/* All interrupts are level interrupts */ /* All interrupts are level interrupts */
for (i = mv64360_irq_base; i < (mv64360_irq_base + 96); i++) { for (i = mv64360_irq_base; i < (mv64360_irq_base + 96); i++) {
irq_desc[i].status |= IRQ_LEVEL; irq_desc[i].status |= IRQ_LEVEL;
irq_desc[i].handler = &mv64360_pic; irq_desc[i].chip = &mv64360_pic;
} }
if (ppc_md.progress) if (ppc_md.progress)
......
...@@ -373,7 +373,7 @@ void __init openpic_init(int offset) ...@@ -373,7 +373,7 @@ void __init openpic_init(int offset)
OPENPIC_VEC_IPI+i+offset); OPENPIC_VEC_IPI+i+offset);
/* IPIs are per-CPU */ /* IPIs are per-CPU */
irq_desc[OPENPIC_VEC_IPI+i+offset].status |= IRQ_PER_CPU; irq_desc[OPENPIC_VEC_IPI+i+offset].status |= IRQ_PER_CPU;
irq_desc[OPENPIC_VEC_IPI+i+offset].handler = &open_pic_ipi; irq_desc[OPENPIC_VEC_IPI+i+offset].chip = &open_pic_ipi;
} }
#endif #endif
...@@ -408,7 +408,7 @@ void __init openpic_init(int offset) ...@@ -408,7 +408,7 @@ void __init openpic_init(int offset)
/* Init descriptors */ /* Init descriptors */
for (i = offset; i < NumSources + offset; i++) for (i = offset; i < NumSources + offset; i++)
irq_desc[i].handler = &open_pic; irq_desc[i].chip = &open_pic;
/* Initialize the spurious interrupt */ /* Initialize the spurious interrupt */
if (ppc_md.progress) ppc_md.progress("openpic: spurious",0x3bd); if (ppc_md.progress) ppc_md.progress("openpic: spurious",0x3bd);
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册