
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@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@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@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.