summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/amd/declance.c
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2017-10-27 08:54:38 +0300
committerDavid S. Miller <davem@davemloft.net>2017-10-28 13:09:49 +0300
commitc6c52ba1514120db3ad2d36391ed37bafcfc43d7 (patch)
tree92154e5d57ad96d2e4c7ebc5371623092705565a /drivers/net/ethernet/amd/declance.c
parentc63144e4dda7967f2419fa3c2cc5db1228a7fccf (diff)
downloadlinux-c6c52ba1514120db3ad2d36391ed37bafcfc43d7.tar.xz
drivers/net: amd: 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: Tom Lendacky <thomas.lendacky@amd.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Allen Pais <allen.lkml@gmail.com> Cc: netdev@vger.kernel.org Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/amd/declance.c')
-rw-r--r--drivers/net/ethernet/amd/declance.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/ethernet/amd/declance.c b/drivers/net/ethernet/amd/declance.c
index 9bdf81c2cd00..116997a8b593 100644
--- a/drivers/net/ethernet/amd/declance.c
+++ b/drivers/net/ethernet/amd/declance.c
@@ -260,6 +260,7 @@ struct lance_private {
unsigned short busmaster_regval;
struct timer_list multicast_timer;
+ struct net_device *dev;
/* Pointers to the ring buffers as seen from the CPU */
char *rx_buf_ptr_cpu[RX_RING_SIZE];
@@ -1000,9 +1001,10 @@ static void lance_set_multicast(struct net_device *dev)
netif_wake_queue(dev);
}
-static void lance_set_multicast_retry(unsigned long _opaque)
+static void lance_set_multicast_retry(struct timer_list *t)
{
- struct net_device *dev = (struct net_device *) _opaque;
+ struct lance_private *lp = from_timer(lp, t, multicast_timer);
+ struct net_device *dev = lp->dev;
lance_set_multicast(dev);
}
@@ -1246,8 +1248,8 @@ static int dec_lance_probe(struct device *bdev, const int type)
* can occur from interrupts (ex. IPv6). So we
* use a timer to try again later when necessary. -DaveM
*/
- setup_timer(&lp->multicast_timer, lance_set_multicast_retry,
- (unsigned long)dev);
+ lp->dev = dev;
+ timer_setup(&lp->multicast_timer, lance_set_multicast_retry, 0);
ret = register_netdev(dev);