| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef __UM_DELAY_H | 
|  | 2 | #define __UM_DELAY_H | 
|  | 3 |  | 
| Bodo Stroesser | 5fd861b | 2005-05-05 16:15:37 -0700 | [diff] [blame] | 4 | #define MILLION 1000000 | 
|  | 5 |  | 
| Paolo 'Blaisorblade' Giarrusso | 10fa115 | 2007-04-01 23:49:37 -0700 | [diff] [blame] | 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 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 20 | #endif |