[PATCH] 2.3.99pre6-6 cosmetic replacement for init_timer...add_timer

From: François romieu (romieu@ensta.fr)
Date: Tue Apr 25 2000 - 19:03:12 EST


Many drivers use the same init_timer, timer.expires = , timer.data =,
timer.function = , add_timer sequence. Here the common factor becomes a
function added to kernel/timer.c.

Question :
Doing this, I noticed everybody uses his own method to specify the expires
value (simple number, HZ, etc...). Is there a preferred (or really avoidable)
way to do it ?

diff -u --recursive --new-file linux-2.3.99pre6-6.orig/arch/sparc64/kernel/central.c linux-2.3.99pre6-6/arch/sparc64/kernel/central.c
--- linux-2.3.99pre6-6.orig/arch/sparc64/kernel/central.c Sat Mar 18 06:59:42 2000
+++ linux-2.3.99pre6-6/arch/sparc64/kernel/central.c Wed Apr 26 00:08:01 2000
@@ -455,9 +455,5 @@
         upa_writeb(ctrl, central->clkregs + CLOCK_CTRL);
 
         led_state = 0;
- init_timer(&sftimer);
- sftimer.data = 0;
- sftimer.function = &sunfire_timer;
- sftimer.expires = jiffies + (HZ >> 1);
- add_timer(&sftimer);
+ add_simple_timer( &sftimer, HZ>>1, 0, &sunfire_timer );
 }
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/atm/nicstar.c linux-2.3.99pre6-6/drivers/atm/nicstar.c
--- linux-2.3.99pre6-6.orig/drivers/atm/nicstar.c Tue Apr 25 21:33:48 2000
+++ linux-2.3.99pre6-6/drivers/atm/nicstar.c Tue Apr 25 22:52:20 2000
@@ -251,11 +251,7 @@
 #endif /* PHY_LOOPBACK */
    XPRINTK("nicstar: init_module() returned.\n");
 
- init_timer(&ns_timer);
- ns_timer.expires = jiffies + NS_POLL_PERIOD;
- ns_timer.data = 0UL;
- ns_timer.function = ns_poll;
- add_timer(&ns_timer);
+ add_simple_timer( &ns_timer, NS_POLL_PERIOD, 0UL, ns_poll );
    return 0;
 }
 
@@ -387,11 +383,7 @@
 #endif /* PHY_LOOPBACK */
    XPRINTK("nicstar: init_module() returned.\n");
 
- init_timer(&ns_timer);
- ns_timer.expires = jiffies + NS_POLL_PERIOD;
- ns_timer.data = 0UL;
- ns_timer.function = ns_poll;
- add_timer(&ns_timer);
+ add_simple_timer( &ns_timer, jiffies + NS_POLL_PERIOD, 0UL, ns_poll );
    return i;
 }
 
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/block/cpqarray.c linux-2.3.99pre6-6/drivers/block/cpqarray.c
--- linux-2.3.99pre6-6.orig/drivers/block/cpqarray.c Sat Mar 18 07:09:31 2000
+++ linux-2.3.99pre6-6/drivers/block/cpqarray.c Tue Apr 25 22:52:01 2000
@@ -472,11 +472,8 @@
                 ida_gendisk[i].next = gendisk_head;
                 gendisk_head = &ida_gendisk[i];
 
- init_timer(&hba[i]->timer);
- hba[i]->timer.expires = jiffies + IDA_TIMER;
- hba[i]->timer.data = (unsigned long)hba[i];
- hba[i]->timer.function = ida_timer;
- add_timer(&hba[i]->timer);
+ add_simple_timer( &hba[i]->timer, IDA_TIMER,
+ (unsigned long)hba[i], ida_timer );
 
                 ida_geninit(i);
                 for(j=0; j<NWD; j++)
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/char/radio-cadet.c linux-2.3.99pre6-6/drivers/char/radio-cadet.c
--- linux-2.3.99pre6-6.orig/drivers/char/radio-cadet.c Sat Mar 18 07:03:12 2000
+++ linux-2.3.99pre6-6/drivers/char/radio-cadet.c Tue Apr 25 22:52:04 2000
@@ -335,11 +335,8 @@
         /*
          * Clean up and exit
          */
- init_timer(&readtimer);
- readtimer.function=cadet_handler;
- readtimer.data=(unsigned long)0;
- readtimer.expires=jiffies+(HZ/20);
- add_timer(&readtimer);
+ add_simple_timer( &readtimer, HZ/20, (unsigned long)0,
+ cadet_handler );
 }
 
 
@@ -355,11 +352,7 @@
                 rdsstat=1;
                 outb(0x80,io); /* Select RDS fifo */
                 cadet_lock--;
