aboutsummaryrefslogtreecommitdiff
path: root/cmd/sysboot.c
diff options
context:
space:
mode:
authorSimon Glass2021-10-14 12:47:57 -0600
committerTom Rini2021-11-11 19:02:14 -0500
commitb1ead6b9087f1f96cb117d72e3e5cf0d5fb708f5 (patch)
treef25a8c8de5539f31d9fb5688ce3d0f10d41cad2e /cmd/sysboot.c
parentfd3fa5c3941d4de0736d066f77d0158cf933e207 (diff)
pxe: Move do_getfile() into the context
Rather than having a global variable, pass the function as part of the context. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Artem Lapkin <email2tema@gmail.com> Tested-by: Artem Lapkin <email2tema@gmail.com> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
Diffstat (limited to 'cmd/sysboot.c')
-rw-r--r--cmd/sysboot.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/cmd/sysboot.c b/cmd/sysboot.c
index 9ba713c8aae..082f23543d1 100644
--- a/cmd/sysboot.c
+++ b/cmd/sysboot.c
@@ -8,7 +8,7 @@
static char *fs_argv[5];
-static int do_get_ext2(struct cmd_tbl *cmdtp, const char *file_path,
+static int do_get_ext2(struct pxe_context *ctx, const char *file_path,
char *file_addr)
{
#ifdef CONFIG_CMD_EXT2
@@ -16,13 +16,13 @@ static int do_get_ext2(struct cmd_tbl *cmdtp, const char *file_path,
fs_argv[3] = file_addr;
fs_argv[4] = (void *)file_path;
- if (!do_ext2load(cmdtp, 0, 5, fs_argv))
+ if (!do_ext2load(ctx->cmdtp, 0, 5, fs_argv))
return 1;
#endif
return -ENOENT;
}
-static int do_get_fat(struct cmd_tbl *cmdtp, const char *file_path,
+static int do_get_fat(struct pxe_context *ctx, const char *file_path,
char *file_addr)
{
#ifdef CONFIG_CMD_FAT
@@ -30,13 +30,13 @@ static int do_get_fat(struct cmd_tbl *cmdtp, const char *file_path,
fs_argv[3] = file_addr;
fs_argv[4] = (void *)file_path;
- if (!do_fat_fsload(cmdtp, 0, 5, fs_argv))
+ if (!do_fat_fsload(ctx->cmdtp, 0, 5, fs_argv))
return 1;
#endif
return -ENOENT;
}
-static int do_get_any(struct cmd_tbl *cmdtp, const char *file_path,
+static int do_get_any(struct pxe_context *ctx, const char *file_path,
char *file_addr)
{
#ifdef CONFIG_CMD_FS_GENERIC
@@ -44,7 +44,7 @@ static int do_get_any(struct cmd_tbl *cmdtp, const char *file_path,
fs_argv[3] = file_addr;
fs_argv[4] = (void *)file_path;
- if (!do_load(cmdtp, 0, 5, fs_argv, FS_TYPE_ANY))
+ if (!do_load(ctx->cmdtp, 0, 5, fs_argv, FS_TYPE_ANY))
return 1;
#endif
return -ENOENT;
@@ -91,13 +91,13 @@ static int do_sysboot(struct cmd_tbl *cmdtp, int flag, int argc,
env_set("bootfile", filename);
}
- pxe_setup_ctx(&ctx, cmdtp);
+ pxe_setup_ctx(&ctx, cmdtp, NULL);
if (strstr(argv[3], "ext2")) {
- do_getfile = do_get_ext2;
+ ctx.getfile = do_get_ext2;
} else if (strstr(argv[3], "fat")) {
- do_getfile = do_get_fat;
+ ctx.getfile = do_get_fat;
} else if (strstr(argv[3], "any")) {
- do_getfile = do_get_any;
+ ctx.getfile = do_get_any;
} else {
printf("Invalid filesystem: %s\n", argv[3]);
return 1;