diff options
Diffstat (limited to 'arch')
97 files changed, 140 insertions, 175 deletions
diff --git a/arch/alpha/kernel/irq.c b/arch/alpha/kernel/irq.c index 2804648c8ff4..2d6efcff3bf3 100644 --- a/arch/alpha/kernel/irq.c +++ b/arch/alpha/kernel/irq.c | |||
@@ -117,6 +117,6 @@ handle_irq(int irq) | |||
117 | } | 117 | } |
118 | 118 | ||
119 | irq_enter(); | 119 | irq_enter(); |
120 | generic_handle_irq_desc(irq, desc); | 120 | generic_handle_irq_desc(desc); |
121 | irq_exit(); | 121 | irq_exit(); |
122 | } | 122 | } |
diff --git a/arch/arc/kernel/mcip.c b/arch/arc/kernel/mcip.c index d9e44b62df05..4ffd1855f1bd 100644 --- a/arch/arc/kernel/mcip.c +++ b/arch/arc/kernel/mcip.c | |||
@@ -252,7 +252,7 @@ static struct irq_chip idu_irq_chip = { | |||
252 | 252 | ||
253 | static int idu_first_irq; | 253 | static int idu_first_irq; |
254 | 254 | ||
255 | static void idu_cascade_isr(unsigned int __core_irq, struct irq_desc *desc) | 255 | static void idu_cascade_isr(struct irq_desc *desc) |
256 | { | 256 | { |
257 | struct irq_domain *domain = irq_desc_get_handler_data(desc); | 257 | struct irq_domain *domain = irq_desc_get_handler_data(desc); |
258 | unsigned int core_irq = irq_desc_get_irq(desc); | 258 | unsigned int core_irq = irq_desc_get_irq(desc); |
diff --git a/arch/arm/common/it8152.c b/arch/arm/common/it8152.c index 96dabcb6c621..996aed3b4eee 100644 --- a/arch/arm/common/it8152.c +++ b/arch/arm/common/it8152.c | |||
@@ -95,7 +95,7 @@ void it8152_init_irq(void) | |||
95 | } | 95 | } |
96 | } | 96 | } |
97 | 97 | ||
98 | void it8152_irq_demux(unsigned int irq, struct irq_desc *desc) | 98 | void it8152_irq_demux(struct irq_desc *desc) |
99 | { | 99 | { |
100 | int bits_pd, bits_lp, bits_ld; | 100 | int bits_pd, bits_lp, bits_ld; |
101 | int i; | 101 | int i; |
diff --git a/arch/arm/common/locomo.c b/arch/arm/common/locomo.c index 304adea4bc52..0e97b4b871f9 100644 --- a/arch/arm/common/locomo.c +++ b/arch/arm/common/locomo.c | |||
@@ -138,7 +138,7 @@ static struct locomo_dev_info locomo_devices[] = { | |||
138 | }, | 138 | }, |
139 | }; | 139 | }; |
140 | 140 | ||
141 | static void locomo_handler(unsigned int __irq, struct irq_desc *desc) | 141 | static void locomo_handler(struct irq_desc *desc) |
142 | { | 142 | { |
143 | struct locomo *lchip = irq_desc_get_chip_data(desc); | 143 | struct locomo *lchip = irq_desc_get_chip_data(desc); |
144 | int req, i; | 144 | int req, i; |
diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c index 4f290250fa93..3d224941b541 100644 --- a/arch/arm/common/sa1111.c +++ b/arch/arm/common/sa1111.c | |||
@@ -196,10 +196,8 @@ static struct sa1111_dev_info sa1111_devices[] = { | |||
196 | * active IRQs causes the interrupt output to pulse, the upper levels | 196 | * active IRQs causes the interrupt output to pulse, the upper levels |
197 | * will call us again if there are more interrupts to process. | 197 | * will call us again if there are more interrupts to process. |
198 | */ | 198 | */ |
199 | static void | 199 | static void sa1111_irq_handler(struct irq_desc *desc) |
200 | sa1111_irq_handler(unsigned int __irq, struct irq_desc *desc) | ||
201 | { | 200 | { |
202 | unsigned int irq = irq_desc_get_irq(desc); | ||
203 | unsigned int stat0, stat1, i; | 201 | unsigned int stat0, stat1, i; |
204 | struct sa1111 *sachip = irq_desc_get_handler_data(desc); | 202 | struct sa1111 *sachip = irq_desc_get_handler_data(desc); |
205 | void __iomem *mapbase = sachip->base + SA1111_INTC; | 203 | void __iomem *mapbase = sachip->base + SA1111_INTC; |
@@ -214,7 +212,7 @@ sa1111_irq_handler(unsigned int __irq, struct irq_desc *desc) | |||
214 | sa1111_writel(stat1, mapbase + SA1111_INTSTATCLR1); | 212 | sa1111_writel(stat1, mapbase + SA1111_INTSTATCLR1); |
215 | 213 | ||
216 | if (stat0 == 0 && stat1 == 0) { | 214 | if (stat0 == 0 && stat1 == 0) { |
217 | do_bad_IRQ(irq, desc); | 215 | do_bad_IRQ(desc); |
218 | return; | 216 | return; |
219 | } | 217 | } |
220 | 218 | ||
diff --git a/arch/arm/include/asm/hardware/it8152.h b/arch/arm/include/asm/hardware/it8152.h index d36a73d7c0e8..076777ff3daa 100644 --- a/arch/arm/include/asm/hardware/it8152.h +++ b/arch/arm/include/asm/hardware/it8152.h | |||
@@ -106,7 +106,7 @@ extern void __iomem *it8152_base_address; | |||
106 | struct pci_dev; | 106 | struct pci_dev; |
107 | struct pci_sys_data; | 107 | struct pci_sys_data; |
108 | 108 | ||
109 | extern void it8152_irq_demux(unsigned int irq, struct irq_desc *desc); | 109 | extern void it8152_irq_demux(struct irq_desc *desc); |
110 | extern void it8152_init_irq(void); | 110 | extern void it8152_init_irq(void); |
111 | extern int it8152_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin); | 111 | extern int it8152_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin); |
112 | extern int it8152_pci_setup(int nr, struct pci_sys_data *sys); | 112 | extern int it8152_pci_setup(int nr, struct pci_sys_data *sys); |
diff --git a/arch/arm/include/asm/mach/irq.h b/arch/arm/include/asm/mach/irq.h index 2092ee1e1300..de4634b51456 100644 --- a/arch/arm/include/asm/mach/irq.h +++ b/arch/arm/include/asm/mach/irq.h | |||
@@ -23,10 +23,10 @@ extern int show_fiq_list(struct seq_file *, int); | |||
23 | /* | 23 | /* |
24 | * This is for easy migration, but should be changed in the source | 24 | * This is for easy migration, but should be changed in the source |
25 | */ | 25 | */ |
26 | #define do_bad_IRQ(irq,desc) \ | 26 | #define do_bad_IRQ(desc) \ |
27 | do { \ | 27 | do { \ |
28 | raw_spin_lock(&desc->lock); \ | 28 | raw_spin_lock(&desc->lock); \ |
29 | handle_bad_irq(irq, desc); \ | 29 | handle_bad_irq(desc); \ |
30 | raw_spin_unlock(&desc->lock); \ | 30 | raw_spin_unlock(&desc->lock); \ |
31 | } while(0) | 31 | } while(0) |
32 | 32 | ||
diff --git a/arch/arm/mach-dove/irq.c b/arch/arm/mach-dove/irq.c index 305d7c6242bb..bfb3703357c5 100644 --- a/arch/arm/mach-dove/irq.c +++ b/arch/arm/mach-dove/irq.c | |||
@@ -69,14 +69,14 @@ static struct irq_chip pmu_irq_chip = { | |||
69 | .irq_ack = pmu_irq_ack, | 69 | .irq_ack = pmu_irq_ack, |
70 | }; | 70 | }; |
71 | 71 | ||
72 | static void pmu_irq_handler(unsigned int __irq, struct irq_desc *desc) | 72 | static void pmu_irq_handler(struct irq_desc *desc) |
73 | { | 73 | { |
74 | unsigned int irq = irq_desc_get_irq(desc); | ||
75 | unsigned long cause = readl(PMU_INTERRUPT_CAUSE); | 74 | unsigned long cause = readl(PMU_INTERRUPT_CAUSE); |
75 | unsigned int irq; | ||
76 | 76 | ||
77 | cause &= readl(PMU_INTERRUPT_MASK); | 77 | cause &= readl(PMU_INTERRUPT_MASK); |
78 | if (cause == 0) { | 78 | if (cause == 0) { |
79 | do_bad_IRQ(irq, desc); | 79 | do_bad_IRQ(desc); |
80 | return; | 80 | return; |
81 | } | 81 | } |
82 | 82 | ||
diff --git a/arch/arm/mach-footbridge/isa-irq.c b/arch/arm/mach-footbridge/isa-irq.c index fcd79bc3a3e1..c01fca11b224 100644 --- a/arch/arm/mach-footbridge/isa-irq.c +++ b/arch/arm/mach-footbridge/isa-irq.c | |||
@@ -87,13 +87,12 @@ static struct irq_chip isa_hi_chip = { | |||
87 | .irq_unmask = isa_unmask_pic_hi_irq, | 87 | .irq_unmask = isa_unmask_pic_hi_irq, |
88 | }; | 88 | }; |
89 | 89 | ||
90 | static void | 90 | static void isa_irq_handler(struct irq_desc *desc) |
91 | isa_irq_handler(unsigned int irq, struct irq_desc *desc) | ||
92 | { | 91 | { |
93 | unsigned int isa_irq = *(unsigned char *)PCIIACK_BASE; | 92 | unsigned int isa_irq = *(unsigned char *)PCIIACK_BASE; |
94 | 93 | ||
95 | if (isa_irq < _ISA_IRQ(0) || isa_irq >= _ISA_IRQ(16)) { | 94 | if (isa_irq < _ISA_IRQ(0) || isa_irq >= _ISA_IRQ(16)) { |
96 | do_bad_IRQ(isa_irq, desc); | 95 | do_bad_IRQ(desc); |
97 | return; | 96 | return; |
98 | } | 97 | } |
99 | 98 | ||
diff --git a/arch/arm/mach-gemini/gpio.c b/arch/arm/mach-gemini/gpio.c index 220333ed741d..2478d9f4d92d 100644 --- a/arch/arm/mach-gemini/gpio.c +++ b/arch/arm/mach-gemini/gpio.c | |||
@@ -126,7 +126,7 @@ static int gpio_set_irq_type(struct irq_data *d, unsigned int type) | |||
126 | return 0; | 126 | return 0; |
127 | } | 127 | } |
128 | 128 | ||
129 | static void gpio_irq_handler(unsigned int irq, struct irq_desc *desc) | 129 | static void gpio_irq_handler(struct irq_desc *desc) |
130 | { | 130 | { |
131 | unsigned int port = (unsigned int)irq_desc_get_handler_data(desc); | 131 | unsigned int port = (unsigned int)irq_desc_get_handler_data(desc); |
132 | unsigned int gpio_irq_no, irq_stat; | 132 | unsigned int gpio_irq_no, irq_stat; |
diff --git a/arch/arm/mach-imx/3ds_debugboard.c b/arch/arm/mach-imx/3ds_debugboard.c index 45903be6e7b3..16496a071ecb 100644 --- a/arch/arm/mach-imx/3ds_debugboard.c +++ b/arch/arm/mach-imx/3ds_debugboard.c | |||
@@ -85,7 +85,7 @@ static struct platform_device smsc_lan9217_device = { | |||
85 | .resource = smsc911x_resources, | 85 | .resource = smsc911x_resources, |
86 | }; | 86 | }; |
87 | 87 | ||
88 | static void mxc_expio_irq_handler(u32 irq, struct irq_desc *desc) | 88 | static void mxc_expio_irq_handler(struct irq_desc *desc) |
89 | { | 89 | { |
90 | u32 imr_val; | 90 | u32 imr_val; |
91 | u32 int_valid; | 91 | u32 int_valid; |
diff --git a/arch/arm/mach-imx/mach-mx31ads.c b/arch/arm/mach-imx/mach-mx31ads.c index 2c0853560bd2..2b147e4bf9c9 100644 --- a/arch/arm/mach-imx/mach-mx31ads.c +++ b/arch/arm/mach-imx/mach-mx31ads.c | |||
@@ -154,7 +154,7 @@ static inline void mxc_init_imx_uart(void) | |||
154 | imx31_add_imx_uart0(&uart_pdata); | 154 | imx31_add_imx_uart0(&uart_pdata); |
155 | } | 155 | } |
156 | 156 | ||
157 | static void mx31ads_expio_irq_handler(u32 irq, struct irq_desc *desc) | 157 | static void mx31ads_expio_irq_handler(struct irq_desc *desc) |
158 | { | 158 | { |
159 | u32 imr_val; | 159 | u32 imr_val; |
160 | u32 int_valid; | 160 | u32 int_valid; |
diff --git a/arch/arm/mach-iop13xx/msi.c b/arch/arm/mach-iop13xx/msi.c index 9f89e76dfbb9..f6235b28578c 100644 --- a/arch/arm/mach-iop13xx/msi.c +++ b/arch/arm/mach-iop13xx/msi.c | |||
@@ -91,7 +91,7 @@ static void (*write_imipr[])(u32) = { | |||
91 | write_imipr_3, | 91 | write_imipr_3, |
92 | }; | 92 | }; |
93 | 93 | ||
94 | static void iop13xx_msi_handler(unsigned int irq, struct irq_desc *desc) | 94 | static void iop13xx_msi_handler(struct irq_desc *desc) |
95 | { | 95 | { |
96 | int i, j; | 96 | int i, j; |
97 | unsigned long status; | 97 | unsigned long status; |
diff --git a/arch/arm/mach-lpc32xx/irq.c b/arch/arm/mach-lpc32xx/irq.c index cce4cef12b6e..2ae431e8bc1b 100644 --- a/arch/arm/mach-lpc32xx/irq.c +++ b/arch/arm/mach-lpc32xx/irq.c | |||
@@ -370,7 +370,7 @@ static struct irq_chip lpc32xx_irq_chip = { | |||
370 | .irq_set_wake = lpc32xx_irq_wake | 370 | .irq_set_wake = lpc32xx_irq_wake |
371 | }; | 371 | }; |
372 | 372 | ||
373 | static void lpc32xx_sic1_handler(unsigned int irq, struct irq_desc *desc) | 373 | static void lpc32xx_sic1_handler(struct irq_desc *desc) |
374 | { | 374 | { |
375 | unsigned long ints = __raw_readl(LPC32XX_INTC_STAT(LPC32XX_SIC1_BASE)); | 375 | unsigned long ints = __raw_readl(LPC32XX_INTC_STAT(LPC32XX_SIC1_BASE)); |
376 | 376 | ||
@@ -383,7 +383,7 @@ static void lpc32xx_sic1_handler(unsigned int irq, struct irq_desc *desc) | |||
383 | } | 383 | } |
384 | } | 384 | } |
385 | 385 | ||
386 | static void lpc32xx_sic2_handler(unsigned int irq, struct irq_desc *desc) | 386 | static void lpc32xx_sic2_handler(struct irq_desc *desc) |
387 | { | 387 | { |
388 | unsigned long ints = __raw_readl(LPC32XX_INTC_STAT(LPC32XX_SIC2_BASE)); | 388 | unsigned long ints = __raw_readl(LPC32XX_INTC_STAT(LPC32XX_SIC2_BASE)); |
389 | 389 | ||
diff --git a/arch/arm/mach-netx/generic.c b/arch/arm/mach-netx/generic.c index 6373e2bff203..842302df99c1 100644 --- a/arch/arm/mach-netx/generic.c +++ b/arch/arm/mach-netx/generic.c | |||
@@ -69,8 +69,7 @@ static struct platform_device *devices[] __initdata = { | |||
69 | #define DEBUG_IRQ(fmt...) while (0) {} | 69 | #define DEBUG_IRQ(fmt...) while (0) {} |
70 | #endif | 70 | #endif |
71 | 71 | ||
72 | static void | 72 | static void netx_hif_demux_handler(struct irq_desc *desc) |
73 | netx_hif_demux_handler(unsigned int irq_unused, struct irq_desc *desc) | ||
74 | { | 73 | { |
75 | unsigned int irq = NETX_IRQ_HIF_CHAINED(0); | 74 | unsigned int irq = NETX_IRQ_HIF_CHAINED(0); |
76 | unsigned int stat; | 75 | unsigned int stat; |
diff --git a/arch/arm/mach-omap1/fpga.c b/arch/arm/mach-omap1/fpga.c index dfec671b1639..39e20d0ead08 100644 --- a/arch/arm/mach-omap1/fpga.c +++ b/arch/arm/mach-omap1/fpga.c | |||
@@ -87,7 +87,7 @@ static void fpga_mask_ack_irq(struct irq_data *d) | |||
87 | fpga_ack_irq(d); | 87 | fpga_ack_irq(d); |
88 | } | 88 | } |
89 | 89 | ||
90 | static void innovator_fpga_IRQ_demux(unsigned int irq, struct irq_desc *desc) | 90 | static void innovator_fpga_IRQ_demux(struct irq_desc *desc) |
91 | { | 91 | { |
92 | u32 stat; | 92 | u32 stat; |
93 | int fpga_irq; | 93 | int fpga_irq; |
diff --git a/arch/arm/mach-omap2/prm_common.c b/arch/arm/mach-omap2/prm_common.c index 257e98c26618..3fc2cbe52113 100644 --- a/arch/arm/mach-omap2/prm_common.c +++ b/arch/arm/mach-omap2/prm_common.c | |||
@@ -102,7 +102,7 @@ static void omap_prcm_events_filter_priority(unsigned long *events, | |||
102 | * dispatched accordingly. Clearing of the wakeup events should be | 102 | * dispatched accordingly. Clearing of the wakeup events should be |
103 | * done by the SoC specific individual handlers. | 103 | * done by the SoC specific individual handlers. |
104 | */ | 104 | */ |
105 | static void omap_prcm_irq_handler(unsigned int irq, struct irq_desc *desc) | 105 | static void omap_prcm_irq_handler(struct irq_desc *desc) |
106 | { | 106 | { |
107 | unsigned long pending[OMAP_PRCM_MAX_NR_PENDING_REG]; | 107 | unsigned long pending[OMAP_PRCM_MAX_NR_PENDING_REG]; |
108 | unsigned long priority_pending[OMAP_PRCM_MAX_NR_PENDING_REG]; | 108 | unsigned long priority_pending[OMAP_PRCM_MAX_NR_PENDING_REG]; |
diff --git a/arch/arm/mach-pxa/balloon3.c b/arch/arm/mach-pxa/balloon3.c index 70366b35d299..a3ebb517cca1 100644 --- a/arch/arm/mach-pxa/balloon3.c +++ b/arch/arm/mach-pxa/balloon3.c | |||
@@ -496,7 +496,7 @@ static struct irq_chip balloon3_irq_chip = { | |||
496 | .irq_unmask = balloon3_unmask_irq, | 496 | .irq_unmask = balloon3_unmask_irq, |
497 | }; | 497 | }; |
498 | 498 | ||
499 | static void balloon3_irq_handler(unsigned int __irq, struct irq_desc *desc) | 499 | static void balloon3_irq_handler(struct irq_desc *desc) |
500 | { | 500 | { |
501 | unsigned long pending = __raw_readl(BALLOON3_INT_CONTROL_REG) & | 501 | unsigned long pending = __raw_readl(BALLOON3_INT_CONTROL_REG) & |
502 | balloon3_irq_enabled; | 502 | balloon3_irq_enabled; |
diff --git a/arch/arm/mach-pxa/cm-x2xx-pci.c b/arch/arm/mach-pxa/cm-x2xx-pci.c index 1fa79f1f832d..3221ae15bef7 100644 --- a/arch/arm/mach-pxa/cm-x2xx-pci.c +++ b/arch/arm/mach-pxa/cm-x2xx-pci.c | |||
@@ -29,13 +29,12 @@ | |||
29 | void __iomem *it8152_base_address; | 29 | void __iomem *it8152_base_address; |
30 | static int cmx2xx_it8152_irq_gpio; | 30 | static int cmx2xx_it8152_irq_gpio; |
31 | 31 | ||
32 | static void cmx2xx_it8152_irq_demux(unsigned int __irq, struct irq_desc *desc) | 32 | static void cmx2xx_it8152_irq_demux(struct irq_desc *desc) |
33 | { | 33 | { |
34 | unsigned int irq = irq_desc_get_irq(desc); | ||
35 | /* clear our parent irq */ | 34 | /* clear our parent irq */ |
36 | desc->irq_data.chip->irq_ack(&desc->irq_data); | 35 | desc->irq_data.chip->irq_ack(&desc->irq_data); |
37 | 36 | ||
38 | it8152_irq_demux(irq, desc); | 37 | it8152_irq_demux(desc); |
39 | } | 38 | } |
40 | 39 | ||
41 | void __cmx2xx_pci_init_irq(int irq_gpio) | 40 | void __cmx2xx_pci_init_irq(int irq_gpio) |
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c index b070167deef2..4823d972e647 100644 --- a/arch/arm/mach-pxa/lpd270.c +++ b/arch/arm/mach-pxa/lpd270.c | |||
@@ -120,7 +120,7 @@ static struct irq_chip lpd270_irq_chip = { | |||
120 | .irq_unmask = lpd270_unmask_irq, | 120 | .irq_unmask = lpd270_unmask_irq, |
121 | }; | 121 | }; |
122 | 122 | ||
123 | static void lpd270_irq_handler(unsigned int __irq, struct irq_desc *desc) | 123 | static void lpd270_irq_handler(struct irq_desc *desc) |
124 | { | 124 | { |
125 | unsigned int irq; | 125 | unsigned int irq; |
126 | unsigned long pending; | 126 | unsigned long pending; |
diff --git a/arch/arm/mach-pxa/pcm990-baseboard.c b/arch/arm/mach-pxa/pcm990-baseboard.c index 9a0c8affdadb..d8319b54299a 100644 --- a/arch/arm/mach-pxa/pcm990-baseboard.c +++ b/arch/arm/mach-pxa/pcm990-baseboard.c | |||
@@ -284,7 +284,7 @@ static struct irq_chip pcm990_irq_chip = { | |||
284 | .irq_unmask = pcm990_unmask_irq, | 284 | .irq_unmask = pcm990_unmask_irq, |
285 | }; | 285 | }; |
286 | 286 | ||
287 | static void pcm990_irq_handler(unsigned int __irq, struct irq_desc *desc) | 287 | static void pcm990_irq_handler(struct irq_desc *desc) |
288 | { | 288 | { |
289 | unsigned int irq; | 289 | unsigned int irq; |
290 | unsigned long pending; | 290 | unsigned long pending; |
diff --git a/arch/arm/mach-pxa/viper.c b/arch/arm/mach-pxa/viper.c index 4841d6cefe76..8ab26370107e 100644 --- a/arch/arm/mach-pxa/viper.c +++ b/arch/arm/mach-pxa/viper.c | |||
@@ -276,7 +276,7 @@ static inline unsigned long viper_irq_pending(void) | |||
276 | viper_irq_enabled_mask; | 276 | viper_irq_enabled_mask; |
277 | } | 277 | } |
278 | 278 | ||
279 | static void viper_irq_handler(unsigned int __irq, struct irq_desc *desc) | 279 | static void viper_irq_handler(struct irq_desc *desc) |
280 | { | 280 | { |
281 | unsigned int irq; | 281 | unsigned int irq; |
282 | unsigned long pending; | 282 | unsigned long pending; |
diff --git a/arch/arm/mach-pxa/zeus.c b/arch/arm/mach-pxa/zeus.c index 6f94dd7b4dee..30e62a3f0701 100644 --- a/arch/arm/mach-pxa/zeus.c +++ b/arch/arm/mach-pxa/zeus.c | |||
@@ -105,7 +105,7 @@ static inline unsigned long zeus_irq_pending(void) | |||
105 | return __raw_readw(ZEUS_CPLD_ISA_IRQ) & zeus_irq_enabled_mask; | 105 | return __raw_readw(ZEUS_CPLD_ISA_IRQ) & zeus_irq_enabled_mask; |
106 | } | 106 | } |
107 | 107 | ||
108 | static void zeus_irq_handler(unsigned int __irq, struct irq_desc *desc) | 108 | static void zeus_irq_handler(struct irq_desc *desc) |
109 | { | 109 | { |
110 | unsigned int irq; | 110 | unsigned int irq; |
111 | unsigned long pending; | 111 | unsigned long pending; |
diff --git a/arch/arm/mach-rpc/ecard.c b/arch/arm/mach-rpc/ecard.c index f726d4c4e6dd..dc67a7fb3831 100644 --- a/arch/arm/mach-rpc/ecard.c +++ b/arch/arm/mach-rpc/ecard.c | |||
@@ -551,8 +551,7 @@ static void ecard_check_lockup(struct irq_desc *desc) | |||
551 | } | 551 | } |
552 | } | 552 | } |
553 | 553 | ||
554 | static void | 554 | static void ecard_irq_handler(struct irq_desc *desc) |
555 | ecard_irq_handler(unsigned int irq, struct irq_desc *desc) | ||
556 | { | 555 | { |
557 | ecard_t *ec; | 556 | ecard_t *ec; |
558 | int called = 0; | 557 | int called = 0; |
diff --git a/arch/arm/mach-s3c24xx/bast-irq.c b/arch/arm/mach-s3c24xx/bast-irq.c index ced1ab86ac83..2bb08961e934 100644 --- a/arch/arm/mach-s3c24xx/bast-irq.c +++ b/arch/arm/mach-s3c24xx/bast-irq.c | |||
@@ -100,9 +100,7 @@ static struct irq_chip bast_pc104_chip = { | |||
100 | .irq_ack = bast_pc104_maskack | 100 | .irq_ack = bast_pc104_maskack |
101 | }; | 101 | }; |
102 | 102 | ||
103 | static void | 103 | static void bast_irq_pc104_demux(struct irq_desc *desc) |
104 | bast_irq_pc104_demux(unsigned int irq, | ||
105 | struct irq_desc *desc) | ||
106 | { | 104 | { |
107 | unsigned int stat; | 105 | unsigned int stat; |
108 | unsigned int irqno; | 106 | unsigned int irqno; |
diff --git a/arch/arm/mach-s3c64xx/common.c b/arch/arm/mach-s3c64xx/common.c index fd63ecfb2f81..ddb30b8434c5 100644 --- a/arch/arm/mach-s3c64xx/common.c +++ b/arch/arm/mach-s3c64xx/common.c | |||
@@ -388,22 +388,22 @@ static inline void s3c_irq_demux_eint(unsigned int start, unsigned int end) | |||
388 | } | 388 | } |
389 | } | 389 | } |
390 | 390 | ||
391 | static void s3c_irq_demux_eint0_3(unsigned int irq, struct irq_desc *desc) | 391 | static void s3c_irq_demux_eint0_3(struct irq_desc *desc) |
392 | { | 392 | { |
393 | s3c_irq_demux_eint(0, 3); | 393 | s3c_irq_demux_eint(0, 3); |
394 | } | 394 | } |
395 | 395 | ||
396 | static void s3c_irq_demux_eint4_11(unsigned int irq, struct irq_desc *desc) | 396 | static void s3c_irq_demux_eint4_11(struct irq_desc *desc) |
397 | { | 397 | { |
398 | s3c_irq_demux_eint(4, 11); | 398 | s3c_irq_demux_eint(4, 11); |
399 | } | 399 | } |
400 | 400 | ||
401 | static void s3c_irq_demux_eint12_19(unsigned int irq, struct irq_desc *desc) | 401 | static void s3c_irq_demux_eint12_19(struct irq_desc *desc) |
402 | { | 402 | { |
403 | s3c_irq_demux_eint(12, 19); | 403 | s3c_irq_demux_eint(12, 19); |
404 | } | 404 | } |
405 | 405 | ||
406 | static void s3c_irq_demux_eint20_27(unsigned int irq, struct irq_desc *desc) | 406 | static void s3c_irq_demux_eint20_27(struct irq_desc *desc) |
407 | { | 407 | { |
408 | s3c_irq_demux_eint(20, 27); | 408 | s3c_irq_demux_eint(20, 27); |
409 | } | 409 | } |
diff --git a/arch/arm/mach-sa1100/neponset.c b/arch/arm/mach-sa1100/neponset.c index 6d237b4f7a8e..8411985af9ff 100644 --- a/arch/arm/mach-sa1100/neponset.c +++ b/arch/arm/mach-sa1100/neponset.c | |||
@@ -166,7 +166,7 @@ static struct sa1100_port_fns neponset_port_fns = { | |||
166 | * ensure that the IRQ signal is deasserted before returning. This | 166 | * ensure that the IRQ signal is deasserted before returning. This |
167 | * is rather unfortunate. | 167 | * is rather unfortunate. |
168 | */ | 168 | */ |
169 | static void neponset_irq_handler(unsigned int irq, struct irq_desc *desc) | 169 | static void neponset_irq_handler(struct irq_desc *desc) |
170 | { | 170 | { |
171 | struct neponset_drvdata *d = irq_desc_get_handler_data(desc); | 171 | struct neponset_drvdata *d = irq_desc_get_handler_data(desc); |
172 | unsigned int irr; | 172 | unsigned int irr; |
diff --git a/arch/arm/plat-orion/gpio.c b/arch/arm/plat-orion/gpio.c index 79c33eca09a3..7bd22d8e5b11 100644 --- a/arch/arm/plat-orion/gpio.c +++ b/arch/arm/plat-orion/gpio.c | |||
@@ -407,7 +407,7 @@ static int gpio_irq_set_type(struct irq_data *d, u32 type) | |||
407 | return 0; | 407 | return 0; |
408 | } | 408 | } |
409 | 409 | ||
410 | static void gpio_irq_handler(unsigned __irq, struct irq_desc *desc) | 410 | static void gpio_irq_handler(struct irq_desc *desc) |
411 | { | 411 | { |
412 | struct orion_gpio_chip *ochip = irq_desc_get_handler_data(desc); | 412 | struct orion_gpio_chip *ochip = irq_desc_get_handler_data(desc); |
413 | u32 cause, type; | 413 | u32 cause, type; |
diff --git a/arch/avr32/mach-at32ap/extint.c b/arch/avr32/mach-at32ap/extint.c index d51ff8f1c541..96cabad68489 100644 --- a/arch/avr32/mach-at32ap/extint.c +++ b/arch/avr32/mach-at32ap/extint.c | |||
@@ -144,7 +144,7 @@ static struct irq_chip eic_chip = { | |||
144 | .irq_set_type = eic_set_irq_type, | 144 | .irq_set_type = eic_set_irq_type, |
145 | }; | 145 | }; |
146 | 146 | ||
147 | static void demux_eic_irq(unsigned int irq, struct irq_desc *desc) | 147 | static void demux_eic_irq(struct irq_desc *desc) |
148 | { | 148 | { |
149 | struct eic *eic = irq_desc_get_handler_data(desc); | 149 | struct eic *eic = irq_desc_get_handler_data(desc); |
150 | unsigned long status, pending; | 150 | unsigned long status, pending; |
diff --git a/arch/avr32/mach-at32ap/pio.c b/arch/avr32/mach-at32ap/pio.c index 157a5e0e789f..4f61378c3453 100644 --- a/arch/avr32/mach-at32ap/pio.c +++ b/arch/avr32/mach-at32ap/pio.c | |||
@@ -281,7 +281,7 @@ static struct irq_chip gpio_irqchip = { | |||
281 | .irq_set_type = gpio_irq_type, | 281 | .irq_set_type = gpio_irq_type, |
282 | }; | 282 | }; |
283 | 283 | ||
284 | static void gpio_irq_handler(unsigned irq, struct irq_desc *desc) | 284 | static void gpio_irq_handler(struct irq_desc *desc) |
285 | { | 285 | { |
286 | struct pio_device *pio = irq_desc_get_chip_data(desc); | 286 | struct pio_device *pio = irq_desc_get_chip_data(desc); |
287 | unsigned gpio_irq; | 287 | unsigned gpio_irq; |
diff --git a/arch/blackfin/include/asm/irq_handler.h b/arch/blackfin/include/asm/irq_handler.h index 4b2a992794d7..d2f90c72378e 100644 --- a/arch/blackfin/include/asm/irq_handler.h +++ b/arch/blackfin/include/asm/irq_handler.h | |||
@@ -60,7 +60,7 @@ extern void bfin_internal_mask_irq(unsigned int irq); | |||
60 | extern void bfin_internal_unmask_irq(unsigned int irq); | 60 | extern void bfin_internal_unmask_irq(unsigned int irq); |
61 | 61 | ||
62 | struct irq_desc; | 62 | struct irq_desc; |
63 | extern void bfin_demux_mac_status_irq(unsigned int, struct irq_desc *); | 63 | extern void bfin_demux_mac_status_irq(struct irq_desc *); |
64 | extern void bfin_demux_gpio_irq(unsigned int, struct irq_desc *); | 64 | extern void bfin_demux_gpio_irq(struct irq_desc *); |
65 | 65 | ||
66 | #endif | 66 | #endif |
diff --git a/arch/blackfin/kernel/irqchip.c b/arch/blackfin/kernel/irqchip.c index 0ba25764b8c0..052cde5ed2e4 100644 --- a/arch/blackfin/kernel/irqchip.c +++ b/arch/blackfin/kernel/irqchip.c | |||
@@ -107,7 +107,7 @@ asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs) | |||
107 | * than crashing, do something sensible. | 107 | * than crashing, do something sensible. |
108 | */ | 108 | */ |
109 | if (irq >= NR_IRQS) | 109 | if (irq >= NR_IRQS) |
110 | handle_bad_irq(irq, &bad_irq_desc); | 110 | handle_bad_irq(&bad_irq_desc); |
111 | else | 111 | else |
112 | generic_handle_irq(irq); | 112 | generic_handle_irq(irq); |
113 | 113 | ||
diff --git a/arch/blackfin/mach-bf537/ints-priority.c b/arch/blackfin/mach-bf537/ints-priority.c index 14b2f74554dc..a48baae4384d 100644 --- a/arch/blackfin/mach-bf537/ints-priority.c +++ b/arch/blackfin/mach-bf537/ints-priority.c | |||
@@ -89,8 +89,7 @@ static struct irq_chip bf537_generic_error_irqchip = { | |||
89 | .irq_unmask = bf537_generic_error_unmask_irq, | 89 | .irq_unmask = bf537_generic_error_unmask_irq, |
90 | }; | 90 | }; |
91 | 91 | ||
92 | static void bf537_demux_error_irq(unsigned int int_err_irq, | 92 | static void bf537_demux_error_irq(struct irq_desc *inta_desc) |
93 | struct irq_desc *inta_desc) | ||
94 | { | 93 | { |
95 | int irq = 0; | 94 | int irq = 0; |
96 | 95 | ||
@@ -182,15 +181,12 @@ static struct irq_chip bf537_mac_rx_irqchip = { | |||
182 | .irq_unmask = bf537_mac_rx_unmask_irq, | 181 | .irq_unmask = bf537_mac_rx_unmask_irq, |
183 | }; | 182 | }; |
184 | 183 | ||
185 | static void bf537_demux_mac_rx_irq(unsigned int __int_irq, | 184 | static void bf537_demux_mac_rx_irq(struct irq_desc *desc) |
186 | struct irq_desc *desc) | ||
187 | { | 185 | { |
188 | unsigned int int_irq = irq_desc_get_irq(desc); | ||
189 | |||
190 | if (bfin_read_DMA1_IRQ_STATUS() & (DMA_DONE | DMA_ERR)) | 186 | if (bfin_read_DMA1_IRQ_STATUS() & (DMA_DONE | DMA_ERR)) |
191 | bfin_handle_irq(IRQ_MAC_RX); | 187 | bfin_handle_irq(IRQ_MAC_RX); |
192 | else | 188 | else |
193 | bfin_demux_gpio_irq(int_irq, desc); | 189 | bfin_demux_gpio_irq(desc); |
194 | } | 190 | } |
195 | #endif | 191 | #endif |
196 | 192 | ||
diff --git a/arch/blackfin/mach-common/ints-priority.c b/arch/blackfin/mach-common/ints-priority.c index a6d1b03cdf36..e8d4d748d0fd 100644 --- a/arch/blackfin/mach-common/ints-priority.c +++ b/arch/blackfin/mach-common/ints-priority.c | |||
@@ -656,8 +656,7 @@ static struct irq_chip bfin_mac_status_irqchip = { | |||
656 | .irq_set_wake = bfin_mac_status_set_wake, | 656 | .irq_set_wake = bfin_mac_status_set_wake, |
657 | }; | 657 | }; |
658 | 658 | ||
659 | void bfin_demux_mac_status_irq(unsigned int int_err_irq, | 659 | void bfin_demux_mac_status_irq(struct irq_desc *inta_desc) |
660 | struct irq_desc *inta_desc) | ||
661 | { | 660 | { |
662 | int i, irq = 0; | 661 | int i, irq = 0; |
663 | u32 status = bfin_read_EMAC_SYSTAT(); | 662 | u32 status = bfin_read_EMAC_SYSTAT(); |
@@ -825,7 +824,7 @@ static void bfin_demux_gpio_block(unsigned int irq) | |||
825 | } | 824 | } |
826 | } | 825 | } |
827 | 826 | ||
828 | void bfin_demux_gpio_irq(unsigned int __inta_irq, struct irq_desc *desc) | 827 | void bfin_demux_gpio_irq(struct irq_desc *desc) |
829 | { | 828 | { |
830 | unsigned int inta_irq = irq_desc_get_irq(desc); | 829 | unsigned int inta_irq = irq_desc_get_irq(desc); |
831 | unsigned int irq; | 830 | unsigned int irq; |
diff --git a/arch/c6x/platforms/megamod-pic.c b/arch/c6x/platforms/megamod-pic.c index d487698e978a..ddcb45d7dfa7 100644 --- a/arch/c6x/platforms/megamod-pic.c +++ b/arch/c6x/platforms/megamod-pic.c | |||
@@ -93,7 +93,7 @@ static struct irq_chip megamod_chip = { | |||
93 | .irq_unmask = unmask_megamod, | 93 | .irq_unmask = unmask_megamod, |
94 | }; | 94 | }; |
95 | 95 | ||
96 | static void megamod_irq_cascade(unsigned int __irq, struct irq_desc *desc) | 96 | static void megamod_irq_cascade(struct irq_desc *desc) |
97 | { | 97 | { |
98 | struct megamod_cascade_data *cascade; | 98 | struct megamod_cascade_data *cascade; |
99 | struct megamod_pic *pic; | 99 | struct megamod_pic *pic; |
diff --git a/arch/m68k/amiga/amiints.c b/arch/m68k/amiga/amiints.c index 47b5f90002ab..7ff739e94896 100644 --- a/arch/m68k/amiga/amiints.c +++ b/arch/m68k/amiga/amiints.c | |||
@@ -46,7 +46,7 @@ static struct irq_chip amiga_irq_chip = { | |||
46 | * The builtin Amiga hardware interrupt handlers. | 46 | * The builtin Amiga hardware interrupt handlers. |
47 | */ | 47 | */ |
48 | 48 | ||
49 | static void ami_int1(unsigned int irq, struct irq_desc *desc) | 49 | static void ami_int1(struct irq_desc *desc) |
50 | { | 50 | { |
51 | unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar; | 51 | unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar; |
52 | 52 | ||
@@ -69,7 +69,7 @@ static void ami_int1(unsigned int irq, struct irq_desc *desc) | |||
69 | } | 69 | } |
70 | } | 70 | } |
71 | 71 | ||
72 | static void ami_int3(unsigned int irq, struct irq_desc *desc) | 72 | static void ami_int3(struct irq_desc *desc) |
73 | { | 73 | { |
74 | unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar; | 74 | unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar; |
75 | 75 | ||
@@ -92,7 +92,7 @@ static void ami_int3(unsigned int irq, struct irq_desc *desc) | |||
92 | } | 92 | } |
93 | } | 93 | } |
94 | 94 | ||
95 | static void ami_int4(unsigned int irq, struct irq_desc *desc) | 95 | static void ami_int4(struct irq_desc *desc) |
96 | { | 96 | { |
97 | unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar; | 97 | unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar; |
98 | 98 | ||
@@ -121,7 +121,7 @@ static void ami_int4(unsigned int irq, struct irq_desc *desc) | |||
121 | } | 121 | } |
122 | } | 122 | } |
123 | 123 | ||
124 | static void ami_int5(unsigned int irq, struct irq_desc *desc) | 124 | static void ami_int5(struct irq_desc *desc) |
125 | { | 125 | { |
126 | unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar; | 126 | unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar; |
127 | 127 | ||
diff --git a/arch/m68k/coldfire/intc-5272.c b/arch/m68k/coldfire/intc-5272.c index 47371de60427..b0a19e207a63 100644 --- a/arch/m68k/coldfire/intc-5272.c +++ b/arch/m68k/coldfire/intc-5272.c | |||
@@ -143,12 +143,10 @@ static int intc_irq_set_type(struct irq_data *d, unsigned int type) | |||
143 | * We need to be careful with the masking/acking due to the side effects | 143 | * We need to be careful with the masking/acking due to the side effects |
144 | * of masking an interrupt. | 144 | * of masking an interrupt. |
145 | */ | 145 | */ |
146 | static void intc_external_irq(unsigned int __irq, struct irq_desc *desc) | 146 | static void intc_external_irq(struct irq_desc *desc) |
147 | { | 147 | { |
148 | unsigned int irq = irq_desc_get_irq(desc); | ||
149 | |||
150 | irq_desc_get_chip(desc)->irq_ack(&desc->irq_data); | 148 | irq_desc_get_chip(desc)->irq_ack(&desc->irq_data); |
151 | handle_simple_irq(irq, desc); | 149 | handle_simple_irq(desc); |
152 | } | 150 | } |
153 | 151 | ||
154 | static struct irq_chip intc_irq_chip = { | 152 | static struct irq_chip intc_irq_chip = { |
diff --git a/arch/m68k/include/asm/irq.h b/arch/m68k/include/asm/irq.h index 81ca118d58af..a644f4a53b94 100644 --- a/arch/m68k/include/asm/irq.h +++ b/arch/m68k/include/asm/irq.h | |||
@@ -64,8 +64,7 @@ extern void m68k_setup_auto_interrupt(void (*handler)(unsigned int, | |||
64 | struct pt_regs *)); | 64 | struct pt_regs *)); |
65 | extern void m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt); | 65 | extern void m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt); |
66 | extern void m68k_setup_irq_controller(struct irq_chip *, | 66 | extern void m68k_setup_irq_controller(struct irq_chip *, |
67 | void (*handle)(unsigned int irq, | 67 | void (*handle)(struct irq_desc *desc), |
68 | struct irq_desc *desc), | ||
69 | unsigned int irq, unsigned int cnt); | 68 | unsigned int irq, unsigned int cnt); |
70 | 69 | ||
71 | extern unsigned int irq_canonicalize(unsigned int irq); | 70 | extern unsigned int irq_canonicalize(unsigned int irq); |
diff --git a/arch/m68k/include/asm/mac_via.h b/arch/m68k/include/asm/mac_via.h index fe3fc9ae1b69..53c632c85b03 100644 --- a/arch/m68k/include/asm/mac_via.h +++ b/arch/m68k/include/asm/mac_via.h | |||
@@ -261,7 +261,7 @@ extern void via_irq_enable(int); | |||
261 | extern void via_irq_disable(int); | 261 | extern void via_irq_disable(int); |
262 | extern void via_nubus_irq_startup(int irq); | 262 | extern void via_nubus_irq_startup(int irq); |
263 | extern void via_nubus_irq_shutdown(int irq); | 263 | extern void via_nubus_irq_shutdown(int irq); |
264 | extern void via1_irq(unsigned int irq, struct irq_desc *desc); | 264 | extern void via1_irq(struct irq_desc *desc); |
265 | extern void via1_set_head(int); | 265 | extern void via1_set_head(int); |
266 | extern int via2_scsi_drq_pending(void); | 266 | extern int via2_scsi_drq_pending(void); |
267 | 267 | ||
diff --git a/arch/m68k/mac/baboon.c b/arch/m68k/mac/baboon.c index 3fe0e43d44f6..f6f7d42713ec 100644 --- a/arch/m68k/mac/baboon.c +++ b/arch/m68k/mac/baboon.c | |||
@@ -45,7 +45,7 @@ void __init baboon_init(void) | |||
45 | * Baboon interrupt handler. This works a lot like a VIA. | 45 | * Baboon interrupt handler. This works a lot like a VIA. |
46 | */ | 46 | */ |
47 | 47 | ||
48 | static void baboon_irq(unsigned int irq, struct irq_desc *desc) | 48 | static void baboon_irq(struct irq_desc *desc) |
49 | { | 49 | { |
50 | int irq_bit, irq_num; | 50 | int irq_bit, irq_num; |
51 | unsigned char events; | 51 | unsigned char events; |
diff --git a/arch/m68k/mac/oss.c b/arch/m68k/mac/oss.c index 191610d97689..55d6592783f5 100644 --- a/arch/m68k/mac/oss.c +++ b/arch/m68k/mac/oss.c | |||
@@ -63,7 +63,7 @@ void __init oss_nubus_init(void) | |||
63 | * Handle miscellaneous OSS interrupts. | 63 | * Handle miscellaneous OSS interrupts. |
64 | */ | 64 | */ |
65 | 65 | ||
66 | static void oss_irq(unsigned int __irq, struct irq_desc *desc) | 66 | static void oss_irq(struct irq_desc *desc) |
67 | { | 67 | { |
68 | int events = oss->irq_pending & | 68 | int events = oss->irq_pending & |
69 | (OSS_IP_IOPSCC | OSS_IP_SCSI | OSS_IP_IOPISM); | 69 | (OSS_IP_IOPSCC | OSS_IP_SCSI | OSS_IP_IOPISM); |
@@ -99,7 +99,7 @@ static void oss_irq(unsigned int __irq, struct irq_desc *desc) | |||
99 | * Unlike the VIA/RBV this is on its own autovector interrupt level. | 99 | * Unlike the VIA/RBV this is on its own autovector interrupt level. |
100 | */ | 100 | */ |
101 | 101 | ||
102 | static void oss_nubus_irq(unsigned int irq, struct irq_desc *desc) | 102 | static void oss_nubus_irq(struct irq_desc *desc) |
103 | { | 103 | { |
104 | int events, irq_bit, i; | 104 | int events, irq_bit, i; |
105 | 105 | ||
diff --git a/arch/m68k/mac/psc.c b/arch/m68k/mac/psc.c index 3b9e302e7a37..cd38f29955c8 100644 --- a/arch/m68k/mac/psc.c +++ b/arch/m68k/mac/psc.c | |||
@@ -113,7 +113,7 @@ void __init psc_init(void) | |||
113 | * PSC interrupt handler. It's a lot like the VIA interrupt handler. | 113 | * PSC interrupt handler. It's a lot like the VIA interrupt handler. |
114 | */ | 114 | */ |
115 | 115 | ||
116 | static void psc_irq(unsigned int __irq, struct irq_desc *desc) | 116 | static void psc_irq(struct irq_desc *desc) |
117 | { | 117 | { |
118 | unsigned int offset = (unsigned int)irq_desc_get_handler_data(desc); | 118 | unsigned int offset = (unsigned int)irq_desc_get_handler_data(desc); |
119 | unsigned int irq = irq_desc_get_irq(desc); | 119 | unsigned int irq = irq_desc_get_irq(desc); |
diff --git a/arch/m68k/mac/via.c b/arch/m68k/mac/via.c index e198dec868e4..ce56e04386e7 100644 --- a/arch/m68k/mac/via.c +++ b/arch/m68k/mac/via.c | |||
@@ -446,7 +446,7 @@ void via_nubus_irq_shutdown(int irq) | |||
446 | * via6522.c :-), disable/pending masks added. | 446 | * via6522.c :-), disable/pending masks added. |
447 | */ | 447 | */ |
448 | 448 | ||
449 | void via1_irq(unsigned int irq, struct irq_desc *desc) | 449 | void via1_irq(struct irq_desc *desc) |
450 | { | 450 | { |
451 | int irq_num; | 451 | int irq_num; |
452 | unsigned char irq_bit, events; | 452 | unsigned char irq_bit, events; |
@@ -467,7 +467,7 @@ void via1_irq(unsigned int irq, struct irq_desc *desc) | |||
467 | } while (events >= irq_bit); | 467 | } while (events >= irq_bit); |
468 | } | 468 | } |
469 | 469 | ||
470 | static void via2_irq(unsigned int irq, struct irq_desc *desc) | 470 | static void via2_irq(struct irq_desc *desc) |
471 | { | 471 | { |
472 | int irq_num; | 472 | int irq_num; |
473 | unsigned char irq_bit, events; | 473 | unsigned char irq_bit, events; |
@@ -493,7 +493,7 @@ static void via2_irq(unsigned int irq, struct irq_desc *desc) | |||
493 | * VIA2 dispatcher as a fast interrupt handler. | 493 | * VIA2 dispatcher as a fast interrupt handler. |
494 | */ | 494 | */ |
495 | 495 | ||
496 | void via_nubus_irq(unsigned int irq, struct irq_desc *desc) | 496 | static void via_nubus_irq(struct irq_desc *desc) |
497 | { | 497 | { |
498 | int slot_irq; | 498 | int slot_irq; |
499 | unsigned char slot_bit, events; | 499 | unsigned char slot_bit, events; |
diff --git a/arch/metag/kernel/irq.c b/arch/metag/kernel/irq.c index a336094a7a6c..3074b64793e6 100644 --- a/arch/metag/kernel/irq.c +++ b/arch/metag/kernel/irq.c | |||
@@ -94,13 +94,11 @@ void do_IRQ(int irq, struct pt_regs *regs) | |||
94 | "MOV D0.5,%0\n" | 94 | "MOV D0.5,%0\n" |
95 | "MOV D1Ar1,%1\n" | 95 | "MOV D1Ar1,%1\n" |
96 | "MOV D1RtP,%2\n" | 96 | "MOV D1RtP,%2\n" |
97 | "MOV D0Ar2,%3\n" | ||
98 | "SWAP A0StP,D0.5\n" | 97 | "SWAP A0StP,D0.5\n" |
99 | "SWAP PC,D1RtP\n" | 98 | "SWAP PC,D1RtP\n" |
100 | "MOV A0StP,D0.5\n" | 99 | "MOV A0StP,D0.5\n" |
101 | : | 100 | : |
102 | : "r" (isp), "r" (irq), "r" (desc->handle_irq), | 101 | : "r" (isp), "r" (desc), "r" (desc->handle_irq) |
103 | "r" (desc) | ||
104 | : "memory", "cc", "D1Ar1", "D0Ar2", "D1Ar3", "D0Ar4", | 102 | : "memory", "cc", "D1Ar1", "D0Ar2", "D1Ar3", "D0Ar4", |
105 | "D1Ar5", "D0Ar6", "D0Re0", "D1Re0", "D0.4", "D1RtP", | 103 | "D1Ar5", "D0Ar6", "D0Re0", "D1Re0", "D0.4", "D1RtP", |
106 | "D0.5" | 104 | "D0.5" |
diff --git a/arch/mips/alchemy/common/irq.c b/arch/mips/alchemy/common/irq.c index 4c496c50edf6..da9f9220048f 100644 --- a/arch/mips/alchemy/common/irq.c +++ b/arch/mips/alchemy/common/irq.c | |||
@@ -851,7 +851,7 @@ static struct syscore_ops alchemy_gpic_pmops = { | |||
851 | 851 | ||
852 | /* create chained handlers for the 4 IC requests to the MIPS IRQ ctrl */ | 852 | /* create chained handlers for the 4 IC requests to the MIPS IRQ ctrl */ |
853 | #define DISP(name, base, addr) \ | 853 | #define DISP(name, base, addr) \ |
854 | static void au1000_##name##_dispatch(unsigned int irq, struct irq_desc *d) \ | 854 | static void au1000_##name##_dispatch(struct irq_desc *d) \ |
855 | { \ | 855 | { \ |
856 | unsigned long r = __raw_readl((void __iomem *)KSEG1ADDR(addr)); \ | 856 | unsigned long r = __raw_readl((void __iomem *)KSEG1ADDR(addr)); \ |
857 | if (likely(r)) \ | 857 | if (likely(r)) \ |
@@ -865,7 +865,7 @@ DISP(ic0r1, AU1000_INTC0_INT_BASE, AU1000_IC0_PHYS_ADDR + IC_REQ1INT) | |||
865 | DISP(ic1r0, AU1000_INTC1_INT_BASE, AU1000_IC1_PHYS_ADDR + IC_REQ0INT) | 865 | DISP(ic1r0, AU1000_INTC1_INT_BASE, AU1000_IC1_PHYS_ADDR + IC_REQ0INT) |
866 | DISP(ic1r1, AU1000_INTC1_INT_BASE, AU1000_IC1_PHYS_ADDR + IC_REQ1INT) | 866 | DISP(ic1r1, AU1000_INTC1_INT_BASE, AU1000_IC1_PHYS_ADDR + IC_REQ1INT) |
867 | 867 | ||
868 | static void alchemy_gpic_dispatch(unsigned int irq, struct irq_desc *d) | 868 | static void alchemy_gpic_dispatch(struct irq_desc *d) |
869 | { | 869 | { |
870 | int i = __raw_readl(AU1300_GPIC_ADDR + AU1300_GPIC_PRIENC); | 870 | int i = __raw_readl(AU1300_GPIC_ADDR + AU1300_GPIC_PRIENC); |
871 | generic_handle_irq(ALCHEMY_GPIC_INT_BASE + i); | 871 | generic_handle_irq(ALCHEMY_GPIC_INT_BASE + i); |
diff --git a/arch/mips/alchemy/devboards/bcsr.c b/arch/mips/alchemy/devboards/bcsr.c index 324ad72d7c36..faeddf119fd4 100644 --- a/arch/mips/alchemy/devboards/bcsr.c +++ b/arch/mips/alchemy/devboards/bcsr.c | |||
@@ -86,7 +86,7 @@ EXPORT_SYMBOL_GPL(bcsr_mod); | |||
86 | /* | 86 | /* |
87 | * DB1200/PB1200 CPLD IRQ muxer | 87 | * DB1200/PB1200 CPLD IRQ muxer |
88 | */ | 88 | */ |
89 | static void bcsr_csc_handler(unsigned int irq, struct irq_desc *d) | 89 | static void bcsr_csc_handler(struct irq_desc *d) |
90 | { | 90 | { |
91 | unsigned short bisr = __raw_readw(bcsr_virt + BCSR_REG_INTSTAT); | 91 | unsigned short bisr = __raw_readw(bcsr_virt + BCSR_REG_INTSTAT); |
92 | struct irq_chip *chip = irq_desc_get_chip(d); | 92 | struct irq_chip *chip = irq_desc_get_chip(d); |
diff --git a/arch/mips/ath25/ar2315.c b/arch/mips/ath25/ar2315.c index ec9a371f1e62..8da996142d6a 100644 --- a/arch/mips/ath25/ar2315.c +++ b/arch/mips/ath25/ar2315.c | |||
@@ -69,7 +69,7 @@ static struct irqaction ar2315_ahb_err_interrupt = { | |||
69 | .name = "ar2315-ahb-error", | 69 | .name = "ar2315-ahb-error", |
70 | }; | 70 | }; |
71 | 71 | ||
72 | static void ar2315_misc_irq_handler(unsigned irq, struct irq_desc *desc) | 72 | static void ar2315_misc_irq_handler(struct irq_desc *desc) |
73 | { | 73 | { |
74 | u32 pending = ar2315_rst_reg_read(AR2315_ISR) & | 74 | u32 pending = ar2315_rst_reg_read(AR2315_ISR) & |
75 | ar2315_rst_reg_read(AR2315_IMR); | 75 | ar2315_rst_reg_read(AR2315_IMR); |
diff --git a/arch/mips/ath25/ar5312.c b/arch/mips/ath25/ar5312.c index e63e38fa4880..acd55a9cffe3 100644 --- a/arch/mips/ath25/ar5312.c +++ b/arch/mips/ath25/ar5312.c | |||
@@ -73,7 +73,7 @@ static struct irqaction ar5312_ahb_err_interrupt = { | |||
73 | .name = "ar5312-ahb-error", | 73 | .name = "ar5312-ahb-error", |
74 | }; | 74 | }; |
75 | 75 | ||
76 | static void ar5312_misc_irq_handler(unsigned irq, struct irq_desc *desc) | 76 | static void ar5312_misc_irq_handler(struct irq_desc *desc) |
77 | { | 77 | { |
78 | u32 pending = ar5312_rst_reg_read(AR5312_ISR) & | 78 | u32 pending = ar5312_rst_reg_read(AR5312_ISR) & |
79 | ar5312_rst_reg_read(AR5312_IMR); | 79 | ar5312_rst_reg_read(AR5312_IMR); |
diff --git a/arch/mips/ath79/irq.c b/arch/mips/ath79/irq.c index 807132b838b2..15ecb4831e12 100644 --- a/arch/mips/ath79/irq.c +++ b/arch/mips/ath79/irq.c | |||
@@ -26,7 +26,7 @@ | |||
26 | #include "common.h" | 26 | #include "common.h" |
27 | #include "machtypes.h" | 27 | #include "machtypes.h" |
28 | 28 | ||
29 | static void ath79_misc_irq_handler(unsigned int irq, struct irq_desc *desc) | 29 | static void ath79_misc_irq_handler(struct irq_desc *desc) |
30 | { | 30 | { |
31 | void __iomem *base = ath79_reset_base; | 31 | void __iomem *base = ath79_reset_base; |
32 | u32 pending; | 32 | u32 pending; |
@@ -119,7 +119,7 @@ static void __init ath79_misc_irq_init(void) | |||
119 | irq_set_chained_handler(ATH79_CPU_IRQ(6), ath79_misc_irq_handler); | 119 | irq_set_chained_handler(ATH79_CPU_IRQ(6), ath79_misc_irq_handler); |
120 | } | 120 | } |
121 | 121 | ||
122 | static void ar934x_ip2_irq_dispatch(unsigned int irq, struct irq_desc *desc) | 122 | static void ar934x_ip2_irq_dispatch(struct irq_desc *desc) |
123 | { | 123 | { |
124 | u32 status; | 124 | u32 status; |
125 | 125 | ||
@@ -148,7 +148,7 @@ static void ar934x_ip2_irq_init(void) | |||
148 | irq_set_chained_handler(ATH79_CPU_IRQ(2), ar934x_ip2_irq_dispatch); | 148 | irq_set_chained_handler(ATH79_CPU_IRQ(2), ar934x_ip2_irq_dispatch); |
149 | } | 149 | } |
150 | 150 | ||
151 | static void qca955x_ip2_irq_dispatch(unsigned int irq, struct irq_desc *desc) | 151 | static void qca955x_ip2_irq_dispatch(struct irq_desc *desc) |
152 | { | 152 | { |
153 | u32 status; | 153 | u32 status; |
154 | 154 | ||
@@ -171,7 +171,7 @@ static void qca955x_ip2_irq_dispatch(unsigned int irq, struct irq_desc *desc) | |||
171 | } | 171 | } |
172 | } | 172 | } |
173 | 173 | ||
174 | static void qca955x_ip3_irq_dispatch(unsigned int irq, struct irq_desc *desc) | 174 | static void qca955x_ip3_irq_dispatch(struct irq_desc *desc) |
175 | { | 175 | { |
176 | u32 status; | 176 | u32 status; |
177 | 177 | ||
diff --git a/arch/mips/cavium-octeon/octeon-irq.c b/arch/mips/cavium-octeon/octeon-irq.c index f26c3c661cca..0352bc8d56b3 100644 --- a/arch/mips/cavium-octeon/octeon-irq.c +++ b/arch/mips/cavium-octeon/octeon-irq.c | |||
@@ -2221,7 +2221,7 @@ static irqreturn_t octeon_irq_cib_handler(int my_irq, void *data) | |||
2221 | if (irqd_get_trigger_type(irq_data) & | 2221 | if (irqd_get_trigger_type(irq_data) & |
2222 | IRQ_TYPE_EDGE_BOTH) | 2222 | IRQ_TYPE_EDGE_BOTH) |
2223 | cvmx_write_csr(host_data->raw_reg, 1ull << i); | 2223 | cvmx_write_csr(host_data->raw_reg, 1ull << i); |
2224 | generic_handle_irq_desc(irq, desc); | 2224 | generic_handle_irq_desc(desc); |
2225 | } | 2225 | } |
2226 | } | 2226 | } |
2227 | 2227 | ||
diff --git a/arch/mips/include/asm/netlogic/common.h b/arch/mips/include/asm/netlogic/common.h index 2a4c128277e4..be52c2125d71 100644 --- a/arch/mips/include/asm/netlogic/common.h +++ b/arch/mips/include/asm/netlogic/common.h | |||
@@ -57,8 +57,8 @@ | |||
57 | #include <asm/mach-netlogic/multi-node.h> | 57 | #include <asm/mach-netlogic/multi-node.h> |
58 | 58 | ||
59 | struct irq_desc; | 59 | struct irq_desc; |
60 | void nlm_smp_function_ipi_handler(unsigned int irq, struct irq_desc *desc); | 60 | void nlm_smp_function_ipi_handler(struct irq_desc *desc); |
61 | void nlm_smp_resched_ipi_handler(unsigned int irq, struct irq_desc *desc); | 61 | void nlm_smp_resched_ipi_handler(struct irq_desc *desc); |
62 | void nlm_smp_irq_init(int hwcpuid); | 62 | void nlm_smp_irq_init(int hwcpuid); |
63 | void nlm_boot_secondary_cpus(void); | 63 | void nlm_boot_secondary_cpus(void); |
64 | int nlm_wakeup_secondary_cpus(void); | 64 | int nlm_wakeup_secondary_cpus(void); |
diff --git a/arch/mips/jz4740/gpio.c b/arch/mips/jz4740/gpio.c index 6cd69fdaa1c5..a74e181058b0 100644 --- a/arch/mips/jz4740/gpio.c +++ b/arch/mips/jz4740/gpio.c | |||
@@ -291,7 +291,7 @@ static void jz_gpio_check_trigger_both(struct jz_gpio_chip *chip, unsigned int i | |||
291 | writel(mask, reg); | 291 | writel(mask, reg); |
292 | } | 292 | } |
293 | 293 | ||
294 | static void jz_gpio_irq_demux_handler(unsigned int irq, struct irq_desc *desc) | 294 | static void jz_gpio_irq_demux_handler(struct irq_desc *desc) |
295 | { | 295 | { |
296 | uint32_t flag; | 296 | uint32_t flag; |
297 | unsigned int gpio_irq; | 297 | unsigned int gpio_irq; |
diff --git a/arch/mips/netlogic/common/smp.c b/arch/mips/netlogic/common/smp.c index 0136b4f9c9cd..10d86d54880a 100644 --- a/arch/mips/netlogic/common/smp.c +++ b/arch/mips/netlogic/common/smp.c | |||
@@ -82,7 +82,7 @@ void nlm_send_ipi_mask(const struct cpumask *mask, unsigned int action) | |||
82 | } | 82 | } |
83 | 83 | ||
84 | /* IRQ_IPI_SMP_FUNCTION Handler */ | 84 | /* IRQ_IPI_SMP_FUNCTION Handler */ |
85 | void nlm_smp_function_ipi_handler(unsigned int __irq, struct irq_desc *desc) | 85 | void nlm_smp_function_ipi_handler(struct irq_desc *desc) |
86 | { | 86 | { |
87 | unsigned int irq = irq_desc_get_irq(desc); | 87 | unsigned int irq = irq_desc_get_irq(desc); |
88 | clear_c0_eimr(irq); | 88 | clear_c0_eimr(irq); |
@@ -92,7 +92,7 @@ void nlm_smp_function_ipi_handler(unsigned int __irq, struct irq_desc *desc) | |||
92 | } | 92 | } |
93 | 93 | ||
94 | /* IRQ_IPI_SMP_RESCHEDULE handler */ | 94 | /* IRQ_IPI_SMP_RESCHEDULE handler */ |
95 | void nlm_smp_resched_ipi_handler(unsigned int __irq, struct irq_desc *desc) | 95 | void nlm_smp_resched_ipi_handler(struct irq_desc *desc) |
96 | { | 96 | { |
97 | unsigned int irq = irq_desc_get_irq(desc); | 97 | unsigned int irq = irq_desc_get_irq(desc); |
98 | clear_c0_eimr(irq); | 98 | clear_c0_eimr(irq); |
diff --git a/arch/mips/pci/pci-ar2315.c b/arch/mips/pci/pci-ar2315.c index f8d0acb4f973..b4fa6413c4e5 100644 --- a/arch/mips/pci/pci-ar2315.c +++ b/arch/mips/pci/pci-ar2315.c | |||
@@ -318,7 +318,7 @@ static int ar2315_pci_host_setup(struct ar2315_pci_ctrl *apc) | |||
318 | return 0; | 318 | return 0; |
319 | } | 319 | } |
320 | 320 | ||
321 | static void ar2315_pci_irq_handler(unsigned irq, struct irq_desc *desc) | 321 | static void ar2315_pci_irq_handler(struct irq_desc *desc) |
322 | { | 322 | { |
323 | struct ar2315_pci_ctrl *apc = irq_desc_get_handler_data(desc); | 323 | struct ar2315_pci_ctrl *apc = irq_desc_get_handler_data(desc); |
324 | u32 pending = ar2315_pci_reg_read(apc, AR2315_PCI_ISR) & | 324 | u32 pending = ar2315_pci_reg_read(apc, AR2315_PCI_ISR) & |
diff --git a/arch/mips/pci/pci-ar71xx.c b/arch/mips/pci/pci-ar71xx.c index ad35a5e6a56c..7db963deec73 100644 --- a/arch/mips/pci/pci-ar71xx.c +++ b/arch/mips/pci/pci-ar71xx.c | |||
@@ -226,7 +226,7 @@ static struct pci_ops ar71xx_pci_ops = { | |||
226 | .write = ar71xx_pci_write_config, | 226 | .write = ar71xx_pci_write_config, |
227 | }; | 227 | }; |
228 | 228 | ||
229 | static void ar71xx_pci_irq_handler(unsigned int irq, struct irq_desc *desc) | 229 | static void ar71xx_pci_irq_handler(struct irq_desc *desc) |
230 | { | 230 | { |
231 | struct ar71xx_pci_controller *apc; | 231 | struct ar71xx_pci_controller *apc; |
232 | void __iomem *base = ath79_reset_base; | 232 | void __iomem *base = ath79_reset_base; |
diff --git a/arch/mips/pci/pci-ar724x.c b/arch/mips/pci/pci-ar724x.c index 907d11dd921b..2013dad700df 100644 --- a/arch/mips/pci/pci-ar724x.c +++ b/arch/mips/pci/pci-ar724x.c | |||
@@ -225,7 +225,7 @@ static struct pci_ops ar724x_pci_ops = { | |||
225 | .write = ar724x_pci_write, | 225 | .write = ar724x_pci_write, |
226 | }; | 226 | }; |
227 | 227 | ||
228 | static void ar724x_pci_irq_handler(unsigned int irq, struct irq_desc *desc) | 228 | static void ar724x_pci_irq_handler(struct irq_desc *desc) |
229 | { | 229 | { |
230 | struct ar724x_pci_controller *apc; | 230 | struct ar724x_pci_controller *apc; |
231 | void __iomem *base; | 231 | void __iomem *base; |
diff --git a/arch/mips/pci/pci-rt3883.c b/arch/mips/pci/pci-rt3883.c index 53c8efaf1572..ed6732f9aa87 100644 --- a/arch/mips/pci/pci-rt3883.c +++ b/arch/mips/pci/pci-rt3883.c | |||
@@ -129,7 +129,7 @@ static void rt3883_pci_write_cfg32(struct rt3883_pci_controller *rpc, | |||
129 | rt3883_pci_w32(rpc, val, RT3883_PCI_REG_CFGDATA); | 129 | rt3883_pci_w32(rpc, val, RT3883_PCI_REG_CFGDATA); |
130 | } | 130 | } |
131 | 131 | ||
132 | static void rt3883_pci_irq_handler(unsigned int __irq, struct irq_desc *desc) | 132 | static void rt3883_pci_irq_handler(struct irq_desc *desc) |
133 | { | 133 | { |
134 | struct rt3883_pci_controller *rpc; | 134 | struct rt3883_pci_controller *rpc; |
135 | u32 pending; | 135 | u32 pending; |
diff --git a/arch/mips/ralink/irq.c b/arch/mips/ralink/irq.c index 8c624a8b9ea2..4cf77f358395 100644 --- a/arch/mips/ralink/irq.c +++ b/arch/mips/ralink/irq.c | |||
@@ -96,7 +96,7 @@ unsigned int get_c0_compare_int(void) | |||
96 | return CP0_LEGACY_COMPARE_IRQ; | 96 | return CP0_LEGACY_COMPARE_IRQ; |
97 | } | 97 | } |
98 | 98 | ||
99 | static void ralink_intc_irq_handler(unsigned int irq, struct irq_desc *desc) | 99 | static void ralink_intc_irq_handler(struct irq_desc *desc) |
100 | { | 100 | { |
101 | u32 pending = rt_intc_r32(INTC_REG_STATUS0); | 101 | u32 pending = rt_intc_r32(INTC_REG_STATUS0); |
102 | 102 | ||
diff --git a/arch/powerpc/include/asm/qe_ic.h b/arch/powerpc/include/asm/qe_ic.h index 25784cc959a0..1e155ca6d33c 100644 --- a/arch/powerpc/include/asm/qe_ic.h +++ b/arch/powerpc/include/asm/qe_ic.h | |||
@@ -59,14 +59,14 @@ enum qe_ic_grp_id { | |||
59 | 59 | ||
60 | #ifdef CONFIG_QUICC_ENGINE | 60 | #ifdef CONFIG_QUICC_ENGINE |
61 | void qe_ic_init(struct device_node *node, unsigned int flags, | 61 | void qe_ic_init(struct device_node *node, unsigned int flags, |
62 | void (*low_handler)(unsigned int irq, struct irq_desc *desc), | 62 | void (*low_handler)(struct irq_desc *desc), |
63 | void (*high_handler)(unsigned int irq, struct irq_desc *desc)); | 63 | void (*high_handler)(struct irq_desc *desc)); |
64 | unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic); | 64 | unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic); |
65 | unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic); | 65 | unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic); |
66 | #else | 66 | #else |
67 | static inline void qe_ic_init(struct device_node *node, unsigned int flags, | 67 | static inline void qe_ic_init(struct device_node *node, unsigned int flags, |
68 | void (*low_handler)(unsigned int irq, struct irq_desc *desc), | 68 | void (*low_handler)(struct irq_desc *desc), |
69 | void (*high_handler)(unsigned int irq, struct irq_desc *desc)) | 69 | void (*high_handler)(struct irq_desc *desc)) |
70 | {} | 70 | {} |
71 | static inline unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic) | 71 | static inline unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic) |
72 | { return 0; } | 72 | { return 0; } |
@@ -78,8 +78,7 @@ void qe_ic_set_highest_priority(unsigned int virq, int high); | |||
78 | int qe_ic_set_priority(unsigned int virq, unsigned int priority); | 78 | int qe_ic_set_priority(unsigned int virq, unsigned int priority); |
79 | int qe_ic_set_high_priority(unsigned int virq, unsigned int priority, int high); | 79 | int qe_ic_set_high_priority(unsigned int virq, unsigned int priority, int high); |
80 | 80 | ||
81 | static inline void qe_ic_cascade_low_ipic(unsigned int irq, | 81 | static inline void qe_ic_cascade_low_ipic(struct irq_desc *desc) |
82 | struct irq_desc *desc) | ||
83 | { | 82 | { |
84 | struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); | 83 | struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); |
85 | unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic); | 84 | unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic); |
@@ -88,8 +87,7 @@ static inline void qe_ic_cascade_low_ipic(unsigned int irq, | |||
88 | generic_handle_irq(cascade_irq); | 87 | generic_handle_irq(cascade_irq); |
89 | } | 88 | } |
90 | 89 | ||
91 | static inline void qe_ic_cascade_high_ipic(unsigned int irq, | 90 | static inline void qe_ic_cascade_high_ipic(struct irq_desc *desc) |
92 | struct irq_desc *desc) | ||
93 | { | 91 | { |
94 | struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); | 92 | struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); |
95 | unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic); | 93 | unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic); |
@@ -98,8 +96,7 @@ static inline void qe_ic_cascade_high_ipic(unsigned int irq, | |||
98 | generic_handle_irq(cascade_irq); | 96 | generic_handle_irq(cascade_irq); |
99 | } | 97 | } |
100 | 98 | ||
101 | static inline void qe_ic_cascade_low_mpic(unsigned int irq, | 99 | static inline void qe_ic_cascade_low_mpic(struct irq_desc *desc) |
102 | struct irq_desc *desc) | ||
103 | { | 100 | { |
104 | struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); | 101 | struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); |
105 | unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic); | 102 | unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic); |
@@ -111,8 +108,7 @@ static inline void qe_ic_cascade_low_mpic(unsigned int irq, | |||
111 | chip->irq_eoi(&desc->irq_data); | 108 | chip->irq_eoi(&desc->irq_data); |
112 | } | 109 | } |
113 | 110 | ||
114 | static inline void qe_ic_cascade_high_mpic(unsigned int irq, | 111 | static inline void qe_ic_cascade_high_mpic(struct irq_desc *desc) |
115 | struct irq_desc *desc) | ||
116 | { | 112 | { |
117 | struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); | 113 | struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); |
118 | unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic); | 114 | unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic); |
@@ -124,8 +120,7 @@ static inline void qe_ic_cascade_high_mpic(unsigned int irq, | |||
124 | chip->irq_eoi(&desc->irq_data); | 120 | chip->irq_eoi(&desc->irq_data); |
125 | } | 121 | } |
126 | 122 | ||
127 | static inline void qe_ic_cascade_muxed_mpic(unsigned int irq, | 123 | static inline void qe_ic_cascade_muxed_mpic(struct irq_desc *desc) |
128 | struct irq_desc *desc) | ||
129 | { | 124 | { |
130 | struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); | 125 | struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); |
131 | unsigned int cascade_irq; | 126 | unsigned int cascade_irq; |
diff --git a/arch/powerpc/include/asm/tsi108_pci.h b/arch/powerpc/include/asm/tsi108_pci.h index 5653d7cc3e24..ae59d5b672b0 100644 --- a/arch/powerpc/include/asm/tsi108_pci.h +++ b/arch/powerpc/include/asm/tsi108_pci.h | |||
@@ -39,7 +39,7 @@ | |||
39 | 39 | ||
40 | extern int tsi108_setup_pci(struct device_node *dev, u32 cfg_phys, int primary); | 40 | extern int tsi108_setup_pci(struct device_node *dev, u32 cfg_phys, int primary); |
41 | extern void tsi108_pci_int_init(struct device_node *node); | 41 | extern void tsi108_pci_int_init(struct device_node *node); |
42 | extern void tsi108_irq_cascade(unsigned int irq, struct irq_desc *desc); | 42 | extern void tsi108_irq_cascade(struct irq_desc *desc); |
43 | extern void tsi108_clear_pci_cfg_error(void); | 43 | extern void tsi108_clear_pci_cfg_error(void); |
44 | 44 | ||
45 | #endif /* _ASM_POWERPC_TSI108_PCI_H */ | 45 | #endif /* _ASM_POWERPC_TSI108_PCI_H */ |
diff --git a/arch/powerpc/platforms/512x/mpc5121_ads_cpld.c b/arch/powerpc/platforms/512x/mpc5121_ads_cpld.c index cf8287487157..0035d146df73 100644 --- a/arch/powerpc/platforms/512x/mpc5121_ads_cpld.c +++ b/arch/powerpc/platforms/512x/mpc5121_ads_cpld.c | |||
@@ -104,8 +104,7 @@ cpld_pic_get_irq(int offset, u8 ignore, u8 __iomem *statusp, | |||
104 | return irq_linear_revmap(cpld_pic_host, cpld_irq); | 104 | return irq_linear_revmap(cpld_pic_host, cpld_irq); |
105 | } | 105 | } |
106 | 106 | ||
107 | static void | 107 | static void cpld_pic_cascade(struct irq_desc *desc) |
108 | cpld_pic_cascade(unsigned int __irq, struct irq_desc *desc) | ||
109 | { | 108 | { |
110 | unsigned int irq; | 109 | unsigned int irq; |
111 | 110 | ||
diff --git a/arch/powerpc/platforms/52xx/media5200.c b/arch/powerpc/platforms/52xx/media5200.c index 32cae33c4266..8fb95480fd73 100644 --- a/arch/powerpc/platforms/52xx/media5200.c +++ b/arch/powerpc/platforms/52xx/media5200.c | |||
@@ -80,7 +80,7 @@ static struct irq_chip media5200_irq_chip = { | |||
80 | .irq_mask_ack = media5200_irq_mask, | 80 | .irq_mask_ack = media5200_irq_mask, |
81 | }; | 81 | }; |
82 | 82 | ||
83 | void media5200_irq_cascade(unsigned int virq, struct irq_desc *desc) | 83 | static void media5200_irq_cascade(struct irq_desc *desc) |
84 | { | 84 | { |
85 | struct irq_chip *chip = irq_desc_get_chip(desc); | 85 | struct irq_chip *chip = irq_desc_get_chip(desc); |
86 | int sub_virq, val; | 86 | int sub_virq, val; |
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c index 63016621aff8..78ac19aefa4d 100644 --- a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c +++ b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c | |||
@@ -191,7 +191,7 @@ static struct irq_chip mpc52xx_gpt_irq_chip = { | |||
191 | .irq_set_type = mpc52xx_gpt_irq_set_type, | 191 | .irq_set_type = mpc52xx_gpt_irq_set_type, |
192 | }; | 192 | }; |
193 | 193 | ||
194 | void mpc52xx_gpt_irq_cascade(unsigned int virq, struct irq_desc *desc) | 194 | static void mpc52xx_gpt_irq_cascade(struct irq_desc *desc) |
195 | { | 195 | { |
196 | struct mpc52xx_gpt_priv *gpt = irq_desc_get_handler_data(desc); | 196 | struct mpc52xx_gpt_priv *gpt = irq_desc_get_handler_data(desc); |
197 | int sub_virq; | 197 | int sub_virq; |
diff --git a/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c b/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c index 74861a7fb807..60e89fc9c753 100644 --- a/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c +++ b/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c | |||
@@ -78,7 +78,7 @@ static struct irq_chip pq2ads_pci_ic = { | |||
78 | .irq_disable = pq2ads_pci_mask_irq | 78 | .irq_disable = pq2ads_pci_mask_irq |
79 | }; | 79 | }; |
80 | 80 | ||
81 | static void pq2ads_pci_irq_demux(unsigned int irq, struct irq_desc *desc) | 81 | static void pq2ads_pci_irq_demux(struct irq_desc *desc) |
82 | { | 82 | { |
83 | struct pq2ads_pci_pic *priv = irq_desc_get_handler_data(desc); | 83 | struct pq2ads_pci_pic *priv = irq_desc_get_handler_data(desc); |
84 | u32 stat, mask, pend; | 84 | u32 stat, mask, pend; |
diff --git a/arch/powerpc/platforms/85xx/common.c b/arch/powerpc/platforms/85xx/common.c index 7bfb9b184dd4..23791de7b688 100644 --- a/arch/powerpc/platforms/85xx/common.c +++ b/arch/powerpc/platforms/85xx/common.c | |||
@@ -49,7 +49,7 @@ int __init mpc85xx_common_publish_devices(void) | |||
49 | return of_platform_bus_probe(NULL, mpc85xx_common_ids, NULL); | 49 | return of_platform_bus_probe(NULL, mpc85xx_common_ids, NULL); |
50 | } | 50 | } |
51 | #ifdef CONFIG_CPM2 | 51 | #ifdef CONFIG_CPM2 |
52 | static void cpm2_cascade(unsigned int irq, struct irq_desc *desc) | 52 | static void cpm2_cascade(struct irq_desc *desc) |
53 | { | 53 | { |
54 | struct irq_chip *chip = irq_desc_get_chip(desc); | 54 | struct irq_chip *chip = irq_desc_get_chip(desc); |
55 | int cascade_irq; | 55 | int cascade_irq; |
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_cds.c b/arch/powerpc/platforms/85xx/mpc85xx_cds.c index 13a8d1a3d55c..5ac70de3e48a 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_cds.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_cds.c | |||
@@ -192,10 +192,8 @@ void mpc85xx_cds_fixup_bus(struct pci_bus *bus) | |||
192 | } | 192 | } |
193 | 193 | ||
194 | #ifdef CONFIG_PPC_I8259 | 194 | #ifdef CONFIG_PPC_I8259 |
195 | static void mpc85xx_8259_cascade_handler(unsigned int __irq, | 195 | static void mpc85xx_8259_cascade_handler(struct irq_desc *desc) |
196 | struct irq_desc *desc) | ||
197 | { | 196 | { |
198 | unsigned int irq = irq_desc_get_irq(desc); | ||
199 | unsigned int cascade_irq = i8259_irq(); | 197 | unsigned int cascade_irq = i8259_irq(); |
200 | 198 | ||
201 | if (cascade_irq != NO_IRQ) | 199 | if (cascade_irq != NO_IRQ) |
@@ -203,7 +201,7 @@ static void mpc85xx_8259_cascade_handler(unsigned int __irq, | |||
203 | generic_handle_irq(cascade_irq); | 201 | generic_handle_irq(cascade_irq); |
204 | 202 | ||
205 | /* check for any interrupts from the shared IRQ line */ | 203 | /* check for any interrupts from the shared IRQ line */ |
206 | handle_fasteoi_irq(irq, desc); | 204 | handle_fasteoi_irq(desc); |
207 | } | 205 | } |
208 | 206 | ||
209 | static irqreturn_t mpc85xx_8259_cascade_action(int irq, void *dev_id) | 207 | static irqreturn_t mpc85xx_8259_cascade_action(int irq, void *dev_id) |
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_ds.c b/arch/powerpc/platforms/85xx/mpc85xx_ds.c index ffdf02121a7c..f858306dba6a 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_ds.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_ds.c | |||
@@ -46,7 +46,7 @@ | |||
46 | #endif | 46 | #endif |
47 | 47 | ||
48 | #ifdef CONFIG_PPC_I8259 | 48 | #ifdef CONFIG_PPC_I8259 |
49 | static void mpc85xx_8259_cascade(unsigned int irq, struct irq_desc *desc) | 49 | static void mpc85xx_8259_cascade(struct irq_desc *desc) |
50 | { | 50 | { |
51 | struct irq_chip *chip = irq_desc_get_chip(desc); | 51 | struct irq_chip *chip = irq_desc_get_chip(desc); |
52 | unsigned int cascade_irq = i8259_irq(); | 52 | unsigned int cascade_irq = i8259_irq(); |
diff --git a/arch/powerpc/platforms/85xx/socrates_fpga_pic.c b/arch/powerpc/platforms/85xx/socrates_fpga_pic.c index d78fda892e8b..b02d6a5bb035 100644 --- a/arch/powerpc/platforms/85xx/socrates_fpga_pic.c +++ b/arch/powerpc/platforms/85xx/socrates_fpga_pic.c | |||
@@ -91,7 +91,7 @@ static inline unsigned int socrates_fpga_pic_get_irq(unsigned int irq) | |||
91 | (irq_hw_number_t)i); | 91 | (irq_hw_number_t)i); |
92 | } | 92 | } |
93 | 93 | ||
94 | void socrates_fpga_pic_cascade(unsigned int __irq, struct irq_desc *desc) | 94 | static void socrates_fpga_pic_cascade(struct irq_desc *desc) |
95 | { | 95 | { |
96 | struct irq_chip *chip = irq_desc_get_chip(desc); | 96 | struct irq_chip *chip = irq_desc_get_chip(desc); |
97 | unsigned int irq = irq_desc_get_irq(desc); | 97 | unsigned int irq = irq_desc_get_irq(desc); |
diff --git a/arch/powerpc/platforms/86xx/pic.c b/arch/powerpc/platforms/86xx/pic.c index d5b98c0f958a..845defa1fd19 100644 --- a/arch/powerpc/platforms/86xx/pic.c +++ b/arch/powerpc/platforms/86xx/pic.c | |||
@@ -17,7 +17,7 @@ | |||
17 | #include <asm/i8259.h> | 17 | #include <asm/i8259.h> |
18 | 18 | ||
19 | #ifdef CONFIG_PPC_I8259 | 19 | #ifdef CONFIG_PPC_I8259 |
20 | static void mpc86xx_8259_cascade(unsigned int irq, struct irq_desc *desc) | 20 | static void mpc86xx_8259_cascade(struct irq_desc *desc) |
21 | { | 21 | { |
22 | struct irq_chip *chip = irq_desc_get_chip(desc); | 22 | struct irq_chip *chip = irq_desc_get_chip(desc); |
23 | unsigned int cascade_irq = i8259_irq(); | 23 | unsigned int cascade_irq = i8259_irq(); |
diff --git a/arch/powerpc/platforms/8xx/m8xx_setup.c b/arch/powerpc/platforms/8xx/m8xx_setup.c index d3037747031d..c289fc77b4ba 100644 --- a/arch/powerpc/platforms/8xx/m8xx_setup.c +++ b/arch/powerpc/platforms/8xx/m8xx_setup.c | |||
@@ -214,7 +214,7 @@ void mpc8xx_restart(char *cmd) | |||
214 | panic("Restart failed\n"); | 214 | panic("Restart failed\n"); |
215 | } | 215 | } |
216 | 216 | ||
217 | static void cpm_cascade(unsigned int irq, struct irq_desc *desc) | 217 | static void cpm_cascade(struct irq_desc *desc) |
218 | { | 218 | { |
219 | struct irq_chip *chip = irq_desc_get_chip(desc); | 219 | struct irq_chip *chip = irq_desc_get_chip(desc); |
220 | int cascade_irq = cpm_get_irq(); | 220 | int cascade_irq = cpm_get_irq(); |
diff --git a/arch/powerpc/platforms/cell/axon_msi.c b/arch/powerpc/platforms/cell/axon_msi.c index 306888acb737..e0e68a1c0d3c 100644 --- a/arch/powerpc/platforms/cell/axon_msi.c +++ b/arch/powerpc/platforms/cell/axon_msi.c | |||
@@ -93,7 +93,7 @@ static void msic_dcr_write(struct axon_msic *msic, unsigned int dcr_n, u32 val) | |||
93 | dcr_write(msic->dcr_host, dcr_n, val); | 93 | dcr_write(msic->dcr_host, dcr_n, val); |
94 | } | 94 | } |
95 | 95 | ||
96 | static void axon_msi_cascade(unsigned int irq, struct irq_desc *desc) | 96 | static void axon_msi_cascade(struct irq_desc *desc) |
97 | { | 97 | { |
98 | struct irq_chip *chip = irq_desc_get_chip(desc); | 98 | struct irq_chip *chip = irq_desc_get_chip(desc); |
99 | struct axon_msic *msic = irq_desc_get_handler_data(desc); | 99 | struct axon_msic *msic = irq_desc_get_handler_data(desc); |
diff --git a/arch/powerpc/platforms/cell/interrupt.c b/arch/powerpc/platforms/cell/interrupt.c index 6558e7e8ee50..9f609fc8d331 100644 --- a/arch/powerpc/platforms/cell/interrupt.c +++ b/arch/powerpc/platforms/cell/interrupt.c | |||
@@ -99,7 +99,7 @@ static void iic_ioexc_eoi(struct irq_data *d) | |||
99 | { | 99 | { |
100 | } | 100 | } |
101 | 101 | ||
102 | static void iic_ioexc_cascade(unsigned int __irq, struct irq_desc *desc) | 102 | static void iic_ioexc_cascade(struct irq_desc *desc) |
103 | { | 103 | { |
104 | struct irq_chip *chip = irq_desc_get_chip(desc); | 104 | struct irq_chip *chip = irq_desc_get_chip(desc); |
105 | struct cbe_iic_regs __iomem *node_iic = | 105 | struct cbe_iic_regs __iomem *node_iic = |
diff --git a/arch/powerpc/platforms/cell/spider-pic.c b/arch/powerpc/platforms/cell/spider-pic.c index 1f72f4ab6353..9d27de62dc62 100644 --- a/arch/powerpc/platforms/cell/spider-pic.c +++ b/arch/powerpc/platforms/cell/spider-pic.c | |||
@@ -199,7 +199,7 @@ static const struct irq_domain_ops spider_host_ops = { | |||
199 | .xlate = spider_host_xlate, | 199 | .xlate = spider_host_xlate, |
200 | }; | 200 | }; |
201 | 201 | ||
202 | static void spider_irq_cascade(unsigned int irq, struct irq_desc *desc) | 202 | static void spider_irq_cascade(struct irq_desc *desc) |
203 | { | 203 | { |
204 | struct irq_chip *chip = irq_desc_get_chip(desc); | 204 | struct irq_chip *chip = irq_desc_get_chip(desc); |
205 | struct spider_pic *pic = irq_desc_get_handler_data(desc); | 205 | struct spider_pic *pic = irq_desc_get_handler_data(desc); |
diff --git a/arch/powerpc/platforms/chrp/setup.c b/arch/powerpc/platforms/chrp/setup.c index 15ebc4e8a151..987d1b8d68e3 100644 --- a/arch/powerpc/platforms/chrp/setup.c +++ b/arch/powerpc/platforms/chrp/setup.c | |||
@@ -363,7 +363,7 @@ void __init chrp_setup_arch(void) | |||
363 | if (ppc_md.progress) ppc_md.progress("Linux/PPC "UTS_RELEASE"\n", 0x0); | 363 | if (ppc_md.progress) ppc_md.progress("Linux/PPC "UTS_RELEASE"\n", 0x0); |
364 | } | 364 | } |
365 | 365 | ||
366 | static void chrp_8259_cascade(unsigned int irq, struct irq_desc *desc) | 366 | static void chrp_8259_cascade(struct irq_desc *desc) |
367 | { | 367 | { |
368 | struct irq_chip *chip = irq_desc_get_chip(desc); | 368 | struct irq_chip *chip = irq_desc_get_chip(desc); |
369 | unsigned int cascade_irq = i8259_irq(); | 369 | unsigned int cascade_irq = i8259_irq(); |
diff --git a/arch/powerpc/platforms/embedded6xx/hlwd-pic.c b/arch/powerpc/platforms/embedded6xx/hlwd-pic.c index 9dd154d6f89a..9b7975706bfc 100644 --- a/arch/powerpc/platforms/embedded6xx/hlwd-pic.c +++ b/arch/powerpc/platforms/embedded6xx/hlwd-pic.c | |||
@@ -120,8 +120,7 @@ static unsigned int __hlwd_pic_get_irq(struct irq_domain *h) | |||
120 | return irq_linear_revmap(h, irq); | 120 | return irq_linear_revmap(h, irq); |
121 | } | 121 | } |
122 | 122 | ||
123 | static void hlwd_pic_irq_cascade(unsigned int cascade_virq, | 123 | static void hlwd_pic_irq_cascade(struct irq_desc *desc) |
124 | struct irq_desc *desc) | ||
125 | { | 124 | { |
126 | struct irq_chip *chip = irq_desc_get_chip(desc); | 125 | struct irq_chip *chip = irq_desc_get_chip(desc); |
127 | struct irq_domain *irq_domain = irq_desc_get_handler_data(desc); | 126 | struct irq_domain *irq_domain = irq_desc_get_handler_data(desc); |
diff --git a/arch/powerpc/platforms/embedded6xx/mvme5100.c b/arch/powerpc/platforms/embedded6xx/mvme5100.c index 1613303177e6..8f65aa3747f5 100644 --- a/arch/powerpc/platforms/embedded6xx/mvme5100.c +++ b/arch/powerpc/platforms/embedded6xx/mvme5100.c | |||
@@ -42,7 +42,7 @@ | |||
42 | static phys_addr_t pci_membase; | 42 | static phys_addr_t pci_membase; |
43 | static u_char *restart; | 43 | static u_char *restart; |
44 | 44 | ||
45 | static void mvme5100_8259_cascade(unsigned int irq, struct irq_desc *desc) | 45 | static void mvme5100_8259_cascade(struct irq_desc *desc) |
46 | { | 46 | { |
47 | struct irq_chip *chip = irq_desc_get_chip(desc); | 47 | struct irq_chip *chip = irq_desc_get_chip(desc); |
48 | unsigned int cascade_irq = i8259_irq(); | 48 | unsigned int cascade_irq = i8259_irq(); |
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c index 39a74fad3e04..9a83eb71b030 100644 --- a/arch/powerpc/platforms/pseries/setup.c +++ b/arch/powerpc/platforms/pseries/setup.c | |||
@@ -111,7 +111,7 @@ static void __init fwnmi_init(void) | |||
111 | fwnmi_active = 1; | 111 | fwnmi_active = 1; |
112 | } | 112 | } |
113 | 113 | ||
114 | static void pseries_8259_cascade(unsigned int irq, struct irq_desc *desc) | 114 | static void pseries_8259_cascade(struct irq_desc *desc) |
115 | { | 115 | { |
116 | struct irq_chip *chip = irq_desc_get_chip(desc); | 116 | struct irq_chip *chip = irq_desc_get_chip(desc); |
117 | unsigned int cascade_irq = i8259_irq(); | 117 | unsigned int cascade_irq = i8259_irq(); |
diff --git a/arch/powerpc/sysdev/ge/ge_pic.c b/arch/powerpc/sysdev/ge/ge_pic.c index 2bcb78bb3a15..d57b77573068 100644 --- a/arch/powerpc/sysdev/ge/ge_pic.c +++ b/arch/powerpc/sysdev/ge/ge_pic.c | |||
@@ -91,7 +91,7 @@ static int gef_pic_cascade_irq; | |||
91 | * should be masked out. | 91 | * should be masked out. |
92 | */ | 92 | */ |
93 | 93 | ||
94 | void gef_pic_cascade(unsigned int irq, struct irq_desc *desc) | 94 | static void gef_pic_cascade(struct irq_desc *desc) |
95 | { | 95 | { |
96 | struct irq_chip *chip = irq_desc_get_chip(desc); | 96 | struct irq_chip *chip = irq_desc_get_chip(desc); |
97 | unsigned int cascade_irq; | 97 | unsigned int cascade_irq; |
diff --git a/arch/powerpc/sysdev/ge/ge_pic.h b/arch/powerpc/sysdev/ge/ge_pic.h index 908dbd9826b6..5bf7e4b81e36 100644 --- a/arch/powerpc/sysdev/ge/ge_pic.h +++ b/arch/powerpc/sysdev/ge/ge_pic.h | |||
@@ -1,8 +1,6 @@ | |||
1 | #ifndef __GEF_PIC_H__ | 1 | #ifndef __GEF_PIC_H__ |
2 | #define __GEF_PIC_H__ | 2 | #define __GEF_PIC_H__ |
3 | 3 | ||
4 | |||
5 | void gef_pic_cascade(unsigned int, struct irq_desc *); | ||
6 | unsigned int gef_pic_get_irq(void); | 4 | unsigned int gef_pic_get_irq(void); |
7 | void gef_pic_init(struct device_node *); | 5 | void gef_pic_init(struct device_node *); |
8 | 6 | ||
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 97a8ae8f94dd..537e5db85a06 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c | |||
@@ -1181,7 +1181,7 @@ static int mpic_host_xlate(struct irq_domain *h, struct device_node *ct, | |||
1181 | } | 1181 | } |
1182 | 1182 | ||
1183 | /* IRQ handler for a secondary MPIC cascaded from another IRQ controller */ | 1183 | /* IRQ handler for a secondary MPIC cascaded from another IRQ controller */ |
1184 | static void mpic_cascade(unsigned int irq, struct irq_desc *desc) | 1184 | static void mpic_cascade(struct irq_desc *desc) |
1185 | { | 1185 | { |
1186 | struct irq_chip *chip = irq_desc_get_chip(desc); | 1186 | struct irq_chip *chip = irq_desc_get_chip(desc); |
1187 | struct mpic *mpic = irq_desc_get_handler_data(desc); | 1187 | struct mpic *mpic = irq_desc_get_handler_data(desc); |
diff --git a/arch/powerpc/sysdev/qe_lib/qe_ic.c b/arch/powerpc/sysdev/qe_lib/qe_ic.c index 47b352e4bc74..fbcc1f855a7f 100644 --- a/arch/powerpc/sysdev/qe_lib/qe_ic.c +++ b/arch/powerpc/sysdev/qe_lib/qe_ic.c | |||
@@ -311,8 +311,8 @@ unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic) | |||
311 | } | 311 | } |
312 | 312 | ||
313 | void __init qe_ic_init(struct device_node *node, unsigned int flags, | 313 | void __init qe_ic_init(struct device_node *node, unsigned int flags, |
314 | void (*low_handler)(unsigned int irq, struct irq_desc *desc), | 314 | void (*low_handler)(struct irq_desc *desc), |
315 | void (*high_handler)(unsigned int irq, struct irq_desc *desc)) | 315 | void (*high_handler)(struct irq_desc *desc)) |
316 | { | 316 | { |
317 | struct qe_ic *qe_ic; | 317 | struct qe_ic *qe_ic; |
318 | struct resource res; | 318 | struct resource res; |
diff --git a/arch/powerpc/sysdev/tsi108_pci.c b/arch/powerpc/sysdev/tsi108_pci.c index 57b54476e747..379de955aae3 100644 --- a/arch/powerpc/sysdev/tsi108_pci.c +++ b/arch/powerpc/sysdev/tsi108_pci.c | |||
@@ -428,7 +428,7 @@ void __init tsi108_pci_int_init(struct device_node *node) | |||
428 | init_pci_source(); | 428 | init_pci_source(); |
429 | } | 429 | } |
430 | 430 | ||
431 | void tsi108_irq_cascade(unsigned int irq, struct irq_desc *desc) | 431 | void tsi108_irq_cascade(struct irq_desc *desc) |
432 | { | 432 | { |
433 | struct irq_chip *chip = irq_desc_get_chip(desc); | 433 | struct irq_chip *chip = irq_desc_get_chip(desc); |
434 | unsigned int cascade_irq = get_pci_source(); | 434 | unsigned int cascade_irq = get_pci_source(); |
diff --git a/arch/powerpc/sysdev/uic.c b/arch/powerpc/sysdev/uic.c index d77345338671..6893d8f236df 100644 --- a/arch/powerpc/sysdev/uic.c +++ b/arch/powerpc/sysdev/uic.c | |||
@@ -194,7 +194,7 @@ static const struct irq_domain_ops uic_host_ops = { | |||
194 | .xlate = irq_domain_xlate_twocell, | 194 | .xlate = irq_domain_xlate_twocell, |
195 | }; | 195 | }; |
196 | 196 | ||
197 | void uic_irq_cascade(unsigned int virq, struct irq_desc *desc) | 197 | static void uic_irq_cascade(struct irq_desc *desc) |
198 | { | 198 | { |
199 | struct irq_chip *chip = irq_desc_get_chip(desc); | 199 | struct irq_chip *chip = irq_desc_get_chip(desc); |
200 | struct irq_data *idata = irq_desc_get_irq_data(desc); | 200 | struct irq_data *idata = irq_desc_get_irq_data(desc); |
diff --git a/arch/powerpc/sysdev/xilinx_intc.c b/arch/powerpc/sysdev/xilinx_intc.c index 43b8b275bc5c..0f52d7955796 100644 --- a/arch/powerpc/sysdev/xilinx_intc.c +++ b/arch/powerpc/sysdev/xilinx_intc.c | |||
@@ -222,7 +222,7 @@ int xilinx_intc_get_irq(void) | |||
222 | /* | 222 | /* |
223 | * Support code for cascading to 8259 interrupt controllers | 223 | * Support code for cascading to 8259 interrupt controllers |
224 | */ | 224 | */ |
225 | static void xilinx_i8259_cascade(unsigned int irq, struct irq_desc *desc) | 225 | static void xilinx_i8259_cascade(struct irq_desc *desc) |
226 | { | 226 | { |
227 | struct irq_chip *chip = irq_desc_get_chip(desc); | 227 | struct irq_chip *chip = irq_desc_get_chip(desc); |
228 | unsigned int cascade_irq = i8259_irq(); | 228 | unsigned int cascade_irq = i8259_irq(); |
diff --git a/arch/sh/boards/mach-se/7343/irq.c b/arch/sh/boards/mach-se/7343/irq.c index 6f97a8f0d0d6..6129aef6db76 100644 --- a/arch/sh/boards/mach-se/7343/irq.c +++ b/arch/sh/boards/mach-se/7343/irq.c | |||
@@ -29,7 +29,7 @@ | |||
29 | static void __iomem *se7343_irq_regs; | 29 | static void __iomem *se7343_irq_regs; |
30 | struct irq_domain *se7343_irq_domain; | 30 | struct irq_domain *se7343_irq_domain; |
31 | 31 | ||
32 | static void se7343_irq_demux(unsigned int irq, struct irq_desc *desc) | 32 | static void se7343_irq_demux(struct irq_desc *desc) |
33 | { | 33 | { |
34 | struct irq_data *data = irq_desc_get_irq_data(desc); | 34 | struct irq_data *data = irq_desc_get_irq_data(desc); |
35 | struct irq_chip *chip = irq_data_get_irq_chip(data); | 35 | struct irq_chip *chip = irq_data_get_irq_chip(data); |
diff --git a/arch/sh/boards/mach-se/7722/irq.c b/arch/sh/boards/mach-se/7722/irq.c index 60aebd14ccf8..24c74a88290c 100644 --- a/arch/sh/boards/mach-se/7722/irq.c +++ b/arch/sh/boards/mach-se/7722/irq.c | |||
@@ -28,7 +28,7 @@ | |||
28 | static void __iomem *se7722_irq_regs; | 28 | static void __iomem *se7722_irq_regs; |
29 | struct irq_domain *se7722_irq_domain; | 29 | struct irq_domain *se7722_irq_domain; |
30 | 30 | ||
31 | static void se7722_irq_demux(unsigned int irq, struct irq_desc *desc) | 31 | static void se7722_irq_demux(struct irq_desc *desc) |
32 | { | 32 | { |
33 | struct irq_data *data = irq_desc_get_irq_data(desc); | 33 | struct irq_data *data = irq_desc_get_irq_data(desc); |
34 | struct irq_chip *chip = irq_data_get_irq_chip(data); | 34 | struct irq_chip *chip = irq_data_get_irq_chip(data); |
diff --git a/arch/sh/boards/mach-se/7724/irq.c b/arch/sh/boards/mach-se/7724/irq.c index 9f2033898652..64e681e66c57 100644 --- a/arch/sh/boards/mach-se/7724/irq.c +++ b/arch/sh/boards/mach-se/7724/irq.c | |||
@@ -92,7 +92,7 @@ static struct irq_chip se7724_irq_chip __read_mostly = { | |||
92 | .irq_unmask = enable_se7724_irq, | 92 | .irq_unmask = enable_se7724_irq, |
93 | }; | 93 | }; |
94 | 94 | ||
95 | static void se7724_irq_demux(unsigned int __irq, struct irq_desc *desc) | 95 | static void se7724_irq_demux(struct irq_desc *desc) |
96 | { | 96 | { |
97 | unsigned int irq = irq_desc_get_irq(desc); | 97 | unsigned int irq = irq_desc_get_irq(desc); |
98 | struct fpga_irq set = get_fpga_irq(irq); | 98 | struct fpga_irq set = get_fpga_irq(irq); |
diff --git a/arch/sh/boards/mach-x3proto/gpio.c b/arch/sh/boards/mach-x3proto/gpio.c index 24555c364d5b..1fb2cbee25f2 100644 --- a/arch/sh/boards/mach-x3proto/gpio.c +++ b/arch/sh/boards/mach-x3proto/gpio.c | |||
@@ -60,7 +60,7 @@ static int x3proto_gpio_to_irq(struct gpio_chip *chip, unsigned gpio) | |||
60 | return virq; | 60 | return virq; |
61 | } | 61 | } |
62 | 62 | ||
63 | static void x3proto_gpio_irq_handler(unsigned int irq, struct irq_desc *desc) | 63 | static void x3proto_gpio_irq_handler(struct irq_desc *desc) |
64 | { | 64 | { |
65 | struct irq_data *data = irq_desc_get_irq_data(desc); | 65 | struct irq_data *data = irq_desc_get_irq_data(desc); |
66 | struct irq_chip *chip = irq_data_get_irq_chip(data); | 66 | struct irq_chip *chip = irq_data_get_irq_chip(data); |
diff --git a/arch/sh/cchips/hd6446x/hd64461.c b/arch/sh/cchips/hd6446x/hd64461.c index e9735616bdc8..8180092502f7 100644 --- a/arch/sh/cchips/hd6446x/hd64461.c +++ b/arch/sh/cchips/hd6446x/hd64461.c | |||
@@ -56,7 +56,7 @@ static struct irq_chip hd64461_irq_chip = { | |||
56 | .irq_unmask = hd64461_unmask_irq, | 56 | .irq_unmask = hd64461_unmask_irq, |
57 | }; | 57 | }; |
58 | 58 | ||
59 | static void hd64461_irq_demux(unsigned int irq, struct irq_desc *desc) | 59 | static void hd64461_irq_demux(struct irq_desc *desc) |
60 | { | 60 | { |
61 | unsigned short intv = __raw_readw(HD64461_NIRR); | 61 | unsigned short intv = __raw_readw(HD64461_NIRR); |
62 | unsigned int ext_irq = HD64461_IRQBASE; | 62 | unsigned int ext_irq = HD64461_IRQBASE; |
diff --git a/arch/sparc/kernel/leon_kernel.c b/arch/sparc/kernel/leon_kernel.c index 0299f052a2ef..42efcf85f721 100644 --- a/arch/sparc/kernel/leon_kernel.c +++ b/arch/sparc/kernel/leon_kernel.c | |||
@@ -53,7 +53,7 @@ static inline unsigned int leon_eirq_get(int cpu) | |||
53 | } | 53 | } |
54 | 54 | ||
55 | /* Handle one or multiple IRQs from the extended interrupt controller */ | 55 | /* Handle one or multiple IRQs from the extended interrupt controller */ |
56 | static void leon_handle_ext_irq(unsigned int irq, struct irq_desc *desc) | 56 | static void leon_handle_ext_irq(struct irq_desc *desc) |
57 | { | 57 | { |
58 | unsigned int eirq; | 58 | unsigned int eirq; |
59 | struct irq_bucket *p; | 59 | struct irq_bucket *p; |
diff --git a/arch/sparc/kernel/leon_pci_grpci1.c b/arch/sparc/kernel/leon_pci_grpci1.c index 3382f7b3eeef..1e77128a8f88 100644 --- a/arch/sparc/kernel/leon_pci_grpci1.c +++ b/arch/sparc/kernel/leon_pci_grpci1.c | |||
@@ -357,7 +357,7 @@ static struct irq_chip grpci1_irq = { | |||
357 | }; | 357 | }; |
358 | 358 | ||
359 | /* Handle one or multiple IRQs from the PCI core */ | 359 | /* Handle one or multiple IRQs from the PCI core */ |
360 | static void grpci1_pci_flow_irq(unsigned int irq, struct irq_desc *desc) | 360 | static void grpci1_pci_flow_irq(struct irq_desc *desc) |
361 | { | 361 | { |
362 | struct grpci1_priv *priv = grpci1priv; | 362 | struct grpci1_priv *priv = grpci1priv; |
363 | int i, ack = 0; | 363 | int i, ack = 0; |
diff --git a/arch/sparc/kernel/leon_pci_grpci2.c b/arch/sparc/kernel/leon_pci_grpci2.c index 814fb1729b12..f727c4de1316 100644 --- a/arch/sparc/kernel/leon_pci_grpci2.c +++ b/arch/sparc/kernel/leon_pci_grpci2.c | |||
@@ -498,7 +498,7 @@ static struct irq_chip grpci2_irq = { | |||
498 | }; | 498 | }; |
499 | 499 | ||
500 | /* Handle one or multiple IRQs from the PCI core */ | 500 | /* Handle one or multiple IRQs from the PCI core */ |
501 | static void grpci2_pci_flow_irq(unsigned int irq, struct irq_desc *desc) | 501 | static void grpci2_pci_flow_irq(struct irq_desc *desc) |
502 | { | 502 | { |
503 | struct grpci2_priv *priv = grpci2priv; | 503 | struct grpci2_priv *priv = grpci2priv; |
504 | int i, ack = 0; | 504 | int i, ack = 0; |
diff --git a/arch/tile/kernel/pci_gx.c b/arch/tile/kernel/pci_gx.c index b3f73fd764a3..4c017d0d2de8 100644 --- a/arch/tile/kernel/pci_gx.c +++ b/arch/tile/kernel/pci_gx.c | |||
@@ -304,17 +304,16 @@ static struct irq_chip tilegx_legacy_irq_chip = { | |||
304 | * to Linux which just calls handle_level_irq() after clearing the | 304 | * to Linux which just calls handle_level_irq() after clearing the |
305 | * MAC INTx Assert status bit associated with this interrupt. | 305 | * MAC INTx Assert status bit associated with this interrupt. |
306 | */ | 306 | */ |
307 | static void trio_handle_level_irq(unsigned int __irq, struct irq_desc *desc) | 307 | static void trio_handle_level_irq(struct irq_desc *desc) |
308 | { | 308 | { |
309 | struct pci_controller *controller = irq_desc_get_handler_data(desc); | 309 | struct pci_controller *controller = irq_desc_get_handler_data(desc); |
310 | gxio_trio_context_t *trio_context = controller->trio; | 310 | gxio_trio_context_t *trio_context = controller->trio; |
311 | uint64_t intx = (uint64_t)irq_desc_get_chip_data(desc); | 311 | uint64_t intx = (uint64_t)irq_desc_get_chip_data(desc); |
312 | unsigned int irq = irq_desc_get_irq(desc); | ||
313 | int mac = controller->mac; | 312 | int mac = controller->mac; |
314 | unsigned int reg_offset; | 313 | unsigned int reg_offset; |
315 | uint64_t level_mask; | 314 | uint64_t level_mask; |
316 | 315 | ||
317 | handle_level_irq(irq, desc); | 316 | handle_level_irq(desc); |
318 | 317 | ||
319 | /* | 318 | /* |
320 | * Clear the INTx Level status, otherwise future interrupts are | 319 | * Clear the INTx Level status, otherwise future interrupts are |
diff --git a/arch/unicore32/kernel/irq.c b/arch/unicore32/kernel/irq.c index c53729d92e8d..eb1fd0030359 100644 --- a/arch/unicore32/kernel/irq.c +++ b/arch/unicore32/kernel/irq.c | |||
@@ -112,7 +112,7 @@ static struct irq_chip puv3_low_gpio_chip = { | |||
112 | * irq_controller_lock held, and IRQs disabled. Decode the IRQ | 112 | * irq_controller_lock held, and IRQs disabled. Decode the IRQ |
113 | * and call the handler. | 113 | * and call the handler. |
114 | */ | 114 | */ |
115 | static void puv3_gpio_handler(unsigned int __irq, struct irq_desc *desc) | 115 | static void puv3_gpio_handler(struct irq_desc *desc) |
116 | { | 116 | { |
117 | unsigned int mask, irq; | 117 | unsigned int mask, irq; |
118 | 118 | ||
diff --git a/arch/x86/kernel/irq_32.c b/arch/x86/kernel/irq_32.c index c80cf6699678..38da8f29a9c8 100644 --- a/arch/x86/kernel/irq_32.c +++ b/arch/x86/kernel/irq_32.c | |||
@@ -68,11 +68,10 @@ static inline void *current_stack(void) | |||
68 | return (void *)(current_stack_pointer() & ~(THREAD_SIZE - 1)); | 68 | return (void *)(current_stack_pointer() & ~(THREAD_SIZE - 1)); |
69 | } | 69 | } |
70 | 70 | ||
71 | static inline int | 71 | static inline int execute_on_irq_stack(int overflow, struct irq_desc *desc) |
72 | execute_on_irq_stack(int overflow, struct irq_desc *desc, int irq) | ||
73 | { | 72 | { |
74 | struct irq_stack *curstk, *irqstk; | 73 | struct irq_stack *curstk, *irqstk; |
75 | u32 *isp, *prev_esp, arg1, arg2; | 74 | u32 *isp, *prev_esp, arg1; |
76 | 75 | ||
77 | curstk = (struct irq_stack *) current_stack(); | 76 | curstk = (struct irq_stack *) current_stack(); |
78 | irqstk = __this_cpu_read(hardirq_stack); | 77 | irqstk = __this_cpu_read(hardirq_stack); |
@@ -98,8 +97,8 @@ execute_on_irq_stack(int overflow, struct irq_desc *desc, int irq) | |||
98 | asm volatile("xchgl %%ebx,%%esp \n" | 97 | asm volatile("xchgl %%ebx,%%esp \n" |
99 | "call *%%edi \n" | 98 | "call *%%edi \n" |
100 | "movl %%ebx,%%esp \n" | 99 | "movl %%ebx,%%esp \n" |
101 | : "=a" (arg1), "=d" (arg2), "=b" (isp) | 100 | : "=a" (arg1), "=b" (isp) |
102 | : "0" (irq), "1" (desc), "2" (isp), | 101 | : "0" (desc), "1" (isp), |
103 | "D" (desc->handle_irq) | 102 | "D" (desc->handle_irq) |
104 | : "memory", "cc", "ecx"); | 103 | : "memory", "cc", "ecx"); |
105 | return 1; | 104 | return 1; |
@@ -150,19 +149,15 @@ void do_softirq_own_stack(void) | |||
150 | 149 | ||
151 | bool handle_irq(struct irq_desc *desc, struct pt_regs *regs) | 150 | bool handle_irq(struct irq_desc *desc, struct pt_regs *regs) |
152 | { | 151 | { |
153 | unsigned int irq; | 152 | int overflow = check_stack_overflow(); |
154 | int overflow; | ||
155 | |||
156 | overflow = check_stack_overflow(); | ||
157 | 153 | ||
158 | if (IS_ERR_OR_NULL(desc)) | 154 | if (IS_ERR_OR_NULL(desc)) |
159 | return false; | 155 | return false; |
160 | 156 | ||
161 | irq = irq_desc_get_irq(desc); | 157 | if (user_mode(regs) || !execute_on_irq_stack(overflow, desc)) { |
162 | if (user_mode(regs) || !execute_on_irq_stack(overflow, desc, irq)) { | ||
163 | if (unlikely(overflow)) | 158 | if (unlikely(overflow)) |
164 | print_stack_overflow(); | 159 | print_stack_overflow(); |
165 | generic_handle_irq_desc(irq, desc); | 160 | generic_handle_irq_desc(desc); |
166 | } | 161 | } |
167 | 162 | ||
168 | return true; | 163 | return true; |
diff --git a/arch/x86/kernel/irq_64.c b/arch/x86/kernel/irq_64.c index ff16ccb918f2..c767cf2bc80a 100644 --- a/arch/x86/kernel/irq_64.c +++ b/arch/x86/kernel/irq_64.c | |||
@@ -75,6 +75,6 @@ bool handle_irq(struct irq_desc *desc, struct pt_regs *regs) | |||
75 | if (unlikely(IS_ERR_OR_NULL(desc))) | 75 | if (unlikely(IS_ERR_OR_NULL(desc))) |
76 | return false; | 76 | return false; |
77 | 77 | ||
78 | generic_handle_irq_desc(irq_desc_get_irq(desc), desc); | 78 | generic_handle_irq_desc(desc); |
79 | return true; | 79 | return true; |
80 | } | 80 | } |
diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c index 161804de124a..a0d09f6c6533 100644 --- a/arch/x86/lguest/boot.c +++ b/arch/x86/lguest/boot.c | |||
@@ -1015,7 +1015,7 @@ static struct clock_event_device lguest_clockevent = { | |||
1015 | * This is the Guest timer interrupt handler (hardware interrupt 0). We just | 1015 | * This is the Guest timer interrupt handler (hardware interrupt 0). We just |
1016 | * call the clockevent infrastructure and it does whatever needs doing. | 1016 | * call the clockevent infrastructure and it does whatever needs doing. |
1017 | */ | 1017 | */ |
1018 | static void lguest_time_irq(unsigned int irq, struct irq_desc *desc) | 1018 | static void lguest_time_irq(struct irq_desc *desc) |
1019 | { | 1019 | { |
1020 | unsigned long flags; | 1020 | unsigned long flags; |
1021 | 1021 | ||