]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - arch/frv/kernel/time.c
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
[net-next-2.6.git] / arch / frv / kernel / time.c
index 44a9aebc4f5a1637d1076510c1900c3aae33fa2c..ed588d73d7d8528bb93f4909affca45403270d87 100644 (file)
@@ -40,7 +40,7 @@ unsigned long __nongprelbss __dsu_clock_speed_HZ;
 unsigned long __nongprelbss __serial_clock_speed_HZ;
 unsigned long __delay_loops_MHz;
 
-static irqreturn_t timer_interrupt(int irq, void *dummy, struct pt_regs *regs);
+static irqreturn_t timer_interrupt(int irq, void *dummy);
 
 static struct irqaction timer_irq  = {
        timer_interrupt, IRQF_DISABLED, CPU_MASK_NONE, "timer", NULL, NULL
@@ -55,7 +55,7 @@ static inline int set_rtc_mmss(unsigned long nowtime)
  * timer_interrupt() needs to keep up the real-time clock,
  * as well as call the "do_timer()" routine every clocktick
  */
-static irqreturn_t timer_interrupt(int irq, void *dummy, struct pt_regs * regs)
+static irqreturn_t timer_interrupt(int irq, void *dummy)
 {
        /* last time the cmos clock got updated */
        static long last_rtc_update = 0;
@@ -70,8 +70,8 @@ static irqreturn_t timer_interrupt(int irq, void *dummy, struct pt_regs * regs)
        write_seqlock(&xtime_lock);
 
        do_timer(1);
-       update_process_times(user_mode(regs));
-       profile_tick(CPU_PROFILING, regs);
+       update_process_times(user_mode(get_irq_regs()));
+       profile_tick(CPU_PROFILING);
 
        /*
         * If we have an externally synchronized Linux clock, then update