-----Original Message-----
From: Kees Cook [mailto:<redacted>]
Sent: Wednesday, October 4, 2017 4:27 PM
To: Thomas Gleixner <redacted>
Cc: Kees Cook <redacted>; Arnd Bergmann <arnd@arndb.de>;
Greg Kroah-Hartman [off-list ref]; Gross, Mark
[off-list ref]; Andrew Morton [off-list ref];
Benjamin Herrenschmidt [off-list ref]; Chris Metcalf
[off-list ref]; Geert Uytterhoeven [off-list ref];
Guenter Roeck [off-list ref]; Harish Patil [off-list ref];
Heiko Carstens [off-list ref]; James E.J. Bottomley
[off-list ref]; John Stultz [off-list ref]; Julian
Wiedmann [off-list ref]; Kalle Valo [off-list ref];
Lai Jiangshan [off-list ref]; Brown, Len [off-list ref];
Manish Chopra [off-list ref]; Martin K. Petersen
[off-list ref]; Martin Schwidefsky
[off-list ref]; Michael Ellerman [off-list ref]; Michael
Reed [off-list ref]; netdev@vger.kernel.org; Oleg Nesterov
[off-list ref]; Paul Mackerras [off-list ref]; Pavel Machek
[off-list ref]; Petr Mladek [off-list ref]; Rafael J. Wysocki
[off-list ref]; Ralf Baechle [off-list ref]; Sebastian Reichel
[off-list ref]; Stefan Richter [off-list ref]; Stephen Boyd
[off-list ref]; Sudip Mukherjee [off-list ref];
Tejun Heo [off-list ref]; Ursula Braun [off-list ref]; Viresh
Kumar [off-list ref]; Wim Van Sebroeck [off-list ref];
linux1394-devel@lists.sourceforge.net; linux-mips@linux-mips.org; linux-
pm@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; linux-
s390@vger.kernel.org; linux-scsi@vger.kernel.org; linux-
watchdog@vger.kernel.org; linux-wireless@vger.kernel.org; linux-
kernel@vger.kernel.org
Subject: [PATCH 07/13] timer: Remove last user of TIMER_INITIALIZER
Drops the last user of TIMER_INITIALIZER and adapts timer.h to use the internal
version.
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Mark Gross <redacted>
Cc: Thomas Gleixner <redacted>
Signed-off-by: Kees Cook <redacted>
---
drivers/char/tlclk.c | 12 +++++------- include/linux/timer.h | 2 +-
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/drivers/char/tlclk.c b/drivers/char/tlclk.c index
6210bff46341..8eeb4190207d 100644
--- a/drivers/char/tlclk.c
+++ b/drivers/char/tlclk.c
@@ -184,9 +184,8 @@ static unsigned int telclk_interrupt;
static int int_events; /* Event that generate a interrupt */
static int got_event; /* if events processing have been done */
-static void switchover_timeout(unsigned long data); -static struct timer_list
switchover_timer =
- TIMER_INITIALIZER(switchover_timeout , 0, 0);
+static void switchover_timeout(struct timer_list *t); static struct
+timer_list switchover_timer;
static unsigned long tlclk_timer_data;
static struct tlclk_alarms *alarm_events; @@ -805,7 +804,7 @@ static int
__init tlclk_init(void)
goto out3;
}
- init_timer(&switchover_timer);
+ timer_setup(&switchover_timer, switchover_timeout, 0);
ret = misc_register(&tlclk_miscdev);
if (ret < 0) {@@ -855,9 +854,9 @@ static void __exit tlclk_cleanup(void)
}
-static void switchover_timeout(unsigned long data)
+static void switchover_timeout(struct timer_list *unused)
{
- unsigned long flags = *(unsigned long *) data;
+ unsigned long flags = tlclk_timer_data;
if ((flags & 1)) {
if ((inb(TLCLK_REG1) & 0x08) != (flags & 0x08)) @@ -922,7
+921,6 @@ static irqreturn_t tlclk_interrupt(int irq, void *dev_id)
/* TIMEOUT in ~10ms */
switchover_timer.expires = jiffies + msecs_to_jiffies(10);
tlclk_timer_data = inb(TLCLK_REG1);
- switchover_timer.data = (unsigned long) &tlclk_timer_data;
mod_timer(&switchover_timer, switchover_timer.expires);
} else {
got_event = 1;diff --git a/include/linux/timer.h b/include/linux/timer.h index
10cc45ca5803..4f7476e4a727 100644
--- a/include/linux/timer.h
+++ b/include/linux/timer.h
@@ -87,7 +87,7 @@ struct timer_list {
#define DEFINE_TIMER(_name, _function, _expires, _data) \
struct timer_list _name = \
- TIMER_INITIALIZER(_function, _expires, _data)
+ __TIMER_INITIALIZER(_function, _expires, _data, 0)
void init_timer_key(struct timer_list *timer, unsigned int flags,
const char *name, struct lock_class_key *key);
--2.7.4