From: tip-bot for Kees Cook <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: ralf@linux-mips.org, hpa@zytor.com, kvalo@qca.qualcomm.com,
mingo@kernel.org, linux@roeck-us.net, mpe@ellerman.id.au,
stefanr@s5r6.in-berlin.de, geert@linux-m68k.org,
john.stultz@linaro.org, len.brown@intel.com,
harish.patil@cavium.com, keescook@chromium.org,
sudipm.mukherjee@gmail.com, linux-kernel@vger.kernel.org,
pavel@ucw.cz, arnd@arndb.de, oleg@redhat.com, pmladek@suse.com,
sboyd@codeaurora.org, viresh.kumar@linaro.org,
jejb@linux.vnet.ibm.com, mark.gross@intel.com,
tglx@linutronix.de, mdr@sgi.com, ubraun@linux.vnet.ibm.com,
sre@kernel.org, heiko.carstens@de.ibm.com, rjw@rjwysocki.net,
schwidefsky@de.ibm.com, jiangshanlai@gmail.com,
cmetcalf@mellanox.com, martin.petersen@oracle.com,
paulus@samba.org, wim@iguana.be, manish.chopra@cavium.com,
jwi@linux.vnet.ibm.com, tj@kernel.org, akpm@linux-foundation.org,
gregkh@linuxfoundation.org, benh@kernel.crashing.org
Subject: [tip:timers/core] timer: Remove init_timer_deferrable() in favor of timer_setup()
Date: Thu, 5 Oct 2017 06:05:25 -0700 [thread overview]
Message-ID: <tip-df7e828c1b699792b2ff26ebcf0a6d1025b2b790@git.kernel.org> (raw)
In-Reply-To: <1507159627-127660-6-git-send-email-keescook@chromium.org>
Commit-ID: df7e828c1b699792b2ff26ebcf0a6d1025b2b790
Gitweb: https://git.kernel.org/tip/df7e828c1b699792b2ff26ebcf0a6d1025b2b790
Author: Kees Cook <keescook@chromium.org>
AuthorDate: Wed, 4 Oct 2017 16:26:59 -0700
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Thu, 5 Oct 2017 15:01:18 +0200
timer: Remove init_timer_deferrable() in favor of timer_setup()
This refactors the only users of init_timer_deferrable() to use
the new timer_setup() and from_timer(). Removes definition of
init_timer_deferrable().
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: David S. Miller <davem@davemloft.net> # for networking parts
Acked-by: Sebastian Reichel <sre@kernel.org> # for drivers/hsi parts
Cc: linux-mips@linux-mips.org
Cc: Petr Mladek <pmladek@suse.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Lai Jiangshan <jiangshanlai@gmail.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Kalle Valo <kvalo@qca.qualcomm.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: linux1394-devel@lists.sourceforge.net
Cc: Chris Metcalf <cmetcalf@mellanox.com>
Cc: linux-s390@vger.kernel.org
Cc: "James E.J. Bottomley" <jejb@linux.vnet.ibm.com>
Cc: Wim Van Sebroeck <wim@iguana.be>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Ursula Braun <ubraun@linux.vnet.ibm.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Harish Patil <harish.patil@cavium.com>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Manish Chopra <manish.chopra@cavium.com>
Cc: Len Brown <len.brown@intel.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: linux-pm@vger.kernel.org
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Mark Gross <mark.gross@intel.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: linux-watchdog@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-wireless@vger.kernel.org
Cc: Sebastian Reichel <sre@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: Michael Reed <mdr@sgi.com>
Cc: netdev@vger.kernel.org
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Link: https://lkml.kernel.org/r/1507159627-127660-6-git-send-email-keescook@chromium.org
---
arch/powerpc/mm/numa.c | 12 +++++------
drivers/hsi/clients/ssi_protocol.c | 32 ++++++++++++++++------------
drivers/net/ethernet/qlogic/qlge/qlge_main.c | 11 ++++------
drivers/net/vxlan.c | 8 +++----
drivers/net/wireless/ath/ath6kl/recovery.c | 9 ++++----
include/linux/timer.h | 2 --
6 files changed, 34 insertions(+), 40 deletions(-)
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
index b95c584..f9b6107 100644
--- a/arch/powerpc/mm/numa.c
+++ b/arch/powerpc/mm/numa.c
@@ -1453,7 +1453,7 @@ static void topology_schedule_update(void)
schedule_work(&topology_work);
}
-static void topology_timer_fn(unsigned long ignored)
+static void topology_timer_fn(struct timer_list *unused)
{
if (prrn_enabled && cpumask_weight(&cpu_associativity_changes_mask))
topology_schedule_update();
@@ -1463,14 +1463,11 @@ static void topology_timer_fn(unsigned long ignored)
reset_topology_timer();
}
}
-static struct timer_list topology_timer =
- TIMER_INITIALIZER(topology_timer_fn, 0, 0);
+static struct timer_list topology_timer;
static void reset_topology_timer(void)
{
- topology_timer.data = 0;
- topology_timer.expires = jiffies + 60 * HZ;
- mod_timer(&topology_timer, topology_timer.expires);
+ mod_timer(&topology_timer, jiffies + 60 * HZ);
}
#ifdef CONFIG_SMP
@@ -1530,7 +1527,8 @@ int start_topology_update(void)
prrn_enabled = 0;
vphn_enabled = 1;
setup_cpu_associativity_change_counters();
- init_timer_deferrable(&topology_timer);
+ timer_setup(&topology_timer, topology_timer_fn,
+ TIMER_DEFERRABLE);
reset_topology_timer();
}
}
diff --git a/drivers/hsi/clients/ssi_protocol.c b/drivers/hsi/clients/ssi_protocol.c
index 93d28c0..67af03d 100644
--- a/drivers/hsi/clients/ssi_protocol.c
+++ b/drivers/hsi/clients/ssi_protocol.c
@@ -464,10 +464,10 @@ static void ssip_error(struct hsi_client *cl)
hsi_async_read(cl, msg);
}
-static void ssip_keep_alive(unsigned long data)
+static void ssip_keep_alive(struct timer_list *t)
{
- struct hsi_client *cl = (struct hsi_client *)data;
- struct ssi_protocol *ssi = hsi_client_drvdata(cl);
+ struct ssi_protocol *ssi = from_timer(ssi, t, keep_alive);
+ struct hsi_client *cl = ssi->cl;
dev_dbg(&cl->device, "Keep alive kick in: m(%d) r(%d) s(%d)\n",
ssi->main_state, ssi->recv_state, ssi->send_state);
@@ -490,9 +490,19 @@ static void ssip_keep_alive(unsigned long data)
spin_unlock(&ssi->lock);
}
-static void ssip_wd(unsigned long data)
+static void ssip_rx_wd(struct timer_list *t)
+{
+ struct ssi_protocol *ssi = from_timer(ssi, t, rx_wd);
+ struct hsi_client *cl = ssi->cl;
+
+ dev_err(&cl->device, "Watchdog trigerred\n");
+ ssip_error(cl);
+}
+
+static void ssip_tx_wd(unsigned long data)
{
- struct hsi_client *cl = (struct hsi_client *)data;
+ struct ssi_protocol *ssi = from_timer(ssi, t, tx_wd);
+ struct hsi_client *cl = ssi->cl;
dev_err(&cl->device, "Watchdog trigerred\n");
ssip_error(cl);
@@ -1084,15 +1094,9 @@ static int ssi_protocol_probe(struct device *dev)
}
spin_lock_init(&ssi->lock);
- init_timer_deferrable(&ssi->rx_wd);
- init_timer_deferrable(&ssi->tx_wd);
- init_timer(&ssi->keep_alive);
- ssi->rx_wd.data = (unsigned long)cl;
- ssi->rx_wd.function = ssip_wd;
- ssi->tx_wd.data = (unsigned long)cl;
- ssi->tx_wd.function = ssip_wd;
- ssi->keep_alive.data = (unsigned long)cl;
- ssi->keep_alive.function = ssip_keep_alive;
+ timer_setup(&ssi->rx_wd, ssip_rx_wd, TIMER_DEFERRABLE);
+ timer_setup(&ssi->tx_wd, ssip_tx_wd, TIMER_DEFERRABLE);
+ timer_setup(&ssi->keep_alive, ssip_keep_alive, 0);
INIT_LIST_HEAD(&ssi->txqueue);
INIT_LIST_HEAD(&ssi->cmdqueue);
atomic_set(&ssi->tx_usecnt, 0);
diff --git a/drivers/net/ethernet/qlogic/qlge/qlge_main.c b/drivers/net/ethernet/qlogic/qlge/qlge_main.c
index 9feec70..29fea74 100644
--- a/drivers/net/ethernet/qlogic/qlge/qlge_main.c
+++ b/drivers/net/ethernet/qlogic/qlge/qlge_main.c
@@ -4725,9 +4725,9 @@ static const struct net_device_ops qlge_netdev_ops = {
.ndo_vlan_rx_kill_vid = qlge_vlan_rx_kill_vid,
};
-static void ql_timer(unsigned long data)
+static void ql_timer(struct timer_list *t)
{
- struct ql_adapter *qdev = (struct ql_adapter *)data;
+ struct ql_adapter *qdev = from_timer(qdev, t, timer);
u32 var = 0;
var = ql_read32(qdev, STS);
@@ -4806,11 +4806,8 @@ static int qlge_probe(struct pci_dev *pdev,
/* Start up the timer to trigger EEH if
* the bus goes dead
*/
- init_timer_deferrable(&qdev->timer);
- qdev->timer.data = (unsigned long)qdev;
- qdev->timer.function = ql_timer;
- qdev->timer.expires = jiffies + (5*HZ);
- add_timer(&qdev->timer);
+ timer_setup(&qdev->timer, ql_timer, TIMER_DEFERRABLE);
+ mod_timer(&qdev->timer, jiffies + (5*HZ));
ql_link_off(qdev);
ql_display_dev_info(ndev);
atomic_set(&qdev->lb_count, 0);
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index d7c49cf..3247d2f 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -2325,9 +2325,9 @@ static netdev_tx_t vxlan_xmit(struct sk_buff *skb, struct net_device *dev)
}
/* Walk the forwarding table and purge stale entries */
-static void vxlan_cleanup(unsigned long arg)
+static void vxlan_cleanup(struct timer_list *t)
{
- struct vxlan_dev *vxlan = (struct vxlan_dev *) arg;
+ struct vxlan_dev *vxlan = from_timer(vxlan, t, age_timer);
unsigned long next_timer = jiffies + FDB_AGE_INTERVAL;
unsigned int h;
@@ -2647,9 +2647,7 @@ static void vxlan_setup(struct net_device *dev)
INIT_LIST_HEAD(&vxlan->next);
spin_lock_init(&vxlan->hash_lock);
- init_timer_deferrable(&vxlan->age_timer);
- vxlan->age_timer.function = vxlan_cleanup;
- vxlan->age_timer.data = (unsigned long) vxlan;
+ timer_setup(&vxlan->age_timer, vxlan_cleanup, TIMER_DEFERRABLE);
vxlan->dev = dev;
diff --git a/drivers/net/wireless/ath/ath6kl/recovery.c b/drivers/net/wireless/ath/ath6kl/recovery.c
index 3a8d5e9..c09e40c 100644
--- a/drivers/net/wireless/ath/ath6kl/recovery.c
+++ b/drivers/net/wireless/ath/ath6kl/recovery.c
@@ -60,9 +60,9 @@ void ath6kl_recovery_hb_event(struct ath6kl *ar, u32 cookie)
ar->fw_recovery.hb_pending = false;
}
-static void ath6kl_recovery_hb_timer(unsigned long data)
+static void ath6kl_recovery_hb_timer(struct timer_list *t)
{
- struct ath6kl *ar = (struct ath6kl *) data;
+ struct ath6kl *ar = from_timer(ar, t, fw_recovery.hb_timer);
int err;
if (test_bit(RECOVERY_CLEANUP, &ar->flag) ||
@@ -104,9 +104,8 @@ void ath6kl_recovery_init(struct ath6kl *ar)
recovery->seq_num = 0;
recovery->hb_misscnt = 0;
ar->fw_recovery.hb_pending = false;
- ar->fw_recovery.hb_timer.function = ath6kl_recovery_hb_timer;
- ar->fw_recovery.hb_timer.data = (unsigned long) ar;
- init_timer_deferrable(&ar->fw_recovery.hb_timer);
+ timer_setup(&ar->fw_recovery.hb_timer, ath6kl_recovery_hb_timer,
+ TIMER_DEFERRABLE);
if (ar->fw_recovery.hb_poll)
mod_timer(&ar->fw_recovery.hb_timer, jiffies +
diff --git a/include/linux/timer.h b/include/linux/timer.h
index 9da9035..10cc45c 100644
--- a/include/linux/timer.h
+++ b/include/linux/timer.h
@@ -128,8 +128,6 @@ static inline void init_timer_on_stack_key(struct timer_list *timer,
#define init_timer(timer) \
__init_timer((timer), 0)
-#define init_timer_deferrable(timer) \
- __init_timer((timer), TIMER_DEFERRABLE)
#define __setup_timer(_timer, _fn, _data, _flags) \
do { \
next prev parent reply other threads:[~2017-10-05 13:21 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-04 23:26 [PATCH 00/13] timer: Start conversion to timer_setup() Kees Cook
2017-10-04 23:26 ` Kees Cook
2017-10-04 23:26 ` Kees Cook
2017-10-04 23:26 ` [PATCH 01/13] timer: Convert schedule_timeout() to use from_timer() Kees Cook
2017-10-04 23:26 ` Kees Cook
2017-10-04 23:26 ` Kees Cook
2017-10-05 13:03 ` [tip:timers/core] " tip-bot for Kees Cook
2017-10-04 23:26 ` [PATCH 02/13] timer: Remove init_timer_pinned_deferrable() in favor of timer_setup() Kees Cook
2017-10-04 23:26 ` Kees Cook
2017-10-04 23:26 ` Kees Cook
2017-10-05 13:04 ` [tip:timers/core] " tip-bot for Kees Cook
2017-10-04 23:26 ` [PATCH 03/13] timer: Remove init_timer_on_stack() in favor of timer_setup_on_stack() Kees Cook
2017-10-04 23:26 ` Kees Cook
2017-10-04 23:26 ` Kees Cook
2017-10-05 13:04 ` [tip:timers/core] " tip-bot for Kees Cook
2017-10-05 13:18 ` [PATCH 03/13] " Rafael J. Wysocki
2017-10-05 13:18 ` Rafael J. Wysocki
2017-10-05 13:18 ` Rafael J. Wysocki
2017-10-04 23:26 ` [PATCH 04/13] timer: Remove init_timer_pinned() in favor of timer_setup() Kees Cook
2017-10-04 23:26 ` Kees Cook
2017-10-04 23:26 ` Kees Cook
2017-10-05 0:41 ` David Miller
2017-10-05 0:41 ` David Miller
2017-10-05 13:05 ` [tip:timers/core] " tip-bot for Kees Cook
2017-10-04 23:26 ` [PATCH 05/13] timer: Remove init_timer_deferrable() " Kees Cook
2017-10-04 23:26 ` Kees Cook
2017-10-04 23:26 ` Kees Cook
2017-10-05 0:41 ` David Miller
2017-10-05 0:41 ` David Miller
2017-10-05 1:02 ` Sebastian Reichel
2017-10-05 1:02 ` Sebastian Reichel
2017-10-05 13:05 ` tip-bot for Kees Cook [this message]
2017-10-04 23:27 ` [PATCH 06/13] timer: Remove users of TIMER_DEFERRED_INITIALIZER Kees Cook
2017-10-04 23:27 ` Kees Cook
2017-10-04 23:27 ` Kees Cook
2017-10-05 13:05 ` [tip:timers/core] " tip-bot for Kees Cook
2017-10-04 23:27 ` [PATCH 07/13] timer: Remove last user of TIMER_INITIALIZER Kees Cook
2017-10-04 23:27 ` Kees Cook
2017-10-04 23:27 ` Kees Cook
2017-10-05 13:06 ` [tip:timers/core] " tip-bot for Kees Cook
2017-10-05 22:39 ` [PATCH 07/13] " Gross, Mark
2017-10-05 22:39 ` Gross, Mark
2017-10-05 22:39 ` Gross, Mark
2017-10-05 22:39 ` Gross, Mark
2017-10-04 23:27 ` [PATCH 08/13] timer: Remove unused static initializer macros Kees Cook
2017-10-04 23:27 ` Kees Cook
2017-10-04 23:27 ` Kees Cook
2017-10-05 13:06 ` [tip:timers/core] " tip-bot for Kees Cook
2017-10-04 23:27 ` [PATCH 09/13] timer: Remove users of expire and data arguments to DEFINE_TIMER Kees Cook
2017-10-04 23:27 ` Kees Cook
2017-10-04 23:27 ` Kees Cook
2017-10-05 0:12 ` Guenter Roeck
2017-10-05 0:12 ` Guenter Roeck
2017-10-05 0:12 ` Guenter Roeck
2017-10-05 13:07 ` [tip:timers/core] " tip-bot for Kees Cook
2017-10-09 13:23 ` [PATCH 09/13] " Ralf Baechle
2017-10-09 13:23 ` Ralf Baechle
2017-10-04 23:27 ` [PATCH 10/13] timer: Remove expires and data arguments from DEFINE_TIMER Kees Cook
2017-10-04 23:27 ` Kees Cook
2017-10-04 23:27 ` Kees Cook
2017-10-05 0:13 ` Guenter Roeck
2017-10-05 0:13 ` Guenter Roeck
2017-10-05 0:13 ` Guenter Roeck
2017-10-05 0:40 ` David Miller
2017-10-05 0:40 ` David Miller
2017-10-05 5:28 ` Greg Kroah-Hartman
2017-10-05 5:28 ` Greg Kroah-Hartman
2017-10-05 5:28 ` Greg Kroah-Hartman
2017-10-05 6:54 ` Kalle Valo
2017-10-05 6:54 ` Kalle Valo
2017-10-05 6:54 ` Kalle Valo
2017-10-05 8:59 ` Arnd Bergmann
2017-10-05 8:59 ` Arnd Bergmann
2017-10-05 8:59 ` Arnd Bergmann
2017-10-05 13:07 ` [tip:timers/core] " tip-bot for Kees Cook
2017-10-09 13:27 ` [PATCH 10/13] " Ralf Baechle
2017-10-09 13:27 ` Ralf Baechle
2017-10-04 23:27 ` [PATCH 11/13] timer: Remove expires argument from __TIMER_INITIALIZER() Kees Cook
2017-10-04 23:27 ` Kees Cook
2017-10-04 23:27 ` Kees Cook
2017-10-05 13:07 ` [tip:timers/core] " tip-bot for Kees Cook
2017-10-11 10:15 ` [PATCH 11/13] " Petr Mladek
2017-10-11 10:15 ` Petr Mladek
2017-10-04 23:27 ` [PATCH 12/13] kthread: Convert callback to use from_timer() Kees Cook
2017-10-04 23:27 ` Kees Cook
2017-10-04 23:27 ` Kees Cook
2017-10-05 13:08 ` [tip:timers/core] " tip-bot for Kees Cook
2017-10-11 10:20 ` [PATCH 12/13] " Petr Mladek
2017-10-11 10:20 ` Petr Mladek
2017-10-11 10:20 ` Petr Mladek
2017-10-04 23:27 ` [PATCH 13/13] workqueue: " Kees Cook
2017-10-04 23:27 ` Kees Cook
2017-10-04 23:27 ` Kees Cook
2017-10-05 13:08 ` [tip:timers/core] " tip-bot for Kees Cook
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=tip-df7e828c1b699792b2ff26ebcf0a6d1025b2b790@git.kernel.org \
--to=tipbot@zytor.com \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=benh@kernel.crashing.org \
--cc=cmetcalf@mellanox.com \
--cc=geert@linux-m68k.org \
--cc=gregkh@linuxfoundation.org \
--cc=harish.patil@cavium.com \
--cc=heiko.carstens@de.ibm.com \
--cc=hpa@zytor.com \
--cc=jejb@linux.vnet.ibm.com \
--cc=jiangshanlai@gmail.com \
--cc=john.stultz@linaro.org \
--cc=jwi@linux.vnet.ibm.com \
--cc=keescook@chromium.org \
--cc=kvalo@qca.qualcomm.com \
--cc=len.brown@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=manish.chopra@cavium.com \
--cc=mark.gross@intel.com \
--cc=martin.petersen@oracle.com \
--cc=mdr@sgi.com \
--cc=mingo@kernel.org \
--cc=mpe@ellerman.id.au \
--cc=oleg@redhat.com \
--cc=paulus@samba.org \
--cc=pavel@ucw.cz \
--cc=pmladek@suse.com \
--cc=ralf@linux-mips.org \
--cc=rjw@rjwysocki.net \
--cc=sboyd@codeaurora.org \
--cc=schwidefsky@de.ibm.com \
--cc=sre@kernel.org \
--cc=stefanr@s5r6.in-berlin.de \
--cc=sudipm.mukherjee@gmail.com \
--cc=tglx@linutronix.de \
--cc=tj@kernel.org \
--cc=ubraun@linux.vnet.ibm.com \
--cc=viresh.kumar@linaro.org \
--cc=wim@iguana.be \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.