1
1
/* delay.h: Linux delay routines on sparc64.
3
* Copyright (C) 1996, 2004 David S. Miller (davem@davemloft.net).
5
* Based heavily upon x86 variant which is:
6
* Copyright (C) 1993 Linus Torvalds
8
* Delay routines calling functions in arch/sparc64/lib/delay.c
3
* Copyright (C) 1996, 2004, 2007 David S. Miller (davem@davemloft.net).
11
#ifndef __SPARC64_DELAY_H
12
#define __SPARC64_DELAY_H
14
#include <linux/param.h>
15
#include <asm/cpudata.h>
6
#ifndef _SPARC64_DELAY_H
7
#define _SPARC64_DELAY_H
17
9
#ifndef __ASSEMBLY__
19
extern void __bad_udelay(void);
20
extern void __bad_ndelay(void);
22
extern void __udelay(unsigned long usecs);
23
extern void __ndelay(unsigned long nsecs);
24
extern void __const_udelay(unsigned long usecs);
25
11
extern void __delay(unsigned long loops);
27
#define udelay(n) (__builtin_constant_p(n) ? \
28
((n) > 20000 ? __bad_udelay() : __const_udelay((n) * 0x10c7ul)) : \
31
#define ndelay(n) (__builtin_constant_p(n) ? \
32
((n) > 20000 ? __bad_ndelay() : __const_udelay((n) * 5ul)) : \
12
extern void udelay(unsigned long usecs);
13
#define mdelay(n) udelay((n) * 1000)
35
15
#endif /* !__ASSEMBLY__ */
37
#endif /* defined(__SPARC64_DELAY_H) */
17
#endif /* _SPARC64_DELAY_H */