#include <linux/module.h> | |
#include <linux/kernel.h> | |
#include <linux/delay.h> | |
#include <asm/param.h> | |
void __delay(unsigned long time) | |
{ | |
/* Stolen from the i386 __loop_delay */ | |
int d0; | |
__asm__ __volatile__( | |
"\tjmp 1f\n" | |
".align 16\n" | |
"1:\tjmp 2f\n" | |
".align 16\n" | |
"2:\tdecl %0\n\tjns 2b" | |
:"=&a" (d0) | |
:"0" (time)); | |
} | |
void __udelay(unsigned long usecs) | |
{ | |
int i, n; | |
n = (loops_per_jiffy * HZ * usecs) / MILLION; | |
for(i=0;i<n;i++) | |
cpu_relax(); | |
} | |
EXPORT_SYMBOL(__udelay); |