Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+281 -328
+10 -15
arch/arm/common/locomo.c
··· 163 163 #define LOCOMO_IRQ_LT_START (IRQ_LOCOMO_LT) 164 164 #define LOCOMO_IRQ_SPI_START (IRQ_LOCOMO_SPI_RFR) 165 165 166 - static void locomo_handler(unsigned int irq, struct irqdesc *desc, 167 - struct pt_regs *regs) 166 + static void locomo_handler(unsigned int irq, struct irqdesc *desc) 168 167 { 169 168 int req, i; 170 169 struct irqdesc *d; ··· 181 182 d = irq_desc + irq; 182 183 for (i = 0; i <= 3; i++, d++, irq++) { 183 184 if (req & (0x0100 << i)) { 184 - desc_handle_irq(irq, d, regs); 185 + desc_handle_irq(irq, d); 185 186 } 186 187 187 188 } ··· 217 218 .unmask = locomo_unmask_irq, 218 219 }; 219 220 220 - static void locomo_key_handler(unsigned int irq, struct irqdesc *desc, 221 - struct pt_regs *regs) 221 + static void locomo_key_handler(unsigned int irq, struct irqdesc *desc) 222 222 { 223 223 struct irqdesc *d; 224 224 void __iomem *mapbase = get_irq_chipdata(irq); 225 225 226 226 if (locomo_readl(mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC) & 0x0001) { 227 227 d = irq_desc + LOCOMO_IRQ_KEY_START; 228 - desc_handle_irq(LOCOMO_IRQ_KEY_START, d, regs); 228 + desc_handle_irq(LOCOMO_IRQ_KEY_START, d); 229 229 } 230 230 } 231 231 ··· 262 264 .unmask = locomo_key_unmask_irq, 263 265 }; 264 266 265 - static void locomo_gpio_handler(unsigned int irq, struct irqdesc *desc, 266 - struct pt_regs *regs) 267 + static void locomo_gpio_handler(unsigned int irq, struct irqdesc *desc) 267 268 { 268 269 int req, i; 269 270 struct irqdesc *d; ··· 277 280 d = irq_desc + LOCOMO_IRQ_GPIO_START; 278 281 for (i = 0; i <= 15; i++, irq++, d++) { 279 282 if (req & (0x0001 << i)) { 280 - desc_handle_irq(irq, d, regs); 283 + desc_handle_irq(irq, d); 281 284 } 282 285 } 283 286 } ··· 325 328 .unmask = locomo_gpio_unmask_irq, 326 329 }; 327 330 328 - static void locomo_lt_handler(unsigned int irq, struct irqdesc *desc, 329 - struct pt_regs *regs) 331 + static void locomo_lt_handler(unsigned int irq, struct irqdesc *desc) 330 332 { 331 333 struct irqdesc *d; 332 334 void __iomem *mapbase = get_irq_chipdata(irq); 333 335 334 336 if (locomo_readl(mapbase + LOCOMO_LTINT) & 0x0001) { 335 337 d = irq_desc + LOCOMO_IRQ_LT_START; 336 - desc_handle_irq(LOCOMO_IRQ_LT_START, d, regs); 338 + desc_handle_irq(LOCOMO_IRQ_LT_START, d); 337 339 } 338 340 } 339 341 ··· 370 374 .unmask = locomo_lt_unmask_irq, 371 375 }; 372 376 373 - static void locomo_spi_handler(unsigned int irq, struct irqdesc *desc, 374 - struct pt_regs *regs) 377 + static void locomo_spi_handler(unsigned int irq, struct irqdesc *desc) 375 378 { 376 379 int req, i; 377 380 struct irqdesc *d; ··· 383 388 384 389 for (i = 0; i <= 3; i++, irq++, d++) { 385 390 if (req & (0x0001 << i)) { 386 - desc_handle_irq(irq, d, regs); 391 + desc_handle_irq(irq, d); 387 392 } 388 393 } 389 394 }
+4 -4
arch/arm/common/sa1111.c
··· 147 147 * will call us again if there are more interrupts to process. 148 148 */ 149 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 152 unsigned int stat0, stat1, i; 153 153 void __iomem *base = get_irq_data(irq); ··· 162 162 sa1111_writel(stat1, base + SA1111_INTSTATCLR1); 163 163 164 164 if (stat0 == 0 && stat1 == 0) { 165 - do_bad_IRQ(irq, desc, regs); 165 + do_bad_IRQ(irq, desc); 166 166 return; 167 167 } 168 168 169 169 for (i = IRQ_SA1111_START; stat0; i++, stat0 >>= 1) 170 170 if (stat0 & 1) 171 - handle_edge_irq(i, irq_desc + i, regs); 171 + handle_edge_irq(i, irq_desc + i); 172 172 173 173 for (i = IRQ_SA1111_START + 32; stat1; i++, stat1 >>= 1) 174 174 if (stat1 & 1) 175 - handle_edge_irq(i, irq_desc + i, regs); 175 + handle_edge_irq(i, irq_desc + i); 176 176 177 177 /* For level-based interrupts */ 178 178 desc->chip->unmask(irq);
+3 -3
arch/arm/common/sharpsl_pm.c
··· 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 263 /* Delay the event slightly to debounce */ 264 264 /* Must be a smaller delay than the chrg_full_isr below */ ··· 293 293 /* Charging Finished Interrupt (Not present on Corgi) */ 294 294 /* Can trigger at the same time as an AC staus change so 295 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 298 if (sharpsl_pm.flags & SHARPSL_SUSPENDED) 299 299 return IRQ_HANDLED; ··· 304 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 309 int is_fatal = 0; 310 310
+2 -2
arch/arm/common/time-acorn.c
··· 67 67 } 68 68 69 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 72 write_seqlock(&xtime_lock); 73 - timer_tick(regs); 73 + timer_tick(); 74 74 write_sequnlock(&xtime_lock); 75 75 return IRQ_HANDLED; 76 76 }
+4 -4
arch/arm/kernel/ecard.c
··· 567 567 } 568 568 569 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 572 ecard_t *ec; 573 573 int called = 0; ··· 586 586 587 587 if (pending) { 588 588 struct irqdesc *d = irq_desc + ec->irq; 589 - desc_handle_irq(ec->irq, d, regs); 589 + desc_handle_irq(ec->irq, d); 590 590 called ++; 591 591 } 592 592 } ··· 609 609 }; 610 610 611 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 614 const unsigned int statusmask = 15; 615 615 unsigned int status; ··· 633 633 * Serial cards should go in 0/1, ethernet/scsi in 2/3 634 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 637 } else { 638 638 printk(KERN_WARNING "card%d: interrupt from unclaimed " 639 639 "card???\n", slot);
+2 -1
arch/arm/kernel/irq.c
··· 122 122 123 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 128 /* AT91 specific workaround */ 128 129 irq_finish(irq);
+2 -1
arch/arm/kernel/time.c
··· 324 324 /* 325 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 330 profile_tick(CPU_PROFILING, regs); 330 331 do_leds(); 331 332 do_set_rtc();
+2 -2
arch/arm/mach-aaec2000/core.c
··· 127 127 128 128 /* We enter here with IRQs enabled */ 129 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 132 /* TODO: Check timer accuracy */ 133 133 write_seqlock(&xtime_lock); 134 134 135 - timer_tick(regs); 135 + timer_tick(); 136 136 TIMER1_CLEAR = 1; 137 137 138 138 write_sequnlock(&xtime_lock);
+2 -2
arch/arm/mach-at91rm9200/at91rm9200_time.c
··· 65 65 /* 66 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 70 if (at91_sys_read(AT91_ST_SR) & AT91_ST_PITS) { /* This is a shared interrupt */ 71 71 write_seqlock(&xtime_lock); 72 72 73 73 while (((read_CRTR() - last_crtr) & AT91_ST_ALMV) >= LATCH) { 74 - timer_tick(regs); 74 + timer_tick(); 75 75 last_crtr = (last_crtr + LATCH) & AT91_ST_ALMV; 76 76 } 77 77
+2 -2
arch/arm/mach-at91rm9200/gpio.c
··· 332 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 337 unsigned pin; 338 338 struct irqdesc *gpio; ··· 363 363 gpio_irq_mask(pin); 364 364 } 365 365 else 366 - desc_handle_irq(pin, gpio, regs); 366 + desc_handle_irq(pin, gpio); 367 367 } 368 368 pin++; 369 369 gpio++;
+2 -2
arch/arm/mach-clps711x/time.c
··· 48 48 * IRQ handler for the timer 49 49 */ 50 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 53 write_seqlock(&xtime_lock); 54 - timer_tick(regs); 54 + timer_tick(); 55 55 write_sequnlock(&xtime_lock); 56 56 return IRQ_HANDLED; 57 57 }
+2 -2
arch/arm/mach-clps7500/core.c
··· 292 292 extern unsigned long ioc_timer_gettimeoffset(void); 293 293 294 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 297 write_seqlock(&xtime_lock); 298 298 299 - timer_tick(regs); 299 + timer_tick(); 300 300 301 301 /* Why not using do_leds interface?? */ 302 302 {
+2 -2
arch/arm/mach-ebsa110/core.c
··· 174 174 } 175 175 176 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 179 u32 count; 180 180 ··· 190 190 __raw_writeb(count & 0xff, PIT_T1); 191 191 __raw_writeb(count >> 8, PIT_T1); 192 192 193 - timer_tick(regs); 193 + timer_tick(); 194 194 195 195 write_sequnlock(&xtime_lock); 196 196
+5 -5
arch/arm/mach-ep93xx/core.c
··· 97 97 98 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 102 write_seqlock(&xtime_lock); 103 103 ··· 106 106 (__raw_readl(EP93XX_TIMER4_VALUE_LOW) - last_jiffy_time) 107 107 >= TIMER4_TICKS_PER_JIFFY) { 108 108 last_jiffy_time += TIMER4_TICKS_PER_JIFFY; 109 - timer_tick(regs); 109 + timer_tick(); 110 110 } 111 111 112 112 write_sequnlock(&xtime_lock); ··· 245 245 * EP93xx IRQ handling 246 246 *************************************************************************/ 247 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 250 unsigned char status; 251 251 int i; ··· 254 254 for (i = 0; i < 8; i++) { 255 255 if (status & (1 << i)) { 256 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 262 for (i = 0; i < 8; i++) { 263 263 if (status & (1 << i)) { 264 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 }
+2 -2
arch/arm/mach-footbridge/dc21285-timer.c
··· 28 28 } 29 29 30 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 33 write_seqlock(&xtime_lock); 34 34 35 35 *CSR_TIMER1_CLR = 0; 36 36 37 - timer_tick(regs); 37 + timer_tick(); 38 38 39 39 write_sequnlock(&xtime_lock); 40 40
+6 -6
arch/arm/mach-footbridge/dc21285.c
··· 154 154 /* 155 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 159 unsigned int cmd; 160 160 unsigned int status; ··· 165 165 166 166 if (status & PCI_STATUS_REC_MASTER_ABORT) { 167 167 printk(KERN_DEBUG "PCI: master abort, pc=0x%08lx\n", 168 - instruction_pointer(regs)); 168 + instruction_pointer(get_irq_regs())); 169 169 cmd |= PCI_STATUS_REC_MASTER_ABORT << 16; 170 170 } 171 171 ··· 184 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 189 struct timer_list *timer = dev_id; 190 190 unsigned int cntl; ··· 206 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 211 printk(KERN_DEBUG "PCI: discard timer expired\n"); 212 212 *CSR_SA110_CNTL &= 0xffffde07; ··· 214 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 219 unsigned int cmd; 220 220 ··· 228 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 233 struct timer_list *timer = dev_id; 234 234 unsigned int cmd;
+3 -3
arch/arm/mach-footbridge/isa-irq.c
··· 85 85 }; 86 86 87 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 90 unsigned int isa_irq = *(unsigned char *)PCIIACK_BASE; 91 91 92 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 94 return; 95 95 } 96 96 97 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 101 static struct irqaction irq_cascade = {
+2 -2
arch/arm/mach-footbridge/isa-timer.c
··· 62 62 } 63 63 64 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 67 write_seqlock(&xtime_lock); 68 - timer_tick(regs); 68 + timer_tick(); 69 69 write_sequnlock(&xtime_lock); 70 70 return IRQ_HANDLED; 71 71 }
+12 -17
arch/arm/mach-h720x/common.c
··· 101 101 102 102 static void 103 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 106 IRQDBG("%s irq: %d\n",__FUNCTION__,irq); 107 107 desc = irq_desc + irq; 108 108 while (mask) { 109 109 if (mask & 1) { 110 110 IRQDBG("handling irq %d\n", irq); 111 - desc_handle_irq(irq, desc, regs); 111 + desc_handle_irq(irq, desc); 112 112 } 113 113 irq++; 114 114 desc++; ··· 117 117 } 118 118 119 119 static void 120 - h720x_gpioa_demux_handler(unsigned int irq_unused, struct irqdesc *desc, 121 - struct pt_regs *regs) 120 + h720x_gpioa_demux_handler(unsigned int irq_unused, struct irqdesc *desc) 122 121 { 123 122 unsigned int mask, irq; 124 123 125 124 mask = CPU_REG(GPIO_A_VIRT,GPIO_STAT); 126 125 irq = IRQ_CHAINED_GPIOA(0); 127 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 130 static void 132 - h720x_gpiob_demux_handler(unsigned int irq_unused, struct irqdesc *desc, 133 - struct pt_regs *regs) 131 + h720x_gpiob_demux_handler(unsigned int irq_unused, struct irqdesc *desc) 134 132 { 135 133 unsigned int mask, irq; 136 134 mask = CPU_REG(GPIO_B_VIRT,GPIO_STAT); 137 135 irq = IRQ_CHAINED_GPIOB(0); 138 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 140 static void 143 - h720x_gpioc_demux_handler(unsigned int irq_unused, struct irqdesc *desc, 144 - struct pt_regs *regs) 141 + h720x_gpioc_demux_handler(unsigned int irq_unused, struct irqdesc *desc) 145 142 { 146 143 unsigned int mask, irq; 147 144 148 145 mask = CPU_REG(GPIO_C_VIRT,GPIO_STAT); 149 146 irq = IRQ_CHAINED_GPIOC(0); 150 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 151 static void 155 - h720x_gpiod_demux_handler(unsigned int irq_unused, struct irqdesc *desc, 156 - struct pt_regs *regs) 152 + h720x_gpiod_demux_handler(unsigned int irq_unused, struct irqdesc *desc) 157 153 { 158 154 unsigned int mask, irq; 159 155 160 156 mask = CPU_REG(GPIO_D_VIRT,GPIO_STAT); 161 157 irq = IRQ_CHAINED_GPIOD(0); 162 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 162 #ifdef CONFIG_CPU_H7202 167 163 static void 168 - h720x_gpioe_demux_handler(unsigned int irq_unused, struct irqdesc *desc, 169 - struct pt_regs *regs) 164 + h720x_gpioe_demux_handler(unsigned int irq_unused, struct irqdesc *desc) 170 165 { 171 166 unsigned int mask, irq; 172 167 173 168 mask = CPU_REG(GPIO_E_VIRT,GPIO_STAT); 174 169 irq = IRQ_CHAINED_GPIOE(0); 175 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 173 #endif 179 174
+2 -2
arch/arm/mach-h720x/cpu-h7201.c
··· 27 27 * Timer interrupt handler 28 28 */ 29 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 32 write_seqlock(&xtime_lock); 33 33 34 34 CPU_REG (TIMER_VIRT, TIMER_TOPSTAT); 35 - timer_tick(regs); 35 + timer_tick(); 36 36 37 37 write_sequnlock(&xtime_lock); 38 38
+5 -6
arch/arm/mach-h720x/cpu-h7202.c
··· 106 106 * we have to handle all timer interrupts in one place. 107 107 */ 108 108 static void 109 - h7202_timerx_demux_handler(unsigned int irq_unused, struct irqdesc *desc, 110 - struct pt_regs *regs) 109 + h7202_timerx_demux_handler(unsigned int irq_unused, struct irqdesc *desc) 111 110 { 112 111 unsigned int mask, irq; 113 112 ··· 114 115 115 116 if ( mask & TSTAT_T0INT ) { 116 117 write_seqlock(&xtime_lock); 117 - timer_tick(regs); 118 + timer_tick(); 118 119 write_sequnlock(&xtime_lock); 119 120 if( mask == TSTAT_T0INT ) 120 121 return; ··· 125 126 desc = irq_desc + irq; 126 127 while (mask) { 127 128 if (mask & 1) 128 - desc_handle_irq(irq, desc, regs); 129 + desc_handle_irq(irq, desc); 129 130 irq++; 130 131 desc++; 131 132 mask >>= 1; ··· 136 137 * Timer interrupt handler 137 138 */ 138 139 static irqreturn_t 139 - h7202_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) 140 + h7202_timer_interrupt(int irq, void *dev_id) 140 141 { 141 - h7202_timerx_demux_handler(0, NULL, regs); 142 + h7202_timerx_demux_handler(0, NULL); 142 143 return IRQ_HANDLED; 143 144 } 144 145
+6 -6
arch/arm/mach-imx/dma.c
··· 279 279 */ 280 280 int 281 281 imx_dma_setup_handlers(imx_dmach_t dma_ch, 282 - void (*irq_handler) (int, void *, struct pt_regs *), 283 - void (*err_handler) (int, void *, struct pt_regs *, int), 282 + void (*irq_handler) (int, void *), 283 + void (*err_handler) (int, void *, int), 284 284 void *data) 285 285 { 286 286 struct imx_dma_channel *imxdma = &imx_dma_channels[dma_ch]; ··· 461 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 466 int i, disr = DISR; 467 467 struct imx_dma_channel *channel; ··· 500 500 /*imx_dma_channels[i].sg = NULL;*/ 501 501 502 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 504 continue; 505 505 } 506 506 ··· 517 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 522 int i, disr = DISR; 523 523 ··· 536 536 } else { 537 537 if (channel->irq_handler) 538 538 channel->irq_handler(i, 539 - channel->data, regs); 539 + channel->data); 540 540 } 541 541 } else { 542 542 /*
+10 -14
arch/arm/mach-imx/irq.c
··· 146 146 147 147 static void 148 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 151 desc = irq_desc + irq; 152 152 while (mask) { 153 153 if (mask & 1) { 154 154 DEBUG_IRQ("handling irq %d\n", irq); 155 - desc_handle_irq(irq, desc, regs); 155 + desc_handle_irq(irq, desc); 156 156 } 157 157 irq++; 158 158 desc++; ··· 161 161 } 162 162 163 163 static void 164 - imx_gpioa_demux_handler(unsigned int irq_unused, struct irqdesc *desc, 165 - struct pt_regs *regs) 164 + imx_gpioa_demux_handler(unsigned int irq_unused, struct irqdesc *desc) 166 165 { 167 166 unsigned int mask, irq; 168 167 169 168 mask = ISR(0); 170 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 173 static void 175 - imx_gpiob_demux_handler(unsigned int irq_unused, struct irqdesc *desc, 176 - struct pt_regs *regs) 174 + imx_gpiob_demux_handler(unsigned int irq_unused, struct irqdesc *desc) 177 175 { 178 176 unsigned int mask, irq; 179 177 180 178 mask = ISR(1); 181 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 183 static void 186 - imx_gpioc_demux_handler(unsigned int irq_unused, struct irqdesc *desc, 187 - struct pt_regs *regs) 184 + imx_gpioc_demux_handler(unsigned int irq_unused, struct irqdesc *desc) 188 185 { 189 186 unsigned int mask, irq; 190 187 191 188 mask = ISR(2); 192 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 193 static void 197 - imx_gpiod_demux_handler(unsigned int irq_unused, struct irqdesc *desc, 198 - struct pt_regs *regs) 194 + imx_gpiod_demux_handler(unsigned int irq_unused, struct irqdesc *desc) 199 195 { 200 196 unsigned int mask, irq; 201 197 202 198 mask = ISR(3); 203 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 203 static struct irq_chip imx_internal_chip = {
+2 -2
arch/arm/mach-imx/time.c
··· 56 56 * IRQ handler for the timer 57 57 */ 58 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 61 write_seqlock(&xtime_lock); 62 62 ··· 64 64 if (IMX_TSTAT(TIMER_BASE)) 65 65 IMX_TSTAT(TIMER_BASE) = 0; 66 66 67 - timer_tick(regs); 67 + timer_tick(); 68 68 write_sequnlock(&xtime_lock); 69 69 70 70 return IRQ_HANDLED;
+3 -3
arch/arm/mach-integrator/core.c
··· 248 248 * IRQ handler for the timer 249 249 */ 250 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 253 write_seqlock(&xtime_lock); 254 254 ··· 262 262 * primary CPU 263 263 */ 264 264 if (hard_smp_processor_id() == 0) { 265 - timer_tick(regs); 265 + timer_tick(); 266 266 #ifdef CONFIG_SMP 267 267 smp_send_timer(); 268 268 #endif ··· 272 272 /* 273 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 276 #endif /* CONFIG_SMP */ 277 277 278 278 write_sequnlock(&xtime_lock);
+3 -3
arch/arm/mach-integrator/integrator_cp.c
··· 202 202 }; 203 203 204 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 207 unsigned long status = sic_readl(INTCP_VA_SIC_BASE + IRQ_STATUS); 208 208 209 209 if (status == 0) { 210 - do_bad_IRQ(irq, desc, regs); 210 + do_bad_IRQ(irq, desc); 211 211 return; 212 212 } 213 213 ··· 218 218 irq += IRQ_SIC_START; 219 219 220 220 desc = irq_desc + irq; 221 - desc_handle_irq(irq, desc, regs); 221 + desc_handle_irq(irq, desc); 222 222 } while (status); 223 223 } 224 224
+2 -1
arch/arm/mach-integrator/pci_v3.c
··· 440 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 445 #ifdef CONFIG_DEBUG_LL 446 + struct pt_regs *regs = get_irq_regs(); 446 447 unsigned long pc = instruction_pointer(regs); 447 448 unsigned long instr = *(unsigned long *)pc; 448 449 char buf[128];
+1 -2
arch/arm/mach-integrator/time.c
··· 96 96 .set_alarm = integrator_rtc_set_alarm, 97 97 }; 98 98 99 - static irqreturn_t arm_rtc_interrupt(int irq, void *dev_id, 100 - struct pt_regs *regs) 99 + static irqreturn_t arm_rtc_interrupt(int irq, void *dev_id) 101 100 { 102 101 writel(0, rtc_base + RTC_EOI); 103 102 return IRQ_HANDLED;
+6 -6
arch/arm/mach-ixp2000/core.c
··· 204 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 209 write_seqlock(&xtime_lock); 210 210 ··· 213 213 214 214 while ((signed long)(next_jiffy_time - *missing_jiffy_timer_csr) 215 215 >= ticks_per_jiffy) { 216 - timer_tick(regs); 216 + timer_tick(); 217 217 next_jiffy_time -= ticks_per_jiffy; 218 218 } 219 219 ··· 308 308 /************************************************************************* 309 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 313 int i; 314 314 unsigned long status = *IXP2000_GPIO_INST; ··· 316 316 for (i = 0; i <= 7; i++) { 317 317 if (status & (1<<i)) { 318 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 401 /* 402 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 406 int i; 407 407 unsigned long status = *IXP2000_IRQ_ERR_STATUS; ··· 409 409 for(i = 31; i >= 0; i--) { 410 410 if(status & (1 << i)) { 411 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 }
+2 -2
arch/arm/mach-ixp2000/ixdp2x00.c
··· 106 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 111 volatile u32 ex_interrupt = 0; 112 112 static struct slowport_cfg old_cfg; ··· 132 132 struct irqdesc *cpld_desc; 133 133 int cpld_irq = IXP2000_BOARD_IRQ(0) + i; 134 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
+2 -2
arch/arm/mach-ixp2000/ixdp2x01.c
··· 63 63 64 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 68 u32 ex_interrupt; 69 69 int i; ··· 82 82 struct irqdesc *cpld_desc; 83 83 int cpld_irq = IXP2000_BOARD_IRQ(0) + i; 84 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
+4 -4
arch/arm/mach-ixp23xx/core.c
··· 251 251 /* 252 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 256 u32 pci_interrupt; 257 257 unsigned int irqno; ··· 271 271 } 272 272 273 273 int_desc = irq_desc + irqno; 274 - desc_handle_irq(irqno, int_desc, regs); 274 + desc_handle_irq(irqno, int_desc); 275 275 276 276 desc->chip->unmask(irq); 277 277 } ··· 348 348 } 349 349 350 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 353 /* Clear Pending Interrupt by writing '1' to it */ 354 354 *IXP23XX_TIMER_STATUS = IXP23XX_TIMER1_INT_PEND; 355 355 while ((signed long)(*IXP23XX_TIMER_CONT - next_jiffy_time) >= LATCH) { 356 - timer_tick(regs); 356 + timer_tick(); 357 357 next_jiffy_time += LATCH; 358 358 } 359 359
+4 -4
arch/arm/mach-ixp23xx/ixdp2351.c
··· 60 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 65 u16 ex_interrupt = 66 66 *IXDP2351_CPLD_INTA_STAT_REG & IXDP2351_INTA_IRQ_VALID; ··· 74 74 int cpld_irq = 75 75 IXP23XX_MACH_IRQ(IXDP2351_INTA_IRQ_BASE + i); 76 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 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 102 u16 ex_interrupt = 103 103 *IXDP2351_CPLD_INTB_STAT_REG & IXDP2351_INTB_IRQ_VALID; ··· 111 111 int cpld_irq = 112 112 IXP23XX_MACH_IRQ(IXDP2351_INTB_IRQ_BASE + i); 113 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
+2 -2
arch/arm/mach-ixp4xx/common.c
··· 256 256 257 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 261 write_seqlock(&xtime_lock); 262 262 ··· 267 267 * Catch up with the real idea of time 268 268 */ 269 269 while ((signed long)(*IXP4XX_OSTS - last_jiffy_time) >= LATCH) { 270 - timer_tick(regs); 270 + timer_tick(); 271 271 last_jiffy_time += LATCH; 272 272 } 273 273
+1 -1
arch/arm/mach-ixp4xx/nas100d-power.c
··· 24 24 25 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 29 /* Signal init to do the ctrlaltdel action, this will bypass init if 30 30 * it hasn't started and do a kernel_restart.
+2 -2
arch/arm/mach-ixp4xx/nslu2-power.c
··· 25 25 26 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 30 /* Signal init to do the ctrlaltdel action, this will bypass init if 31 31 * it hasn't started and do a kernel_restart. ··· 35 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 40 /* This is the paper-clip reset, it shuts the machine down directly. 41 41 */
+2 -3
arch/arm/mach-lh7a40x/arch-kev7a400.c
··· 71 71 }; 72 72 73 73 74 - static void kev7a400_cpld_handler (unsigned int irq, struct irqdesc *desc, 75 - struct pt_regs *regs) 74 + static void kev7a400_cpld_handler (unsigned int irq, struct irqdesc *desc) 76 75 { 77 76 u32 mask = CPLD_LATCHED_INTS; 78 77 irq = IRQ_KEV7A400_CPLD; 79 78 for (; mask; mask >>= 1, ++irq) { 80 79 if (mask & 1) 81 - desc[irq].handle (irq, desc, regs); 80 + desc[irq].handle (irq, desc); 82 81 } 83 82 } 84 83
+1 -2
arch/arm/mach-lh7a40x/arch-lpd7a40x.c
··· 207 207 .unmask = lh7a40x_unmask_cpld_irq, 208 208 }; 209 209 210 - static void lpd7a40x_cpld_handler (unsigned int irq, struct irqdesc *desc, 211 - struct pt_regs *regs) 210 + static void lpd7a40x_cpld_handler (unsigned int irq, struct irqdesc *desc) 212 211 { 213 212 unsigned int mask = CPLD_INTERRUPTS; 214 213
+2 -3
arch/arm/mach-lh7a40x/irq-kev7a400.c
··· 51 51 }; 52 52 53 53 static void 54 - lh7a400_cpld_handler (unsigned int irq, struct irqdesc *desc, 55 - struct pt_regs *regs) 54 + lh7a400_cpld_handler (unsigned int irq, struct irqdesc *desc) 56 55 { 57 56 u32 mask = CPLD_LATCHED_INTS; 58 57 irq = IRQ_KEV_7A400_CPLD; 59 58 for (; mask; mask >>= 1, ++irq) { 60 59 if (mask & 1) 61 - desc[irq].handle (irq, desc, regs); 60 + desc[irq].handle (irq, desc); 62 61 } 63 62 } 64 63
+1 -2
arch/arm/mach-lh7a40x/irq-lpd7a40x.c
··· 57 57 .unmask = lh7a40x_unmask_cpld_irq, 58 58 }; 59 59 60 - static void lh7a40x_cpld_handler (unsigned int irq, struct irqdesc *desc, 61 - struct pt_regs *regs) 60 + static void lh7a40x_cpld_handler (unsigned int irq, struct irqdesc *desc) 62 61 { 63 62 unsigned int mask = CPLD_INTERRUPTS; 64 63
+2 -2
arch/arm/mach-lh7a40x/time.c
··· 39 39 #endif 40 40 41 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 44 write_seqlock(&xtime_lock); 45 45 46 46 TIMER_EOI = 0; 47 - timer_tick(regs); 47 + timer_tick(); 48 48 49 49 write_sequnlock(&xtime_lock); 50 50
+2 -3
arch/arm/mach-netx/generic.c
··· 69 69 #endif 70 70 71 71 static void 72 - netx_hif_demux_handler(unsigned int irq_unused, struct irqdesc *desc, 73 - struct pt_regs *regs) 72 + netx_hif_demux_handler(unsigned int irq_unused, struct irqdesc *desc) 74 73 { 75 74 unsigned int irq = NETX_IRQ_HIF_CHAINED(0); 76 75 unsigned int stat; ··· 82 83 while (stat) { 83 84 if (stat & 1) { 84 85 DEBUG_IRQ("handling irq %d\n", irq); 85 - desc_handle_irq(irq, desc, regs); 86 + desc_handle_irq(irq, desc); 86 87 } 87 88 irq++; 88 89 desc++;
+2 -2
arch/arm/mach-netx/time.c
··· 38 38 * IRQ handler for the timer 39 39 */ 40 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 43 write_seqlock(&xtime_lock); 44 44 45 - timer_tick(regs); 45 + timer_tick(); 46 46 write_sequnlock(&xtime_lock); 47 47 48 48 /* acknowledge interrupt */
+1 -1
arch/arm/mach-omap1/board-osk.c
··· 327 327 328 328 #ifdef CONFIG_PM 329 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 332 return IRQ_HANDLED; 333 333 }
+2 -3
arch/arm/mach-omap1/fpga.c
··· 84 84 fpga_ack_irq(irq); 85 85 } 86 86 87 - void innovator_fpga_IRQ_demux(unsigned int irq, struct irqdesc *desc, 88 - struct pt_regs *regs) 87 + void innovator_fpga_IRQ_demux(unsigned int irq, struct irqdesc *desc) 89 88 { 90 89 struct irqdesc *d; 91 90 u32 stat; ··· 100 101 fpga_irq++, stat >>= 1) { 101 102 if (stat & 1) { 102 103 d = irq_desc + fpga_irq; 103 - desc_handle_irq(fpga_irq, d, regs); 104 + desc_handle_irq(fpga_irq, d); 104 105 } 105 106 } 106 107 }
+1 -2
arch/arm/mach-omap1/pm.c
··· 682 682 } 683 683 684 684 685 - static irqreturn_t omap_wakeup_interrupt(int irq, void * dev, 686 - struct pt_regs * regs) 685 + static irqreturn_t omap_wakeup_interrupt(int irq, void *dev) 687 686 { 688 687 return IRQ_HANDLED; 689 688 }
+1 -2
arch/arm/mach-omap1/serial.c
··· 204 204 205 205 #ifdef CONFIG_OMAP_SERIAL_WAKE 206 206 207 - static irqreturn_t omap_serial_wake_interrupt(int irq, void *dev_id, 208 - struct pt_regs *regs) 207 + static irqreturn_t omap_serial_wake_interrupt(int irq, void *dev_id) 209 208 { 210 209 /* Need to do something with serial port right after wake-up? */ 211 210 return IRQ_HANDLED;
+3 -5
arch/arm/mach-omap1/time.c
··· 160 160 * Latency during the interrupt is calculated using timer1. 161 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, 164 - struct pt_regs *regs) 163 + static irqreturn_t omap_mpu_timer_interrupt(int irq, void *dev_id) 165 164 { 166 165 unsigned long now, latency; 167 166 ··· 168 169 now = 0 - omap_mpu_timer_read(0); 169 170 latency = MPU_TICKS_PER_SEC / HZ - omap_mpu_timer_read(1); 170 171 omap_mpu_timer_last = now - latency; 171 - timer_tick(regs); 172 + timer_tick(); 172 173 write_sequnlock(&xtime_lock); 173 174 174 175 return IRQ_HANDLED; ··· 181 182 }; 182 183 183 184 static unsigned long omap_mpu_timer1_overflows; 184 - static irqreturn_t omap_mpu_timer1_interrupt(int irq, void *dev_id, 185 - struct pt_regs *regs) 185 + static irqreturn_t omap_mpu_timer1_interrupt(int irq, void *dev_id) 186 186 { 187 187 omap_mpu_timer1_overflows++; 188 188 return IRQ_HANDLED;
+1 -1
arch/arm/mach-omap2/board-apollon.c
··· 203 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 208 static unsigned int led0, led1, led2; 209 209
+2 -3
arch/arm/mach-omap2/timer-gp.c
··· 37 37 omap_dm_timer_start(gptimer); 38 38 } 39 39 40 - static irqreturn_t omap2_gp_timer_interrupt(int irq, void *dev_id, 41 - struct pt_regs *regs) 40 + static irqreturn_t omap2_gp_timer_interrupt(int irq, void *dev_id) 42 41 { 43 42 write_seqlock(&xtime_lock); 44 43 45 44 omap_dm_timer_write_status(gptimer, OMAP_TIMER_INT_OVERFLOW); 46 - timer_tick(regs); 45 + timer_tick(); 47 46 48 47 write_sequnlock(&xtime_lock); 49 48
+4 -6
arch/arm/mach-pnx4008/dma.c
··· 32 32 33 33 static struct dma_channel { 34 34 char *name; 35 - void (*irq_handler) (int, int, void *, struct pt_regs *); 35 + void (*irq_handler) (int, int, void *); 36 36 void *data; 37 37 struct pnx4008_dma_ll *ll; 38 38 u32 ll_dma; ··· 150 150 #define VALID_CHANNEL(c) (((c) >= 0) && ((c) < MAX_DMA_CHANNELS)) 151 151 152 152 int pnx4008_request_channel(char *name, int ch, 153 - void (*irq_handler) (int, int, void *, 154 - struct pt_regs *), void *data) 153 + void (*irq_handler) (int, int, void *), void *data) 155 154 { 156 155 int i, found = 0; 157 156 ··· 1032 1033 1033 1034 EXPORT_SYMBOL_GPL(pnx4008_dma_ch_enabled); 1034 1035 1035 - static irqreturn_t dma_irq_handler(int irq, void *dev_id, struct pt_regs *regs) 1036 + static irqreturn_t dma_irq_handler(int irq, void *dev_id) 1036 1037 { 1037 1038 int i; 1038 1039 unsigned long dint = __raw_readl(DMAC_INT_STAT); ··· 1052 1053 cause |= DMA_ERR_INT; 1053 1054 if (tcint & i_bit) 1054 1055 cause |= DMA_TC_INT; 1055 - channel->irq_handler(i, cause, channel->data, 1056 - regs); 1056 + channel->irq_handler(i, cause, channel->data); 1057 1057 } else { 1058 1058 /* 1059 1059 * IRQ for an unregistered DMA channel
+2 -3
arch/arm/mach-pnx4008/time.c
··· 47 47 /*! 48 48 * IRQ handler for the timer 49 49 */ 50 - static irqreturn_t pnx4008_timer_interrupt(int irq, void *dev_id, 51 - struct pt_regs *regs) 50 + static irqreturn_t pnx4008_timer_interrupt(int irq, void *dev_id) 52 51 { 53 52 if (__raw_readl(HSTIM_INT) & MATCH0_INT) { 54 53 55 54 write_seqlock(&xtime_lock); 56 55 57 56 do { 58 - timer_tick(regs); 57 + timer_tick(); 59 58 60 59 /* 61 60 * this algorithm takes care of possible delay
+1 -1
arch/arm/mach-pxa/corgi.c
··· 212 212 */ 213 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 217 int err; 218 218
+4 -4
arch/arm/mach-pxa/dma.c
··· 27 27 28 28 static struct dma_channel { 29 29 char *name; 30 - void (*irq_handler)(int, void *, struct pt_regs *); 30 + void (*irq_handler)(int, void *); 31 31 void *data; 32 32 } dma_channels[PXA_DMA_CHANNELS]; 33 33 34 34 35 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 37 void *data) 38 38 { 39 39 unsigned long flags; ··· 87 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 92 int i, dint = DINT; 93 93 ··· 95 95 if (dint & (1 << i)) { 96 96 struct dma_channel *channel = &dma_channels[i]; 97 97 if (channel->name && channel->irq_handler) { 98 - channel->irq_handler(i, channel->data, regs); 98 + channel->irq_handler(i, channel->data); 99 99 } else { 100 100 /* 101 101 * IRQ for an unregistered DMA channel:
+1 -1
arch/arm/mach-pxa/idp.c
··· 125 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 130 /* setup GPIO for PXA25x MMC controller */ 131 131 pxa_gpio_mode(GPIO6_MMCCLK_MD);
+5 -6
arch/arm/mach-pxa/irq.c
··· 143 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, 147 - struct pt_regs *regs) 146 + static void pxa_gpio_demux_handler(unsigned int irq, struct irqdesc *desc) 148 147 { 149 148 unsigned int mask; 150 149 int loop; ··· 159 160 mask >>= 2; 160 161 do { 161 162 if (mask & 1) 162 - desc_handle_irq(irq, desc, regs); 163 + desc_handle_irq(irq, desc); 163 164 irq++; 164 165 desc++; 165 166 mask >>= 1; ··· 174 175 desc = irq_desc + irq; 175 176 do { 176 177 if (mask & 1) 177 - desc_handle_irq(irq, desc, regs); 178 + desc_handle_irq(irq, desc); 178 179 irq++; 179 180 desc++; 180 181 mask >>= 1; ··· 189 190 desc = irq_desc + irq; 190 191 do { 191 192 if (mask & 1) 192 - desc_handle_irq(irq, desc, regs); 193 + desc_handle_irq(irq, desc); 193 194 irq++; 194 195 desc++; 195 196 mask >>= 1; ··· 205 206 desc = irq_desc + irq; 206 207 do { 207 208 if (mask & 1) 208 - desc_handle_irq(irq, desc, regs); 209 + desc_handle_irq(irq, desc); 209 210 irq++; 210 211 desc++; 211 212 mask >>= 1;
+2 -3
arch/arm/mach-pxa/lpd270.c
··· 75 75 .unmask = lpd270_unmask_irq, 76 76 }; 77 77 78 - static void lpd270_irq_handler(unsigned int irq, struct irqdesc *desc, 79 - struct pt_regs *regs) 78 + static void lpd270_irq_handler(unsigned int irq, struct irqdesc *desc) 80 79 { 81 80 unsigned long pending; 82 81 ··· 85 86 if (likely(pending)) { 86 87 irq = LPD270_IRQ(0) + __ffs(pending); 87 88 desc = irq_desc + irq; 88 - desc_handle_irq(irq, desc, regs); 89 + desc_handle_irq(irq, desc); 89 90 90 91 pending = __raw_readw(LPD270_INT_STATUS) & 91 92 lpd270_irq_enabled;
+6 -7
arch/arm/mach-pxa/lubbock.c
··· 85 85 .unmask = lubbock_unmask_irq, 86 86 }; 87 87 88 - static void lubbock_irq_handler(unsigned int irq, struct irqdesc *desc, 89 - struct pt_regs *regs) 88 + static void lubbock_irq_handler(unsigned int irq, struct irqdesc *desc) 90 89 { 91 90 unsigned long pending = LUB_IRQ_SET_CLR & lubbock_irq_enabled; 92 91 do { ··· 93 94 if (likely(pending)) { 94 95 irq = LUBBOCK_IRQ(0) + __ffs(pending); 95 96 desc = irq_desc + irq; 96 - desc_handle_irq(irq, desc, regs); 97 + desc_handle_irq(irq, desc); 97 98 } 98 99 pending = LUB_IRQ_SET_CLR & lubbock_irq_enabled; 99 100 } while (pending); ··· 378 379 #define MMC_POLL_RATE msecs_to_jiffies(1000) 379 380 380 381 static void lubbock_mmc_poll(unsigned long); 381 - static irqreturn_t (*mmc_detect_int)(int, void *, struct pt_regs *); 382 + static irqreturn_t (*mmc_detect_int)(int, void *); 382 383 383 384 static struct timer_list mmc_timer = { 384 385 .function = lubbock_mmc_poll, ··· 402 403 } 403 404 } 404 405 405 - static irqreturn_t lubbock_detect_int(int irq, void *data, struct pt_regs *regs) 406 + static irqreturn_t lubbock_detect_int(int irq, void *data) 406 407 { 407 408 /* IRQ is level triggered; disable, and poll for removal */ 408 409 disable_irq(irq); 409 410 mod_timer(&mmc_timer, jiffies + MMC_POLL_RATE); 410 411 411 - return mmc_detect_int(irq, data, regs); 412 + return mmc_detect_int(irq, data); 412 413 } 413 414 414 415 static int lubbock_mci_init(struct device *dev, 415 - irqreturn_t (*detect_int)(int, void *, struct pt_regs *), 416 + irqreturn_t (*detect_int)(int, void *), 416 417 void *data) 417 418 { 418 419 /* setup GPIO for PXA25x MMC controller */
+3 -4
arch/arm/mach-pxa/mainstone.c
··· 71 71 .unmask = mainstone_unmask_irq, 72 72 }; 73 73 74 - static void mainstone_irq_handler(unsigned int irq, struct irqdesc *desc, 75 - struct pt_regs *regs) 74 + static void mainstone_irq_handler(unsigned int irq, struct irqdesc *desc) 76 75 { 77 76 unsigned long pending = MST_INTSETCLR & mainstone_irq_enabled; 78 77 do { ··· 79 80 if (likely(pending)) { 80 81 irq = MAINSTONE_IRQ(0) + __ffs(pending); 81 82 desc = irq_desc + irq; 82 - desc_handle_irq(irq, desc, regs); 83 + desc_handle_irq(irq, desc); 83 84 } 84 85 pending = MST_INTSETCLR & mainstone_irq_enabled; 85 86 } while (pending); ··· 313 314 .pxafb_backlight_power = mainstone_backlight_power, 314 315 }; 315 316 316 - static int mainstone_mci_init(struct device *dev, irqreturn_t (*mstone_detect_int)(int, void *, struct pt_regs *), void *data) 317 + static int mainstone_mci_init(struct device *dev, irqreturn_t (*mstone_detect_int)(int, void *), void *data) 317 318 { 318 319 int err; 319 320
+1 -1
arch/arm/mach-pxa/poodle.c
··· 197 197 */ 198 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 202 int err; 203 203
+1 -1
arch/arm/mach-pxa/spitz.c
··· 291 291 292 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 296 int err; 297 297
+1 -1
arch/arm/mach-pxa/ssp.c
··· 65 65 static DEFINE_MUTEX(mutex); 66 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 70 struct ssp_dev *dev = (struct ssp_dev*) dev_id; 71 71 unsigned int status = SSSR_P(dev->port);
+4 -4
arch/arm/mach-pxa/time.c
··· 75 75 #endif 76 76 77 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 80 int next_match; 81 81 ··· 105 105 * exactly one tick period which should be a pretty rare event. 106 106 */ 107 107 do { 108 - timer_tick(regs); 108 + timer_tick(); 109 109 OSSR = OSSR_M0; /* Clear match on timer 0 */ 110 110 next_match = (OSMR0 += LATCH); 111 111 } while( (signed long)(next_match - OSCR) <= 8 ); ··· 157 157 } 158 158 159 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 162 if (match_posponed) { 163 163 match_posponed = 0; 164 164 OSMR0 = initial_match; 165 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 168 return IRQ_NONE; 169 169 }
+1 -1
arch/arm/mach-pxa/tosa.c
··· 174 174 */ 175 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 179 int err; 180 180
+1 -1
arch/arm/mach-pxa/trizeps4.c
··· 270 270 #endif /* CONFIG_MACH_TRIZEPS4_CONXS */ 271 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 275 int err; 276 276 /* setup GPIO for PXA27x MMC controller */
+3 -3
arch/arm/mach-realview/core.c
··· 515 515 /* 516 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 520 write_seqlock(&xtime_lock); 521 521 522 522 // ...clear the interrupt 523 523 writel(1, TIMER0_VA_BASE + TIMER_INTCLR); 524 524 525 - timer_tick(regs); 525 + timer_tick(); 526 526 527 527 #if defined(CONFIG_SMP) && !defined(CONFIG_LOCAL_TIMERS) 528 528 smp_send_timer(); 529 - update_process_times(user_mode(regs)); 529 + update_process_times(user_mode(get_irq_regs())); 530 530 #endif 531 531 532 532 write_sequnlock(&xtime_lock);
+1 -1
arch/arm/mach-rpc/dma.c
··· 83 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 88 dma_t *dma = (dma_t *)dev_id; 89 89 unsigned long base = dma->dma_base;
+2 -3
arch/arm/mach-s3c2410/bast-irq.c
··· 112 112 113 113 static void 114 114 bast_irq_pc104_demux(unsigned int irq, 115 - struct irqdesc *desc, 116 - struct pt_regs *regs) 115 + struct irqdesc *desc) 117 116 { 118 117 unsigned int stat; 119 118 unsigned int irqno; ··· 132 133 if (stat & 1) { 133 134 irqno = bast_pc104_irqs[i]; 134 135 desc = irq_desc + irqno; 135 - desc_handle_irq(irqno, desc, regs); 136 + desc_handle_irq(irqno, desc); 136 137 } 137 138 } 138 139 }
+1 -1
arch/arm/mach-s3c2410/dma.c
··· 595 595 #define dmadbg2(x...) 596 596 597 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 600 struct s3c2410_dma_chan *chan = (struct s3c2410_dma_chan *)devpw; 601 601 struct s3c2410_dma_buf *buf;
+17 -24
arch/arm/mach-s3c2410/irq.c
··· 480 480 481 481 /* irq demux for adc */ 482 482 static void s3c_irq_demux_adc(unsigned int irq, 483 - struct irqdesc *desc, 484 - struct pt_regs *regs) 483 + struct irqdesc *desc) 485 484 { 486 485 unsigned int subsrc, submsk; 487 486 unsigned int offset = 9; ··· 499 500 if (subsrc != 0) { 500 501 if (subsrc & 1) { 501 502 mydesc = irq_desc + IRQ_TC; 502 - desc_handle_irq(IRQ_TC, mydesc, regs); 503 + desc_handle_irq(IRQ_TC, mydesc); 503 504 } 504 505 if (subsrc & 2) { 505 506 mydesc = irq_desc + IRQ_ADC; 506 - desc_handle_irq(IRQ_ADC, mydesc, regs); 507 + desc_handle_irq(IRQ_ADC, mydesc); 507 508 } 508 509 } 509 510 } 510 511 511 - static void s3c_irq_demux_uart(unsigned int start, 512 - struct pt_regs *regs) 512 + static void s3c_irq_demux_uart(unsigned int start) 513 513 { 514 514 unsigned int subsrc, submsk; 515 515 unsigned int offset = start - IRQ_S3CUART_RX0; ··· 531 533 desc = irq_desc + start; 532 534 533 535 if (subsrc & 1) 534 - desc_handle_irq(start, desc, regs); 536 + desc_handle_irq(start, desc); 535 537 536 538 desc++; 537 539 538 540 if (subsrc & 2) 539 - desc_handle_irq(start+1, desc, regs); 541 + desc_handle_irq(start+1, desc); 540 542 541 543 desc++; 542 544 543 545 if (subsrc & 4) 544 - desc_handle_irq(start+2, desc, regs); 546 + desc_handle_irq(start+2, desc); 545 547 } 546 548 } 547 549 ··· 549 551 550 552 static void 551 553 s3c_irq_demux_uart0(unsigned int irq, 552 - struct irqdesc *desc, 553 - struct pt_regs *regs) 554 + struct irqdesc *desc) 554 555 { 555 556 irq = irq; 556 - s3c_irq_demux_uart(IRQ_S3CUART_RX0, regs); 557 + s3c_irq_demux_uart(IRQ_S3CUART_RX0); 557 558 } 558 559 559 560 static void 560 561 s3c_irq_demux_uart1(unsigned int irq, 561 - struct irqdesc *desc, 562 - struct pt_regs *regs) 562 + struct irqdesc *desc) 563 563 { 564 564 irq = irq; 565 - s3c_irq_demux_uart(IRQ_S3CUART_RX1, regs); 565 + s3c_irq_demux_uart(IRQ_S3CUART_RX1); 566 566 } 567 567 568 568 static void 569 569 s3c_irq_demux_uart2(unsigned int irq, 570 - struct irqdesc *desc, 571 - struct pt_regs *regs) 570 + struct irqdesc *desc) 572 571 { 573 572 irq = irq; 574 - s3c_irq_demux_uart(IRQ_S3CUART_RX2, regs); 573 + s3c_irq_demux_uart(IRQ_S3CUART_RX2); 575 574 } 576 575 577 576 static void 578 577 s3c_irq_demux_extint8(unsigned int irq, 579 - struct irqdesc *desc, 580 - struct pt_regs *regs) 578 + struct irqdesc *desc) 581 579 { 582 580 unsigned long eintpnd = __raw_readl(S3C24XX_EINTPEND); 583 581 unsigned long eintmsk = __raw_readl(S3C24XX_EINTMASK); ··· 588 594 eintpnd &= ~(1<<irq); 589 595 590 596 irq += (IRQ_EINT4 - 4); 591 - desc_handle_irq(irq, irq_desc + irq, regs); 597 + desc_handle_irq(irq, irq_desc + irq); 592 598 } 593 599 594 600 } 595 601 596 602 static void 597 603 s3c_irq_demux_extint4t7(unsigned int irq, 598 - struct irqdesc *desc, 599 - struct pt_regs *regs) 604 + struct irqdesc *desc) 600 605 { 601 606 unsigned long eintpnd = __raw_readl(S3C24XX_EINTPEND); 602 607 unsigned long eintmsk = __raw_readl(S3C24XX_EINTMASK); ··· 611 618 612 619 irq += (IRQ_EINT4 - 4); 613 620 614 - desc_handle_irq(irq, irq_desc + irq, regs); 621 + desc_handle_irq(irq, irq_desc + irq); 615 622 } 616 623 } 617 624
+1 -1
arch/arm/mach-s3c2410/mach-amlm5900.c
··· 226 226 #endif 227 227 228 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 231 return IRQ_HANDLED; 232 232 }
+3 -4
arch/arm/mach-s3c2410/s3c2440-irq.c
··· 42 42 /* WDT/AC97 */ 43 43 44 44 static void s3c_irq_demux_wdtac97(unsigned int irq, 45 - struct irqdesc *desc, 46 - struct pt_regs *regs) 45 + struct irqdesc *desc) 47 46 { 48 47 unsigned int subsrc, submsk; 49 48 struct irqdesc *mydesc; ··· 60 61 if (subsrc != 0) { 61 62 if (subsrc & 1) { 62 63 mydesc = irq_desc + IRQ_S3C2440_WDT; 63 - desc_handle_irq(IRQ_S3C2440_WDT, mydesc, regs); 64 + desc_handle_irq(IRQ_S3C2440_WDT, mydesc); 64 65 } 65 66 if (subsrc & 2) { 66 67 mydesc = irq_desc + IRQ_S3C2440_AC97; 67 - desc_handle_irq(IRQ_S3C2440_AC97, mydesc, regs); 68 + desc_handle_irq(IRQ_S3C2440_AC97, mydesc); 68 69 } 69 70 } 70 71 }
+3 -4
arch/arm/mach-s3c2410/s3c244x-irq.c
··· 42 42 /* camera irq */ 43 43 44 44 static void s3c_irq_demux_cam(unsigned int irq, 45 - struct irqdesc *desc, 46 - struct pt_regs *regs) 45 + struct irqdesc *desc) 47 46 { 48 47 unsigned int subsrc, submsk; 49 48 struct irqdesc *mydesc; ··· 60 61 if (subsrc != 0) { 61 62 if (subsrc & 1) { 62 63 mydesc = irq_desc + IRQ_S3C2440_CAM_C; 63 - desc_handle_irq(IRQ_S3C2440_CAM_C, mydesc, regs); 64 + desc_handle_irq(IRQ_S3C2440_CAM_C, mydesc); 64 65 } 65 66 if (subsrc & 2) { 66 67 mydesc = irq_desc + IRQ_S3C2440_CAM_P; 67 - desc_handle_irq(IRQ_S3C2440_CAM_P, mydesc, regs); 68 + desc_handle_irq(IRQ_S3C2440_CAM_P, mydesc); 68 69 } 69 70 } 70 71 }
+2 -2
arch/arm/mach-s3c2410/time.c
··· 128 128 * IRQ handler for the timer 129 129 */ 130 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 133 write_seqlock(&xtime_lock); 134 - timer_tick(regs); 134 + timer_tick(); 135 135 write_sequnlock(&xtime_lock); 136 136 return IRQ_HANDLED; 137 137 }
+1 -1
arch/arm/mach-s3c2410/usb-simtec.c
··· 58 58 } 59 59 60 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 63 struct s3c2410_hcd_info *info = (struct s3c2410_hcd_info *)pw; 64 64
+1 -1
arch/arm/mach-sa1100/dma.c
··· 42 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 47 dma_regs_t *dma_regs = dev_id; 48 48 sa1100_dma_t *dma = dma_chan + (((u_int)dma_regs >> 5) & 7);
+3 -3
arch/arm/mach-sa1100/h3600.c
··· 702 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 707 int i; 708 708 ··· 719 719 if (0) printk("%s KPIO 0x%08X\n", __FUNCTION__, irq); 720 720 for (j = 0; j < H3800_KPIO_IRQ_COUNT; j++) 721 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 724 /* GPIO2 */ 725 725 irq = H3800_ASIC2_GPIINTFLAG; 726 726 if (0) printk("%s GPIO 0x%08X\n", __FUNCTION__, irq); 727 727 for (j = 0; j < H3800_GPIO_IRQ_COUNT; j++) 728 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 732 if (i >= MAX_ASIC_ISR_LOOPS)
+2 -3
arch/arm/mach-sa1100/irq.c
··· 110 110 * and call the handler. 111 111 */ 112 112 static void 113 - sa1100_high_gpio_handler(unsigned int irq, struct irqdesc *desc, 114 - struct pt_regs *regs) 113 + sa1100_high_gpio_handler(unsigned int irq, struct irqdesc *desc) 115 114 { 116 115 unsigned int mask; 117 116 ··· 127 128 mask >>= 11; 128 129 do { 129 130 if (mask & 1) 130 - desc_handle_irq(irq, desc, regs); 131 + desc_handle_irq(irq, desc); 131 132 mask >>= 1; 132 133 irq++; 133 134 desc++;
+4 -4
arch/arm/mach-sa1100/neponset.c
··· 29 29 * is rather unfortunate. 30 30 */ 31 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 34 unsigned int irr; 35 35 ··· 69 69 70 70 if (irr & IRR_ETHERNET) { 71 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 75 if (irr & IRR_USAR) { 76 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 80 desc->chip->unmask(irq); ··· 82 82 83 83 if (irr & IRR_SA1111) { 84 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 }
+1 -1
arch/arm/mach-sa1100/ssp.c
··· 25 25 26 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 30 unsigned int status = Ser4SSSR; 31 31
+4 -4
arch/arm/mach-sa1100/time.c
··· 77 77 #endif 78 78 79 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 82 unsigned int next_match; 83 83 ··· 99 99 * handlers. 100 100 */ 101 101 do { 102 - timer_tick(regs); 102 + timer_tick(); 103 103 OSSR = OSSR_M0; /* Clear match on timer 0 */ 104 104 next_match = (OSMR0 += LATCH); 105 105 } while ((signed long)(next_match - OSCR) <= 0); ··· 151 151 } 152 152 153 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 156 if (match_posponed) { 157 157 match_posponed = 0; 158 158 OSMR0 = initial_match; 159 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 162 return IRQ_NONE; 163 163 }
+2 -2
arch/arm/mach-shark/core.c
··· 80 80 #define HZ_TIME ((1193180 + HZ/2) / HZ) 81 81 82 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 85 write_seqlock(&xtime_lock); 86 - timer_tick(regs); 86 + timer_tick(); 87 87 write_sequnlock(&xtime_lock); 88 88 return IRQ_HANDLED; 89 89 }
+1 -1
arch/arm/mach-shark/irq.c
··· 61 61 62 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 66 printk("Got interrupt %i!\n",irq); 67 67 return IRQ_NONE;
+5 -5
arch/arm/mach-versatile/core.c
··· 77 77 }; 78 78 79 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 82 unsigned long status = readl(VA_SIC_BASE + SIC_IRQ_STATUS); 83 83 84 84 if (status == 0) { 85 - do_bad_IRQ(irq, desc, regs); 85 + do_bad_IRQ(irq, desc); 86 86 return; 87 87 } 88 88 ··· 93 93 irq += IRQ_SIC_START; 94 94 95 95 desc = irq_desc + irq; 96 - desc_handle_irq(irq, desc, regs); 96 + desc_handle_irq(irq, desc); 97 97 } while (status); 98 98 } 99 99 ··· 851 851 /* 852 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 856 write_seqlock(&xtime_lock); 857 857 858 858 // ...clear the interrupt 859 859 writel(1, TIMER0_VA_BASE + TIMER_INTCLR); 860 860 861 - timer_tick(regs); 861 + timer_tick(); 862 862 863 863 write_sequnlock(&xtime_lock); 864 864
+2 -2
arch/arm/oprofile/op_model_xscale.c
··· 341 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 346 int i; 347 347 u32 pmnc; ··· 356 356 continue; 357 357 358 358 write_counter(i, -(u32)results[i].reset_counter); 359 - oprofile_add_sample(regs, i); 359 + oprofile_add_sample(get_irq_regs(), i); 360 360 results[i].ovf--; 361 361 } 362 362
+2 -2
arch/arm/plat-iop/time.c
··· 47 47 } 48 48 49 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 52 write_seqlock(&xtime_lock); 53 53 ··· 57 57 58 58 while ((signed long)(next_jiffy_time - *IOP3XX_TU_TCR1) 59 59 >= ticks_per_jiffy) { 60 - timer_tick(regs); 60 + timer_tick(); 61 61 next_jiffy_time -= ticks_per_jiffy; 62 62 } 63 63
+3 -6
arch/arm/plat-omap/dma.c
··· 899 899 return 1; 900 900 } 901 901 902 - static irqreturn_t omap1_dma_irq_handler(int irq, void *dev_id, 903 - struct pt_regs *regs) 902 + static irqreturn_t omap1_dma_irq_handler(int irq, void *dev_id) 904 903 { 905 904 int ch = ((int) dev_id) - 1; 906 905 int handled = 0; ··· 961 962 } 962 963 963 964 /* STATUS register count is from 1-32 while our is 0-31 */ 964 - static irqreturn_t omap2_dma_irq_handler(int irq, void *dev_id, 965 - struct pt_regs *regs) 965 + static irqreturn_t omap2_dma_irq_handler(int irq, void *dev_id) 966 966 { 967 967 u32 val; 968 968 int i; ··· 1218 1220 omap_writew(fi, OMAP1610_DMA_LCD_SRC_FI_B1_L); 1219 1221 } 1220 1222 1221 - static irqreturn_t lcd_dma_irq_handler(int irq, void *dev_id, 1222 - struct pt_regs *regs) 1223 + static irqreturn_t lcd_dma_irq_handler(int irq, void *dev_id) 1223 1224 { 1224 1225 u16 w; 1225 1226
+2 -3
arch/arm/plat-omap/gpio.c
··· 783 783 * line's interrupt handler has been run, we may miss some nested 784 784 * interrupts. 785 785 */ 786 - static void gpio_irq_handler(unsigned int irq, struct irqdesc *desc, 787 - struct pt_regs *regs) 786 + static void gpio_irq_handler(unsigned int irq, struct irqdesc *desc) 788 787 { 789 788 void __iomem *isr_reg = NULL; 790 789 u32 isr; ··· 881 882 continue; 882 883 } 883 884 884 - desc_handle_irq(gpio_irq, d, regs); 885 + desc_handle_irq(gpio_irq, d); 885 886 886 887 if (unlikely((d->status & IRQ_PENDING) && !d->depth)) { 887 888 irq_mask = 1 <<
+2 -2
arch/arm/plat-omap/mcbsp.c
··· 96 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 101 struct omap_mcbsp * mcbsp_tx = (struct omap_mcbsp *)(dev_id); 102 102 ··· 106 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 111 struct omap_mcbsp * mcbsp_rx = (struct omap_mcbsp *)(dev_id); 112 112
+6 -9
arch/arm/plat-omap/timer32k.c
··· 194 194 * issues with dynamic tick. In the dynamic tick case, we need to lock 195 195 * with irqsave. 196 196 */ 197 - static inline irqreturn_t _omap_32k_timer_interrupt(int irq, void *dev_id, 198 - struct pt_regs *regs) 197 + static inline irqreturn_t _omap_32k_timer_interrupt(int irq, void *dev_id) 199 198 { 200 199 unsigned long now; 201 200 ··· 204 205 while ((signed long)(now - omap_32k_last_tick) 205 206 >= OMAP_32K_TICKS_PER_HZ) { 206 207 omap_32k_last_tick += OMAP_32K_TICKS_PER_HZ; 207 - timer_tick(regs); 208 + timer_tick(); 208 209 } 209 210 210 211 /* Restart timer so we don't drift off due to modulo or dynamic tick. ··· 217 218 return IRQ_HANDLED; 218 219 } 219 220 220 - static irqreturn_t omap_32k_timer_handler(int irq, void *dev_id, 221 - struct pt_regs *regs) 221 + static irqreturn_t omap_32k_timer_handler(int irq, void *dev_id) 222 222 { 223 - return _omap_32k_timer_interrupt(irq, dev_id, regs); 223 + return _omap_32k_timer_interrupt(irq, dev_id); 224 224 } 225 225 226 - static irqreturn_t omap_32k_timer_interrupt(int irq, void *dev_id, 227 - struct pt_regs *regs) 226 + static irqreturn_t omap_32k_timer_interrupt(int irq, void *dev_id) 228 227 { 229 228 unsigned long flags; 230 229 231 230 write_seqlock_irqsave(&xtime_lock, flags); 232 - _omap_32k_timer_interrupt(irq, dev_id, regs); 231 + _omap_32k_timer_interrupt(irq, dev_id); 233 232 write_sequnlock_irqrestore(&xtime_lock, flags); 234 233 235 234 return IRQ_HANDLED;
+2 -1
include/asm-arm/arch-clps711x/time.h
··· 26 26 * IRQ handler for the timer 27 27 */ 28 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 32 do_leds(); 32 33 do_timer(1); 33 34 #ifndef CONFIG_SMP
+4 -4
include/asm-arm/arch-imx/imx-dma.h
··· 45 45 46 46 struct imx_dma_channel { 47 47 const char *name; 48 - void (*irq_handler) (int, void *, struct pt_regs *); 49 - void (*err_handler) (int, void *, struct pt_regs *, int errcode); 48 + void (*irq_handler) (int, void *); 49 + void (*err_handler) (int, void *, int errcode); 50 50 void *data; 51 51 dmamode_t dma_mode; 52 52 struct scatterlist *sg; ··· 77 77 78 78 int 79 79 imx_dma_setup_handlers(imx_dmach_t dma_ch, 80 - void (*irq_handler) (int, void *, struct pt_regs *), 81 - void (*err_handler) (int, void *, struct pt_regs *, int), void *data); 80 + void (*irq_handler) (int, void *), 81 + void (*err_handler) (int, void *, int), void *data); 82 82 83 83 void imx_dma_enable(imx_dmach_t dma_ch); 84 84
+2 -1
include/asm-arm/arch-l7200/time.h
··· 43 43 * Handler for RTC timer interrupt 44 44 */ 45 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 49 do_timer(1); 49 50 #ifndef CONFIG_SMP 50 51 update_process_times(user_mode(regs));
+1 -1
include/asm-arm/arch-pnx4008/dma.h
··· 137 137 extern void pnx4008_free_ll(u32 ll_dma, struct pnx4008_dma_ll *); 138 138 139 139 extern int pnx4008_request_channel(char *, int, 140 - void (*)(int, int, void *, struct pt_regs *), 140 + void (*)(int, int, void *), 141 141 void *); 142 142 extern void pnx4008_free_channel(int); 143 143 extern int pnx4008_config_dma(int, int, int);
+1 -1
include/asm-arm/arch-pxa/dma.h
··· 56 56 57 57 int pxa_request_dma (char *name, 58 58 pxa_dma_prio prio, 59 - void (*irq_handler)(int, void *, struct pt_regs *), 59 + void (*irq_handler)(int, void *), 60 60 void *data); 61 61 62 62 void pxa_free_dma (int dma_ch);
+1 -1
include/asm-arm/arch-pxa/mmc.h
··· 10 10 struct pxamci_platform_data { 11 11 unsigned int ocr_mask; /* available voltages */ 12 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 14 int (*get_ro)(struct device *); 15 15 void (*setpower)(struct device *, unsigned int); 16 16 void (*exit)(struct device *, void *);
+3 -3
include/asm-arm/hardware/sharpsl_pm.h
··· 100 100 101 101 void sharpsl_battery_kick(void); 102 102 void sharpsl_pm_led(int val); 103 - irqreturn_t sharpsl_ac_isr(int irq, void *dev_id, struct pt_regs *fp); 104 - irqreturn_t sharpsl_chrg_full_isr(int irq, void *dev_id, struct pt_regs *fp); 105 - irqreturn_t sharpsl_fatal_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); 105 + irqreturn_t sharpsl_fatal_isr(int irq, void *dev_id); 106 106
+1
include/asm-arm/irq_regs.h
··· 1 + #include <asm-generic/irq_regs.h>
+4 -5
include/asm-arm/mach/irq.h
··· 30 30 /* 31 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, 34 - struct pt_regs *regs) 33 + static inline void desc_handle_irq(unsigned int irq, struct irq_desc *desc) 35 34 { 36 - desc->handle_irq(irq, desc, regs); 35 + desc->handle_irq(irq, desc); 37 36 } 38 37 39 38 void set_irq_flags(unsigned int irq, unsigned int flags); ··· 50 51 #define irqdesc irq_desc 51 52 #define irqchip irq_chip 52 53 53 - #define do_bad_IRQ(irq,desc,regs) \ 54 + #define do_bad_IRQ(irq,desc) \ 54 55 do { \ 55 56 spin_lock(&desc->lock); \ 56 - handle_bad_irq(irq, desc, regs); \ 57 + handle_bad_irq(irq, desc); \ 57 58 spin_unlock(&desc->lock); \ 58 59 } while(0) 59 60
+2 -2
include/asm-arm/mach/time.h
··· 57 57 int (*enable)(void); /* Enables dynamic tick */ 58 58 int (*disable)(void); /* Disables dynamic tick */ 59 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 63 void timer_dyn_reprogram(void); ··· 66 66 #endif 67 67 68 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 72 * Kernel time keeping support.