summaryrefslogtreecommitdiff
path: root/drivers/input/ff-memless.c
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2017-10-20 03:22:46 +0300
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2017-10-24 02:31:52 +0300
commit34445d4b3814b22a225819566f85516f3b04808f (patch)
treeb4518a42b140aa4179da37b9de50622b5f994cc6 /drivers/input/ff-memless.c
parent17a58edc79a0c8cbfe1a74669089f5a1a0157365 (diff)
downloadlinux-34445d4b3814b22a225819566f85516f3b04808f.tar.xz
Input: ff_memless - convert to using timer_setup()
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: Kees Cook <keescook@chromium.org> Reviewed-by: Pali Rohár <pali.rohar@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/ff-memless.c')
-rw-r--r--drivers/input/ff-memless.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/input/ff-memless.c b/drivers/input/ff-memless.c
index fcc6c3368182..2743ed4656e4 100644
--- a/drivers/input/ff-memless.c
+++ b/drivers/input/ff-memless.c
@@ -412,10 +412,10 @@ static void ml_play_effects(struct ml_device *ml)
ml_schedule_timer(ml);
}
-static void ml_effect_timer(unsigned long timer_data)
+static void ml_effect_timer(struct timer_list *t)
{
- struct input_dev *dev = (struct input_dev *)timer_data;
- struct ml_device *ml = dev->ff->private;
+ struct ml_device *ml = from_timer(ml, t, timer);
+ struct input_dev *dev = ml->dev;
unsigned long flags;
pr_debug("timer: updating effects\n");
@@ -526,7 +526,7 @@ int input_ff_create_memless(struct input_dev *dev, void *data,
ml->private = data;
ml->play_effect = play_effect;
ml->gain = 0xffff;
- setup_timer(&ml->timer, ml_effect_timer, (unsigned long)dev);
+ timer_setup(&ml->timer, ml_effect_timer, 0);
set_bit(FF_GAIN, dev->ffbit);