- init_timer(&readtimer);
- readtimer.function=cadet_handler;
- readtimer.data=(unsigned long)0;
- readtimer.expires=jiffies+(HZ/20);
- add_timer(&readtimer);
+ add_simple_timer( &readtimer, HZ/20, (unsigned long)0, cadet_handler );
         }
         if(rdsin==rdsout) {
                   if(nonblock) {
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/char/specialix.c linux-2.3.99pre6-6/drivers/char/specialix.c
--- linux-2.3.99pre6-6.orig/drivers/char/specialix.c Sat Mar 18 07:13:51 2000
+++ linux-2.3.99pre6-6/drivers/char/specialix.c Tue Apr 25 22:52:03 2000
@@ -581,11 +581,8 @@
 #endif
 
 #ifdef SPECIALIX_TIMER
- init_timer (&missed_irq_timer);
- missed_irq_timer.function = missed_irq;
- missed_irq_timer.data = (unsigned long) bp;
- missed_irq_timer.expires = jiffies + HZ;
- add_timer (&missed_irq_timer);
+ add_simple_timer( &missed_irq_timer, HZ, (unsigned long) bp,
+ missed_irq );
 #endif
 
         printk(KERN_INFO"sx%d: specialix IO8+ board detected at 0x%03x, IRQ %d, CD%d Rev. %c.\n",
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/isdn/icn/icn.c linux-2.3.99pre6-6/drivers/isdn/icn/icn.c
--- linux-2.3.99pre6-6.orig/drivers/isdn/icn/icn.c Sat Mar 18 06:55:09 2000
+++ linux-2.3.99pre6-6/drivers/isdn/icn/icn.c Tue Apr 25 22:52:11 2000
@@ -1205,18 +1205,13 @@
 #endif
                                 save_flags(flags);
                                 cli();
- init_timer(&card->st_timer);
- card->st_timer.expires = jiffies + ICN_TIMER_DCREAD;
- card->st_timer.function = icn_polldchan;
- card->st_timer.data = (unsigned long) card;
- add_timer(&card->st_timer);
+ add_simple_timer( &card->st_timer,
+ ICN_TIMER_DCREAD,
+ (unsigned long) card,
+ icn_polldchan );
                                 card->flags |= ICN_FLAGS_RUNNING;
                                 if (card->doubleS0) {
- init_timer(&card->other->st_timer);
- card->other->st_timer.expires = jiffies + ICN_TIMER_DCREAD;
- card->other->st_timer.function = icn_polldchan;
- card->other->st_timer.data = (unsigned long) card->other;
- add_timer(&card->other->st_timer);
+ add_simple_timer( &card->other->st_timer, ICN_TIMER_DCREAD, (unsigned long) card->other, icn_polldchan );
                                         card->other->flags |= ICN_FLAGS_RUNNING;
                                 }
                                 restore_flags(flags);
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/isdn/isdnloop/isdnloop.c linux-2.3.99pre6-6/drivers/isdn/isdnloop/isdnloop.c
--- linux-2.3.99pre6-6.orig/drivers/isdn/isdnloop/isdnloop.c Sat Mar 18 06:55:09 2000
+++ linux-2.3.99pre6-6/drivers/isdn/isdnloop/isdnloop.c Tue Apr 25 22:52:13 2000
@@ -1152,11 +1152,8 @@
                                sdef.ptype);
                         return -EINVAL;
         }
- init_timer(&card->st_timer);
- card->st_timer.expires = jiffies + ISDNLOOP_TIMER_DCREAD;
- card->st_timer.function = isdnloop_polldchan;
- card->st_timer.data = (unsigned long) card;
- add_timer(&card->st_timer);
+ add_simple_timer( &card->st_timer, ISDNLOOP_TIMER_DCREAD,
+ (unsigned long) card, isdnloop_polldchan );
         card->flags |= ISDNLOOP_FLAGS_RUNNING;
         restore_flags(flags);
         return 0;
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/isdn/pcbit/drv.c linux-2.3.99pre6-6/drivers/isdn/pcbit/drv.c
--- linux-2.3.99pre6-6.orig/drivers/isdn/pcbit/drv.c Sat Mar 18 06:56:31 2000
+++ linux-2.3.99pre6-6/drivers/isdn/pcbit/drv.c Tue Apr 25 22:52:12 2000
@@ -389,11 +389,8 @@
                  */
 #ifdef BLOCK_TIMER
                 if (chan->block_timer.function == NULL) {
- init_timer(&chan->block_timer);
- chan->block_timer.function = &pcbit_block_timer;
- chan->block_timer.data = (long) chan;
- chan->block_timer.expires = jiffies + 1 * HZ;
- add_timer(&chan->block_timer);
+ add_simple_timer( &chan->block_timer, HZ, (long) chan,
+ &pcbit_block_timer );
                 }
 #endif
                 return 0;
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/isdn/pcbit/edss1.c linux-2.3.99pre6-6/drivers/isdn/pcbit/edss1.c
--- linux-2.3.99pre6-6.orig/drivers/isdn/pcbit/edss1.c Sat Aug 31 13:01:58 1996
+++ linux-2.3.99pre6-6/drivers/isdn/pcbit/edss1.c Tue Apr 25 22:52:12 2000
@@ -315,11 +315,8 @@
                         break;
 
         if (tentry->init != 0xff) {
- init_timer(&chan->fsm_timer);
- chan->fsm_timer.function = &pcbit_fsm_timer;
- chan->fsm_timer.data = (ulong) chan;
- chan->fsm_timer.expires = jiffies + tentry->timeout * HZ;
- add_timer(&chan->fsm_timer);
+ add_simple_timer( &chan->fsm_timer, tentry->timeout*HZ,
+ (ulong) chan, &pcbit_fsm_timer );
         }
 
         restore_flags(flags);
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/isdn/pcbit/layer2.c linux-2.3.99pre6-6/drivers/isdn/pcbit/layer2.c
--- linux-2.3.99pre6-6.orig/drivers/isdn/pcbit/layer2.c Sat Mar 18 06:55:09 2000
+++ linux-2.3.99pre6-6/drivers/isdn/pcbit/layer2.c Tue Apr 25 22:52:12 2000
@@ -684,11 +684,8 @@
 
                 dev->l2_state = L2_DOWN;
 
- init_timer(&dev->error_recover_timer);
- dev->error_recover_timer.function = &pcbit_l2_err_recover;
- dev->error_recover_timer.data = (ulong) dev;
- dev->error_recover_timer.expires = jiffies + ERRTIME;
- add_timer(&dev->error_recover_timer);
+ add_simple_timer( &dev->error_recover_timer, ERRTIME,
+ (ulong) dev, &pcbit_l2_err_recover );
         }
 }
 
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/isdn/sc/command.c linux-2.3.99pre6-6/drivers/isdn/sc/command.c
--- linux-2.3.99pre6-6.orig/drivers/isdn/sc/command.c Fri May 30 00:53:06 1997
+++ linux-2.3.99pre6-6/drivers/isdn/sc/command.c Tue Apr 25 22:52:13 2000
@@ -543,11 +543,8 @@
 
         save_flags(flags);
         cli();
- init_timer(&adapter[card]->reset_timer);
- adapter[card]->reset_timer.function = check_reset;
- adapter[card]->reset_timer.data = card;
- adapter[card]->reset_timer.expires = jiffies + CHECKRESET_TIME;
- add_timer(&adapter[card]->reset_timer);
+ add_simple_timer( &adapter[card]->reset_timer, CHECKRESET_TIME,
+ card, check_reset );
         restore_flags(flags);
 
         outb(0x1,adapter[card]->ioport[SFT_RESET]);
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/isdn/sc/interrupt.c linux-2.3.99pre6-6/drivers/isdn/sc/interrupt.c
--- linux-2.3.99pre6-6.orig/drivers/isdn/sc/interrupt.c Wed Apr 1 19:21:04 1998
+++ linux-2.3.99pre6-6/drivers/isdn/sc/interrupt.c Tue Apr 25 22:52:13 2000
@@ -180,11 +180,8 @@
                         adapter[card]->EngineUp = 1;
                         sendmessage(card, CEPID,ceReqTypeCall,ceReqClass0,ceReqCallGetMyNumber,1,0,NULL);
                         sendmessage(card, CEPID,ceReqTypeCall,ceReqClass0,ceReqCallGetMyNumber,2,0,NULL);
- init_timer(&adapter[card]->stat_timer);
- adapter[card]->stat_timer.function = check_phystat;
- adapter[card]->stat_timer.data = card;
- adapter[card]->stat_timer.expires = jiffies + CHECKSTAT_TIME;
- add_timer(&adapter[card]->stat_timer);
+ add_simple_timer( &adapter[card]->stat_timer,
+ CHECKSTAT_TIME, card, check_phystat );
                         continue;
                 }
 
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/net/3c515.c linux-2.3.99pre6-6/drivers/net/3c515.c
--- linux-2.3.99pre6-6.orig/drivers/net/3c515.c Tue Apr 25 21:33:51 2000
+++ linux-2.3.99pre6-6/drivers/net/3c515.c Tue Apr 25 22:51:59 2000
@@ -742,11 +742,8 @@
                         printk("%s: Initial media type %s.\n",
                                dev->name, media_tbl[dev->if_port].name);
 
