[PATCH 2/7] common: board_r: move bedbug_init() to common code

Ovidiu Panait ovidiu.panait at windriver.com
Sat Oct 30 08:51:35 CEST 2021


bedbug/types.h is included to provide bedbug_init() declaration, which is
an empty stub that is only called from the common init sequence. In order
to get rid of this dependency and the associated #ifdef:
* move the bedbug_init() declaration from include/bedbug/type.h to
  include/init.h
* provide a weak stub for bedbug_init() in board_r.c, so each CPU can
  provide its own implementation, as explained in the function comment

Signed-off-by: Ovidiu Panait <ovidiu.panait at windriver.com>
---

 cmd/bedbug.c          | 14 --------------
 common/board_r.c      | 10 ++++++----
 include/bedbug/type.h |  1 -
 include/init.h        | 11 +++++++++++
 4 files changed, 17 insertions(+), 19 deletions(-)

diff --git a/cmd/bedbug.c b/cmd/bedbug.c
index 0bd67fcf47..7fc206bd26 100644
--- a/cmd/bedbug.c
+++ b/cmd/bedbug.c
@@ -38,20 +38,6 @@ int bedbug_puts (const char *str)
 	return 0;
 }				/* bedbug_puts */
 
-
-/* ======================================================================
- * Initialize the bug_ctx structure used by the bedbug debugger.  This is
- * specific to the CPU since each has different debug registers and
- * settings.
- * ====================================================================== */
-
-int bedbug_init(void)
-{
-	/* -------------------------------------------------- */
-	return 0;
-}				/* bedbug_init */
-
-
 /* ======================================================================
  * Entry point from the interpreter to the disassembler.  Repeated calls
  * will resume from the last disassembled address.
diff --git a/common/board_r.c b/common/board_r.c
index 31a59c585a..a5c1af9c1f 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -23,10 +23,6 @@
 #include <asm/cache.h>
 #include <asm/global_data.h>
 #include <u-boot/crc.h>
-/* TODO: can we just include all these headers whether needed or not? */
-#if defined(CONFIG_CMD_BEDBUG)
-#include <bedbug/type.h>
-#endif
 #include <binman.h>
 #include <command.h>
 #include <console.h>
@@ -37,6 +33,7 @@
 #include <ide.h>
 #include <init.h>
 #include <initcall.h>
+/* TODO: can we just include all these headers whether needed or not? */
 #if defined(CONFIG_CMD_KGDB)
 #include <kgdb.h>
 #endif
@@ -568,6 +565,11 @@ static int initr_ide(void)
 }
 #endif
 
+__weak int bedbug_init(void)
+{
+	return 0;
+}
+
 #if defined(CONFIG_PRAM)
 /*
  * Export available size of memory for Linux, taking into account the
diff --git a/include/bedbug/type.h b/include/bedbug/type.h
index f7a719caf0..99c3d4d83e 100644
--- a/include/bedbug/type.h
+++ b/include/bedbug/type.h
@@ -5,7 +5,6 @@ struct cmd_tbl;
 
 /* Supporting routines */
 int bedbug_puts (const char *);
-int bedbug_init(void);
 void bedbug860_init (void);
 void do_bedbug_breakpoint (struct pt_regs *);
 void bedbug_main_loop (unsigned long, struct pt_regs *);
diff --git a/include/init.h b/include/init.h
index c781789e36..e11472ac09 100644
--- a/include/init.h
+++ b/include/init.h
@@ -307,6 +307,17 @@ int board_early_init_r(void);
  */
 int arch_initr_trap(void);
 
+/**
+ * bedbug_init() - init bedbug debugger
+ *
+ * Initialize the bug_ctx structure used by the bedbug debugger.  This is
+ * specific to the CPU since each has different debug registers and
+ * settings.
+ *
+ * Return: 0 if OK
+ */
+int bedbug_init(void);
+
 /**
  * main_loop() - Enter the main loop of U-Boot
  *
-- 
2.25.1



More information about the U-Boot mailing list