mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 14:34:27 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			64 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From b53e9b5ebd5c6e718f54bcacd4e97b71533ca681 Mon Sep 17 00:00:00 2001
 | 
						|
From: Tony Lindgren <tony@atomide.com>
 | 
						|
Date: Thu, 14 Jan 2010 20:36:55 +0100
 | 
						|
Subject: [PATCH] ARM: 5882/1: ARM: Fix uncompress code compile for different defines of flush(void)
 | 
						|
 | 
						|
Because of the include of the decompress_inflate.c file from
 | 
						|
boot/compress/misc.c, there are different flush() defines:
 | 
						|
 | 
						|
In file included from arch/arm/boot/compressed/misc.c:249:
 | 
						|
arch/arm/boot/compressed/../../../../lib/decompress_inflate.c:138:29: error: macro "flush" passed 2 arguments, but takes just 0
 | 
						|
 | 
						|
Fix this by removing the define of flush() in misc.c for
 | 
						|
CONFIG_DEBUG_ICEDCC as it's already defined in mach/uncompress.h,
 | 
						|
and that is being included unconditionally.
 | 
						|
 | 
						|
Also use a static inline function instead of define
 | 
						|
for mach-mxc and mach-gemini to avoid similar bug
 | 
						|
for those platforms.
 | 
						|
 | 
						|
Signed-off-by: Tony Lindgren <tony@atomide.com>
 | 
						|
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
 | 
						|
---
 | 
						|
 arch/arm/boot/compressed/misc.c                |    1 -
 | 
						|
 arch/arm/mach-gemini/include/mach/uncompress.h |    4 +++-
 | 
						|
 arch/arm/plat-mxc/include/mach/uncompress.h    |    4 +++-
 | 
						|
 3 files changed, 6 insertions(+), 3 deletions(-)
 | 
						|
 | 
						|
--- a/arch/arm/boot/compressed/misc.c
 | 
						|
+++ b/arch/arm/boot/compressed/misc.c
 | 
						|
@@ -88,7 +88,6 @@ static void icedcc_putc(int ch)
 | 
						|
 #endif
 | 
						|
 
 | 
						|
 #define putc(ch)	icedcc_putc(ch)
 | 
						|
-#define flush()	do { } while (0)
 | 
						|
 #endif
 | 
						|
 
 | 
						|
 static void putstr(const char *ptr)
 | 
						|
--- a/arch/arm/mach-gemini/include/mach/uncompress.h
 | 
						|
+++ b/arch/arm/mach-gemini/include/mach/uncompress.h
 | 
						|
@@ -30,7 +30,9 @@ static inline void putc(char c)
 | 
						|
 	UART[UART_TX] = c;
 | 
						|
 }
 | 
						|
 
 | 
						|
-#define flush() do { } while (0)
 | 
						|
+static inline void flush(void)
 | 
						|
+{
 | 
						|
+}
 | 
						|
 
 | 
						|
 /*
 | 
						|
  * nothing to do
 | 
						|
--- a/arch/arm/plat-mxc/include/mach/uncompress.h
 | 
						|
+++ b/arch/arm/plat-mxc/include/mach/uncompress.h
 | 
						|
@@ -60,7 +60,9 @@ static void putc(int ch)
 | 
						|
 	UART(TXR) = ch;
 | 
						|
 }
 | 
						|
 
 | 
						|
-#define flush() do { } while (0)
 | 
						|
+static inline void flush(void)
 | 
						|
+{
 | 
						|
+}
 | 
						|
 
 | 
						|
 #define MX1_UART1_BASE_ADDR	0x00206000
 | 
						|
 #define MX25_UART1_BASE_ADDR	0x43f90000
 |