Merge branch 'next' into for-linus
[sfrench/cifs-2.6.git] / drivers / input / touchscreen / tsc200x-core.c
index abf27578beb149e71a8a9f4ab4027f108c6b2b98..e0fde590df8e5f4a7c749ee2b40e5e0b8750edff 100644 (file)
@@ -202,9 +202,9 @@ out:
        return IRQ_HANDLED;
 }
 
-static void tsc200x_penup_timer(unsigned long data)
+static void tsc200x_penup_timer(struct timer_list *t)
 {
-       struct tsc200x *ts = (struct tsc200x *)data;
+       struct tsc200x *ts = from_timer(ts, t, penup_timer);
        unsigned long flags;
 
        spin_lock_irqsave(&ts->lock, flags);
@@ -506,7 +506,7 @@ int tsc200x_probe(struct device *dev, int irq, const struct input_id *tsc_id,
        mutex_init(&ts->mutex);
 
        spin_lock_init(&ts->lock);
-       setup_timer(&ts->penup_timer, tsc200x_penup_timer, (unsigned long)ts);
+       timer_setup(&ts->penup_timer, tsc200x_penup_timer, 0);
 
        INIT_DELAYED_WORK(&ts->esd_work, tsc200x_esd_work);