- init_timer(&vp->timer);
- vp->timer.expires = RUN_AT(media_tbl[dev->if_port].wait);
- vp->timer.data = (unsigned long) dev;
- vp->timer.function = &corkscrew_timer; /* timer handler */
- add_timer(&vp->timer);
+ add_simple_timer( &vp->timer, media_tbl[dev->if_port].wait,
+ (unsigned long) dev, &corkscrew_timer );
         } else
                 dev->if_port = vp->default_media;
 
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/net/3c59x.c linux-2.3.99pre6-6/drivers/net/3c59x.c
--- linux-2.3.99pre6-6.orig/drivers/net/3c59x.c Tue Apr 25 21:36:33 2000
+++ linux-2.3.99pre6-6/drivers/net/3c59x.c Tue Apr 25 22:51:55 2000
@@ -1072,11 +1072,8 @@
                                 dev->name, media_tbl[dev->if_port].name);
         }
 
- init_timer(&vp->timer);
- vp->timer.expires = RUN_AT(media_tbl[dev->if_port].wait);
- vp->timer.data = (unsigned long)dev;
- vp->timer.function = &vortex_timer; /* timer handler */
- add_timer(&vp->timer);
+ add_simple_timer( &vp->timer,media_tbl[dev->if_port].wait,
+ (unsigned long)dev, &vortex_timer );
 
         if (vortex_debug > 1)
                 printk(KERN_DEBUG "%s: Initial media type %s.\n",
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/net/8139too.c linux-2.3.99pre6-6/drivers/net/8139too.c
--- linux-2.3.99pre6-6.orig/drivers/net/8139too.c Tue Apr 25 21:36:33 2000
+++ linux-2.3.99pre6-6/drivers/net/8139too.c Tue Apr 25 22:51:59 2000
@@ -945,11 +945,8 @@
 
         /* Set the timer to switch to check for link beat and perhaps switch
            to an alternate media type. */
- init_timer (&tp->timer);
- tp->timer.expires = jiffies + 3 * HZ;
- tp->timer.data = (unsigned long) dev;
- tp->timer.function = &rtl8139_timer;
- add_timer (&tp->timer);
+ add_simple_timer( &tp->timer, 3*HZ, (unsigned long) dev,
+ &rtl8139_timer );
 
         DPRINTK ("EXIT, returning 0\n");
         return 0;
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/net/appletalk/cops.c linux-2.3.99pre6-6/drivers/net/appletalk/cops.c
--- linux-2.3.99pre6-6.orig/drivers/net/appletalk/cops.c Sat Mar 18 07:14:48 2000
+++ linux-2.3.99pre6-6/drivers/net/appletalk/cops.c Tue Apr 25 22:51:59 2000
@@ -411,11 +411,8 @@
                  */
                 if(lp->board==TANGENT) /* Poll 20 times per second */
                 {
- init_timer(&cops_timer);
- cops_timer.function = cops_poll;
- cops_timer.data = (unsigned long)dev;
- cops_timer.expires = jiffies + 5;
- add_timer(&cops_timer);
+ add_simple_timer( &cops_timer, 5, (unsigned long)dev,
+ cops_poll );
                 }
                 else
                 {
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/net/dmfe.c linux-2.3.99pre6-6/drivers/net/dmfe.c
--- linux-2.3.99pre6-6.orig/drivers/net/dmfe.c Tue Apr 25 21:33:17 2000
+++ linux-2.3.99pre6-6/drivers/net/dmfe.c Tue Apr 25 22:52:00 2000
@@ -499,11 +499,8 @@
         MOD_INC_USE_COUNT;
 
         /* set and active a timer process */
- init_timer(&db->timer);
- db->timer.expires = DMFE_TIMER_WUT;
- db->timer.data = (unsigned long) dev;
- db->timer.function = &dmfe_timer;
- add_timer(&db->timer);
+ add_simple_timer( &db->timer, DMFE_TIMER_WUT, (unsigned long) dev,
+ &dmfe_timer );
         
         netif_wake_queue(dev);
 
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/net/eepro100.c linux-2.3.99pre6-6/drivers/net/eepro100.c
--- linux-2.3.99pre6-6.orig/drivers/net/eepro100.c Tue Apr 25 21:36:33 2000
+++ linux-2.3.99pre6-6/drivers/net/eepro100.c Tue Apr 25 22:51:57 2000
@@ -1021,11 +1021,8 @@
            to an alternate media type
            2) to monitor Rx activity, and restart the Rx process if the receiver
            hangs. */
- init_timer(&sp->timer);
- sp->timer.expires = RUN_AT((24*HZ)/10); /* 2.4 sec. */
- sp->timer.data = (unsigned long)dev;
- sp->timer.function = &speedo_timer; /* timer handler */
- add_timer(&sp->timer);
+ add_simple_timer( &sp->timer, (24*HZ)/10, (unsigned long)dev,
+ &speedo_timer );
 
         /* No need to wait for the command unit to accept here. */
         if ((sp->phy[0] & 0x8000) == 0)
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/net/epic100.c linux-2.3.99pre6-6/drivers/net/epic100.c
--- linux-2.3.99pre6-6.orig/drivers/net/epic100.c Tue Apr 25 21:33:51 2000
+++ linux-2.3.99pre6-6/drivers/net/epic100.c Tue Apr 25 22:51:58 2000
@@ -455,11 +455,7 @@
 
         /* Set the timer to switch to check for link beat and perhaps switch
            to an alternate media type. */
- init_timer(&ep->timer);
- ep->timer.expires = RUN_AT(3*HZ); /* 3 sec. */
- ep->timer.data = (unsigned long)dev;
- ep->timer.function = &epic_timer; /* timer handler */
- add_timer(&ep->timer);
+ add_simple_timer( &ep->timer, 3*HZ, (unsigned long)dev, &epic_timer );
 
         return 0;
 }
Binary files linux-2.3.99pre6-6.orig/drivers/net/pcmcia/.ibmtr.o and linux-2.3.99pre6-6/drivers/net/pcmcia/.ibmtr.o differ
Binary files linux-2.3.99pre6-6.orig/drivers/net/pcmcia/.ibmtr_cs.o and linux-2.3.99pre6-6/drivers/net/pcmcia/.ibmtr_cs.o differ
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/net/pcmcia/xircom_tulip_cb.c linux-2.3.99pre6-6/drivers/net/pcmcia/xircom_tulip_cb.c
--- linux-2.3.99pre6-6.orig/drivers/net/pcmcia/xircom_tulip_cb.c Tue Apr 25 21:36:34 2000
+++ linux-2.3.99pre6-6/drivers/net/pcmcia/xircom_tulip_cb.c Tue Apr 25 22:52:00 2000
@@ -1465,11 +1465,8 @@
         }
         /* Set the timer to switch to check for link beat and perhaps switch
            to an alternate media type. */
