sh: avoid multiple definition errors with cache funcs
Recent builds for SH4 boards fail with a lot of errors like: cmd_mem.o: In function 'dcache_invalid_range': include/asm/cache.h:25: multiple definition of 'dcache_invalid_range' include/asm/cache.h:25: first defined here This is due to the funcs being defined in the header, but not static or inline or extern. So move them to the sh4-specific cache.c file. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
This commit is contained in:
parent
3ed8164587
commit
172106433b
@ -106,3 +106,25 @@ int cache_control(unsigned int cmd)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void dcache_wback_range(u32 start, u32 end)
|
||||
{
|
||||
u32 v;
|
||||
|
||||
start &= ~(L1_CACHE_BYTES - 1);
|
||||
for (v = start; v < end; v += L1_CACHE_BYTES) {
|
||||
asm volatile ("ocbwb %0" : /* no output */
|
||||
: "m" (__m(v)));
|
||||
}
|
||||
}
|
||||
|
||||
void dcache_invalid_range(u32 start, u32 end)
|
||||
{
|
||||
u32 v;
|
||||
|
||||
start &= ~(L1_CACHE_BYTES - 1);
|
||||
for (v = start; v < end; v += L1_CACHE_BYTES) {
|
||||
asm volatile ("ocbi %0" : /* no output */
|
||||
: "m" (__m(v)));
|
||||
}
|
||||
}
|
||||
|
@ -10,27 +10,9 @@ 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)
|
||||
{
|
||||
u32 v;
|
||||
void dcache_wback_range(u32 start, u32 end);
|
||||
void dcache_invalid_range(u32 start, u32 end);
|
||||
|
||||
start &= ~(L1_CACHE_BYTES - 1);
|
||||
for (v = start; v < end; v += L1_CACHE_BYTES) {
|
||||
asm volatile ("ocbwb %0" : /* no output */
|
||||
: "m" (__m(v)));
|
||||
}
|
||||
}
|
||||
|
||||
void dcache_invalid_range(u32 start, u32 end)
|
||||
{
|
||||
u32 v;
|
||||
|
||||
start &= ~(L1_CACHE_BYTES - 1);
|
||||
for (v = start; v < end; v += L1_CACHE_BYTES) {
|
||||
asm volatile ("ocbi %0" : /* no output */
|
||||
: "m" (__m(v)));
|
||||
}
|
||||
}
|
||||
#else
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user