Commit 56546e3b authored by Kees Cook's avatar Kees Cook Committed by David S. Miller

drivers/net: wan/sbni: Convert timers to use 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.

Cc: David Howells <dhowells@redhat.com>
Cc: netdev@vger.kernel.org
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent fd71e13b
...@@ -71,6 +71,7 @@ ...@@ -71,6 +71,7 @@
struct net_local { struct net_local {
struct timer_list watchdog; struct timer_list watchdog;
struct net_device *watchdog_dev;
spinlock_t lock; spinlock_t lock;
struct sk_buff *rx_buf_p; /* receive buffer ptr */ struct sk_buff *rx_buf_p; /* receive buffer ptr */
...@@ -128,7 +129,7 @@ static void send_frame( struct net_device * ); ...@@ -128,7 +129,7 @@ static void send_frame( struct net_device * );
static int upload_data( struct net_device *, static int upload_data( struct net_device *,
unsigned, unsigned, unsigned, u32 ); unsigned, unsigned, unsigned, u32 );
static void download_data( struct net_device *, 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 void interpret_ack( struct net_device *, unsigned );
static int append_frame_to_pkt( struct net_device *, unsigned, u32 ); static int append_frame_to_pkt( struct net_device *, unsigned, u32 );
static void indicate_pkt( struct net_device * ); static void indicate_pkt( struct net_device * );
...@@ -1029,11 +1030,10 @@ indicate_pkt( struct net_device *dev ) ...@@ -1029,11 +1030,10 @@ indicate_pkt( struct net_device *dev )
*/ */
static void 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 = from_timer(nl, t, watchdog);
struct net_local *nl = netdev_priv(dev); struct net_device *dev = nl->watchdog_dev;
struct timer_list *w = &nl->watchdog;
unsigned long flags; unsigned long flags;
unsigned char csr0; unsigned char csr0;
...@@ -1060,11 +1060,7 @@ sbni_watchdog( unsigned long arg ) ...@@ -1060,11 +1060,7 @@ sbni_watchdog( unsigned long arg )
outb( csr0 | RC_CHK, dev->base_addr + CSR0 ); outb( csr0 | RC_CHK, dev->base_addr + CSR0 );
init_timer( w ); mod_timer(t, jiffies + SBNI_TIMEOUT);
w->expires = jiffies + SBNI_TIMEOUT;
w->data = arg;
w->function = sbni_watchdog;
add_timer( w );
spin_unlock_irqrestore( &nl->lock, flags ); spin_unlock_irqrestore( &nl->lock, flags );
} }
...@@ -1195,10 +1191,9 @@ sbni_open( struct net_device *dev ) ...@@ -1195,10 +1191,9 @@ sbni_open( struct net_device *dev )
netif_start_queue( dev ); netif_start_queue( dev );
/* set timer watchdog */ /* set timer watchdog */
init_timer( w ); nl->watchdog_dev = dev;
timer_setup(w, sbni_watchdog, 0);
w->expires = jiffies + SBNI_TIMEOUT; w->expires = jiffies + SBNI_TIMEOUT;
w->data = (unsigned long) dev;
w->function = sbni_watchdog;
add_timer( w ); add_timer( w );
spin_unlock( &nl->lock ); spin_unlock( &nl->lock );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment