ARM: cache_v7: use __weak

This is not only more readable but also prevents a warning
about a missing prototype. The prototypes which are actually
missing are added.

cc: Albert Aribaud <albert.u.boot@aribaud.net>
Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
Reviewed-by: Tom Rini <trini@ti.com>
This commit is contained in:
Jeroen Hofstee
2014-06-23 22:07:04 +02:00
committed by Albert ARIBAUD
parent f749db3a75
commit fcfddfd504
4 changed files with 15 additions and 55 deletions

View File

@@ -354,41 +354,10 @@ void invalidate_icache_all(void)
} }
#endif #endif
/* /* Stub implementations for outer cache operations */
* Stub implementations for outer cache operations __weak void v7_outer_cache_enable(void) {}
*/ __weak void v7_outer_cache_disable(void) {}
void __v7_outer_cache_enable(void) __weak void v7_outer_cache_flush_all(void) {}
{ __weak void v7_outer_cache_inval_all(void) {}
} __weak void v7_outer_cache_flush_range(u32 start, u32 end) {}
void v7_outer_cache_enable(void) __weak void v7_outer_cache_inval_range(u32 start, u32 end) {}
__attribute__((weak, alias("__v7_outer_cache_enable")));
void __v7_outer_cache_disable(void)
{
}
void v7_outer_cache_disable(void)
__attribute__((weak, alias("__v7_outer_cache_disable")));
void __v7_outer_cache_flush_all(void)
{
}
void v7_outer_cache_flush_all(void)
__attribute__((weak, alias("__v7_outer_cache_flush_all")));
void __v7_outer_cache_inval_all(void)
{
}
void v7_outer_cache_inval_all(void)
__attribute__((weak, alias("__v7_outer_cache_inval_all")));
void __v7_outer_cache_flush_range(u32 start, u32 end)
{
}
void v7_outer_cache_flush_range(u32 start, u32 end)
__attribute__((weak, alias("__v7_outer_cache_flush_range")));
void __v7_outer_cache_inval_range(u32 start, u32 end)
{
}
void v7_outer_cache_inval_range(u32 start, u32 end)
__attribute__((weak, alias("__v7_outer_cache_inval_range")));

View File

@@ -29,6 +29,9 @@ void l2_cache_enable(void);
void l2_cache_disable(void); void l2_cache_disable(void);
void set_section_dcache(int section, enum dcache_option option); void set_section_dcache(int section, enum dcache_option option);
void arm_init_before_mmu(void);
void arm_init_domains(void);
void cpu_cache_initialization(void);
void dram_bank_mmu_setup(int bank); void dram_bank_mmu_setup(int bank);
#endif #endif

View File

@@ -14,11 +14,9 @@
DECLARE_GLOBAL_DATA_PTR; DECLARE_GLOBAL_DATA_PTR;
void __arm_init_before_mmu(void) __weak void arm_init_before_mmu(void)
{ {
} }
void arm_init_before_mmu(void)
__attribute__((weak, alias("__arm_init_before_mmu")));
__weak void arm_init_domains(void) __weak void arm_init_domains(void)
{ {
@@ -44,14 +42,11 @@ void set_section_dcache(int section, enum dcache_option option)
page_table[section] = value; page_table[section] = value;
} }
void __mmu_page_table_flush(unsigned long start, unsigned long stop) __weak void mmu_page_table_flush(unsigned long start, unsigned long stop)
{ {
debug("%s: Warning: not implemented\n", __func__); debug("%s: Warning: not implemented\n", __func__);
} }
void mmu_page_table_flush(unsigned long start, unsigned long stop)
__attribute__((weak, alias("__mmu_page_table_flush")));
void mmu_set_region_dcache_behaviour(u32 start, int size, void mmu_set_region_dcache_behaviour(u32 start, int size,
enum dcache_option option) enum dcache_option option)
{ {

View File

@@ -9,7 +9,7 @@
#include <common.h> #include <common.h>
void __flush_cache(unsigned long start, unsigned long size) __weak void flush_cache(unsigned long start, unsigned long size)
{ {
#if defined(CONFIG_ARM1136) #if defined(CONFIG_ARM1136)
@@ -31,28 +31,21 @@ void __flush_cache(unsigned long start, unsigned long size)
#endif /* CONFIG_ARM926EJS */ #endif /* CONFIG_ARM926EJS */
return; return;
} }
void flush_cache(unsigned long start, unsigned long size)
__attribute__((weak, alias("__flush_cache")));
/* /*
* Default implementation: * Default implementation:
* do a range flush for the entire range * do a range flush for the entire range
*/ */
void __flush_dcache_all(void) __weak void flush_dcache_all(void)
{ {
flush_cache(0, ~0); flush_cache(0, ~0);
} }
void flush_dcache_all(void)
__attribute__((weak, alias("__flush_dcache_all")));
/* /*
* Default implementation of enable_caches() * Default implementation of enable_caches()
* Real implementation should be in platform code * Real implementation should be in platform code
*/ */
void __enable_caches(void) __weak void enable_caches(void)
{ {
puts("WARNING: Caches not enabled\n"); puts("WARNING: Caches not enabled\n");
} }
void enable_caches(void)
__attribute__((weak, alias("__enable_caches")));