- init_timer(&tp->timer);
- tp->timer.expires = RUN_AT(5*HZ);
- tp->timer.data = (unsigned long)dev;
- tp->timer.function = tulip_tbl[tp->chip_id].media_timer;
- add_timer(&tp->timer);
+ add_simple_timer( &tp->timer, 5*HZ, (unsigned long)dev,
+ tulip_tbl[tp->chip_id].media_timer );
 }
 
 static int
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/net/rcpci45.c linux-2.3.99pre6-6/drivers/net/rcpci45.c
--- linux-2.3.99pre6-6.orig/drivers/net/rcpci45.c Tue Apr 25 21:33:39 2000
+++ linux-2.3.99pre6-6/drivers/net/rcpci45.c Tue Apr 25 22:51:59 2000
@@ -580,11 +580,8 @@
         RCDisableI2OInterrupts(pDpa->id);
         RCShutdownLANCard(pDpa->id,0,0,0);
         printk("rc: scheduling timer...\n");
- init_timer(&pDpa->timer);
- pDpa->timer.expires = RUN_AT((40*HZ)/10); /* 4 sec. */
- pDpa->timer.data = (unsigned long)dev;
- pDpa->timer.function = &rc_timer; /* timer handler */
- add_timer(&pDpa->timer);
+ add_simple_timer( &pDpa->timer, (40*HZ)/10, (unsigned long)dev,
+ &rc_timer );
     }
 
 
@@ -883,11 +880,7 @@
         else
         {
             printk("rc: rescheduling timer...\n");
- init_timer(&pDpa->timer);
- pDpa->timer.expires = RUN_AT((40*HZ)/10); /* 3 sec. */
- pDpa->timer.data = (unsigned long)dev;
- pDpa->timer.function = &rc_timer; /* timer handler */
- add_timer(&pDpa->timer);
+ add_simple_timer( &pDpa->timer, (40*HZ)/10, (unsigned long)dev, &rc_timer );
         }
     }
     else
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/net/rrunner.c linux-2.3.99pre6-6/drivers/net/rrunner.c
--- linux-2.3.99pre6-6.orig/drivers/net/rrunner.c Tue Apr 25 21:36:34 2000
+++ linux-2.3.99pre6-6/drivers/net/rrunner.c Tue Apr 25 22:51:59 2000
@@ -1171,11 +1171,7 @@
 
         /* Set the timer to switch to check for link beat and perhaps switch
            to an alternate media type. */
- init_timer(&rrpriv->timer);
- rrpriv->timer.expires = RUN_AT(5*HZ); /* 5 sec. watchdog */
- rrpriv->timer.data = (unsigned long)dev;
- rrpriv->timer.function = &rr_timer; /* timer handler */
- add_timer(&rrpriv->timer);
+ add_simple_timer( &rrpriv->timer, 5*HZ, (unsigned long)dev, &rr_timer );
 
         netif_start_queue(dev);
 
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/net/rtl8129.c linux-2.3.99pre6-6/drivers/net/rtl8129.c
--- linux-2.3.99pre6-6.orig/drivers/net/rtl8129.c Tue Apr 25 21:36:34 2000
+++ linux-2.3.99pre6-6/drivers/net/rtl8129.c Tue Apr 25 22:51:59 2000
@@ -749,11 +749,8 @@
 
         /* Set the timer to switch to check for link beat and perhaps switch
            to an alternate media type. */
- init_timer(&tp->timer);
- tp->timer.expires = RUN_AT((24*HZ)/10); /* 2.4 sec. */
- tp->timer.data = (unsigned long)dev;
- tp->timer.function = &rtl8129_timer;
- add_timer(&tp->timer);
+ add_simple_timer( &tp->timer, (24*HZ)/10, (unsigned long)dev,
+ &rtl8129_timer );
 
         return 0;
 }
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/net/sis900.c linux-2.3.99pre6-6/drivers/net/sis900.c
--- linux-2.3.99pre6-6.orig/drivers/net/sis900.c Tue Apr 25 21:33:39 2000
+++ linux-2.3.99pre6-6/drivers/net/sis900.c Tue Apr 25 22:52:00 2000
@@ -497,11 +497,8 @@
 
         /* Set the timer to switch to check for link beat and perhaps switch
            to an alternate media type. */
- init_timer(&sis_priv->timer);
- sis_priv->timer.expires = jiffies + HZ;
- sis_priv->timer.data = (unsigned long)net_dev;
- sis_priv->timer.function = &sis900_timer;
- add_timer(&sis_priv->timer);
+ add_simple_timer( &sis_priv->timer, HZ, (unsigned long)net_dev,
+ &sis900_timer );
 
         return 0;
 }
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/net/starfire.c linux-2.3.99pre6-6/drivers/net/starfire.c
--- linux-2.3.99pre6-6.orig/drivers/net/starfire.c Tue Apr 25 21:36:34 2000
+++ linux-2.3.99pre6-6/drivers/net/starfire.c Tue Apr 25 22:52:00 2000
@@ -656,11 +656,8 @@
                            dev->name);
 
         /* Set the timer to check for link beat. */
- init_timer(&np->timer);
- np->timer.expires = RUN_AT(3*HZ);
- np->timer.data = (unsigned long)dev;
- np->timer.function = &netdev_timer; /* timer handler */
- add_timer(&np->timer);
+ add_simple_timer( &np->timer, 3*HZ, (unsigned long)dev,
+ &netdev_timer );
 
         return 0;
 }
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/net/tulip/tulip_core.c linux-2.3.99pre6-6/drivers/net/tulip/tulip_core.c
--- linux-2.3.99pre6-6.orig/drivers/net/tulip/tulip_core.c Tue Apr 25 21:36:34 2000
+++ linux-2.3.99pre6-6/drivers/net/tulip/tulip_core.c Tue Apr 25 22:51:58 2000
@@ -387,11 +387,8 @@
         }
         /* Set the timer to switch to check for link beat and perhaps switch
            to an alternate media type. */
- init_timer(&tp->timer);
- tp->timer.expires = RUN_AT(next_tick);
- tp->timer.data = (unsigned long)dev;
- tp->timer.function = tulip_tbl[tp->chip_id].media_timer;
- add_timer(&tp->timer);
+ add_simple_timer( &tp->timer, next_tick, (unsigned long)dev,
+ tulip_tbl[tp->chip_id].media_timer );
 }
 
 
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/net/via-rhine.c linux-2.3.99pre6-6/drivers/net/via-rhine.c
--- linux-2.3.99pre6-6.orig/drivers/net/via-rhine.c Tue Apr 25 21:36:34 2000
+++ linux-2.3.99pre6-6/drivers/net/via-rhine.c Tue Apr 25 22:51:59 2000
@@ -696,11 +696,7 @@
                            mdio_read(dev, np->phys[0], 1));
 
         /* Set the timer to check for link beat. */
