1 /* 2 * Copyright 2003 PathScale, Inc. 3 * Copied from arch/x86_64 4 * 5 * Licensed under the GPL 6 */ 7 8 #include <linux/module.h> 9 #include <linux/delay.h> 10 #include <asm/processor.h> 11 #include <asm/param.h> 12 __delay(unsigned long loops)13void __delay(unsigned long loops) 14 { 15 unsigned long i; 16 17 for(i = 0; i < loops; i++) 18 cpu_relax(); 19 } 20 __udelay(unsigned long usecs)21void __udelay(unsigned long usecs) 22 { 23 unsigned long i, n; 24 25 n = (loops_per_jiffy * HZ * usecs) / MILLION; 26 for(i=0;i<n;i++) 27 cpu_relax(); 28 } 29 30 EXPORT_SYMBOL(__udelay); 31