drivers/firmware: psci: Convert timers to use timer_setup()
PATCH 1/1 drivers/firmware: psci: Convert timers to use timer_setup()
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. Also adds missing call to destroy_timer_on_stack().
--- drivers/firmware/psci_checker.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
drivers/firmware/psci_checker.c +3 -2
@@ -220,7 +220,7 @@ static int hotplug_tests(void)return err; } -static void dummy_callback (unsigned long ignored) {} +static void dummy_callback (struct timer_list *unused) {}static int suspend_cpu (int index,bool broadcast) {
@@ -287,7 +287,7 @@ static int suspend_test_thread(void *arg)pr_info ("CPU %d entering suspend cycles, states 1 through %d\n" , cpu, drv->state_count -1 ); -setup_timer_on_stack (&wakeup_timer, dummy_callback,0 ); +timer_setup_on_stack (&wakeup_timer, dummy_callback,0 );for (i =0 ; i <NUM_SUSPEND_CYCLE ; ++i) {int index;/*
@@ -340,6 +340,7 @@ static int suspend_test_thread(void *arg)* later. */ del_timer (&wakeup_timer); +destroy_timer_on_stack (&wakeup_timer);if (atomic_dec_return_relaxed (&nb_active_threads) ==0 )complete (&suspend_threads_done);
Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security
Hi Kees,
Quoted 5 lines · Kees Cook
In preparation for unconditionally passing the struct
timer_listpointer to all timer callbacks, switch to using the newtimer_setup()andfrom_timer()to pass the timer pointer explicitly.Also adds missing call to
destroy_timer_on_stack().
This patch should be split I think. I can send a patch to add the missing destroy_timer_on_stack() call (which may get in as a fix) and then we add a patch to update the timer setup API.
Quoted 22 lines
Cc Mark Rutland <[email protected]>Cc Lorenzo Pieralisi <[email protected]>Signed-off-by Kees Cook <[email protected]>--- drivers/firmware/psci_checker.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)drivers/firmware/psci_checker.c +1
-1@@ -220,7 +220,7 @@ static int hotplug_tests(void)return err; } -static void dummy_callback (unsigned long ignored) {} +static void dummy_callback (struct timer_list *unused) {}static int suspend_cpu (int index,bool broadcast) {
drivers/firmware/psci_checker.c static int suspend_test_thread(void *arg) · line 290
Quoted 5 lines
drivers/firmware/psci_checker.c +1
-1@@ -287,7 +287,7 @@ static int suspend_test_thread(void *arg)pr_info ("CPU %d entering suspend cycles, states 1 through %d\n" , cpu, drv->state_count -1 ); -setup_timer_on_stack (&wakeup_timer, dummy_callback,0 ); +timer_setup_on_stack (&wakeup_timer, dummy_callback,0 );
drivers/firmware/psci_checker.c: In function 'suspend_test_thread':drivers/firmware/psci_checker.c:290:2: error: implicit declaration of function 'timer_setup_on_stack' [-Werror=implicit-function-declaration]
timer_setup_on_stack(&wakeup_timer, dummy_callback, 0);
^~~~~~~~~~~~~~~~~~~~On which tree this change is based on ?
I will send out the fix separately and CC you in.
Thanks,
Lorenzo
Quoted 18 lines
drivers/firmware/psci_checker.c +1
-0for (i =0 ; i <NUM_SUSPEND_CYCLE ; ++i) {int index;/* @@ -340,6 +340,7 @@ static int suspend_test_thread(void *arg)* later. */ del_timer (&wakeup_timer); +destroy_timer_on_stack (&wakeup_timer);if (atomic_dec_return_relaxed (&nb_active_threads) ==0 )complete (&suspend_threads_done);Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security
Quoted 7 lines · Lorenzo Pieralisi
Hi Kees,
Quoted 3 lines · Kees Cook
In preparation for unconditionally passing the struct
timer_listpointer to all timer callbacks, switch to using the newtimer_setup()andfrom_timer()to pass the timer pointer explicitly.
Quoted 6 lines
Quoted 1 line
Also adds missing call to
destroy_timer_on_stack().This patch should be split I think. I can send a patch to add the missing
destroy_timer_on_stack()call (which may get in as a fix) and then we add a patch to update the timer setup API.
Okay, sure, should be fine to split this.
Quoted 31 lines
Quoted 22 lines
Cc Mark Rutland <[email protected]>Cc Lorenzo Pieralisi <[email protected]>Cc linux-arm-kernel at lists.infradead.orgSigned-off-by Kees Cook <[email protected]>--- drivers/firmware/psci_checker.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)drivers/firmware/psci_checker.c +1
-1@@ -220,7 +220,7 @@ static int hotplug_tests(void)return err; } -static void dummy_callback (unsigned long ignored) {} +static void dummy_callback (struct timer_list *unused) {}static int suspend_cpu (int index,bool broadcast) {drivers/firmware/psci_checker.c static int suspend_test_thread(void *arg) · line 290
Quoted 5 lines
drivers/firmware/psci_checker.c +1
-1@@ -287,7 +287,7 @@ static int suspend_test_thread(void *arg)pr_info ("CPU %d entering suspend cycles, states 1 through %d\n" , cpu, drv->state_count -1 ); -setup_timer_on_stack (&wakeup_timer, dummy_callback,0 ); +timer_setup_on_stack (&wakeup_timer, dummy_callback,0 );
drivers/firmware/psci_checker.c: In function 'suspend_test_thread':drivers/firmware/psci_checker.c:290:2: error: implicit declaration of function 'timer_setup_on_stack' [-Werror=implicit-function-declaration]
Quoted 4 lines
timer_setup_on_stack(&wakeup_timer, dummy_callback, 0); ^~~~~~~~~~~~~~~~~~~~On which tree this change is based on ?
Oh whoops, sorry, timer_setup() was in -rc3, but I see now that timer_setup_on_stack() is only in -next. If you're okay with this change, I can carry it in the timer tree for -next instead.
Quoted 1 line
I will send out the fix separately and CC you in.
Thanks!
-Kees
Signature · 2 lines
Kees Cook Pixel Security