aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/sgi-xp/xpc_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/sgi-xp/xpc_main.c')
-rw-r--r--drivers/misc/sgi-xp/xpc_main.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/drivers/misc/sgi-xp/xpc_main.c b/drivers/misc/sgi-xp/xpc_main.c
index 7f327121e6d7..0c775d6fcf59 100644
--- a/drivers/misc/sgi-xp/xpc_main.c
+++ b/drivers/misc/sgi-xp/xpc_main.c
@@ -172,9 +172,9 @@ struct xpc_arch_operations xpc_arch_ops;
172 * Timer function to enforce the timelimit on the partition disengage. 172 * Timer function to enforce the timelimit on the partition disengage.
173 */ 173 */
174static void 174static void
175xpc_timeout_partition_disengage(unsigned long data) 175xpc_timeout_partition_disengage(struct timer_list *t)
176{ 176{
177 struct xpc_partition *part = (struct xpc_partition *)data; 177 struct xpc_partition *part = from_timer(part, t, disengage_timer);
178 178
179 DBUG_ON(time_is_after_jiffies(part->disengage_timeout)); 179 DBUG_ON(time_is_after_jiffies(part->disengage_timeout));
180 180
@@ -190,7 +190,7 @@ xpc_timeout_partition_disengage(unsigned long data)
190 * specify when the next timeout should occur. 190 * specify when the next timeout should occur.
191 */ 191 */
192static void 192static void
193xpc_hb_beater(unsigned long dummy) 193xpc_hb_beater(struct timer_list *unused)
194{ 194{
195 xpc_arch_ops.increment_heartbeat(); 195 xpc_arch_ops.increment_heartbeat();
196 196
@@ -205,8 +205,7 @@ static void
205xpc_start_hb_beater(void) 205xpc_start_hb_beater(void)
206{ 206{
207 xpc_arch_ops.heartbeat_init(); 207 xpc_arch_ops.heartbeat_init();
208 init_timer(&xpc_hb_timer); 208 timer_setup(&xpc_hb_timer, xpc_hb_beater, 0);
209 xpc_hb_timer.function = xpc_hb_beater;
210 xpc_hb_beater(0); 209 xpc_hb_beater(0);
211} 210}
212 211
@@ -931,10 +930,8 @@ xpc_setup_partitions(void)
931 part->act_state = XPC_P_AS_INACTIVE; 930 part->act_state = XPC_P_AS_INACTIVE;
932 XPC_SET_REASON(part, 0, 0); 931 XPC_SET_REASON(part, 0, 0);
933 932
934 init_timer(&part->disengage_timer); 933 timer_setup(&part->disengage_timer,
935 part->disengage_timer.function = 934 xpc_timeout_partition_disengage, 0);
936 xpc_timeout_partition_disengage;
937 part->disengage_timer.data = (unsigned long)part;
938 935
939 part->setup_state = XPC_P_SS_UNSET; 936 part->setup_state = XPC_P_SS_UNSET;
940 init_waitqueue_head(&part->teardown_wq); 937 init_waitqueue_head(&part->teardown_wq);