浏览代码

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>
Angelo Durgehello 4 年之前
父节点
当前提交
c05b38df47
共有 2 个文件被更改,包括 7 次插入1 次删除
  1. 1 1
      common/board_r.c
  2. 6 0
      drivers/block/blkcache.c

+ 1 - 1
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,

+ 6 - 0
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,