- init_timer(&np->timer);
- np->timer.expires = RUN_AT(1);
- np->timer.data = (unsigned long)dev;
- np->timer.function = &via_rhine_timer; /* timer handler */
- add_timer(&np->timer);
+ add_simple_timer( &np->timer, 1, (unsigned long)dev, &via_rhine_timer );
 
         return 0;
 }
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/net/wan/comx-hw-locomx.c linux-2.3.99pre6-6/drivers/net/wan/comx-hw-locomx.c
--- linux-2.3.99pre6-6.orig/drivers/net/wan/comx-hw-locomx.c Tue Apr 25 21:33:18 2000
+++ linux-2.3.99pre6-6/drivers/net/wan/comx-hw-locomx.c Tue Apr 25 22:51:54 2000
@@ -224,11 +224,8 @@
 
         comx_status(dev, ch->line_status);
 
- init_timer(&hw->status_timer);
- hw->status_timer.function=locomx_status_timerfun;
- hw->status_timer.data=(unsigned long)dev;
- hw->status_timer.expires=jiffies + ch->lineup_delay * HZ;
- add_timer(&hw->status_timer);
+ add_simple_timer( &hw->status_timer, ch->lineup_delay*HZ,
+ (unsigned long)dev, locomx_status_timerfun );
 
         for (; procfile ; procfile = procfile->next) {
                 if (strcmp(procfile->name, FILENAME_IO) == 0 ||
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/net/wan/comx-proto-ppp.c linux-2.3.99pre6-6/drivers/net/wan/comx-proto-ppp.c
--- linux-2.3.99pre6-6.orig/drivers/net/wan/comx-proto-ppp.c Tue Apr 25 21:33:18 2000
+++ linux-2.3.99pre6-6/drivers/net/wan/comx-proto-ppp.c Tue Apr 25 22:51:54 2000
@@ -112,11 +112,8 @@
                 sppp_open(dev);
         }
 
- init_timer(&spch->status_timer);
- spch->status_timer.function=syncppp_status_timerfun;
- spch->status_timer.data=(unsigned long)dev;
- spch->status_timer.expires=jiffies + HZ*3;
- add_timer(&spch->status_timer);
+ add_simple_timer( &spch->status_timer, 3*HZ, (unsigned long)dev,
+ syncppp_status_timerfun );
         
         return 0;
 }
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/net/wan/lmc/lmc_main.c linux-2.3.99pre6-6/drivers/net/wan/lmc/lmc_main.c
--- linux-2.3.99pre6-6.orig/drivers/net/wan/lmc/lmc_main.c Tue Apr 25 21:36:34 2000
+++ linux-2.3.99pre6-6/drivers/net/wan/lmc/lmc_main.c Tue Apr 25 22:51:54 2000
@@ -1299,11 +1299,7 @@
      * Setup a timer for the watchdog on probe, and start it running.
      * Since lmc_ok == 0, it will be a NOP for now.
      */
- init_timer (&sc->timer);
- sc->timer.expires = jiffies + HZ;
- sc->timer.data = (unsigned long) dev;
- sc->timer.function = &lmc_watchdog;
- add_timer (&sc->timer);
+ add_simple_timer( &sc->timer, HZ, (unsigned long) dev, &lmc_watchdog );
 
     lmc_trace(dev, "lmc_open out");
 
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/net/yellowfin.c linux-2.3.99pre6-6/drivers/net/yellowfin.c
--- linux-2.3.99pre6-6.orig/drivers/net/yellowfin.c Tue Apr 25 21:36:34 2000
+++ linux-2.3.99pre6-6/drivers/net/yellowfin.c Tue Apr 25 22:51:58 2000
@@ -483,11 +483,8 @@
                            dev->name);
         }
         /* Set the timer to check for link beat. */
- init_timer(&yp->timer);
- yp->timer.expires = jiffies + 3*HZ;
- yp->timer.data = (unsigned long)dev;
- yp->timer.function = &yellowfin_timer; /* timer handler */
- add_timer(&yp->timer);
+ add_simple_timer( &yp->timer, 3*HZ, (unsigned long)dev,
+ &yellowfin_timer );
 
         return 0;
 }
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/scsi/aha152x.c linux-2.3.99pre6-6/drivers/scsi/aha152x.c
--- linux-2.3.99pre6-6.orig/drivers/scsi/aha152x.c Sat Mar 18 07:10:03 2000
+++ linux-2.3.99pre6-6/drivers/scsi/aha152x.c Tue Apr 25 22:52:05 2000
@@ -1586,11 +1586,8 @@
         cmnd.request_buffer = 0;
         cmnd.request_bufflen = 0;
 
- init_timer(&timer);
- timer.data = (unsigned long) &sem;
- timer.expires = jiffies + 10000; /* 10s */
- timer.function = (void (*)(unsigned long)) timer_expired;
- add_timer(&timer);
+ add_simple_timer( &timer, 10000, (unsigned long) &sem,
+ (void (*)(unsigned long)) timer_expired );
 
         aha152x_internal_queue(&cmnd, &sem, resetting, 0, internal_done);
 
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/scsi/gdth.c linux-2.3.99pre6-6/drivers/scsi/gdth.c
--- linux-2.3.99pre6-6.orig/drivers/scsi/gdth.c Sat Mar 18 07:04:32 2000
+++ linux-2.3.99pre6-6/drivers/scsi/gdth.c Tue Apr 25 22:52:05 2000
@@ -3329,11 +3329,7 @@
     if (gdth_ctr_count > 0) {
 #ifdef GDTH_STATISTICS
         TRACE2(("gdth_detect(): Initializing timer !\n"));
- init_timer(&gdth_timer);
- gdth_timer.expires = jiffies + HZ;
- gdth_timer.data = 0L;
- gdth_timer.function = gdth_timeout;
- add_timer(&gdth_timer);
+ add_simple_timer( &gdth_timer, HZ, 0L, gdth_timeout );
 #endif
         register_reboot_notifier(&gdth_notifier);
     }
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/sound/cmpci.c linux-2.3.99pre6-6/drivers/sound/cmpci.c
--- linux-2.3.99pre6-6.orig/drivers/sound/cmpci.c Tue Apr 25 21:36:36 2000
+++ linux-2.3.99pre6-6/drivers/sound/cmpci.c Tue Apr 25 22:52:10 2000
@@ -1997,11 +1997,8 @@
                 if (!(inb(s->iomidi+1) & 0x80))
                         inb(s->iomidi);
                 s->midi.ird = s->midi.iwr = s->midi.icnt = 0;
