summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAngelo Durgehello <angelo.dureghello@timesys.com>2020-01-26 19:31:22 +0100
committerTom Rini <trini@konsulko.com>2020-01-26 13:36:14 -0500
commitc05b38df477a50c3918b50c5f986592411785859 (patch)
tree31bd0ca8c12fe0e7a5be0d296ba2ffc154cee69a
parent080dbc64fcbc9e17ed424778e51b4f3db152ec1e (diff)
downloadu-boot-c05b38df477a50c3918b50c5f986592411785859.tar.gz
common: fix regression on block cache init
m68k needs block cache list initialized after relocation. Other architectures must not be involved. Fixing regression related to: commit 1526bcce0f7285087621e16e6720636d01839da8 ("common: add blkcache init") Signed-off-by: Angelo Durgehello <angelo.dureghello@timesys.com>
-rw-r--r--common/board_r.c2
-rw-r--r--drivers/block/blkcache.c6
2 files changed, 7 insertions, 1 deletions
diff --git a/common/board_r.c b/common/board_r.c
index 4f56c19fcc..0bbeaa7594 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -865,7 +865,7 @@ static init_fnc_t init_sequence_r[] = {
#if defined(CONFIG_PRAM)
initr_mem,
#endif
-#ifdef CONFIG_BLOCK_CACHE
+#if defined(CONFIG_M68K) && defined(CONFIG_BLOCK_CACHE)
blkcache_init,
#endif
run_main_loop,
diff --git a/drivers/block/blkcache.c b/drivers/block/blkcache.c
index f603aa129d..ea40929e3e 100644
--- a/drivers/block/blkcache.c
+++ b/drivers/block/blkcache.c
@@ -21,19 +21,25 @@ struct block_cache_node {
char *cache;
};
+#ifndef CONFIG_M68K
+static LIST_HEAD(block_cache);
+#else
static struct list_head block_cache;
+#endif
static struct block_cache_stats _stats = {
.max_blocks_per_entry = 8,
.max_entries = 32
};
+#ifdef CONFIG_M68K
int blkcache_init(void)
{
INIT_LIST_HEAD(&block_cache);
return 0;
}
+#endif
static struct block_cache_node *cache_find(int iftype, int devnum,
lbaint_t start, lbaint_t blkcnt,