]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-sparc/delay.h
mapping_set_error: add unlikely()
[linux-2.6-omap-h63xx.git] / include / asm-sparc / delay.h
index 48aa70eef9975c356c0cc5c6706869fdfc30934f..6210a3ce97517860de53a9b1823a4eaa5b56e871 100644 (file)
@@ -1,34 +1,8 @@
-/* $Id: delay.h,v 1.11 2001/01/01 01:46:15 davem Exp $
- * delay.h: Linux delay routines on the Sparc.
- *
- * Copyright (C) 1994 David S. Miller (davem@caip.rutgers.edu).
- */
-
-#ifndef __SPARC_DELAY_H
-#define __SPARC_DELAY_H
-
-#include <asm/cpudata.h>
-
-static inline void __delay(unsigned long loops)
-{
-       __asm__ __volatile__("cmp %0, 0\n\t"
-                            "1: bne 1b\n\t"
-                            "subcc %0, 1, %0\n" :
-                            "=&r" (loops) :
-                            "0" (loops) :
-                            "cc");
-}
-
-/* This is too messy with inline asm on the Sparc. */
-extern void __udelay(unsigned long usecs, unsigned long lpj);
-extern void __ndelay(unsigned long nsecs, unsigned long lpj);
-
-#ifdef CONFIG_SMP
-#define __udelay_val   cpu_data(smp_processor_id()).udelay_val
-#else /* SMP */
-#define __udelay_val   loops_per_jiffy
-#endif /* SMP */
-#define udelay(__usecs)        __udelay(__usecs, __udelay_val)
-#define ndelay(__nsecs)        __ndelay(__nsecs, __udelay_val)
-
-#endif /* defined(__SPARC_DELAY_H) */
+#ifndef ___ASM_SPARC_DELAY_H
+#define ___ASM_SPARC_DELAY_H
+#if defined(__sparc__) && defined(__arch64__)
+#include <asm-sparc/delay_64.h>
+#else
+#include <asm-sparc/delay_32.h>
+#endif
+#endif