diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-06 13:53:39 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-06 13:59:54 -0400 |
commit | 0cd61b68c340a4f901a06e8bb5e0dea4353161c0 (patch) | |
tree | cfd72be941ecd172627a06dd61d98b55cec63a39 | |
parent | da104a83692cf07434ab3b20bf10093bdbc3f97e (diff) |
Initial blind fixup for arm for irq changes
Untested, but this should fix up the bulk of the totally mechanical
issues, and should make the actual detail fixing easier.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
100 files changed, 281 insertions, 328 deletions
diff --git a/arch/arm/common/locomo.c b/arch/arm/common/locomo.c index 181ef1ead5b8..80a72c75214f 100644 --- a/arch/arm/common/locomo.c +++ b/arch/arm/common/locomo.c | |||
@@ -163,8 +163,7 @@ static struct locomo_dev_info locomo_devices[] = { | |||
163 | #define LOCOMO_IRQ_LT_START (IRQ_LOCOMO_LT) | 163 | #define LOCOMO_IRQ_LT_START (IRQ_LOCOMO_LT) |
164 | #define LOCOMO_IRQ_SPI_START (IRQ_LOCOMO_SPI_RFR) | 164 | #define LOCOMO_IRQ_SPI_START (IRQ_LOCOMO_SPI_RFR) |
165 | 165 | ||
166 | static void locomo_handler(unsigned int irq, struct irqdesc *desc, | 166 | static void locomo_handler(unsigned int irq, struct irqdesc *desc) |
167 | struct pt_regs *regs) | ||
168 | { | 167 | { |
169 | int req, i; | 168 | int req, i; |
170 | struct irqdesc *d; | 169 | struct irqdesc *d; |
@@ -182,7 +181,7 @@ static void locomo_handler(unsigned int irq, struct irqdesc *desc, | |||
182 | d = irq_desc + irq; | 181 | d = irq_desc + irq; |
183 | for (i = 0; i <= 3; i++, d++, irq++) { | 182 | for (i = 0; i <= 3; i++, d++, irq++) { |
184 | if (req & (0x0100 << i)) { | 183 | if (req & (0x0100 << i)) { |
185 | desc_handle_irq(irq, d, regs); | 184 | desc_handle_irq(irq, d); |
186 | } | 185 | } |
187 | 186 | ||
188 | } | 187 | } |
@@ -218,15 +217,14 @@ static struct irq_chip locomo_chip = { | |||
218 | .unmask = locomo_unmask_irq, | 217 | .unmask = locomo_unmask_irq, |
219 | }; | 218 | }; |
220 | 219 | ||
221 | static void locomo_key_handler(unsigned int irq, struct irqdesc *desc, | 220 | static void locomo_key_handler(unsigned int irq, struct irqdesc *desc) |
222 | struct pt_regs *regs) | ||
223 | { | 221 | { |
224 | struct irqdesc *d; | 222 | struct irqdesc *d; |
225 | void __iomem *mapbase = get_irq_chipdata(irq); | 223 | void __iomem *mapbase = get_irq_chipdata(irq); |
226 | 224 | ||
227 | if (locomo_readl(mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC) & 0x0001) { | 225 | if (locomo_readl(mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC) & 0x0001) { |
228 | d = irq_desc + LOCOMO_IRQ_KEY_START; | 226 | d = irq_desc + LOCOMO_IRQ_KEY_START; |
229 | desc_handle_irq(LOCOMO_IRQ_KEY_START, d, regs); | 227 | desc_handle_irq(LOCOMO_IRQ_KEY_START, d); |
230 | } | 228 | } |
231 | } | 229 | } |
232 | 230 | ||
@@ -264,8 +262,7 @@ static struct irq_chip locomo_key_chip = { | |||
264 | .unmask = locomo_key_unmask_irq, | 262 | .unmask = locomo_key_unmask_irq, |
265 | }; | 263 | }; |
266 | 264 | ||
267 | static void locomo_gpio_handler(unsigned int irq, struct irqdesc *desc, | 265 | static void locomo_gpio_handler(unsigned int irq, struct irqdesc *desc) |
268 | struct pt_regs *regs) | ||
269 | { | 266 | { |
270 | int req, i; | 267 | int req, i; |
271 | struct irqdesc *d; | 268 | struct irqdesc *d; |
@@ -280,7 +277,7 @@ static void locomo_gpio_handler(unsigned int irq, struct irqdesc *desc, | |||
280 | d = irq_desc + LOCOMO_IRQ_GPIO_START; | 277 | d = irq_desc + LOCOMO_IRQ_GPIO_START; |
281 | for (i = 0; i <= 15; i++, irq++, d++) { | 278 | for (i = 0; i <= 15; i++, irq++, d++) { |
282 | if (req & (0x0001 << i)) { | 279 | if (req & (0x0001 << i)) { |
283 | desc_handle_irq(irq, d, regs); | 280 | desc_handle_irq(irq, d); |
284 | } | 281 | } |
285 | } | 282 | } |
286 | } | 283 | } |
@@ -328,15 +325,14 @@ static struct irq_chip locomo_gpio_chip = { | |||
328 | .unmask = locomo_gpio_unmask_irq, | 325 | .unmask = locomo_gpio_unmask_irq, |
329 | }; | 326 | }; |
330 | 327 | ||
331 | static void locomo_lt_handler(unsigned int irq, struct irqdesc *desc, | 328 | static void locomo_lt_handler(unsigned int irq, struct irqdesc *desc) |
332 | struct pt_regs *regs) | ||
333 | { | 329 | { |
334 | struct irqdesc *d; | 330 | struct irqdesc *d; |
335 | void __iomem *mapbase = get_irq_chipdata(irq); | 331 | void __iomem *mapbase = get_irq_chipdata(irq); |
336 | 332 | ||
337 | if (locomo_readl(mapbase + LOCOMO_LTINT) & 0x0001) { | 333 | if (locomo_readl(mapbase + LOCOMO_LTINT) & 0x0001) { |
338 | d = irq_desc + LOCOMO_IRQ_LT_START; | 334 | d = irq_desc + LOCOMO_IRQ_LT_START; |
339 | desc_handle_irq(LOCOMO_IRQ_LT_START, d, regs); | 335 | desc_handle_irq(LOCOMO_IRQ_LT_START, d); |
340 | } | 336 | } |
341 | } | 337 | } |
342 | 338 | ||
@@ -374,8 +370,7 @@ static struct irq_chip locomo_lt_chip = { | |||
374 | .unmask = locomo_lt_unmask_irq, | 370 | .unmask = locomo_lt_unmask_irq, |
375 | }; | 371 | }; |
376 | 372 | ||
377 | static void locomo_spi_handler(unsigned int irq, struct irqdesc *desc, | 373 | static void locomo_spi_handler(unsigned int irq, struct irqdesc *desc) |
378 | struct pt_regs *regs) | ||
379 | { | 374 | { |
380 | int req, i; | 375 | int req, i; |
381 | struct irqdesc *d; | 376 | struct irqdesc *d; |
@@ -388,7 +383,7 @@ static void locomo_spi_handler(unsigned int irq, struct irqdesc *desc, | |||
388 | 383 | ||
389 | for (i = 0; i <= 3; i++, irq++, d++) { | 384 | for (i = 0; i <= 3; i++, irq++, d++) { |
390 | if (req & (0x0001 << i)) { | 385 | if (req & (0x0001 << i)) { |
391 | desc_handle_irq(irq, d, regs); | 386 | desc_handle_irq(irq, d); |
392 | } | 387 | } |
393 | } | 388 | } |
394 | } | 389 | } |
diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c index 30046ad41ced..d5f72010a6f3 100644 --- a/arch/arm/common/sa1111.c +++ b/arch/arm/common/sa1111.c | |||
@@ -147,7 +147,7 @@ void __init sa1111_adjust_zones(int node, unsigned long *size, unsigned long *ho | |||
147 | * will call us again if there are more interrupts to process. | 147 | * will call us again if there are more interrupts to process. |
148 | */ | 148 | */ |
149 | static void | 149 | static void |
150 | sa1111_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) | 150 | sa1111_irq_handler(unsigned int irq, struct irqdesc *desc) |
151 | { | 151 | { |
152 | unsigned int stat0, stat1, i; | 152 | unsigned int stat0, stat1, i; |
153 | void __iomem *base = get_irq_data(irq); | 153 | void __iomem *base = get_irq_data(irq); |
@@ -162,17 +162,17 @@ sa1111_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) | |||
162 | sa1111_writel(stat1, base + SA1111_INTSTATCLR1); | 162 | sa1111_writel(stat1, base + SA1111_INTSTATCLR1); |
163 | 163 | ||
164 | if (stat0 == 0 && stat1 == 0) { | 164 | if (stat0 == 0 && stat1 == 0) { |
165 | do_bad_IRQ(irq, desc, regs); | 165 | do_bad_IRQ(irq, desc); |
166 | return; | 166 | return; |
167 | } | 167 | } |
168 | 168 | ||
169 | for (i = IRQ_SA1111_START; stat0; i++, stat0 >>= 1) | 169 | for (i = IRQ_SA1111_START; stat0; i++, stat0 >>= 1) |
170 | if (stat0 & 1) | 170 | if (stat0 & 1) |
171 | handle_edge_irq(i, irq_desc + i, regs); | 171 | handle_edge_irq(i, irq_desc + i); |
172 | 172 | ||
173 | for (i = IRQ_SA1111_START + 32; stat1; i++, stat1 >>= 1) | 173 | for (i = IRQ_SA1111_START + 32; stat1; i++, stat1 >>= 1) |
174 | if (stat1 & 1) | 174 | if (stat1 & 1) |
175 | handle_edge_irq(i, irq_desc + i, regs); | 175 | handle_edge_irq(i, irq_desc + i); |
176 | 176 | ||
177 | /* For level-based interrupts */ | 177 | /* For level-based interrupts */ |
178 | desc->chip->unmask(irq); | 178 | desc->chip->unmask(irq); |
diff --git a/arch/arm/common/sharpsl_pm.c b/arch/arm/common/sharpsl_pm.c index f412dedda684..605dedf96790 100644 --- a/arch/arm/common/sharpsl_pm.c +++ b/arch/arm/common/sharpsl_pm.c | |||
@@ -258,7 +258,7 @@ static void sharpsl_ac_timer(unsigned long data) | |||
258 | } | 258 | } |
259 | 259 | ||
260 | 260 | ||
261 | irqreturn_t sharpsl_ac_isr(int irq, void *dev_id, struct pt_regs *fp) | 261 | irqreturn_t sharpsl_ac_isr(int irq, void *dev_id) |
262 | { | 262 | { |
263 | /* Delay the event slightly to debounce */ | 263 | /* Delay the event slightly to debounce */ |
264 | /* Must be a smaller delay than the chrg_full_isr below */ | 264 | /* Must be a smaller delay than the chrg_full_isr below */ |
@@ -293,7 +293,7 @@ static void sharpsl_chrg_full_timer(unsigned long data) | |||
293 | /* Charging Finished Interrupt (Not present on Corgi) */ | 293 | /* Charging Finished Interrupt (Not present on Corgi) */ |
294 | /* Can trigger at the same time as an AC staus change so | 294 | /* Can trigger at the same time as an AC staus change so |
295 | delay until after that has been processed */ | 295 | delay until after that has been processed */ |
296 | irqreturn_t sharpsl_chrg_full_isr(int irq, void *dev_id, struct pt_regs *fp) | 296 | irqreturn_t sharpsl_chrg_full_isr(int irq, void *dev_id) |
297 | { | 297 | { |
298 | if (sharpsl_pm.flags & SHARPSL_SUSPENDED) | 298 | if (sharpsl_pm.flags & SHARPSL_SUSPENDED) |
299 | return IRQ_HANDLED; | 299 | return IRQ_HANDLED; |
@@ -304,7 +304,7 @@ irqreturn_t sharpsl_chrg_full_isr(int irq, void *dev_id, struct pt_regs *fp) | |||
304 | return IRQ_HANDLED; | 304 | return IRQ_HANDLED; |
305 | } | 305 | } |
306 | 306 | ||
307 | irqreturn_t sharpsl_fatal_isr(int irq, void *dev_id, struct pt_regs *fp) | 307 | irqreturn_t sharpsl_fatal_isr(int irq, void *dev_id) |
308 | { | 308 | { |
309 | int is_fatal = 0; | 309 | int is_fatal = 0; |
310 | 310 | ||
diff --git a/arch/arm/common/time-acorn.c b/arch/arm/common/time-acorn.c index 3f60dd9aca80..34038eccbba9 100644 --- a/arch/arm/common/time-acorn.c +++ b/arch/arm/common/time-acorn.c | |||
@@ -67,10 +67,10 @@ void __init ioctime_init(void) | |||
67 | } | 67 | } |
68 | 68 | ||
69 | static irqreturn_t | 69 | static irqreturn_t |
70 | ioc_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 70 | ioc_timer_interrupt(int irq, void *dev_id) |
71 | { | 71 | { |
72 | write_seqlock(&xtime_lock); | 72 | write_seqlock(&xtime_lock); |
73 | timer_tick(regs); | 73 | timer_tick(); |
74 | write_sequnlock(&xtime_lock); | 74 | write_sequnlock(&xtime_lock); |
75 | return IRQ_HANDLED; | 75 | return IRQ_HANDLED; |
76 | } | 76 | } |
diff --git a/arch/arm/kernel/ecard.c b/arch/arm/kernel/ecard.c index 3e14b1348c0b..b27513a0f11e 100644 --- a/arch/arm/kernel/ecard.c +++ b/arch/arm/kernel/ecard.c | |||
@@ -567,7 +567,7 @@ static void ecard_check_lockup(struct irqdesc *desc) | |||
567 | } | 567 | } |
568 | 568 | ||
569 | static void | 569 | static void |
570 | ecard_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) | 570 | ecard_irq_handler(unsigned int irq, struct irqdesc *desc) |
571 | { | 571 | { |
572 | ecard_t *ec; | 572 | ecard_t *ec; |
573 | int called = 0; | 573 | int called = 0; |
@@ -586,7 +586,7 @@ ecard_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) | |||
586 | 586 | ||
587 | if (pending) { | 587 | if (pending) { |
588 | struct irqdesc *d = irq_desc + ec->irq; | 588 | struct irqdesc *d = irq_desc + ec->irq; |
589 | desc_handle_irq(ec->irq, d, regs); | 589 | desc_handle_irq(ec->irq, d); |
590 | called ++; | 590 | called ++; |
591 | } | 591 | } |
592 | } | 592 | } |
@@ -609,7 +609,7 @@ static unsigned char first_set[] = | |||
609 | }; | 609 | }; |
610 | 610 | ||
611 | static void | 611 | static void |
612 | ecard_irqexp_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) | 612 | ecard_irqexp_handler(unsigned int irq, struct irqdesc *desc) |
613 | { | 613 | { |
614 | const unsigned int statusmask = 15; | 614 | const unsigned int statusmask = 15; |
615 | unsigned int status; | 615 | unsigned int status; |
@@ -633,7 +633,7 @@ ecard_irqexp_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *reg | |||
633 | * Serial cards should go in 0/1, ethernet/scsi in 2/3 | 633 | * Serial cards should go in 0/1, ethernet/scsi in 2/3 |
634 | * otherwise you will lose serial data at high speeds! | 634 | * otherwise you will lose serial data at high speeds! |
635 | */ | 635 | */ |
636 | desc_handle_irq(ec->irq, d, regs); | 636 | desc_handle_irq(ec->irq, d); |
637 | } else { | 637 | } else { |
638 | printk(KERN_WARNING "card%d: interrupt from unclaimed " | 638 | printk(KERN_WARNING "card%d: interrupt from unclaimed " |
639 | "card???\n", slot); | 639 | "card???\n", slot); |
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index 2e1bf830fe11..e999b11de2c6 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c | |||
@@ -122,7 +122,8 @@ asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs) | |||
122 | 122 | ||
123 | irq_enter(); | 123 | irq_enter(); |
124 | 124 | ||
125 | desc_handle_irq(irq, desc, regs); | 125 | set_irq_regs(regs); |
126 | desc_handle_irq(irq, desc); | ||
126 | 127 | ||
127 | /* AT91 specific workaround */ | 128 | /* AT91 specific workaround */ |
128 | irq_finish(irq); | 129 | irq_finish(irq); |
diff --git a/arch/arm/kernel/time.c b/arch/arm/kernel/time.c index b030320b17c7..b094e3e81981 100644 --- a/arch/arm/kernel/time.c +++ b/arch/arm/kernel/time.c | |||
@@ -324,8 +324,9 @@ EXPORT_SYMBOL(restore_time_delta); | |||
324 | /* | 324 | /* |
325 | * Kernel system timer support. | 325 | * Kernel system timer support. |
326 | */ | 326 | */ |
327 | void timer_tick(struct pt_regs *regs) | 327 | void timer_tick(void) |
328 | { | 328 | { |
329 | struct pt_regs *regs = get_irq_regs(); | ||
329 | profile_tick(CPU_PROFILING, regs); | 330 | profile_tick(CPU_PROFILING, regs); |
330 | do_leds(); | 331 | do_leds(); |
331 | do_set_rtc(); | 332 | do_set_rtc(); |
diff --git a/arch/arm/mach-aaec2000/core.c b/arch/arm/mach-aaec2000/core.c index baa997c857dc..fe3d297d682d 100644 --- a/arch/arm/mach-aaec2000/core.c +++ b/arch/arm/mach-aaec2000/core.c | |||
@@ -127,12 +127,12 @@ static unsigned long aaec2000_gettimeoffset(void) | |||
127 | 127 | ||
128 | /* We enter here with IRQs enabled */ | 128 | /* We enter here with IRQs enabled */ |
129 | static irqreturn_t | 129 | static irqreturn_t |
130 | aaec2000_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 130 | aaec2000_timer_interrupt(int irq, void *dev_id) |
131 | { | 131 | { |
132 | /* TODO: Check timer accuracy */ | 132 | /* TODO: Check timer accuracy */ |
133 | write_seqlock(&xtime_lock); | 133 | write_seqlock(&xtime_lock); |
134 | 134 | ||
135 | timer_tick(regs); | 135 | timer_tick(); |
136 | TIMER1_CLEAR = 1; | 136 | TIMER1_CLEAR = 1; |
137 | 137 | ||
138 | write_sequnlock(&xtime_lock); | 138 | write_sequnlock(&xtime_lock); |
diff --git a/arch/arm/mach-at91rm9200/at91rm9200_time.c b/arch/arm/mach-at91rm9200/at91rm9200_time.c index a92a8622c78a..07c9cea8961d 100644 --- a/arch/arm/mach-at91rm9200/at91rm9200_time.c +++ b/arch/arm/mach-at91rm9200/at91rm9200_time.c | |||
@@ -65,13 +65,13 @@ static unsigned long at91rm9200_gettimeoffset(void) | |||
65 | /* | 65 | /* |
66 | * IRQ handler for the timer. | 66 | * IRQ handler for the timer. |
67 | */ | 67 | */ |
68 | static irqreturn_t at91rm9200_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 68 | static irqreturn_t at91rm9200_timer_interrupt(int irq, void *dev_id) |
69 | { | 69 | { |
70 | if (at91_sys_read(AT91_ST_SR) & AT91_ST_PITS) { /* This is a shared interrupt */ | 70 | if (at91_sys_read(AT91_ST_SR) & AT91_ST_PITS) { /* This is a shared interrupt */ |
71 | write_seqlock(&xtime_lock); | 71 | write_seqlock(&xtime_lock); |
72 | 72 | ||
73 | while (((read_CRTR() - last_crtr) & AT91_ST_ALMV) >= LATCH) { | 73 | while (((read_CRTR() - last_crtr) & AT91_ST_ALMV) >= LATCH) { |
74 | timer_tick(regs); | 74 | timer_tick(); |
75 | last_crtr = (last_crtr + LATCH) & AT91_ST_ALMV; | 75 | last_crtr = (last_crtr + LATCH) & AT91_ST_ALMV; |
76 | } | 76 | } |
77 | 77 | ||
diff --git a/arch/arm/mach-at91rm9200/gpio.c b/arch/arm/mach-at91rm9200/gpio.c index 58c9bf5e9520..7467d644f0a3 100644 --- a/arch/arm/mach-at91rm9200/gpio.c +++ b/arch/arm/mach-at91rm9200/gpio.c | |||
@@ -332,7 +332,7 @@ static struct irq_chip gpio_irqchip = { | |||
332 | .set_wake = gpio_irq_set_wake, | 332 | .set_wake = gpio_irq_set_wake, |
333 | }; | 333 | }; |
334 | 334 | ||
335 | static void gpio_irq_handler(unsigned irq, struct irqdesc *desc, struct pt_regs *regs) | 335 | static void gpio_irq_handler(unsigned irq, struct irqdesc *desc) |
336 | { | 336 | { |
337 | unsigned pin; | 337 | unsigned pin; |
338 | struct irqdesc *gpio; | 338 | struct irqdesc *gpio; |
@@ -363,7 +363,7 @@ static void gpio_irq_handler(unsigned irq, struct irqdesc *desc, struct pt_regs | |||
363 | gpio_irq_mask(pin); | 363 | gpio_irq_mask(pin); |
364 | } | 364 | } |
365 | else | 365 | else |
366 | desc_handle_irq(pin, gpio, regs); | 366 | desc_handle_irq(pin, gpio); |
367 | } | 367 | } |
368 | pin++; | 368 | pin++; |
369 | gpio++; | 369 | gpio++; |
diff --git a/arch/arm/mach-clps711x/time.c b/arch/arm/mach-clps711x/time.c index a071eac4a30a..428493dd4687 100644 --- a/arch/arm/mach-clps711x/time.c +++ b/arch/arm/mach-clps711x/time.c | |||
@@ -48,10 +48,10 @@ static unsigned long clps711x_gettimeoffset(void) | |||
48 | * IRQ handler for the timer | 48 | * IRQ handler for the timer |
49 | */ | 49 | */ |
50 | static irqreturn_t | 50 | static irqreturn_t |
51 | p720t_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 51 | p720t_timer_interrupt(int irq, void *dev_id) |
52 | { | 52 | { |
53 | write_seqlock(&xtime_lock); | 53 | write_seqlock(&xtime_lock); |
54 | timer_tick(regs); | 54 | timer_tick(); |
55 | write_sequnlock(&xtime_lock); | 55 | write_sequnlock(&xtime_lock); |
56 | return IRQ_HANDLED; | 56 | return IRQ_HANDLED; |
57 | } | 57 | } |
diff --git a/arch/arm/mach-clps7500/core.c b/arch/arm/mach-clps7500/core.c index 92eaebdd5606..fb10cf252588 100644 --- a/arch/arm/mach-clps7500/core.c +++ b/arch/arm/mach-clps7500/core.c | |||
@@ -292,11 +292,11 @@ extern void ioctime_init(void); | |||
292 | extern unsigned long ioc_timer_gettimeoffset(void); | 292 | extern unsigned long ioc_timer_gettimeoffset(void); |
293 | 293 | ||
294 | static irqreturn_t | 294 | static irqreturn_t |
295 | clps7500_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 295 | clps7500_timer_interrupt(int irq, void *dev_id) |
296 | { | 296 | { |
297 | write_seqlock(&xtime_lock); | 297 | write_seqlock(&xtime_lock); |
298 | 298 | ||
299 | timer_tick(regs); | 299 | timer_tick(); |
300 | 300 | ||
301 | /* Why not using do_leds interface?? */ | 301 | /* Why not using do_leds interface?? */ |
302 | { | 302 | { |
diff --git a/arch/arm/mach-ebsa110/core.c b/arch/arm/mach-ebsa110/core.c index 70dd12ef3c40..90103ab373a6 100644 --- a/arch/arm/mach-ebsa110/core.c +++ b/arch/arm/mach-ebsa110/core.c | |||
@@ -174,7 +174,7 @@ static unsigned long ebsa110_gettimeoffset(void) | |||
174 | } | 174 | } |
175 | 175 | ||
176 | static irqreturn_t | 176 | static irqreturn_t |
177 | ebsa110_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 177 | ebsa110_timer_interrupt(int irq, void *dev_id) |
178 | { | 178 | { |
179 | u32 count; | 179 | u32 count; |
180 | 180 | ||
@@ -190,7 +190,7 @@ ebsa110_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
190 | __raw_writeb(count & 0xff, PIT_T1); | 190 | __raw_writeb(count & 0xff, PIT_T1); |
191 | __raw_writeb(count >> 8, PIT_T1); | 191 | __raw_writeb(count >> 8, PIT_T1); |
192 | 192 | ||
193 | timer_tick(regs); | 193 | timer_tick(); |
194 | 194 | ||
195 | write_sequnlock(&xtime_lock); | 195 | write_sequnlock(&xtime_lock); |
196 | 196 | ||
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c index a87a784b9201..e3fd1ab6adcc 100644 --- a/arch/arm/mach-ep93xx/core.c +++ b/arch/arm/mach-ep93xx/core.c | |||
@@ -97,7 +97,7 @@ static unsigned int last_jiffy_time; | |||
97 | 97 | ||
98 | #define TIMER4_TICKS_PER_JIFFY ((CLOCK_TICK_RATE + (HZ/2)) / HZ) | 98 | #define TIMER4_TICKS_PER_JIFFY ((CLOCK_TICK_RATE + (HZ/2)) / HZ) |
99 | 99 | ||
100 | static int ep93xx_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 100 | static int ep93xx_timer_interrupt(int irq, void *dev_id) |
101 | { | 101 | { |
102 | write_seqlock(&xtime_lock); | 102 | write_seqlock(&xtime_lock); |
103 | 103 | ||
@@ -106,7 +106,7 @@ static int ep93xx_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
106 | (__raw_readl(EP93XX_TIMER4_VALUE_LOW) - last_jiffy_time) | 106 | (__raw_readl(EP93XX_TIMER4_VALUE_LOW) - last_jiffy_time) |
107 | >= TIMER4_TICKS_PER_JIFFY) { | 107 | >= TIMER4_TICKS_PER_JIFFY) { |
108 | last_jiffy_time += TIMER4_TICKS_PER_JIFFY; | 108 | last_jiffy_time += TIMER4_TICKS_PER_JIFFY; |
109 | timer_tick(regs); | 109 | timer_tick(); |
110 | } | 110 | } |
111 | 111 | ||
112 | write_sequnlock(&xtime_lock); | 112 | write_sequnlock(&xtime_lock); |
@@ -245,7 +245,7 @@ EXPORT_SYMBOL(gpio_line_set); | |||
245 | * EP93xx IRQ handling | 245 | * EP93xx IRQ handling |
246 | *************************************************************************/ | 246 | *************************************************************************/ |
247 | static void ep93xx_gpio_ab_irq_handler(unsigned int irq, | 247 | static void ep93xx_gpio_ab_irq_handler(unsigned int irq, |
248 | struct irqdesc *desc, struct pt_regs *regs) | 248 | struct irqdesc *desc) |
249 | { | 249 | { |
250 | unsigned char status; | 250 | unsigned char status; |
251 | int i; | 251 | int i; |
@@ -254,7 +254,7 @@ static void ep93xx_gpio_ab_irq_handler(unsigned int irq, | |||
254 | for (i = 0; i < 8; i++) { | 254 | for (i = 0; i < 8; i++) { |
255 | if (status & (1 << i)) { | 255 | if (status & (1 << i)) { |
256 | desc = irq_desc + IRQ_EP93XX_GPIO(0) + i; | 256 | desc = irq_desc + IRQ_EP93XX_GPIO(0) + i; |
257 | desc_handle_irq(IRQ_EP93XX_GPIO(0) + i, desc, regs); | 257 | desc_handle_irq(IRQ_EP93XX_GPIO(0) + i, desc); |
258 | } | 258 | } |
259 | } | 259 | } |
260 | 260 | ||
@@ -262,7 +262,7 @@ static void ep93xx_gpio_ab_irq_handler(unsigned int irq, | |||
262 | for (i = 0; i < 8; i++) { | 262 | for (i = 0; i < 8; i++) { |
263 | if (status & (1 << i)) { | 263 | if (status & (1 << i)) { |
264 | desc = irq_desc + IRQ_EP93XX_GPIO(8) + i; | 264 | desc = irq_desc + IRQ_EP93XX_GPIO(8) + i; |
265 | desc_handle_irq(IRQ_EP93XX_GPIO(8) + i, desc, regs); | 265 | desc_handle_irq(IRQ_EP93XX_GPIO(8) + i, desc); |
266 | } | 266 | } |
267 | } | 267 | } |
268 | } | 268 | } |
diff --git a/arch/arm/mach-footbridge/dc21285-timer.c b/arch/arm/mach-footbridge/dc21285-timer.c index 2af610811ca4..fa6be870c6c2 100644 --- a/arch/arm/mach-footbridge/dc21285-timer.c +++ b/arch/arm/mach-footbridge/dc21285-timer.c | |||
@@ -28,13 +28,13 @@ static unsigned long timer1_gettimeoffset (void) | |||
28 | } | 28 | } |
29 | 29 | ||
30 | static irqreturn_t | 30 | static irqreturn_t |
31 | timer1_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 31 | timer1_interrupt(int irq, void *dev_id) |
32 | { | 32 | { |
33 | write_seqlock(&xtime_lock); | 33 | write_seqlock(&xtime_lock); |
34 | 34 | ||
35 | *CSR_TIMER1_CLR = 0; | 35 | *CSR_TIMER1_CLR = 0; |
36 | 36 | ||
37 | timer_tick(regs); | 37 | timer_tick(); |
38 | 38 | ||
39 | write_sequnlock(&xtime_lock); | 39 | write_sequnlock(&xtime_lock); |
40 | 40 | ||
diff --git a/arch/arm/mach-footbridge/dc21285.c b/arch/arm/mach-footbridge/dc21285.c index a1ae49df5c3b..fa5d4976f514 100644 --- a/arch/arm/mach-footbridge/dc21285.c +++ b/arch/arm/mach-footbridge/dc21285.c | |||
@@ -154,7 +154,7 @@ static void dc21285_enable_error(unsigned long __data) | |||
154 | /* | 154 | /* |
155 | * Warn on PCI errors. | 155 | * Warn on PCI errors. |
156 | */ | 156 | */ |
157 | static irqreturn_t dc21285_abort_irq(int irq, void *dev_id, struct pt_regs *regs) | 157 | static irqreturn_t dc21285_abort_irq(int irq, void *dev_id) |
158 | { | 158 | { |
159 | unsigned int cmd; | 159 | unsigned int cmd; |
160 | unsigned int status; | 160 | unsigned int status; |
@@ -165,7 +165,7 @@ static irqreturn_t dc21285_abort_irq(int irq, void *dev_id, struct pt_regs *regs | |||
165 | 165 | ||
166 | if (status & PCI_STATUS_REC_MASTER_ABORT) { | 166 | if (status & PCI_STATUS_REC_MASTER_ABORT) { |
167 | printk(KERN_DEBUG "PCI: master abort, pc=0x%08lx\n", | 167 | printk(KERN_DEBUG "PCI: master abort, pc=0x%08lx\n", |
168 | instruction_pointer(regs)); | 168 | instruction_pointer(get_irq_regs())); |
169 | cmd |= PCI_STATUS_REC_MASTER_ABORT << 16; | 169 | cmd |= PCI_STATUS_REC_MASTER_ABORT << 16; |
170 | } | 170 | } |
171 | 171 | ||
@@ -184,7 +184,7 @@ static irqreturn_t dc21285_abort_irq(int irq, void *dev_id, struct pt_regs *regs | |||
184 | return IRQ_HANDLED; | 184 | return IRQ_HANDLED; |
185 | } | 185 | } |
186 | 186 | ||
187 | static irqreturn_t dc21285_serr_irq(int irq, void *dev_id, struct pt_regs *regs) | 187 | static irqreturn_t dc21285_serr_irq(int irq, void *dev_id) |
188 | { | 188 | { |
189 | struct timer_list *timer = dev_id; | 189 | struct timer_list *timer = dev_id; |
190 | unsigned int cntl; | 190 | unsigned int cntl; |
@@ -206,7 +206,7 @@ static irqreturn_t dc21285_serr_irq(int irq, void *dev_id, struct pt_regs *regs) | |||
206 | return IRQ_HANDLED; | 206 | return IRQ_HANDLED; |
207 | } | 207 | } |
208 | 208 | ||
209 | static irqreturn_t dc21285_discard_irq(int irq, void *dev_id, struct pt_regs *regs) | 209 | static irqreturn_t dc21285_discard_irq(int irq, void *dev_id) |
210 | { | 210 | { |
211 | printk(KERN_DEBUG "PCI: discard timer expired\n"); | 211 | printk(KERN_DEBUG "PCI: discard timer expired\n"); |
212 | *CSR_SA110_CNTL &= 0xffffde07; | 212 | *CSR_SA110_CNTL &= 0xffffde07; |
@@ -214,7 +214,7 @@ static irqreturn_t dc21285_discard_irq(int irq, void *dev_id, struct pt_regs *re | |||
214 | return IRQ_HANDLED; | 214 | return IRQ_HANDLED; |
215 | } | 215 | } |
216 | 216 | ||
217 | static irqreturn_t dc21285_dparity_irq(int irq, void *dev_id, struct pt_regs *regs) | 217 | static irqreturn_t dc21285_dparity_irq(int irq, void *dev_id) |
218 | { | 218 | { |
219 | unsigned int cmd; | 219 | unsigned int cmd; |
220 | 220 | ||
@@ -228,7 +228,7 @@ static irqreturn_t dc21285_dparity_irq(int irq, void *dev_id, struct pt_regs *re | |||
228 | return IRQ_HANDLED; | 228 | return IRQ_HANDLED; |
229 | } | 229 | } |
230 | 230 | ||
231 | static irqreturn_t dc21285_parity_irq(int irq, void *dev_id, struct pt_regs *regs) | 231 | static irqreturn_t dc21285_parity_irq(int irq, void *dev_id) |
232 | { | 232 | { |
233 | struct timer_list *timer = dev_id; | 233 | struct timer_list *timer = dev_id; |
234 | unsigned int cmd; | 234 | unsigned int cmd; |
diff --git a/arch/arm/mach-footbridge/isa-irq.c b/arch/arm/mach-footbridge/isa-irq.c index 87448c2d6baa..888dedd501b9 100644 --- a/arch/arm/mach-footbridge/isa-irq.c +++ b/arch/arm/mach-footbridge/isa-irq.c | |||
@@ -85,17 +85,17 @@ static struct irqchip isa_hi_chip = { | |||
85 | }; | 85 | }; |
86 | 86 | ||
87 | static void | 87 | static void |
88 | isa_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) | 88 | isa_irq_handler(unsigned int irq, struct irqdesc *desc) |
89 | { | 89 | { |
90 | unsigned int isa_irq = *(unsigned char *)PCIIACK_BASE; | 90 | unsigned int isa_irq = *(unsigned char *)PCIIACK_BASE; |
91 | 91 | ||
92 | if (isa_irq < _ISA_IRQ(0) || isa_irq >= _ISA_IRQ(16)) { | 92 | if (isa_irq < _ISA_IRQ(0) || isa_irq >= _ISA_IRQ(16)) { |
93 | do_bad_IRQ(isa_irq, desc, regs); | 93 | do_bad_IRQ(isa_irq, desc); |
94 | return; | 94 | return; |
95 | } | 95 | } |
96 | 96 | ||
97 | desc = irq_desc + isa_irq; | 97 | desc = irq_desc + isa_irq; |
98 | desc_handle_irq(isa_irq, desc, regs); | 98 | desc_handle_irq(isa_irq, desc); |
99 | } | 99 | } |
100 | 100 | ||
101 | static struct irqaction irq_cascade = { | 101 | static struct irqaction irq_cascade = { |
diff --git a/arch/arm/mach-footbridge/isa-timer.c b/arch/arm/mach-footbridge/isa-timer.c index c4810a40c8e1..d884a3954fb4 100644 --- a/arch/arm/mach-footbridge/isa-timer.c +++ b/arch/arm/mach-footbridge/isa-timer.c | |||
@@ -62,10 +62,10 @@ static unsigned long isa_gettimeoffset(void) | |||
62 | } | 62 | } |
63 | 63 | ||
64 | static irqreturn_t | 64 | static irqreturn_t |
65 | isa_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 65 | isa_timer_interrupt(int irq, void *dev_id) |
66 | { | 66 | { |
67 | write_seqlock(&xtime_lock); | 67 | write_seqlock(&xtime_lock); |
68 | timer_tick(regs); | 68 | timer_tick(); |
69 | write_sequnlock(&xtime_lock); | 69 | write_sequnlock(&xtime_lock); |
70 | return IRQ_HANDLED; | 70 | return IRQ_HANDLED; |
71 | } | 71 | } |
diff --git a/arch/arm/mach-h720x/common.c b/arch/arm/mach-h720x/common.c index c096b4569308..4719229a1a78 100644 --- a/arch/arm/mach-h720x/common.c +++ b/arch/arm/mach-h720x/common.c | |||
@@ -101,14 +101,14 @@ static void inline unmask_gpio_irq(u32 irq) | |||
101 | 101 | ||
102 | static void | 102 | static void |
103 | h720x_gpio_handler(unsigned int mask, unsigned int irq, | 103 | h720x_gpio_handler(unsigned int mask, unsigned int irq, |
104 | struct irqdesc *desc, struct pt_regs *regs) | 104 | struct irqdesc *desc) |
105 | { | 105 | { |
106 | IRQDBG("%s irq: %d\n",__FUNCTION__,irq); | 106 | IRQDBG("%s irq: %d\n",__FUNCTION__,irq); |
107 | desc = irq_desc + irq; | 107 | desc = irq_desc + irq; |
108 | while (mask) { | 108 | while (mask) { |
109 | if (mask & 1) { | 109 | if (mask & 1) { |
110 | IRQDBG("handling irq %d\n", irq); | 110 | IRQDBG("handling irq %d\n", irq); |
111 | desc_handle_irq(irq, desc, regs); | 111 | desc_handle_irq(irq, desc); |
112 | } | 112 | } |
113 | irq++; | 113 | irq++; |
114 | desc++; | 114 | desc++; |
@@ -117,63 +117,58 @@ h720x_gpio_handler(unsigned int mask, unsigned int irq, | |||
117 | } | 117 | } |
118 | 118 | ||
119 | static void | 119 | static void |
120 | h720x_gpioa_demux_handler(unsigned int irq_unused, struct irqdesc *desc, | 120 | h720x_gpioa_demux_handler(unsigned int irq_unused, struct irqdesc *desc) |
121 | struct pt_regs *regs) | ||
122 | { | 121 | { |
123 | unsigned int mask, irq; | 122 | unsigned int mask, irq; |
124 | 123 | ||
125 | mask = CPU_REG(GPIO_A_VIRT,GPIO_STAT); | 124 | mask = CPU_REG(GPIO_A_VIRT,GPIO_STAT); |
126 | irq = IRQ_CHAINED_GPIOA(0); | 125 | irq = IRQ_CHAINED_GPIOA(0); |
127 | IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); | 126 | IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); |
128 | h720x_gpio_handler(mask, irq, desc, regs); | 127 | h720x_gpio_handler(mask, irq, desc); |
129 | } | 128 | } |
130 | 129 | ||
131 | static void | 130 | static void |
132 | h720x_gpiob_demux_handler(unsigned int irq_unused, struct irqdesc *desc, | 131 | h720x_gpiob_demux_handler(unsigned int irq_unused, struct irqdesc *desc) |
133 | struct pt_regs *regs) | ||
134 | { | 132 | { |
135 | unsigned int mask, irq; | 133 | unsigned int mask, irq; |
136 | mask = CPU_REG(GPIO_B_VIRT,GPIO_STAT); | 134 | mask = CPU_REG(GPIO_B_VIRT,GPIO_STAT); |
137 | irq = IRQ_CHAINED_GPIOB(0); | 135 | irq = IRQ_CHAINED_GPIOB(0); |
138 | IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); | 136 | IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); |
139 | h720x_gpio_handler(mask, irq, desc, regs); | 137 | h720x_gpio_handler(mask, irq, desc); |
140 | } | 138 | } |
141 | 139 | ||
142 | static void | 140 | static void |
143 | h720x_gpioc_demux_handler(unsigned int irq_unused, struct irqdesc *desc, | 141 | h720x_gpioc_demux_handler(unsigned int irq_unused, struct irqdesc *desc) |
144 | struct pt_regs *regs) | ||
145 | { | 142 | { |
146 | unsigned int mask, irq; | 143 | unsigned int mask, irq; |
147 | 144 | ||
148 | mask = CPU_REG(GPIO_C_VIRT,GPIO_STAT); | 145 | mask = CPU_REG(GPIO_C_VIRT,GPIO_STAT); |
149 | irq = IRQ_CHAINED_GPIOC(0); | 146 | irq = IRQ_CHAINED_GPIOC(0); |
150 | IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); | 147 | IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); |
151 | h720x_gpio_handler(mask, irq, desc, regs); | 148 | h720x_gpio_handler(mask, irq, desc); |
152 | } | 149 | } |
153 | 150 | ||
154 | static void | 151 | static void |
155 | h720x_gpiod_demux_handler(unsigned int irq_unused, struct irqdesc *desc, | 152 | h720x_gpiod_demux_handler(unsigned int irq_unused, struct irqdesc *desc) |
156 | struct pt_regs *regs) | ||
157 | { | 153 | { |
158 | unsigned int mask, irq; | 154 | unsigned int mask, irq; |
159 | 155 | ||
160 | mask = CPU_REG(GPIO_D_VIRT,GPIO_STAT); | 156 | mask = CPU_REG(GPIO_D_VIRT,GPIO_STAT); |
161 | irq = IRQ_CHAINED_GPIOD(0); | 157 | irq = IRQ_CHAINED_GPIOD(0); |
162 | IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); | 158 | IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); |
163 | h720x_gpio_handler(mask, irq, desc, regs); | 159 | h720x_gpio_handler(mask, irq, desc); |
164 | } | 160 | } |
165 | 161 | ||
166 | #ifdef CONFIG_CPU_H7202 | 162 | #ifdef CONFIG_CPU_H7202 |
167 | static void | 163 | static void |
168 | h720x_gpioe_demux_handler(unsigned int irq_unused, struct irqdesc *desc, | 164 | h720x_gpioe_demux_handler(unsigned int irq_unused, struct irqdesc *desc) |
169 | struct pt_regs *regs) | ||
170 | { | 165 | { |
171 | unsigned int mask, irq; | 166 | unsigned int mask, irq; |
172 | 167 | ||
173 | mask = CPU_REG(GPIO_E_VIRT,GPIO_STAT); | 168 | mask = CPU_REG(GPIO_E_VIRT,GPIO_STAT); |
174 | irq = IRQ_CHAINED_GPIOE(0); | 169 | irq = IRQ_CHAINED_GPIOE(0); |
175 | IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); | 170 | IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); |
176 | h720x_gpio_handler(mask, irq, desc, regs); | 171 | h720x_gpio_handler(mask, irq, desc); |
177 | } | 172 | } |
178 | #endif | 173 | #endif |
179 | 174 | ||
diff --git a/arch/arm/mach-h720x/cpu-h7201.c b/arch/arm/mach-h720x/cpu-h7201.c index a9a8255a3a03..13f76bdb3d9d 100644 --- a/arch/arm/mach-h720x/cpu-h7201.c +++ b/arch/arm/mach-h720x/cpu-h7201.c | |||
@@ -27,12 +27,12 @@ | |||
27 | * Timer interrupt handler | 27 | * Timer interrupt handler |
28 | */ | 28 | */ |
29 | static irqreturn_t | 29 | static irqreturn_t |
30 | h7201_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 30 | h7201_timer_interrupt(int irq, void *dev_id) |
31 | { | 31 | { |
32 | write_seqlock(&xtime_lock); | 32 | write_seqlock(&xtime_lock); |
33 | 33 | ||
34 | CPU_REG (TIMER_VIRT, TIMER_TOPSTAT); | 34 | CPU_REG (TIMER_VIRT, TIMER_TOPSTAT); |
35 | timer_tick(regs); | 35 | timer_tick(); |
36 | 36 | ||
37 | write_sequnlock(&xtime_lock); | 37 | write_sequnlock(&xtime_lock); |
38 | 38 | ||
diff --git a/arch/arm/mach-h720x/cpu-h7202.c b/arch/arm/mach-h720x/cpu-h7202.c index da678d163fd9..06fecaefd8dc 100644 --- a/arch/arm/mach-h720x/cpu-h7202.c +++ b/arch/arm/mach-h720x/cpu-h7202.c | |||
@@ -106,8 +106,7 @@ static struct platform_device *devices[] __initdata = { | |||
106 | * we have to handle all timer interrupts in one place. | 106 | * we have to handle all timer interrupts in one place. |
107 | */ | 107 | */ |
108 | static void | 108 | static void |
109 | h7202_timerx_demux_handler(unsigned int irq_unused, struct irqdesc *desc, | 109 | h7202_timerx_demux_handler(unsigned int irq_unused, struct irqdesc *desc) |
110 | struct pt_regs *regs) | ||
111 | { | 110 | { |
112 | unsigned int mask, irq; | 111 | unsigned int mask, irq; |
113 | 112 | ||
@@ -115,7 +114,7 @@ h7202_timerx_demux_handler(unsigned int irq_unused, struct irqdesc *desc, | |||
115 | 114 | ||
116 | if ( mask & TSTAT_T0INT ) { | 115 | if ( mask & TSTAT_T0INT ) { |
117 | write_seqlock(&xtime_lock); | 116 | write_seqlock(&xtime_lock); |
118 | timer_tick(regs); | 117 | timer_tick(); |
119 | write_sequnlock(&xtime_lock); | 118 | write_sequnlock(&xtime_lock); |
120 | if( mask == TSTAT_T0INT ) | 119 | if( mask == TSTAT_T0INT ) |
121 | return; | 120 | return; |
@@ -126,7 +125,7 @@ h7202_timerx_demux_handler(unsigned int irq_unused, struct irqdesc *desc, | |||
126 | desc = irq_desc + irq; | 125 | desc = irq_desc + irq; |
127 | while (mask) { | 126 | while (mask) { |
128 | if (mask & 1) | 127 | if (mask & 1) |
129 | desc_handle_irq(irq, desc, regs); | 128 | desc_handle_irq(irq, desc); |
130 | irq++; | 129 | irq++; |
131 | desc++; | 130 | desc++; |
132 | mask >>= 1; | 131 | mask >>= 1; |
@@ -137,9 +136,9 @@ h7202_timerx_demux_handler(unsigned int irq_unused, struct irqdesc *desc, | |||
137 | * Timer interrupt handler | 136 | * Timer interrupt handler |
138 | */ | 137 | */ |
139 | static irqreturn_t | 138 | static irqreturn_t |
140 | h7202_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 139 | h7202_timer_interrupt(int irq, void *dev_id) |
141 | { | 140 | { |
142 | h7202_timerx_demux_handler(0, NULL, regs); | 141 | h7202_timerx_demux_handler(0, NULL); |
143 | return IRQ_HANDLED; | 142 | return IRQ_HANDLED; |
144 | } | 143 | } |
145 | 144 | ||
diff --git a/arch/arm/mach-imx/dma.c b/arch/arm/mach-imx/dma.c index 36578871ecc8..6d50d85a618c 100644 --- a/arch/arm/mach-imx/dma.c +++ b/arch/arm/mach-imx/dma.c | |||
@@ -279,8 +279,8 @@ imx_dma_setup_sg(imx_dmach_t dma_ch, | |||
279 | */ | 279 | */ |
280 | int | 280 | int |
281 | imx_dma_setup_handlers(imx_dmach_t dma_ch, | 281 | imx_dma_setup_handlers(imx_dmach_t dma_ch, |
282 | void (*irq_handler) (int, void *, struct pt_regs *), | 282 | void (*irq_handler) (int, void *), |
283 | void (*err_handler) (int, void *, struct pt_regs *, int), | 283 | void (*err_handler) (int, void *, int), |
284 | void *data) | 284 | void *data) |
285 | { | 285 | { |
286 | struct imx_dma_channel *imxdma = &imx_dma_channels[dma_ch]; | 286 | struct imx_dma_channel *imxdma = &imx_dma_channels[dma_ch]; |
@@ -461,7 +461,7 @@ imx_dma_request_by_prio(imx_dmach_t * pdma_ch, const char *name, | |||
461 | return -ENODEV; | 461 | return -ENODEV; |
462 | } | 462 | } |
463 | 463 | ||
464 | static irqreturn_t dma_err_handler(int irq, void *dev_id, struct pt_regs *regs) | 464 | static irqreturn_t dma_err_handler(int irq, void *dev_id) |
465 | { | 465 | { |
466 | int i, disr = DISR; | 466 | int i, disr = DISR; |
467 | struct imx_dma_channel *channel; | 467 | struct imx_dma_channel *channel; |
@@ -500,7 +500,7 @@ static irqreturn_t dma_err_handler(int irq, void *dev_id, struct pt_regs *regs) | |||
500 | /*imx_dma_channels[i].sg = NULL;*/ | 500 | /*imx_dma_channels[i].sg = NULL;*/ |
501 | 501 | ||
502 | if (channel->name && channel->err_handler) { | 502 | if (channel->name && channel->err_handler) { |
503 | channel->err_handler(i, channel->data, regs, errcode); | 503 | channel->err_handler(i, channel->data, errcode); |
504 | continue; | 504 | continue; |
505 | } | 505 | } |
506 | 506 | ||
@@ -517,7 +517,7 @@ static irqreturn_t dma_err_handler(int irq, void *dev_id, struct pt_regs *regs) | |||
517 | return IRQ_HANDLED; | 517 | return IRQ_HANDLED; |
518 | } | 518 | } |
519 | 519 | ||
520 | static irqreturn_t dma_irq_handler(int irq, void *dev_id, struct pt_regs *regs) | 520 | static irqreturn_t dma_irq_handler(int irq, void *dev_id) |
521 | { | 521 | { |
522 | int i, disr = DISR; | 522 | int i, disr = DISR; |
523 | 523 | ||
@@ -536,7 +536,7 @@ static irqreturn_t dma_irq_handler(int irq, void *dev_id, struct pt_regs *regs) | |||
536 | } else { | 536 | } else { |
537 | if (channel->irq_handler) | 537 | if (channel->irq_handler) |
538 | channel->irq_handler(i, | 538 | channel->irq_handler(i, |
539 | channel->data, regs); | 539 | channel->data); |
540 | } | 540 | } |
541 | } else { | 541 | } else { |
542 | /* | 542 | /* |
diff --git a/arch/arm/mach-imx/irq.c b/arch/arm/mach-imx/irq.c index 2688bd82c2a2..368b13b058ab 100644 --- a/arch/arm/mach-imx/irq.c +++ b/arch/arm/mach-imx/irq.c | |||
@@ -146,13 +146,13 @@ imx_gpio_unmask_irq(unsigned int irq) | |||
146 | 146 | ||
147 | static void | 147 | static void |
148 | imx_gpio_handler(unsigned int mask, unsigned int irq, | 148 | imx_gpio_handler(unsigned int mask, unsigned int irq, |
149 | struct irqdesc *desc, struct pt_regs *regs) | 149 | struct irqdesc *desc) |
150 | { | 150 | { |
151 | desc = irq_desc + irq; | 151 | desc = irq_desc + irq; |
152 | while (mask) { | 152 | while (mask) { |
153 | if (mask & 1) { | 153 | if (mask & 1) { |
154 | DEBUG_IRQ("handling irq %d\n", irq); | 154 | DEBUG_IRQ("handling irq %d\n", irq); |
155 | desc_handle_irq(irq, desc, regs); | 155 | desc_handle_irq(irq, desc); |
156 | } | 156 | } |
157 | irq++; | 157 | irq++; |
158 | desc++; | 158 | desc++; |
@@ -161,47 +161,43 @@ imx_gpio_handler(unsigned int mask, unsigned int irq, | |||
161 | } | 161 | } |
162 | 162 | ||
163 | static void | 163 | static void |
164 | imx_gpioa_demux_handler(unsigned int irq_unused, struct irqdesc *desc, | 164 | imx_gpioa_demux_handler(unsigned int irq_unused, struct irqdesc *desc) |
165 | struct pt_regs *regs) | ||
166 | { | 165 | { |
167 | unsigned int mask, irq; | 166 | unsigned int mask, irq; |
168 | 167 | ||
169 | mask = ISR(0); | 168 | mask = ISR(0); |
170 | irq = IRQ_GPIOA(0); | 169 | irq = IRQ_GPIOA(0); |
171 | imx_gpio_handler(mask, irq, desc, regs); | 170 | imx_gpio_handler(mask, irq, desc); |
172 | } | 171 | } |
173 | 172 | ||
174 | static void | 173 | static void |
175 | imx_gpiob_demux_handler(unsigned int irq_unused, struct irqdesc *desc, | 174 | imx_gpiob_demux_handler(unsigned int irq_unused, struct irqdesc *desc) |
176 | struct pt_regs *regs) | ||
177 | { | 175 | { |
178 | unsigned int mask, irq; | 176 | unsigned int mask, irq; |
179 | 177 | ||
180 | mask = ISR(1); | 178 | mask = ISR(1); |
181 | irq = IRQ_GPIOB(0); | 179 | irq = IRQ_GPIOB(0); |
182 | imx_gpio_handler(mask, irq, desc, regs); | 180 | imx_gpio_handler(mask, irq, desc); |
183 | } | 181 | } |
184 | 182 | ||
185 | static void | 183 | static void |
186 | imx_gpioc_demux_handler(unsigned int irq_unused, struct irqdesc *desc, | 184 | imx_gpioc_demux_handler(unsigned int irq_unused, struct irqdesc *desc) |
187 | struct pt_regs *regs) | ||
188 | { | 185 | { |
189 | unsigned int mask, irq; | 186 | unsigned int mask, irq; |
190 | 187 | ||
191 | mask = ISR(2); | 188 | mask = ISR(2); |
192 | irq = IRQ_GPIOC(0); | 189 | irq = IRQ_GPIOC(0); |
193 | imx_gpio_handler(mask, irq, desc, regs); | 190 | imx_gpio_handler(mask, irq, desc); |
194 | } | 191 | } |
195 | 192 | ||
196 | static void | 193 | static void |
197 | imx_gpiod_demux_handler(unsigned int irq_unused, struct irqdesc *desc, | 194 | imx_gpiod_demux_handler(unsigned int irq_unused, struct irqdesc *desc) |
198 | struct pt_regs *regs) | ||
199 | { | 195 | { |
200 | unsigned int mask, irq; | 196 | unsigned int mask, irq; |
201 | 197 | ||
202 | mask = ISR(3); | 198 | mask = ISR(3); |
203 | irq = IRQ_GPIOD(0); | 199 | irq = IRQ_GPIOD(0); |
204 | imx_gpio_handler(mask, irq, desc, regs); | 200 | imx_gpio_handler(mask, irq, desc); |
205 | } | 201 | } |
206 | 202 | ||
207 | static struct irq_chip imx_internal_chip = { | 203 | static struct irq_chip imx_internal_chip = { |
diff --git a/arch/arm/mach-imx/time.c b/arch/arm/mach-imx/time.c index 6ed7523c65bb..8ae4a2c5066f 100644 --- a/arch/arm/mach-imx/time.c +++ b/arch/arm/mach-imx/time.c | |||
@@ -56,7 +56,7 @@ static unsigned long imx_gettimeoffset(void) | |||
56 | * IRQ handler for the timer | 56 | * IRQ handler for the timer |
57 | */ | 57 | */ |
58 | static irqreturn_t | 58 | static irqreturn_t |
59 | imx_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 59 | imx_timer_interrupt(int irq, void *dev_id) |
60 | { | 60 | { |
61 | write_seqlock(&xtime_lock); | 61 | write_seqlock(&xtime_lock); |
62 | 62 | ||
@@ -64,7 +64,7 @@ imx_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
64 | if (IMX_TSTAT(TIMER_BASE)) | 64 | if (IMX_TSTAT(TIMER_BASE)) |
65 | IMX_TSTAT(TIMER_BASE) = 0; | 65 | IMX_TSTAT(TIMER_BASE) = 0; |
66 | 66 | ||
67 | timer_tick(regs); | 67 | timer_tick(); |
68 | write_sequnlock(&xtime_lock); | 68 | write_sequnlock(&xtime_lock); |
69 | 69 | ||
70 | return IRQ_HANDLED; | 70 | return IRQ_HANDLED; |
diff --git a/arch/arm/mach-integrator/core.c b/arch/arm/mach-integrator/core.c index 42021fdfa0c6..8d880cb9ba39 100644 --- a/arch/arm/mach-integrator/core.c +++ b/arch/arm/mach-integrator/core.c | |||
@@ -248,7 +248,7 @@ unsigned long integrator_gettimeoffset(void) | |||
248 | * IRQ handler for the timer | 248 | * IRQ handler for the timer |
249 | */ | 249 | */ |
250 | static irqreturn_t | 250 | static irqreturn_t |
251 | integrator_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 251 | integrator_timer_interrupt(int irq, void *dev_id) |
252 | { | 252 | { |
253 | write_seqlock(&xtime_lock); | 253 | write_seqlock(&xtime_lock); |
254 | 254 | ||
@@ -262,7 +262,7 @@ integrator_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
262 | * primary CPU | 262 | * primary CPU |
263 | */ | 263 | */ |
264 | if (hard_smp_processor_id() == 0) { | 264 | if (hard_smp_processor_id() == 0) { |
265 | timer_tick(regs); | 265 | timer_tick(); |
266 | #ifdef CONFIG_SMP | 266 | #ifdef CONFIG_SMP |
267 | smp_send_timer(); | 267 | smp_send_timer(); |
268 | #endif | 268 | #endif |
@@ -272,7 +272,7 @@ integrator_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
272 | /* | 272 | /* |
273 | * this is the ARM equivalent of the APIC timer interrupt | 273 | * this is the ARM equivalent of the APIC timer interrupt |
274 | */ | 274 | */ |
275 | update_process_times(user_mode(regs)); | 275 | update_process_times(user_mode(get_irq_regs())); |
276 | #endif /* CONFIG_SMP */ | 276 | #endif /* CONFIG_SMP */ |
277 | 277 | ||
278 | write_sequnlock(&xtime_lock); | 278 | write_sequnlock(&xtime_lock); |
diff --git a/arch/arm/mach-integrator/integrator_cp.c b/arch/arm/mach-integrator/integrator_cp.c index 678b6ba2b463..771b65bffe69 100644 --- a/arch/arm/mach-integrator/integrator_cp.c +++ b/arch/arm/mach-integrator/integrator_cp.c | |||
@@ -202,12 +202,12 @@ static struct irq_chip sic_chip = { | |||
202 | }; | 202 | }; |
203 | 203 | ||
204 | static void | 204 | static void |
205 | sic_handle_irq(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) | 205 | sic_handle_irq(unsigned int irq, struct irqdesc *desc) |
206 | { | 206 | { |
207 | unsigned long status = sic_readl(INTCP_VA_SIC_BASE + IRQ_STATUS); | 207 | unsigned long status = sic_readl(INTCP_VA_SIC_BASE + IRQ_STATUS); |
208 | 208 | ||
209 | if (status == 0) { | 209 | if (status == 0) { |
210 | do_bad_IRQ(irq, desc, regs); | 210 | do_bad_IRQ(irq, desc); |
211 | return; | 211 | return; |
212 | } | 212 | } |
213 | 213 | ||
@@ -218,7 +218,7 @@ sic_handle_irq(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) | |||
218 | irq += IRQ_SIC_START; | 218 | irq += IRQ_SIC_START; |
219 | 219 | ||
220 | desc = irq_desc + irq; | 220 | desc = irq_desc + irq; |
221 | desc_handle_irq(irq, desc, regs); | 221 | desc_handle_irq(irq, desc); |
222 | } while (status); | 222 | } while (status); |
223 | } | 223 | } |
224 | 224 | ||
diff --git a/arch/arm/mach-integrator/pci_v3.c b/arch/arm/mach-integrator/pci_v3.c index 4418f6d7572d..fb8c6d97b22b 100644 --- a/arch/arm/mach-integrator/pci_v3.c +++ b/arch/arm/mach-integrator/pci_v3.c | |||
@@ -440,9 +440,10 @@ v3_pci_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) | |||
440 | return 1; | 440 | return 1; |
441 | } | 441 | } |
442 | 442 | ||
443 | static irqreturn_t v3_irq(int irq, void *devid, struct pt_regs *regs) | 443 | static irqreturn_t v3_irq(int irq, void *devid) |
444 | { | 444 | { |
445 | #ifdef CONFIG_DEBUG_LL | 445 | #ifdef CONFIG_DEBUG_LL |
446 | struct pt_regs *regs = get_irq_regs(); | ||
446 | unsigned long pc = instruction_pointer(regs); | 447 | unsigned long pc = instruction_pointer(regs); |
447 | unsigned long instr = *(unsigned long *)pc; | 448 | unsigned long instr = *(unsigned long *)pc; |
448 | char buf[128]; | 449 | char buf[128]; |
diff --git a/arch/arm/mach-integrator/time.c b/arch/arm/mach-integrator/time.c index ee49cf790dab..5278f589fcee 100644 --- a/arch/arm/mach-integrator/time.c +++ b/arch/arm/mach-integrator/time.c | |||
@@ -96,8 +96,7 @@ static struct rtc_ops rtc_ops = { | |||
96 | .set_alarm = integrator_rtc_set_alarm, | 96 | .set_alarm = integrator_rtc_set_alarm, |
97 | }; | 97 | }; |
98 | 98 | ||
99 | static irqreturn_t arm_rtc_interrupt(int irq, void *dev_id, | 99 | static irqreturn_t arm_rtc_interrupt(int irq, void *dev_id) |
100 | struct pt_regs *regs) | ||
101 | { | 100 | { |
102 | writel(0, rtc_base + RTC_EOI); | 101 | writel(0, rtc_base + RTC_EOI); |
103 | return IRQ_HANDLED; | 102 | return IRQ_HANDLED; |
diff --git a/arch/arm/mach-ixp2000/core.c b/arch/arm/mach-ixp2000/core.c index 7f91f689a041..22c98e9dad28 100644 --- a/arch/arm/mach-ixp2000/core.c +++ b/arch/arm/mach-ixp2000/core.c | |||
@@ -204,7 +204,7 @@ unsigned long ixp2000_gettimeoffset (void) | |||
204 | return offset / ticks_per_usec; | 204 | return offset / ticks_per_usec; |
205 | } | 205 | } |
206 | 206 | ||
207 | static int ixp2000_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 207 | static int ixp2000_timer_interrupt(int irq, void *dev_id) |
208 | { | 208 | { |
209 | write_seqlock(&xtime_lock); | 209 | write_seqlock(&xtime_lock); |
210 | 210 | ||
@@ -213,7 +213,7 @@ static int ixp2000_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
213 | 213 | ||
214 | while ((signed long)(next_jiffy_time - *missing_jiffy_timer_csr) | 214 | while ((signed long)(next_jiffy_time - *missing_jiffy_timer_csr) |
215 | >= ticks_per_jiffy) { | 215 | >= ticks_per_jiffy) { |
216 | timer_tick(regs); | 216 | timer_tick(); |
217 | next_jiffy_time -= ticks_per_jiffy; | 217 | next_jiffy_time -= ticks_per_jiffy; |
218 | } | 218 | } |
219 | 219 | ||
@@ -308,7 +308,7 @@ EXPORT_SYMBOL(gpio_line_config); | |||
308 | /************************************************************************* | 308 | /************************************************************************* |
309 | * IRQ handling IXP2000 | 309 | * IRQ handling IXP2000 |
310 | *************************************************************************/ | 310 | *************************************************************************/ |
311 | static void ixp2000_GPIO_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) | 311 | static void ixp2000_GPIO_irq_handler(unsigned int irq, struct irqdesc *desc) |
312 | { | 312 | { |
313 | int i; | 313 | int i; |
314 | unsigned long status = *IXP2000_GPIO_INST; | 314 | unsigned long status = *IXP2000_GPIO_INST; |
@@ -316,7 +316,7 @@ static void ixp2000_GPIO_irq_handler(unsigned int irq, struct irqdesc *desc, str | |||
316 | for (i = 0; i <= 7; i++) { | 316 | for (i = 0; i <= 7; i++) { |
317 | if (status & (1<<i)) { | 317 | if (status & (1<<i)) { |
318 | desc = irq_desc + i + IRQ_IXP2000_GPIO0; | 318 | desc = irq_desc + i + IRQ_IXP2000_GPIO0; |
319 | desc_handle_irq(i + IRQ_IXP2000_GPIO0, desc, regs); | 319 | desc_handle_irq(i + IRQ_IXP2000_GPIO0, desc); |
320 | } | 320 | } |
321 | } | 321 | } |
322 | } | 322 | } |
@@ -401,7 +401,7 @@ static void ixp2000_pci_irq_unmask(unsigned int irq) | |||
401 | /* | 401 | /* |
402 | * Error interrupts. These are used extensively by the microengine drivers | 402 | * Error interrupts. These are used extensively by the microengine drivers |
403 | */ | 403 | */ |
404 | static void ixp2000_err_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) | 404 | static void ixp2000_err_irq_handler(unsigned int irq, struct irqdesc *desc) |
405 | { | 405 | { |
406 | int i; | 406 | int i; |
407 | unsigned long status = *IXP2000_IRQ_ERR_STATUS; | 407 | unsigned long status = *IXP2000_IRQ_ERR_STATUS; |
@@ -409,7 +409,7 @@ static void ixp2000_err_irq_handler(unsigned int irq, struct irqdesc *desc, str | |||
409 | for(i = 31; i >= 0; i--) { | 409 | for(i = 31; i >= 0; i--) { |
410 | if(status & (1 << i)) { | 410 | if(status & (1 << i)) { |
411 | desc = irq_desc + IRQ_IXP2000_DRAM0_MIN_ERR + i; | 411 | desc = irq_desc + IRQ_IXP2000_DRAM0_MIN_ERR + i; |
412 | desc_handle_irq(IRQ_IXP2000_DRAM0_MIN_ERR + i, desc, regs); | 412 | desc_handle_irq(IRQ_IXP2000_DRAM0_MIN_ERR + i, desc); |
413 | } | 413 | } |
414 | } | 414 | } |
415 | } | 415 | } |
diff --git a/arch/arm/mach-ixp2000/ixdp2x00.c b/arch/arm/mach-ixp2000/ixdp2x00.c index 40eef8b36740..af48cb52dfc4 100644 --- a/arch/arm/mach-ixp2000/ixdp2x00.c +++ b/arch/arm/mach-ixp2000/ixdp2x00.c | |||
@@ -106,7 +106,7 @@ static void ixdp2x00_irq_unmask(unsigned int irq) | |||
106 | ixp2000_release_slowport(&old_cfg); | 106 | ixp2000_release_slowport(&old_cfg); |
107 | } | 107 | } |
108 | 108 | ||
109 | static void ixdp2x00_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) | 109 | static void ixdp2x00_irq_handler(unsigned int irq, struct irqdesc *desc) |
110 | { | 110 | { |
111 | volatile u32 ex_interrupt = 0; | 111 | volatile u32 ex_interrupt = 0; |
112 | static struct slowport_cfg old_cfg; | 112 | static struct slowport_cfg old_cfg; |
@@ -132,7 +132,7 @@ static void ixdp2x00_irq_handler(unsigned int irq, struct irqdesc *desc, struct | |||
132 | struct irqdesc *cpld_desc; | 132 | struct irqdesc *cpld_desc; |
133 | int cpld_irq = IXP2000_BOARD_IRQ(0) + i; | 133 | int cpld_irq = IXP2000_BOARD_IRQ(0) + i; |
134 | cpld_desc = irq_desc + cpld_irq; | 134 | cpld_desc = irq_desc + cpld_irq; |
135 | desc_handle_irq(cpld_irq, cpld_desc, regs); | 135 | desc_handle_irq(cpld_irq, cpld_desc); |
136 | } | 136 | } |
137 | } | 137 | } |
138 | 138 | ||
diff --git a/arch/arm/mach-ixp2000/ixdp2x01.c b/arch/arm/mach-ixp2000/ixdp2x01.c index 7f42366f60d1..9ccae9e63f70 100644 --- a/arch/arm/mach-ixp2000/ixdp2x01.c +++ b/arch/arm/mach-ixp2000/ixdp2x01.c | |||
@@ -63,7 +63,7 @@ static void ixdp2x01_irq_unmask(unsigned int irq) | |||
63 | 63 | ||
64 | static u32 valid_irq_mask; | 64 | static u32 valid_irq_mask; |
65 | 65 | ||
66 | static void ixdp2x01_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) | 66 | static void ixdp2x01_irq_handler(unsigned int irq, struct irqdesc *desc) |
67 | { | 67 | { |
68 | u32 ex_interrupt; | 68 | u32 ex_interrupt; |
69 | int i; | 69 | int i; |
@@ -82,7 +82,7 @@ static void ixdp2x01_irq_handler(unsigned int irq, struct irqdesc *desc, struct | |||
82 | struct irqdesc *cpld_desc; | 82 | struct irqdesc *cpld_desc; |
83 | int cpld_irq = IXP2000_BOARD_IRQ(0) + i; | 83 | int cpld_irq = IXP2000_BOARD_IRQ(0) + i; |
84 | cpld_desc = irq_desc + cpld_irq; | 84 | cpld_desc = irq_desc + cpld_irq; |
85 | desc_handle_irq(cpld_irq, cpld_desc, regs); | 85 | desc_handle_irq(cpld_irq, cpld_desc); |
86 | } | 86 | } |
87 | } | 87 | } |
88 | 88 | ||
diff --git a/arch/arm/mach-ixp23xx/core.c b/arch/arm/mach-ixp23xx/core.c index 566a07821c77..a704a1820048 100644 --- a/arch/arm/mach-ixp23xx/core.c +++ b/arch/arm/mach-ixp23xx/core.c | |||
@@ -251,7 +251,7 @@ static void ixp23xx_pci_irq_unmask(unsigned int irq) | |||
251 | /* | 251 | /* |
252 | * TODO: Should this just be done at ASM level? | 252 | * TODO: Should this just be done at ASM level? |
253 | */ | 253 | */ |
254 | static void pci_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) | 254 | static void pci_handler(unsigned int irq, struct irqdesc *desc) |
255 | { | 255 | { |
256 | u32 pci_interrupt; | 256 | u32 pci_interrupt; |
257 | unsigned int irqno; | 257 | unsigned int irqno; |
@@ -271,7 +271,7 @@ static void pci_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs * | |||
271 | } | 271 | } |
272 | 272 | ||
273 | int_desc = irq_desc + irqno; | 273 | int_desc = irq_desc + irqno; |
274 | desc_handle_irq(irqno, int_desc, regs); | 274 | desc_handle_irq(irqno, int_desc); |
275 | 275 | ||
276 | desc->chip->unmask(irq); | 276 | desc->chip->unmask(irq); |
277 | } | 277 | } |
@@ -348,12 +348,12 @@ ixp23xx_gettimeoffset(void) | |||
348 | } | 348 | } |
349 | 349 | ||
350 | static irqreturn_t | 350 | static irqreturn_t |
351 | ixp23xx_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 351 | ixp23xx_timer_interrupt(int irq, void *dev_id) |
352 | { | 352 | { |
353 | /* Clear Pending Interrupt by writing '1' to it */ | 353 | /* Clear Pending Interrupt by writing '1' to it */ |
354 | *IXP23XX_TIMER_STATUS = IXP23XX_TIMER1_INT_PEND; | 354 | *IXP23XX_TIMER_STATUS = IXP23XX_TIMER1_INT_PEND; |
355 | while ((signed long)(*IXP23XX_TIMER_CONT - next_jiffy_time) >= LATCH) { | 355 | while ((signed long)(*IXP23XX_TIMER_CONT - next_jiffy_time) >= LATCH) { |
356 | timer_tick(regs); | 356 | timer_tick(); |
357 | next_jiffy_time += LATCH; | 357 | next_jiffy_time += LATCH; |
358 | } | 358 | } |
359 | 359 | ||
diff --git a/arch/arm/mach-ixp23xx/ixdp2351.c b/arch/arm/mach-ixp23xx/ixdp2351.c index 37a32e6bcca2..b6ab0e8bb5e8 100644 --- a/arch/arm/mach-ixp23xx/ixdp2351.c +++ b/arch/arm/mach-ixp23xx/ixdp2351.c | |||
@@ -60,7 +60,7 @@ static void ixdp2351_inta_unmask(unsigned int irq) | |||
60 | *IXDP2351_CPLD_INTA_MASK_CLR_REG = IXDP2351_INTA_IRQ_MASK(irq); | 60 | *IXDP2351_CPLD_INTA_MASK_CLR_REG = IXDP2351_INTA_IRQ_MASK(irq); |
61 | } | 61 | } |
62 | 62 | ||
63 | static void ixdp2351_inta_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) | 63 | static void ixdp2351_inta_handler(unsigned int irq, struct irqdesc *desc) |
64 | { | 64 | { |
65 | u16 ex_interrupt = | 65 | u16 ex_interrupt = |
66 | *IXDP2351_CPLD_INTA_STAT_REG & IXDP2351_INTA_IRQ_VALID; | 66 | *IXDP2351_CPLD_INTA_STAT_REG & IXDP2351_INTA_IRQ_VALID; |
@@ -74,7 +74,7 @@ static void ixdp2351_inta_handler(unsigned int irq, struct irqdesc *desc, struct | |||
74 | int cpld_irq = | 74 | int cpld_irq = |
75 | IXP23XX_MACH_IRQ(IXDP2351_INTA_IRQ_BASE + i); | 75 | IXP23XX_MACH_IRQ(IXDP2351_INTA_IRQ_BASE + i); |
76 | cpld_desc = irq_desc + cpld_irq; | 76 | cpld_desc = irq_desc + cpld_irq; |
77 | desc_handle_irq(cpld_irq, cpld_desc, regs); | 77 | desc_handle_irq(cpld_irq, cpld_desc); |
78 | } | 78 | } |
79 | } | 79 | } |
80 | 80 | ||
@@ -97,7 +97,7 @@ static void ixdp2351_intb_unmask(unsigned int irq) | |||
97 | *IXDP2351_CPLD_INTB_MASK_CLR_REG = IXDP2351_INTB_IRQ_MASK(irq); | 97 | *IXDP2351_CPLD_INTB_MASK_CLR_REG = IXDP2351_INTB_IRQ_MASK(irq); |
98 | } | 98 | } |
99 | 99 | ||
100 | static void ixdp2351_intb_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) | 100 | static void ixdp2351_intb_handler(unsigned int irq, struct irqdesc *desc) |
101 | { | 101 | { |
102 | u16 ex_interrupt = | 102 | u16 ex_interrupt = |
103 | *IXDP2351_CPLD_INTB_STAT_REG & IXDP2351_INTB_IRQ_VALID; | 103 | *IXDP2351_CPLD_INTB_STAT_REG & IXDP2351_INTB_IRQ_VALID; |
@@ -111,7 +111,7 @@ static void ixdp2351_intb_handler(unsigned int irq, struct irqdesc *desc, struct | |||
111 | int cpld_irq = | 111 | int cpld_irq = |
112 | IXP23XX_MACH_IRQ(IXDP2351_INTB_IRQ_BASE + i); | 112 | IXP23XX_MACH_IRQ(IXDP2351_INTB_IRQ_BASE + i); |
113 | cpld_desc = irq_desc + cpld_irq; | 113 | cpld_desc = irq_desc + cpld_irq; |
114 | desc_handle_irq(cpld_irq, cpld_desc, regs); | 114 | desc_handle_irq(cpld_irq, cpld_desc); |
115 | } | 115 | } |
116 | } | 116 | } |
117 | 117 | ||
diff --git a/arch/arm/mach-ixp4xx/common.c b/arch/arm/mach-ixp4xx/common.c index 35dd8b3824b0..c7513f6eb50c 100644 --- a/arch/arm/mach-ixp4xx/common.c +++ b/arch/arm/mach-ixp4xx/common.c | |||
@@ -256,7 +256,7 @@ static unsigned volatile last_jiffy_time; | |||
256 | 256 | ||
257 | #define CLOCK_TICKS_PER_USEC ((CLOCK_TICK_RATE + USEC_PER_SEC/2) / USEC_PER_SEC) | 257 | #define CLOCK_TICKS_PER_USEC ((CLOCK_TICK_RATE + USEC_PER_SEC/2) / USEC_PER_SEC) |
258 | 258 | ||
259 | static irqreturn_t ixp4xx_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 259 | static irqreturn_t ixp4xx_timer_interrupt(int irq, void *dev_id) |
260 | { | 260 | { |
261 | write_seqlock(&xtime_lock); | 261 | write_seqlock(&xtime_lock); |
262 | 262 | ||
@@ -267,7 +267,7 @@ static irqreturn_t ixp4xx_timer_interrupt(int irq, void *dev_id, struct pt_regs | |||
267 | * Catch up with the real idea of time | 267 | * Catch up with the real idea of time |
268 | */ | 268 | */ |
269 | while ((signed long)(*IXP4XX_OSTS - last_jiffy_time) >= LATCH) { | 269 | while ((signed long)(*IXP4XX_OSTS - last_jiffy_time) >= LATCH) { |
270 | timer_tick(regs); | 270 | timer_tick(); |
271 | last_jiffy_time += LATCH; | 271 | last_jiffy_time += LATCH; |
272 | } | 272 | } |
273 | 273 | ||
diff --git a/arch/arm/mach-ixp4xx/nas100d-power.c b/arch/arm/mach-ixp4xx/nas100d-power.c index 81ffcae1f56e..29aa98d3a7fa 100644 --- a/arch/arm/mach-ixp4xx/nas100d-power.c +++ b/arch/arm/mach-ixp4xx/nas100d-power.c | |||
@@ -24,7 +24,7 @@ | |||
24 | 24 | ||
25 | #include <asm/mach-types.h> | 25 | #include <asm/mach-types.h> |
26 | 26 | ||
27 | static irqreturn_t nas100d_reset_handler(int irq, void *dev_id, struct pt_regs *regs) | 27 | static irqreturn_t nas100d_reset_handler(int irq, void *dev_id) |
28 | { | 28 | { |
29 | /* Signal init to do the ctrlaltdel action, this will bypass init if | 29 | /* Signal init to do the ctrlaltdel action, this will bypass init if |
30 | * it hasn't started and do a kernel_restart. | 30 | * it hasn't started and do a kernel_restart. |
diff --git a/arch/arm/mach-ixp4xx/nslu2-power.c b/arch/arm/mach-ixp4xx/nslu2-power.c index a29b3b2b61b6..acd71e9c38a7 100644 --- a/arch/arm/mach-ixp4xx/nslu2-power.c +++ b/arch/arm/mach-ixp4xx/nslu2-power.c | |||
@@ -25,7 +25,7 @@ | |||
25 | 25 | ||
26 | #include <asm/mach-types.h> | 26 | #include <asm/mach-types.h> |
27 | 27 | ||
28 | static irqreturn_t nslu2_power_handler(int irq, void *dev_id, struct pt_regs *regs) | 28 | static irqreturn_t nslu2_power_handler(int irq, void *dev_id) |
29 | { | 29 | { |
30 | /* Signal init to do the ctrlaltdel action, this will bypass init if | 30 | /* Signal init to do the ctrlaltdel action, this will bypass init if |
31 | * it hasn't started and do a kernel_restart. | 31 | * it hasn't started and do a kernel_restart. |
@@ -35,7 +35,7 @@ static irqreturn_t nslu2_power_handler(int irq, void *dev_id, struct pt_regs *re | |||
35 | return IRQ_HANDLED; | 35 | return IRQ_HANDLED; |
36 | } | 36 | } |
37 | 37 | ||
38 | static irqreturn_t nslu2_reset_handler(int irq, void *dev_id, struct pt_regs *regs) | 38 | static irqreturn_t nslu2_reset_handler(int irq, void *dev_id) |
39 | { | 39 | { |
40 | /* This is the paper-clip reset, it shuts the machine down directly. | 40 | /* This is the paper-clip reset, it shuts the machine down directly. |
41 | */ | 41 | */ |
diff --git a/arch/arm/mach-lh7a40x/arch-kev7a400.c b/arch/arm/mach-lh7a40x/arch-kev7a400.c index 4f2ab48800a5..15fbcc911fe7 100644 --- a/arch/arm/mach-lh7a40x/arch-kev7a400.c +++ b/arch/arm/mach-lh7a40x/arch-kev7a400.c | |||
@@ -71,14 +71,13 @@ static struct irq_chip kev7a400_cpld_chip = { | |||
71 | }; | 71 | }; |
72 | 72 | ||
73 | 73 | ||
74 | static void kev7a400_cpld_handler (unsigned int irq, struct irqdesc *desc, | 74 | static void kev7a400_cpld_handler (unsigned int irq, struct irqdesc *desc) |
75 | struct pt_regs *regs) | ||
76 | { | 75 | { |
77 | u32 mask = CPLD_LATCHED_INTS; | 76 | u32 mask = CPLD_LATCHED_INTS; |
78 | irq = IRQ_KEV7A400_CPLD; | 77 | irq = IRQ_KEV7A400_CPLD; |
79 | for (; mask; mask >>= 1, ++irq) { | 78 | for (; mask; mask >>= 1, ++irq) { |
80 | if (mask & 1) | 79 | if (mask & 1) |
81 | desc[irq].handle (irq, desc, regs); | 80 | desc[irq].handle (irq, desc); |
82 | } | 81 | } |
83 | } | 82 | } |
84 | 83 | ||
diff --git a/arch/arm/mach-lh7a40x/arch-lpd7a40x.c b/arch/arm/mach-lh7a40x/arch-lpd7a40x.c index a21b12f06c6b..8441e0a156cb 100644 --- a/arch/arm/mach-lh7a40x/arch-lpd7a40x.c +++ b/arch/arm/mach-lh7a40x/arch-lpd7a40x.c | |||
@@ -207,8 +207,7 @@ static struct irq_chip lpd7a40x_cpld_chip = { | |||
207 | .unmask = lh7a40x_unmask_cpld_irq, | 207 | .unmask = lh7a40x_unmask_cpld_irq, |
208 | }; | 208 | }; |
209 | 209 | ||
210 | static void lpd7a40x_cpld_handler (unsigned int irq, struct irqdesc *desc, | 210 | static void lpd7a40x_cpld_handler (unsigned int irq, struct irqdesc *desc) |
211 | struct pt_regs *regs) | ||
212 | { | 211 | { |
213 | unsigned int mask = CPLD_INTERRUPTS; | 212 | unsigned int mask = CPLD_INTERRUPTS; |
214 | 213 | ||
diff --git a/arch/arm/mach-lh7a40x/irq-kev7a400.c b/arch/arm/mach-lh7a40x/irq-kev7a400.c index f9b3fe9174a5..646071334b8f 100644 --- a/arch/arm/mach-lh7a40x/irq-kev7a400.c +++ b/arch/arm/mach-lh7a40x/irq-kev7a400.c | |||
@@ -51,14 +51,13 @@ irq_chip lh7a400_cpld_chip = { | |||
51 | }; | 51 | }; |
52 | 52 | ||
53 | static void | 53 | static void |
54 | lh7a400_cpld_handler (unsigned int irq, struct irqdesc *desc, | 54 | lh7a400_cpld_handler (unsigned int irq, struct irqdesc *desc) |
55 | struct pt_regs *regs) | ||
56 | { | 55 | { |
57 | u32 mask = CPLD_LATCHED_INTS; | 56 | u32 mask = CPLD_LATCHED_INTS; |
58 | irq = IRQ_KEV_7A400_CPLD; | 57 | irq = IRQ_KEV_7A400_CPLD; |
59 | for (; mask; mask >>= 1, ++irq) { | 58 | for (; mask; mask >>= 1, ++irq) { |
60 | if (mask & 1) | 59 | if (mask & 1) |
61 | desc[irq].handle (irq, desc, regs); | 60 | desc[irq].handle (irq, desc); |
62 | } | 61 | } |
63 | } | 62 | } |
64 | 63 | ||
diff --git a/arch/arm/mach-lh7a40x/irq-lpd7a40x.c b/arch/arm/mach-lh7a40x/irq-lpd7a40x.c index d6055dde6468..b20376804bbb 100644 --- a/arch/arm/mach-lh7a40x/irq-lpd7a40x.c +++ b/arch/arm/mach-lh7a40x/irq-lpd7a40x.c | |||
@@ -57,8 +57,7 @@ static struct irq_chip lh7a40x_cpld_chip = { | |||
57 | .unmask = lh7a40x_unmask_cpld_irq, | 57 | .unmask = lh7a40x_unmask_cpld_irq, |
58 | }; | 58 | }; |
59 | 59 | ||
60 | static void lh7a40x_cpld_handler (unsigned int irq, struct irqdesc *desc, | 60 | static void lh7a40x_cpld_handler (unsigned int irq, struct irqdesc *desc) |
61 | struct pt_regs *regs) | ||
62 | { | 61 | { |
63 | unsigned int mask = CPLD_INTERRUPTS; | 62 | unsigned int mask = CPLD_INTERRUPTS; |
64 | 63 | ||
diff --git a/arch/arm/mach-lh7a40x/time.c b/arch/arm/mach-lh7a40x/time.c index ad5652e01507..bef3c4b68d3b 100644 --- a/arch/arm/mach-lh7a40x/time.c +++ b/arch/arm/mach-lh7a40x/time.c | |||
@@ -39,12 +39,12 @@ | |||
39 | #endif | 39 | #endif |
40 | 40 | ||
41 | static irqreturn_t | 41 | static irqreturn_t |
42 | lh7a40x_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 42 | lh7a40x_timer_interrupt(int irq, void *dev_id) |
43 | { | 43 | { |
44 | write_seqlock(&xtime_lock); | 44 | write_seqlock(&xtime_lock); |
45 | 45 | ||
46 | TIMER_EOI = 0; | 46 | TIMER_EOI = 0; |
47 | timer_tick(regs); | 47 | timer_tick(); |
48 | 48 | ||
49 | write_sequnlock(&xtime_lock); | 49 | write_sequnlock(&xtime_lock); |
50 | 50 | ||
diff --git a/arch/arm/mach-netx/generic.c b/arch/arm/mach-netx/generic.c index af0b13534cfd..edbbbdc3b06b 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 | #endif | 69 | #endif |
70 | 70 | ||
71 | static void | 71 | static void |
72 | netx_hif_demux_handler(unsigned int irq_unused, struct irqdesc *desc, | 72 | netx_hif_demux_handler(unsigned int irq_unused, struct irqdesc *desc) |
73 | struct pt_regs *regs) | ||
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; |
@@ -83,7 +82,7 @@ netx_hif_demux_handler(unsigned int irq_unused, struct irqdesc *desc, | |||
83 | while (stat) { | 82 | while (stat) { |
84 | if (stat & 1) { | 83 | if (stat & 1) { |
85 | DEBUG_IRQ("handling irq %d\n", irq); | 84 | DEBUG_IRQ("handling irq %d\n", irq); |
86 | desc_handle_irq(irq, desc, regs); | 85 | desc_handle_irq(irq, desc); |
87 | } | 86 | } |
88 | irq++; | 87 | irq++; |
89 | desc++; | 88 | desc++; |
diff --git a/arch/arm/mach-netx/time.c b/arch/arm/mach-netx/time.c index 6d72c81b7d9f..0993336c0b55 100644 --- a/arch/arm/mach-netx/time.c +++ b/arch/arm/mach-netx/time.c | |||
@@ -38,11 +38,11 @@ static unsigned long netx_gettimeoffset(void) | |||
38 | * IRQ handler for the timer | 38 | * IRQ handler for the timer |
39 | */ | 39 | */ |
40 | static irqreturn_t | 40 | static irqreturn_t |
41 | netx_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 41 | netx_timer_interrupt(int irq, void *dev_id) |
42 | { | 42 | { |
43 | write_seqlock(&xtime_lock); | 43 | write_seqlock(&xtime_lock); |
44 | 44 | ||
45 | timer_tick(regs); | 45 | timer_tick(); |
46 | write_sequnlock(&xtime_lock); | 46 | write_sequnlock(&xtime_lock); |
47 | 47 | ||
48 | /* acknowledge interrupt */ | 48 | /* acknowledge interrupt */ |
diff --git a/arch/arm/mach-omap1/board-osk.c b/arch/arm/mach-omap1/board-osk.c index 6b05647a6c01..3a622801d7b0 100644 --- a/arch/arm/mach-omap1/board-osk.c +++ b/arch/arm/mach-omap1/board-osk.c | |||
@@ -327,7 +327,7 @@ static struct spi_board_info __initdata mistral_boardinfo[] = { { | |||
327 | 327 | ||
328 | #ifdef CONFIG_PM | 328 | #ifdef CONFIG_PM |
329 | static irqreturn_t | 329 | static irqreturn_t |
330 | osk_mistral_wake_interrupt(int irq, void *ignored, struct pt_regs *regs) | 330 | osk_mistral_wake_interrupt(int irq, void *ignored) |
331 | { | 331 | { |
332 | return IRQ_HANDLED; | 332 | return IRQ_HANDLED; |
333 | } | 333 | } |
diff --git a/arch/arm/mach-omap1/fpga.c b/arch/arm/mach-omap1/fpga.c index efe9bfc6e55f..8e40208b10bb 100644 --- a/arch/arm/mach-omap1/fpga.c +++ b/arch/arm/mach-omap1/fpga.c | |||
@@ -84,8 +84,7 @@ static void fpga_mask_ack_irq(unsigned int irq) | |||
84 | fpga_ack_irq(irq); | 84 | fpga_ack_irq(irq); |
85 | } | 85 | } |
86 | 86 | ||
87 | void innovator_fpga_IRQ_demux(unsigned int irq, struct irqdesc *desc, | 87 | void innovator_fpga_IRQ_demux(unsigned int irq, struct irqdesc *desc) |
88 | struct pt_regs *regs) | ||
89 | { | 88 | { |
90 | struct irqdesc *d; | 89 | struct irqdesc *d; |
91 | u32 stat; | 90 | u32 stat; |
@@ -101,7 +100,7 @@ void innovator_fpga_IRQ_demux(unsigned int irq, struct irqdesc *desc, | |||
101 | fpga_irq++, stat >>= 1) { | 100 | fpga_irq++, stat >>= 1) { |
102 | if (stat & 1) { | 101 | if (stat & 1) { |
103 | d = irq_desc + fpga_irq; | 102 | d = irq_desc + fpga_irq; |
104 | desc_handle_irq(fpga_irq, d, regs); | 103 | desc_handle_irq(fpga_irq, d); |
105 | } | 104 | } |
106 | } | 105 | } |
107 | } | 106 | } |
diff --git a/arch/arm/mach-omap1/pm.c b/arch/arm/mach-omap1/pm.c index cd76185bab74..4834758d340c 100644 --- a/arch/arm/mach-omap1/pm.c +++ b/arch/arm/mach-omap1/pm.c | |||
@@ -682,8 +682,7 @@ static int omap_pm_finish(suspend_state_t state) | |||
682 | } | 682 | } |
683 | 683 | ||
684 | 684 | ||
685 | static irqreturn_t omap_wakeup_interrupt(int irq, void * dev, | 685 | static irqreturn_t omap_wakeup_interrupt(int irq, void *dev) |
686 | struct pt_regs * regs) | ||
687 | { | 686 | { |
688 | return IRQ_HANDLED; | 687 | return IRQ_HANDLED; |
689 | } | 688 | } |
diff --git a/arch/arm/mach-omap1/serial.c b/arch/arm/mach-omap1/serial.c index c4b790217a5b..4cc98a578e4b 100644 --- a/arch/arm/mach-omap1/serial.c +++ b/arch/arm/mach-omap1/serial.c | |||
@@ -204,8 +204,7 @@ void __init omap_serial_init(void) | |||
204 | 204 | ||
205 | #ifdef CONFIG_OMAP_SERIAL_WAKE | 205 | #ifdef CONFIG_OMAP_SERIAL_WAKE |
206 | 206 | ||
207 | static irqreturn_t omap_serial_wake_interrupt(int irq, void *dev_id, | 207 | static irqreturn_t omap_serial_wake_interrupt(int irq, void *dev_id) |
208 | struct pt_regs *regs) | ||
209 | { | 208 | { |
210 | /* Need to do something with serial port right after wake-up? */ | 209 | /* Need to do something with serial port right after wake-up? */ |
211 | return IRQ_HANDLED; | 210 | return IRQ_HANDLED; |
diff --git a/arch/arm/mach-omap1/time.c b/arch/arm/mach-omap1/time.c index 4d91b9f51084..1b7e4a506c26 100644 --- a/arch/arm/mach-omap1/time.c +++ b/arch/arm/mach-omap1/time.c | |||
@@ -160,8 +160,7 @@ static unsigned long omap_mpu_timer_gettimeoffset(void) | |||
160 | * Latency during the interrupt is calculated using timer1. | 160 | * Latency during the interrupt is calculated using timer1. |
161 | * Both timer0 and timer1 are counting at 6MHz (P2 6.5MHz). | 161 | * Both timer0 and timer1 are counting at 6MHz (P2 6.5MHz). |
162 | */ | 162 | */ |
163 | static irqreturn_t omap_mpu_timer_interrupt(int irq, void *dev_id, | 163 | static irqreturn_t omap_mpu_timer_interrupt(int irq, void *dev_id) |
164 | struct pt_regs *regs) | ||
165 | { | 164 | { |
166 | unsigned long now, latency; | 165 | unsigned long now, latency; |
167 | 166 | ||
@@ -169,7 +168,7 @@ static irqreturn_t omap_mpu_timer_interrupt(int irq, void *dev_id, | |||
169 | now = 0 - omap_mpu_timer_read(0); | 168 | now = 0 - omap_mpu_timer_read(0); |
170 | latency = MPU_TICKS_PER_SEC / HZ - omap_mpu_timer_read(1); | 169 | latency = MPU_TICKS_PER_SEC / HZ - omap_mpu_timer_read(1); |
171 | omap_mpu_timer_last = now - latency; | 170 | omap_mpu_timer_last = now - latency; |
172 | timer_tick(regs); | 171 | timer_tick(); |
173 | write_sequnlock(&xtime_lock); | 172 | write_sequnlock(&xtime_lock); |
174 | 173 | ||
175 | return IRQ_HANDLED; | 174 | return IRQ_HANDLED; |
@@ -182,8 +181,7 @@ static struct irqaction omap_mpu_timer_irq = { | |||
182 | }; | 181 | }; |
183 | 182 | ||
184 | static unsigned long omap_mpu_timer1_overflows; | 183 | static unsigned long omap_mpu_timer1_overflows; |
185 | static irqreturn_t omap_mpu_timer1_interrupt(int irq, void *dev_id, | 184 | static irqreturn_t omap_mpu_timer1_interrupt(int irq, void *dev_id) |
186 | struct pt_regs *regs) | ||
187 | { | 185 | { |
188 | omap_mpu_timer1_overflows++; | 186 | omap_mpu_timer1_overflows++; |
189 | return IRQ_HANDLED; | 187 | return IRQ_HANDLED; |
diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c index c37b0e6d1248..03d6905ba490 100644 --- a/arch/arm/mach-omap2/board-apollon.c +++ b/arch/arm/mach-omap2/board-apollon.c | |||
@@ -203,7 +203,7 @@ static void __init apollon_led_init(void) | |||
203 | omap_set_gpio_dataout(LED2_GPIO15, 0); | 203 | omap_set_gpio_dataout(LED2_GPIO15, 0); |
204 | } | 204 | } |
205 | 205 | ||
206 | static irqreturn_t apollon_sw_interrupt(int irq, void *ignored, struct pt_regs *regs) | 206 | static irqreturn_t apollon_sw_interrupt(int irq, void *ignored) |
207 | { | 207 | { |
208 | static unsigned int led0, led1, led2; | 208 | static unsigned int led0, led1, led2; |
209 | 209 | ||
diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer-gp.c index fe5fd6d42dea..973189cd9766 100644 --- a/arch/arm/mach-omap2/timer-gp.c +++ b/arch/arm/mach-omap2/timer-gp.c | |||
@@ -37,13 +37,12 @@ static inline void omap2_gp_timer_start(unsigned long load_val) | |||
37 | omap_dm_timer_start(gptimer); | 37 | omap_dm_timer_start(gptimer); |
38 | } | 38 | } |
39 | 39 | ||
40 | static irqreturn_t omap2_gp_timer_interrupt(int irq, void *dev_id, | 40 | static irqreturn_t omap2_gp_timer_interrupt(int irq, void *dev_id) |
41 | struct pt_regs *regs) | ||
42 | { | 41 | { |
43 | write_seqlock(&xtime_lock); | 42 | write_seqlock(&xtime_lock); |
44 | 43 | ||
45 | omap_dm_timer_write_status(gptimer, OMAP_TIMER_INT_OVERFLOW); | 44 | omap_dm_timer_write_status(gptimer, OMAP_TIMER_INT_OVERFLOW); |
46 | timer_tick(regs); | 45 | timer_tick(); |
47 | 46 | ||
48 | write_sequnlock(&xtime_lock); | 47 | write_sequnlock(&xtime_lock); |
49 | 48 | ||
diff --git a/arch/arm/mach-pnx4008/dma.c b/arch/arm/mach-pnx4008/dma.c index ec01574f88ac..d6a279e4b524 100644 --- a/arch/arm/mach-pnx4008/dma.c +++ b/arch/arm/mach-pnx4008/dma.c | |||
@@ -32,7 +32,7 @@ | |||
32 | 32 | ||
33 | static struct dma_channel { | 33 | static struct dma_channel { |
34 | char *name; | 34 | char *name; |
35 | void (*irq_handler) (int, int, void *, struct pt_regs *); | 35 | void (*irq_handler) (int, int, void *); |
36 | void *data; | 36 | void *data; |
37 | struct pnx4008_dma_ll *ll; | 37 | struct pnx4008_dma_ll *ll; |
38 | u32 ll_dma; | 38 | u32 ll_dma; |
@@ -150,8 +150,7 @@ static inline void pnx4008_dma_unlock(void) | |||
150 | #define VALID_CHANNEL(c) (((c) >= 0) && ((c) < MAX_DMA_CHANNELS)) | 150 | #define VALID_CHANNEL(c) (((c) >= 0) && ((c) < MAX_DMA_CHANNELS)) |
151 | 151 | ||
152 | int pnx4008_request_channel(char *name, int ch, | 152 | int pnx4008_request_channel(char *name, int ch, |
153 | void (*irq_handler) (int, int, void *, | 153 | void (*irq_handler) (int, int, void *), void *data) |
154 | struct pt_regs *), void *data) | ||
155 | { | 154 | { |
156 | int i, found = 0; | 155 | int i, found = 0; |
157 | 156 | ||
@@ -1033,7 +1032,7 @@ int pnx4008_dma_ch_enabled(int ch) | |||
1033 | 1032 | ||
1034 | EXPORT_SYMBOL_GPL(pnx4008_dma_ch_enabled); | 1033 | EXPORT_SYMBOL_GPL(pnx4008_dma_ch_enabled); |
1035 | 1034 | ||
1036 | static irqreturn_t dma_irq_handler(int irq, void *dev_id, struct pt_regs *regs) | 1035 | static irqreturn_t dma_irq_handler(int irq, void *dev_id) |
1037 | { | 1036 | { |
1038 | int i; | 1037 | int i; |
1039 | unsigned long dint = __raw_readl(DMAC_INT_STAT); | 1038 | unsigned long dint = __raw_readl(DMAC_INT_STAT); |
@@ -1053,8 +1052,7 @@ static irqreturn_t dma_irq_handler(int irq, void *dev_id, struct pt_regs *regs) | |||
1053 | cause |= DMA_ERR_INT; | 1052 | cause |= DMA_ERR_INT; |
1054 | if (tcint & i_bit) | 1053 | if (tcint & i_bit) |
1055 | cause |= DMA_TC_INT; | 1054 | cause |= DMA_TC_INT; |
1056 | channel->irq_handler(i, cause, channel->data, | 1055 | channel->irq_handler(i, cause, channel->data); |
1057 | regs); | ||
1058 | } else { | 1056 | } else { |
1059 | /* | 1057 | /* |
1060 | * IRQ for an unregistered DMA channel | 1058 | * IRQ for an unregistered DMA channel |
diff --git a/arch/arm/mach-pnx4008/time.c b/arch/arm/mach-pnx4008/time.c index b986065cd0f3..8621c206ac84 100644 --- a/arch/arm/mach-pnx4008/time.c +++ b/arch/arm/mach-pnx4008/time.c | |||
@@ -47,15 +47,14 @@ static unsigned long pnx4008_gettimeoffset(void) | |||
47 | /*! | 47 | /*! |
48 | * IRQ handler for the timer | 48 | * IRQ handler for the timer |
49 | */ | 49 | */ |
50 | static irqreturn_t pnx4008_timer_interrupt(int irq, void *dev_id, | 50 | static irqreturn_t pnx4008_timer_interrupt(int irq, void *dev_id) |
51 | struct pt_regs *regs) | ||
52 | { | 51 | { |
53 | if (__raw_readl(HSTIM_INT) & MATCH0_INT) { | 52 | if (__raw_readl(HSTIM_INT) & MATCH0_INT) { |
54 | 53 | ||
55 | write_seqlock(&xtime_lock); | 54 | write_seqlock(&xtime_lock); |
56 | 55 | ||
57 | do { | 56 | do { |
58 | timer_tick(regs); | 57 | timer_tick(); |
59 | 58 | ||
60 | /* | 59 | /* |
61 | * this algorithm takes care of possible delay | 60 | * this algorithm takes care of possible delay |
diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c index 337c01c4ac37..74f8378d7bbc 100644 --- a/arch/arm/mach-pxa/corgi.c +++ b/arch/arm/mach-pxa/corgi.c | |||
@@ -212,7 +212,7 @@ static struct platform_device corgits_device = { | |||
212 | */ | 212 | */ |
213 | static struct pxamci_platform_data corgi_mci_platform_data; | 213 | static struct pxamci_platform_data corgi_mci_platform_data; |
214 | 214 | ||
215 | static int corgi_mci_init(struct device *dev, irqreturn_t (*corgi_detect_int)(int, void *, struct pt_regs *), void *data) | 215 | static int corgi_mci_init(struct device *dev, irqreturn_t (*corgi_detect_int)(int, void *), void *data) |
216 | { | 216 | { |
217 | int err; | 217 | int err; |
218 | 218 | ||
diff --git a/arch/arm/mach-pxa/dma.c b/arch/arm/mach-pxa/dma.c index 7d8c85486c66..4440babe7b97 100644 --- a/arch/arm/mach-pxa/dma.c +++ b/arch/arm/mach-pxa/dma.c | |||
@@ -27,13 +27,13 @@ | |||
27 | 27 | ||
28 | static struct dma_channel { | 28 | static struct dma_channel { |
29 | char *name; | 29 | char *name; |
30 | void (*irq_handler)(int, void *, struct pt_regs *); | 30 | void (*irq_handler)(int, void *); |
31 | void *data; | 31 | void *data; |
32 | } dma_channels[PXA_DMA_CHANNELS]; | 32 | } dma_channels[PXA_DMA_CHANNELS]; |
33 | 33 | ||
34 | 34 | ||
35 | int pxa_request_dma (char *name, pxa_dma_prio prio, | 35 | int pxa_request_dma (char *name, pxa_dma_prio prio, |
36 | void (*irq_handler)(int, void *, struct pt_regs *), | 36 | void (*irq_handler)(int, void *), |
37 | void *data) | 37 | void *data) |
38 | { | 38 | { |
39 | unsigned long flags; | 39 | unsigned long flags; |
@@ -87,7 +87,7 @@ void pxa_free_dma (int dma_ch) | |||
87 | local_irq_restore(flags); | 87 | local_irq_restore(flags); |
88 | } | 88 | } |
89 | 89 | ||
90 | static irqreturn_t dma_irq_handler(int irq, void *dev_id, struct pt_regs *regs) | 90 | static irqreturn_t dma_irq_handler(int irq, void *dev_id) |
91 | { | 91 | { |
92 | int i, dint = DINT; | 92 | int i, dint = DINT; |
93 | 93 | ||
@@ -95,7 +95,7 @@ static irqreturn_t dma_irq_handler(int irq, void *dev_id, struct pt_regs *regs) | |||
95 | if (dint & (1 << i)) { | 95 | if (dint & (1 << i)) { |
96 | struct dma_channel *channel = &dma_channels[i]; | 96 | struct dma_channel *channel = &dma_channels[i]; |
97 | if (channel->name && channel->irq_handler) { | 97 | if (channel->name && channel->irq_handler) { |
98 | channel->irq_handler(i, channel->data, regs); | 98 | channel->irq_handler(i, channel->data); |
99 | } else { | 99 | } else { |
100 | /* | 100 | /* |
101 | * IRQ for an unregistered DMA channel: | 101 | * IRQ for an unregistered DMA channel: |
diff --git a/arch/arm/mach-pxa/idp.c b/arch/arm/mach-pxa/idp.c index 3e4b0ab71c66..a4cb875b748d 100644 --- a/arch/arm/mach-pxa/idp.c +++ b/arch/arm/mach-pxa/idp.c | |||
@@ -125,7 +125,7 @@ static struct pxafb_mach_info sharp_lm8v31 = { | |||
125 | .pxafb_lcd_power = &idp_lcd_power | 125 | .pxafb_lcd_power = &idp_lcd_power |
126 | }; | 126 | }; |
127 | 127 | ||
128 | static int idp_mci_init(struct device *dev, irqreturn_t (*idp_detect_int)(int, void *, struct pt_regs *), void *data) | 128 | static int idp_mci_init(struct device *dev, irqreturn_t (*idp_detect_int)(int, void *), void *data) |
129 | { | 129 | { |
130 | /* setup GPIO for PXA25x MMC controller */ | 130 | /* setup GPIO for PXA25x MMC controller */ |
131 | pxa_gpio_mode(GPIO6_MMCCLK_MD); | 131 | pxa_gpio_mode(GPIO6_MMCCLK_MD); |
diff --git a/arch/arm/mach-pxa/irq.c b/arch/arm/mach-pxa/irq.c index 12141e2a50cc..ab1a16025d51 100644 --- a/arch/arm/mach-pxa/irq.c +++ b/arch/arm/mach-pxa/irq.c | |||
@@ -143,8 +143,7 @@ static struct irq_chip pxa_low_gpio_chip = { | |||
143 | * Demux handler for GPIO>=2 edge detect interrupts | 143 | * Demux handler for GPIO>=2 edge detect interrupts |
144 | */ | 144 | */ |
145 | 145 | ||
146 | static void pxa_gpio_demux_handler(unsigned int irq, struct irqdesc *desc, | 146 | static void pxa_gpio_demux_handler(unsigned int irq, struct irqdesc *desc) |
147 | struct pt_regs *regs) | ||
148 | { | 147 | { |
149 | unsigned int mask; | 148 | unsigned int mask; |
150 | int loop; | 149 | int loop; |
@@ -160,7 +159,7 @@ static void pxa_gpio_demux_handler(unsigned int irq, struct irqdesc *desc, | |||
160 | mask >>= 2; | 159 | mask >>= 2; |
161 | do { | 160 | do { |
162 | if (mask & 1) | 161 | if (mask & 1) |
163 | desc_handle_irq(irq, desc, regs); | 162 | desc_handle_irq(irq, desc); |
164 | irq++; | 163 | irq++; |
165 | desc++; | 164 | desc++; |
166 | mask >>= 1; | 165 | mask >>= 1; |
@@ -175,7 +174,7 @@ static void pxa_gpio_demux_handler(unsigned int irq, struct irqdesc *desc, | |||
175 | desc = irq_desc + irq; | 174 | desc = irq_desc + irq; |
176 | do { | 175 | do { |
177 | if (mask & 1) | 176 | if (mask & 1) |
178 | desc_handle_irq(irq, desc, regs); | 177 | desc_handle_irq(irq, desc); |
179 | irq++; | 178 | irq++; |
180 | desc++; | 179 | desc++; |
181 | mask >>= 1; | 180 | mask >>= 1; |
@@ -190,7 +189,7 @@ static void pxa_gpio_demux_handler(unsigned int irq, struct irqdesc *desc, | |||
190 | desc = irq_desc + irq; | 189 | desc = irq_desc + irq; |
191 | do { | 190 | do { |
192 | if (mask & 1) | 191 | if (mask & 1) |
193 | desc_handle_irq(irq, desc, regs); | 192 | desc_handle_irq(irq, desc); |
194 | irq++; | 193 | irq++; |
195 | desc++; | 194 | desc++; |
196 | mask >>= 1; | 195 | mask >>= 1; |
@@ -206,7 +205,7 @@ static void pxa_gpio_demux_handler(unsigned int irq, struct irqdesc *desc, | |||
206 | desc = irq_desc + irq; | 205 | desc = irq_desc + irq; |
207 | do { | 206 | do { |
208 | if (mask & 1) | 207 | if (mask & 1) |
209 | desc_handle_irq(irq, desc, regs); | 208 | desc_handle_irq(irq, desc); |
210 | irq++; | 209 | irq++; |
211 | desc++; | 210 | desc++; |
212 | mask >>= 1; | 211 | mask >>= 1; |
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c index eff2a91b2565..5749f6b72e12 100644 --- a/arch/arm/mach-pxa/lpd270.c +++ b/arch/arm/mach-pxa/lpd270.c | |||
@@ -75,8 +75,7 @@ static struct irq_chip lpd270_irq_chip = { | |||
75 | .unmask = lpd270_unmask_irq, | 75 | .unmask = lpd270_unmask_irq, |
76 | }; | 76 | }; |
77 | 77 | ||
78 | static void lpd270_irq_handler(unsigned int irq, struct irqdesc *desc, | 78 | static void lpd270_irq_handler(unsigned int irq, struct irqdesc *desc) |
79 | struct pt_regs *regs) | ||
80 | { | 79 | { |
81 | unsigned long pending; | 80 | unsigned long pending; |
82 | 81 | ||
@@ -86,7 +85,7 @@ static void lpd270_irq_handler(unsigned int irq, struct irqdesc *desc, | |||
86 | if (likely(pending)) { | 85 | if (likely(pending)) { |
87 | irq = LPD270_IRQ(0) + __ffs(pending); | 86 | irq = LPD270_IRQ(0) + __ffs(pending); |
88 | desc = irq_desc + irq; | 87 | desc = irq_desc + irq; |
89 | desc_handle_irq(irq, desc, regs); | 88 | desc_handle_irq(irq, desc); |
90 | 89 | ||
91 | pending = __raw_readw(LPD270_INT_STATUS) & | 90 | pending = __raw_readw(LPD270_INT_STATUS) & |
92 | lpd270_irq_enabled; | 91 | lpd270_irq_enabled; |
diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c index 157cf47cbe66..b1e77bd85a33 100644 --- a/arch/arm/mach-pxa/lubbock.c +++ b/arch/arm/mach-pxa/lubbock.c | |||
@@ -85,8 +85,7 @@ static struct irq_chip lubbock_irq_chip = { | |||
85 | .unmask = lubbock_unmask_irq, | 85 | .unmask = lubbock_unmask_irq, |
86 | }; | 86 | }; |
87 | 87 | ||
88 | static void lubbock_irq_handler(unsigned int irq, struct irqdesc *desc, | 88 | static void lubbock_irq_handler(unsigned int irq, struct irqdesc *desc) |
89 | struct pt_regs *regs) | ||
90 | { | 89 | { |
91 | unsigned long pending = LUB_IRQ_SET_CLR & lubbock_irq_enabled; | 90 | unsigned long pending = LUB_IRQ_SET_CLR & lubbock_irq_enabled; |
92 | do { | 91 | do { |
@@ -94,7 +93,7 @@ static void lubbock_irq_handler(unsigned int irq, struct irqdesc *desc, | |||
94 | if (likely(pending)) { | 93 | if (likely(pending)) { |
95 | irq = LUBBOCK_IRQ(0) + __ffs(pending); | 94 | irq = LUBBOCK_IRQ(0) + __ffs(pending); |
96 | desc = irq_desc + irq; | 95 | desc = irq_desc + irq; |
97 | desc_handle_irq(irq, desc, regs); | 96 | desc_handle_irq(irq, desc); |
98 | } | 97 | } |
99 | pending = LUB_IRQ_SET_CLR & lubbock_irq_enabled; | 98 | pending = LUB_IRQ_SET_CLR & lubbock_irq_enabled; |
100 | } while (pending); | 99 | } while (pending); |
@@ -379,7 +378,7 @@ static struct pxafb_mach_info sharp_lm8v31 = { | |||
379 | #define MMC_POLL_RATE msecs_to_jiffies(1000) | 378 | #define MMC_POLL_RATE msecs_to_jiffies(1000) |
380 | 379 | ||
381 | static void lubbock_mmc_poll(unsigned long); | 380 | static void lubbock_mmc_poll(unsigned long); |
382 | static irqreturn_t (*mmc_detect_int)(int, void *, struct pt_regs *); | 381 | static irqreturn_t (*mmc_detect_int)(int, void *); |
383 | 382 | ||
384 | static struct timer_list mmc_timer = { | 383 | static struct timer_list mmc_timer = { |
385 | .function = lubbock_mmc_poll, | 384 | .function = lubbock_mmc_poll, |
@@ -403,17 +402,17 @@ static void lubbock_mmc_poll(unsigned long data) | |||
403 | } | 402 | } |
404 | } | 403 | } |
405 | 404 | ||
406 | static irqreturn_t lubbock_detect_int(int irq, void *data, struct pt_regs *regs) | 405 | static irqreturn_t lubbock_detect_int(int irq, void *data) |
407 | { | 406 | { |
408 | /* IRQ is level triggered; disable, and poll for removal */ | 407 | /* IRQ is level triggered; disable, and poll for removal */ |
409 | disable_irq(irq); | 408 | disable_irq(irq); |
410 | mod_timer(&mmc_timer, jiffies + MMC_POLL_RATE); | 409 | mod_timer(&mmc_timer, jiffies + MMC_POLL_RATE); |
411 | 410 | ||
412 | return mmc_detect_int(irq, data, regs); | 411 | return mmc_detect_int(irq, data); |
413 | } | 412 | } |
414 | 413 | ||
415 | static int lubbock_mci_init(struct device *dev, | 414 | static int lubbock_mci_init(struct device *dev, |
416 | irqreturn_t (*detect_int)(int, void *, struct pt_regs *), | 415 | irqreturn_t (*detect_int)(int, void *), |
417 | void *data) | 416 | void *data) |
418 | { | 417 | { |
419 | /* setup GPIO for PXA25x MMC controller */ | 418 | /* setup GPIO for PXA25x MMC controller */ |
diff --git a/arch/arm/mach-pxa/mainstone.c b/arch/arm/mach-pxa/mainstone.c index 7ba0447d6fa3..8c3019784915 100644 --- a/arch/arm/mach-pxa/mainstone.c +++ b/arch/arm/mach-pxa/mainstone.c | |||
@@ -71,8 +71,7 @@ static struct irq_chip mainstone_irq_chip = { | |||
71 | .unmask = mainstone_unmask_irq, | 71 | .unmask = mainstone_unmask_irq, |
72 | }; | 72 | }; |
73 | 73 | ||
74 | static void mainstone_irq_handler(unsigned int irq, struct irqdesc *desc, | 74 | static void mainstone_irq_handler(unsigned int irq, struct irqdesc *desc) |
75 | struct pt_regs *regs) | ||
76 | { | 75 | { |
77 | unsigned long pending = MST_INTSETCLR & mainstone_irq_enabled; | 76 | unsigned long pending = MST_INTSETCLR & mainstone_irq_enabled; |
78 | do { | 77 | do { |
@@ -80,7 +79,7 @@ static void mainstone_irq_handler(unsigned int irq, struct irqdesc *desc, | |||
80 | if (likely(pending)) { | 79 | if (likely(pending)) { |
81 | irq = MAINSTONE_IRQ(0) + __ffs(pending); | 80 | irq = MAINSTONE_IRQ(0) + __ffs(pending); |
82 | desc = irq_desc + irq; | 81 | desc = irq_desc + irq; |
83 | desc_handle_irq(irq, desc, regs); | 82 | desc_handle_irq(irq, desc); |
84 | } | 83 | } |
85 | pending = MST_INTSETCLR & mainstone_irq_enabled; | 84 | pending = MST_INTSETCLR & mainstone_irq_enabled; |
86 | } while (pending); | 85 | } while (pending); |
@@ -314,7 +313,7 @@ static struct pxafb_mach_info mainstone_pxafb_info = { | |||
314 | .pxafb_backlight_power = mainstone_backlight_power, | 313 | .pxafb_backlight_power = mainstone_backlight_power, |
315 | }; | 314 | }; |
316 | 315 | ||
317 | static int mainstone_mci_init(struct device *dev, irqreturn_t (*mstone_detect_int)(int, void *, struct pt_regs *), void *data) | 316 | static int mainstone_mci_init(struct device *dev, irqreturn_t (*mstone_detect_int)(int, void *), void *data) |
318 | { | 317 | { |
319 | int err; | 318 | int err; |
320 | 319 | ||
diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c index 5e8c098ca139..9052a971c8ac 100644 --- a/arch/arm/mach-pxa/poodle.c +++ b/arch/arm/mach-pxa/poodle.c | |||
@@ -197,7 +197,7 @@ static struct platform_device poodle_ts_device = { | |||
197 | */ | 197 | */ |
198 | static struct pxamci_platform_data poodle_mci_platform_data; | 198 | static struct pxamci_platform_data poodle_mci_platform_data; |
199 | 199 | ||
200 | static int poodle_mci_init(struct device *dev, irqreturn_t (*poodle_detect_int)(int, void *, struct pt_regs *), void *data) | 200 | static int poodle_mci_init(struct device *dev, irqreturn_t (*poodle_detect_int)(int, void *), void *data) |
201 | { | 201 | { |
202 | int err; | 202 | int err; |
203 | 203 | ||
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 401cdb850fbc..911452dd0b45 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c | |||
@@ -291,7 +291,7 @@ static struct platform_device spitzts_device = { | |||
291 | 291 | ||
292 | static struct pxamci_platform_data spitz_mci_platform_data; | 292 | static struct pxamci_platform_data spitz_mci_platform_data; |
293 | 293 | ||
294 | static int spitz_mci_init(struct device *dev, irqreturn_t (*spitz_detect_int)(int, void *, struct pt_regs *), void *data) | 294 | static int spitz_mci_init(struct device *dev, irqreturn_t (*spitz_detect_int)(int, void *), void *data) |
295 | { | 295 | { |
296 | int err; | 296 | int err; |
297 | 297 | ||
diff --git a/arch/arm/mach-pxa/ssp.c b/arch/arm/mach-pxa/ssp.c index 1fddfeaa630d..6cc202755fb4 100644 --- a/arch/arm/mach-pxa/ssp.c +++ b/arch/arm/mach-pxa/ssp.c | |||
@@ -65,7 +65,7 @@ static const struct ssp_info_ ssp_info[PXA_SSP_PORTS] = { | |||
65 | static DEFINE_MUTEX(mutex); | 65 | static DEFINE_MUTEX(mutex); |
66 | static int use_count[PXA_SSP_PORTS] = {0, 0, 0}; | 66 | static int use_count[PXA_SSP_PORTS] = {0, 0, 0}; |
67 | 67 | ||
68 | static irqreturn_t ssp_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 68 | static irqreturn_t ssp_interrupt(int irq, void *dev_id) |
69 | { | 69 | { |
70 | struct ssp_dev *dev = (struct ssp_dev*) dev_id; | 70 | struct ssp_dev *dev = (struct ssp_dev*) dev_id; |
71 | unsigned int status = SSSR_P(dev->port); | 71 | unsigned int status = SSSR_P(dev->port); |
diff --git a/arch/arm/mach-pxa/time.c b/arch/arm/mach-pxa/time.c index 5dbd191c57c4..3ac268fa419b 100644 --- a/arch/arm/mach-pxa/time.c +++ b/arch/arm/mach-pxa/time.c | |||
@@ -75,7 +75,7 @@ static int match_posponed; | |||
75 | #endif | 75 | #endif |
76 | 76 | ||
77 | static irqreturn_t | 77 | static irqreturn_t |
78 | pxa_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 78 | pxa_timer_interrupt(int irq, void *dev_id) |
79 | { | 79 | { |
80 | int next_match; | 80 | int next_match; |
81 | 81 | ||
@@ -105,7 +105,7 @@ pxa_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
105 | * exactly one tick period which should be a pretty rare event. | 105 | * exactly one tick period which should be a pretty rare event. |
106 | */ | 106 | */ |
107 | do { | 107 | do { |
108 | timer_tick(regs); | 108 | timer_tick(); |
109 | OSSR = OSSR_M0; /* Clear match on timer 0 */ | 109 | OSSR = OSSR_M0; /* Clear match on timer 0 */ |
110 | next_match = (OSMR0 += LATCH); | 110 | next_match = (OSMR0 += LATCH); |
111 | } while( (signed long)(next_match - OSCR) <= 8 ); | 111 | } while( (signed long)(next_match - OSCR) <= 8 ); |
@@ -157,13 +157,13 @@ static void pxa_dyn_tick_reprogram(unsigned long ticks) | |||
157 | } | 157 | } |
158 | 158 | ||
159 | static irqreturn_t | 159 | static irqreturn_t |
160 | pxa_dyn_tick_handler(int irq, void *dev_id, struct pt_regs *regs) | 160 | pxa_dyn_tick_handler(int irq, void *dev_id) |
161 | { | 161 | { |
162 | if (match_posponed) { | 162 | if (match_posponed) { |
163 | match_posponed = 0; | 163 | match_posponed = 0; |
164 | OSMR0 = initial_match; | 164 | OSMR0 = initial_match; |
165 | if ( (signed long)(initial_match - OSCR) <= 8 ) | 165 | if ( (signed long)(initial_match - OSCR) <= 8 ) |
166 | return pxa_timer_interrupt(irq, dev_id, regs); | 166 | return pxa_timer_interrupt(irq, dev_id); |
167 | } | 167 | } |
168 | return IRQ_NONE; | 168 | return IRQ_NONE; |
169 | } | 169 | } |
diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c index 249353616aba..17e46c1060bd 100644 --- a/arch/arm/mach-pxa/tosa.c +++ b/arch/arm/mach-pxa/tosa.c | |||
@@ -174,7 +174,7 @@ static struct pxa2xx_udc_mach_info udc_info __initdata = { | |||
174 | */ | 174 | */ |
175 | static struct pxamci_platform_data tosa_mci_platform_data; | 175 | static struct pxamci_platform_data tosa_mci_platform_data; |
176 | 176 | ||
177 | static int tosa_mci_init(struct device *dev, irqreturn_t (*tosa_detect_int)(int, void *, struct pt_regs *), void *data) | 177 | static int tosa_mci_init(struct device *dev, irqreturn_t (*tosa_detect_int)(int, void *), void *data) |
178 | { | 178 | { |
179 | int err; | 179 | int err; |
180 | 180 | ||
diff --git a/arch/arm/mach-pxa/trizeps4.c b/arch/arm/mach-pxa/trizeps4.c index 910571e9a190..a2c05a840a2f 100644 --- a/arch/arm/mach-pxa/trizeps4.c +++ b/arch/arm/mach-pxa/trizeps4.c | |||
@@ -270,7 +270,7 @@ void board_pcmcia_power(int power) {;} | |||
270 | #endif /* CONFIG_MACH_TRIZEPS4_CONXS */ | 270 | #endif /* CONFIG_MACH_TRIZEPS4_CONXS */ |
271 | EXPORT_SYMBOL(board_pcmcia_power); | 271 | EXPORT_SYMBOL(board_pcmcia_power); |
272 | 272 | ||
273 | static int trizeps4_mci_init(struct device *dev, irqreturn_t (*mci_detect_int)(int, void *, struct pt_regs *), void *data) | 273 | static int trizeps4_mci_init(struct device *dev, irqreturn_t (*mci_detect_int)(int, void *), void *data) |
274 | { | 274 | { |
275 | int err; | 275 | int err; |
276 | /* setup GPIO for PXA27x MMC controller */ | 276 | /* setup GPIO for PXA27x MMC controller */ |
diff --git a/arch/arm/mach-realview/core.c b/arch/arm/mach-realview/core.c index da0286973823..68c67053f479 100644 --- a/arch/arm/mach-realview/core.c +++ b/arch/arm/mach-realview/core.c | |||
@@ -515,18 +515,18 @@ static unsigned long realview_gettimeoffset(void) | |||
515 | /* | 515 | /* |
516 | * IRQ handler for the timer | 516 | * IRQ handler for the timer |
517 | */ | 517 | */ |
518 | static irqreturn_t realview_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 518 | static irqreturn_t realview_timer_interrupt(int irq, void *dev_id) |
519 | { | 519 | { |
520 | write_seqlock(&xtime_lock); | 520 | write_seqlock(&xtime_lock); |
521 | 521 | ||
522 | // ...clear the interrupt | 522 | // ...clear the interrupt |
523 | writel(1, TIMER0_VA_BASE + TIMER_INTCLR); | 523 | writel(1, TIMER0_VA_BASE + TIMER_INTCLR); |
524 | 524 | ||
525 | timer_tick(regs); | 525 | timer_tick(); |
526 | 526 | ||
527 | #if defined(CONFIG_SMP) && !defined(CONFIG_LOCAL_TIMERS) | 527 | #if defined(CONFIG_SMP) && !defined(CONFIG_LOCAL_TIMERS) |
528 | smp_send_timer(); | 528 | smp_send_timer(); |
529 | update_process_times(user_mode(regs)); | 529 | update_process_times(user_mode(get_irq_regs())); |
530 | #endif | 530 | #endif |
531 | 531 | ||
532 | write_sequnlock(&xtime_lock); | 532 | write_sequnlock(&xtime_lock); |
diff --git a/arch/arm/mach-rpc/dma.c b/arch/arm/mach-rpc/dma.c index ac511d41d4d7..596379a4cf82 100644 --- a/arch/arm/mach-rpc/dma.c +++ b/arch/arm/mach-rpc/dma.c | |||
@@ -83,7 +83,7 @@ static void iomd_get_next_sg(struct scatterlist *sg, dma_t *dma) | |||
83 | sg->length |= flags; | 83 | sg->length |= flags; |
84 | } | 84 | } |
85 | 85 | ||
86 | static irqreturn_t iomd_dma_handle(int irq, void *dev_id, struct pt_regs *regs) | 86 | static irqreturn_t iomd_dma_handle(int irq, void *dev_id) |
87 | { | 87 | { |
88 | dma_t *dma = (dma_t *)dev_id; | 88 | dma_t *dma = (dma_t *)dev_id; |
89 | unsigned long base = dma->dma_base; | 89 | unsigned long base = dma->dma_base; |
diff --git a/arch/arm/mach-s3c2410/bast-irq.c b/arch/arm/mach-s3c2410/bast-irq.c index 440e9aa0211a..23d5beea5568 100644 --- a/arch/arm/mach-s3c2410/bast-irq.c +++ b/arch/arm/mach-s3c2410/bast-irq.c | |||
@@ -112,8 +112,7 @@ static struct irqchip bast_pc104_chip = { | |||
112 | 112 | ||
113 | static void | 113 | static void |
114 | bast_irq_pc104_demux(unsigned int irq, | 114 | bast_irq_pc104_demux(unsigned int irq, |
115 | struct irqdesc *desc, | 115 | struct irqdesc *desc) |
116 | struct pt_regs *regs) | ||
117 | { | 116 | { |
118 | unsigned int stat; | 117 | unsigned int stat; |
119 | unsigned int irqno; | 118 | unsigned int irqno; |
@@ -133,7 +132,7 @@ bast_irq_pc104_demux(unsigned int irq, | |||
133 | if (stat & 1) { | 132 | if (stat & 1) { |
134 | irqno = bast_pc104_irqs[i]; | 133 | irqno = bast_pc104_irqs[i]; |
135 | desc = irq_desc + irqno; | 134 | desc = irq_desc + irqno; |
136 | desc_handle_irq(irqno, desc, regs); | 135 | desc_handle_irq(irqno, desc); |
137 | } | 136 | } |
138 | } | 137 | } |
139 | } | 138 | } |
diff --git a/arch/arm/mach-s3c2410/dma.c b/arch/arm/mach-s3c2410/dma.c index d264bbbd8bef..3d211dc2f2f9 100644 --- a/arch/arm/mach-s3c2410/dma.c +++ b/arch/arm/mach-s3c2410/dma.c | |||
@@ -595,7 +595,7 @@ s3c2410_dma_lastxfer(struct s3c2410_dma_chan *chan) | |||
595 | #define dmadbg2(x...) | 595 | #define dmadbg2(x...) |
596 | 596 | ||
597 | static irqreturn_t | 597 | static irqreturn_t |
598 | s3c2410_dma_irq(int irq, void *devpw, struct pt_regs *regs) | 598 | s3c2410_dma_irq(int irq, void *devpw) |
599 | { | 599 | { |
600 | struct s3c2410_dma_chan *chan = (struct s3c2410_dma_chan *)devpw; | 600 | struct s3c2410_dma_chan *chan = (struct s3c2410_dma_chan *)devpw; |
601 | struct s3c2410_dma_buf *buf; | 601 | struct s3c2410_dma_buf *buf; |
diff --git a/arch/arm/mach-s3c2410/irq.c b/arch/arm/mach-s3c2410/irq.c index 3e9f3462c61b..683b3491ba3c 100644 --- a/arch/arm/mach-s3c2410/irq.c +++ b/arch/arm/mach-s3c2410/irq.c | |||
@@ -480,8 +480,7 @@ static struct irqchip s3c_irq_adc = { | |||
480 | 480 | ||
481 | /* irq demux for adc */ | 481 | /* irq demux for adc */ |
482 | static void s3c_irq_demux_adc(unsigned int irq, | 482 | static void s3c_irq_demux_adc(unsigned int irq, |
483 | struct irqdesc *desc, | 483 | struct irqdesc *desc) |
484 | struct pt_regs *regs) | ||
485 | { | 484 | { |
486 | unsigned int subsrc, submsk; | 485 | unsigned int subsrc, submsk; |
487 | unsigned int offset = 9; | 486 | unsigned int offset = 9; |
@@ -500,17 +499,16 @@ static void s3c_irq_demux_adc(unsigned int irq, | |||
500 | if (subsrc != 0) { | 499 | if (subsrc != 0) { |
501 | if (subsrc & 1) { | 500 | if (subsrc & 1) { |
502 | mydesc = irq_desc + IRQ_TC; | 501 | mydesc = irq_desc + IRQ_TC; |
503 | desc_handle_irq(IRQ_TC, mydesc, regs); | 502 | desc_handle_irq(IRQ_TC, mydesc); |
504 | } | 503 | } |
505 | if (subsrc & 2) { | 504 | if (subsrc & 2) { |
506 | mydesc = irq_desc + IRQ_ADC; | 505 | mydesc = irq_desc + IRQ_ADC; |
507 | desc_handle_irq(IRQ_ADC, mydesc, regs); | 506 | desc_handle_irq(IRQ_ADC, mydesc); |
508 | } | 507 | } |
509 | } | 508 | } |
510 | } | 509 | } |
511 | 510 | ||
512 | static void s3c_irq_demux_uart(unsigned int start, | 511 | static void s3c_irq_demux_uart(unsigned int start) |
513 | struct pt_regs *regs) | ||
514 | { | 512 | { |
515 | unsigned int subsrc, submsk; | 513 | unsigned int subsrc, submsk; |
516 | unsigned int offset = start - IRQ_S3CUART_RX0; | 514 | unsigned int offset = start - IRQ_S3CUART_RX0; |
@@ -533,17 +531,17 @@ static void s3c_irq_demux_uart(unsigned int start, | |||
533 | desc = irq_desc + start; | 531 | desc = irq_desc + start; |
534 | 532 | ||
535 | if (subsrc & 1) | 533 | if (subsrc & 1) |
536 | desc_handle_irq(start, desc, regs); | 534 | desc_handle_irq(start, desc); |
537 | 535 | ||
538 | desc++; | 536 | desc++; |
539 | 537 | ||
540 | if (subsrc & 2) | 538 | if (subsrc & 2) |
541 | desc_handle_irq(start+1, desc, regs); | 539 | desc_handle_irq(start+1, desc); |
542 | 540 | ||
543 | desc++; | 541 | desc++; |
544 | 542 | ||
545 | if (subsrc & 4) | 543 | if (subsrc & 4) |
546 | desc_handle_irq(start+2, desc, regs); | 544 | desc_handle_irq(start+2, desc); |
547 | } | 545 | } |
548 | } | 546 | } |
549 | 547 | ||
@@ -551,35 +549,31 @@ static void s3c_irq_demux_uart(unsigned int start, | |||
551 | 549 | ||
552 | static void | 550 | static void |
553 | s3c_irq_demux_uart0(unsigned int irq, | 551 | s3c_irq_demux_uart0(unsigned int irq, |
554 | struct irqdesc *desc, | 552 | struct irqdesc *desc) |
555 | struct pt_regs *regs) | ||
556 | { | 553 | { |
557 | irq = irq; | 554 | irq = irq; |
558 | s3c_irq_demux_uart(IRQ_S3CUART_RX0, regs); | 555 | s3c_irq_demux_uart(IRQ_S3CUART_RX0); |
559 | } | 556 | } |
560 | 557 | ||
561 | static void | 558 | static void |
562 | s3c_irq_demux_uart1(unsigned int irq, | 559 | s3c_irq_demux_uart1(unsigned int irq, |
563 | struct irqdesc *desc, | 560 | struct irqdesc *desc) |
564 | struct pt_regs *regs) | ||
565 | { | 561 | { |
566 | irq = irq; | 562 | irq = irq; |
567 | s3c_irq_demux_uart(IRQ_S3CUART_RX1, regs); | 563 | s3c_irq_demux_uart(IRQ_S3CUART_RX1); |
568 | } | 564 | } |
569 | 565 | ||
570 | static void | 566 | static void |
571 | s3c_irq_demux_uart2(unsigned int irq, | 567 | s3c_irq_demux_uart2(unsigned int irq, |
572 | struct irqdesc *desc, | 568 | struct irqdesc *desc) |
573 | struct pt_regs *regs) | ||
574 | { | 569 | { |
575 | irq = irq; | 570 | irq = irq; |
576 | s3c_irq_demux_uart(IRQ_S3CUART_RX2, regs); | 571 | s3c_irq_demux_uart(IRQ_S3CUART_RX2); |
577 | } | 572 | } |
578 | 573 | ||
579 | static void | 574 | static void |
580 | s3c_irq_demux_extint8(unsigned int irq, | 575 | s3c_irq_demux_extint8(unsigned int irq, |
581 | struct irqdesc *desc, | 576 | struct irqdesc *desc) |
582 | struct pt_regs *regs) | ||
583 | { | 577 | { |
584 | unsigned long eintpnd = __raw_readl(S3C24XX_EINTPEND); | 578 | unsigned long eintpnd = __raw_readl(S3C24XX_EINTPEND); |
585 | unsigned long eintmsk = __raw_readl(S3C24XX_EINTMASK); | 579 | unsigned long eintmsk = __raw_readl(S3C24XX_EINTMASK); |
@@ -594,15 +588,14 @@ s3c_irq_demux_extint8(unsigned int irq, | |||
594 | eintpnd &= ~(1<<irq); | 588 | eintpnd &= ~(1<<irq); |
595 | 589 | ||
596 | irq += (IRQ_EINT4 - 4); | 590 | irq += (IRQ_EINT4 - 4); |
597 | desc_handle_irq(irq, irq_desc + irq, regs); | 591 | desc_handle_irq(irq, irq_desc + irq); |
598 | } | 592 | } |
599 | 593 | ||
600 | } | 594 | } |
601 | 595 | ||
602 | static void | 596 | static void |
603 | s3c_irq_demux_extint4t7(unsigned int irq, | 597 | s3c_irq_demux_extint4t7(unsigned int irq, |
604 | struct irqdesc *desc, | 598 | struct irqdesc *desc) |
605 | struct pt_regs *regs) | ||
606 | { | 599 | { |
607 | unsigned long eintpnd = __raw_readl(S3C24XX_EINTPEND); | 600 | unsigned long eintpnd = __raw_readl(S3C24XX_EINTPEND); |
608 | unsigned long eintmsk = __raw_readl(S3C24XX_EINTMASK); | 601 | unsigned long eintmsk = __raw_readl(S3C24XX_EINTMASK); |
@@ -618,7 +611,7 @@ s3c_irq_demux_extint4t7(unsigned int irq, | |||
618 | 611 | ||
619 | irq += (IRQ_EINT4 - 4); | 612 | irq += (IRQ_EINT4 - 4); |
620 | 613 | ||
621 | desc_handle_irq(irq, irq_desc + irq, regs); | 614 | desc_handle_irq(irq, irq_desc + irq); |
622 | } | 615 | } |
623 | } | 616 | } |
624 | 617 | ||
diff --git a/arch/arm/mach-s3c2410/mach-amlm5900.c b/arch/arm/mach-s3c2410/mach-amlm5900.c index ba5109af40b4..817e2c684410 100644 --- a/arch/arm/mach-s3c2410/mach-amlm5900.c +++ b/arch/arm/mach-s3c2410/mach-amlm5900.c | |||
@@ -226,7 +226,7 @@ static struct s3c2410fb_mach_info __initdata amlm5900_lcd_info = { | |||
226 | #endif | 226 | #endif |
227 | 227 | ||
228 | static irqreturn_t | 228 | static irqreturn_t |
229 | amlm5900_wake_interrupt(int irq, void *ignored, struct pt_regs *regs) | 229 | amlm5900_wake_interrupt(int irq, void *ignored) |
230 | { | 230 | { |
231 | return IRQ_HANDLED; | 231 | return IRQ_HANDLED; |
232 | } | 232 | } |
diff --git a/arch/arm/mach-s3c2410/s3c2440-irq.c b/arch/arm/mach-s3c2410/s3c2440-irq.c index fc08febe2e54..39db0752d53b 100644 --- a/arch/arm/mach-s3c2410/s3c2440-irq.c +++ b/arch/arm/mach-s3c2410/s3c2440-irq.c | |||
@@ -42,8 +42,7 @@ | |||
42 | /* WDT/AC97 */ | 42 | /* WDT/AC97 */ |
43 | 43 | ||
44 | static void s3c_irq_demux_wdtac97(unsigned int irq, | 44 | static void s3c_irq_demux_wdtac97(unsigned int irq, |
45 | struct irqdesc *desc, | 45 | struct irqdesc *desc) |
46 | struct pt_regs *regs) | ||
47 | { | 46 | { |
48 | unsigned int subsrc, submsk; | 47 | unsigned int subsrc, submsk; |
49 | struct irqdesc *mydesc; | 48 | struct irqdesc *mydesc; |
@@ -61,11 +60,11 @@ static void s3c_irq_demux_wdtac97(unsigned int irq, | |||
61 | if (subsrc != 0) { | 60 | if (subsrc != 0) { |
62 | if (subsrc & 1) { | 61 | if (subsrc & 1) { |
63 | mydesc = irq_desc + IRQ_S3C2440_WDT; | 62 | mydesc = irq_desc + IRQ_S3C2440_WDT; |
64 | desc_handle_irq(IRQ_S3C2440_WDT, mydesc, regs); | 63 | desc_handle_irq(IRQ_S3C2440_WDT, mydesc); |
65 | } | 64 | } |
66 | if (subsrc & 2) { | 65 | if (subsrc & 2) { |
67 | mydesc = irq_desc + IRQ_S3C2440_AC97; | 66 | mydesc = irq_desc + IRQ_S3C2440_AC97; |
68 | desc_handle_irq(IRQ_S3C2440_AC97, mydesc, regs); | 67 | desc_handle_irq(IRQ_S3C2440_AC97, mydesc); |
69 | } | 68 | } |
70 | } | 69 | } |
71 | } | 70 | } |
diff --git a/arch/arm/mach-s3c2410/s3c244x-irq.c b/arch/arm/mach-s3c2410/s3c244x-irq.c index ec702f88b299..146f2109dd90 100644 --- a/arch/arm/mach-s3c2410/s3c244x-irq.c +++ b/arch/arm/mach-s3c2410/s3c244x-irq.c | |||
@@ -42,8 +42,7 @@ | |||
42 | /* camera irq */ | 42 | /* camera irq */ |
43 | 43 | ||
44 | static void s3c_irq_demux_cam(unsigned int irq, | 44 | static void s3c_irq_demux_cam(unsigned int irq, |
45 | struct irqdesc *desc, | 45 | struct irqdesc *desc) |
46 | struct pt_regs *regs) | ||
47 | { | 46 | { |
48 | unsigned int subsrc, submsk; | 47 | unsigned int subsrc, submsk; |
49 | struct irqdesc *mydesc; | 48 | struct irqdesc *mydesc; |
@@ -61,11 +60,11 @@ static void s3c_irq_demux_cam(unsigned int irq, | |||
61 | if (subsrc != 0) { | 60 | if (subsrc != 0) { |
62 | if (subsrc & 1) { | 61 | if (subsrc & 1) { |
63 | mydesc = irq_desc + IRQ_S3C2440_CAM_C; | 62 | mydesc = irq_desc + IRQ_S3C2440_CAM_C; |
64 | desc_handle_irq(IRQ_S3C2440_CAM_C, mydesc, regs); | 63 | desc_handle_irq(IRQ_S3C2440_CAM_C, mydesc); |
65 | } | 64 | } |
66 | if (subsrc & 2) { | 65 | if (subsrc & 2) { |
67 | mydesc = irq_desc + IRQ_S3C2440_CAM_P; | 66 | mydesc = irq_desc + IRQ_S3C2440_CAM_P; |
68 | desc_handle_irq(IRQ_S3C2440_CAM_P, mydesc, regs); | 67 | desc_handle_irq(IRQ_S3C2440_CAM_P, mydesc); |
69 | } | 68 | } |
70 | } | 69 | } |
71 | } | 70 | } |
diff --git a/arch/arm/mach-s3c2410/time.c b/arch/arm/mach-s3c2410/time.c index 00d1cfca9712..9910bf0f2cea 100644 --- a/arch/arm/mach-s3c2410/time.c +++ b/arch/arm/mach-s3c2410/time.c | |||
@@ -128,10 +128,10 @@ static unsigned long s3c2410_gettimeoffset (void) | |||
128 | * IRQ handler for the timer | 128 | * IRQ handler for the timer |
129 | */ | 129 | */ |
130 | static irqreturn_t | 130 | static irqreturn_t |
131 | s3c2410_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 131 | s3c2410_timer_interrupt(int irq, void *dev_id) |
132 | { | 132 | { |
133 | write_seqlock(&xtime_lock); | 133 | write_seqlock(&xtime_lock); |
134 | timer_tick(regs); | 134 | timer_tick(); |
135 | write_sequnlock(&xtime_lock); | 135 | write_sequnlock(&xtime_lock); |
136 | return IRQ_HANDLED; | 136 | return IRQ_HANDLED; |
137 | } | 137 | } |
diff --git a/arch/arm/mach-s3c2410/usb-simtec.c b/arch/arm/mach-s3c2410/usb-simtec.c index c635efa7cd31..22b0e1cdd4bf 100644 --- a/arch/arm/mach-s3c2410/usb-simtec.c +++ b/arch/arm/mach-s3c2410/usb-simtec.c | |||
@@ -58,7 +58,7 @@ usb_simtec_powercontrol(int port, int to) | |||
58 | } | 58 | } |
59 | 59 | ||
60 | static irqreturn_t | 60 | static irqreturn_t |
61 | usb_simtec_ocirq(int irq, void *pw, struct pt_regs *regs) | 61 | usb_simtec_ocirq(int irq, void *pw) |
62 | { | 62 | { |
63 | struct s3c2410_hcd_info *info = (struct s3c2410_hcd_info *)pw; | 63 | struct s3c2410_hcd_info *info = (struct s3c2410_hcd_info *)pw; |
64 | 64 | ||
diff --git a/arch/arm/mach-sa1100/dma.c b/arch/arm/mach-sa1100/dma.c index 2ea2a657a034..1fbe053e8b59 100644 --- a/arch/arm/mach-sa1100/dma.c +++ b/arch/arm/mach-sa1100/dma.c | |||
@@ -42,7 +42,7 @@ static sa1100_dma_t dma_chan[SA1100_DMA_CHANNELS]; | |||
42 | static spinlock_t dma_list_lock; | 42 | static spinlock_t dma_list_lock; |
43 | 43 | ||
44 | 44 | ||
45 | static irqreturn_t dma_irq_handler(int irq, void *dev_id, struct pt_regs *regs) | 45 | static irqreturn_t dma_irq_handler(int irq, void *dev_id) |
46 | { | 46 | { |
47 | dma_regs_t *dma_regs = dev_id; | 47 | dma_regs_t *dma_regs = dev_id; |
48 | sa1100_dma_t *dma = dma_chan + (((u_int)dma_regs >> 5) & 7); | 48 | sa1100_dma_t *dma = dma_chan + (((u_int)dma_regs >> 5) & 7); |
diff --git a/arch/arm/mach-sa1100/h3600.c b/arch/arm/mach-sa1100/h3600.c index 7364478cec12..fa6dc71bd6ad 100644 --- a/arch/arm/mach-sa1100/h3600.c +++ b/arch/arm/mach-sa1100/h3600.c | |||
@@ -702,7 +702,7 @@ static u32 gpio_irq_mask[] = { | |||
702 | GPIO2_SD_CON_SLT, | 702 | GPIO2_SD_CON_SLT, |
703 | }; | 703 | }; |
704 | 704 | ||
705 | static void h3800_IRQ_demux(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) | 705 | static void h3800_IRQ_demux(unsigned int irq, struct irqdesc *desc) |
706 | { | 706 | { |
707 | int i; | 707 | int i; |
708 | 708 | ||
@@ -719,14 +719,14 @@ static void h3800_IRQ_demux(unsigned int irq, struct irqdesc *desc, struct pt_re | |||
719 | if (0) printk("%s KPIO 0x%08X\n", __FUNCTION__, irq); | 719 | if (0) printk("%s KPIO 0x%08X\n", __FUNCTION__, irq); |
720 | for (j = 0; j < H3800_KPIO_IRQ_COUNT; j++) | 720 | for (j = 0; j < H3800_KPIO_IRQ_COUNT; j++) |
721 | if (irq & kpio_irq_mask[j]) | 721 | if (irq & kpio_irq_mask[j]) |
722 | do_edge_IRQ(H3800_KPIO_IRQ_COUNT + j, irq_desc + H3800_KPIO_IRQ_COUNT + j, regs); | 722 | do_edge_IRQ(H3800_KPIO_IRQ_COUNT + j, irq_desc + H3800_KPIO_IRQ_COUNT + j); |
723 | 723 | ||
724 | /* GPIO2 */ | 724 | /* GPIO2 */ |
725 | irq = H3800_ASIC2_GPIINTFLAG; | 725 | irq = H3800_ASIC2_GPIINTFLAG; |
726 | if (0) printk("%s GPIO 0x%08X\n", __FUNCTION__, irq); | 726 | if (0) printk("%s GPIO 0x%08X\n", __FUNCTION__, irq); |
727 | for (j = 0; j < H3800_GPIO_IRQ_COUNT; j++) | 727 | for (j = 0; j < H3800_GPIO_IRQ_COUNT; j++) |
728 | if (irq & gpio_irq_mask[j]) | 728 | if (irq & gpio_irq_mask[j]) |
729 | do_edge_IRQ(H3800_GPIO_IRQ_COUNT + j, irq_desc + H3800_GPIO_IRQ_COUNT + j , regs); | 729 | do_edge_IRQ(H3800_GPIO_IRQ_COUNT + j, irq_desc + H3800_GPIO_IRQ_COUNT + j); |
730 | } | 730 | } |
731 | 731 | ||
732 | if (i >= MAX_ASIC_ISR_LOOPS) | 732 | if (i >= MAX_ASIC_ISR_LOOPS) |
diff --git a/arch/arm/mach-sa1100/irq.c b/arch/arm/mach-sa1100/irq.c index b55b90a2e8fe..f4c6322ca33e 100644 --- a/arch/arm/mach-sa1100/irq.c +++ b/arch/arm/mach-sa1100/irq.c | |||
@@ -110,8 +110,7 @@ static struct irq_chip sa1100_low_gpio_chip = { | |||
110 | * and call the handler. | 110 | * and call the handler. |
111 | */ | 111 | */ |
112 | static void | 112 | static void |
113 | sa1100_high_gpio_handler(unsigned int irq, struct irqdesc *desc, | 113 | sa1100_high_gpio_handler(unsigned int irq, struct irqdesc *desc) |
114 | struct pt_regs *regs) | ||
115 | { | 114 | { |
116 | unsigned int mask; | 115 | unsigned int mask; |
117 | 116 | ||
@@ -128,7 +127,7 @@ sa1100_high_gpio_handler(unsigned int irq, struct irqdesc *desc, | |||
128 | mask >>= 11; | 127 | mask >>= 11; |
129 | do { | 128 | do { |
130 | if (mask & 1) | 129 | if (mask & 1) |
131 | desc_handle_irq(irq, desc, regs); | 130 | desc_handle_irq(irq, desc); |
132 | mask >>= 1; | 131 | mask >>= 1; |
133 | irq++; | 132 | irq++; |
134 | desc++; | 133 | desc++; |
diff --git a/arch/arm/mach-sa1100/neponset.c b/arch/arm/mach-sa1100/neponset.c index af6d2775cf82..354d5e91da59 100644 --- a/arch/arm/mach-sa1100/neponset.c +++ b/arch/arm/mach-sa1100/neponset.c | |||
@@ -29,7 +29,7 @@ | |||
29 | * is rather unfortunate. | 29 | * is rather unfortunate. |
30 | */ | 30 | */ |
31 | static void | 31 | static void |
32 | neponset_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) | 32 | neponset_irq_handler(unsigned int irq, struct irqdesc *desc) |
33 | { | 33 | { |
34 | unsigned int irr; | 34 | unsigned int irr; |
35 | 35 | ||
@@ -69,12 +69,12 @@ neponset_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *reg | |||
69 | 69 | ||
70 | if (irr & IRR_ETHERNET) { | 70 | if (irr & IRR_ETHERNET) { |
71 | d = irq_desc + IRQ_NEPONSET_SMC9196; | 71 | d = irq_desc + IRQ_NEPONSET_SMC9196; |
72 | desc_handle_irq(IRQ_NEPONSET_SMC9196, d, regs); | 72 | desc_handle_irq(IRQ_NEPONSET_SMC9196, d); |
73 | } | 73 | } |
74 | 74 | ||
75 | if (irr & IRR_USAR) { | 75 | if (irr & IRR_USAR) { |
76 | d = irq_desc + IRQ_NEPONSET_USAR; | 76 | d = irq_desc + IRQ_NEPONSET_USAR; |
77 | desc_handle_irq(IRQ_NEPONSET_USAR, d, regs); | 77 | desc_handle_irq(IRQ_NEPONSET_USAR, d); |
78 | } | 78 | } |
79 | 79 | ||
80 | desc->chip->unmask(irq); | 80 | desc->chip->unmask(irq); |
@@ -82,7 +82,7 @@ neponset_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *reg | |||
82 | 82 | ||
83 | if (irr & IRR_SA1111) { | 83 | if (irr & IRR_SA1111) { |
84 | d = irq_desc + IRQ_NEPONSET_SA1111; | 84 | d = irq_desc + IRQ_NEPONSET_SA1111; |
85 | desc_handle_irq(IRQ_NEPONSET_SA1111, d, regs); | 85 | desc_handle_irq(IRQ_NEPONSET_SA1111, d); |
86 | } | 86 | } |
87 | } | 87 | } |
88 | } | 88 | } |
diff --git a/arch/arm/mach-sa1100/ssp.c b/arch/arm/mach-sa1100/ssp.c index 5eba5fbbb561..59703c6fb29b 100644 --- a/arch/arm/mach-sa1100/ssp.c +++ b/arch/arm/mach-sa1100/ssp.c | |||
@@ -25,7 +25,7 @@ | |||
25 | 25 | ||
26 | #define TIMEOUT 100000 | 26 | #define TIMEOUT 100000 |
27 | 27 | ||
28 | static irqreturn_t ssp_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 28 | static irqreturn_t ssp_interrupt(int irq, void *dev_id) |
29 | { | 29 | { |
30 | unsigned int status = Ser4SSSR; | 30 | unsigned int status = Ser4SSSR; |
31 | 31 | ||
diff --git a/arch/arm/mach-sa1100/time.c b/arch/arm/mach-sa1100/time.c index 49ae716e16c2..4284bd6f7a1f 100644 --- a/arch/arm/mach-sa1100/time.c +++ b/arch/arm/mach-sa1100/time.c | |||
@@ -77,7 +77,7 @@ static int match_posponed; | |||
77 | #endif | 77 | #endif |
78 | 78 | ||
79 | static irqreturn_t | 79 | static irqreturn_t |
80 | sa1100_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 80 | sa1100_timer_interrupt(int irq, void *dev_id) |
81 | { | 81 | { |
82 | unsigned int next_match; | 82 | unsigned int next_match; |
83 | 83 | ||
@@ -99,7 +99,7 @@ sa1100_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
99 | * handlers. | 99 | * handlers. |
100 | */ | 100 | */ |
101 | do { | 101 | do { |
102 | timer_tick(regs); | 102 | timer_tick(); |
103 | OSSR = OSSR_M0; /* Clear match on timer 0 */ | 103 | OSSR = OSSR_M0; /* Clear match on timer 0 */ |
104 | next_match = (OSMR0 += LATCH); | 104 | next_match = (OSMR0 += LATCH); |
105 | } while ((signed long)(next_match - OSCR) <= 0); | 105 | } while ((signed long)(next_match - OSCR) <= 0); |
@@ -151,13 +151,13 @@ static void sa1100_dyn_tick_reprogram(unsigned long ticks) | |||
151 | } | 151 | } |
152 | 152 | ||
153 | static irqreturn_t | 153 | static irqreturn_t |
154 | sa1100_dyn_tick_handler(int irq, void *dev_id, struct pt_regs *regs) | 154 | sa1100_dyn_tick_handler(int irq, void *dev_id) |
155 | { | 155 | { |
156 | if (match_posponed) { | 156 | if (match_posponed) { |
157 | match_posponed = 0; | 157 | match_posponed = 0; |
158 | OSMR0 = initial_match; | 158 | OSMR0 = initial_match; |
159 | if ((signed long)(initial_match - OSCR) <= 0) | 159 | if ((signed long)(initial_match - OSCR) <= 0) |
160 | return sa1100_timer_interrupt(irq, dev_id, regs); | 160 | return sa1100_timer_interrupt(irq, dev_id); |
161 | } | 161 | } |
162 | return IRQ_NONE; | 162 | return IRQ_NONE; |
163 | } | 163 | } |
diff --git a/arch/arm/mach-shark/core.c b/arch/arm/mach-shark/core.c index 1095df34fec0..0e480fae8ec5 100644 --- a/arch/arm/mach-shark/core.c +++ b/arch/arm/mach-shark/core.c | |||
@@ -80,10 +80,10 @@ static void __init shark_map_io(void) | |||
80 | #define HZ_TIME ((1193180 + HZ/2) / HZ) | 80 | #define HZ_TIME ((1193180 + HZ/2) / HZ) |
81 | 81 | ||
82 | static irqreturn_t | 82 | static irqreturn_t |
83 | shark_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 83 | shark_timer_interrupt(int irq, void *dev_id) |
84 | { | 84 | { |
85 | write_seqlock(&xtime_lock); | 85 | write_seqlock(&xtime_lock); |
86 | timer_tick(regs); | 86 | timer_tick(); |
87 | write_sequnlock(&xtime_lock); | 87 | write_sequnlock(&xtime_lock); |
88 | return IRQ_HANDLED; | 88 | return IRQ_HANDLED; |
89 | } | 89 | } |
diff --git a/arch/arm/mach-shark/irq.c b/arch/arm/mach-shark/irq.c index b227052296cf..297ecf130650 100644 --- a/arch/arm/mach-shark/irq.c +++ b/arch/arm/mach-shark/irq.c | |||
@@ -61,7 +61,7 @@ static void shark_enable_8259A_irq(unsigned int irq) | |||
61 | 61 | ||
62 | static void shark_ack_8259A_irq(unsigned int irq){} | 62 | static void shark_ack_8259A_irq(unsigned int irq){} |
63 | 63 | ||
64 | static irqreturn_t bogus_int(int irq, void *dev_id, struct pt_regs *regs) | 64 | static irqreturn_t bogus_int(int irq, void *dev_id) |
65 | { | 65 | { |
66 | printk("Got interrupt %i!\n",irq); | 66 | printk("Got interrupt %i!\n",irq); |
67 | return IRQ_NONE; | 67 | return IRQ_NONE; |
diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c index f2bbef07b1e4..2aa150b57ba1 100644 --- a/arch/arm/mach-versatile/core.c +++ b/arch/arm/mach-versatile/core.c | |||
@@ -77,12 +77,12 @@ static struct irq_chip sic_chip = { | |||
77 | }; | 77 | }; |
78 | 78 | ||
79 | static void | 79 | static void |
80 | sic_handle_irq(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) | 80 | sic_handle_irq(unsigned int irq, struct irqdesc *desc) |
81 | { | 81 | { |
82 | unsigned long status = readl(VA_SIC_BASE + SIC_IRQ_STATUS); | 82 | unsigned long status = readl(VA_SIC_BASE + SIC_IRQ_STATUS); |
83 | 83 | ||
84 | if (status == 0) { | 84 | if (status == 0) { |
85 | do_bad_IRQ(irq, desc, regs); | 85 | do_bad_IRQ(irq, desc); |
86 | return; | 86 | return; |
87 | } | 87 | } |
88 | 88 | ||
@@ -93,7 +93,7 @@ sic_handle_irq(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) | |||
93 | irq += IRQ_SIC_START; | 93 | irq += IRQ_SIC_START; |
94 | 94 | ||
95 | desc = irq_desc + irq; | 95 | desc = irq_desc + irq; |
96 | desc_handle_irq(irq, desc, regs); | 96 | desc_handle_irq(irq, desc); |
97 | } while (status); | 97 | } while (status); |
98 | } | 98 | } |
99 | 99 | ||
@@ -851,14 +851,14 @@ static unsigned long versatile_gettimeoffset(void) | |||
851 | /* | 851 | /* |
852 | * IRQ handler for the timer | 852 | * IRQ handler for the timer |
853 | */ | 853 | */ |
854 | static irqreturn_t versatile_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 854 | static irqreturn_t versatile_timer_interrupt(int irq, void *dev_id) |
855 | { | 855 | { |
856 | write_seqlock(&xtime_lock); | 856 | write_seqlock(&xtime_lock); |
857 | 857 | ||
858 | // ...clear the interrupt | 858 | // ...clear the interrupt |
859 | writel(1, TIMER0_VA_BASE + TIMER_INTCLR); | 859 | writel(1, TIMER0_VA_BASE + TIMER_INTCLR); |
860 | 860 | ||
861 | timer_tick(regs); | 861 | timer_tick(); |
862 | 862 | ||
863 | write_sequnlock(&xtime_lock); | 863 | write_sequnlock(&xtime_lock); |
864 | 864 | ||
diff --git a/arch/arm/oprofile/op_model_xscale.c b/arch/arm/oprofile/op_model_xscale.c index 726ad2b3b435..7899d3ca75a3 100644 --- a/arch/arm/oprofile/op_model_xscale.c +++ b/arch/arm/oprofile/op_model_xscale.c | |||
@@ -341,7 +341,7 @@ static void inline __xsc2_check_ctrs(void) | |||
341 | __asm__ __volatile__ ("mcr p14, 0, %0, c5, c1, 0" : : "r" (flag)); | 341 | __asm__ __volatile__ ("mcr p14, 0, %0, c5, c1, 0" : : "r" (flag)); |
342 | } | 342 | } |
343 | 343 | ||
344 | static irqreturn_t xscale_pmu_interrupt(int irq, void *arg, struct pt_regs *regs) | 344 | static irqreturn_t xscale_pmu_interrupt(int irq, void *arg) |
345 | { | 345 | { |
346 | int i; | 346 | int i; |
347 | u32 pmnc; | 347 | u32 pmnc; |
@@ -356,7 +356,7 @@ static irqreturn_t xscale_pmu_interrupt(int irq, void *arg, struct pt_regs *regs | |||
356 | continue; | 356 | continue; |
357 | 357 | ||
358 | write_counter(i, -(u32)results[i].reset_counter); | 358 | write_counter(i, -(u32)results[i].reset_counter); |
359 | oprofile_add_sample(regs, i); | 359 | oprofile_add_sample(get_irq_regs(), i); |
360 | results[i].ovf--; | 360 | results[i].ovf--; |
361 | } | 361 | } |
362 | 362 | ||
diff --git a/arch/arm/plat-iop/time.c b/arch/arm/plat-iop/time.c index 06282dffbdc6..f530abdaa7a1 100644 --- a/arch/arm/plat-iop/time.c +++ b/arch/arm/plat-iop/time.c | |||
@@ -47,7 +47,7 @@ unsigned long iop3xx_gettimeoffset(void) | |||
47 | } | 47 | } |
48 | 48 | ||
49 | static irqreturn_t | 49 | static irqreturn_t |
50 | iop3xx_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 50 | iop3xx_timer_interrupt(int irq, void *dev_id) |
51 | { | 51 | { |
52 | write_seqlock(&xtime_lock); | 52 | write_seqlock(&xtime_lock); |
53 | 53 | ||
@@ -57,7 +57,7 @@ iop3xx_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
57 | 57 | ||
58 | while ((signed long)(next_jiffy_time - *IOP3XX_TU_TCR1) | 58 | while ((signed long)(next_jiffy_time - *IOP3XX_TU_TCR1) |
59 | >= ticks_per_jiffy) { | 59 | >= ticks_per_jiffy) { |
60 | timer_tick(regs); | 60 | timer_tick(); |
61 | next_jiffy_time -= ticks_per_jiffy; | 61 | next_jiffy_time -= ticks_per_jiffy; |
62 | } | 62 | } |
63 | 63 | ||
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index 1bbb431843ce..bb045e5ddbd8 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c | |||
@@ -899,8 +899,7 @@ static int omap1_dma_handle_ch(int ch) | |||
899 | return 1; | 899 | return 1; |
900 | } | 900 | } |
901 | 901 | ||
902 | static irqreturn_t omap1_dma_irq_handler(int irq, void *dev_id, | 902 | static irqreturn_t omap1_dma_irq_handler(int irq, void *dev_id) |
903 | struct pt_regs *regs) | ||
904 | { | 903 | { |
905 | int ch = ((int) dev_id) - 1; | 904 | int ch = ((int) dev_id) - 1; |
906 | int handled = 0; | 905 | int handled = 0; |
@@ -962,8 +961,7 @@ static int omap2_dma_handle_ch(int ch) | |||
962 | } | 961 | } |
963 | 962 | ||
964 | /* STATUS register count is from 1-32 while our is 0-31 */ | 963 | /* STATUS register count is from 1-32 while our is 0-31 */ |
965 | static irqreturn_t omap2_dma_irq_handler(int irq, void *dev_id, | 964 | static irqreturn_t omap2_dma_irq_handler(int irq, void *dev_id) |
966 | struct pt_regs *regs) | ||
967 | { | 965 | { |
968 | u32 val; | 966 | u32 val; |
969 | int i; | 967 | int i; |
@@ -1220,8 +1218,7 @@ static void set_b1_regs(void) | |||
1220 | omap_writew(fi, OMAP1610_DMA_LCD_SRC_FI_B1_L); | 1218 | omap_writew(fi, OMAP1610_DMA_LCD_SRC_FI_B1_L); |
1221 | } | 1219 | } |
1222 | 1220 | ||
1223 | static irqreturn_t lcd_dma_irq_handler(int irq, void *dev_id, | 1221 | static irqreturn_t lcd_dma_irq_handler(int irq, void *dev_id) |
1224 | struct pt_regs *regs) | ||
1225 | { | 1222 | { |
1226 | u16 w; | 1223 | u16 w; |
1227 | 1224 | ||
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c index f55f99ae58ae..8162eed8b500 100644 --- a/arch/arm/plat-omap/gpio.c +++ b/arch/arm/plat-omap/gpio.c | |||
@@ -783,8 +783,7 @@ void omap_free_gpio(int gpio) | |||
783 | * line's interrupt handler has been run, we may miss some nested | 783 | * line's interrupt handler has been run, we may miss some nested |
784 | * interrupts. | 784 | * interrupts. |
785 | */ | 785 | */ |
786 | static void gpio_irq_handler(unsigned int irq, struct irqdesc *desc, | 786 | static void gpio_irq_handler(unsigned int irq, struct irqdesc *desc) |
787 | struct pt_regs *regs) | ||
788 | { | 787 | { |
789 | void __iomem *isr_reg = NULL; | 788 | void __iomem *isr_reg = NULL; |
790 | u32 isr; | 789 | u32 isr; |
@@ -882,7 +881,7 @@ static void gpio_irq_handler(unsigned int irq, struct irqdesc *desc, | |||
882 | continue; | 881 | continue; |
883 | } | 882 | } |
884 | 883 | ||
885 | desc_handle_irq(gpio_irq, d, regs); | 884 | desc_handle_irq(gpio_irq, d); |
886 | 885 | ||
887 | if (unlikely((d->status & IRQ_PENDING) && !d->depth)) { | 886 | if (unlikely((d->status & IRQ_PENDING) && !d->depth)) { |
888 | irq_mask = 1 << | 887 | irq_mask = 1 << |
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c index ade9a0fa6ef6..ec50008a2df6 100644 --- a/arch/arm/plat-omap/mcbsp.c +++ b/arch/arm/plat-omap/mcbsp.c | |||
@@ -96,7 +96,7 @@ static void omap_mcbsp_dump_reg(u8 id) | |||
96 | DBG("***********************\n"); | 96 | DBG("***********************\n"); |
97 | } | 97 | } |
98 | 98 | ||
99 | static irqreturn_t omap_mcbsp_tx_irq_handler(int irq, void *dev_id, struct pt_regs *regs) | 99 | static irqreturn_t omap_mcbsp_tx_irq_handler(int irq, void *dev_id) |
100 | { | 100 | { |
101 | struct omap_mcbsp * mcbsp_tx = (struct omap_mcbsp *)(dev_id); | 101 | struct omap_mcbsp * mcbsp_tx = (struct omap_mcbsp *)(dev_id); |
102 | 102 | ||
@@ -106,7 +106,7 @@ static irqreturn_t omap_mcbsp_tx_irq_handler(int irq, void *dev_id, struct pt_re | |||
106 | return IRQ_HANDLED; | 106 | return IRQ_HANDLED; |
107 | } | 107 | } |
108 | 108 | ||
109 | static irqreturn_t omap_mcbsp_rx_irq_handler(int irq, void *dev_id, struct pt_regs *regs) | 109 | static irqreturn_t omap_mcbsp_rx_irq_handler(int irq, void *dev_id) |
110 | { | 110 | { |
111 | struct omap_mcbsp * mcbsp_rx = (struct omap_mcbsp *)(dev_id); | 111 | struct omap_mcbsp * mcbsp_rx = (struct omap_mcbsp *)(dev_id); |
112 | 112 | ||
diff --git a/arch/arm/plat-omap/timer32k.c b/arch/arm/plat-omap/timer32k.c index cf6df3378d37..265310601161 100644 --- a/arch/arm/plat-omap/timer32k.c +++ b/arch/arm/plat-omap/timer32k.c | |||
@@ -194,8 +194,7 @@ unsigned long long sched_clock(void) | |||
194 | * issues with dynamic tick. In the dynamic tick case, we need to lock | 194 | * issues with dynamic tick. In the dynamic tick case, we need to lock |
195 | * with irqsave. | 195 | * with irqsave. |
196 | */ | 196 | */ |
197 | static inline irqreturn_t _omap_32k_timer_interrupt(int irq, void *dev_id, | 197 | static inline irqreturn_t _omap_32k_timer_interrupt(int irq, void *dev_id) |
198 | struct pt_regs *regs) | ||
199 | { | 198 | { |
200 | unsigned long now; | 199 | unsigned long now; |
201 | 200 | ||
@@ -205,7 +204,7 @@ static inline irqreturn_t _omap_32k_timer_interrupt(int irq, void *dev_id, | |||
205 | while ((signed long)(now - omap_32k_last_tick) | 204 | while ((signed long)(now - omap_32k_last_tick) |
206 | >= OMAP_32K_TICKS_PER_HZ) { | 205 | >= OMAP_32K_TICKS_PER_HZ) { |
207 | omap_32k_last_tick += OMAP_32K_TICKS_PER_HZ; | 206 | omap_32k_last_tick += OMAP_32K_TICKS_PER_HZ; |
208 | timer_tick(regs); | 207 | timer_tick(); |
209 | } | 208 | } |
210 | 209 | ||
211 | /* Restart timer so we don't drift off due to modulo or dynamic tick. | 210 | /* Restart timer so we don't drift off due to modulo or dynamic tick. |
@@ -218,19 +217,17 @@ static inline irqreturn_t _omap_32k_timer_interrupt(int irq, void *dev_id, | |||
218 | return IRQ_HANDLED; | 217 | return IRQ_HANDLED; |
219 | } | 218 | } |
220 | 219 | ||
221 | static irqreturn_t omap_32k_timer_handler(int irq, void *dev_id, | 220 | static irqreturn_t omap_32k_timer_handler(int irq, void *dev_id) |
222 | struct pt_regs *regs) | ||
223 | { | 221 | { |
224 | return _omap_32k_timer_interrupt(irq, dev_id, regs); | 222 | return _omap_32k_timer_interrupt(irq, dev_id); |
225 | } | 223 | } |
226 | 224 | ||
227 | static irqreturn_t omap_32k_timer_interrupt(int irq, void *dev_id, | 225 | static irqreturn_t omap_32k_timer_interrupt(int irq, void *dev_id) |
228 | struct pt_regs *regs) | ||
229 | { | 226 | { |
230 | unsigned long flags; | 227 | unsigned long flags; |
231 | 228 | ||
232 | write_seqlock_irqsave(&xtime_lock, flags); | 229 | write_seqlock_irqsave(&xtime_lock, flags); |
233 | _omap_32k_timer_interrupt(irq, dev_id, regs); | 230 | _omap_32k_timer_interrupt(irq, dev_id); |
234 | write_sequnlock_irqrestore(&xtime_lock, flags); | 231 | write_sequnlock_irqrestore(&xtime_lock, flags); |
235 | 232 | ||
236 | return IRQ_HANDLED; | 233 | return IRQ_HANDLED; |
diff --git a/include/asm-arm/arch-clps711x/time.h b/include/asm-arm/arch-clps711x/time.h index 0e4a3901d3b3..5edaae1c61d3 100644 --- a/include/asm-arm/arch-clps711x/time.h +++ b/include/asm-arm/arch-clps711x/time.h | |||
@@ -26,8 +26,9 @@ extern void clps711x_setup_timer(void); | |||
26 | * IRQ handler for the timer | 26 | * IRQ handler for the timer |
27 | */ | 27 | */ |
28 | static irqreturn_t | 28 | static irqreturn_t |
29 | p720t_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 29 | p720t_timer_interrupt(int irq, void *dev_id) |
30 | { | 30 | { |
31 | struct pt_regs *regs = get_irq_regs(); | ||
31 | do_leds(); | 32 | do_leds(); |
32 | do_timer(1); | 33 | do_timer(1); |
33 | #ifndef CONFIG_SMP | 34 | #ifndef CONFIG_SMP |
diff --git a/include/asm-arm/arch-imx/imx-dma.h b/include/asm-arm/arch-imx/imx-dma.h index 599f03e5a9ef..5b1066da4e1f 100644 --- a/include/asm-arm/arch-imx/imx-dma.h +++ b/include/asm-arm/arch-imx/imx-dma.h | |||
@@ -45,8 +45,8 @@ | |||
45 | 45 | ||
46 | struct imx_dma_channel { | 46 | struct imx_dma_channel { |
47 | const char *name; | 47 | const char *name; |
48 | void (*irq_handler) (int, void *, struct pt_regs *); | 48 | void (*irq_handler) (int, void *); |
49 | void (*err_handler) (int, void *, struct pt_regs *, int errcode); | 49 | void (*err_handler) (int, void *, int errcode); |
50 | void *data; | 50 | void *data; |
51 | dmamode_t dma_mode; | 51 | dmamode_t dma_mode; |
52 | struct scatterlist *sg; | 52 | struct scatterlist *sg; |
@@ -77,8 +77,8 @@ imx_dma_setup_sg(imx_dmach_t dma_ch, | |||
77 | 77 | ||
78 | int | 78 | int |
79 | imx_dma_setup_handlers(imx_dmach_t dma_ch, | 79 | imx_dma_setup_handlers(imx_dmach_t dma_ch, |
80 | void (*irq_handler) (int, void *, struct pt_regs *), | 80 | void (*irq_handler) (int, void *), |
81 | void (*err_handler) (int, void *, struct pt_regs *, int), void *data); | 81 | void (*err_handler) (int, void *, int), void *data); |
82 | 82 | ||
83 | void imx_dma_enable(imx_dmach_t dma_ch); | 83 | void imx_dma_enable(imx_dmach_t dma_ch); |
84 | 84 | ||
diff --git a/include/asm-arm/arch-l7200/time.h b/include/asm-arm/arch-l7200/time.h index c69cb508735f..ea22f7fff9cd 100644 --- a/include/asm-arm/arch-l7200/time.h +++ b/include/asm-arm/arch-l7200/time.h | |||
@@ -43,8 +43,9 @@ | |||
43 | * Handler for RTC timer interrupt | 43 | * Handler for RTC timer interrupt |
44 | */ | 44 | */ |
45 | static irqreturn_t | 45 | static irqreturn_t |
46 | timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 46 | timer_interrupt(int irq, void *dev_id) |
47 | { | 47 | { |
48 | struct pt_regs *regs = get_irq_regs(); | ||
48 | do_timer(1); | 49 | do_timer(1); |
49 | #ifndef CONFIG_SMP | 50 | #ifndef CONFIG_SMP |
50 | update_process_times(user_mode(regs)); | 51 | update_process_times(user_mode(regs)); |
diff --git a/include/asm-arm/arch-pnx4008/dma.h b/include/asm-arm/arch-pnx4008/dma.h index 3aee1204795b..418f15283ff1 100644 --- a/include/asm-arm/arch-pnx4008/dma.h +++ b/include/asm-arm/arch-pnx4008/dma.h | |||
@@ -137,7 +137,7 @@ extern void pnx4008_free_ll_entry(struct pnx4008_dma_ll *, dma_addr_t); | |||
137 | extern void pnx4008_free_ll(u32 ll_dma, struct pnx4008_dma_ll *); | 137 | extern void pnx4008_free_ll(u32 ll_dma, struct pnx4008_dma_ll *); |
138 | 138 | ||
139 | extern int pnx4008_request_channel(char *, int, | 139 | extern int pnx4008_request_channel(char *, int, |
140 | void (*)(int, int, void *, struct pt_regs *), | 140 | void (*)(int, int, void *), |
141 | void *); | 141 | void *); |
142 | extern void pnx4008_free_channel(int); | 142 | extern void pnx4008_free_channel(int); |
143 | extern int pnx4008_config_dma(int, int, int); | 143 | extern int pnx4008_config_dma(int, int, int); |
diff --git a/include/asm-arm/arch-pxa/dma.h b/include/asm-arm/arch-pxa/dma.h index a008150abc59..bed042d71d68 100644 --- a/include/asm-arm/arch-pxa/dma.h +++ b/include/asm-arm/arch-pxa/dma.h | |||
@@ -56,7 +56,7 @@ for ( \ | |||
56 | 56 | ||
57 | int pxa_request_dma (char *name, | 57 | int pxa_request_dma (char *name, |
58 | pxa_dma_prio prio, | 58 | pxa_dma_prio prio, |
59 | void (*irq_handler)(int, void *, struct pt_regs *), | 59 | void (*irq_handler)(int, void *), |
60 | void *data); | 60 | void *data); |
61 | 61 | ||
62 | void pxa_free_dma (int dma_ch); | 62 | void pxa_free_dma (int dma_ch); |
diff --git a/include/asm-arm/arch-pxa/mmc.h b/include/asm-arm/arch-pxa/mmc.h index 88c17dd02ed2..b704c4f05f4e 100644 --- a/include/asm-arm/arch-pxa/mmc.h +++ b/include/asm-arm/arch-pxa/mmc.h | |||
@@ -10,7 +10,7 @@ struct mmc_host; | |||
10 | struct pxamci_platform_data { | 10 | struct pxamci_platform_data { |
11 | unsigned int ocr_mask; /* available voltages */ | 11 | unsigned int ocr_mask; /* available voltages */ |
12 | unsigned long detect_delay; /* delay in jiffies before detecting cards after interrupt */ | 12 | unsigned long detect_delay; /* delay in jiffies before detecting cards after interrupt */ |
13 | int (*init)(struct device *, irqreturn_t (*)(int, void *, struct pt_regs *), void *); | 13 | int (*init)(struct device *, irqreturn_t (*)(int, void *), void *); |
14 | int (*get_ro)(struct device *); | 14 | int (*get_ro)(struct device *); |
15 | void (*setpower)(struct device *, unsigned int); | 15 | void (*setpower)(struct device *, unsigned int); |
16 | void (*exit)(struct device *, void *); | 16 | void (*exit)(struct device *, void *); |
diff --git a/include/asm-arm/hardware/sharpsl_pm.h b/include/asm-arm/hardware/sharpsl_pm.h index a836e76a14f7..2d00db22b981 100644 --- a/include/asm-arm/hardware/sharpsl_pm.h +++ b/include/asm-arm/hardware/sharpsl_pm.h | |||
@@ -100,7 +100,7 @@ extern struct sharpsl_pm_status sharpsl_pm; | |||
100 | 100 | ||
101 | void sharpsl_battery_kick(void); | 101 | void sharpsl_battery_kick(void); |
102 | void sharpsl_pm_led(int val); | 102 | void sharpsl_pm_led(int val); |
103 | irqreturn_t sharpsl_ac_isr(int irq, void *dev_id, struct pt_regs *fp); | 103 | irqreturn_t sharpsl_ac_isr(int irq, void *dev_id); |
104 | irqreturn_t sharpsl_chrg_full_isr(int irq, void *dev_id, struct pt_regs *fp); | 104 | irqreturn_t sharpsl_chrg_full_isr(int irq, void *dev_id); |
105 | irqreturn_t sharpsl_fatal_isr(int irq, void *dev_id, struct pt_regs *fp); | 105 | irqreturn_t sharpsl_fatal_isr(int irq, void *dev_id); |
106 | 106 | ||
diff --git a/include/asm-arm/irq_regs.h b/include/asm-arm/irq_regs.h new file mode 100644 index 000000000000..3dd9c0b70270 --- /dev/null +++ b/include/asm-arm/irq_regs.h | |||
@@ -0,0 +1 @@ | |||
#include <asm-generic/irq_regs.h> | |||
diff --git a/include/asm-arm/mach/irq.h b/include/asm-arm/mach/irq.h index 131f33733d25..0e017ecf2096 100644 --- a/include/asm-arm/mach/irq.h +++ b/include/asm-arm/mach/irq.h | |||
@@ -30,10 +30,9 @@ extern int show_fiq_list(struct seq_file *, void *); | |||
30 | /* | 30 | /* |
31 | * Obsolete inline function for calling irq descriptor handlers. | 31 | * Obsolete inline function for calling irq descriptor handlers. |
32 | */ | 32 | */ |
33 | static inline void desc_handle_irq(unsigned int irq, struct irq_desc *desc, | 33 | static inline void desc_handle_irq(unsigned int irq, struct irq_desc *desc) |
34 | struct pt_regs *regs) | ||
35 | { | 34 | { |
36 | desc->handle_irq(irq, desc, regs); | 35 | desc->handle_irq(irq, desc); |
37 | } | 36 | } |
38 | 37 | ||
39 | void set_irq_flags(unsigned int irq, unsigned int flags); | 38 | void set_irq_flags(unsigned int irq, unsigned int flags); |
@@ -51,10 +50,10 @@ void set_irq_flags(unsigned int irq, unsigned int flags); | |||
51 | #define irqdesc irq_desc | 50 | #define irqdesc irq_desc |
52 | #define irqchip irq_chip | 51 | #define irqchip irq_chip |
53 | 52 | ||
54 | #define do_bad_IRQ(irq,desc,regs) \ | 53 | #define do_bad_IRQ(irq,desc) \ |
55 | do { \ | 54 | do { \ |
56 | spin_lock(&desc->lock); \ | 55 | spin_lock(&desc->lock); \ |
57 | handle_bad_irq(irq, desc, regs); \ | 56 | handle_bad_irq(irq, desc); \ |
58 | spin_unlock(&desc->lock); \ | 57 | spin_unlock(&desc->lock); \ |
59 | } while(0) | 58 | } while(0) |
60 | 59 | ||
diff --git a/include/asm-arm/mach/time.h b/include/asm-arm/mach/time.h index 1eb93f5c0d6c..5dc357013b79 100644 --- a/include/asm-arm/mach/time.h +++ b/include/asm-arm/mach/time.h | |||
@@ -57,7 +57,7 @@ struct dyn_tick_timer { | |||
57 | int (*enable)(void); /* Enables dynamic tick */ | 57 | int (*enable)(void); /* Enables dynamic tick */ |
58 | int (*disable)(void); /* Disables dynamic tick */ | 58 | int (*disable)(void); /* Disables dynamic tick */ |
59 | void (*reprogram)(unsigned long); /* Reprograms the timer */ | 59 | void (*reprogram)(unsigned long); /* Reprograms the timer */ |
60 | int (*handler)(int, void *, struct pt_regs *); | 60 | int (*handler)(int, void *); |
61 | }; | 61 | }; |
62 | 62 | ||
63 | void timer_dyn_reprogram(void); | 63 | void timer_dyn_reprogram(void); |
@@ -66,7 +66,7 @@ void timer_dyn_reprogram(void); | |||
66 | #endif | 66 | #endif |
67 | 67 | ||
68 | extern struct sys_timer *system_timer; | 68 | extern struct sys_timer *system_timer; |
69 | extern void timer_tick(struct pt_regs *); | 69 | extern void timer_tick(void); |
70 | 70 | ||
71 | /* | 71 | /* |
72 | * Kernel time keeping support. | 72 | * Kernel time keeping support. |