[PATCH] common: fix regression on block cache init
Angelo Dureghello
angelo.dureghello at timesys.com
Sun Jan 26 19:31:22 CET 2020
From: Angelo Durgehello <angelo.dureghello at timesys.com>
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 at timesys.com>
---
common/board_r.c | 2 +-
drivers/block/blkcache.c | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-)
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,
--
2.24.1
More information about the U-Boot
mailing list