aboutsummaryrefslogtreecommitdiff
path: root/include/asm-arm
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2007-07-20 02:07:31 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-07-20 09:35:35 +0100
commit7dea1b20066cd30fb54da7e686b16b5e38b46b2d (patch)
treebf4ccad6871f9b62426659f469a07360fb3166c3 /include/asm-arm
parenta8135fcfd0431eda3653c7069e7aefc8674fdfbe (diff)
downloadlinux-stericsson-7dea1b20066cd30fb54da7e686b16b5e38b46b2d.tar.gz
[ARM] 4494/1: iop13xx: fix up elf_hwcap compile breakage
arch/arm/boot/compressed/misc.o: In function `valid_user_regs': misc.c:(.text+0x74): undefined reference to `elf_hwcap' This triggers after the various elf_hwcap cleanups in: f884b1cf578e079f01682514ae1ae64c74586602 d1cbbd6b413510c6512f4f80ffd48db1a8dd554a include/asm-arm/arch-iop13xx/uncompress.h calls cpu_relax while spinning on a register value. cpu_relax requires processor.h->ptrace.h->hwcap.h 'elf_hwcap' is defined as an extern, but since the uncompressor does not link against arch/arm/kernel/setup.c 'elf_hwcap' remains undefined. Fix is to open code the cpu_relax() call as barrier(). Cc: Lennert Buytenhek <kernel@wantstofly.org> Cc: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/asm-arm')
-rw-r--r--include/asm-arm/arch-iop13xx/uncompress.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/include/asm-arm/arch-iop13xx/uncompress.h b/include/asm-arm/arch-iop13xx/uncompress.h
index b9525d59b7ad..dd9c2934190e 100644
--- a/include/asm-arm/arch-iop13xx/uncompress.h
+++ b/include/asm-arm/arch-iop13xx/uncompress.h
@@ -1,7 +1,6 @@
#include <asm/types.h>
#include <linux/serial_reg.h>
#include <asm/hardware.h>
-#include <asm/processor.h>
#define UART_BASE ((volatile u32 *)IOP13XX_UART1_PHYS)
#define TX_DONE (UART_LSR_TEMT | UART_LSR_THRE)
@@ -9,7 +8,7 @@
static inline void putc(char c)
{
while ((UART_BASE[UART_LSR] & TX_DONE) != TX_DONE)
- cpu_relax();
+ barrier();
UART_BASE[UART_TX] = c;
}