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.
Cc: Valentina Manea <valentina.manea.m@gmail.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        return sent;
 }
 
-static void v_timer(unsigned long _vudc)
+static void v_timer(struct timer_list *t)
 {
-       struct vudc *udc = (struct vudc *) _vudc;
+       struct vudc *udc = from_timer(udc, t, tr_timer.timer);
        struct transfer_timer *timer = &udc->tr_timer;
        struct urbp *urb_p, *tmp;
        unsigned long flags;
 {
        struct transfer_timer *t = &udc->tr_timer;
 
-       setup_timer(&t->timer, v_timer, (unsigned long) udc);
+       timer_setup(&t->timer, v_timer, 0);
        t->state = VUDC_TR_STOPPED;
 }