[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