- init_timer(&s->midi.timer);
- s->midi.timer.expires = jiffies+1;
- s->midi.timer.data = (unsigned long)s;
- s->midi.timer.function = cm_midi_timer;
- add_timer(&s->midi.timer);
+ add_simple_timer( &s->midi.timer, 1, (unsigned long)s,
+ cm_midi_timer );
         }
         if (file->f_mode & FMODE_READ) {
                 s->midi.ird = s->midi.iwr = s->midi.icnt = 0;
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/sound/esssolo1.c linux-2.3.99pre6-6/drivers/sound/esssolo1.c
--- linux-2.3.99pre6-6.orig/drivers/sound/esssolo1.c Tue Apr 25 21:36:37 2000
+++ linux-2.3.99pre6-6/drivers/sound/esssolo1.c Tue Apr 25 22:52:10 2000
@@ -1853,11 +1853,8 @@
                         inb(s->mpubase);
                 s->midi.ird = s->midi.iwr = s->midi.icnt = 0;
                 outb(0xb0, s->iobase + 7); /* enable A1, A2, MPU irq's */
- init_timer(&s->midi.timer);
- s->midi.timer.expires = jiffies+1;
- s->midi.timer.data = (unsigned long)s;
- s->midi.timer.function = solo1_midi_timer;
- add_timer(&s->midi.timer);
+ add_simple_timer( &s->midi.timer, 1, (unsigned long)s,
+ solo1_midi_timer );
         }
         if (file->f_mode & FMODE_READ) {
                 s->midi.ird = s->midi.iwr = s->midi.icnt = 0;
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/sound/sonicvibes.c linux-2.3.99pre6-6/drivers/sound/sonicvibes.c
--- linux-2.3.99pre6-6.orig/drivers/sound/sonicvibes.c Tue Apr 25 21:36:37 2000
+++ linux-2.3.99pre6-6/drivers/sound/sonicvibes.c Tue Apr 25 22:52:10 2000
@@ -2142,11 +2142,8 @@
                 if (!(inb(s->iomidi+1) & 0x80))
                         inb(s->iomidi);
                 s->midi.ird = s->midi.iwr = s->midi.icnt = 0;
- init_timer(&s->midi.timer);
- s->midi.timer.expires = jiffies+1;
- s->midi.timer.data = (unsigned long)s;
- s->midi.timer.function = sv_midi_timer;
- add_timer(&s->midi.timer);
+ add_simple_timer( &s->midi.timer, 1, (unsigned long)s,
+ sv_midi_timer );
         }
         if (file->f_mode & FMODE_READ) {
                 s->midi.ird = s->midi.iwr = s->midi.icnt = 0;
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/sound/waveartist.c linux-2.3.99pre6-6/drivers/sound/waveartist.c
--- linux-2.3.99pre6-6.orig/drivers/sound/waveartist.c Tue Apr 25 21:33:20 2000
+++ linux-2.3.99pre6-6/drivers/sound/waveartist.c Tue Apr 25 22:52:10 2000
@@ -1344,11 +1344,7 @@
         else {
 #ifdef CONFIG_ARCH_NETWINDER
                 if (machine_is_netwinder()) {
- init_timer(&vnc_timer);
- vnc_timer.function = vnc_slider_tick;
- vnc_timer.expires = jiffies;
- vnc_timer.data = nr_waveartist_devs;
- add_timer(&vnc_timer);
+ add_simple_timer( &vnc_timer, 0, nr_waveartist_devs, vnc_slider_tick );
 
                         vnc_configure_mixer(devc);
                 }
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/usb/uhci.c linux-2.3.99pre6-6/drivers/usb/uhci.c
--- linux-2.3.99pre6-6.orig/drivers/usb/uhci.c Tue Apr 25 21:36:38 2000
+++ linux-2.3.99pre6-6/drivers/usb/uhci.c Tue Apr 25 22:52:18 2000
@@ -1715,11 +1715,11 @@
         struct uhci *uhci = (struct uhci *)urb->dev->bus->hcpriv;
 
         uhci->rh.interval = urb->interval;
- init_timer(&uhci->rh.rh_int_timer);
- uhci->rh.rh_int_timer.function = rh_int_timer_do;
- uhci->rh.rh_int_timer.data = (unsigned long)urb;
- uhci->rh.rh_int_timer.expires = jiffies + (HZ * (urb->interval < 30 ? 30 : urb->interval)) / 1000;
- add_timer(&uhci->rh.rh_int_timer);
+ add_simple_timer( &uhci->rh.rh_int_timer,
+ (HZ * (urb->interval < 30 ?
+ 30 :
+ urb->interval)) / 1000,
+ (unsigned long)urb, rh_int_timer_do );
 
         return 0;
 }
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/usb/usb-uhci.c linux-2.3.99pre6-6/drivers/usb/usb-uhci.c
--- linux-2.3.99pre6-6.orig/drivers/usb/usb-uhci.c Tue Apr 25 21:34:13 2000
+++ linux-2.3.99pre6-6/drivers/usb/usb-uhci.c Tue Apr 25 22:52:18 2000
@@ -1784,11 +1784,8 @@
         uhci_t *uhci = urb->dev->bus->hcpriv;
 
         uhci->rh.interval = urb->interval;
- init_timer (&uhci->rh.rh_int_timer);
- uhci->rh.rh_int_timer.function = rh_int_timer_do;
- uhci->rh.rh_int_timer.data = (unsigned long) urb;
- uhci->rh.rh_int_timer.expires = jiffies + (HZ * 20) / 1000;
- add_timer (&uhci->rh.rh_int_timer);
+ add_simple_timer( &uhci->rh.rh_int_timer, (HZ*20)/1000,
+ (unsigned long) urb, rh_int_timer_do );
 
         return 0;
 }
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/video/imsttfb.c linux-2.3.99pre6-6/drivers/video/imsttfb.c
--- linux-2.3.99pre6-6.orig/drivers/video/imsttfb.c Sat Mar 18 07:01:15 2000
+++ linux-2.3.99pre6-6/drivers/video/imsttfb.c Tue Apr 25 22:52:15 2000
@@ -983,11 +983,8 @@
 
         if (curblink) {
                 c->blink_rate = CURSOR_BLINK_RATE;
- init_timer(&c->timer);
- c->timer.expires = jiffies + (HZ / 50);
- c->timer.data = (unsigned long)p;
- c->timer.function = imstt_cursor_timer_handler;
- add_timer(&c->timer);
+ add_simple_timer( &c->timer, (HZ/50), (unsigned long)p,
+ imstt_cursor_timer_handler );
         }
 }
 
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/video/sbusfb.c linux-2.3.99pre6-6/drivers/video/sbusfb.c
--- linux-2.3.99pre6-6.orig/drivers/video/sbusfb.c Sat Mar 18 07:00:06 2000
+++ linux-2.3.99pre6-6/drivers/video/sbusfb.c Tue Apr 25 22:52:15 2000
@@ -1110,11 +1110,10 @@
                 fb->dispsw.cursor = sbusfb_cursor;
                 if (curblink) {
                         fb->cursor.blink_rate = DEFAULT_CURSOR_BLINK_RATE;
- init_timer(&fb->cursor.timer);
- fb->cursor.timer.expires = jiffies + fb->cursor.blink_rate;
- fb->cursor.timer.data = (unsigned long)fb;
- fb->cursor.timer.function = sbusfb_cursor_timer_handler;
- add_timer(&fb->cursor.timer);
+ add_simple_timer( &fb->cursor.timer,
+ fb->cursor.blink_rate,
+ (unsigned long)fb,
+ sbusfb_cursor_timer_handler );
                 }
         }
         fb->cursor.mode = CURSOR_SHAPE;
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/drivers/video/sun3fb.c linux-2.3.99pre6-6/drivers/video/sun3fb.c
--- linux-2.3.99pre6-6.orig/drivers/video/sun3fb.c Sat Mar 18 07:09:07 2000
+++ linux-2.3.99pre6-6/drivers/video/sun3fb.c Tue Apr 25 22:52:16 2000
@@ -654,11 +654,10 @@
                 fb->dispsw.cursor = sun3fb_cursor;
                 if (curblink) {
                         fb->cursor.blink_rate = DEFAULT_CURSOR_BLINK_RATE;
- init_timer(&fb->cursor.timer);
- fb->cursor.timer.expires = jiffies + fb->cursor.blink_rate;
- fb->cursor.timer.data = (unsigned long)fb;
- fb->cursor.timer.function = sun3fb_cursor_timer_handler;
- add_timer(&fb->cursor.timer);
+ add_simple_timer( &fb->cursor.timer,
+ fb->cursor.blink_rate,
+ (unsigned long)fb,
+ sun3fb_cursor_timer_handler );
                 }
         }
         fb->cursor.mode = CURSOR_SHAPE;
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/include/linux/timer.h linux-2.3.99pre6-6/include/linux/timer.h
--- linux-2.3.99pre6-6.orig/include/linux/timer.h Tue Apr 25 21:36:42 2000
+++ linux-2.3.99pre6-6/include/linux/timer.h Tue Apr 25 22:57:58 2000
@@ -61,7 +61,7 @@
  * active timer (if the timer is inactive it will be activated)
  * mod_timer(a,b) is equivalent to del_timer(a); a->expires = b; add_timer(a)
  */
