Hi Ralf, this makes the LASAT systems not spend 10 minutes fscking every bootup because the rtc is read wrongly. Please Apply. /Brian Index: arch/mips/lasat/ds1603.c =================================================================== RCS file: /cvs/linux/arch/mips/lasat/ds1603.c,v retrieving revision 1.1.2.3 diff -u -r1.1.2.3 ds1603.c --- arch/mips/lasat/ds1603.c 24 Feb 2003 21:26:19 -0000 1.1.2.3 +++ arch/mips/lasat/ds1603.c 29 Apr 2004 16:21:48 -0000 @@ -51,14 +51,14 @@ { data |= ds1603->clk; rtc_reg_write(data); - ndelay(250); + lasat_ndelay(250); if (ds1603->data_reversed) data &= ~ds1603->data; else data |= ds1603->data; data &= ~ds1603->clk; rtc_reg_write(data); - ndelay(250 + ds1603->huge_delay); + lasat_ndelay(250 + ds1603->huge_delay); } static void rtc_write_databit(unsigned int bit) @@ -72,7 +72,7 @@ data &= ~ds1603->data; rtc_reg_write(data); - ndelay(50 + ds1603->huge_delay); + lasat_ndelay(50 + ds1603->huge_delay); rtc_cycle_clock(data); } @@ -125,13 +125,13 @@ rtc_reg_write(rtc_reg_read() & ~ds1603->clk); - ndelay(50); + lasat_ndelay(50); } static void rtc_end_op(void) { rtc_nrst_low(); - ndelay(1000); + lasat_ndelay(1000); } /* interface */