command: Remove the cmd_tbl_t typedef
[oweals/u-boot.git] / common / bootm.c
index 4629cdd82d4acb330fbf983fa8afae153cd1f57a..c3b3ee371ca7eaa23d6477a609de528d401b748f 100644 (file)
@@ -7,11 +7,16 @@
 #ifndef USE_HOSTCC
 #include <common.h>
 #include <bootstage.h>
+#include <cpu_func.h>
+#include <env.h>
 #include <errno.h>
 #include <fdt_support.h>
+#include <irq_func.h>
 #include <lmb.h>
 #include <malloc.h>
 #include <mapmem.h>
+#include <net.h>
+#include <asm/cache.h>
 #include <asm/io.h>
 #if defined(CONFIG_CMD_USB)
 #include <usb.h>
@@ -37,8 +42,8 @@ DECLARE_GLOBAL_DATA_PTR;
 
 bootm_headers_t images;                /* pointers to os/initrd/fdt images */
 
-static const void *boot_get_kernel(cmd_tbl_t *cmdtp, int flag, int argc,
-                                  char * const argv[], bootm_headers_t *images,
+static const void *boot_get_kernel(struct cmd_tbl *cmdtp, int flag, int argc,
+                                  char *const argv[], bootm_headers_t *images,
                                   ulong *os_data, ulong *os_len);
 
 __weak void board_quiesce_devices(void)
@@ -62,8 +67,8 @@ static void boot_start_lmb(bootm_headers_t *images)
 static inline void boot_start_lmb(bootm_headers_t *images) { }
 #endif
 
-static int bootm_start(cmd_tbl_t *cmdtp, int flag, int argc,
-                      char * const argv[])
+static int bootm_start(struct cmd_tbl *cmdtp, int flag, int argc,
+                      char *const argv[])
 {
        memset((void *)&images, 0, sizeof(images));
        images.verify = env_get_yesno("verify");
@@ -76,8 +81,8 @@ static int bootm_start(cmd_tbl_t *cmdtp, int flag, int argc,
        return 0;
 }
 
-static int bootm_find_os(cmd_tbl_t *cmdtp, int flag, int argc,
-                        char * const argv[])
+static int bootm_find_os(struct cmd_tbl *cmdtp, int flag, int argc,
+                        char *const argv[])
 {
        const void *os_hdr;
        bool ep_found = false;
@@ -233,7 +238,7 @@ static int bootm_find_os(cmd_tbl_t *cmdtp, int flag, int argc,
  *     0, if all existing images were loaded correctly
  *     1, if an image is found but corrupted, or invalid
  */
-int bootm_find_images(int flag, int argc, char * const argv[])
+int bootm_find_images(int flag, int argc, char *const argv[])
 {
        int ret;
 
@@ -280,8 +285,8 @@ int bootm_find_images(int flag, int argc, char * const argv[])
        return 0;
 }
 
-static int bootm_find_other(cmd_tbl_t *cmdtp, int flag, int argc,
-                           char * const argv[])
+static int bootm_find_other(struct cmd_tbl *cmdtp, int flag, int argc,
+                           char *const argv[])
 {
        if (((images.os.type == IH_TYPE_KERNEL) ||
             (images.os.type == IH_TYPE_KERNEL_NOLOAD) ||
@@ -515,8 +520,9 @@ static void fixup_silent_linux(void)
  *     then the intent is to boot an OS, so this function will not return
  *     unless the image type is standalone.
  */
-int do_bootm_states(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[],
-                   int states, bootm_headers_t *images, int boot_progress)
+int do_bootm_states(struct cmd_tbl *cmdtp, int flag, int argc,
+                   char *const argv[], int states, bootm_headers_t *images,
+                   int boot_progress)
 {
        boot_os_fn *boot_fn;
        ulong iflag = 0;
@@ -699,8 +705,8 @@ static image_header_t *image_get_kernel(ulong img_addr, int verify)
  *     pointer to image header if valid image was found, plus kernel start
  *     address and length, otherwise NULL
  */
-static const void *boot_get_kernel(cmd_tbl_t *cmdtp, int flag, int argc,
-                                  char * const argv[], bootm_headers_t *images,
+static const void *boot_get_kernel(struct cmd_tbl *cmdtp, int flag, int argc,
+                                  char *const argv[], bootm_headers_t *images,
                                   ulong *os_data, ulong *os_len)
 {
 #if CONFIG_IS_ENABLED(LEGACY_IMAGE_FORMAT)
@@ -816,7 +822,8 @@ void __weak switch_to_non_secure_mode(void)
 #else /* USE_HOSTCC */
 
 #if defined(CONFIG_FIT_SIGNATURE)
-static int bootm_host_load_image(const void *fit, int req_image_type)
+static int bootm_host_load_image(const void *fit, int req_image_type,
+                                int cfg_noffset)
 {
        const char *fit_uname_config = NULL;
        ulong data, len;
@@ -828,6 +835,7 @@ static int bootm_host_load_image(const void *fit, int req_image_type)
        void *load_buf;
        int ret;
 
+       fit_uname_config = fdt_get_name(fit, cfg_noffset, NULL);
        memset(&images, '\0', sizeof(images));
        images.verify = 1;
        noffset = fit_image_load(&images, (ulong)fit,
@@ -875,7 +883,7 @@ int bootm_host_load_images(const void *fit, int cfg_noffset)
        for (i = 0; i < ARRAY_SIZE(image_types); i++) {
                int ret;
 
-               ret = bootm_host_load_image(fit, image_types[i]);
+               ret = bootm_host_load_image(fit, image_types[i], cfg_noffset);
                if (!err && ret && ret != -ENOENT)
                        err = ret;
        }