# RE: \[PATCH 07/13\] timer: Remove last user of TIMER\_INITIALIZER

- From: Gross, Mark \<hidden\>
- Date: 2017-10-05 22:39:51 
- List: linuxppc-dev
- Page: https://ratatoskr.run/linuxppc-dev/2017/10/6731135
- Thread: https://ratatoskr.run/linux-mips/2017/10/5101478/t.md

```text
Acked-by: mark gross <redacted>

--mark

> -----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 [ref]; Gross, Mark
> [ref]; Andrew Morton [ref];
> Benjamin Herrenschmidt [ref]; Chris Metcalf
> [ref]; Geert Uytterhoeven [ref];
> Guenter Roeck [ref]; Harish Patil <harish.patil@cavium.com=
>;
> Heiko Carstens [ref]; James E.J. Bottomley
> [ref]; John Stultz [ref]; Julian
> Wiedmann [ref]; Kalle Valo [ref];
> Lai Jiangshan [ref]; Brown, Len [ref];
> Manish Chopra [ref]; Martin K. Petersen
> [ref]; Martin Schwidefsky
> [ref]; Michael Ellerman [ref]; Michael
> Reed [ref]; netdev@vger.kernel.org; Oleg Nesterov
> [ref]; Paul Mackerras [ref]; Pavel Machek
> [ref]; Petr Mladek [ref]; Rafael J. Wysocki
> [ref]; Ralf Baechle [ref]; Sebastian Reiche=
l
> [ref]; Stefan Richter [ref]; Stephen Boy=
d
> [ref]; Sudip Mukherjee [ref];
> Tejun Heo [ref]; Ursula Braun [ref]; Vire=
sh
> Kumar [ref]; Wim Van Sebroeck [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
>=20
> Drops the last user of TIMER_INITIALIZER and adapts timer.h to use the in=
ternal
> version.
>=20
> 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(-)
>=20
> 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 */
>=20
> -static void switchover_timeout(unsigned long data); -static struct timer=
_list
> switchover_timer =3D
> -	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;
>=20
>  static struct tlclk_alarms *alarm_events; @@ -805,7 +804,7 @@ static int
> __init tlclk_init(void)
>  		goto out3;
>  	}
>=20
> -	init_timer(&switchover_timer);
> +	timer_setup(&switchover_timer, switchover_timeout, 0);
>=20
>  	ret =3D misc_register(&tlclk_miscdev);
>  	if (ret < 0) {
> @@ -855,9 +854,9 @@ static void __exit tlclk_cleanup(void)
>=20
>  }
>=20
> -static void switchover_timeout(unsigned long data)
> +static void switchover_timeout(struct timer_list *unused)
>  {
> -	unsigned long flags =3D *(unsigned long *) data;
> +	unsigned long flags =3D tlclk_timer_data;
>=20
>  	if ((flags & 1)) {
>  		if ((inb(TLCLK_REG1) & 0x08) !=3D (flags & 0x08)) @@ -922,7
> +921,6 @@ static irqreturn_t tlclk_interrupt(int irq, void *dev_id)
>  		/* TIMEOUT in ~10ms */
>  		switchover_timer.expires =3D jiffies + msecs_to_jiffies(10);
>  		tlclk_timer_data =3D inb(TLCLK_REG1);
> -		switchover_timer.data =3D (unsigned long) &tlclk_timer_data;
>  		mod_timer(&switchover_timer, switchover_timer.expires);
>  	} else {
>  		got_event =3D 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 {
>=20
>  #define DEFINE_TIMER(_name, _function, _expires, _data)		\
>  	struct timer_list _name =3D				\
> -		TIMER_INITIALIZER(_function, _expires, _data)
> +		__TIMER_INITIALIZER(_function, _expires, _data, 0)
>=20
>  void init_timer_key(struct timer_list *timer, unsigned int flags,
>  		    const char *name, struct lock_class_key *key);
> --
> 2.7.4
```
