[RESEND 6/7] Revert "fastboot: Add default fastboot_set_reboot_flag implementation"

Tom Rini trini at konsulko.com
Mon Jan 25 19:10:43 CET 2021


On Mon, Jan 25, 2021 at 07:16:37PM +0200, Roman Kovalivskyi wrote:
> Hi Lukasz,
> 
> On 1/23/21 5:08 PM, Lukasz Majewski wrote:
> > Hi Roman,
> > 
> > > This reverts commit 0ebf9842e56c5b8cb7cb1f990bb452cc14af6225.
> > > 
> > > Current generic implementation of fastboot_set_reboot_flag is somewhat
> > > messy and requires some additional configuration option to be enabled
> > > besides CMD_BCB, so it reverts that implementtion in order to bring a
> > > new cleaner one.
> > > 
> > > Next commit introduces new generic implementation of
> > > fastboot_set_reboot_flag.
> > > 
> > > Signed-off-by: Roman Kovalivskyi <roman.kovalivskyi at globallogic.com>
> > > ---
> > >   drivers/fastboot/Kconfig       | 12 ----------
> > >   drivers/fastboot/Makefile      |  1 -
> > >   drivers/fastboot/fb_bcb_impl.c | 43
> > > ---------------------------------- include/fastboot.h             |
> > > 9 ------- 4 files changed, 65 deletions(-)
> > >   delete mode 100644 drivers/fastboot/fb_bcb_impl.c
> > > 
> > > diff --git a/drivers/fastboot/Kconfig b/drivers/fastboot/Kconfig
> > > index 4352ba67a713..d4436dfc9173 100644
> > > --- a/drivers/fastboot/Kconfig
> > > +++ b/drivers/fastboot/Kconfig
> > > @@ -165,18 +165,6 @@ config FASTBOOT_CMD_OEM_FORMAT
> > >   	  relies on the env variable partitions to contain the list
> > > of partitions as required by the gpt command.
> > > -config FASTBOOT_USE_BCB_SET_REBOOT_FLAG
> > > -	bool "Use BCB by fastboot to set boot reason"
> > > -	depends on CMD_BCB && !ARCH_MESON && !ARCH_ROCKCHIP &&
> > > !TARGET_KC1 && \
> > > -	  !TARGET_SNIPER && !TARGET_AM57XX_EVM && !TARGET_DRA7XX_EVM
> > > -	default y
> > > -	help
> > > -	  Fastboot could implement setting of reboot reason in a
> > > generic fashion
> > > -	  via BCB commands. BCB commands are able to write reboot
> > > reason into
> > > -	  command field of boot control block. In general case it is
> > > sufficient
> > > -	  implementation if your platform supports BCB commands and
> > > doesn't
> > > -	  require any specific reboot reason handling.
> > > -
> > >   endif # FASTBOOT
> > >   endmenu
> > > diff --git a/drivers/fastboot/Makefile b/drivers/fastboot/Makefile
> > > index 2b2c390fe4de..048af5aa8234 100644
> > > --- a/drivers/fastboot/Makefile
> > > +++ b/drivers/fastboot/Makefile
> > > @@ -5,4 +5,3 @@ obj-y += fb_getvar.o
> > >   obj-y += fb_command.o
> > >   obj-$(CONFIG_FASTBOOT_FLASH_MMC) += fb_mmc.o
> > >   obj-$(CONFIG_FASTBOOT_FLASH_NAND) += fb_nand.o
> > > -obj-$(CONFIG_FASTBOOT_USE_BCB_SET_REBOOT_FLAG) += fb_bcb_impl.o
> > > diff --git a/drivers/fastboot/fb_bcb_impl.c
> > > b/drivers/fastboot/fb_bcb_impl.c deleted file mode 100644
> > > index 89ec3601b6f6..000000000000
> > > --- a/drivers/fastboot/fb_bcb_impl.c
> > > +++ /dev/null
> > > @@ -1,43 +0,0 @@
> > > -// SPDX-License-Identifier: GPL-2.0+
> > > -/*
> > > - * Copyright 2020 GlobalLogic.
> > > - * Roman Kovalivskyi <roman.kovalivskyi at globallogic.com>
> > > - */
> > > -
> > > -#include <common.h>
> > > -#include <fastboot.h>
> > > -
> > > -/**
> > > - * fastboot_set_reboot_flag() - Set flag to indicate
> > > reboot-bootloader
> > > - *
> > > - * Set flag which indicates that we should reboot into the bootloader
> > > - * following the reboot that fastboot executes after this function.
> > > - *
> > > - * This function should be overridden in your board file with one
> > > - * which sets whatever flag your board specific Android bootloader
> > > flow
> > > - * requires in order to re-enter the bootloader.
> > > - */
> > > -int fastboot_set_reboot_flag(enum fastboot_reboot_reason reason)
> > > -{
> > > -	char cmd[64];
> > > -
> > > -	if (reason >= FASTBOOT_REBOOT_REASONS_COUNT)
> > > -		return -EINVAL;
> > > -
> > > -	snprintf(cmd, sizeof(cmd), "bcb load %d misc",
> > > -		 CONFIG_FASTBOOT_FLASH_MMC_DEV);
> > > -
> > > -	if (run_command(cmd, 0))
> > > -		return -ENODEV;
> > > -
> > > -	snprintf(cmd, sizeof(cmd), "bcb set command %s",
> > > -		 fastboot_boot_cmds[reason]);
> > > -
> > > -	if (run_command(cmd, 0))
> > > -		return -ENOEXEC;
> > > -
> > > -	if (run_command("bcb store", 0))
> > > -		return -EIO;
> > > -
> > > -	return 0;
> > > -}
> > > diff --git a/include/fastboot.h b/include/fastboot.h
> > > index 8e9ee80907df..b86b508e69fd 100644
> > > --- a/include/fastboot.h
> > > +++ b/include/fastboot.h
> > > @@ -52,15 +52,6 @@ enum fastboot_reboot_reason {
> > >   	FASTBOOT_REBOOT_REASONS_COUNT
> > >   };
> > > -/**
> > > - * BCB boot commands
> > > - */
> > > -static const char * const fastboot_boot_cmds[] = {
> > > -	[FASTBOOT_REBOOT_REASON_BOOTLOADER] = "bootonce-bootloader",
> > > -	[FASTBOOT_REBOOT_REASON_FASTBOOTD] = "boot-fastboot",
> > > -	[FASTBOOT_REBOOT_REASON_RECOVERY] = "boot-recovery"
> > > -};
> > > -
> > >   /**
> > >    * fastboot_response() - Writes a response of the form "$tag$reason".
> > >    *
> > 
> > If this patch is still needed - please rebase it on newest master
> > (after the incoming PR) as it causes build breaks.
> > 
> > 
> > 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
> > 
> 
> Could you please share some info on how do you build it (used defconfig,
> error messages, used compiler, etc.)? I cannot reproduce those issues on my
> side.
> 
> I've tried to rebase my patches onto the current master and rebase was done
> cleanly, there are no conflicts. I've tried building it with
> rcar3_ulcb_defconfig and build was successful.
> 
> Used defconfig: rcar3_ulcb_defconfig
> Used arch: ARM
> Used compiler: gcc 7.1 for aarch64-linux-gnu
> Used CFLAGS: -fgnu89-inline

You likely want to submit a GitHub PR against
https://github.com/u-boot/u-boot so that you can trigger a world build
via Azure and see what fails to build from that.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20210125/9321bb3d/attachment.sig>


More information about the U-Boot mailing list