/* delay x useconds AND preserve advance timestamp value */ void __udelay(unsigned long usec) { unsigned long long tmp; tmp = get_ticks() + us_to_tick(usec); while (get_ticks() < tmp) ; }
/* delay x useconds AND preserve advance timstamp value */ void __udelay(unsigned long usec) { unsigned long long start; ulong tmo; start = get_ticks(); /* get current timestamp */ tmo = us_to_tick(usec); /* convert usecs to ticks */ while ((get_ticks() - start) < tmo) ; /* loop till time has passed */ }
/* delay x useconds AND preserve advance timstamp value */ void udelay (unsigned long usec) { unsigned long long tmp; ulong tmo; tmo = us_to_tick(usec); tmp = get_ticks() + tmo; /* get current timestamp */ while (get_ticks() < tmp) /* loop till event */ /*NOP*/; }
void __udelay (unsigned long usec) { unsigned long long tmp; ulong tmo; tmo = us_to_tick(usec); tmp = get_ticks() + tmo; // get current timestamp while(get_ticks() < tmp) //loop till event /*NOP*/; }