From: Kees Cook Date: Fri, 20 Oct 2017 00:22:46 +0000 (-0700) Subject: Input: byd - convert to using timer_setup() X-Git-Tag: rel_imx_4.19.35_1.1.0~9113^2~72^2~27 X-Git-Url: https://git.somdevices.com/?a=commitdiff_plain;h=ce23cbc857e0b1bccdc11ffa2fb8286021c70eec;p=linux.git Input: byd - 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 Reviewed-by: Pali Rohár Signed-off-by: Dmitry Torokhov --- diff --git a/drivers/input/mouse/byd.c b/drivers/input/mouse/byd.c index b64b81599f7e..f2aabf7f906f 100644 --- a/drivers/input/mouse/byd.c +++ b/drivers/input/mouse/byd.c @@ -227,6 +227,7 @@ struct byd_data { struct timer_list timer; + struct psmouse *psmouse; s32 abs_x; s32 abs_y; typeof(jiffies) last_touch_time; @@ -251,10 +252,10 @@ static void byd_report_input(struct psmouse *psmouse) input_sync(dev); } -static void byd_clear_touch(unsigned long data) +static void byd_clear_touch(struct timer_list *t) { - struct psmouse *psmouse = (struct psmouse *)data; - struct byd_data *priv = psmouse->private; + struct byd_data *priv = from_timer(priv, t, timer); + struct psmouse *psmouse = priv->psmouse; serio_pause_rx(psmouse->ps2dev.serio); priv->touch = false; @@ -478,7 +479,8 @@ int byd_init(struct psmouse *psmouse) if (!priv) return -ENOMEM; - setup_timer(&priv->timer, byd_clear_touch, (unsigned long) psmouse); + priv->psmouse = psmouse; + timer_setup(&priv->timer, byd_clear_touch, 0); psmouse->private = priv; psmouse->disconnect = byd_disconnect;