drivers/sgi-xp: Convert timers to use timer_setup()
PATCH 1/1 drivers/sgi-xp: 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.
Cc Cliff Whickman <[email protected]>
Cc Robin Holt <[email protected]>
Signed-off-by Kees Cook <[email protected]>
--- drivers/misc/sgi-xp/xpc_main.c | 15 ++++++--------- drivers/misc/sgi-xp/xpc_sn2.c | 15 ++++++--------- 2 files changed, 12 insertions(+), 18 deletions(-)
drivers/misc/sgi-xp/xpc_main.c +6 -9
@@ -172,9 +172,9 @@ struct xpc_arch_operations xpc_arch_ops;* Timer function to enforce the timelimit on the partition disengage. */ static void -xpc_timeout_partition_disengage (unsigned long data) +xpc_timeout_partition_disengage (struct timer_list *t) { -struct xpc_partition *part = (struct xpc_partition *)data; +struct xpc_partition *part =from_timer (part, t, disengage_timer);DBUG_ON (time_is_after_jiffies (part->disengage_timeout));
@@ -190,7 +190,7 @@ xpc_timeout_partition_disengage(unsigned long data)* specify when the next timeout should occur. */ static void -xpc_hb_beater (unsigned long dummy) +xpc_hb_beater (struct timer_list *unused) { xpc_arch_ops.increment_heartbeat ();
@@ -205,8 +205,7 @@ static voidxpc_start_hb_beater (void) { xpc_arch_ops.heartbeat_init (); -init_timer (&xpc_hb_timer); - xpc_hb_timer.function = xpc_hb_beater; +timer_setup (&xpc_hb_timer, xpc_hb_beater,0 );xpc_hb_beater (0 ); }
@@ -931,10 +930,8 @@ xpc_setup_partitions(void) part->act_state =XPC_P_AS_INACTIVE ;XPC_SET_REASON (part,0 ,0 ); -init_timer (&part->disengage_timer); - part->disengage_timer.function = - xpc_timeout_partition_disengage; - part->disengage_timer.data = (unsigned long )part; +timer_setup (&part->disengage_timer, + xpc_timeout_partition_disengage,0 ); part->setup_state =XPC_P_SS_UNSET ;init_waitqueue_head (&part->teardown_wq);
drivers/misc/sgi-xp/xpc_sn2.c +6 -9
@@ -323,16 +323,16 @@ xpc_handle_notify_IRQ_sn2(int irq, void *dev_id)* was received. */ static void -xpc_check_for_dropped_notify_IRQ_sn2 (struct xpc_partition *part) +xpc_check_for_dropped_notify_IRQ_sn2 (struct timer_list *t) { -struct xpc_partition_sn2 *part_sn2 = &part->sn.sn2; +struct xpc_partition *part = +from_timer (part, t, sn.sn2.dropped_notify_IRQ_timer);if (xpc_part_ref (part)) {xpc_check_for_sent_chctl_flags_sn2 (part); - part_sn2->dropped_notify_IRQ_timer.expires = jiffies + -XPC_DROPPED_NOTIFY_IRQ_WAIT_INTERVAL ; -add_timer (&part_sn2->dropped_notify_IRQ_timer); + t->expires = jiffies +XPC_DROPPED_NOTIFY_IRQ_WAIT_INTERVAL ; +add_timer (t);xpc_part_deref (part); } }
@@ -1232,10 +1232,7 @@ xpc_setup_ch_structures_sn2(struct xpc_partition *part)/* Setup a timer to check for dropped notify IRQs */ timer = &part_sn2->dropped_notify_IRQ_timer; -init_timer (timer); - timer->function = - (void (*)(unsigned long ))xpc_check_for_dropped_notify_IRQ_sn2; - timer->data = (unsigned long )part; +timer_setup (timer, xpc_check_for_dropped_notify_IRQ_sn2,0 ); timer->expires = jiffies +XPC_DROPPED_NOTIFY_IRQ_WAIT_INTERVAL ;add_timer (timer);
Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security
On Tue, Oct 24, 2017 at 5:23 AM, Kees Cook <[email protected]> wrote:
...
Quoted 1 line
Cc Robin Holt <[email protected]>
Acked-by Robin Holt <[email protected]>