Input: alps - convert to using timer_setup()
authorKees Cook <keescook@chromium.org>
Mon, 23 Oct 2017 18:54:25 +0000 (11:54 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 23 Oct 2017 23:31:50 +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: Kees Cook <keescook@chromium.org>
Reviewed-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/mouse/alps.c

index 850b00e3ad8ecde13046449befa4fad95e308a60..579b899add268ebb74499c6ce4272e211116160d 100644 (file)
@@ -1587,10 +1587,10 @@ static psmouse_ret_t alps_handle_interleaved_ps2(struct psmouse *psmouse)
        return PSMOUSE_GOOD_DATA;
 }
 
-static void alps_flush_packet(unsigned long data)
+static void alps_flush_packet(struct timer_list *t)
 {
-       struct psmouse *psmouse = (struct psmouse *)data;
-       struct alps_data *priv = psmouse->private;
+       struct alps_data *priv = from_timer(priv, t, timer);
+       struct psmouse *psmouse = priv->psmouse;
 
        serio_pause_rx(psmouse->ps2dev.serio);
 
@@ -2702,7 +2702,7 @@ static int alps_set_protocol(struct psmouse *psmouse,
 {
        psmouse->private = priv;
 
-       setup_timer(&priv->timer, alps_flush_packet, (unsigned long)psmouse);
+       timer_setup(&priv->timer, alps_flush_packet, 0);
 
        priv->proto_version = protocol->version;
        priv->byte0 = protocol->byte0;