Input: ad7877 - convert to using timer_setup()
authorstephen lu <lumotuwe@gmail.com>
Mon, 23 Oct 2017 21:51:37 +0000 (14:51 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 23 Oct 2017 23:31:56 +0000 (16:31 -0700)
In preparation for unconditionally passing the struct timer_list pointer to
all timer callbacks, switch to using the new timer_setup() and from_timer()
to pass the timer pointer explicitly.

Signed-off-by: Stephen Lu <lumotuwe@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/ad7877.c

index 9c250ae..0381c78 100644 (file)
@@ -385,9 +385,9 @@ static inline void ad7877_ts_event_release(struct ad7877 *ts)
        input_sync(input_dev);
 }
 
-static void ad7877_timer(unsigned long handle)
+static void ad7877_timer(struct timer_list *t)
 {
-       struct ad7877 *ts = (void *)handle;
+       struct ad7877 *ts = from_timer(ts, t, timer);
        unsigned long flags;
 
        spin_lock_irqsave(&ts->lock, flags);
@@ -718,7 +718,7 @@ static int ad7877_probe(struct spi_device *spi)
        ts->spi = spi;
        ts->input = input_dev;
 
-       setup_timer(&ts->timer, ad7877_timer, (unsigned long) ts);
+       timer_setup(&ts->timer, ad7877_timer, 0);
        mutex_init(&ts->mutex);
        spin_lock_init(&ts->lock);