xref: /openbmc/linux/arch/um/include/asm/delay.h (revision b627b4ed)
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