[RESEND 7/7] fastboot: Implement generic fastboot_set_reboot_flag
Lukasz Majewski
lukma at denx.de
Sat Jan 23 16:11:55 CET 2021
Hi Roman,
> It is possible to implement fastboot_set_reboot_flag in a generic way
> if BCB commands are turned on for a target. Using
> bcb_set_reboot_reason allows to do this by simply passing string with
> correct reboot reason that should be handled during next boot process.
>
> If BCB are turned off, then bcb_set_reboot_reason would simply return
> error, so it won't introduce any new behaviour for such targets.
>
> Signed-off-by: Roman Kovalivskyi <roman.kovalivskyi at globallogic.com>
> ---
> drivers/fastboot/fb_common.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/fastboot/fb_common.c
> b/drivers/fastboot/fb_common.c index 736ce1cd024f..005dccf3c967 100644
> --- a/drivers/fastboot/fb_common.c
> +++ b/drivers/fastboot/fb_common.c
> @@ -10,6 +10,7 @@
> * Rob Herring <robh at kernel.org>
> */
>
> +#include <bcb.h>
> #include <common.h>
> #include <command.h>
> #include <env.h>
> @@ -90,7 +91,16 @@ void fastboot_okay(const char *reason, char
> *response) */
> int __weak fastboot_set_reboot_flag(enum fastboot_reboot_reason
> reason) {
> - return -ENOSYS;
> + static const char * const boot_cmds[] = {
> + [FASTBOOT_REBOOT_REASON_BOOTLOADER] =
> "bootonce-bootloader",
> + [FASTBOOT_REBOOT_REASON_FASTBOOTD] = "boot-fastboot",
> + [FASTBOOT_REBOOT_REASON_RECOVERY] = "boot-recovery"
> + };
> +
> + if (reason >= FASTBOOT_REBOOT_REASONS_COUNT)
> + return -EINVAL;
> +
> + return
> bcb_write_reboot_reason(CONFIG_FASTBOOT_FLASH_MMC_DEV, "misc",
> boot_cmds[reason]); }
> /**
This patch causes build breaks when I run the CI on azzure. If it is
still needed, please rebase it and resend.
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20210123/1d033591/attachment.sig>
More information about the U-Boot
mailing list