]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/net/wan/sbni.c
drivers/net: wan/sbni: Convert timers to use timer_setup()
[mirror_ubuntu-bionic-kernel.git] / drivers / net / wan / sbni.c
index bde8c0339831934f43bfeb5bd5155802e94d5909..8e8c4c0e1b64cc8c819a72c95e71f9cb246f760d 100644 (file)
@@ -71,6 +71,7 @@
 
 struct net_local {
        struct timer_list       watchdog;
+       struct net_device       *watchdog_dev;
 
        spinlock_t      lock;
        struct sk_buff  *rx_buf_p;              /* receive buffer ptr */
@@ -128,7 +129,7 @@ static void  send_frame( struct net_device * );
 static int   upload_data( struct net_device *,
                          unsigned, unsigned, unsigned, u32 );
 static void  download_data( struct net_device *, u32 * );
-static void  sbni_watchdog( unsigned long );
+static void  sbni_watchdog(struct timer_list *);
 static void  interpret_ack( struct net_device *, unsigned );
 static int   append_frame_to_pkt( struct net_device *, unsigned, u32 );
 static void  indicate_pkt( struct net_device * );
@@ -1029,11 +1030,10 @@ indicate_pkt( struct net_device  *dev )
  */
 
 static void
-sbni_watchdog( unsigned long  arg )
+sbni_watchdog(struct timer_list *t)
 {
-       struct net_device  *dev = (struct net_device *) arg;
-       struct net_local   *nl  = netdev_priv(dev);
-       struct timer_list  *w   = &nl->watchdog; 
+       struct net_local   *nl  = from_timer(nl, t, watchdog);
+       struct net_device  *dev = nl->watchdog_dev;
        unsigned long      flags;
        unsigned char      csr0;
 
@@ -1060,11 +1060,7 @@ sbni_watchdog( unsigned long  arg )
 
        outb( csr0 | RC_CHK, dev->base_addr + CSR0 ); 
 
-       init_timer( w );
-       w->expires      = jiffies + SBNI_TIMEOUT;
-       w->data         = arg;
-       w->function     = sbni_watchdog;
-       add_timer( w );
+       mod_timer(t, jiffies + SBNI_TIMEOUT);
 
        spin_unlock_irqrestore( &nl->lock, flags );
 }
@@ -1195,10 +1191,9 @@ handler_attached:
        netif_start_queue( dev );
 
        /* set timer watchdog */
-       init_timer( w );
+       nl->watchdog_dev = dev;
+       timer_setup(w, sbni_watchdog, 0);
        w->expires      = jiffies + SBNI_TIMEOUT;
-       w->data         = (unsigned long) dev;
-       w->function     = sbni_watchdog;
        add_timer( w );
    
        spin_unlock( &nl->lock );