1 #ifndef __UM_DELAY_H 2 #define __UM_DELAY_H 3 4 #define MILLION 1000000 5 6 /* Undefined on purpose */ 7 extern void __bad_udelay(void); 8 9 extern void __udelay(unsigned long usecs); 10 extern void __delay(unsigned long loops); 11 12 #define udelay(n) ((__builtin_constant_p(n) && (n) > 20000) ? \ 13 __bad_udelay() : __udelay(n)) 14 15 /* It appears that ndelay is not used at all for UML, and has never been 16 * implemented. */ 17 extern void __unimplemented_ndelay(void); 18 #define ndelay(n) __unimplemented_ndelay() 19 20 #endif 21