-int mod_timer(struct timer_list *timer, unsigned long expires);
+extern int mod_timer(struct timer_list *timer, unsigned long expires);
 
 extern void it_real_fn(unsigned long);
 
@@ -111,3 +111,14 @@
 #define time_before_eq(a,b) time_after_eq(b,a)
 
 #endif
+
+/**
+ * add_simple_timer - performs a simple init_timer/add_timer cycle
+ * @timer : allocated timer to add
+ * @expires : timeout
+ * @data : data field of the timer
+ * @fn : timeout handler
+ */
+extern void add_simple_timer(struct timer_list *timer, unsigned long expires,
+ unsigned long data, void (* fn) );
+
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/kernel/timer.c linux-2.3.99pre6-6/kernel/timer.c
--- linux-2.3.99pre6-6.orig/kernel/timer.c Tue Apr 25 21:36:43 2000
+++ linux-2.3.99pre6-6/kernel/timer.c Tue Apr 25 23:03:06 2000
@@ -830,3 +830,14 @@
         return 0;
 }
 
+void add_simple_timer(struct timer_list *timer, unsigned long expires,
+ unsigned long data, void (* fn) )
+{
+ init_timer(timer);
+ timer->expires = jiffies + expires;
+ timer->function = fn;
+ timer->data = data;
+ add_timer(timer);
+}
+
+
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/net/appletalk/aarp.c linux-2.3.99pre6-6/net/appletalk/aarp.c
--- linux-2.3.99pre6-6.orig/net/appletalk/aarp.c Sat Mar 18 07:15:56 2000
+++ linux-2.3.99pre6-6/net/appletalk/aarp.c Tue Apr 25 22:51:48 2000
@@ -1056,11 +1056,8 @@
 {
         if ((aarp_dl = register_snap_client(aarp_snap_id, aarp_rcv)) == NULL)
                 printk(KERN_CRIT "Unable to register AARP with SNAP.\n");
- init_timer(&aarp_timer);
- aarp_timer.function = aarp_expire_timeout;
- aarp_timer.data = 0;
- aarp_timer.expires = jiffies + sysctl_aarp_expiry_time;
- add_timer(&aarp_timer);
+ add_simple_timer( &aarp_timer, sysctl_aarp_expiry_time, 0,
+ aarp_expire_timeout );
         register_netdevice_notifier(&aarp_notifier);
 }
 
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/net/appletalk/ddp.c linux-2.3.99pre6-6/net/appletalk/ddp.c
--- linux-2.3.99pre6-6.orig/net/appletalk/ddp.c Tue Apr 25 21:36:43 2000
+++ linux-2.3.99pre6-6/net/appletalk/ddp.c Tue Apr 25 22:51:48 2000
@@ -241,11 +241,8 @@
                 sock_put(sk);
                 MOD_DEC_USE_COUNT;
         } else {
- init_timer(&sk->timer);
- sk->timer.expires = jiffies + SOCK_DESTROY_TIME;
- sk->timer.function = atalk_destroy_timer;
- sk->timer.data = (unsigned long) sk;
- add_timer(&sk->timer);
+ add_simple_timer( &sk->timer, SOCK_DESTROY_TIME,
+ (unsigned long) sk, atalk_destroy_timer );
         }
 }
 
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/net/atm/lec.c linux-2.3.99pre6-6/net/atm/lec.c
--- linux-2.3.99pre6-6.orig/net/atm/lec.c Tue Apr 25 21:36:43 2000
+++ linux-2.3.99pre6-6/net/atm/lec.c Tue Apr 25 22:51:53 2000
@@ -1050,11 +1050,8 @@
         for (i=0;i<LEC_ARP_TABLE_SIZE;i++) {
                 priv->lec_arp_tables[i] = NULL;
         }
