diff options
author | Kees Cook <keescook@chromium.org> | 2017-10-16 20:29:28 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-10-18 07:40:26 -0400 |
commit | 0822c5d94e10d9790e82bdfea20a10f0884bca54 (patch) | |
tree | 25608e9af64b0b506b8002f185caa560a93ae9b9 /drivers/net/ethernet/sun/sunbmac.c | |
parent | de892f8f2cc8176368a490e0778fd2de15e9bfda (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.c | 10 |
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 | ||
526 | static void bigmac_timer(unsigned long data) | 526 | static 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 | ||