[ARM] Add ARCH_PROVIDES_UDELAY config option
Colin Cross [Sun, 25 Apr 2010 07:29:07 +0000 (00:29 -0700)]
Change-Id: Ife690c9d055fc0f17a52d2b29048af5062a664a6
Signed-off-by: Colin Cross <ccross@android.com>

arch/arm/Kconfig
arch/arm/include/asm/delay.h
arch/arm/lib/Makefile

index 3146ed3..82c6521 100644 (file)
@@ -186,6 +186,9 @@ config FIQ
 config ARCH_MTD_XIP
        bool
 
+config ARCH_PROVIDES_UDELAY
+  bool
+
 config VECTORS_BASE
        hex
        default 0xffff0000 if MMU || CPU_HIGH_VECTOR
index b2deda1..57f1fa0 100644 (file)
@@ -8,6 +8,9 @@
 
 #include <asm/param.h> /* HZ */
 
+#ifdef CONFIG_ARCH_PROVIDES_UDELAY
+#include <mach/delay.h>
+#else
 extern void __delay(int loops);
 
 /*
@@ -40,5 +43,6 @@ extern void __const_udelay(unsigned long);
                        __const_udelay((n) * ((2199023U*HZ)>>11))) :    \
          __udelay(n))
 
+#endif /* defined(ARCH_PROVIDES_UDELAY) */
 #endif /* defined(_ARM_DELAY_H) */
 
index cf73a7f..775132a 100644 (file)
@@ -6,7 +6,7 @@
 
 lib-y          := backtrace.o changebit.o csumipv6.o csumpartial.o   \
                   csumpartialcopy.o csumpartialcopyuser.o clearbit.o \
-                  delay.o findbit.o memchr.o memcpy.o                \
+                  findbit.o memchr.o memcpy.o                        \
                   memmove.o memset.o memzero.o setbit.o              \
                   strncpy_from_user.o strnlen_user.o                 \
                   strchr.o strrchr.o                                 \
@@ -17,6 +17,10 @@ lib-y                := backtrace.o changebit.o csumipv6.o csumpartial.o   \
 
 mmu-y  := clear_user.o copy_page.o getuser.o putuser.o
 
+ifneq ($(CONFIG_ARCH_PROVIDES_UDELAY),y)
+  lib-y += delay.o
+endif
+
 # the code in uaccess.S is not preemption safe and
 # probably faster on ARMv3 only
 ifeq ($(CONFIG_PREEMPT),y)