Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef __UM_DELAY_H |
| 2 | #define __UM_DELAY_H |
| 3 | |
Paolo 'Blaisorblade' Giarrusso | 10fa115 | 2007-04-01 23:49:37 -0700 | [diff] [blame] | 4 | /* Undefined on purpose */ |
| 5 | extern void __bad_udelay(void); |
Richard Weinberger | 22e9b91 | 2011-07-25 17:12:46 -0700 | [diff] [blame] | 6 | extern void __bad_ndelay(void); |
Paolo 'Blaisorblade' Giarrusso | 10fa115 | 2007-04-01 23:49:37 -0700 | [diff] [blame] | 7 | |
| 8 | extern void __udelay(unsigned long usecs); |
Richard Weinberger | 22e9b91 | 2011-07-25 17:12:46 -0700 | [diff] [blame] | 9 | extern void __ndelay(unsigned long usecs); |
Paolo 'Blaisorblade' Giarrusso | 10fa115 | 2007-04-01 23:49:37 -0700 | [diff] [blame] | 10 | extern void __delay(unsigned long loops); |
| 11 | |
| 12 | #define udelay(n) ((__builtin_constant_p(n) && (n) > 20000) ? \ |
| 13 | __bad_udelay() : __udelay(n)) |
| 14 | |
Richard Weinberger | 22e9b91 | 2011-07-25 17:12:46 -0700 | [diff] [blame] | 15 | #define ndelay(n) ((__builtin_constant_p(n) && (n) > 20000) ? \ |
| 16 | __bad_ndelay() : __ndelay(n)) |
Paolo 'Blaisorblade' Giarrusso | 10fa115 | 2007-04-01 23:49:37 -0700 | [diff] [blame] | 17 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 18 | #endif |