Skip to content

Commit de892f8

Browse files
keesdavem330
authored andcommitted
net: ethernet: apple: 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 S. Miller" <[email protected]> Cc: Johannes Berg <[email protected]> Cc: Jarod Wilson <[email protected]> Cc: Rob Herring <[email protected]> Cc: [email protected] Signed-off-by: Kees Cook <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 1128612 commit de892f8

File tree

2 files changed

+10
-14
lines changed

2 files changed

+10
-14
lines changed

drivers/net/ethernet/apple/bmac.c

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ static irqreturn_t bmac_misc_intr(int irq, void *dev_id);
157157
static irqreturn_t bmac_txdma_intr(int irq, void *dev_id);
158158
static irqreturn_t bmac_rxdma_intr(int irq, void *dev_id);
159159
static void bmac_set_timeout(struct net_device *dev);
160-
static void bmac_tx_timeout(unsigned long data);
160+
static void bmac_tx_timeout(struct timer_list *t);
161161
static int bmac_output(struct sk_buff *skb, struct net_device *dev);
162162
static void bmac_start(struct net_device *dev);
163163

@@ -555,8 +555,6 @@ static inline void bmac_set_timeout(struct net_device *dev)
555555
if (bp->timeout_active)
556556
del_timer(&bp->tx_timeout);
557557
bp->tx_timeout.expires = jiffies + TX_TIMEOUT;
558-
bp->tx_timeout.function = bmac_tx_timeout;
559-
bp->tx_timeout.data = (unsigned long) dev;
560558
add_timer(&bp->tx_timeout);
561559
bp->timeout_active = 1;
562560
spin_unlock_irqrestore(&bp->lock, flags);
@@ -1321,7 +1319,7 @@ static int bmac_probe(struct macio_dev *mdev, const struct of_device_id *match)
13211319
bp->queue = (struct sk_buff_head *)(bp->rx_cmds + N_RX_RING + 1);
13221320
skb_queue_head_init(bp->queue);
13231321

1324-
init_timer(&bp->tx_timeout);
1322+
timer_setup(&bp->tx_timeout, bmac_tx_timeout, 0);
13251323

13261324
ret = request_irq(dev->irq, bmac_misc_intr, 0, "BMAC-misc", dev);
13271325
if (ret) {
@@ -1471,10 +1469,10 @@ bmac_output(struct sk_buff *skb, struct net_device *dev)
14711469
return NETDEV_TX_OK;
14721470
}
14731471

1474-
static void bmac_tx_timeout(unsigned long data)
1472+
static void bmac_tx_timeout(struct timer_list *t)
14751473
{
1476-
struct net_device *dev = (struct net_device *) data;
1477-
struct bmac_data *bp = netdev_priv(dev);
1474+
struct bmac_data *bp = from_timer(bp, t, tx_timeout);
1475+
struct net_device *dev = macio_get_drvdata(bp->mdev);
14781476
volatile struct dbdma_regs __iomem *td = bp->tx_dma;
14791477
volatile struct dbdma_regs __iomem *rd = bp->rx_dma;
14801478
volatile struct dbdma_cmd *cp;

drivers/net/ethernet/apple/mace.c

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ static irqreturn_t mace_interrupt(int irq, void *dev_id);
8686
static irqreturn_t mace_txdma_intr(int irq, void *dev_id);
8787
static irqreturn_t mace_rxdma_intr(int irq, void *dev_id);
8888
static void mace_set_timeout(struct net_device *dev);
89-
static void mace_tx_timeout(unsigned long data);
89+
static void mace_tx_timeout(struct timer_list *t);
9090
static inline void dbdma_reset(volatile struct dbdma_regs __iomem *dma);
9191
static inline void mace_clean_rings(struct mace_data *mp);
9292
static void __mace_set_address(struct net_device *dev, void *addr);
@@ -196,7 +196,7 @@ static int mace_probe(struct macio_dev *mdev, const struct of_device_id *match)
196196

197197
memset((char *) mp->tx_cmds, 0,
198198
(NCMDS_TX*N_TX_RING + N_RX_RING + 2) * sizeof(struct dbdma_cmd));
199-
init_timer(&mp->tx_timeout);
199+
timer_setup(&mp->tx_timeout, mace_tx_timeout, 0);
200200
spin_lock_init(&mp->lock);
201201
mp->timeout_active = 0;
202202

@@ -521,8 +521,6 @@ static inline void mace_set_timeout(struct net_device *dev)
521521
if (mp->timeout_active)
522522
del_timer(&mp->tx_timeout);
523523
mp->tx_timeout.expires = jiffies + TX_TIMEOUT;
524-
mp->tx_timeout.function = mace_tx_timeout;
525-
mp->tx_timeout.data = (unsigned long) dev;
526524
add_timer(&mp->tx_timeout);
527525
mp->timeout_active = 1;
528526
}
@@ -801,10 +799,10 @@ static irqreturn_t mace_interrupt(int irq, void *dev_id)
801799
return IRQ_HANDLED;
802800
}
803801

804-
static void mace_tx_timeout(unsigned long data)
802+
static void mace_tx_timeout(struct timer_list *t)
805803
{
806-
struct net_device *dev = (struct net_device *) data;
807-
struct mace_data *mp = netdev_priv(dev);
804+
struct mace_data *mp = from_timer(mp, t, tx_timeout);
805+
struct net_device *dev = macio_get_drvdata(mp->mdev);
808806
volatile struct mace __iomem *mb = mp->mace;
809807
volatile struct dbdma_regs __iomem *td = mp->tx_dma;
810808
volatile struct dbdma_regs __iomem *rd = mp->rx_dma;

0 commit comments

Comments
 (0)