[Bluetooth] Integrate services into the driver model
[pandora-kernel.git] / kernel / itimer.c
index 680e6b7..204ed79 100644 (file)
@@ -128,16 +128,16 @@ asmlinkage long sys_getitimer(int which, struct itimerval __user *value)
 /*
  * The timer is automagically restarted, when interval != 0
  */
-int it_real_fn(void *data)
+int it_real_fn(struct hrtimer *timer)
 {
-       struct task_struct *tsk = (struct task_struct *) data;
+       struct signal_struct *sig =
+           container_of(timer, struct signal_struct, real_timer);
 
-       send_group_sig_info(SIGALRM, SEND_SIG_PRIV, tsk);
-
-       if (tsk->signal->it_real_incr.tv64 != 0) {
-               hrtimer_forward(&tsk->signal->real_timer,
-                              tsk->signal->it_real_incr);
+       send_group_sig_info(SIGALRM, SEND_SIG_PRIV, sig->tsk);
 
+       if (sig->it_real_incr.tv64 != 0) {
+               hrtimer_forward(timer, timer->base->softirq_time,
+                               sig->it_real_incr);
                return HRTIMER_RESTART;
        }
        return HRTIMER_NORESTART;