Patchwork [U-Boot] sh: fix build error in cache.h

login
register
mail settings
Submitter Yoshihiro Shimoda
Date Oct. 31, 2011, 1:44 a.m.
Message ID <4EADFD6C.4070502@renesas.com>
Download mbox | patch
Permalink /patch/122697/
State Superseded
Headers show

Comments

Yoshihiro Shimoda - Oct. 31, 2011, 1:44 a.m.
In the latest U-Boot, the include/common.h includes the asm/cache.h.
So, the dcache_invalid_range() in the arch/sh/include/asm/cache.h is
multiple defination.

sh4-linux-gnu-ld  -e 0x8FFC0000 --defsym reloc_dst=0x8FFC0000 -r -o libsh4.o  cpu.o interrupts.o watchdog.o cache.o start.o
interrupts.o: In function `dcache_wback_range':
/home/u-boot/u-boot-sh/include/asm/cache.h:14: multiple definition of `dcache_wback_range'
cpu.o:/home/shimoda/development/u-boot/u-boot-sh/include/asm/cache.h:14: first defined here
interrupts.o: In function `dcache_invalid_range':
/home/u-boot/u-boot-sh/include/asm/cache.h:25: multiple definition of `dcache_invalid_range'
cpu.o:/home/shimoda/development/u-boot/u-boot-sh/include/asm/cache.h:25: first defined here
...

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
 arch/sh/include/asm/cache.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
Mike Frysinger - Oct. 31, 2011, 2:25 a.m.
On Sunday 30 October 2011 21:44:13 Yoshihiro Shimoda wrote:
> In the latest U-Boot, the include/common.h includes the asm/cache.h.
> So, the dcache_invalid_range() in the arch/sh/include/asm/cache.h is
> multiple defination.

i posted a fix for this already:
	http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/114290

i don't think we want to go this route with inline markings since it bloats 
the code ...
-mike
Yoshihiro Shimoda - Oct. 31, 2011, 2:35 a.m.
2011/10/31 11:25, Mike Frysinger wrote:
> On Sunday 30 October 2011 21:44:13 Yoshihiro Shimoda wrote:
>> In the latest U-Boot, the include/common.h includes the asm/cache.h.
>> So, the dcache_invalid_range() in the arch/sh/include/asm/cache.h is
>> multiple defination.
> 
> i posted a fix for this already:
> 	http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/114290
> 
> i don't think we want to go this route with inline markings since it bloats 
> the code ...

Thank you for your point.
I should have looked at the mailing list more carefully before I submitted
my patch...

Thanks,
Yoshihiro Shimoda

Patch

diff --git a/arch/sh/include/asm/cache.h b/arch/sh/include/asm/cache.h
index 6ffab4d..978cd8c 100644
--- a/arch/sh/include/asm/cache.h
+++ b/arch/sh/include/asm/cache.h
@@ -10,7 +10,7 @@  int cache_control(unsigned int cmd);
 struct __large_struct { unsigned long buf[100]; };
 #define __m(x) (*(struct __large_struct *)(x))

-void dcache_wback_range(u32 start, u32 end)
+static inline void dcache_wback_range(u32 start, u32 end)
 {
 	u32 v;

@@ -21,7 +21,7 @@  void dcache_wback_range(u32 start, u32 end)
 	}
 }

-void dcache_invalid_range(u32 start, u32 end)
+static inline void dcache_invalid_range(u32 start, u32 end)
 {
 	u32 v;