patch-2.3.16 linux/net/irda/timer.c

Next file: linux/net/irda/wrapper.c
Previous file: linux/net/irda/qos.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.15/linux/net/irda/timer.c linux/net/irda/timer.c
@@ -6,10 +6,10 @@
  * Status:        Experimental.
  * Author:        Dag Brattli <dagb@cs.uit.no>
  * Created at:    Sat Aug 16 00:59:29 1997
- * Modified at:   Thu Feb  4 10:49:38 1999
+ * Modified at:   Sat Jun 26 17:03:22 1999
  * Modified by:   Dag Brattli <dagb@cs.uit.no>
  * 
- *     Copyright (c) 1997 Dag Brattli <dagb@cs.uit.no>, All Rights Reserved.
+ *     Copyright (c) 1997, 1999 Dag Brattli <dagb@cs.uit.no>, All Rights Reserved.
  *     
  *     This program is free software; you can redistribute it and/or 
  *     modify it under the terms of the GNU General Public License as 
@@ -31,84 +31,90 @@
 #include <net/irda/irlap.h>
 #include <net/irda/irlmp_event.h>
 
-static void irlap_slot_timer_expired( unsigned long data);
-static void irlap_query_timer_expired( unsigned long data);
-static void irlap_final_timer_expired( unsigned long data);
-static void irlap_wd_timer_expired( unsigned long data);
-static void irlap_backoff_timer_expired( unsigned long data);
+static void irlap_slot_timer_expired( void* data);
+static void irlap_query_timer_expired( void* data);
+static void irlap_final_timer_expired( void* data);
+static void irlap_wd_timer_expired( void* data);
+static void irlap_backoff_timer_expired( void* data);
 
-static void irda_device_media_busy_expired( unsigned long data); 
+static void irda_device_media_busy_expired( void* data); 
 /*
  * Function irda_start_timer (timer, timeout)
  *
  *    Start an IrDA timer
  *
  */
-void irda_start_timer( struct timer_list *ptimer, int timeout, int data,
-		       TIMER_CALLBACK callback) 
+void irda_start_timer(struct timer_list *ptimer, int timeout, void *data,
+		      TIMER_CALLBACK callback) 
 {
-	del_timer( ptimer);
+	del_timer(ptimer);
  
 	ptimer->data = (unsigned long) data;
-	ptimer->function = callback;
+
+	/* 
+	 * For most architectures void * is the same as unsigned long, but
+	 * at least we try to use void * as long as possible. Since the 
+	 * timer functions use unsigned long, we cast the function here
+	 */
+	ptimer->function = (void (*)(unsigned long)) callback;
 	ptimer->expires = jiffies + timeout;
 	
-	add_timer( ptimer);
+	add_timer(ptimer);
 }
 
-inline void irlap_start_slot_timer( struct irlap_cb *self, int timeout)
+inline void irlap_start_slot_timer(struct irlap_cb *self, int timeout)
 {
-	irda_start_timer( &self->slot_timer, timeout, (unsigned long) self, 
-			  irlap_slot_timer_expired);
+	irda_start_timer(&self->slot_timer, timeout, (void *) self, 
+			 irlap_slot_timer_expired);
 }
 
