Skip to content

Commit 7974c0f

Browse files
keesdavem330
authored andcommitted
drivers/net/3com: 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: Steffen Klassert <[email protected]> Cc: "David S. Miller" <[email protected]> Cc: Jarod Wilson <[email protected]> Cc: [email protected] Signed-off-by: Kees Cook <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 1fccb56 commit 7974c0f

File tree

3 files changed

+20
-22
lines changed

3 files changed

+20
-22
lines changed

drivers/net/ethernet/3com/3c574_cs.c

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ static unsigned short read_eeprom(unsigned int ioaddr, int index);
225225
static void tc574_wait_for_completion(struct net_device *dev, int cmd);
226226

227227
static void tc574_reset(struct net_device *dev);
228-
static void media_check(unsigned long arg);
228+
static void media_check(struct timer_list *t);
229229
static int el3_open(struct net_device *dev);
230230
static netdev_tx_t el3_start_xmit(struct sk_buff *skb,
231231
struct net_device *dev);
@@ -377,7 +377,7 @@ static int tc574_config(struct pcmcia_device *link)
377377
lp->autoselect = config & Autoselect ? 1 : 0;
378378
}
379379

380-
init_timer(&lp->media);
380+
timer_setup(&lp->media, media_check, 0);
381381

382382
{
383383
int phy;
@@ -681,8 +681,6 @@ static int el3_open(struct net_device *dev)
681681
netif_start_queue(dev);
682682

683683
tc574_reset(dev);
684-
lp->media.function = media_check;
685-
lp->media.data = (unsigned long) dev;
686684
lp->media.expires = jiffies + HZ;
687685
add_timer(&lp->media);
688686

@@ -859,10 +857,10 @@ static irqreturn_t el3_interrupt(int irq, void *dev_id)
859857
(and as a last resort, poll the NIC for events), and to monitor
860858
the MII, reporting changes in cable status.
861859
*/
862-
static void media_check(unsigned long arg)
860+
static void media_check(struct timer_list *t)
863861
{
864-
struct net_device *dev = (struct net_device *) arg;
865-
struct el3_private *lp = netdev_priv(dev);
862+
struct el3_private *lp = from_timer(lp, t, media);
863+
struct net_device *dev = lp->p_dev->priv;
866864
unsigned int ioaddr = dev->base_addr;
867865
unsigned long flags;
868866
unsigned short /* cable, */ media, partner;

drivers/net/ethernet/3com/3c589_cs.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ static void tc589_release(struct pcmcia_device *link);
163163

164164
static u16 read_eeprom(unsigned int ioaddr, int index);
165165
static void tc589_reset(struct net_device *dev);
166-
static void media_check(unsigned long arg);
166+
static void media_check(struct timer_list *t);
167167
static int el3_config(struct net_device *dev, struct ifmap *map);
168168
static int el3_open(struct net_device *dev);
169169
static netdev_tx_t el3_start_xmit(struct sk_buff *skb,
@@ -517,7 +517,7 @@ static int el3_open(struct net_device *dev)
517517
netif_start_queue(dev);
518518

519519
tc589_reset(dev);
520-
setup_timer(&lp->media, media_check, (unsigned long)dev);
520+
timer_setup(&lp->media, media_check, 0);
521521
mod_timer(&lp->media, jiffies + HZ);
522522

523523
dev_dbg(&link->dev, "%s: opened, status %4.4x.\n",
@@ -676,10 +676,10 @@ static irqreturn_t el3_interrupt(int irq, void *dev_id)
676676
return IRQ_RETVAL(handled);
677677
}
678678

679-
static void media_check(unsigned long arg)
679+
static void media_check(struct timer_list *t)
680680
{
681-
struct net_device *dev = (struct net_device *)(arg);
682-
struct el3_private *lp = netdev_priv(dev);
681+
struct el3_private *lp = from_timer(lp, t, media);
682+
struct net_device *dev = lp->p_dev->priv;
683683
unsigned int ioaddr = dev->base_addr;
684684
u16 media, errs;
685685
unsigned long flags;

drivers/net/ethernet/3com/3c59x.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -759,8 +759,8 @@ static int vortex_open(struct net_device *dev);
759759
static void mdio_sync(struct vortex_private *vp, int bits);
760760
static int mdio_read(struct net_device *dev, int phy_id, int location);
761761
static void mdio_write(struct net_device *vp, int phy_id, int location, int value);
762-
static void vortex_timer(unsigned long arg);
763-
static void rx_oom_timer(unsigned long arg);
762+
static void vortex_timer(struct timer_list *t);
763+
static void rx_oom_timer(struct timer_list *t);
764764
static netdev_tx_t vortex_start_xmit(struct sk_buff *skb,
765765
struct net_device *dev);
766766
static netdev_tx_t boomerang_start_xmit(struct sk_buff *skb,
@@ -1599,9 +1599,9 @@ vortex_up(struct net_device *dev)
15991599
dev->name, media_tbl[dev->if_port].name);
16001600
}
16011601

1602-
setup_timer(&vp->timer, vortex_timer, (unsigned long)dev);
1602+
timer_setup(&vp->timer, vortex_timer, 0);
16031603
mod_timer(&vp->timer, RUN_AT(media_tbl[dev->if_port].wait));
1604-
setup_timer(&vp->rx_oom_timer, rx_oom_timer, (unsigned long)dev);
1604+
timer_setup(&vp->rx_oom_timer, rx_oom_timer, 0);
16051605

16061606
if (vortex_debug > 1)
16071607
pr_debug("%s: Initial media type %s.\n",
@@ -1784,10 +1784,10 @@ vortex_open(struct net_device *dev)
17841784
}
17851785

17861786
static void
1787-
vortex_timer(unsigned long data)
1787+
vortex_timer(struct timer_list *t)
17881788
{
1789-
struct net_device *dev = (struct net_device *)data;
1790-
struct vortex_private *vp = netdev_priv(dev);
1789+
struct vortex_private *vp = from_timer(vp, t, timer);
1790+
struct net_device *dev = vp->mii.dev;
17911791
void __iomem *ioaddr = vp->ioaddr;
17921792
int next_tick = 60*HZ;
17931793
int ok = 0;
@@ -2687,10 +2687,10 @@ boomerang_rx(struct net_device *dev)
26872687
* for some memory. Otherwise there is no way to restart the rx process.
26882688
*/
26892689
static void
2690-
rx_oom_timer(unsigned long arg)
2690+
rx_oom_timer(struct timer_list *t)
26912691
{
2692-
struct net_device *dev = (struct net_device *)arg;
2693-
struct vortex_private *vp = netdev_priv(dev);
2692+
struct vortex_private *vp = from_timer(vp, t, rx_oom_timer);
2693+
struct net_device *dev = vp->mii.dev;
26942694

26952695
spin_lock_irq(&vp->lock);
26962696
if ((vp->cur_rx - vp->dirty_rx) == RX_RING_SIZE) /* This test is redundant, but makes me feel good */

0 commit comments

Comments
 (0)