[U-Boot] [PATCH V2 1/4] pxe: allow compilation when !defined(CONFIG_CMD_NET)

Albert ARIBAUD albert.u.boot at aribaud.net
Sat Feb 22 14:04:33 CET 2014


Hi Stephen,

On Wed,  5 Feb 2014 20:49:20 -0700, Stephen Warren
<swarren at wwwdotorg.org> wrote:

> pxe.c provides both the "pxe" command which relies on a network, and the
> "sysboot" command which doesn't. Fix the file to compile when network
> support isn't enabled. This is useful e.g. on the Raspberry Pi which has
> no network support yet, but will soon support the sysboot command.
> 
> Signed-off-by: Stephen Warren <swarren at wwwdotorg.org>
> ---
> v2: No change.
> 
> This patch doesn't appear to depend on anything much, but is needed by
> the rest of this series. Given the dependencies in the rest of this
> series, either (a) this one patch can be applied to u-boot/master, and
> then u-boot/arm can merge that in before the rest of the series, or (b)
> u-boot/master can be merged into u-boot-arm/master, then this whole
> series applied there.
> ---
>  common/cmd_pxe.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/common/cmd_pxe.c b/common/cmd_pxe.c
> index 29e48db..3d13268 100644
> --- a/common/cmd_pxe.c
> +++ b/common/cmd_pxe.c
> @@ -45,6 +45,7 @@ static char *from_env(const char *envvar)
>  	return ret;
>  }
>  
> +#ifdef CONFIG_CMD_NET
>  /*
>   * Convert an ethaddr from the environment to the format used by pxelinux
>   * filenames based on mac addresses. Convert's ':' to '-', and adds "01-" to
> @@ -75,6 +76,7 @@ static int format_mac_pxe(char *outbuf, size_t outbuf_len)
>  
>  	return 1;
>  }
> +#endif
>  
>  /*
>   * Returns the directory the file specified in the bootfile env variable is
> @@ -120,6 +122,7 @@ static int get_bootfile_path(const char *file_path, char *bootfile_path,
>  
>  static int (*do_getfile)(cmd_tbl_t *cmdtp, const char *file_path, char *file_addr);
>  
> +#ifdef CONFIG_CMD_NET
>  static int do_get_tftp(cmd_tbl_t *cmdtp, const char *file_path, char *file_addr)
>  {
>  	char *tftp_argv[] = {"tftp", NULL, NULL, NULL};
> @@ -132,6 +135,7 @@ static int do_get_tftp(cmd_tbl_t *cmdtp, const char *file_path, char *file_addr)
>  
>  	return 1;
>  }
> +#endif
>  
>  static char *fs_argv[5];
>  
> @@ -249,6 +253,8 @@ static int get_pxe_file(cmd_tbl_t *cmdtp, const char *file_path, void *file_addr
>  	return 1;
>  }
>  
> +#ifdef CONFIG_CMD_NET
> +
>  #define PXELINUX_DIR "pxelinux.cfg/"
>  
>  /*
> @@ -397,6 +403,7 @@ do_pxe_get(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>  
>  	return 1;
>  }
> +#endif
>  
>  /*
>   * Wrapper to make it easier to store the file at file_path in the location
> @@ -647,6 +654,7 @@ static int label_boot(cmd_tbl_t *cmdtp, struct pxe_label *label)
>  		len += strlen(ip_str);
>  	}
>  
> +#ifdef CONFIG_CMD_NET
>  	if (label->ipappend & 0x2) {
>  		int err;
>  		strcpy(mac_str, " BOOTIF=");
> @@ -655,6 +663,7 @@ static int label_boot(cmd_tbl_t *cmdtp, struct pxe_label *label)
>  			mac_str[0] = '\0';
>  		len += strlen(mac_str);
>  	}
> +#endif
>  
>  	if (label->append)
>  		len += strlen(label->append);
> @@ -1500,6 +1509,7 @@ static void handle_pxe_menu(cmd_tbl_t *cmdtp, struct pxe_menu *cfg)
>  	boot_unattempted_labels(cmdtp, cfg);
>  }
>  
> +#ifdef CONFIG_CMD_NET
>  /*
>   * Boots a system using a pxe file
>   *
> @@ -1576,6 +1586,7 @@ U_BOOT_CMD(
>  	"get - try to retrieve a pxe file using tftp\npxe "
>  	"boot [pxefile_addr_r] - boot from the pxe file at pxefile_addr_r\n"
>  );
> +#endif
>  
>  /*
>   * Boots a system using a local disk syslinux/extlinux file

Applied the whole series to u-boot-arm/master, thanks!

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list