From 7dea1b20066cd30fb54da7e686b16b5e38b46b2d Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Fri, 20 Jul 2007 02:07:31 +0100 Subject: [PATCH] [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 Cc: Catalin Marinas Signed-off-by: Dan Williams Signed-off-by: Russell King --- include/asm-arm/arch-iop13xx/uncompress.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/include/asm-arm/arch-iop13xx/uncompress.h b/include/asm-arm/arch-iop13xx/uncompress.h index b9525d59b7..dd9c293419 100644 --- a/include/asm-arm/arch-iop13xx/uncompress.h +++ b/include/asm-arm/arch-iop13xx/uncompress.h @@ -1,7 +1,6 @@ #include #include #include -#include #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; } -- 2.39.5