- init_timer(&priv->lec_arp_timer);
- priv->lec_arp_timer.expires = jiffies+LEC_ARP_REFRESH_INTERVAL;
- priv->lec_arp_timer.data = (unsigned long)priv;
- priv->lec_arp_timer.function = lec_arp_check_expire;
- add_timer(&priv->lec_arp_timer);
+ add_simple_timer( &priv->lec_arp_timer, LEC_ARP_REFRESH_INTERVAL,
+ (unsigned long)priv, lec_arp_check_expire );
 }
 
 void
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/net/ax25/af_ax25.c linux-2.3.99pre6-6/net/ax25/af_ax25.c
--- linux-2.3.99pre6-6.orig/net/ax25/af_ax25.c Tue Apr 25 21:36:43 2000
+++ linux-2.3.99pre6-6/net/ax25/af_ax25.c Tue Apr 25 22:51:48 2000
@@ -433,11 +433,9 @@
                 if (atomic_read(&ax25->sk->wmem_alloc) != 0 ||
                     atomic_read(&ax25->sk->rmem_alloc) != 0) {
                         /* Defer: outstanding buffers */
- init_timer(&ax25->timer);
- ax25->timer.expires = jiffies + 10 * HZ;
- ax25->timer.function = ax25_destroy_timer;
- ax25->timer.data = (unsigned long)ax25;
- add_timer(&ax25->timer);
+ add_simple_timer( &ax25->timer, 10*HZ,
+ (unsigned long)ax25,
+ ax25_destroy_timer );
                 } else {
                         sk_free(ax25->sk);
                 }
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/net/core/sock.c linux-2.3.99pre6-6/net/core/sock.c
--- linux-2.3.99pre6-6.orig/net/core/sock.c Tue Apr 25 21:36:43 2000
+++ linux-2.3.99pre6-6/net/core/sock.c Tue Apr 25 22:51:49 2000
@@ -955,11 +955,8 @@
                 /*
                  * Someone is using our buffers still.. defer
                  */
- init_timer(&sk->timer);
- sk->timer.expires=jiffies+SOCK_DESTROY_TIME;
- sk->timer.function=sklist_destroy_timer;
- sk->timer.data = (unsigned long)sk;
- add_timer(&sk->timer);
+ add_simple_timer( &sk->timer, SOCK_DESTROY_TIME,
+ (unsigned long)sk, sklist_destroy_timer );
         }
 }
 
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/net/netrom/af_netrom.c linux-2.3.99pre6-6/net/netrom/af_netrom.c
--- linux-2.3.99pre6-6.orig/net/netrom/af_netrom.c Tue Apr 25 21:36:44 2000
+++ linux-2.3.99pre6-6/net/netrom/af_netrom.c Tue Apr 25 22:51:50 2000
@@ -326,11 +326,8 @@
 
         if (atomic_read(&sk->wmem_alloc) != 0 || atomic_read(&sk->rmem_alloc) != 0) {
                 /* Defer: outstanding buffers */
- init_timer(&sk->timer);
- sk->timer.expires = jiffies + 10 * HZ;
- sk->timer.function = nr_destroy_timer;
- sk->timer.data = (unsigned long)sk;
- add_timer(&sk->timer);
+ add_simple_timer( &sk->timer, 10*HZ,
+ (unsigned long)sk, nr_destroy_timer );
         } else {
                 nr_free_sock(sk);
         }
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/net/rose/af_rose.c linux-2.3.99pre6-6/net/rose/af_rose.c
--- linux-2.3.99pre6-6.orig/net/rose/af_rose.c Tue Apr 25 21:36:44 2000
+++ linux-2.3.99pre6-6/net/rose/af_rose.c Tue Apr 25 22:51:51 2000
@@ -383,11 +383,8 @@
 
         if (atomic_read(&sk->wmem_alloc) != 0 || atomic_read(&sk->rmem_alloc) != 0) {
                 /* Defer: outstanding buffers */
- init_timer(&sk->timer);
- sk->timer.expires = jiffies + 10 * HZ;
- sk->timer.function = rose_destroy_timer;
- sk->timer.data = (unsigned long)sk;
- add_timer(&sk->timer);
+ add_simple_timer( &sk->timer, 10*HZ, (unsigned long)sk,
+ rose_destroy_timer );
         } else {
                 rose_free_sock(sk);
         }
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/net/sched/estimator.c linux-2.3.99pre6-6/net/sched/estimator.c
--- linux-2.3.99pre6-6.orig/net/sched/estimator.c Sat Mar 18 06:42:39 2000
+++ linux-2.3.99pre6-6/net/sched/estimator.c Tue Apr 25 22:51:52 2000
@@ -157,11 +157,9 @@
 
         est->next = elist[est->interval].list;
         if (est->next == NULL) {
- init_timer(&elist[est->interval].timer);
- elist[est->interval].timer.data = est->interval;
- elist[est->interval].timer.expires = jiffies + ((HZ/4)<<est->interval);
- elist[est->interval].timer.function = est_timer;
- add_timer(&elist[est->interval].timer);
+ add_simple_timer( &elist[est->interval].timer,
+ (HZ/4)<<est->interval, est->interval,
+ est_timer );
         }
         write_lock_bh(&est_lock);
         elist[est->interval].list = est;
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/net/sunrpc/sched.c linux-2.3.99pre6-6/net/sunrpc/sched.c
--- linux-2.3.99pre6-6.orig/net/sunrpc/sched.c Tue Apr 25 21:36:44 2000
+++ linux-2.3.99pre6-6/net/sunrpc/sched.c Tue Apr 25 22:51:52 2000
@@ -114,11 +114,9 @@
         }
         if (!timer)
                 timer = __rpc_default_timer;
- init_timer(&task->tk_timer);
- task->tk_timer.expires = jiffies + task->tk_timeout;
- task->tk_timer.data = (unsigned long) task;
- task->tk_timer.function = (void (*)(unsigned long)) timer;
- add_timer(&task->tk_timer);
+ add_simple_timer( &task->tk_timer, task->tk_timeout,
+ (unsigned long)task,
+ (void (*)(unsigned long)) timer );
 }
 
 /*
diff -u --recursive --new-file linux-2.3.99pre6-6.orig/net/x25/af_x25.c linux-2.3.99pre6-6/net/x25/af_x25.c
--- linux-2.3.99pre6-6.orig/net/x25/af_x25.c Tue Apr 25 21:36:44 2000
+++ linux-2.3.99pre6-6/net/x25/af_x25.c Tue Apr 25 22:51:51 2000
@@ -332,11 +332,8 @@
 
         if (atomic_read(&sk->wmem_alloc) != 0 || atomic_read(&sk->rmem_alloc) != 0) {
                 /* Defer: outstanding buffers */
- init_timer(&sk->timer);
- sk->timer.expires = jiffies + 10 * HZ;
- sk->timer.function = x25_destroy_timer;
- sk->timer.data = (unsigned long)sk;
- add_timer(&sk->timer);
+ add_simple_timer( &sk->timer, 10*HZ, (unsigned long)sk,
+ x25_destroy_timer );
         } else {
                 sk_free(sk);
                 MOD_DEC_USE_COUNT;

-- 
Ueimor

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Apr 30 2000 - 21:00:10 EST