menu: add support for client defined statusline function
[oweals/u-boot.git] / cmd / pxe_utils.c
index 42b584ead3259526a0798571d99ae31269248943..c244bfb10d670f3790095164568d7747a5167a41 100644 (file)
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <env.h>
+#include <image.h>
 #include <malloc.h>
 #include <mapmem.h>
 #include <lcd.h>
@@ -22,7 +23,7 @@
 
 #include "pxe_utils.h"
 
-#define MAX_TFTP_PATH_LEN 127
+#define MAX_TFTP_PATH_LEN 512
 
 bool is_pxe;
 
@@ -1236,7 +1237,7 @@ static struct menu *pxe_menu_to_menu(struct pxe_menu *cfg)
         * Create a menu and add items for all the labels.
         */
        m = menu_create(cfg->title, DIV_ROUND_UP(cfg->timeout, 10),
-                       cfg->prompt, label_print, NULL, NULL);
+                       cfg->prompt, NULL, label_print, NULL, NULL);
 
        if (!m)
                return NULL;
@@ -1310,9 +1311,10 @@ void handle_pxe_menu(cmd_tbl_t *cmdtp, struct pxe_menu *cfg)
 #ifdef CONFIG_CMD_BMP
        /* display BMP if available */
        if (cfg->bmp) {
-               if (get_relfile(cmdtp, cfg->bmp, load_addr)) {
-                       run_command("cls", 0);
-                       bmp_display(load_addr,
+               if (get_relfile(cmdtp, cfg->bmp, image_load_addr)) {
+                       if (CONFIG_IS_ENABLED(CMD_CLS))
+                               run_command("cls", 0);
+                       bmp_display(image_load_addr,
                                    BMP_ALIGN_CENTER, BMP_ALIGN_CENTER);
                } else {
                        printf("Skipping background bmp %s for failure\n",