-inline void irlap_start_query_timer( struct irlap_cb *self, int timeout)
+inline void irlap_start_query_timer(struct irlap_cb *self, int timeout)
 {
-	irda_start_timer( &self->query_timer, timeout, (unsigned long) self, 
+	irda_start_timer( &self->query_timer, timeout, (void *) self, 
 			  irlap_query_timer_expired);
 }
 
-inline void irlap_start_final_timer( struct irlap_cb *self, int timeout)
+inline void irlap_start_final_timer(struct irlap_cb *self, int timeout)
 {
-	irda_start_timer( &self->final_timer, timeout,  (unsigned long) self, 
-			  irlap_final_timer_expired);
+	irda_start_timer(&self->final_timer, timeout, (void *) self, 
+			 irlap_final_timer_expired);
 }
 
-inline void irlap_start_wd_timer( struct irlap_cb *self, int timeout)
+inline void irlap_start_wd_timer(struct irlap_cb *self, int timeout)
 {
-	irda_start_timer( &self->wd_timer, timeout, (unsigned long) self, 
-			  irlap_wd_timer_expired);
+	irda_start_timer(&self->wd_timer, timeout, (void *) self, 
+			 irlap_wd_timer_expired);
 }
 
-inline void irlap_start_backoff_timer( struct irlap_cb *self, int timeout)
+inline void irlap_start_backoff_timer(struct irlap_cb *self, int timeout)
 {
-	irda_start_timer( &self->backoff_timer, timeout, (unsigned long) self, 
-			  irlap_backoff_timer_expired);
+	irda_start_timer(&self->backoff_timer, timeout, (void *) self, 
+			 irlap_backoff_timer_expired);
 }
 
-inline void irda_device_start_mbusy_timer( struct irda_device *self) 
+inline void irda_device_start_mbusy_timer(struct irda_device *self) 
 {
-	irda_start_timer( &self->media_busy_timer, MEDIABUSY_TIMEOUT, 
-			  (unsigned long) self, 
-			  irda_device_media_busy_expired);
+	irda_start_timer(&self->media_busy_timer, MEDIABUSY_TIMEOUT, 
+			 (void *) self, 
+			 irda_device_media_busy_expired);
 	
 }
 
-inline void irlmp_start_watchdog_timer( struct lsap_cb *self, int timeout) 
+inline void irlmp_start_watchdog_timer(struct lsap_cb *self, int timeout) 
 {
-	irda_start_timer( &self->watchdog_timer, timeout, (unsigned long) self,
-			  irlmp_watchdog_timer_expired);
+	irda_start_timer(&self->watchdog_timer, timeout, (void *) self,
+			 irlmp_watchdog_timer_expired);
 }
 
 inline void irlmp_start_discovery_timer(struct irlmp_cb *self, int timeout) 
 {
-	irda_start_timer(&self->discovery_timer, timeout, (unsigned long) self,
+	irda_start_timer(&self->discovery_timer, timeout, (void *) self,
 			 irlmp_discovery_timer_expired);
 }
 
 inline void irlmp_start_idle_timer(struct lap_cb *self, int timeout) 
 {
-	irda_start_timer(&self->idle_timer, timeout, (unsigned long) self,
+	irda_start_timer(&self->idle_timer, timeout, (void *) self,
 			 irlmp_idle_timer_expired);
 }
 
@@ -118,7 +124,7 @@
  *    IrLAP slot timer has expired
  *
  */
-static void irlap_slot_timer_expired( unsigned long data)
+static void irlap_slot_timer_expired( void* data)
 {
 	struct irlap_cb *self = (struct irlap_cb *) data;
 
@@ -136,7 +142,7 @@
  *    IrLAP query timer has expired
  *
  */
-static void irlap_query_timer_expired( unsigned long data)
+static void irlap_query_timer_expired( void* data)
 {
 	struct irlap_cb *self = (struct irlap_cb *) data;
 
@@ -154,7 +160,7 @@
  *    
  *
  */
-static void irlap_final_timer_expired( unsigned long data)
+static void irlap_final_timer_expired( void* data)
 {
 	struct irlap_cb *self = (struct irlap_cb *) data;
 
@@ -172,7 +178,7 @@
  *    
  *
  */
-static void irlap_wd_timer_expired( unsigned long data)
+static void irlap_wd_timer_expired( void* data)
 {
 	struct irlap_cb *self = (struct irlap_cb *) data;
 	
@@ -190,7 +196,7 @@
  *    
  *
  */
-static void irlap_backoff_timer_expired( unsigned long data)
+static void irlap_backoff_timer_expired( void* data)
 {
 	struct irlap_cb *self = (struct irlap_cb *) data;
 	
@@ -208,7 +214,7 @@
  *
  *    
  */
-void irda_device_media_busy_expired( unsigned long data) 
+void irda_device_media_busy_expired( void* data)
 {
 	struct irda_device *self = ( struct irda_device *) data;
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)