* issues with dynamic tick. In the dynamic tick case, we need to lock
  * with irqsave.
  */
-static inline irqreturn_t _omap_32k_timer_interrupt(int irq, void *dev_id,
-                                       struct pt_regs *regs)
+static inline irqreturn_t _omap_32k_timer_interrupt(int irq, void *dev_id)
 {
        unsigned long now;
 
        while ((signed long)(now - omap_32k_last_tick)
                                                >= OMAP_32K_TICKS_PER_HZ) {
                omap_32k_last_tick += OMAP_32K_TICKS_PER_HZ;
-               timer_tick(regs);
+               timer_tick();
        }
 
        /* Restart timer so we don't drift off due to modulo or dynamic tick.
        return IRQ_HANDLED;
 }
 
-static irqreturn_t omap_32k_timer_handler(int irq, void *dev_id,
-                                       struct pt_regs *regs)
+static irqreturn_t omap_32k_timer_handler(int irq, void *dev_id)
 {
        unsigned long now;
 
        if (now - omap_32k_last_tick < OMAP_32K_TICKS_PER_HZ)
                return IRQ_HANDLED;
 
-       return _omap_32k_timer_interrupt(irq, dev_id, regs);
+       return _omap_32k_timer_interrupt(irq, dev_id);
 }
 
-static irqreturn_t omap_32k_timer_interrupt(int irq, void *dev_id,
-                                           struct pt_regs *regs)
+static irqreturn_t omap_32k_timer_interrupt(int irq, void *dev_id)
 {
        unsigned long flags;
 
        write_seqlock_irqsave(&xtime_lock, flags);
-       _omap_32k_timer_interrupt(irq, dev_id, regs);
+       _omap_32k_timer_interrupt(irq, dev_id);
        write_sequnlock_irqrestore(&xtime_lock, flags);
 
        return IRQ_HANDLED;