On Thu, Aug 31, 2017 at 04:29:36PM -0700, Kees Cook wrote: > In preparation for changing the timer callback argument to the timer > pointer, move to a separate static data variable. > > Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> > Cc: James Hogan <james.hogan@xxxxxxxxxx> > Cc: Ingo Molnar <mingo@xxxxxxxxxx> > Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> > Cc: linux-mips@xxxxxxxxxxxxxx > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> > --- > arch/mips/sgi-ip22/ip22-reset.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/arch/mips/sgi-ip22/ip22-reset.c b/arch/mips/sgi-ip22/ip22-reset.c > index 196b041866ac..5cc32610e6d3 100644 > --- a/arch/mips/sgi-ip22/ip22-reset.c > +++ b/arch/mips/sgi-ip22/ip22-reset.c > @@ -38,6 +38,7 @@ > #define PANIC_FREQ (HZ / 8) > > static struct timer_list power_timer, blink_timer, debounce_timer; > +static unsigned long blink_timer_timeout; You're removing power_timer and debounce_timer ... > #define MACHINE_PANICED 1 > #define MACHINE_SHUTTING_DOWN 2 > @@ -86,13 +87,13 @@ static void power_timeout(unsigned long data) > sgi_machine_power_off(); > } > > -static void blink_timeout(unsigned long data) > +static void blink_timeout(unsigned long unused) > { > /* XXX fix this for fullhouse */ > sgi_ioc_reset ^= (SGIOC_RESET_LC0OFF|SGIOC_RESET_LC1OFF); > sgioc->reset = sgi_ioc_reset; > > - mod_timer(&blink_timer, jiffies + data); > + mod_timer(&blink_timer, jiffies + blink_timer_timeout); > } > > static void debounce(unsigned long data) > @@ -128,8 +129,8 @@ static inline void power_button(void) > } > > machine_state |= MACHINE_SHUTTING_DOWN; > - blink_timer.data = POWERDOWN_FREQ; > - blink_timeout(POWERDOWN_FREQ); > + blink_timer_timeout = POWERDOWN_FREQ; > + blink_timeout(0); > > setup_timer(&power_timer, power_timeout, 0UL); ... but don't remove the reference to power_timer nor use of debounce_timer. > power_timer.expires = jiffies + POWERDOWN_TIMEOUT * HZ; > @@ -169,8 +170,8 @@ static int panic_event(struct notifier_block *this, unsigned long event, > return NOTIFY_DONE; > machine_state |= MACHINE_PANICED; > > - blink_timer.data = PANIC_FREQ; > - blink_timeout(PANIC_FREQ); > + blink_timer_timeout = PANIC_FREQ; > + blink_timeout(0); > > return NOTIFY_DONE; > } > @@ -193,8 +194,7 @@ static int __init reboot_setup(void) > return res; > } > > - init_timer(&blink_timer); > - blink_timer.function = blink_timeout; > + setup_timer(&blink_timer, blink_timeout, 0); > atomic_notifier_chain_register(&panic_notifier_list, &panic_block); > > return 0; Ralf