2929#include <net/rose.h>
3030
3131static void rose_heartbeat_expiry (unsigned long );
32- static void rose_timer_expiry (unsigned long );
33- static void rose_idletimer_expiry (unsigned long );
32+ static void rose_timer_expiry (struct timer_list * );
33+ static void rose_idletimer_expiry (struct timer_list * );
3434
3535void rose_start_heartbeat (struct sock * sk )
3636{
@@ -49,8 +49,7 @@ void rose_start_t1timer(struct sock *sk)
4949
5050 del_timer (& rose -> timer );
5151
52- rose -> timer .data = (unsigned long )sk ;
53- rose -> timer .function = & rose_timer_expiry ;
52+ rose -> timer .function = (TIMER_FUNC_TYPE )rose_timer_expiry ;
5453 rose -> timer .expires = jiffies + rose -> t1 ;
5554
5655 add_timer (& rose -> timer );
@@ -62,8 +61,7 @@ void rose_start_t2timer(struct sock *sk)
6261
6362 del_timer (& rose -> timer );
6463
65- rose -> timer .data = (unsigned long )sk ;
66- rose -> timer .function = & rose_timer_expiry ;
64+ rose -> timer .function = (TIMER_FUNC_TYPE )rose_timer_expiry ;
6765 rose -> timer .expires = jiffies + rose -> t2 ;
6866
6967 add_timer (& rose -> timer );
@@ -75,8 +73,7 @@ void rose_start_t3timer(struct sock *sk)
7573
7674 del_timer (& rose -> timer );
7775
78- rose -> timer .data = (unsigned long )sk ;
79- rose -> timer .function = & rose_timer_expiry ;
76+ rose -> timer .function = (TIMER_FUNC_TYPE )rose_timer_expiry ;
8077 rose -> timer .expires = jiffies + rose -> t3 ;
8178
8279 add_timer (& rose -> timer );
@@ -88,8 +85,7 @@ void rose_start_hbtimer(struct sock *sk)
8885
8986 del_timer (& rose -> timer );
9087
91- rose -> timer .data = (unsigned long )sk ;
92- rose -> timer .function = & rose_timer_expiry ;
88+ rose -> timer .function = (TIMER_FUNC_TYPE )rose_timer_expiry ;
9389 rose -> timer .expires = jiffies + rose -> hb ;
9490
9591 add_timer (& rose -> timer );
@@ -102,8 +98,7 @@ void rose_start_idletimer(struct sock *sk)
10298 del_timer (& rose -> idletimer );
10399
104100 if (rose -> idle > 0 ) {
105- rose -> idletimer .data = (unsigned long )sk ;
106- rose -> idletimer .function = & rose_idletimer_expiry ;
101+ rose -> idletimer .function = (TIMER_FUNC_TYPE )rose_idletimer_expiry ;
107102 rose -> idletimer .expires = jiffies + rose -> idle ;
108103
109104 add_timer (& rose -> idletimer );
@@ -163,10 +158,10 @@ static void rose_heartbeat_expiry(unsigned long param)
163158 bh_unlock_sock (sk );
164159}
165160
166- static void rose_timer_expiry (unsigned long param )
161+ static void rose_timer_expiry (struct timer_list * t )
167162{
168- struct sock * sk = ( struct sock * ) param ;
169- struct rose_sock * rose = rose_sk ( sk ) ;
163+ struct rose_sock * rose = from_timer ( rose , t , timer ) ;
164+ struct sock * sk = & rose -> sock ;
170165
171166 bh_lock_sock (sk );
172167 switch (rose -> state ) {
@@ -192,9 +187,10 @@ static void rose_timer_expiry(unsigned long param)
192187 bh_unlock_sock (sk );
193188}
194189
195- static void rose_idletimer_expiry (unsigned long param )
190+ static void rose_idletimer_expiry (struct timer_list * t )
196191{
197- struct sock * sk = (struct sock * )param ;
192+ struct rose_sock * rose = from_timer (rose , t , idletimer );
193+ struct sock * sk = & rose -> sock ;
198194
199195 bh_lock_sock (sk );
200196 rose_clear_queues (sk );
0 commit comments