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" <da...@davemloft.net>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Stephen Hemminger <step...@networkplumber.org>
Cc: Johannes Berg <johannes.b...@intel.com>
Cc: netdev@vger.kernel.org
Signed-off-by: Kees Cook <keesc...@chromium.org>
---
 drivers/net/ethernet/3com/3c515.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/3com/3c515.c 
b/drivers/net/ethernet/3com/3c515.c
index c5987f518cb2..b648e3f95c01 100644
--- a/drivers/net/ethernet/3com/3c515.c
+++ b/drivers/net/ethernet/3com/3c515.c
@@ -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;
-- 
2.7.4


-- 
Kees Cook
Pixel Security

Reply via email to