diff options
188 files changed, 281 insertions, 340 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 | ||
diff --git a/drivers/dma/ipu/ipu_irq.c b/drivers/dma/ipu/ipu_irq.c index 4768a829253a..2bf37e68ad0f 100644 --- a/drivers/dma/ipu/ipu_irq.c +++ b/drivers/dma/ipu/ipu_irq.c | |||
@@ -266,7 +266,7 @@ int ipu_irq_unmap(unsigned int source) | |||
266 | } | 266 | } |
267 | 267 | ||
268 | /* Chained IRQ handler for IPU function and error interrupt */ | 268 | /* Chained IRQ handler for IPU function and error interrupt */ |
269 | static void ipu_irq_handler(unsigned int __irq, struct irq_desc *desc) | 269 | static void ipu_irq_handler(struct irq_desc *desc) |
270 | { | 270 | { |
271 | struct ipu *ipu = irq_desc_get_handler_data(desc); | 271 | struct ipu *ipu = irq_desc_get_handler_data(desc); |
272 | u32 status; | 272 | u32 status; |
diff --git a/drivers/gpio/gpio-altera.c b/drivers/gpio/gpio-altera.c index 9b7e0b3db387..1b44941574fa 100644 --- a/drivers/gpio/gpio-altera.c +++ b/drivers/gpio/gpio-altera.c | |||
@@ -201,8 +201,7 @@ static int altera_gpio_direction_output(struct gpio_chip *gc, | |||
201 | return 0; | 201 | return 0; |
202 | } | 202 | } |
203 | 203 | ||
204 | static void altera_gpio_irq_edge_handler(unsigned int irq, | 204 | static void altera_gpio_irq_edge_handler(struct irq_desc *desc) |
205 | struct irq_desc *desc) | ||
206 | { | 205 | { |
207 | struct altera_gpio_chip *altera_gc; | 206 | struct altera_gpio_chip *altera_gc; |
208 | struct irq_chip *chip; | 207 | struct irq_chip *chip; |
@@ -231,8 +230,7 @@ static void altera_gpio_irq_edge_handler(unsigned int irq, | |||
231 | } | 230 | } |
232 | 231 | ||
233 | 232 | ||
234 | static void altera_gpio_irq_leveL_high_handler(unsigned int irq, | 233 | static void altera_gpio_irq_leveL_high_handler(struct irq_desc *desc) |
235 | struct irq_desc *desc) | ||
236 | { | 234 | { |
237 | struct altera_gpio_chip *altera_gc; | 235 | struct altera_gpio_chip *altera_gc; |
238 | struct irq_chip *chip; | 236 | struct irq_chip *chip; |
diff --git a/drivers/gpio/gpio-bcm-kona.c b/drivers/gpio/gpio-bcm-kona.c index 31b90ac15204..33a1f9779b86 100644 --- a/drivers/gpio/gpio-bcm-kona.c +++ b/drivers/gpio/gpio-bcm-kona.c | |||
@@ -433,7 +433,7 @@ static int bcm_kona_gpio_irq_set_type(struct irq_data *d, unsigned int type) | |||
433 | return 0; | 433 | return 0; |
434 | } | 434 | } |
435 | 435 | ||
436 | static void bcm_kona_gpio_irq_handler(unsigned int irq, struct irq_desc *desc) | 436 | static void bcm_kona_gpio_irq_handler(struct irq_desc *desc) |
437 | { | 437 | { |
438 | void __iomem *reg_base; | 438 | void __iomem *reg_base; |
439 | int bit, bank_id; | 439 | int bit, bank_id; |
diff --git a/drivers/gpio/gpio-brcmstb.c b/drivers/gpio/gpio-brcmstb.c index 9ea86d2ac054..4c64627c6bb5 100644 --- a/drivers/gpio/gpio-brcmstb.c +++ b/drivers/gpio/gpio-brcmstb.c | |||
@@ -236,7 +236,7 @@ static void brcmstb_gpio_irq_bank_handler(struct brcmstb_gpio_bank *bank) | |||
236 | } | 236 | } |
237 | 237 | ||
238 | /* Each UPG GIO block has one IRQ for all banks */ | 238 | /* Each UPG GIO block has one IRQ for all banks */ |
239 | static void brcmstb_gpio_irq_handler(unsigned int irq, struct irq_desc *desc) | 239 | static void brcmstb_gpio_irq_handler(struct irq_desc *desc) |
240 | { | 240 | { |
241 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); | 241 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); |
242 | struct brcmstb_gpio_priv *priv = brcmstb_gpio_gc_to_priv(gc); | 242 | struct brcmstb_gpio_priv *priv = brcmstb_gpio_gc_to_priv(gc); |
diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c index 94b0ab709721..5e715388803d 100644 --- a/drivers/gpio/gpio-davinci.c +++ b/drivers/gpio/gpio-davinci.c | |||
@@ -326,8 +326,7 @@ static struct irq_chip gpio_irqchip = { | |||
326 | .flags = IRQCHIP_SET_TYPE_MASKED, | 326 | .flags = IRQCHIP_SET_TYPE_MASKED, |
327 | }; | 327 | }; |
328 | 328 | ||
329 | static void | 329 | static void gpio_irq_handler(struct irq_desc *desc) |
330 | gpio_irq_handler(unsigned __irq, struct irq_desc *desc) | ||
331 | { | 330 | { |
332 | unsigned int irq = irq_desc_get_irq(desc); | 331 | unsigned int irq = irq_desc_get_irq(desc); |
333 | struct davinci_gpio_regs __iomem *g; | 332 | struct davinci_gpio_regs __iomem *g; |
diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c index c5be4b9b8baf..fcd5b0acfc72 100644 --- a/drivers/gpio/gpio-dwapb.c +++ b/drivers/gpio/gpio-dwapb.c | |||
@@ -147,7 +147,7 @@ static u32 dwapb_do_irq(struct dwapb_gpio *gpio) | |||
147 | return ret; | 147 | return ret; |
148 | } | 148 | } |
149 | 149 | ||
150 | static void dwapb_irq_handler(u32 irq, struct irq_desc *desc) | 150 | static void dwapb_irq_handler(struct irq_desc *desc) |
151 | { | 151 | { |
152 | struct dwapb_gpio *gpio = irq_desc_get_handler_data(desc); | 152 | struct dwapb_gpio *gpio = irq_desc_get_handler_data(desc); |
153 | struct irq_chip *chip = irq_desc_get_chip(desc); | 153 | struct irq_chip *chip = irq_desc_get_chip(desc); |
diff --git a/drivers/gpio/gpio-ep93xx.c b/drivers/gpio/gpio-ep93xx.c index 9d90366ea259..3e3947b35c83 100644 --- a/drivers/gpio/gpio-ep93xx.c +++ b/drivers/gpio/gpio-ep93xx.c | |||
@@ -78,7 +78,7 @@ static void ep93xx_gpio_int_debounce(unsigned int irq, bool enable) | |||
78 | EP93XX_GPIO_REG(int_debounce_register_offset[port])); | 78 | EP93XX_GPIO_REG(int_debounce_register_offset[port])); |
79 | } | 79 | } |
80 | 80 | ||
81 | static void ep93xx_gpio_ab_irq_handler(unsigned int irq, struct irq_desc *desc) | 81 | static void ep93xx_gpio_ab_irq_handler(struct irq_desc *desc) |
82 | { | 82 | { |
83 | unsigned char status; | 83 | unsigned char status; |
84 | int i; | 84 | int i; |
@@ -100,8 +100,7 @@ static void ep93xx_gpio_ab_irq_handler(unsigned int irq, struct irq_desc *desc) | |||
100 | } | 100 | } |
101 | } | 101 | } |
102 | 102 | ||
103 | static void ep93xx_gpio_f_irq_handler(unsigned int __irq, | 103 | static void ep93xx_gpio_f_irq_handler(struct irq_desc *desc) |
104 | struct irq_desc *desc) | ||
105 | { | 104 | { |
106 | /* | 105 | /* |
107 | * map discontiguous hw irq range to continuous sw irq range: | 106 | * map discontiguous hw irq range to continuous sw irq range: |
diff --git a/drivers/gpio/gpio-intel-mid.c b/drivers/gpio/gpio-intel-mid.c index aa28c65eb6b4..70097472b02c 100644 --- a/drivers/gpio/gpio-intel-mid.c +++ b/drivers/gpio/gpio-intel-mid.c | |||
@@ -301,7 +301,7 @@ static const struct pci_device_id intel_gpio_ids[] = { | |||
301 | }; | 301 | }; |
302 | MODULE_DEVICE_TABLE(pci, intel_gpio_ids); | 302 | MODULE_DEVICE_TABLE(pci, intel_gpio_ids); |
303 | 303 | ||
304 | static void intel_mid_irq_handler(unsigned irq, struct irq_desc *desc) | 304 | static void intel_mid_irq_handler(struct irq_desc *desc) |
305 | { | 305 | { |
306 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); | 306 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); |
307 | struct intel_mid_gpio *priv = to_intel_gpio_priv(gc); | 307 | struct intel_mid_gpio *priv = to_intel_gpio_priv(gc); |
diff --git a/drivers/gpio/gpio-lynxpoint.c b/drivers/gpio/gpio-lynxpoint.c index 153af464c7a7..127c37b380ae 100644 --- a/drivers/gpio/gpio-lynxpoint.c +++ b/drivers/gpio/gpio-lynxpoint.c | |||
@@ -234,7 +234,7 @@ static int lp_gpio_direction_output(struct gpio_chip *chip, | |||
234 | return 0; | 234 | return 0; |
235 | } | 235 | } |
236 | 236 | ||
237 | static void lp_gpio_irq_handler(unsigned hwirq, struct irq_desc *desc) | 237 | static void lp_gpio_irq_handler(struct irq_desc *desc) |
238 | { | 238 | { |
239 | struct irq_data *data = irq_desc_get_irq_data(desc); | 239 | struct irq_data *data = irq_desc_get_irq_data(desc); |
240 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); | 240 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); |
diff --git a/drivers/gpio/gpio-mpc8xxx.c b/drivers/gpio/gpio-mpc8xxx.c index 8ef7a12de983..48ef368347ab 100644 --- a/drivers/gpio/gpio-mpc8xxx.c +++ b/drivers/gpio/gpio-mpc8xxx.c | |||
@@ -194,7 +194,7 @@ static int mpc8xxx_gpio_to_irq(struct gpio_chip *gc, unsigned offset) | |||
194 | return -ENXIO; | 194 | return -ENXIO; |
195 | } | 195 | } |
196 | 196 | ||
197 | static void mpc8xxx_gpio_irq_cascade(unsigned int irq, struct irq_desc *desc) | 197 | static void mpc8xxx_gpio_irq_cascade(struct irq_desc *desc) |
198 | { | 198 | { |
199 | struct mpc8xxx_gpio_chip *mpc8xxx_gc = irq_desc_get_handler_data(desc); | 199 | struct mpc8xxx_gpio_chip *mpc8xxx_gc = irq_desc_get_handler_data(desc); |
200 | struct irq_chip *chip = irq_desc_get_chip(desc); | 200 | struct irq_chip *chip = irq_desc_get_chip(desc); |
diff --git a/drivers/gpio/gpio-msic.c b/drivers/gpio/gpio-msic.c index 7bcfb87a5fa6..22523aae8abe 100644 --- a/drivers/gpio/gpio-msic.c +++ b/drivers/gpio/gpio-msic.c | |||
@@ -232,7 +232,7 @@ static struct irq_chip msic_irqchip = { | |||
232 | .irq_bus_sync_unlock = msic_bus_sync_unlock, | 232 | .irq_bus_sync_unlock = msic_bus_sync_unlock, |
233 | }; | 233 | }; |
234 | 234 | ||
235 | static void msic_gpio_irq_handler(unsigned irq, struct irq_desc *desc) | 235 | static void msic_gpio_irq_handler(struct irq_desc *desc) |
236 | { | 236 | { |
237 | struct irq_data *data = irq_desc_get_irq_data(desc); | 237 | struct irq_data *data = irq_desc_get_irq_data(desc); |
238 | struct msic_gpio *mg = irq_data_get_irq_handler_data(data); | 238 | struct msic_gpio *mg = irq_data_get_irq_handler_data(data); |
diff --git a/drivers/gpio/gpio-msm-v2.c b/drivers/gpio/gpio-msm-v2.c index d2012cfb5571..4b4222145f10 100644 --- a/drivers/gpio/gpio-msm-v2.c +++ b/drivers/gpio/gpio-msm-v2.c | |||
@@ -305,7 +305,7 @@ static int msm_gpio_irq_set_type(struct irq_data *d, unsigned int flow_type) | |||
305 | * which have been set as summary IRQ lines and which are triggered, | 305 | * which have been set as summary IRQ lines and which are triggered, |
306 | * and to call their interrupt handlers. | 306 | * and to call their interrupt handlers. |
307 | */ | 307 | */ |
308 | static void msm_summary_irq_handler(unsigned int irq, struct irq_desc *desc) | 308 | static void msm_summary_irq_handler(struct irq_desc *desc) |
309 | { | 309 | { |
310 | unsigned long i; | 310 | unsigned long i; |
311 | struct irq_chip *chip = irq_desc_get_chip(desc); | 311 | struct irq_chip *chip = irq_desc_get_chip(desc); |
diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c index b396bf3bf294..df418b81456d 100644 --- a/drivers/gpio/gpio-mvebu.c +++ b/drivers/gpio/gpio-mvebu.c | |||
@@ -458,7 +458,7 @@ static int mvebu_gpio_irq_set_type(struct irq_data *d, unsigned int type) | |||
458 | return 0; | 458 | return 0; |
459 | } | 459 | } |
460 | 460 | ||
461 | static void mvebu_gpio_irq_handler(unsigned int __irq, struct irq_desc *desc) | 461 | static void mvebu_gpio_irq_handler(struct irq_desc *desc) |
462 | { | 462 | { |
463 | struct mvebu_gpio_chip *mvchip = irq_desc_get_handler_data(desc); | 463 | struct mvebu_gpio_chip *mvchip = irq_desc_get_handler_data(desc); |
464 | struct irq_chip *chip = irq_desc_get_chip(desc); | 464 | struct irq_chip *chip = irq_desc_get_chip(desc); |
diff --git a/drivers/gpio/gpio-mxc.c b/drivers/gpio/gpio-mxc.c index b752b560126e..5e3235a73bf9 100644 --- a/drivers/gpio/gpio-mxc.c +++ b/drivers/gpio/gpio-mxc.c | |||
@@ -272,7 +272,7 @@ static void mxc_gpio_irq_handler(struct mxc_gpio_port *port, u32 irq_stat) | |||
272 | } | 272 | } |
273 | 273 | ||
274 | /* MX1 and MX3 has one interrupt *per* gpio port */ | 274 | /* MX1 and MX3 has one interrupt *per* gpio port */ |
275 | static void mx3_gpio_irq_handler(u32 irq, struct irq_desc *desc) | 275 | static void mx3_gpio_irq_handler(struct irq_desc *desc) |
276 | { | 276 | { |
277 | u32 irq_stat; | 277 | u32 irq_stat; |
278 | struct mxc_gpio_port *port = irq_desc_get_handler_data(desc); | 278 | struct mxc_gpio_port *port = irq_desc_get_handler_data(desc); |
@@ -288,7 +288,7 @@ static void mx3_gpio_irq_handler(u32 irq, struct irq_desc *desc) | |||
288 | } | 288 | } |
289 | 289 | ||
290 | /* MX2 has one interrupt *for all* gpio ports */ | 290 | /* MX2 has one interrupt *for all* gpio ports */ |
291 | static void mx2_gpio_irq_handler(u32 irq, struct irq_desc *desc) | 291 | static void mx2_gpio_irq_handler(struct irq_desc *desc) |
292 | { | 292 | { |
293 | u32 irq_msk, irq_stat; | 293 | u32 irq_msk, irq_stat; |
294 | struct mxc_gpio_port *port; | 294 | struct mxc_gpio_port *port; |
diff --git a/drivers/gpio/gpio-mxs.c b/drivers/gpio/gpio-mxs.c index b7f383eb18d9..b7763f078b23 100644 --- a/drivers/gpio/gpio-mxs.c +++ b/drivers/gpio/gpio-mxs.c | |||
@@ -154,7 +154,7 @@ static void mxs_flip_edge(struct mxs_gpio_port *port, u32 gpio) | |||
154 | } | 154 | } |
155 | 155 | ||
156 | /* MXS has one interrupt *per* gpio port */ | 156 | /* MXS has one interrupt *per* gpio port */ |
157 | static void mxs_gpio_irq_handler(u32 irq, struct irq_desc *desc) | 157 | static void mxs_gpio_irq_handler(struct irq_desc *desc) |
158 | { | 158 | { |
159 | u32 irq_stat; | 159 | u32 irq_stat; |
160 | struct mxs_gpio_port *port = irq_desc_get_handler_data(desc); | 160 | struct mxs_gpio_port *port = irq_desc_get_handler_data(desc); |
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c index 2ae0d47e9554..9df014c0e3e4 100644 --- a/drivers/gpio/gpio-omap.c +++ b/drivers/gpio/gpio-omap.c | |||
@@ -709,7 +709,7 @@ static void omap_gpio_free(struct gpio_chip *chip, unsigned offset) | |||
709 | * line's interrupt handler has been run, we may miss some nested | 709 | * line's interrupt handler has been run, we may miss some nested |
710 | * interrupts. | 710 | * interrupts. |
711 | */ | 711 | */ |
712 | static void omap_gpio_irq_handler(unsigned int irq, struct irq_desc *desc) | 712 | static void omap_gpio_irq_handler(struct irq_desc *desc) |
713 | { | 713 | { |
714 | void __iomem *isr_reg = NULL; | 714 | void __iomem *isr_reg = NULL; |
715 | u32 isr; | 715 | u32 isr; |
diff --git a/drivers/gpio/gpio-pl061.c b/drivers/gpio/gpio-pl061.c index 04756130437f..229ef653e0f8 100644 --- a/drivers/gpio/gpio-pl061.c +++ b/drivers/gpio/gpio-pl061.c | |||
@@ -187,7 +187,7 @@ static int pl061_irq_type(struct irq_data *d, unsigned trigger) | |||
187 | return 0; | 187 | return 0; |
188 | } | 188 | } |
189 | 189 | ||
190 | static void pl061_irq_handler(unsigned irq, struct irq_desc *desc) | 190 | static void pl061_irq_handler(struct irq_desc *desc) |
191 | { | 191 | { |
192 | unsigned long pending; | 192 | unsigned long pending; |
193 | int offset; | 193 | int offset; |
diff --git a/drivers/gpio/gpio-pxa.c b/drivers/gpio/gpio-pxa.c index 55a11de3d5b7..df2ce550f309 100644 --- a/drivers/gpio/gpio-pxa.c +++ b/drivers/gpio/gpio-pxa.c | |||
@@ -401,7 +401,7 @@ static int pxa_gpio_irq_type(struct irq_data *d, unsigned int type) | |||
401 | return 0; | 401 | return 0; |
402 | } | 402 | } |
403 | 403 | ||
404 | static void pxa_gpio_demux_handler(unsigned int irq, struct irq_desc *desc) | 404 | static void pxa_gpio_demux_handler(struct irq_desc *desc) |
405 | { | 405 | { |
406 | struct pxa_gpio_chip *c; | 406 | struct pxa_gpio_chip *c; |
407 | int loop, gpio, gpio_base, n; | 407 | int loop, gpio, gpio_base, n; |
diff --git a/drivers/gpio/gpio-sa1100.c b/drivers/gpio/gpio-sa1100.c index 67bd2f5d89e8..990fa9023e22 100644 --- a/drivers/gpio/gpio-sa1100.c +++ b/drivers/gpio/gpio-sa1100.c | |||
@@ -172,8 +172,7 @@ static struct irq_domain *sa1100_gpio_irqdomain; | |||
172 | * irq_controller_lock held, and IRQs disabled. Decode the IRQ | 172 | * irq_controller_lock held, and IRQs disabled. Decode the IRQ |
173 | * and call the handler. | 173 | * and call the handler. |
174 | */ | 174 | */ |
175 | static void | 175 | static void sa1100_gpio_handler(struct irq_desc *desc) |
176 | sa1100_gpio_handler(unsigned int __irq, struct irq_desc *desc) | ||
177 | { | 176 | { |
178 | unsigned int irq, mask; | 177 | unsigned int irq, mask; |
179 | 178 | ||
diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c index 9b14aafb576d..027e5f47dd28 100644 --- a/drivers/gpio/gpio-tegra.c +++ b/drivers/gpio/gpio-tegra.c | |||
@@ -266,7 +266,7 @@ static void tegra_gpio_irq_shutdown(struct irq_data *d) | |||
266 | gpiochip_unlock_as_irq(&tegra_gpio_chip, gpio); | 266 | gpiochip_unlock_as_irq(&tegra_gpio_chip, gpio); |
267 | } | 267 | } |
268 | 268 | ||
269 | static void tegra_gpio_irq_handler(unsigned int irq, struct irq_desc *desc) | 269 | static void tegra_gpio_irq_handler(struct irq_desc *desc) |
270 | { | 270 | { |
271 | int port; | 271 | int port; |
272 | int pin; | 272 | int pin; |
diff --git a/drivers/gpio/gpio-timberdale.c b/drivers/gpio/gpio-timberdale.c index 5a492054589f..30653e6319e9 100644 --- a/drivers/gpio/gpio-timberdale.c +++ b/drivers/gpio/gpio-timberdale.c | |||
@@ -192,7 +192,7 @@ out: | |||
192 | return ret; | 192 | return ret; |
193 | } | 193 | } |
194 | 194 | ||
195 | static void timbgpio_irq(unsigned int irq, struct irq_desc *desc) | 195 | static void timbgpio_irq(struct irq_desc *desc) |
196 | { | 196 | { |
197 | struct timbgpio *tgpio = irq_desc_get_handler_data(desc); | 197 | struct timbgpio *tgpio = irq_desc_get_handler_data(desc); |
198 | struct irq_data *data = irq_desc_get_irq_data(desc); | 198 | struct irq_data *data = irq_desc_get_irq_data(desc); |
diff --git a/drivers/gpio/gpio-tz1090.c b/drivers/gpio/gpio-tz1090.c index bbac92ae4c32..87bb1b1eee8d 100644 --- a/drivers/gpio/gpio-tz1090.c +++ b/drivers/gpio/gpio-tz1090.c | |||
@@ -375,7 +375,7 @@ static int gpio_set_irq_wake(struct irq_data *data, unsigned int on) | |||
375 | #define gpio_set_irq_wake NULL | 375 | #define gpio_set_irq_wake NULL |
376 | #endif | 376 | #endif |
377 | 377 | ||
378 | static void tz1090_gpio_irq_handler(unsigned int irq, struct irq_desc *desc) | 378 | static void tz1090_gpio_irq_handler(struct irq_desc *desc) |
379 | { | 379 | { |
380 | irq_hw_number_t hw; | 380 | irq_hw_number_t hw; |
381 | unsigned int irq_stat, irq_no; | 381 | unsigned int irq_stat, irq_no; |
@@ -400,7 +400,7 @@ static void tz1090_gpio_irq_handler(unsigned int irq, struct irq_desc *desc) | |||
400 | == IRQ_TYPE_EDGE_BOTH) | 400 | == IRQ_TYPE_EDGE_BOTH) |
401 | tz1090_gpio_irq_next_edge(bank, hw); | 401 | tz1090_gpio_irq_next_edge(bank, hw); |
402 | 402 | ||
403 | generic_handle_irq_desc(irq_no, child_desc); | 403 | generic_handle_irq_desc(child_desc); |
404 | } | 404 | } |
405 | } | 405 | } |
406 | 406 | ||
diff --git a/drivers/gpio/gpio-vf610.c b/drivers/gpio/gpio-vf610.c index 7a6640b51911..069f9e4b7daa 100644 --- a/drivers/gpio/gpio-vf610.c +++ b/drivers/gpio/gpio-vf610.c | |||
@@ -120,7 +120,7 @@ static int vf610_gpio_direction_output(struct gpio_chip *chip, unsigned gpio, | |||
120 | return pinctrl_gpio_direction_output(chip->base + gpio); | 120 | return pinctrl_gpio_direction_output(chip->base + gpio); |
121 | } | 121 | } |
122 | 122 | ||
123 | static void vf610_gpio_irq_handler(u32 irq, struct irq_desc *desc) | 123 | static void vf610_gpio_irq_handler(struct irq_desc *desc) |
124 | { | 124 | { |
125 | struct vf610_gpio_port *port = irq_desc_get_handler_data(desc); | 125 | struct vf610_gpio_port *port = irq_desc_get_handler_data(desc); |
126 | struct irq_chip *chip = irq_desc_get_chip(desc); | 126 | struct irq_chip *chip = irq_desc_get_chip(desc); |
diff --git a/drivers/gpio/gpio-zx.c b/drivers/gpio/gpio-zx.c index 12ee1969298c..4b8a26910705 100644 --- a/drivers/gpio/gpio-zx.c +++ b/drivers/gpio/gpio-zx.c | |||
@@ -177,7 +177,7 @@ static int zx_irq_type(struct irq_data *d, unsigned trigger) | |||
177 | return 0; | 177 | return 0; |
178 | } | 178 | } |
179 | 179 | ||
180 | static void zx_irq_handler(unsigned irq, struct irq_desc *desc) | 180 | static void zx_irq_handler(struct irq_desc *desc) |
181 | { | 181 | { |
182 | unsigned long pending; | 182 | unsigned long pending; |
183 | int offset; | 183 | int offset; |
diff --git a/drivers/gpio/gpio-zynq.c b/drivers/gpio/gpio-zynq.c index 27348e7cb705..1d1a5865ede9 100644 --- a/drivers/gpio/gpio-zynq.c +++ b/drivers/gpio/gpio-zynq.c | |||
@@ -514,7 +514,7 @@ static void zynq_gpio_handle_bank_irq(struct zynq_gpio *gpio, | |||
514 | * application for that pin. | 514 | * application for that pin. |
515 | * Note: A bug is reported if no handler is set for the gpio pin. | 515 | * Note: A bug is reported if no handler is set for the gpio pin. |
516 | */ | 516 | */ |
517 | static void zynq_gpio_irqhandler(unsigned int irq, struct irq_desc *desc) | 517 | static void zynq_gpio_irqhandler(struct irq_desc *desc) |
518 | { | 518 | { |
519 | u32 int_sts, int_enb; | 519 | u32 int_sts, int_enb; |
520 | unsigned int bank_num; | 520 | unsigned int bank_num; |
diff --git a/drivers/gpu/ipu-v3/ipu-common.c b/drivers/gpu/ipu-v3/ipu-common.c index 243f99a80253..649d03be2f38 100644 --- a/drivers/gpu/ipu-v3/ipu-common.c +++ b/drivers/gpu/ipu-v3/ipu-common.c | |||
@@ -912,7 +912,7 @@ static void ipu_irq_handle(struct ipu_soc *ipu, const int *regs, int num_regs) | |||
912 | } | 912 | } |
913 | } | 913 | } |
914 | 914 | ||
915 | static void ipu_irq_handler(unsigned int irq, struct irq_desc *desc) | 915 | static void ipu_irq_handler(struct irq_desc *desc) |
916 | { | 916 | { |
917 | struct ipu_soc *ipu = irq_desc_get_handler_data(desc); | 917 | struct ipu_soc *ipu = irq_desc_get_handler_data(desc); |
918 | struct irq_chip *chip = irq_desc_get_chip(desc); | 918 | struct irq_chip *chip = irq_desc_get_chip(desc); |
@@ -925,7 +925,7 @@ static void ipu_irq_handler(unsigned int irq, struct irq_desc *desc) | |||
925 | chained_irq_exit(chip, desc); | 925 | chained_irq_exit(chip, desc); |
926 | } | 926 | } |
927 | 927 | ||
928 | static void ipu_err_irq_handler(unsigned int irq, struct irq_desc *desc) | 928 | static void ipu_err_irq_handler(struct irq_desc *desc) |
929 | { | 929 | { |
930 | struct ipu_soc *ipu = irq_desc_get_handler_data(desc); | 930 | struct ipu_soc *ipu = irq_desc_get_handler_data(desc); |
931 | struct irq_chip *chip = irq_desc_get_chip(desc); | 931 | struct irq_chip *chip = irq_desc_get_chip(desc); |
diff --git a/drivers/irqchip/exynos-combiner.c b/drivers/irqchip/exynos-combiner.c index e9c6f2a5b52d..94ddc96f2f7d 100644 --- a/drivers/irqchip/exynos-combiner.c +++ b/drivers/irqchip/exynos-combiner.c | |||
@@ -65,12 +65,10 @@ static void combiner_unmask_irq(struct irq_data *data) | |||
65 | __raw_writel(mask, combiner_base(data) + COMBINER_ENABLE_SET); | 65 | __raw_writel(mask, combiner_base(data) + COMBINER_ENABLE_SET); |
66 | } | 66 | } |
67 | 67 | ||
68 | static void combiner_handle_cascade_irq(unsigned int __irq, | 68 | static void combiner_handle_cascade_irq(struct irq_desc *desc) |
69 | struct irq_desc *desc) | ||
70 | { | 69 | { |
71 | struct combiner_chip_data *chip_data = irq_desc_get_handler_data(desc); | 70 | struct combiner_chip_data *chip_data = irq_desc_get_handler_data(desc); |
72 | struct irq_chip *chip = irq_desc_get_chip(desc); | 71 | struct irq_chip *chip = irq_desc_get_chip(desc); |
73 | unsigned int irq = irq_desc_get_irq(desc); | ||
74 | unsigned int cascade_irq, combiner_irq; | 72 | unsigned int cascade_irq, combiner_irq; |
75 | unsigned long status; | 73 | unsigned long status; |
76 | 74 | ||
@@ -88,7 +86,7 @@ static void combiner_handle_cascade_irq(unsigned int __irq, | |||
88 | cascade_irq = irq_find_mapping(combiner_irq_domain, combiner_irq); | 86 | cascade_irq = irq_find_mapping(combiner_irq_domain, combiner_irq); |
89 | 87 | ||
90 | if (unlikely(!cascade_irq)) | 88 | if (unlikely(!cascade_irq)) |
91 | handle_bad_irq(irq, desc); | 89 | handle_bad_irq(desc); |
92 | else | 90 | else |
93 | generic_handle_irq(cascade_irq); | 91 | generic_handle_irq(cascade_irq); |
94 | 92 | ||
diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-armada-370-xp.c index 39b72da0c143..693b9fb879bd 100644 --- a/drivers/irqchip/irq-armada-370-xp.c +++ b/drivers/irqchip/irq-armada-370-xp.c | |||
@@ -447,8 +447,7 @@ static void armada_370_xp_handle_msi_irq(struct pt_regs *regs, bool is_chained) | |||
447 | static void armada_370_xp_handle_msi_irq(struct pt_regs *r, bool b) {} | 447 | static void armada_370_xp_handle_msi_irq(struct pt_regs *r, bool b) {} |
448 | #endif | 448 | #endif |
449 | 449 | ||
450 | static void armada_370_xp_mpic_handle_cascade_irq(unsigned int irq, | 450 | static void armada_370_xp_mpic_handle_cascade_irq(struct irq_desc *desc) |
451 | struct irq_desc *desc) | ||
452 | { | 451 | { |
453 | struct irq_chip *chip = irq_desc_get_chip(desc); | 452 | struct irq_chip *chip = irq_desc_get_chip(desc); |
454 | unsigned long irqmap, irqn, irqsrc, cpuid; | 453 | unsigned long irqmap, irqn, irqsrc, cpuid; |
diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c index ed4ca9deca70..56c9cf488e6c 100644 --- a/drivers/irqchip/irq-bcm2835.c +++ b/drivers/irqchip/irq-bcm2835.c | |||
@@ -96,7 +96,7 @@ struct armctrl_ic { | |||
96 | static struct armctrl_ic intc __read_mostly; | 96 | static struct armctrl_ic intc __read_mostly; |
97 | static void __exception_irq_entry bcm2835_handle_irq( | 97 | static void __exception_irq_entry bcm2835_handle_irq( |
98 | struct pt_regs *regs); | 98 | struct pt_regs *regs); |
99 | static void bcm2836_chained_handle_irq(unsigned int irq, struct irq_desc *desc); | 99 | static void bcm2836_chained_handle_irq(struct irq_desc *desc); |
100 | 100 | ||
101 | static void armctrl_mask_irq(struct irq_data *d) | 101 | static void armctrl_mask_irq(struct irq_data *d) |
102 | { | 102 | { |
@@ -245,7 +245,7 @@ static void __exception_irq_entry bcm2835_handle_irq( | |||
245 | handle_IRQ(irq_linear_revmap(intc.domain, hwirq), regs); | 245 | handle_IRQ(irq_linear_revmap(intc.domain, hwirq), regs); |
246 | } | 246 | } |
247 | 247 | ||
248 | static void bcm2836_chained_handle_irq(unsigned int irq, struct irq_desc *desc) | 248 | static void bcm2836_chained_handle_irq(struct irq_desc *desc) |
249 | { | 249 | { |
250 | u32 hwirq; | 250 | u32 hwirq; |
251 | 251 | ||
diff --git a/drivers/irqchip/irq-bcm7038-l1.c b/drivers/irqchip/irq-bcm7038-l1.c index 409bdc6366c2..0fea985ef1dc 100644 --- a/drivers/irqchip/irq-bcm7038-l1.c +++ b/drivers/irqchip/irq-bcm7038-l1.c | |||
@@ -115,7 +115,7 @@ static inline void l1_writel(u32 val, void __iomem *reg) | |||
115 | writel(val, reg); | 115 | writel(val, reg); |
116 | } | 116 | } |
117 | 117 | ||
118 | static void bcm7038_l1_irq_handle(unsigned int irq, struct irq_desc *desc) | 118 | static void bcm7038_l1_irq_handle(struct irq_desc *desc) |
119 | { | 119 | { |
120 | struct bcm7038_l1_chip *intc = irq_desc_get_handler_data(desc); | 120 | struct bcm7038_l1_chip *intc = irq_desc_get_handler_data(desc); |
121 | struct bcm7038_l1_cpu *cpu; | 121 | struct bcm7038_l1_cpu *cpu; |
diff --git a/drivers/irqchip/irq-bcm7120-l2.c b/drivers/irqchip/irq-bcm7120-l2.c index d3f976913a6f..61b18ab33ad9 100644 --- a/drivers/irqchip/irq-bcm7120-l2.c +++ b/drivers/irqchip/irq-bcm7120-l2.c | |||
@@ -56,7 +56,7 @@ struct bcm7120_l2_intc_data { | |||
56 | const __be32 *map_mask_prop; | 56 | const __be32 *map_mask_prop; |
57 | }; | 57 | }; |
58 | 58 | ||
59 | static void bcm7120_l2_intc_irq_handle(unsigned int irq, struct irq_desc *desc) | 59 | static void bcm7120_l2_intc_irq_handle(struct irq_desc *desc) |
60 | { | 60 | { |
61 | struct bcm7120_l1_intc_data *data = irq_desc_get_handler_data(desc); | 61 | struct bcm7120_l1_intc_data *data = irq_desc_get_handler_data(desc); |
62 | struct bcm7120_l2_intc_data *b = data->b; | 62 | struct bcm7120_l2_intc_data *b = data->b; |
diff --git a/drivers/irqchip/irq-brcmstb-l2.c b/drivers/irqchip/irq-brcmstb-l2.c index aedda06191eb..65cd341f331a 100644 --- a/drivers/irqchip/irq-brcmstb-l2.c +++ b/drivers/irqchip/irq-brcmstb-l2.c | |||
@@ -49,13 +49,12 @@ struct brcmstb_l2_intc_data { | |||
49 | u32 saved_mask; /* for suspend/resume */ | 49 | u32 saved_mask; /* for suspend/resume */ |
50 | }; | 50 | }; |
51 | 51 | ||
52 | static void brcmstb_l2_intc_irq_handle(unsigned int __irq, | 52 | static void brcmstb_l2_intc_irq_handle(struct irq_desc *desc) |
53 | struct irq_desc *desc) | ||
54 | { | 53 | { |
55 | struct brcmstb_l2_intc_data *b = irq_desc_get_handler_data(desc); | 54 | struct brcmstb_l2_intc_data *b = irq_desc_get_handler_data(desc); |
56 | struct irq_chip_generic *gc = irq_get_domain_generic_chip(b->domain, 0); | 55 | struct irq_chip_generic *gc = irq_get_domain_generic_chip(b->domain, 0); |
57 | struct irq_chip *chip = irq_desc_get_chip(desc); | 56 | struct irq_chip *chip = irq_desc_get_chip(desc); |
58 | unsigned int irq = irq_desc_get_irq(desc); | 57 | unsigned int irq; |
59 | u32 status; | 58 | u32 status; |
60 | 59 | ||
61 | chained_irq_enter(chip, desc); | 60 | chained_irq_enter(chip, desc); |
@@ -65,7 +64,7 @@ static void brcmstb_l2_intc_irq_handle(unsigned int __irq, | |||
65 | 64 | ||
66 | if (status == 0) { | 65 | if (status == 0) { |
67 | raw_spin_lock(&desc->lock); | 66 | raw_spin_lock(&desc->lock); |
68 | handle_bad_irq(irq, desc); | 67 | handle_bad_irq(desc); |
69 | raw_spin_unlock(&desc->lock); | 68 | raw_spin_unlock(&desc->lock); |
70 | goto out; | 69 | goto out; |
71 | } | 70 | } |
diff --git a/drivers/irqchip/irq-dw-apb-ictl.c b/drivers/irqchip/irq-dw-apb-ictl.c index efd95d9955e7..052f266364c0 100644 --- a/drivers/irqchip/irq-dw-apb-ictl.c +++ b/drivers/irqchip/irq-dw-apb-ictl.c | |||
@@ -26,7 +26,7 @@ | |||
26 | #define APB_INT_FINALSTATUS_H 0x34 | 26 | #define APB_INT_FINALSTATUS_H 0x34 |
27 | #define APB_INT_BASE_OFFSET 0x04 | 27 | #define APB_INT_BASE_OFFSET 0x04 |
28 | 28 | ||
29 | static void dw_apb_ictl_handler(unsigned int irq, struct irq_desc *desc) | 29 | static void dw_apb_ictl_handler(struct irq_desc *desc) |
30 | { | 30 | { |
31 | struct irq_domain *d = irq_desc_get_handler_data(desc); | 31 | struct irq_domain *d = irq_desc_get_handler_data(desc); |
32 | struct irq_chip *chip = irq_desc_get_chip(desc); | 32 | struct irq_chip *chip = irq_desc_get_chip(desc); |
diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c index 9bccdd295769..00bb7c05a55e 100644 --- a/drivers/irqchip/irq-gic.c +++ b/drivers/irqchip/irq-gic.c | |||
@@ -341,7 +341,7 @@ static void __exception_irq_entry gic_handle_irq(struct pt_regs *regs) | |||
341 | } while (1); | 341 | } while (1); |
342 | } | 342 | } |
343 | 343 | ||
344 | static void gic_handle_cascade_irq(unsigned int irq, struct irq_desc *desc) | 344 | static void gic_handle_cascade_irq(struct irq_desc *desc) |
345 | { | 345 | { |
346 | struct gic_chip_data *chip_data = irq_desc_get_handler_data(desc); | 346 | struct gic_chip_data *chip_data = irq_desc_get_handler_data(desc); |
347 | struct irq_chip *chip = irq_desc_get_chip(desc); | 347 | struct irq_chip *chip = irq_desc_get_chip(desc); |
@@ -360,7 +360,7 @@ static void gic_handle_cascade_irq(unsigned int irq, struct irq_desc *desc) | |||
360 | 360 | ||
361 | cascade_irq = irq_find_mapping(chip_data->domain, gic_irq); | 361 | cascade_irq = irq_find_mapping(chip_data->domain, gic_irq); |
362 | if (unlikely(gic_irq < 32 || gic_irq > 1020)) | 362 | if (unlikely(gic_irq < 32 || gic_irq > 1020)) |
363 | handle_bad_irq(cascade_irq, desc); | 363 | handle_bad_irq(desc); |
364 | else | 364 | else |
365 | generic_handle_irq(cascade_irq); | 365 | generic_handle_irq(cascade_irq); |
366 | 366 | ||
diff --git a/drivers/irqchip/irq-i8259.c b/drivers/irqchip/irq-i8259.c index 4836102ba312..e484fd255321 100644 --- a/drivers/irqchip/irq-i8259.c +++ b/drivers/irqchip/irq-i8259.c | |||
@@ -352,7 +352,7 @@ void __init init_i8259_irqs(void) | |||
352 | __init_i8259_irqs(NULL); | 352 | __init_i8259_irqs(NULL); |
353 | } | 353 | } |
354 | 354 | ||
355 | static void i8259_irq_dispatch(unsigned int __irq, struct irq_desc *desc) | 355 | static void i8259_irq_dispatch(struct irq_desc *desc) |
356 | { | 356 | { |
357 | struct irq_domain *domain = irq_desc_get_handler_data(desc); | 357 | struct irq_domain *domain = irq_desc_get_handler_data(desc); |
358 | int hwirq = i8259_irq(); | 358 | int hwirq = i8259_irq(); |
diff --git a/drivers/irqchip/irq-imgpdc.c b/drivers/irqchip/irq-imgpdc.c index 841604b81004..c02d29c9dc05 100644 --- a/drivers/irqchip/irq-imgpdc.c +++ b/drivers/irqchip/irq-imgpdc.c | |||
@@ -218,7 +218,7 @@ static int pdc_irq_set_wake(struct irq_data *data, unsigned int on) | |||
218 | return 0; | 218 | return 0; |
219 | } | 219 | } |
220 | 220 | ||
221 | static void pdc_intc_perip_isr(unsigned int __irq, struct irq_desc *desc) | 221 | static void pdc_intc_perip_isr(struct irq_desc *desc) |
222 | { | 222 | { |
223 | unsigned int irq = irq_desc_get_irq(desc); | 223 | unsigned int irq = irq_desc_get_irq(desc); |
224 | struct pdc_intc_priv *priv; | 224 | struct pdc_intc_priv *priv; |
@@ -240,7 +240,7 @@ found: | |||
240 | generic_handle_irq(irq_no); | 240 | generic_handle_irq(irq_no); |
241 | } | 241 | } |
242 | 242 | ||
243 | static void pdc_intc_syswake_isr(unsigned int irq, struct irq_desc *desc) | 243 | static void pdc_intc_syswake_isr(struct irq_desc *desc) |
244 | { | 244 | { |
245 | struct pdc_intc_priv *priv; | 245 | struct pdc_intc_priv *priv; |
246 | unsigned int syswake, irq_no; | 246 | unsigned int syswake, irq_no; |
diff --git a/drivers/irqchip/irq-keystone.c b/drivers/irqchip/irq-keystone.c index c1517267b5db..7b784b692f3c 100644 --- a/drivers/irqchip/irq-keystone.c +++ b/drivers/irqchip/irq-keystone.c | |||
@@ -83,7 +83,7 @@ static void keystone_irq_ack(struct irq_data *d) | |||
83 | /* nothing to do here */ | 83 | /* nothing to do here */ |
84 | } | 84 | } |
85 | 85 | ||
86 | static void keystone_irq_handler(unsigned __irq, struct irq_desc *desc) | 86 | static void keystone_irq_handler(struct irq_desc *desc) |
87 | { | 87 | { |
88 | unsigned int irq = irq_desc_get_irq(desc); | 88 | unsigned int irq = irq_desc_get_irq(desc); |
89 | struct keystone_irq_device *kirq = irq_desc_get_handler_data(desc); | 89 | struct keystone_irq_device *kirq = irq_desc_get_handler_data(desc); |
diff --git a/drivers/irqchip/irq-metag-ext.c b/drivers/irqchip/irq-metag-ext.c index 5f4c52928d16..8c38b3d92e1c 100644 --- a/drivers/irqchip/irq-metag-ext.c +++ b/drivers/irqchip/irq-metag-ext.c | |||
@@ -446,7 +446,7 @@ static int meta_intc_irq_set_type(struct irq_data *data, unsigned int flow_type) | |||
446 | * Whilst using TR2 to detect external interrupts is a software convention it is | 446 | * Whilst using TR2 to detect external interrupts is a software convention it is |
447 | * (hopefully) unlikely to change. | 447 | * (hopefully) unlikely to change. |
448 | */ | 448 | */ |
449 | static void meta_intc_irq_demux(unsigned int irq, struct irq_desc *desc) | 449 | static void meta_intc_irq_demux(struct irq_desc *desc) |
450 | { | 450 | { |
451 | struct meta_intc_priv *priv = &meta_intc_priv; | 451 | struct meta_intc_priv *priv = &meta_intc_priv; |
452 | irq_hw_number_t hw; | 452 | irq_hw_number_t hw; |
diff --git a/drivers/irqchip/irq-metag.c b/drivers/irqchip/irq-metag.c index 3d23ce3edb5c..a5f053bd2f44 100644 --- a/drivers/irqchip/irq-metag.c +++ b/drivers/irqchip/irq-metag.c | |||
@@ -220,7 +220,7 @@ static int metag_internal_irq_set_affinity(struct irq_data *data, | |||
220 | * occurred. It is this function's job to demux this irq and | 220 | * occurred. It is this function's job to demux this irq and |
221 | * figure out exactly which trigger needs servicing. | 221 | * figure out exactly which trigger needs servicing. |
222 | */ | 222 | */ |
223 | static void metag_internal_irq_demux(unsigned int irq, struct irq_desc *desc) | 223 | static void metag_internal_irq_demux(struct irq_desc *desc) |
224 | { | 224 | { |
225 | struct metag_internal_irq_priv *priv = irq_desc_get_handler_data(desc); | 225 | struct metag_internal_irq_priv *priv = irq_desc_get_handler_data(desc); |
226 | irq_hw_number_t hw; | 226 | irq_hw_number_t hw; |
diff --git a/drivers/irqchip/irq-mips-gic.c b/drivers/irqchip/irq-mips-gic.c index 1764bcf8ee6b..af2f16bb8a94 100644 --- a/drivers/irqchip/irq-mips-gic.c +++ b/drivers/irqchip/irq-mips-gic.c | |||
@@ -546,7 +546,7 @@ static void __gic_irq_dispatch(void) | |||
546 | gic_handle_shared_int(false); | 546 | gic_handle_shared_int(false); |
547 | } | 547 | } |
548 | 548 | ||
549 | static void gic_irq_dispatch(unsigned int irq, struct irq_desc *desc) | 549 | static void gic_irq_dispatch(struct irq_desc *desc) |
550 | { | 550 | { |
551 | gic_handle_local_int(true); | 551 | gic_handle_local_int(true); |
552 | gic_handle_shared_int(true); | 552 | gic_handle_shared_int(true); |
diff --git a/drivers/irqchip/irq-mmp.c b/drivers/irqchip/irq-mmp.c index 781ed6e71dbb..ea6e3a96f3b3 100644 --- a/drivers/irqchip/irq-mmp.c +++ b/drivers/irqchip/irq-mmp.c | |||
@@ -129,7 +129,7 @@ struct irq_chip icu_irq_chip = { | |||
129 | .irq_unmask = icu_unmask_irq, | 129 | .irq_unmask = icu_unmask_irq, |
130 | }; | 130 | }; |
131 | 131 | ||
132 | static void icu_mux_irq_demux(unsigned int __irq, struct irq_desc *desc) | 132 | static void icu_mux_irq_demux(struct irq_desc *desc) |
133 | { | 133 | { |
134 | unsigned int irq = irq_desc_get_irq(desc); | 134 | unsigned int irq = irq_desc_get_irq(desc); |
135 | struct irq_domain *domain; | 135 | struct irq_domain *domain; |
diff --git a/drivers/irqchip/irq-orion.c b/drivers/irqchip/irq-orion.c index 5ea999a724b5..be4c5a8c9659 100644 --- a/drivers/irqchip/irq-orion.c +++ b/drivers/irqchip/irq-orion.c | |||
@@ -106,7 +106,7 @@ IRQCHIP_DECLARE(orion_intc, "marvell,orion-intc", orion_irq_init); | |||
106 | #define ORION_BRIDGE_IRQ_CAUSE 0x00 | 106 | #define ORION_BRIDGE_IRQ_CAUSE 0x00 |
107 | #define ORION_BRIDGE_IRQ_MASK 0x04 | 107 | #define ORION_BRIDGE_IRQ_MASK 0x04 |
108 | 108 | ||
109 | static void orion_bridge_irq_handler(unsigned int irq, struct irq_desc *desc) | 109 | static void orion_bridge_irq_handler(struct irq_desc *desc) |
110 | { | 110 | { |
111 | struct irq_domain *d = irq_desc_get_handler_data(desc); | 111 | struct irq_domain *d = irq_desc_get_handler_data(desc); |
112 | 112 | ||
diff --git a/drivers/irqchip/irq-s3c24xx.c b/drivers/irqchip/irq-s3c24xx.c index 506d9f20ca51..e47572a9bbb2 100644 --- a/drivers/irqchip/irq-s3c24xx.c +++ b/drivers/irqchip/irq-s3c24xx.c | |||
@@ -298,7 +298,7 @@ static struct irq_chip s3c_irq_eint0t4 = { | |||
298 | .irq_set_type = s3c_irqext0_type, | 298 | .irq_set_type = s3c_irqext0_type, |
299 | }; | 299 | }; |
300 | 300 | ||
301 | static void s3c_irq_demux(unsigned int __irq, struct irq_desc *desc) | 301 | static void s3c_irq_demux(struct irq_desc *desc) |
302 | { | 302 | { |
303 | struct irq_chip *chip = irq_desc_get_chip(desc); | 303 | struct irq_chip *chip = irq_desc_get_chip(desc); |
304 | struct s3c_irq_data *irq_data = irq_desc_get_chip_data(desc); | 304 | struct s3c_irq_data *irq_data = irq_desc_get_chip_data(desc); |
diff --git a/drivers/irqchip/irq-sunxi-nmi.c b/drivers/irqchip/irq-sunxi-nmi.c index 772a82cacbf7..c143dd58410c 100644 --- a/drivers/irqchip/irq-sunxi-nmi.c +++ b/drivers/irqchip/irq-sunxi-nmi.c | |||
@@ -58,7 +58,7 @@ static inline u32 sunxi_sc_nmi_read(struct irq_chip_generic *gc, u32 off) | |||
58 | return irq_reg_readl(gc, off); | 58 | return irq_reg_readl(gc, off); |
59 | } | 59 | } |
60 | 60 | ||
61 | static void sunxi_sc_nmi_handle_irq(unsigned int irq, struct irq_desc *desc) | 61 | static void sunxi_sc_nmi_handle_irq(struct irq_desc *desc) |
62 | { | 62 | { |
63 | struct irq_domain *domain = irq_desc_get_handler_data(desc); | 63 | struct irq_domain *domain = irq_desc_get_handler_data(desc); |
64 | struct irq_chip *chip = irq_desc_get_chip(desc); | 64 | struct irq_chip *chip = irq_desc_get_chip(desc); |
diff --git a/drivers/irqchip/irq-tb10x.c b/drivers/irqchip/irq-tb10x.c index 331829661366..848d782a2a3b 100644 --- a/drivers/irqchip/irq-tb10x.c +++ b/drivers/irqchip/irq-tb10x.c | |||
@@ -97,7 +97,7 @@ static int tb10x_irq_set_type(struct irq_data *data, unsigned int flow_type) | |||
97 | return IRQ_SET_MASK_OK; | 97 | return IRQ_SET_MASK_OK; |
98 | } | 98 | } |
99 | 99 | ||
100 | static void tb10x_irq_cascade(unsigned int __irq, struct irq_desc *desc) | 100 | static void tb10x_irq_cascade(struct irq_desc *desc) |
101 | { | 101 | { |
102 | struct irq_domain *domain = irq_desc_get_handler_data(desc); | 102 | struct irq_domain *domain = irq_desc_get_handler_data(desc); |
103 | unsigned int irq = irq_desc_get_irq(desc); | 103 | unsigned int irq = irq_desc_get_irq(desc); |
diff --git a/drivers/irqchip/irq-versatile-fpga.c b/drivers/irqchip/irq-versatile-fpga.c index 16123f688768..1b1c63e8d249 100644 --- a/drivers/irqchip/irq-versatile-fpga.c +++ b/drivers/irqchip/irq-versatile-fpga.c | |||
@@ -65,19 +65,19 @@ static void fpga_irq_unmask(struct irq_data *d) | |||
65 | writel(mask, f->base + IRQ_ENABLE_SET); | 65 | writel(mask, f->base + IRQ_ENABLE_SET); |
66 | } | 66 | } |
67 | 67 | ||
68 | static void fpga_irq_handle(unsigned int __irq, struct irq_desc *desc) | 68 | static void fpga_irq_handle(struct irq_desc *desc) |
69 | { | 69 | { |
70 | struct fpga_irq_data *f = irq_desc_get_handler_data(desc); | 70 | struct fpga_irq_data *f = irq_desc_get_handler_data(desc); |
71 | unsigned int irq = irq_desc_get_irq(desc); | ||
72 | u32 status = readl(f->base + IRQ_STATUS); | 71 | u32 status = readl(f->base + IRQ_STATUS); |
73 | 72 | ||
74 | if (status == 0) { | 73 | if (status == 0) { |
75 | do_bad_IRQ(irq, desc); | 74 | do_bad_IRQ(desc); |
76 | return; | 75 | return; |
77 | } | 76 | } |
78 | 77 | ||
79 | do { | 78 | do { |
80 | irq = ffs(status) - 1; | 79 | unsigned int irq = ffs(status) - 1; |
80 | |||
81 | status &= ~(1 << irq); | 81 | status &= ~(1 << irq); |
82 | generic_handle_irq(irq_find_mapping(f->domain, irq)); | 82 | generic_handle_irq(irq_find_mapping(f->domain, irq)); |
83 | } while (status); | 83 | } while (status); |
diff --git a/drivers/irqchip/irq-vic.c b/drivers/irqchip/irq-vic.c index 03846dff4212..cb85504c2ff1 100644 --- a/drivers/irqchip/irq-vic.c +++ b/drivers/irqchip/irq-vic.c | |||
@@ -225,7 +225,7 @@ static int handle_one_vic(struct vic_device *vic, struct pt_regs *regs) | |||
225 | return handled; | 225 | return handled; |
226 | } | 226 | } |
227 | 227 | ||
228 | static void vic_handle_irq_cascaded(unsigned int irq, struct irq_desc *desc) | 228 | static void vic_handle_irq_cascaded(struct irq_desc *desc) |
229 | { | 229 | { |
230 | u32 stat, hwirq; | 230 | u32 stat, hwirq; |
231 | struct irq_chip *host_chip = irq_desc_get_chip(desc); | 231 | struct irq_chip *host_chip = irq_desc_get_chip(desc); |
diff --git a/drivers/irqchip/spear-shirq.c b/drivers/irqchip/spear-shirq.c index 4cbd9c5dc1e6..c838c9286ea5 100644 --- a/drivers/irqchip/spear-shirq.c +++ b/drivers/irqchip/spear-shirq.c | |||
@@ -182,7 +182,7 @@ static struct spear_shirq *spear320_shirq_blocks[] = { | |||
182 | &spear320_shirq_intrcomm_ras, | 182 | &spear320_shirq_intrcomm_ras, |
183 | }; | 183 | }; |
184 | 184 | ||
185 | static void shirq_handler(unsigned __irq, struct irq_desc *desc) | 185 | static void shirq_handler(struct irq_desc *desc) |
186 | { | 186 | { |
187 | struct spear_shirq *shirq = irq_desc_get_handler_data(desc); | 187 | struct spear_shirq *shirq = irq_desc_get_handler_data(desc); |
188 | u32 pend; | 188 | u32 pend; |
diff --git a/drivers/mfd/asic3.c b/drivers/mfd/asic3.c index 4b54128bc78e..a726f01e3b02 100644 --- a/drivers/mfd/asic3.c +++ b/drivers/mfd/asic3.c | |||
@@ -138,7 +138,7 @@ static void asic3_irq_flip_edge(struct asic3 *asic, | |||
138 | spin_unlock_irqrestore(&asic->lock, flags); | 138 | spin_unlock_irqrestore(&asic->lock, flags); |
139 | } | 139 | } |
140 | 140 | ||
141 | static void asic3_irq_demux(unsigned int irq, struct irq_desc *desc) | 141 | static void asic3_irq_demux(struct irq_desc *desc) |
142 | { | 142 | { |
143 | struct asic3 *asic = irq_desc_get_handler_data(desc); | 143 | struct asic3 *asic = irq_desc_get_handler_data(desc); |
144 | struct irq_data *data = irq_desc_get_irq_data(desc); | 144 | struct irq_data *data = irq_desc_get_irq_data(desc); |
diff --git a/drivers/mfd/ezx-pcap.c b/drivers/mfd/ezx-pcap.c index a76eb6ef47a0..b279205659a4 100644 --- a/drivers/mfd/ezx-pcap.c +++ b/drivers/mfd/ezx-pcap.c | |||
@@ -205,7 +205,7 @@ static void pcap_isr_work(struct work_struct *work) | |||
205 | } while (gpio_get_value(pdata->gpio)); | 205 | } while (gpio_get_value(pdata->gpio)); |
206 | } | 206 | } |
207 | 207 | ||
208 | static void pcap_irq_handler(unsigned int irq, struct irq_desc *desc) | 208 | static void pcap_irq_handler(struct irq_desc *desc) |
209 | { | 209 | { |
210 | struct pcap_chip *pcap = irq_desc_get_handler_data(desc); | 210 | struct pcap_chip *pcap = irq_desc_get_handler_data(desc); |
211 | 211 | ||
diff --git a/drivers/mfd/htc-egpio.c b/drivers/mfd/htc-egpio.c index 9131cdcdc64a..6ccaf90d98fd 100644 --- a/drivers/mfd/htc-egpio.c +++ b/drivers/mfd/htc-egpio.c | |||
@@ -98,7 +98,7 @@ static struct irq_chip egpio_muxed_chip = { | |||
98 | .irq_unmask = egpio_unmask, | 98 | .irq_unmask = egpio_unmask, |
99 | }; | 99 | }; |
100 | 100 | ||
101 | static void egpio_handler(unsigned int irq, struct irq_desc *desc) | 101 | static void egpio_handler(struct irq_desc *desc) |
102 | { | 102 | { |
103 | struct egpio_info *ei = irq_desc_get_handler_data(desc); | 103 | struct egpio_info *ei = irq_desc_get_handler_data(desc); |
104 | int irqpin; | 104 | int irqpin; |
diff --git a/drivers/mfd/jz4740-adc.c b/drivers/mfd/jz4740-adc.c index 5bb49f08955d..798e44306382 100644 --- a/drivers/mfd/jz4740-adc.c +++ b/drivers/mfd/jz4740-adc.c | |||
@@ -65,7 +65,7 @@ struct jz4740_adc { | |||
65 | spinlock_t lock; | 65 | spinlock_t lock; |
66 | }; | 66 | }; |
67 | 67 | ||
68 | static void jz4740_adc_irq_demux(unsigned int irq, struct irq_desc *desc) | 68 | static void jz4740_adc_irq_demux(struct irq_desc *desc) |
69 | { | 69 | { |
70 | struct irq_chip_generic *gc = irq_desc_get_handler_data(desc); | 70 | struct irq_chip_generic *gc = irq_desc_get_handler_data(desc); |
71 | uint8_t status; | 71 | uint8_t status; |
diff --git a/drivers/mfd/pm8921-core.c b/drivers/mfd/pm8921-core.c index 59502d02cd15..1b7ec0870c2a 100644 --- a/drivers/mfd/pm8921-core.c +++ b/drivers/mfd/pm8921-core.c | |||
@@ -156,7 +156,7 @@ static int pm8xxx_irq_master_handler(struct pm_irq_chip *chip, int master) | |||
156 | return ret; | 156 | return ret; |
157 | } | 157 | } |
158 | 158 | ||
159 | static void pm8xxx_irq_handler(unsigned int irq, struct irq_desc *desc) | 159 | static void pm8xxx_irq_handler(struct irq_desc *desc) |
160 | { | 160 | { |
161 | struct pm_irq_chip *chip = irq_desc_get_handler_data(desc); | 161 | struct pm_irq_chip *chip = irq_desc_get_handler_data(desc); |
162 | struct irq_chip *irq_chip = irq_desc_get_chip(desc); | 162 | struct irq_chip *irq_chip = irq_desc_get_chip(desc); |
diff --git a/drivers/mfd/t7l66xb.c b/drivers/mfd/t7l66xb.c index 16fc1adc4fa3..94bd89cb1f06 100644 --- a/drivers/mfd/t7l66xb.c +++ b/drivers/mfd/t7l66xb.c | |||
@@ -185,7 +185,7 @@ static struct mfd_cell t7l66xb_cells[] = { | |||
185 | /*--------------------------------------------------------------------------*/ | 185 | /*--------------------------------------------------------------------------*/ |
186 | 186 | ||
187 | /* Handle the T7L66XB interrupt mux */ | 187 | /* Handle the T7L66XB interrupt mux */ |
188 | static void t7l66xb_irq(unsigned int irq, struct irq_desc *desc) | 188 | static void t7l66xb_irq(struct irq_desc *desc) |
189 | { | 189 | { |
190 | struct t7l66xb *t7l66xb = irq_desc_get_handler_data(desc); | 190 | struct t7l66xb *t7l66xb = irq_desc_get_handler_data(desc); |
191 | unsigned int isr; | 191 | unsigned int isr; |
diff --git a/drivers/mfd/tc6393xb.c b/drivers/mfd/tc6393xb.c index 775b9aca871a..8c84a513016b 100644 --- a/drivers/mfd/tc6393xb.c +++ b/drivers/mfd/tc6393xb.c | |||
@@ -522,8 +522,7 @@ static int tc6393xb_register_gpio(struct tc6393xb *tc6393xb, int gpio_base) | |||
522 | 522 | ||
523 | /*--------------------------------------------------------------------------*/ | 523 | /*--------------------------------------------------------------------------*/ |
524 | 524 | ||
525 | static void | 525 | static void tc6393xb_irq(struct irq_desc *desc) |
526 | tc6393xb_irq(unsigned int irq, struct irq_desc *desc) | ||
527 | { | 526 | { |
528 | struct tc6393xb *tc6393xb = irq_desc_get_handler_data(desc); | 527 | struct tc6393xb *tc6393xb = irq_desc_get_handler_data(desc); |
529 | unsigned int isr; | 528 | unsigned int isr; |
diff --git a/drivers/mfd/ucb1x00-core.c b/drivers/mfd/ucb1x00-core.c index 9a2302129711..f691d7ecad52 100644 --- a/drivers/mfd/ucb1x00-core.c +++ b/drivers/mfd/ucb1x00-core.c | |||
@@ -282,7 +282,7 @@ void ucb1x00_adc_disable(struct ucb1x00 *ucb) | |||
282 | * SIBCLK to talk to the chip. We leave the clock running until | 282 | * SIBCLK to talk to the chip. We leave the clock running until |
283 | * we have finished processing all interrupts from the chip. | 283 | * we have finished processing all interrupts from the chip. |
284 | */ | 284 | */ |
285 | static void ucb1x00_irq(unsigned int __irq, struct irq_desc *desc) | 285 | static void ucb1x00_irq(struct irq_desc *desc) |
286 | { | 286 | { |
287 | struct ucb1x00 *ucb = irq_desc_get_handler_data(desc); | 287 | struct ucb1x00 *ucb = irq_desc_get_handler_data(desc); |
288 | unsigned int isr, i; | 288 | unsigned int isr, i; |
diff --git a/drivers/pci/host/pci-keystone.c b/drivers/pci/host/pci-keystone.c index 81253e70b1c5..0aa81bd3de12 100644 --- a/drivers/pci/host/pci-keystone.c +++ b/drivers/pci/host/pci-keystone.c | |||
@@ -110,7 +110,7 @@ static int ks_pcie_establish_link(struct keystone_pcie *ks_pcie) | |||
110 | return -EINVAL; | 110 | return -EINVAL; |
111 | } | 111 | } |
112 | 112 | ||
113 | static void ks_pcie_msi_irq_handler(unsigned int __irq, struct irq_desc *desc) | 113 | static void ks_pcie_msi_irq_handler(struct irq_desc *desc) |
114 | { | 114 | { |
115 | unsigned int irq = irq_desc_get_irq(desc); | 115 | unsigned int irq = irq_desc_get_irq(desc); |
116 | struct keystone_pcie *ks_pcie = irq_desc_get_handler_data(desc); | 116 | struct keystone_pcie *ks_pcie = irq_desc_get_handler_data(desc); |
@@ -138,8 +138,7 @@ static void ks_pcie_msi_irq_handler(unsigned int __irq, struct irq_desc *desc) | |||
138 | * Traverse through pending legacy interrupts and invoke handler for each. Also | 138 | * Traverse through pending legacy interrupts and invoke handler for each. Also |
139 | * takes care of interrupt controller level mask/ack operation. | 139 | * takes care of interrupt controller level mask/ack operation. |
140 | */ | 140 | */ |
141 | static void ks_pcie_legacy_irq_handler(unsigned int __irq, | 141 | static void ks_pcie_legacy_irq_handler(struct irq_desc *desc) |
142 | struct irq_desc *desc) | ||
143 | { | 142 | { |
144 | unsigned int irq = irq_desc_get_irq(desc); | 143 | unsigned int irq = irq_desc_get_irq(desc); |
145 | struct keystone_pcie *ks_pcie = irq_desc_get_handler_data(desc); | 144 | struct keystone_pcie *ks_pcie = irq_desc_get_handler_data(desc); |
diff --git a/drivers/pci/host/pci-xgene-msi.c b/drivers/pci/host/pci-xgene-msi.c index 996327cfa1e1..e491681daf22 100644 --- a/drivers/pci/host/pci-xgene-msi.c +++ b/drivers/pci/host/pci-xgene-msi.c | |||
@@ -295,7 +295,7 @@ static int xgene_msi_init_allocator(struct xgene_msi *xgene_msi) | |||
295 | return 0; | 295 | return 0; |
296 | } | 296 | } |
297 | 297 | ||
298 | static void xgene_msi_isr(unsigned int irq, struct irq_desc *desc) | 298 | static void xgene_msi_isr(struct irq_desc *desc) |
299 | { | 299 | { |
300 | struct irq_chip *chip = irq_desc_get_chip(desc); | 300 | struct irq_chip *chip = irq_desc_get_chip(desc); |
301 | struct xgene_msi_group *msi_groups; | 301 | struct xgene_msi_group *msi_groups; |
diff --git a/drivers/pinctrl/bcm/pinctrl-cygnus-gpio.c b/drivers/pinctrl/bcm/pinctrl-cygnus-gpio.c index 7d9482bf8252..1ca783098e47 100644 --- a/drivers/pinctrl/bcm/pinctrl-cygnus-gpio.c +++ b/drivers/pinctrl/bcm/pinctrl-cygnus-gpio.c | |||
@@ -143,7 +143,7 @@ static inline bool cygnus_get_bit(struct cygnus_gpio *chip, unsigned int reg, | |||
143 | return !!(readl(chip->base + offset) & BIT(shift)); | 143 | return !!(readl(chip->base + offset) & BIT(shift)); |
144 | } | 144 | } |
145 | 145 | ||
146 | static void cygnus_gpio_irq_handler(unsigned int irq, struct irq_desc *desc) | 146 | static void cygnus_gpio_irq_handler(struct irq_desc *desc) |
147 | { | 147 | { |
148 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); | 148 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); |
149 | struct cygnus_gpio *chip = to_cygnus_gpio(gc); | 149 | struct cygnus_gpio *chip = to_cygnus_gpio(gc); |
diff --git a/drivers/pinctrl/intel/pinctrl-baytrail.c b/drivers/pinctrl/intel/pinctrl-baytrail.c index dac4865f3203..f79ea430f651 100644 --- a/drivers/pinctrl/intel/pinctrl-baytrail.c +++ b/drivers/pinctrl/intel/pinctrl-baytrail.c | |||
@@ -425,7 +425,7 @@ static void byt_gpio_dbg_show(struct seq_file *s, struct gpio_chip *chip) | |||
425 | } | 425 | } |
426 | } | 426 | } |
427 | 427 | ||
428 | static void byt_gpio_irq_handler(unsigned irq, struct irq_desc *desc) | 428 | static void byt_gpio_irq_handler(struct irq_desc *desc) |
429 | { | 429 | { |
430 | struct irq_data *data = irq_desc_get_irq_data(desc); | 430 | struct irq_data *data = irq_desc_get_irq_data(desc); |
431 | struct byt_gpio *vg = to_byt_gpio(irq_desc_get_handler_data(desc)); | 431 | struct byt_gpio *vg = to_byt_gpio(irq_desc_get_handler_data(desc)); |
diff --git a/drivers/pinctrl/intel/pinctrl-cherryview.c b/drivers/pinctrl/intel/pinctrl-cherryview.c index 2d5d3ddc36e5..270c127e03ea 100644 --- a/drivers/pinctrl/intel/pinctrl-cherryview.c +++ b/drivers/pinctrl/intel/pinctrl-cherryview.c | |||
@@ -1414,7 +1414,7 @@ static struct irq_chip chv_gpio_irqchip = { | |||
1414 | .flags = IRQCHIP_SKIP_SET_WAKE, | 1414 | .flags = IRQCHIP_SKIP_SET_WAKE, |
1415 | }; | 1415 | }; |
1416 | 1416 | ||
1417 | static void chv_gpio_irq_handler(unsigned irq, struct irq_desc *desc) | 1417 | static void chv_gpio_irq_handler(struct irq_desc *desc) |
1418 | { | 1418 | { |
1419 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); | 1419 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); |
1420 | struct chv_pinctrl *pctrl = gpiochip_to_pinctrl(gc); | 1420 | struct chv_pinctrl *pctrl = gpiochip_to_pinctrl(gc); |
diff --git a/drivers/pinctrl/intel/pinctrl-intel.c b/drivers/pinctrl/intel/pinctrl-intel.c index bb377c110541..54848b8decef 100644 --- a/drivers/pinctrl/intel/pinctrl-intel.c +++ b/drivers/pinctrl/intel/pinctrl-intel.c | |||
@@ -836,7 +836,7 @@ static void intel_gpio_community_irq_handler(struct gpio_chip *gc, | |||
836 | } | 836 | } |
837 | } | 837 | } |
838 | 838 | ||
839 | static void intel_gpio_irq_handler(unsigned irq, struct irq_desc *desc) | 839 | static void intel_gpio_irq_handler(struct irq_desc *desc) |
840 | { | 840 | { |
841 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); | 841 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); |
842 | struct intel_pinctrl *pctrl = gpiochip_to_pinctrl(gc); | 842 | struct intel_pinctrl *pctrl = gpiochip_to_pinctrl(gc); |
diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c index 7726c6caaf83..1b22f96ba839 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c | |||
@@ -1190,7 +1190,7 @@ mtk_eint_debounce_process(struct mtk_pinctrl *pctl, int index) | |||
1190 | } | 1190 | } |
1191 | } | 1191 | } |
1192 | 1192 | ||
1193 | static void mtk_eint_irq_handler(unsigned irq, struct irq_desc *desc) | 1193 | static void mtk_eint_irq_handler(struct irq_desc *desc) |
1194 | { | 1194 | { |
1195 | struct irq_chip *chip = irq_desc_get_chip(desc); | 1195 | struct irq_chip *chip = irq_desc_get_chip(desc); |
1196 | struct mtk_pinctrl *pctl = irq_desc_get_handler_data(desc); | 1196 | struct mtk_pinctrl *pctl = irq_desc_get_handler_data(desc); |
diff --git a/drivers/pinctrl/nomadik/pinctrl-nomadik.c b/drivers/pinctrl/nomadik/pinctrl-nomadik.c index 352ede13a9e9..96cf03908e93 100644 --- a/drivers/pinctrl/nomadik/pinctrl-nomadik.c +++ b/drivers/pinctrl/nomadik/pinctrl-nomadik.c | |||
@@ -860,7 +860,7 @@ static void __nmk_gpio_irq_handler(struct irq_desc *desc, u32 status) | |||
860 | chained_irq_exit(host_chip, desc); | 860 | chained_irq_exit(host_chip, desc); |
861 | } | 861 | } |
862 | 862 | ||
863 | static void nmk_gpio_irq_handler(unsigned int irq, struct irq_desc *desc) | 863 | static void nmk_gpio_irq_handler(struct irq_desc *desc) |
864 | { | 864 | { |
865 | struct gpio_chip *chip = irq_desc_get_handler_data(desc); | 865 | struct gpio_chip *chip = irq_desc_get_handler_data(desc); |
866 | struct nmk_gpio_chip *nmk_chip = container_of(chip, struct nmk_gpio_chip, chip); | 866 | struct nmk_gpio_chip *nmk_chip = container_of(chip, struct nmk_gpio_chip, chip); |
@@ -873,7 +873,7 @@ static void nmk_gpio_irq_handler(unsigned int irq, struct irq_desc *desc) | |||
873 | __nmk_gpio_irq_handler(desc, status); | 873 | __nmk_gpio_irq_handler(desc, status); |
874 | } | 874 | } |
875 | 875 | ||
876 | static void nmk_gpio_latent_irq_handler(unsigned int irq, struct irq_desc *desc) | 876 | static void nmk_gpio_latent_irq_handler(struct irq_desc *desc) |
877 | { | 877 | { |
878 | struct gpio_chip *chip = irq_desc_get_handler_data(desc); | 878 | struct gpio_chip *chip = irq_desc_get_handler_data(desc); |
879 | struct nmk_gpio_chip *nmk_chip = container_of(chip, struct nmk_gpio_chip, chip); | 879 | struct nmk_gpio_chip *nmk_chip = container_of(chip, struct nmk_gpio_chip, chip); |
diff --git a/drivers/pinctrl/pinctrl-adi2.c b/drivers/pinctrl/pinctrl-adi2.c index a5976ebc4482..f6be68518c87 100644 --- a/drivers/pinctrl/pinctrl-adi2.c +++ b/drivers/pinctrl/pinctrl-adi2.c | |||
@@ -530,8 +530,7 @@ static inline void preflow_handler(struct irq_desc *desc) | |||
530 | static inline void preflow_handler(struct irq_desc *desc) { } | 530 | static inline void preflow_handler(struct irq_desc *desc) { } |
531 | #endif | 531 | #endif |
532 | 532 | ||
533 | static void adi_gpio_handle_pint_irq(unsigned int inta_irq, | 533 | static void adi_gpio_handle_pint_irq(struct irq_desc *desc) |
534 | struct irq_desc *desc) | ||
535 | { | 534 | { |
536 | u32 request; | 535 | u32 request; |
537 | u32 level_mask, hwirq; | 536 | u32 level_mask, hwirq; |
diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c index 5e86bb8ca80e..3318f1d6193c 100644 --- a/drivers/pinctrl/pinctrl-amd.c +++ b/drivers/pinctrl/pinctrl-amd.c | |||
@@ -492,15 +492,15 @@ static struct irq_chip amd_gpio_irqchip = { | |||
492 | .irq_set_type = amd_gpio_irq_set_type, | 492 | .irq_set_type = amd_gpio_irq_set_type, |
493 | }; | 493 | }; |
494 | 494 | ||
495 | static void amd_gpio_irq_handler(unsigned int __irq, struct irq_desc *desc) | 495 | static void amd_gpio_irq_handler(struct irq_desc *desc) |
496 | { | 496 | { |
497 | unsigned int irq = irq_desc_get_irq(desc); | ||
498 | u32 i; | 497 | u32 i; |
499 | u32 off; | 498 | u32 off; |
500 | u32 reg; | 499 | u32 reg; |
501 | u32 pin_reg; | 500 | u32 pin_reg; |
502 | u64 reg64; | 501 | u64 reg64; |
503 | int handled = 0; | 502 | int handled = 0; |
503 | unsigned int irq; | ||
504 | unsigned long flags; | 504 | unsigned long flags; |
505 | struct irq_chip *chip = irq_desc_get_chip(desc); | 505 | struct irq_chip *chip = irq_desc_get_chip(desc); |
506 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); | 506 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); |
@@ -541,7 +541,7 @@ static void amd_gpio_irq_handler(unsigned int __irq, struct irq_desc *desc) | |||
541 | } | 541 | } |
542 | 542 | ||
543 | if (handled == 0) | 543 | if (handled == 0) |
544 | handle_bad_irq(irq, desc); | 544 | handle_bad_irq(desc); |
545 | 545 | ||
546 | spin_lock_irqsave(&gpio_dev->lock, flags); | 546 | spin_lock_irqsave(&gpio_dev->lock, flags); |
547 | reg = readl(gpio_dev->base + WAKE_INT_MASTER_REG); | 547 | reg = readl(gpio_dev->base + WAKE_INT_MASTER_REG); |
diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c index bae0012ee356..b0fde0f385e6 100644 --- a/drivers/pinctrl/pinctrl-at91.c +++ b/drivers/pinctrl/pinctrl-at91.c | |||
@@ -1585,7 +1585,7 @@ static struct irq_chip gpio_irqchip = { | |||
1585 | .irq_set_wake = gpio_irq_set_wake, | 1585 | .irq_set_wake = gpio_irq_set_wake, |
1586 | }; | 1586 | }; |
1587 | 1587 | ||
1588 | static void gpio_irq_handler(unsigned irq, struct irq_desc *desc) | 1588 | static void gpio_irq_handler(struct irq_desc *desc) |
1589 | { | 1589 | { |
1590 | struct irq_chip *chip = irq_desc_get_chip(desc); | 1590 | struct irq_chip *chip = irq_desc_get_chip(desc); |
1591 | struct gpio_chip *gpio_chip = irq_desc_get_handler_data(desc); | 1591 | struct gpio_chip *gpio_chip = irq_desc_get_handler_data(desc); |
diff --git a/drivers/pinctrl/pinctrl-coh901.c b/drivers/pinctrl/pinctrl-coh901.c index 3731cc67a88b..9c9b88934bcc 100644 --- a/drivers/pinctrl/pinctrl-coh901.c +++ b/drivers/pinctrl/pinctrl-coh901.c | |||
@@ -519,7 +519,7 @@ static struct irq_chip u300_gpio_irqchip = { | |||
519 | .irq_set_type = u300_gpio_irq_type, | 519 | .irq_set_type = u300_gpio_irq_type, |
520 | }; | 520 | }; |
521 | 521 | ||
522 | static void u300_gpio_irq_handler(unsigned __irq, struct irq_desc *desc) | 522 | static void u300_gpio_irq_handler(struct irq_desc *desc) |
523 | { | 523 | { |
524 | unsigned int irq = irq_desc_get_irq(desc); | 524 | unsigned int irq = irq_desc_get_irq(desc); |
525 | struct irq_chip *parent_chip = irq_desc_get_chip(desc); | 525 | struct irq_chip *parent_chip = irq_desc_get_chip(desc); |
diff --git a/drivers/pinctrl/pinctrl-pistachio.c b/drivers/pinctrl/pinctrl-pistachio.c index f22d585d9300..952b1c623887 100644 --- a/drivers/pinctrl/pinctrl-pistachio.c +++ b/drivers/pinctrl/pinctrl-pistachio.c | |||
@@ -1310,13 +1310,11 @@ static int pistachio_gpio_irq_set_type(struct irq_data *data, unsigned int type) | |||
1310 | return 0; | 1310 | return 0; |
1311 | } | 1311 | } |
1312 | 1312 | ||
1313 | static void pistachio_gpio_irq_handler(unsigned int __irq, | 1313 | static void pistachio_gpio_irq_handler(struct irq_desc *desc) |
1314 | struct irq_desc *desc) | ||
1315 | { | 1314 | { |
1316 | unsigned int irq = irq_desc_get_irq(desc); | ||
1317 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); | 1315 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); |
1318 | struct pistachio_gpio_bank *bank = gc_to_bank(gc); | 1316 | struct pistachio_gpio_bank *bank = gc_to_bank(gc); |
1319 | struct irq_chip *chip = irq_get_chip(irq); | 1317 | struct irq_chip *chip = irq_desc_get_chip(desc); |
1320 | unsigned long pending; | 1318 | unsigned long pending; |
1321 | unsigned int pin; | 1319 | unsigned int pin; |
1322 | 1320 | ||
diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c index c5246c05f70c..88bb707e107a 100644 --- a/drivers/pinctrl/pinctrl-rockchip.c +++ b/drivers/pinctrl/pinctrl-rockchip.c | |||
@@ -1475,7 +1475,7 @@ static const struct gpio_chip rockchip_gpiolib_chip = { | |||
1475 | * Interrupt handling | 1475 | * Interrupt handling |
1476 | */ | 1476 | */ |
1477 | 1477 | ||
1478 | static void rockchip_irq_demux(unsigned int __irq, struct irq_desc *desc) | 1478 | static void rockchip_irq_demux(struct irq_desc *desc) |
1479 | { | 1479 | { |
1480 | struct irq_chip *chip = irq_desc_get_chip(desc); | 1480 | struct irq_chip *chip = irq_desc_get_chip(desc); |
1481 | struct rockchip_pin_bank *bank = irq_desc_get_handler_data(desc); | 1481 | struct rockchip_pin_bank *bank = irq_desc_get_handler_data(desc); |
diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c index bf548c2a7a9d..ef04b962c3d5 100644 --- a/drivers/pinctrl/pinctrl-single.c +++ b/drivers/pinctrl/pinctrl-single.c | |||
@@ -1679,7 +1679,7 @@ static irqreturn_t pcs_irq_handler(int irq, void *d) | |||
1679 | * Use this if you have a separate interrupt for each | 1679 | * Use this if you have a separate interrupt for each |
1680 | * pinctrl-single instance. | 1680 | * pinctrl-single instance. |
1681 | */ | 1681 | */ |
1682 | static void pcs_irq_chain_handler(unsigned int irq, struct irq_desc *desc) | 1682 | static void pcs_irq_chain_handler(struct irq_desc *desc) |
1683 | { | 1683 | { |
1684 | struct pcs_soc_data *pcs_soc = irq_desc_get_handler_data(desc); | 1684 | struct pcs_soc_data *pcs_soc = irq_desc_get_handler_data(desc); |
1685 | struct irq_chip *chip; | 1685 | struct irq_chip *chip; |
diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c index f8338d2e6b6b..389526e704fb 100644 --- a/drivers/pinctrl/pinctrl-st.c +++ b/drivers/pinctrl/pinctrl-st.c | |||
@@ -1460,7 +1460,7 @@ static void __gpio_irq_handler(struct st_gpio_bank *bank) | |||
1460 | } | 1460 | } |
1461 | } | 1461 | } |
1462 | 1462 | ||
1463 | static void st_gpio_irq_handler(unsigned irq, struct irq_desc *desc) | 1463 | static void st_gpio_irq_handler(struct irq_desc *desc) |
1464 | { | 1464 | { |
1465 | /* interrupt dedicated per bank */ | 1465 | /* interrupt dedicated per bank */ |
1466 | struct irq_chip *chip = irq_desc_get_chip(desc); | 1466 | struct irq_chip *chip = irq_desc_get_chip(desc); |
@@ -1472,7 +1472,7 @@ static void st_gpio_irq_handler(unsigned irq, struct irq_desc *desc) | |||
1472 | chained_irq_exit(chip, desc); | 1472 | chained_irq_exit(chip, desc); |
1473 | } | 1473 | } |
1474 | 1474 | ||
1475 | static void st_gpio_irqmux_handler(unsigned irq, struct irq_desc *desc) | 1475 | static void st_gpio_irqmux_handler(struct irq_desc *desc) |
1476 | { | 1476 | { |
1477 | struct irq_chip *chip = irq_desc_get_chip(desc); | 1477 | struct irq_chip *chip = irq_desc_get_chip(desc); |
1478 | struct st_pinctrl *info = irq_desc_get_handler_data(desc); | 1478 | struct st_pinctrl *info = irq_desc_get_handler_data(desc); |
diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c index 492cdd51dc5c..a0c7407c1cac 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm.c +++ b/drivers/pinctrl/qcom/pinctrl-msm.c | |||
@@ -765,9 +765,8 @@ static struct irq_chip msm_gpio_irq_chip = { | |||
765 | .irq_set_wake = msm_gpio_irq_set_wake, | 765 | .irq_set_wake = msm_gpio_irq_set_wake, |
766 | }; | 766 | }; |
767 | 767 | ||
768 | static void msm_gpio_irq_handler(unsigned int __irq, struct irq_desc *desc) | 768 | static void msm_gpio_irq_handler(struct irq_desc *desc) |
769 | { | 769 | { |
770 | unsigned int irq = irq_desc_get_irq(desc); | ||
771 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); | 770 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); |
772 | const struct msm_pingroup *g; | 771 | const struct msm_pingroup *g; |
773 | struct msm_pinctrl *pctrl = to_msm_pinctrl(gc); | 772 | struct msm_pinctrl *pctrl = to_msm_pinctrl(gc); |
@@ -795,7 +794,7 @@ static void msm_gpio_irq_handler(unsigned int __irq, struct irq_desc *desc) | |||
795 | 794 | ||
796 | /* No interrupts were flagged */ | 795 | /* No interrupts were flagged */ |
797 | if (handled == 0) | 796 | if (handled == 0) |
798 | handle_bad_irq(irq, desc); | 797 | handle_bad_irq(desc); |
799 | 798 | ||
800 | chained_irq_exit(chip, desc); | 799 | chained_irq_exit(chip, desc); |
801 | } | 800 | } |
diff --git a/drivers/pinctrl/samsung/pinctrl-exynos.c b/drivers/pinctrl/samsung/pinctrl-exynos.c index 5f45caaef46d..71ccf6a90b22 100644 --- a/drivers/pinctrl/samsung/pinctrl-exynos.c +++ b/drivers/pinctrl/samsung/pinctrl-exynos.c | |||
@@ -419,7 +419,7 @@ static const struct of_device_id exynos_wkup_irq_ids[] = { | |||
419 | }; | 419 | }; |
420 | 420 | ||
421 | /* interrupt handler for wakeup interrupts 0..15 */ | 421 | /* interrupt handler for wakeup interrupts 0..15 */ |
422 | static void exynos_irq_eint0_15(unsigned int irq, struct irq_desc *desc) | 422 | static void exynos_irq_eint0_15(struct irq_desc *desc) |
423 | { | 423 | { |
424 | struct exynos_weint_data *eintd = irq_desc_get_handler_data(desc); | 424 | struct exynos_weint_data *eintd = irq_desc_get_handler_data(desc); |
425 | struct samsung_pin_bank *bank = eintd->bank; | 425 | struct samsung_pin_bank *bank = eintd->bank; |
@@ -451,7 +451,7 @@ static inline void exynos_irq_demux_eint(unsigned long pend, | |||
451 | } | 451 | } |
452 | 452 | ||
453 | /* interrupt handler for wakeup interrupt 16 */ | 453 | /* interrupt handler for wakeup interrupt 16 */ |
454 | static void exynos_irq_demux_eint16_31(unsigned int irq, struct irq_desc *desc) | 454 | static void exynos_irq_demux_eint16_31(struct irq_desc *desc) |
455 | { | 455 | { |
456 | struct irq_chip *chip = irq_desc_get_chip(desc); | 456 | struct irq_chip *chip = irq_desc_get_chip(desc); |
457 | struct exynos_muxed_weint_data *eintd = irq_desc_get_handler_data(desc); | 457 | struct exynos_muxed_weint_data *eintd = irq_desc_get_handler_data(desc); |
diff --git a/drivers/pinctrl/samsung/pinctrl-s3c24xx.c b/drivers/pinctrl/samsung/pinctrl-s3c24xx.c index 019844d479bb..b3cd9ae3f4a2 100644 --- a/drivers/pinctrl/samsung/pinctrl-s3c24xx.c +++ b/drivers/pinctrl/samsung/pinctrl-s3c24xx.c | |||
@@ -240,7 +240,7 @@ static struct irq_chip s3c2410_eint0_3_chip = { | |||
240 | .irq_set_type = s3c24xx_eint_type, | 240 | .irq_set_type = s3c24xx_eint_type, |
241 | }; | 241 | }; |
242 | 242 | ||
243 | static void s3c2410_demux_eint0_3(unsigned int irq, struct irq_desc *desc) | 243 | static void s3c2410_demux_eint0_3(struct irq_desc *desc) |
244 | { | 244 | { |
245 | struct irq_data *data = irq_desc_get_irq_data(desc); | 245 | struct irq_data *data = irq_desc_get_irq_data(desc); |
246 | struct s3c24xx_eint_data *eint_data = irq_desc_get_handler_data(desc); | 246 | struct s3c24xx_eint_data *eint_data = irq_desc_get_handler_data(desc); |
@@ -295,7 +295,7 @@ static struct irq_chip s3c2412_eint0_3_chip = { | |||
295 | .irq_set_type = s3c24xx_eint_type, | 295 | .irq_set_type = s3c24xx_eint_type, |
296 | }; | 296 | }; |
297 | 297 | ||
298 | static void s3c2412_demux_eint0_3(unsigned int irq, struct irq_desc *desc) | 298 | static void s3c2412_demux_eint0_3(struct irq_desc *desc) |
299 | { | 299 | { |
300 | struct s3c24xx_eint_data *eint_data = irq_desc_get_handler_data(desc); | 300 | struct s3c24xx_eint_data *eint_data = irq_desc_get_handler_data(desc); |
301 | struct irq_data *data = irq_desc_get_irq_data(desc); | 301 | struct irq_data *data = irq_desc_get_irq_data(desc); |
@@ -388,12 +388,12 @@ static inline void s3c24xx_demux_eint(struct irq_desc *desc, | |||
388 | chained_irq_exit(chip, desc); | 388 | chained_irq_exit(chip, desc); |
389 | } | 389 | } |
390 | 390 | ||
391 | static void s3c24xx_demux_eint4_7(unsigned int irq, struct irq_desc *desc) | 391 | static void s3c24xx_demux_eint4_7(struct irq_desc *desc) |
392 | { | 392 | { |
393 | s3c24xx_demux_eint(desc, 0, 0xf0); | 393 | s3c24xx_demux_eint(desc, 0, 0xf0); |
394 | } | 394 | } |
395 | 395 | ||
396 | static void s3c24xx_demux_eint8_23(unsigned int irq, struct irq_desc *desc) | 396 | static void s3c24xx_demux_eint8_23(struct irq_desc *desc) |
397 | { | 397 | { |
398 | s3c24xx_demux_eint(desc, 8, 0xffff00); | 398 | s3c24xx_demux_eint(desc, 8, 0xffff00); |
399 | } | 399 | } |
diff --git a/drivers/pinctrl/samsung/pinctrl-s3c64xx.c b/drivers/pinctrl/samsung/pinctrl-s3c64xx.c index f5ea40a69711..43407ab248f5 100644 --- a/drivers/pinctrl/samsung/pinctrl-s3c64xx.c +++ b/drivers/pinctrl/samsung/pinctrl-s3c64xx.c | |||
@@ -407,7 +407,7 @@ static const struct irq_domain_ops s3c64xx_gpio_irqd_ops = { | |||
407 | .xlate = irq_domain_xlate_twocell, | 407 | .xlate = irq_domain_xlate_twocell, |
408 | }; | 408 | }; |
409 | 409 | ||
410 | static void s3c64xx_eint_gpio_irq(unsigned int irq, struct irq_desc *desc) | 410 | static void s3c64xx_eint_gpio_irq(struct irq_desc *desc) |
411 | { | 411 | { |
412 | struct irq_chip *chip = irq_desc_get_chip(desc); | 412 | struct irq_chip *chip = irq_desc_get_chip(desc); |
413 | struct s3c64xx_eint_gpio_data *data = irq_desc_get_handler_data(desc); | 413 | struct s3c64xx_eint_gpio_data *data = irq_desc_get_handler_data(desc); |
@@ -631,22 +631,22 @@ static inline void s3c64xx_irq_demux_eint(struct irq_desc *desc, u32 range) | |||
631 | chained_irq_exit(chip, desc); | 631 | chained_irq_exit(chip, desc); |
632 | } | 632 | } |
633 | 633 | ||
634 | static void s3c64xx_demux_eint0_3(unsigned int irq, struct irq_desc *desc) | 634 | static void s3c64xx_demux_eint0_3(struct irq_desc *desc) |
635 | { | 635 | { |
636 | s3c64xx_irq_demux_eint(desc, 0xf); | 636 | s3c64xx_irq_demux_eint(desc, 0xf); |
637 | } | 637 | } |
638 | 638 | ||
639 | static void s3c64xx_demux_eint4_11(unsigned int irq, struct irq_desc *desc) | 639 | static void s3c64xx_demux_eint4_11(struct irq_desc *desc) |
640 | { | 640 | { |
641 | s3c64xx_irq_demux_eint(desc, 0xff0); | 641 | s3c64xx_irq_demux_eint(desc, 0xff0); |
642 | } | 642 | } |
643 | 643 | ||
644 | static void s3c64xx_demux_eint12_19(unsigned int irq, struct irq_desc *desc) | 644 | static void s3c64xx_demux_eint12_19(struct irq_desc *desc) |
645 | { | 645 | { |
646 | s3c64xx_irq_demux_eint(desc, 0xff000); | 646 | s3c64xx_irq_demux_eint(desc, 0xff000); |
647 | } | 647 | } |
648 | 648 | ||
649 | static void s3c64xx_demux_eint20_27(unsigned int irq, struct irq_desc *desc) | 649 | static void s3c64xx_demux_eint20_27(struct irq_desc *desc) |
650 | { | 650 | { |
651 | s3c64xx_irq_demux_eint(desc, 0xff00000); | 651 | s3c64xx_irq_demux_eint(desc, 0xff00000); |
652 | } | 652 | } |
diff --git a/drivers/pinctrl/sirf/pinctrl-atlas7.c b/drivers/pinctrl/sirf/pinctrl-atlas7.c index 9df0c5f25824..0d24d9e4b70c 100644 --- a/drivers/pinctrl/sirf/pinctrl-atlas7.c +++ b/drivers/pinctrl/sirf/pinctrl-atlas7.c | |||
@@ -4489,7 +4489,7 @@ static struct irq_chip atlas7_gpio_irq_chip = { | |||
4489 | .irq_set_type = atlas7_gpio_irq_type, | 4489 | .irq_set_type = atlas7_gpio_irq_type, |
4490 | }; | 4490 | }; |
4491 | 4491 | ||
4492 | static void atlas7_gpio_handle_irq(unsigned int __irq, struct irq_desc *desc) | 4492 | static void atlas7_gpio_handle_irq(struct irq_desc *desc) |
4493 | { | 4493 | { |
4494 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); | 4494 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); |
4495 | struct atlas7_gpio_chip *a7gc = to_atlas7_gpio(gc); | 4495 | struct atlas7_gpio_chip *a7gc = to_atlas7_gpio(gc); |
@@ -4512,7 +4512,7 @@ static void atlas7_gpio_handle_irq(unsigned int __irq, struct irq_desc *desc) | |||
4512 | if (!status) { | 4512 | if (!status) { |
4513 | pr_warn("%s: gpio [%s] status %#x no interrupt is flaged\n", | 4513 | pr_warn("%s: gpio [%s] status %#x no interrupt is flaged\n", |
4514 | __func__, gc->label, status); | 4514 | __func__, gc->label, status); |
4515 | handle_bad_irq(irq, desc); | 4515 | handle_bad_irq(desc); |
4516 | return; | 4516 | return; |
4517 | } | 4517 | } |
4518 | 4518 | ||
diff --git a/drivers/pinctrl/sirf/pinctrl-sirf.c b/drivers/pinctrl/sirf/pinctrl-sirf.c index f8bd9fb52033..2a8d69725de8 100644 --- a/drivers/pinctrl/sirf/pinctrl-sirf.c +++ b/drivers/pinctrl/sirf/pinctrl-sirf.c | |||
@@ -545,7 +545,7 @@ static struct irq_chip sirfsoc_irq_chip = { | |||
545 | .irq_set_type = sirfsoc_gpio_irq_type, | 545 | .irq_set_type = sirfsoc_gpio_irq_type, |
546 | }; | 546 | }; |
547 | 547 | ||
548 | static void sirfsoc_gpio_handle_irq(unsigned int __irq, struct irq_desc *desc) | 548 | static void sirfsoc_gpio_handle_irq(struct irq_desc *desc) |
549 | { | 549 | { |
550 | unsigned int irq = irq_desc_get_irq(desc); | 550 | unsigned int irq = irq_desc_get_irq(desc); |
551 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); | 551 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); |
@@ -570,7 +570,7 @@ static void sirfsoc_gpio_handle_irq(unsigned int __irq, struct irq_desc *desc) | |||
570 | printk(KERN_WARNING | 570 | printk(KERN_WARNING |
571 | "%s: gpio id %d status %#x no interrupt is flagged\n", | 571 | "%s: gpio id %d status %#x no interrupt is flagged\n", |
572 | __func__, bank->id, status); | 572 | __func__, bank->id, status); |
573 | handle_bad_irq(irq, desc); | 573 | handle_bad_irq(desc); |
574 | return; | 574 | return; |
575 | } | 575 | } |
576 | 576 | ||
diff --git a/drivers/pinctrl/spear/pinctrl-plgpio.c b/drivers/pinctrl/spear/pinctrl-plgpio.c index ae8f29fb5536..1f0af250dbb5 100644 --- a/drivers/pinctrl/spear/pinctrl-plgpio.c +++ b/drivers/pinctrl/spear/pinctrl-plgpio.c | |||
@@ -356,7 +356,7 @@ static struct irq_chip plgpio_irqchip = { | |||
356 | .irq_set_type = plgpio_irq_set_type, | 356 | .irq_set_type = plgpio_irq_set_type, |
357 | }; | 357 | }; |
358 | 358 | ||
359 | static void plgpio_irq_handler(unsigned irq, struct irq_desc *desc) | 359 | static void plgpio_irq_handler(struct irq_desc *desc) |
360 | { | 360 | { |
361 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); | 361 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); |
362 | struct plgpio *plgpio = container_of(gc, struct plgpio, chip); | 362 | struct plgpio *plgpio = container_of(gc, struct plgpio, chip); |
diff --git a/drivers/pinctrl/sunxi/pinctrl-sunxi.c b/drivers/pinctrl/sunxi/pinctrl-sunxi.c index 31af97d89272..38e0c7bdd2ac 100644 --- a/drivers/pinctrl/sunxi/pinctrl-sunxi.c +++ b/drivers/pinctrl/sunxi/pinctrl-sunxi.c | |||
@@ -740,7 +740,7 @@ static struct irq_domain_ops sunxi_pinctrl_irq_domain_ops = { | |||
740 | .xlate = sunxi_pinctrl_irq_of_xlate, | 740 | .xlate = sunxi_pinctrl_irq_of_xlate, |
741 | }; | 741 | }; |
742 | 742 | ||
743 | static void sunxi_pinctrl_irq_handler(unsigned __irq, struct irq_desc *desc) | 743 | static void sunxi_pinctrl_irq_handler(struct irq_desc *desc) |
744 | { | 744 | { |
745 | unsigned int irq = irq_desc_get_irq(desc); | 745 | unsigned int irq = irq_desc_get_irq(desc); |
746 | struct irq_chip *chip = irq_desc_get_chip(desc); | 746 | struct irq_chip *chip = irq_desc_get_chip(desc); |
diff --git a/drivers/sh/intc/core.c b/drivers/sh/intc/core.c index 043419dcee92..8e72bcbd3d6d 100644 --- a/drivers/sh/intc/core.c +++ b/drivers/sh/intc/core.c | |||
@@ -65,7 +65,7 @@ void intc_set_prio_level(unsigned int irq, unsigned int level) | |||
65 | raw_spin_unlock_irqrestore(&intc_big_lock, flags); | 65 | raw_spin_unlock_irqrestore(&intc_big_lock, flags); |
66 | } | 66 | } |
67 | 67 | ||
68 | static void intc_redirect_irq(unsigned int irq, struct irq_desc *desc) | 68 | static void intc_redirect_irq(struct irq_desc *desc) |
69 | { | 69 | { |
70 | generic_handle_irq((unsigned int)irq_desc_get_handler_data(desc)); | 70 | generic_handle_irq((unsigned int)irq_desc_get_handler_data(desc)); |
71 | } | 71 | } |
diff --git a/drivers/sh/intc/virq.c b/drivers/sh/intc/virq.c index bafc51c6f0ba..e7899624aa0b 100644 --- a/drivers/sh/intc/virq.c +++ b/drivers/sh/intc/virq.c | |||
@@ -109,7 +109,7 @@ static int add_virq_to_pirq(unsigned int irq, unsigned int virq) | |||
109 | return 0; | 109 | return 0; |
110 | } | 110 | } |
111 | 111 | ||
112 | static void intc_virq_handler(unsigned int __irq, struct irq_desc *desc) | 112 | static void intc_virq_handler(struct irq_desc *desc) |
113 | { | 113 | { |
114 | unsigned int irq = irq_desc_get_irq(desc); | 114 | unsigned int irq = irq_desc_get_irq(desc); |
115 | struct irq_data *data = irq_desc_get_irq_data(desc); | 115 | struct irq_data *data = irq_desc_get_irq_data(desc); |
@@ -127,7 +127,7 @@ static void intc_virq_handler(unsigned int __irq, struct irq_desc *desc) | |||
127 | handle = (unsigned long)irq_desc_get_handler_data(vdesc); | 127 | handle = (unsigned long)irq_desc_get_handler_data(vdesc); |
128 | addr = INTC_REG(d, _INTC_ADDR_E(handle), 0); | 128 | addr = INTC_REG(d, _INTC_ADDR_E(handle), 0); |
129 | if (intc_reg_fns[_INTC_FN(handle)](addr, handle, 0)) | 129 | if (intc_reg_fns[_INTC_FN(handle)](addr, handle, 0)) |
130 | generic_handle_irq_desc(entry->irq, vdesc); | 130 | generic_handle_irq_desc(vdesc); |
131 | } | 131 | } |
132 | } | 132 | } |
133 | 133 | ||
diff --git a/drivers/soc/dove/pmu.c b/drivers/soc/dove/pmu.c index 6bc13f99489a..052aecf29893 100644 --- a/drivers/soc/dove/pmu.c +++ b/drivers/soc/dove/pmu.c | |||
@@ -222,7 +222,7 @@ static void __pmu_domain_register(struct pmu_domain *domain, | |||
222 | } | 222 | } |
223 | 223 | ||
224 | /* PMU IRQ controller */ | 224 | /* PMU IRQ controller */ |
225 | static void pmu_irq_handler(unsigned int irq, struct irq_desc *desc) | 225 | static void pmu_irq_handler(struct irq_desc *desc) |
226 | { | 226 | { |
227 | struct pmu_data *pmu = irq_desc_get_handler_data(desc); | 227 | struct pmu_data *pmu = irq_desc_get_handler_data(desc); |
228 | struct irq_chip_generic *gc = pmu->irq_gc; | 228 | struct irq_chip_generic *gc = pmu->irq_gc; |
@@ -232,7 +232,7 @@ static void pmu_irq_handler(unsigned int irq, struct irq_desc *desc) | |||
232 | u32 done = ~0; | 232 | u32 done = ~0; |
233 | 233 | ||
234 | if (stat == 0) { | 234 | if (stat == 0) { |
235 | handle_bad_irq(irq_desc_get_irq(desc), desc); | 235 | handle_bad_irq(desc); |
236 | return; | 236 | return; |
237 | } | 237 | } |
238 | 238 | ||
diff --git a/drivers/spmi/spmi-pmic-arb.c b/drivers/spmi/spmi-pmic-arb.c index bdfb3c84c3cb..4a3cf9ba152f 100644 --- a/drivers/spmi/spmi-pmic-arb.c +++ b/drivers/spmi/spmi-pmic-arb.c | |||
@@ -451,7 +451,7 @@ static void periph_interrupt(struct spmi_pmic_arb_dev *pa, u8 apid) | |||
451 | } | 451 | } |
452 | } | 452 | } |
453 | 453 | ||
454 | static void pmic_arb_chained_irq(unsigned int irq, struct irq_desc *desc) | 454 | static void pmic_arb_chained_irq(struct irq_desc *desc) |
455 | { | 455 | { |
456 | struct spmi_pmic_arb_dev *pa = irq_desc_get_handler_data(desc); | 456 | struct spmi_pmic_arb_dev *pa = irq_desc_get_handler_data(desc); |
457 | struct irq_chip *chip = irq_desc_get_chip(desc); | 457 | struct irq_chip *chip = irq_desc_get_chip(desc); |
diff --git a/include/linux/irq.h b/include/linux/irq.h index 4913c32db942..11bf09288ddb 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h | |||
@@ -475,14 +475,14 @@ static inline int irq_set_parent(int irq, int parent_irq) | |||
475 | * Built-in IRQ handlers for various IRQ types, | 475 | * Built-in IRQ handlers for various IRQ types, |
476 | * callable via desc->handle_irq() | 476 | * callable via desc->handle_irq() |
477 | */ | 477 | */ |
478 | extern void handle_level_irq(unsigned int irq, struct irq_desc *desc); | 478 | extern void handle_level_irq(struct irq_desc *desc); |
479 | extern void handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc); | 479 | extern void handle_fasteoi_irq(struct irq_desc *desc); |
480 | extern void handle_edge_irq(unsigned int irq, struct irq_desc *desc); | 480 | extern void handle_edge_irq(struct irq_desc *desc); |
481 | extern void handle_edge_eoi_irq(unsigned int irq, struct irq_desc *desc); | 481 | extern void handle_edge_eoi_irq(struct irq_desc *desc); |
482 | extern void handle_simple_irq(unsigned int irq, struct irq_desc *desc); | 482 | extern void handle_simple_irq(struct irq_desc *desc); |
483 | extern void handle_percpu_irq(unsigned int irq, struct irq_desc *desc); | 483 | extern void handle_percpu_irq(struct irq_desc *desc); |
484 | extern void handle_percpu_devid_irq(unsigned int irq, struct irq_desc *desc); | 484 | extern void handle_percpu_devid_irq(struct irq_desc *desc); |
485 | extern void handle_bad_irq(unsigned int irq, struct irq_desc *desc); | 485 | extern void handle_bad_irq(struct irq_desc *desc); |
486 | extern void handle_nested_irq(unsigned int irq); | 486 | extern void handle_nested_irq(unsigned int irq); |
487 | 487 | ||
488 | extern int irq_chip_compose_msi_msg(struct irq_data *data, struct msi_msg *msg); | 488 | extern int irq_chip_compose_msi_msg(struct irq_data *data, struct msi_msg *msg); |
diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h index fbb4d5afc32b..a587a33363c7 100644 --- a/include/linux/irqdesc.h +++ b/include/linux/irqdesc.h | |||
@@ -135,9 +135,9 @@ static inline struct msi_desc *irq_desc_get_msi_desc(struct irq_desc *desc) | |||
135 | * Architectures call this to let the generic IRQ layer | 135 | * Architectures call this to let the generic IRQ layer |
136 | * handle an interrupt. | 136 | * handle an interrupt. |
137 | */ | 137 | */ |
138 | static inline void generic_handle_irq_desc(unsigned int irq, struct irq_desc *desc) | 138 | static inline void generic_handle_irq_desc(struct irq_desc *desc) |
139 | { | 139 | { |
140 | desc->handle_irq(irq, desc); | 140 | desc->handle_irq(desc); |
141 | } | 141 | } |
142 | 142 | ||
143 | int generic_handle_irq(unsigned int irq); | 143 | int generic_handle_irq(unsigned int irq); |
diff --git a/include/linux/irqhandler.h b/include/linux/irqhandler.h index 62d543004197..661bed0ed1f3 100644 --- a/include/linux/irqhandler.h +++ b/include/linux/irqhandler.h | |||
@@ -8,7 +8,7 @@ | |||
8 | 8 | ||
9 | struct irq_desc; | 9 | struct irq_desc; |
10 | struct irq_data; | 10 | struct irq_data; |
11 | typedef void (*irq_flow_handler_t)(unsigned int irq, struct irq_desc *desc); | 11 | typedef void (*irq_flow_handler_t)(struct irq_desc *desc); |
12 | typedef void (*irq_preflow_handler_t)(struct irq_data *data); | 12 | typedef void (*irq_preflow_handler_t)(struct irq_data *data); |
13 | 13 | ||
14 | #endif | 14 | #endif |
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index 8c55d545558f..e28169dd1c36 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c | |||
@@ -372,7 +372,6 @@ static bool irq_may_run(struct irq_desc *desc) | |||
372 | 372 | ||
373 | /** | 373 | /** |
374 | * handle_simple_irq - Simple and software-decoded IRQs. | 374 | * handle_simple_irq - Simple and software-decoded IRQs. |
375 | * @irq: the interrupt number | ||
376 | * @desc: the interrupt description structure for this irq | 375 | * @desc: the interrupt description structure for this irq |
377 | * | 376 | * |
378 | * Simple interrupts are either sent from a demultiplexing interrupt | 377 | * Simple interrupts are either sent from a demultiplexing interrupt |
@@ -382,8 +381,7 @@ static bool irq_may_run(struct irq_desc *desc) | |||
382 | * Note: The caller is expected to handle the ack, clear, mask and | 381 | * Note: The caller is expected to handle the ack, clear, mask and |
383 | * unmask issues if necessary. | 382 | * unmask issues if necessary. |
384 | */ | 383 | */ |
385 | void | 384 | void handle_simple_irq(struct irq_desc *desc) |
386 | handle_simple_irq(unsigned int irq, struct irq_desc *desc) | ||
387 | { | 385 | { |
388 | raw_spin_lock(&desc->lock); | 386 | raw_spin_lock(&desc->lock); |
389 | 387 | ||
@@ -425,7 +423,6 @@ static void cond_unmask_irq(struct irq_desc *desc) | |||
425 | 423 | ||
426 | /** | 424 | /** |
427 | * handle_level_irq - Level type irq handler | 425 | * handle_level_irq - Level type irq handler |
428 | * @irq: the interrupt number | ||
429 | * @desc: the interrupt description structure for this irq | 426 | * @desc: the interrupt description structure for this irq |
430 | * | 427 | * |
431 | * Level type interrupts are active as long as the hardware line has | 428 | * Level type interrupts are active as long as the hardware line has |
@@ -433,8 +430,7 @@ static void cond_unmask_irq(struct irq_desc *desc) | |||
433 | * it after the associated handler has acknowledged the device, so the | 430 | * it after the associated handler has acknowledged the device, so the |
434 | * interrupt line is back to inactive. | 431 | * interrupt line is back to inactive. |
435 | */ | 432 | */ |
436 | void | 433 | void handle_level_irq(struct irq_desc *desc) |
437 | handle_level_irq(unsigned int irq, struct irq_desc *desc) | ||
438 | { | 434 | { |
439 | raw_spin_lock(&desc->lock); | 435 | raw_spin_lock(&desc->lock); |
440 | mask_ack_irq(desc); | 436 | mask_ack_irq(desc); |
@@ -496,7 +492,6 @@ static void cond_unmask_eoi_irq(struct irq_desc *desc, struct irq_chip *chip) | |||
496 | 492 | ||
497 | /** | 493 | /** |
498 | * handle_fasteoi_irq - irq handler for transparent controllers | 494 | * handle_fasteoi_irq - irq handler for transparent controllers |
499 | * @irq: the interrupt number | ||
500 | * @desc: the interrupt description structure for this irq | 495 | * @desc: the interrupt description structure for this irq |
501 | * | 496 | * |
502 | * Only a single callback will be issued to the chip: an ->eoi() | 497 | * Only a single callback will be issued to the chip: an ->eoi() |
@@ -504,8 +499,7 @@ static void cond_unmask_eoi_irq(struct irq_desc *desc, struct irq_chip *chip) | |||
504 | * for modern forms of interrupt handlers, which handle the flow | 499 | * for modern forms of interrupt handlers, which handle the flow |
505 | * details in hardware, transparently. | 500 | * details in hardware, transparently. |
506 | */ | 501 | */ |
507 | void | 502 | void handle_fasteoi_irq(struct irq_desc *desc) |
508 | handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc) | ||
509 | { | 503 | { |
510 | struct irq_chip *chip = desc->irq_data.chip; | 504 | struct irq_chip *chip = desc->irq_data.chip; |
511 | 505 | ||
@@ -546,7 +540,6 @@ EXPORT_SYMBOL_GPL(handle_fasteoi_irq); | |||
546 | 540 | ||
547 | /** | 541 | /** |
548 | * handle_edge_irq - edge type IRQ handler | 542 | * handle_edge_irq - edge type IRQ handler |
549 | * @irq: the interrupt number | ||
550 | * @desc: the interrupt description structure for this irq | 543 | * @desc: the interrupt description structure for this irq |
551 | * | 544 | * |
552 | * Interrupt occures on the falling and/or rising edge of a hardware | 545 | * Interrupt occures on the falling and/or rising edge of a hardware |
@@ -560,8 +553,7 @@ EXPORT_SYMBOL_GPL(handle_fasteoi_irq); | |||
560 | * the handler was running. If all pending interrupts are handled, the | 553 | * the handler was running. If all pending interrupts are handled, the |
561 | * loop is left. | 554 | * loop is left. |
562 | */ | 555 | */ |
563 | void | 556 | void handle_edge_irq(struct irq_desc *desc) |
564 | handle_edge_irq(unsigned int irq, struct irq_desc *desc) | ||
565 | { | 557 | { |
566 | raw_spin_lock(&desc->lock); | 558 | raw_spin_lock(&desc->lock); |
567 | 559 | ||
@@ -618,13 +610,12 @@ EXPORT_SYMBOL(handle_edge_irq); | |||
618 | #ifdef CONFIG_IRQ_EDGE_EOI_HANDLER | 610 | #ifdef CONFIG_IRQ_EDGE_EOI_HANDLER |
619 | /** | 611 | /** |
620 | * handle_edge_eoi_irq - edge eoi type IRQ handler | 612 | * handle_edge_eoi_irq - edge eoi type IRQ handler |
621 | * @irq: the interrupt number | ||
622 | * @desc: the interrupt description structure for this irq | 613 | * @desc: the interrupt description structure for this irq |
623 | * | 614 | * |
624 | * Similar as the above handle_edge_irq, but using eoi and w/o the | 615 | * Similar as the above handle_edge_irq, but using eoi and w/o the |
625 | * mask/unmask logic. | 616 | * mask/unmask logic. |
626 | */ | 617 | */ |
627 | void handle_edge_eoi_irq(unsigned int irq, struct irq_desc *desc) | 618 | void handle_edge_eoi_irq(struct irq_desc *desc) |
628 | { | 619 | { |
629 | struct irq_chip *chip = irq_desc_get_chip(desc); | 620 | struct irq_chip *chip = irq_desc_get_chip(desc); |
630 | 621 | ||
@@ -665,13 +656,11 @@ out_eoi: | |||
665 | 656 | ||
666 | /** | 657 | /** |
667 | * handle_percpu_irq - Per CPU local irq handler | 658 | * handle_percpu_irq - Per CPU local irq handler |
668 | * @irq: the interrupt number | ||
669 | * @desc: the interrupt description structure for this irq | 659 | * @desc: the interrupt description structure for this irq |
670 | * | 660 | * |
671 | * Per CPU interrupts on SMP machines without locking requirements | 661 | * Per CPU interrupts on SMP machines without locking requirements |
672 | */ | 662 | */ |
673 | void | 663 | void handle_percpu_irq(struct irq_desc *desc) |
674 | handle_percpu_irq(unsigned int irq, struct irq_desc *desc) | ||
675 | { | 664 | { |
676 | struct irq_chip *chip = irq_desc_get_chip(desc); | 665 | struct irq_chip *chip = irq_desc_get_chip(desc); |
677 | 666 | ||
@@ -688,7 +677,6 @@ handle_percpu_irq(unsigned int irq, struct irq_desc *desc) | |||
688 | 677 | ||
689 | /** | 678 | /** |
690 | * handle_percpu_devid_irq - Per CPU local irq handler with per cpu dev ids | 679 | * handle_percpu_devid_irq - Per CPU local irq handler with per cpu dev ids |
691 | * @irq: the interrupt number | ||
692 | * @desc: the interrupt description structure for this irq | 680 | * @desc: the interrupt description structure for this irq |
693 | * | 681 | * |
694 | * Per CPU interrupts on SMP machines without locking requirements. Same as | 682 | * Per CPU interrupts on SMP machines without locking requirements. Same as |
@@ -698,11 +686,12 @@ handle_percpu_irq(unsigned int irq, struct irq_desc *desc) | |||
698 | * contain the real device id for the cpu on which this handler is | 686 | * contain the real device id for the cpu on which this handler is |
699 | * called | 687 | * called |
700 | */ | 688 | */ |
701 | void handle_percpu_devid_irq(unsigned int irq, struct irq_desc *desc) | 689 | void handle_percpu_devid_irq(struct irq_desc *desc) |
702 | { | 690 | { |
703 | struct irq_chip *chip = irq_desc_get_chip(desc); | 691 | struct irq_chip *chip = irq_desc_get_chip(desc); |
704 | struct irqaction *action = desc->action; | 692 | struct irqaction *action = desc->action; |
705 | void *dev_id = raw_cpu_ptr(action->percpu_dev_id); | 693 | void *dev_id = raw_cpu_ptr(action->percpu_dev_id); |
694 | unsigned int irq = irq_desc_get_irq(desc); | ||
706 | irqreturn_t res; | 695 | irqreturn_t res; |
707 | 696 | ||
708 | kstat_incr_irqs_this_cpu(desc); | 697 | kstat_incr_irqs_this_cpu(desc); |
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index b6eeea8a80c5..de41a68fc038 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c | |||
@@ -27,8 +27,10 @@ | |||
27 | * | 27 | * |
28 | * Handles spurious and unhandled IRQ's. It also prints a debugmessage. | 28 | * Handles spurious and unhandled IRQ's. It also prints a debugmessage. |
29 | */ | 29 | */ |
30 | void handle_bad_irq(unsigned int irq, struct irq_desc *desc) | 30 | void handle_bad_irq(struct irq_desc *desc) |
31 | { | 31 | { |
32 | unsigned int irq = irq_desc_get_irq(desc); | ||
33 | |||
32 | print_irq_desc(irq, desc); | 34 | print_irq_desc(irq, desc); |
33 | kstat_incr_irqs_this_cpu(desc); | 35 | kstat_incr_irqs_this_cpu(desc); |
34 | ack_bad_irq(irq); | 36 | ack_bad_irq(irq); |
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c index 596669436f7a..239e2ae2c947 100644 --- a/kernel/irq/irqdesc.c +++ b/kernel/irq/irqdesc.c | |||
@@ -347,7 +347,7 @@ int generic_handle_irq(unsigned int irq) | |||
347 | 347 | ||
348 | if (!desc) | 348 | if (!desc) |
349 | return -EINVAL; | 349 | return -EINVAL; |
350 | generic_handle_irq_desc(irq, desc); | 350 | generic_handle_irq_desc(desc); |
351 | return 0; | 351 | return 0; |
352 | } | 352 | } |
353 | EXPORT_SYMBOL_GPL(generic_handle_irq); | 353 | EXPORT_SYMBOL_GPL(generic_handle_irq); |
diff --git a/kernel/irq/resend.c b/kernel/irq/resend.c index dd95f44f99b2..b86886beee4f 100644 --- a/kernel/irq/resend.c +++ b/kernel/irq/resend.c | |||
@@ -38,7 +38,7 @@ static void resend_irqs(unsigned long arg) | |||
38 | clear_bit(irq, irqs_resend); | 38 | clear_bit(irq, irqs_resend); |
39 | desc = irq_to_desc(irq); | 39 | desc = irq_to_desc(irq); |
40 | local_irq_disable(); | 40 | local_irq_disable(); |
41 | desc->handle_irq(irq, desc); | 41 | desc->handle_irq(desc); |
42 | local_irq_enable(); | 42 | local_irq_enable(); |
43 | } | 43 | } |
44 | } | 44 | } |