Define board_quiesce_devices() in a shared location
authorSimon Glass <sjg@chromium.org>
Wed, 16 May 2018 15:42:25 +0000 (09:42 -0600)
committerAlexander Graf <agraf@suse.de>
Sun, 3 Jun 2018 13:27:21 +0000 (15:27 +0200)
This undocumented function relies on arch-specific code to declare a nop
weak version. Add the weak function in common code instead to avoid having
to duplicate the same function in each arch.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
arch/arm/include/asm/u-boot-arm.h
arch/x86/include/asm/u-boot-x86.h
arch/x86/lib/bootm.c
common/bootm.c
include/bootm.h

index 01c3ba8..cc828c4 100644 (file)
@@ -37,7 +37,6 @@ int   arch_early_init_r(void);
 
 /* board/.../... */
 int    board_init(void);
-void   board_quiesce_devices(void);
 
 /* cpu/.../interrupt.c */
 int    arch_interrupt_init     (void);
index 9be4584..2340ef8 100644 (file)
@@ -84,7 +84,6 @@ static inline __attribute__((no_instrument_function)) uint64_t rdtsc(void)
 /* board/... */
 void timer_set_tsc_base(uint64_t new_base);
 uint64_t timer_get_tsc(void);
-void board_quiesce_devices(void);
 
 void quick_ram_check(void);
 
index 533ba07..54c22fe 100644 (file)
@@ -27,10 +27,6 @@ DECLARE_GLOBAL_DATA_PTR;
 
 #define COMMAND_LINE_OFFSET 0x9000
 
-__weak void board_quiesce_devices(void)
-{
-}
-
 void bootm_announce_and_cleanup(void)
 {
        printf("\nStarting kernel ...\n\n");
index a0ffc1c..e789f68 100644 (file)
@@ -46,6 +46,10 @@ static const void *boot_get_kernel(cmd_tbl_t *cmdtp, int flag, int argc,
                                   char * const argv[], bootm_headers_t *images,
                                   ulong *os_data, ulong *os_len);
 
+__weak void board_quiesce_devices(void)
+{
+}
+
 #ifdef CONFIG_LMB
 static void boot_start_lmb(bootm_headers_t *images)
 {
index 9e42e17..9f7956d 100644 (file)
@@ -72,4 +72,6 @@ int bootm_decomp_image(int comp, ulong load, ulong image_start, int type,
                       void *load_buf, void *image_buf, ulong image_len,
                       uint unc_len, ulong *load_end);
 
+void board_quiesce_devices(void);
+
 #endif