summaryrefslogtreecommitdiff
path: root/arch/um/include/asm/delay.h
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2008-08-18 03:13:17 +0400
committerH. Peter Anvin <hpa@zytor.com>2008-10-23 09:55:19 +0400
commit8ede0bdb63305d3353efd97e9af6210afb05734e (patch)
treea9500a323d0a2dcadca43c23b5c20186f6d9b724 /arch/um/include/asm/delay.h
parent8569c9140bd41089f9b6be8837ca421102714a90 (diff)
downloadlinux-8ede0bdb63305d3353efd97e9af6210afb05734e.tar.xz
x86, um: initial part of asm-um move
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/um/include/asm/delay.h')
-rw-r--r--arch/um/include/asm/delay.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/um/include/asm/delay.h b/arch/um/include/asm/delay.h
new file mode 100644
index 000000000000..c71e32b6741e
--- /dev/null
+++ b/arch/um/include/asm/delay.h
@@ -0,0 +1,20 @@
+#ifndef __UM_DELAY_H
+#define __UM_DELAY_H
+
+#define MILLION 1000000
+
+/* Undefined on purpose */
+extern void __bad_udelay(void);
+
+extern void __udelay(unsigned long usecs);
+extern void __delay(unsigned long loops);
+
+#define udelay(n) ((__builtin_constant_p(n) && (n) > 20000) ? \
+ __bad_udelay() : __udelay(n))
+
+/* It appears that ndelay is not used at all for UML, and has never been
+ * implemented. */
+extern void __unimplemented_ndelay(void);
+#define ndelay(n) __unimplemented_ndelay()
+
+#endif