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.kovalivs...@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.kovalivs...@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: lu...@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
Best regards,
Roman Kovalivskyi