OSDN Git Service

tty: mips_ejtag_fdc: Convert timers to use timer_setup()
authorKees Cook <keescook@chromium.org>
Mon, 16 Oct 2017 23:29:33 +0000 (16:29 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 20 Oct 2017 12:06:46 +0000 (14:06 +0200)
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: Jiri Slaby <jslaby@suse.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/mips_ejtag_fdc.c

index a2dab3f..51678f3 100644 (file)
@@ -683,9 +683,9 @@ static irqreturn_t mips_ejtag_fdc_isr(int irq, void *dev_id)
  * It simply triggers the common FDC handler code and arranges for further
  * polling.
  */
-static void mips_ejtag_fdc_tty_timer(unsigned long opaque)
+static void mips_ejtag_fdc_tty_timer(struct timer_list *t)
 {
-       struct mips_ejtag_fdc_tty *priv = (void *)opaque;
+       struct mips_ejtag_fdc_tty *priv = from_timer(priv, t, poll_timer);
 
        mips_ejtag_fdc_handle(priv);
        if (!priv->removing)
@@ -1002,8 +1002,8 @@ static int mips_ejtag_fdc_tty_probe(struct mips_cdmm_device *dev)
                raw_spin_unlock_irq(&priv->lock);
        } else {
                /* If we didn't get an usable IRQ, poll instead */
-               setup_pinned_timer(&priv->poll_timer, mips_ejtag_fdc_tty_timer,
-                           (unsigned long)priv);
+               timer_setup(&priv->poll_timer, mips_ejtag_fdc_tty_timer,
+                           TIMER_PINNED);
                priv->poll_timer.expires = jiffies + FDC_TTY_POLL;
                /*
                 * Always attach the timer to the right CPU. The channels are