aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sun/sunbmac.c
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2017-10-16 20:29:28 -0400
committerDavid S. Miller <davem@davemloft.net>2017-10-18 07:40:26 -0400
commit0822c5d94e10d9790e82bdfea20a10f0884bca54 (patch)
tree25608e9af64b0b506b8002f185caa560a93ae9b9 /drivers/net/ethernet/sun/sunbmac.c
parentde892f8f2cc8176368a490e0778fd2de15e9bfda (diff)
net: ethernet: sun: 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" <davem@davemloft.net> Cc: Philippe Reynes <tremyfr@gmail.com> Cc: Jarod Wilson <jarod@redhat.com> Cc: Shannon Nelson <shannon.nelson@oracle.com> Cc: Rob Herring <robh@kernel.org> Cc: chris hyser <chris.hyser@oracle.com> Cc: Tushar Dave <tushar.n.dave@oracle.com> Cc: Tobias Klauser <tklauser@distanz.ch> Cc: netdev@vger.kernel.org Signed-off-by: Kees Cook <keescook@chromium.org> Acked-by: Shannon Nelson <shannon.nelson@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/sun/sunbmac.c')
-rw-r--r--drivers/net/ethernet/sun/sunbmac.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/net/ethernet/sun/sunbmac.c b/drivers/net/ethernet/sun/sunbmac.c
index 3189722110c2..0b1f41f6bceb 100644
--- a/drivers/net/ethernet/sun/sunbmac.c
+++ b/drivers/net/ethernet/sun/sunbmac.c
@@ -523,9 +523,9 @@ static int try_next_permutation(struct bigmac *bp, void __iomem *tregs)
523 return -1; 523 return -1;
524} 524}
525 525
526static void bigmac_timer(unsigned long data) 526static void bigmac_timer(struct timer_list *t)
527{ 527{
528 struct bigmac *bp = (struct bigmac *) data; 528 struct bigmac *bp = from_timer(bp, t, bigmac_timer);
529 void __iomem *tregs = bp->tregs; 529 void __iomem *tregs = bp->tregs;
530 int restart_timer = 0; 530 int restart_timer = 0;
531 531
@@ -613,8 +613,6 @@ static void bigmac_begin_auto_negotiation(struct bigmac *bp)
613 bp->timer_state = ltrywait; 613 bp->timer_state = ltrywait;
614 bp->timer_ticks = 0; 614 bp->timer_ticks = 0;
615 bp->bigmac_timer.expires = jiffies + (12 * HZ) / 10; 615 bp->bigmac_timer.expires = jiffies + (12 * HZ) / 10;
616 bp->bigmac_timer.data = (unsigned long) bp;
617 bp->bigmac_timer.function = bigmac_timer;
618 add_timer(&bp->bigmac_timer); 616 add_timer(&bp->bigmac_timer);
619} 617}
620 618
@@ -921,7 +919,7 @@ static int bigmac_open(struct net_device *dev)
921 printk(KERN_ERR "BIGMAC: Can't order irq %d to go.\n", dev->irq); 919 printk(KERN_ERR "BIGMAC: Can't order irq %d to go.\n", dev->irq);
922 return ret; 920 return ret;
923 } 921 }
924 init_timer(&bp->bigmac_timer); 922 timer_setup(&bp->bigmac_timer, bigmac_timer, 0);
925 ret = bigmac_init_hw(bp, 0); 923 ret = bigmac_init_hw(bp, 0);
926 if (ret) 924 if (ret)
927 free_irq(dev->irq, bp); 925 free_irq(dev->irq, bp);
@@ -1172,7 +1170,7 @@ static int bigmac_ether_init(struct platform_device *op,
1172 "board-version", 1); 1170 "board-version", 1);
1173 1171
1174 /* Init auto-negotiation timer state. */ 1172 /* Init auto-negotiation timer state. */
1175 init_timer(&bp->bigmac_timer); 1173 timer_setup(&bp->bigmac_timer, bigmac_timer, 0);
1176 bp->timer_state = asleep; 1174 bp->timer_state = asleep;
1177 bp->timer_ticks = 0; 1175 bp->timer_ticks = 0;
1178 1176