Skip to content

Commit

Permalink
libertas: Convert timers to use timer_setup()
Browse files Browse the repository at this point in the history
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: Kalle Valo <[email protected]>
Cc: Arvind Yadav <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Johannes Berg <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Andrew Zaborowski <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Kees Cook <[email protected]>
Signed-off-by: Kalle Valo <[email protected]>
  • Loading branch information
kees authored and Kalle Valo committed Oct 27, 2017
1 parent 08c2eb8 commit 78ce6a9
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 22 deletions.
6 changes: 3 additions & 3 deletions drivers/net/wireless/marvell/libertas/if_usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -161,9 +161,9 @@ static void if_usb_setup_firmware(struct lbs_private *priv)
}
}

static void if_usb_fw_timeo(unsigned long priv)
static void if_usb_fw_timeo(struct timer_list *t)
{
struct if_usb_card *cardp = (void *)priv;
struct if_usb_card *cardp = from_timer(cardp, t, fw_timeout);

if (cardp->fwdnldover) {
lbs_deb_usb("Download complete, no event. Assuming success\n");
Expand Down Expand Up @@ -205,7 +205,7 @@ static int if_usb_probe(struct usb_interface *intf,
if (!cardp)
goto error;

setup_timer(&cardp->fw_timeout, if_usb_fw_timeo, (unsigned long)cardp);
timer_setup(&cardp->fw_timeout, if_usb_fw_timeo, 0);
init_waitqueue_head(&cardp->fw_wq);

cardp->udev = udev;
Expand Down
21 changes: 9 additions & 12 deletions drivers/net/wireless/marvell/libertas/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -722,9 +722,9 @@ EXPORT_SYMBOL_GPL(lbs_resume);
*
* @data: &struct lbs_private pointer
*/
static void lbs_cmd_timeout_handler(unsigned long data)
static void lbs_cmd_timeout_handler(struct timer_list *t)
{
struct lbs_private *priv = (struct lbs_private *)data;
struct lbs_private *priv = from_timer(priv, t, command_timer);
unsigned long flags;

spin_lock_irqsave(&priv->driver_lock, flags);
Expand Down Expand Up @@ -756,9 +756,9 @@ static void lbs_cmd_timeout_handler(unsigned long data)
*
* @data: &struct lbs_private pointer
*/
static void lbs_tx_lockup_handler(unsigned long data)
static void lbs_tx_lockup_handler(struct timer_list *t)
{
struct lbs_private *priv = (struct lbs_private *)data;
struct lbs_private *priv = from_timer(priv, t, tx_lockup_timer);
unsigned long flags;

spin_lock_irqsave(&priv->driver_lock, flags);
Expand All @@ -779,9 +779,9 @@ static void lbs_tx_lockup_handler(unsigned long data)
* @data: &struct lbs_private pointer
* returns: N/A
*/
static void auto_deepsleep_timer_fn(unsigned long data)
static void auto_deepsleep_timer_fn(struct timer_list *t)
{
struct lbs_private *priv = (struct lbs_private *)data;
struct lbs_private *priv = from_timer(priv, t, auto_deepsleep_timer);

if (priv->is_activity_detected) {
priv->is_activity_detected = 0;
Expand Down Expand Up @@ -847,12 +847,9 @@ static int lbs_init_adapter(struct lbs_private *priv)
init_waitqueue_head(&priv->fw_waitq);
mutex_init(&priv->lock);

setup_timer(&priv->command_timer, lbs_cmd_timeout_handler,
(unsigned long)priv);
setup_timer(&priv->tx_lockup_timer, lbs_tx_lockup_handler,
(unsigned long)priv);
setup_timer(&priv->auto_deepsleep_timer, auto_deepsleep_timer_fn,
(unsigned long)priv);
timer_setup(&priv->command_timer, lbs_cmd_timeout_handler, 0);
timer_setup(&priv->tx_lockup_timer, lbs_tx_lockup_handler, 0);
timer_setup(&priv->auto_deepsleep_timer, auto_deepsleep_timer_fn, 0);

INIT_LIST_HEAD(&priv->cmdfreeq);
INIT_LIST_HEAD(&priv->cmdpendingq);
Expand Down
6 changes: 3 additions & 3 deletions drivers/net/wireless/marvell/libertas_tf/if_usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -115,9 +115,9 @@ static void if_usb_setup_firmware(struct lbtf_private *priv)
lbtf_deb_leave(LBTF_DEB_USB);
}

static void if_usb_fw_timeo(unsigned long priv)
static void if_usb_fw_timeo(struct timer_list *t)
{
struct if_usb_card *cardp = (void *)priv;
struct if_usb_card *cardp = from_timer(cardp, t, fw_timeout);

lbtf_deb_enter(LBTF_DEB_USB);
if (!cardp->fwdnldover) {
Expand Down Expand Up @@ -156,7 +156,7 @@ static int if_usb_probe(struct usb_interface *intf,
if (!cardp)
goto error;

setup_timer(&cardp->fw_timeout, if_usb_fw_timeo, (unsigned long)cardp);
timer_setup(&cardp->fw_timeout, if_usb_fw_timeo, 0);
init_waitqueue_head(&cardp->fw_wq);

cardp->udev = udev;
Expand Down
7 changes: 3 additions & 4 deletions drivers/net/wireless/marvell/libertas_tf/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -165,9 +165,9 @@ static int lbtf_setup_firmware(struct lbtf_private *priv)
* This function handles the timeout of command sending.
* It will re-send the same command again.
*/
static void command_timer_fn(unsigned long data)
static void command_timer_fn(struct timer_list *t)
{
struct lbtf_private *priv = (struct lbtf_private *)data;
struct lbtf_private *priv = from_timer(priv, t, command_timer);
unsigned long flags;
lbtf_deb_enter(LBTF_DEB_CMD);

Expand Down Expand Up @@ -196,8 +196,7 @@ static int lbtf_init_adapter(struct lbtf_private *priv)
mutex_init(&priv->lock);

priv->vif = NULL;
setup_timer(&priv->command_timer, command_timer_fn,
(unsigned long)priv);
timer_setup(&priv->command_timer, command_timer_fn, 0);

INIT_LIST_HEAD(&priv->cmdfreeq);
INIT_LIST_HEAD(&priv->cmdpendingq);
Expand Down

0 comments on commit 78ce6a9

Please sign in to comment.