@@ -157,7 +157,7 @@ static irqreturn_t bmac_misc_intr(int irq, void *dev_id);
157
157
static irqreturn_t bmac_txdma_intr (int irq , void * dev_id );
158
158
static irqreturn_t bmac_rxdma_intr (int irq , void * dev_id );
159
159
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 );
161
161
static int bmac_output (struct sk_buff * skb , struct net_device * dev );
162
162
static void bmac_start (struct net_device * dev );
163
163
@@ -555,8 +555,6 @@ static inline void bmac_set_timeout(struct net_device *dev)
555
555
if (bp -> timeout_active )
556
556
del_timer (& bp -> tx_timeout );
557
557
bp -> tx_timeout .expires = jiffies + TX_TIMEOUT ;
558
- bp -> tx_timeout .function = bmac_tx_timeout ;
559
- bp -> tx_timeout .data = (unsigned long ) dev ;
560
558
add_timer (& bp -> tx_timeout );
561
559
bp -> timeout_active = 1 ;
562
560
spin_unlock_irqrestore (& bp -> lock , flags );
@@ -1321,7 +1319,7 @@ static int bmac_probe(struct macio_dev *mdev, const struct of_device_id *match)
1321
1319
bp -> queue = (struct sk_buff_head * )(bp -> rx_cmds + N_RX_RING + 1 );
1322
1320
skb_queue_head_init (bp -> queue );
1323
1321
1324
- init_timer (& bp -> tx_timeout );
1322
+ timer_setup (& bp -> tx_timeout , bmac_tx_timeout , 0 );
1325
1323
1326
1324
ret = request_irq (dev -> irq , bmac_misc_intr , 0 , "BMAC-misc" , dev );
1327
1325
if (ret ) {
@@ -1471,10 +1469,10 @@ bmac_output(struct sk_buff *skb, struct net_device *dev)
1471
1469
return NETDEV_TX_OK ;
1472
1470
}
1473
1471
1474
- static void bmac_tx_timeout (unsigned long data )
1472
+ static void bmac_tx_timeout (struct timer_list * t )
1475
1473
{
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 );
1478
1476
volatile struct dbdma_regs __iomem * td = bp -> tx_dma ;
1479
1477
volatile struct dbdma_regs __iomem * rd = bp -> rx_dma ;
1480
1478
volatile struct dbdma_cmd * cp ;
0 commit comments