[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