From: Luca Falavigna Use msleep() in a few places. Signed-off by: Luca Falavigna Acked-by: Ingo Molnar Acked-by: Jeff Garzik Signed-off-by: Andrew Morton --- drivers/char/rtc.c | 15 +++------------ kernel/irq/autoprobe.c | 6 ++---- 2 files changed, 5 insertions(+), 16 deletions(-) diff -puN drivers/char/rtc.c~using-msleep-instead-of-hz drivers/char/rtc.c --- 25/drivers/char/rtc.c~using-msleep-instead-of-hz 2005-06-24 00:02:17.000000000 -0700 +++ 25-akpm/drivers/char/rtc.c 2005-06-24 00:02:17.000000000 -0700 @@ -894,7 +894,6 @@ static int __init rtc_init(void) struct proc_dir_entry *ent; #if defined(__alpha__) || defined(__mips__) unsigned int year, ctrl; - unsigned long uip_watchdog; char *guess = NULL; #endif #ifdef __sparc__ @@ -1000,12 +999,8 @@ no_irq: /* Each operating system on an Alpha uses its own epoch. Let's try to guess which one we are using now. */ - uip_watchdog = jiffies; if (rtc_is_updating() != 0) - while (jiffies - uip_watchdog < 2*HZ/100) { - barrier(); - cpu_relax(); - } + msleep(20); spin_lock_irq(&rtc_lock); year = CMOS_READ(RTC_YEAR); @@ -1213,7 +1208,6 @@ static int rtc_proc_open(struct inode *i void rtc_get_rtc_time(struct rtc_time *rtc_tm) { - unsigned long uip_watchdog = jiffies; unsigned char ctrl; #ifdef CONFIG_MACH_DECSTATION unsigned int real_year; @@ -1221,7 +1215,7 @@ void rtc_get_rtc_time(struct rtc_time *r /* * read RTC once any update in progress is done. The update - * can take just over 2ms. We wait 10 to 20ms. There is no need to + * can take just over 2ms. We wait 20ms. There is no need to * to poll-wait (up to 1s - eeccch) for the falling edge of RTC_UIP. * If you need to know *exactly* when a second has started, enable * periodic update complete interrupts, (via ioctl) and then @@ -1230,10 +1224,7 @@ void rtc_get_rtc_time(struct rtc_time *r */ if (rtc_is_updating() != 0) - while (jiffies - uip_watchdog < 2*HZ/100) { - barrier(); - cpu_relax(); - } + msleep(20); /* * Only the values that we read from the RTC are set. We leave diff -puN kernel/irq/autoprobe.c~using-msleep-instead-of-hz kernel/irq/autoprobe.c --- 25/kernel/irq/autoprobe.c~using-msleep-instead-of-hz 2005-06-24 00:02:17.000000000 -0700 +++ 25-akpm/kernel/irq/autoprobe.c 2005-06-24 00:02:17.000000000 -0700 @@ -45,8 +45,7 @@ unsigned long probe_irq_on(void) } /* Wait for longstanding interrupts to trigger. */ - for (delay = jiffies + HZ/50; time_after(delay, jiffies); ) - /* about 20ms delay */ barrier(); + msleep(20); /* * enable any unassigned irqs @@ -68,8 +67,7 @@ unsigned long probe_irq_on(void) /* * Wait for spurious interrupts to trigger */ - for (delay = jiffies + HZ/10; time_after(delay, jiffies); ) - /* about 100ms delay */ barrier(); + msleep(100); /* * Now filter out any obviously spurious interrupts _