drivers/net: 3com/3c515: Convert timers to use timer_setup()
authorKees Cook <keescook@chromium.org>
Wed, 25 Oct 2017 10:51:03 +0000 (03:51 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 27 Oct 2017 03:09:15 +0000 (12:09 +0900)
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 S. Miller" <davem@davemloft.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Stephen Hemminger <stephen@networkplumber.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: netdev@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/3com/3c515.c

index c5987f5..b648e3f 100644 (file)
@@ -367,7 +367,7 @@ static struct net_device *corkscrew_scan(int unit);
 static int corkscrew_setup(struct net_device *dev, int ioaddr,
                            struct pnp_dev *idev, int card_number);
 static int corkscrew_open(struct net_device *dev);
-static void corkscrew_timer(unsigned long arg);
+static void corkscrew_timer(struct timer_list *t);
 static netdev_tx_t corkscrew_start_xmit(struct sk_buff *skb,
                                        struct net_device *dev);
 static int corkscrew_rx(struct net_device *dev);
@@ -627,7 +627,7 @@ static int corkscrew_setup(struct net_device *dev, int ioaddr,
 
        spin_lock_init(&vp->lock);
 
-       setup_timer(&vp->timer, corkscrew_timer, (unsigned long) dev);
+       timer_setup(&vp->timer, corkscrew_timer, 0);
 
        /* Read the station address from the EEPROM. */
        EL3WINDOW(0);
@@ -869,11 +869,11 @@ static int corkscrew_open(struct net_device *dev)
        return 0;
 }
 
-static void corkscrew_timer(unsigned long data)
+static void corkscrew_timer(struct timer_list *t)
 {
 #ifdef AUTOMEDIA
-       struct net_device *dev = (struct net_device *) data;
-       struct corkscrew_private *vp = netdev_priv(dev);
+       struct corkscrew_private *vp = from_timer(vp, t, timer);
+       struct net_device *dev = vp->our_dev;
        int ioaddr = dev->base_addr;
        unsigned long flags;
        int ok = 0;