Commit 25b42fa8 authored by Kees Cook's avatar Kees Cook

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 <cpw@sgi.com>
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Acked-by: default avatarRobin Holt <robinmholt@gmail.com>
parent 41760d0e
...@@ -172,9 +172,9 @@ struct xpc_arch_operations xpc_arch_ops; ...@@ -172,9 +172,9 @@ struct xpc_arch_operations xpc_arch_ops;
* Timer function to enforce the timelimit on the partition disengage. * Timer function to enforce the timelimit on the partition disengage.
*/ */
static void 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)); DBUG_ON(time_is_after_jiffies(part->disengage_timeout));
...@@ -190,7 +190,7 @@ xpc_timeout_partition_disengage(unsigned long data) ...@@ -190,7 +190,7 @@ xpc_timeout_partition_disengage(unsigned long data)
* specify when the next timeout should occur. * specify when the next timeout should occur.
*/ */
static void static void
xpc_hb_beater(unsigned long dummy) xpc_hb_beater(struct timer_list *unused)
{ {
xpc_arch_ops.increment_heartbeat(); xpc_arch_ops.increment_heartbeat();
...@@ -205,8 +205,7 @@ static void ...@@ -205,8 +205,7 @@ static void
xpc_start_hb_beater(void) xpc_start_hb_beater(void)
{ {
xpc_arch_ops.heartbeat_init(); xpc_arch_ops.heartbeat_init();
init_timer(&xpc_hb_timer); timer_setup(&xpc_hb_timer, xpc_hb_beater, 0);
xpc_hb_timer.function = xpc_hb_beater;
xpc_hb_beater(0); xpc_hb_beater(0);
} }
...@@ -931,10 +930,8 @@ xpc_setup_partitions(void) ...@@ -931,10 +930,8 @@ xpc_setup_partitions(void)
part->act_state = XPC_P_AS_INACTIVE; part->act_state = XPC_P_AS_INACTIVE;
XPC_SET_REASON(part, 0, 0); XPC_SET_REASON(part, 0, 0);
init_timer(&part->disengage_timer); timer_setup(&part->disengage_timer,
part->disengage_timer.function = xpc_timeout_partition_disengage, 0);
xpc_timeout_partition_disengage;
part->disengage_timer.data = (unsigned long)part;
part->setup_state = XPC_P_SS_UNSET; part->setup_state = XPC_P_SS_UNSET;
init_waitqueue_head(&part->teardown_wq); init_waitqueue_head(&part->teardown_wq);
......
...@@ -323,16 +323,16 @@ xpc_handle_notify_IRQ_sn2(int irq, void *dev_id) ...@@ -323,16 +323,16 @@ xpc_handle_notify_IRQ_sn2(int irq, void *dev_id)
* was received. * was received.
*/ */
static void 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)) { if (xpc_part_ref(part)) {
xpc_check_for_sent_chctl_flags_sn2(part); xpc_check_for_sent_chctl_flags_sn2(part);
part_sn2->dropped_notify_IRQ_timer.expires = jiffies + t->expires = jiffies + XPC_DROPPED_NOTIFY_IRQ_WAIT_INTERVAL;
XPC_DROPPED_NOTIFY_IRQ_WAIT_INTERVAL; add_timer(t);
add_timer(&part_sn2->dropped_notify_IRQ_timer);
xpc_part_deref(part); xpc_part_deref(part);
} }
} }
...@@ -1232,10 +1232,7 @@ xpc_setup_ch_structures_sn2(struct xpc_partition *part) ...@@ -1232,10 +1232,7 @@ xpc_setup_ch_structures_sn2(struct xpc_partition *part)
/* Setup a timer to check for dropped notify IRQs */ /* Setup a timer to check for dropped notify IRQs */
timer = &part_sn2->dropped_notify_IRQ_timer; timer = &part_sn2->dropped_notify_IRQ_timer;
init_timer(timer); timer_setup(timer, xpc_check_for_dropped_notify_IRQ_sn2, 0);
timer->function =
(void (*)(unsigned long))xpc_check_for_dropped_notify_IRQ_sn2;
timer->data = (unsigned long)part;
timer->expires = jiffies + XPC_DROPPED_NOTIFY_IRQ_WAIT_INTERVAL; timer->expires = jiffies + XPC_DROPPED_NOTIFY_IRQ_WAIT_INTERVAL;
add_timer(timer); add_timer(timer);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment