From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukasz Majewski Date: Sat, 23 Jan 2021 16:11:55 +0100 Subject: [RESEND 7/7] fastboot: Implement generic fastboot_set_reboot_flag In-Reply-To: <56991dc2a425578649ae5dcbc02901cba800294d.1603442753.git.roman.kovalivskyi@globallogic.com> References: <56991dc2a425578649ae5dcbc02901cba800294d.1603442753.git.roman.kovalivskyi@globallogic.com> Message-ID: <20210123161155.5e8c8cd8@jawa> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > --- > 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 > */ > > +#include > #include > #include > #include > @@ -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: