Hi Simon, Thank you for the patch.
On jeu., déc. 14, 2023 at 21:19, Simon Glass <s...@chromium.org> wrote: > It is possible to boot a kernel without CMDLINE being enabled. Update > the implementation to handle this, and drop the condition from the > FASTBOOT config. > > Signed-off-by: Simon Glass <s...@chromium.org> Reviewed-by: Mattijs Korpershoek <mkorpersh...@baylibre.com> > --- > > Changes in v2: > - Avoid changing the logic when a command is not set > > drivers/fastboot/Kconfig | 1 - > drivers/fastboot/fb_common.c | 30 ++++++++++++++---------------- > 2 files changed, 14 insertions(+), 17 deletions(-) > > diff --git a/drivers/fastboot/Kconfig b/drivers/fastboot/Kconfig > index 11fc0fe1c800..837c6f1180da 100644 > --- a/drivers/fastboot/Kconfig > +++ b/drivers/fastboot/Kconfig > @@ -1,5 +1,4 @@ > menu "Fastboot support" > - depends on CMDLINE > > config FASTBOOT > bool > diff --git a/drivers/fastboot/fb_common.c b/drivers/fastboot/fb_common.c > index 07f5946d9ed1..595954542a6e 100644 > --- a/drivers/fastboot/fb_common.c > +++ b/drivers/fastboot/fb_common.c > @@ -11,6 +11,7 @@ > */ > > #include <bcb.h> > +#include <bootm.h> > #include <common.h> > #include <command.h> > #include <env.h> > @@ -142,22 +143,19 @@ void (*fastboot_get_progress_callback(void))(const char > *) > */ > void fastboot_boot(void) > { > - char *s; > - > - s = env_get("fastboot_bootcmd"); > - if (s) { > - run_command(s, CMD_FLAG_ENV); > - } else if (IS_ENABLED(CONFIG_CMD_BOOTM)) { > - static char boot_addr_start[20]; > - static char *const bootm_args[] = { > - "bootm", boot_addr_start, NULL > - }; > - > - snprintf(boot_addr_start, sizeof(boot_addr_start) - 1, > - "%lx", fastboot_buf_addr); > - printf("Booting kernel at %s...\n\n\n", boot_addr_start); > - > - do_bootm(NULL, 0, 2, bootm_args); > + char *s = NULL; > + > + if (IS_ENABLED(CONFIG_CMDLINE)) { > + s = env_get("fastboot_bootcmd"); > + if (s) > + run_command(s, CMD_FLAG_ENV); > + } > + > + if (!s && IS_ENABLED(CONFIG_BOOTM)) { > + int ret; > + > + printf("Booting kernel at %lx...\n\n\n", fastboot_buf_addr); > + ret = bootm_boot_start(fastboot_buf_addr, NULL); > > /* > * This only happens if image is somehow faulty so we start > -- > 2.43.0.472.g3155946c3a-goog