Commit d28bb967 authored by Kees Cook's avatar Kees Cook Committed by David S. Miller

net: usb: 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: Woojung Huh <woojung.huh@microchip.com>
Cc: Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Ben Hutchings <ben@decadent.org.uk>
Cc: Philippe Reynes <tremyfr@gmail.com>
Cc: Jarod Wilson <jarod@redhat.com>
Cc: Arvind Yadav <arvind.yadav.cs@gmail.com>
Cc: "Bjørn Mork" <bjorn@mork.no>
Cc: "Stefan Brüns" <stefan.bruens@rwth-aachen.de>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Greg Ungerer <gerg@linux-m68k.org>
Cc: linux-usb@vger.kernel.org
Cc: netdev@vger.kernel.org
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent dfc57004
...@@ -611,9 +611,9 @@ static void catc_stats_done(struct catc *catc, struct ctrl_queue *q) ...@@ -611,9 +611,9 @@ static void catc_stats_done(struct catc *catc, struct ctrl_queue *q)
catc->stats_vals[index >> 1] = data; catc->stats_vals[index >> 1] = data;
} }
static void catc_stats_timer(unsigned long data) static void catc_stats_timer(struct timer_list *t)
{ {
struct catc *catc = (void *) data; struct catc *catc = from_timer(catc, t, timer);
int i; int i;
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
...@@ -805,7 +805,7 @@ static int catc_probe(struct usb_interface *intf, const struct usb_device_id *id ...@@ -805,7 +805,7 @@ static int catc_probe(struct usb_interface *intf, const struct usb_device_id *id
spin_lock_init(&catc->tx_lock); spin_lock_init(&catc->tx_lock);
spin_lock_init(&catc->ctrl_lock); spin_lock_init(&catc->ctrl_lock);
setup_timer(&catc->timer, catc_stats_timer, (long)catc); timer_setup(&catc->timer, catc_stats_timer, 0);
catc->ctrl_urb = usb_alloc_urb(0, GFP_KERNEL); catc->ctrl_urb = usb_alloc_urb(0, GFP_KERNEL);
catc->tx_urb = usb_alloc_urb(0, GFP_KERNEL); catc->tx_urb = usb_alloc_urb(0, GFP_KERNEL);
......
...@@ -3516,11 +3516,9 @@ static const struct net_device_ops lan78xx_netdev_ops = { ...@@ -3516,11 +3516,9 @@ static const struct net_device_ops lan78xx_netdev_ops = {
.ndo_vlan_rx_kill_vid = lan78xx_vlan_rx_kill_vid, .ndo_vlan_rx_kill_vid = lan78xx_vlan_rx_kill_vid,
}; };
static void lan78xx_stat_monitor(unsigned long param) static void lan78xx_stat_monitor(struct timer_list *t)
{ {
struct lan78xx_net *dev; struct lan78xx_net *dev = from_timer(dev, t, stat_monitor);
dev = (struct lan78xx_net *)param;
lan78xx_defer_kevent(dev, EVENT_STAT_UPDATE); lan78xx_defer_kevent(dev, EVENT_STAT_UPDATE);
} }
...@@ -3571,10 +3569,8 @@ static int lan78xx_probe(struct usb_interface *intf, ...@@ -3571,10 +3569,8 @@ static int lan78xx_probe(struct usb_interface *intf,
netdev->watchdog_timeo = TX_TIMEOUT_JIFFIES; netdev->watchdog_timeo = TX_TIMEOUT_JIFFIES;
netdev->ethtool_ops = &lan78xx_ethtool_ops; netdev->ethtool_ops = &lan78xx_ethtool_ops;
dev->stat_monitor.function = lan78xx_stat_monitor;
dev->stat_monitor.data = (unsigned long)dev;
dev->delta = 1; dev->delta = 1;
init_timer(&dev->stat_monitor); timer_setup(&dev->stat_monitor, lan78xx_stat_monitor, 0);
mutex_init(&dev->stats.access_lock); mutex_init(&dev->stats.access_lock);
......
...@@ -189,9 +189,6 @@ struct lsi_umts_dual { ...@@ -189,9 +189,6 @@ struct lsi_umts_dual {
#define SIERRA_NET_LSI_UMTS_DS_STATUS_LEN \ #define SIERRA_NET_LSI_UMTS_DS_STATUS_LEN \
(SIERRA_NET_LSI_UMTS_DS_LEN - SIERRA_NET_LSI_COMMON_LEN) (SIERRA_NET_LSI_UMTS_DS_LEN - SIERRA_NET_LSI_COMMON_LEN)
/* Forward definitions */
static void sierra_sync_timer(unsigned long syncdata);
/* Our own net device operations structure */ /* Our own net device operations structure */
static const struct net_device_ops sierra_net_device_ops = { static const struct net_device_ops sierra_net_device_ops = {
.ndo_open = usbnet_open, .ndo_open = usbnet_open,
...@@ -475,8 +472,6 @@ static void sierra_net_dosync(struct usbnet *dev) ...@@ -475,8 +472,6 @@ static void sierra_net_dosync(struct usbnet *dev)
"Send SYNC failed, status %d\n", status); "Send SYNC failed, status %d\n", status);
/* Now, start a timer and make sure we get the Restart Indication */ /* Now, start a timer and make sure we get the Restart Indication */
priv->sync_timer.function = sierra_sync_timer;
priv->sync_timer.data = (unsigned long) dev;
priv->sync_timer.expires = jiffies + SIERRA_NET_SYNCDELAY; priv->sync_timer.expires = jiffies + SIERRA_NET_SYNCDELAY;
add_timer(&priv->sync_timer); add_timer(&priv->sync_timer);
} }
...@@ -593,9 +588,10 @@ static void sierra_net_defer_kevent(struct usbnet *dev, int work) ...@@ -593,9 +588,10 @@ static void sierra_net_defer_kevent(struct usbnet *dev, int work)
/* /*
* Sync Retransmit Timer Handler. On expiry, kick the work queue * Sync Retransmit Timer Handler. On expiry, kick the work queue
*/ */
static void sierra_sync_timer(unsigned long syncdata) static void sierra_sync_timer(struct timer_list *t)
{ {
struct usbnet *dev = (struct usbnet *)syncdata; struct sierra_net_data *priv = from_timer(priv, t, sync_timer);
struct usbnet *dev = priv->usbnet;
dev_dbg(&dev->udev->dev, "%s", __func__); dev_dbg(&dev->udev->dev, "%s", __func__);
/* Kick the tasklet */ /* Kick the tasklet */
...@@ -752,7 +748,7 @@ static int sierra_net_bind(struct usbnet *dev, struct usb_interface *intf) ...@@ -752,7 +748,7 @@ static int sierra_net_bind(struct usbnet *dev, struct usb_interface *intf)
INIT_WORK(&priv->sierra_net_kevent, sierra_net_kevent); INIT_WORK(&priv->sierra_net_kevent, sierra_net_kevent);
/* Only need to do this once */ /* Only need to do this once */
init_timer(&priv->sync_timer); timer_setup(&priv->sync_timer, sierra_sync_timer, 0);
/* verify fw attributes */ /* verify fw attributes */
status = sierra_net_get_fw_attr(dev, &fwattr); status = sierra_net_get_fw_attr(dev, &fwattr);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment