blob: 8a5576d8eda55707646e6b1f47c680e969d10059 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef __UM_DELAY_H
2#define __UM_DELAY_H
3
Paolo 'Blaisorblade' Giarrusso10fa1152007-04-01 23:49:37 -07004/* Undefined on purpose */
5extern void __bad_udelay(void);
Richard Weinberger22e9b912011-07-25 17:12:46 -07006extern void __bad_ndelay(void);
Paolo 'Blaisorblade' Giarrusso10fa1152007-04-01 23:49:37 -07007
8extern void __udelay(unsigned long usecs);
Richard Weinberger22e9b912011-07-25 17:12:46 -07009extern void __ndelay(unsigned long usecs);
Paolo 'Blaisorblade' Giarrusso10fa1152007-04-01 23:49:37 -070010extern void __delay(unsigned long loops);
11
12#define udelay(n) ((__builtin_constant_p(n) && (n) > 20000) ? \
13 __bad_udelay() : __udelay(n))
14
Richard Weinberger22e9b912011-07-25 17:12:46 -070015#define ndelay(n) ((__builtin_constant_p(n) && (n) > 20000) ? \
16 __bad_ndelay() : __ndelay(n))
Paolo 'Blaisorblade' Giarrusso10fa1152007-04-01 23:49:37 -070017
Linus Torvalds1da177e2005-04-16 15:20:36 -070018#endif