Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
delay.h
Go to the documentation of this file.
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License. See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (C) 1994 by Waldorf Electronics
7  * Copyright (C) 1995 - 2000, 01, 03 by Ralf Baechle
8  * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
9  * Copyright (C) 2007 Maciej W. Rozycki
10  */
11 #ifndef _ASM_DELAY_H
12 #define _ASM_DELAY_H
13 
14 #include <linux/param.h>
15 
16 extern void __delay(unsigned long loops);
17 extern void __ndelay(unsigned long ns);
18 extern void __udelay(unsigned long us);
19 
20 #define ndelay(ns) __ndelay(ns)
21 #define udelay(us) __udelay(us)
22 
23 /* make sure "usecs *= ..." in udelay do not overflow. */
24 #if HZ >= 1000
25 #define MAX_UDELAY_MS 1
26 #elif HZ <= 200
27 #define MAX_UDELAY_MS 5
28 #else
29 #define MAX_UDELAY_MS (1000 / HZ)
30 #endif
31 
32 #endif /* _ASM_DELAY_H */