[PATCH] m68k pt_regs fixes
m68k_handle_int() split in two functions: __m68k_handle_int() takes pt_regs * and does set_irq_regs(); m68k_handle_int() doesn't get pt_regs *. Places where we used to call m68k_handle_int() recursively with the same pt_regs have simply lost the second argument, the rest is switched to __m68k_handle_int(). The rest of patch is just dropping pt_regs * where needed. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
@@ -36,15 +36,15 @@
|
||||
|
||||
#define INTVAL ((10000 / 4) - 1)
|
||||
|
||||
static irqreturn_t hp300_tick(int irq, void *dev_id, struct pt_regs *regs)
|
||||
static irqreturn_t hp300_tick(int irq, void *dev_id)
|
||||
{
|
||||
unsigned long tmp;
|
||||
irqreturn_t (*vector)(int, void *, struct pt_regs *) = dev_id;
|
||||
irqreturn_t (*vector)(int, void *) = dev_id;
|
||||
in_8(CLOCKBASE + CLKSR);
|
||||
asm volatile ("movpw %1@(5),%0" : "=d" (tmp) : "a" (CLOCKBASE));
|
||||
/* Turn off the network and SCSI leds */
|
||||
blinken_leds(0, 0xe0);
|
||||
return vector(irq, NULL, regs);
|
||||
return vector(irq, NULL);
|
||||
}
|
||||
|
||||
unsigned long hp300_gettimeoffset(void)
|
||||
@@ -63,7 +63,7 @@ unsigned long hp300_gettimeoffset(void)
|
||||
return (USECS_PER_JIFFY * ticks) / INTVAL;
|
||||
}
|
||||
|
||||
void __init hp300_sched_init(irqreturn_t (*vector)(int, void *, struct pt_regs *))
|
||||
void __init hp300_sched_init(irqreturn_t (*vector)(int, void *))
|
||||
{
|
||||
out_8(CLOCKBASE + CLKCR2, 0x1); /* select CR1 */
|
||||
out_8(CLOCKBASE + CLKCR1, 0x1); /* reset */
|
||||
|
Fai riferimento in un nuovo problema
Block a user