fastboot: remove #ifdef CONFIG when it is possible
Much of the fastboot code predates the introduction of Kconfig and has quite a few #ifdefs in it which is unnecessary now that we can use IS_ENABLED() et al. Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Reviewed-by: Sean Anderson <sean.anderson@seco.com> Tested-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> # on vim3l
This commit is contained in:
parent
59dacc3190
commit
d037990046
@ -19,8 +19,14 @@
|
|||||||
static int do_fastboot_udp(int argc, char *const argv[],
|
static int do_fastboot_udp(int argc, char *const argv[],
|
||||||
uintptr_t buf_addr, size_t buf_size)
|
uintptr_t buf_addr, size_t buf_size)
|
||||||
{
|
{
|
||||||
#if CONFIG_IS_ENABLED(UDP_FUNCTION_FASTBOOT)
|
int err;
|
||||||
int err = net_loop(FASTBOOT);
|
|
||||||
|
if (!CONFIG_IS_ENABLED(UDP_FUNCTION_FASTBOOT)) {
|
||||||
|
pr_err("Fastboot UDP not enabled\n");
|
||||||
|
return CMD_RET_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
err = net_loop(FASTBOOT);
|
||||||
|
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
printf("fastboot udp error: %d\n", err);
|
printf("fastboot udp error: %d\n", err);
|
||||||
@ -28,21 +34,21 @@ static int do_fastboot_udp(int argc, char *const argv[],
|
|||||||
}
|
}
|
||||||
|
|
||||||
return CMD_RET_SUCCESS;
|
return CMD_RET_SUCCESS;
|
||||||
#else
|
|
||||||
pr_err("Fastboot UDP not enabled\n");
|
|
||||||
return CMD_RET_FAILURE;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int do_fastboot_usb(int argc, char *const argv[],
|
static int do_fastboot_usb(int argc, char *const argv[],
|
||||||
uintptr_t buf_addr, size_t buf_size)
|
uintptr_t buf_addr, size_t buf_size)
|
||||||
{
|
{
|
||||||
#if CONFIG_IS_ENABLED(USB_FUNCTION_FASTBOOT)
|
|
||||||
int controller_index;
|
int controller_index;
|
||||||
char *usb_controller;
|
char *usb_controller;
|
||||||
char *endp;
|
char *endp;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
if (!CONFIG_IS_ENABLED(USB_FUNCTION_FASTBOOT)) {
|
||||||
|
pr_err("Fastboot USB not enabled\n");
|
||||||
|
return CMD_RET_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
if (argc < 2)
|
if (argc < 2)
|
||||||
return CMD_RET_USAGE;
|
return CMD_RET_USAGE;
|
||||||
|
|
||||||
@ -88,10 +94,6 @@ exit:
|
|||||||
g_dnl_clear_detach();
|
g_dnl_clear_detach();
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
#else
|
|
||||||
pr_err("Fastboot USB not enabled\n");
|
|
||||||
return CMD_RET_FAILURE;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int do_fastboot(struct cmd_tbl *cmdtp, int flag, int argc,
|
static int do_fastboot(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||||
@ -148,17 +150,12 @@ NXTARG:
|
|||||||
return do_fastboot_usb(argc, argv, buf_addr, buf_size);
|
return do_fastboot_usb(argc, argv, buf_addr, buf_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_SYS_LONGHELP
|
U_BOOT_CMD(
|
||||||
static char fastboot_help_text[] =
|
fastboot, CONFIG_SYS_MAXARGS, 1, do_fastboot,
|
||||||
|
"run as a fastboot usb or udp device",
|
||||||
"[-l addr] [-s size] usb <controller> | udp\n"
|
"[-l addr] [-s size] usb <controller> | udp\n"
|
||||||
"\taddr - address of buffer used during data transfers ("
|
"\taddr - address of buffer used during data transfers ("
|
||||||
__stringify(CONFIG_FASTBOOT_BUF_ADDR) ")\n"
|
__stringify(CONFIG_FASTBOOT_BUF_ADDR) ")\n"
|
||||||
"\tsize - size of buffer used during data transfers ("
|
"\tsize - size of buffer used during data transfers ("
|
||||||
__stringify(CONFIG_FASTBOOT_BUF_SIZE) ")"
|
__stringify(CONFIG_FASTBOOT_BUF_SIZE) ")"
|
||||||
;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
U_BOOT_CMD(
|
|
||||||
fastboot, CONFIG_SYS_MAXARGS, 1, do_fastboot,
|
|
||||||
"run as a fastboot usb or udp device", fastboot_help_text
|
|
||||||
);
|
);
|
||||||
|
@ -31,27 +31,16 @@ static u32 fastboot_bytes_expected;
|
|||||||
static void okay(char *, char *);
|
static void okay(char *, char *);
|
||||||
static void getvar(char *, char *);
|
static void getvar(char *, char *);
|
||||||
static void download(char *, char *);
|
static void download(char *, char *);
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_FLASH)
|
|
||||||
static void flash(char *, char *);
|
static void flash(char *, char *);
|
||||||
static void erase(char *, char *);
|
static void erase(char *, char *);
|
||||||
#endif
|
|
||||||
static void reboot_bootloader(char *, char *);
|
static void reboot_bootloader(char *, char *);
|
||||||
static void reboot_fastbootd(char *, char *);
|
static void reboot_fastbootd(char *, char *);
|
||||||
static void reboot_recovery(char *, char *);
|
static void reboot_recovery(char *, char *);
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_FORMAT)
|
|
||||||
static void oem_format(char *, char *);
|
static void oem_format(char *, char *);
|
||||||
#endif
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_PARTCONF)
|
|
||||||
static void oem_partconf(char *, char *);
|
static void oem_partconf(char *, char *);
|
||||||
#endif
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_BOOTBUS)
|
|
||||||
static void oem_bootbus(char *, char *);
|
static void oem_bootbus(char *, char *);
|
||||||
#endif
|
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_UUU_SUPPORT)
|
|
||||||
static void run_ucmd(char *, char *);
|
static void run_ucmd(char *, char *);
|
||||||
static void run_acmd(char *, char *);
|
static void run_acmd(char *, char *);
|
||||||
#endif
|
|
||||||
|
|
||||||
static const struct {
|
static const struct {
|
||||||
const char *command;
|
const char *command;
|
||||||
@ -65,16 +54,14 @@ static const struct {
|
|||||||
.command = "download",
|
.command = "download",
|
||||||
.dispatch = download
|
.dispatch = download
|
||||||
},
|
},
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_FLASH)
|
|
||||||
[FASTBOOT_COMMAND_FLASH] = {
|
[FASTBOOT_COMMAND_FLASH] = {
|
||||||
.command = "flash",
|
.command = "flash",
|
||||||
.dispatch = flash
|
.dispatch = CONFIG_IS_ENABLED(FASTBOOT_FLASH, (flash), (NULL))
|
||||||
},
|
},
|
||||||
[FASTBOOT_COMMAND_ERASE] = {
|
[FASTBOOT_COMMAND_ERASE] = {
|
||||||
.command = "erase",
|
.command = "erase",
|
||||||
.dispatch = erase
|
.dispatch = CONFIG_IS_ENABLED(FASTBOOT_FLASH, (erase), (NULL))
|
||||||
},
|
},
|
||||||
#endif
|
|
||||||
[FASTBOOT_COMMAND_BOOT] = {
|
[FASTBOOT_COMMAND_BOOT] = {
|
||||||
.command = "boot",
|
.command = "boot",
|
||||||
.dispatch = okay
|
.dispatch = okay
|
||||||
@ -103,34 +90,26 @@ static const struct {
|
|||||||
.command = "set_active",
|
.command = "set_active",
|
||||||
.dispatch = okay
|
.dispatch = okay
|
||||||
},
|
},
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_FORMAT)
|
|
||||||
[FASTBOOT_COMMAND_OEM_FORMAT] = {
|
[FASTBOOT_COMMAND_OEM_FORMAT] = {
|
||||||
.command = "oem format",
|
.command = "oem format",
|
||||||
.dispatch = oem_format,
|
.dispatch = CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_FORMAT, (oem_format), (NULL))
|
||||||
},
|
},
|
||||||
#endif
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_PARTCONF)
|
|
||||||
[FASTBOOT_COMMAND_OEM_PARTCONF] = {
|
[FASTBOOT_COMMAND_OEM_PARTCONF] = {
|
||||||
.command = "oem partconf",
|
.command = "oem partconf",
|
||||||
.dispatch = oem_partconf,
|
.dispatch = CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_PARTCONF, (oem_partconf), (NULL))
|
||||||
},
|
},
|
||||||
#endif
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_BOOTBUS)
|
|
||||||
[FASTBOOT_COMMAND_OEM_BOOTBUS] = {
|
[FASTBOOT_COMMAND_OEM_BOOTBUS] = {
|
||||||
.command = "oem bootbus",
|
.command = "oem bootbus",
|
||||||
.dispatch = oem_bootbus,
|
.dispatch = CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_BOOTBUS, (oem_bootbus), (NULL))
|
||||||
},
|
},
|
||||||
#endif
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_UUU_SUPPORT)
|
|
||||||
[FASTBOOT_COMMAND_UCMD] = {
|
[FASTBOOT_COMMAND_UCMD] = {
|
||||||
.command = "UCmd",
|
.command = "UCmd",
|
||||||
.dispatch = run_ucmd,
|
.dispatch = CONFIG_IS_ENABLED(FASTBOOT_UUU_SUPPORT, (run_ucmd), (NULL))
|
||||||
},
|
},
|
||||||
[FASTBOOT_COMMAND_ACMD] = {
|
[FASTBOOT_COMMAND_ACMD] = {
|
||||||
.command = "ACmd",
|
.command = "ACmd",
|
||||||
.dispatch = run_acmd,
|
.dispatch = CONFIG_IS_ENABLED(FASTBOOT_UUU_SUPPORT, (run_acmd), (NULL))
|
||||||
},
|
},
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -156,7 +135,9 @@ int fastboot_handle_command(char *cmd_string, char *response)
|
|||||||
response);
|
response);
|
||||||
return i;
|
return i;
|
||||||
} else {
|
} else {
|
||||||
break;
|
pr_err("command %s not supported.\n", cmd_string);
|
||||||
|
fastboot_fail("Unsupported command", response);
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -299,7 +280,6 @@ void fastboot_data_complete(char *response)
|
|||||||
fastboot_bytes_received = 0;
|
fastboot_bytes_received = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_FLASH)
|
|
||||||
/**
|
/**
|
||||||
* flash() - write the downloaded image to the indicated partition.
|
* flash() - write the downloaded image to the indicated partition.
|
||||||
*
|
*
|
||||||
@ -309,16 +289,15 @@ void fastboot_data_complete(char *response)
|
|||||||
* Writes the previously downloaded image to the partition indicated by
|
* Writes the previously downloaded image to the partition indicated by
|
||||||
* cmd_parameter. Writes to response.
|
* cmd_parameter. Writes to response.
|
||||||
*/
|
*/
|
||||||
static void flash(char *cmd_parameter, char *response)
|
static void __maybe_unused flash(char *cmd_parameter, char *response)
|
||||||
{
|
{
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_FLASH_MMC)
|
if (CONFIG_IS_ENABLED(FASTBOOT_FLASH_MMC))
|
||||||
fastboot_mmc_flash_write(cmd_parameter, fastboot_buf_addr, image_size,
|
fastboot_mmc_flash_write(cmd_parameter, fastboot_buf_addr,
|
||||||
response);
|
image_size, response);
|
||||||
#endif
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_FLASH_NAND)
|
if (CONFIG_IS_ENABLED(FASTBOOT_FLASH_NAND))
|
||||||
fastboot_nand_flash_write(cmd_parameter, fastboot_buf_addr, image_size,
|
fastboot_nand_flash_write(cmd_parameter, fastboot_buf_addr,
|
||||||
response);
|
image_size, response);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -330,25 +309,22 @@ static void flash(char *cmd_parameter, char *response)
|
|||||||
* Erases the partition indicated by cmd_parameter (clear to 0x00s). Writes
|
* Erases the partition indicated by cmd_parameter (clear to 0x00s). Writes
|
||||||
* to response.
|
* to response.
|
||||||
*/
|
*/
|
||||||
static void erase(char *cmd_parameter, char *response)
|
static void __maybe_unused erase(char *cmd_parameter, char *response)
|
||||||
{
|
{
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_FLASH_MMC)
|
if (CONFIG_IS_ENABLED(FASTBOOT_FLASH_MMC))
|
||||||
fastboot_mmc_erase(cmd_parameter, response);
|
fastboot_mmc_erase(cmd_parameter, response);
|
||||||
#endif
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_FLASH_NAND)
|
|
||||||
fastboot_nand_erase(cmd_parameter, response);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_UUU_SUPPORT)
|
if (CONFIG_IS_ENABLED(FASTBOOT_FLASH_NAND))
|
||||||
|
fastboot_nand_erase(cmd_parameter, response);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* run_ucmd() - Execute the UCmd command
|
* run_ucmd() - Execute the UCmd command
|
||||||
*
|
*
|
||||||
* @cmd_parameter: Pointer to command parameter
|
* @cmd_parameter: Pointer to command parameter
|
||||||
* @response: Pointer to fastboot response buffer
|
* @response: Pointer to fastboot response buffer
|
||||||
*/
|
*/
|
||||||
static void run_ucmd(char *cmd_parameter, char *response)
|
static void __maybe_unused run_ucmd(char *cmd_parameter, char *response)
|
||||||
{
|
{
|
||||||
if (!cmd_parameter) {
|
if (!cmd_parameter) {
|
||||||
pr_err("missing slot suffix\n");
|
pr_err("missing slot suffix\n");
|
||||||
@ -375,7 +351,7 @@ void fastboot_acmd_complete(void)
|
|||||||
* @cmd_parameter: Pointer to command parameter
|
* @cmd_parameter: Pointer to command parameter
|
||||||
* @response: Pointer to fastboot response buffer
|
* @response: Pointer to fastboot response buffer
|
||||||
*/
|
*/
|
||||||
static void run_acmd(char *cmd_parameter, char *response)
|
static void __maybe_unused run_acmd(char *cmd_parameter, char *response)
|
||||||
{
|
{
|
||||||
if (!cmd_parameter) {
|
if (!cmd_parameter) {
|
||||||
pr_err("missing slot suffix\n");
|
pr_err("missing slot suffix\n");
|
||||||
@ -392,7 +368,6 @@ static void run_acmd(char *cmd_parameter, char *response)
|
|||||||
strcpy(g_a_cmd_buff, cmd_parameter);
|
strcpy(g_a_cmd_buff, cmd_parameter);
|
||||||
fastboot_okay(NULL, response);
|
fastboot_okay(NULL, response);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* reboot_bootloader() - Sets reboot bootloader flag.
|
* reboot_bootloader() - Sets reboot bootloader flag.
|
||||||
@ -436,40 +411,40 @@ static void reboot_recovery(char *cmd_parameter, char *response)
|
|||||||
fastboot_okay(NULL, response);
|
fastboot_okay(NULL, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_FORMAT)
|
|
||||||
/**
|
/**
|
||||||
* oem_format() - Execute the OEM format command
|
* oem_format() - Execute the OEM format command
|
||||||
*
|
*
|
||||||
* @cmd_parameter: Pointer to command parameter
|
* @cmd_parameter: Pointer to command parameter
|
||||||
* @response: Pointer to fastboot response buffer
|
* @response: Pointer to fastboot response buffer
|
||||||
*/
|
*/
|
||||||
static void oem_format(char *cmd_parameter, char *response)
|
static void __maybe_unused oem_format(char *cmd_parameter, char *response)
|
||||||
{
|
{
|
||||||
char cmdbuf[32];
|
char cmdbuf[32];
|
||||||
|
const int mmc_dev = config_opt_enabled(CONFIG_FASTBOOT_FLASH_MMC,
|
||||||
|
CONFIG_FASTBOOT_FLASH_MMC_DEV, -1);
|
||||||
|
|
||||||
if (!env_get("partitions")) {
|
if (!env_get("partitions")) {
|
||||||
fastboot_fail("partitions not set", response);
|
fastboot_fail("partitions not set", response);
|
||||||
} else {
|
} else {
|
||||||
sprintf(cmdbuf, "gpt write mmc %x $partitions",
|
sprintf(cmdbuf, "gpt write mmc %x $partitions", mmc_dev);
|
||||||
CONFIG_FASTBOOT_FLASH_MMC_DEV);
|
|
||||||
if (run_command(cmdbuf, 0))
|
if (run_command(cmdbuf, 0))
|
||||||
fastboot_fail("", response);
|
fastboot_fail("", response);
|
||||||
else
|
else
|
||||||
fastboot_okay(NULL, response);
|
fastboot_okay(NULL, response);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_PARTCONF)
|
|
||||||
/**
|
/**
|
||||||
* oem_partconf() - Execute the OEM partconf command
|
* oem_partconf() - Execute the OEM partconf command
|
||||||
*
|
*
|
||||||
* @cmd_parameter: Pointer to command parameter
|
* @cmd_parameter: Pointer to command parameter
|
||||||
* @response: Pointer to fastboot response buffer
|
* @response: Pointer to fastboot response buffer
|
||||||
*/
|
*/
|
||||||
static void oem_partconf(char *cmd_parameter, char *response)
|
static void __maybe_unused oem_partconf(char *cmd_parameter, char *response)
|
||||||
{
|
{
|
||||||
char cmdbuf[32];
|
char cmdbuf[32];
|
||||||
|
const int mmc_dev = config_opt_enabled(CONFIG_FASTBOOT_FLASH_MMC,
|
||||||
|
CONFIG_FASTBOOT_FLASH_MMC_DEV, -1);
|
||||||
|
|
||||||
if (!cmd_parameter) {
|
if (!cmd_parameter) {
|
||||||
fastboot_fail("Expected command parameter", response);
|
fastboot_fail("Expected command parameter", response);
|
||||||
@ -477,26 +452,25 @@ static void oem_partconf(char *cmd_parameter, char *response)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* execute 'mmc partconfg' command with cmd_parameter arguments*/
|
/* execute 'mmc partconfg' command with cmd_parameter arguments*/
|
||||||
snprintf(cmdbuf, sizeof(cmdbuf), "mmc partconf %x %s 0",
|
snprintf(cmdbuf, sizeof(cmdbuf), "mmc partconf %x %s 0", mmc_dev, cmd_parameter);
|
||||||
CONFIG_FASTBOOT_FLASH_MMC_DEV, cmd_parameter);
|
|
||||||
printf("Execute: %s\n", cmdbuf);
|
printf("Execute: %s\n", cmdbuf);
|
||||||
if (run_command(cmdbuf, 0))
|
if (run_command(cmdbuf, 0))
|
||||||
fastboot_fail("Cannot set oem partconf", response);
|
fastboot_fail("Cannot set oem partconf", response);
|
||||||
else
|
else
|
||||||
fastboot_okay(NULL, response);
|
fastboot_okay(NULL, response);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_BOOTBUS)
|
|
||||||
/**
|
/**
|
||||||
* oem_bootbus() - Execute the OEM bootbus command
|
* oem_bootbus() - Execute the OEM bootbus command
|
||||||
*
|
*
|
||||||
* @cmd_parameter: Pointer to command parameter
|
* @cmd_parameter: Pointer to command parameter
|
||||||
* @response: Pointer to fastboot response buffer
|
* @response: Pointer to fastboot response buffer
|
||||||
*/
|
*/
|
||||||
static void oem_bootbus(char *cmd_parameter, char *response)
|
static void __maybe_unused oem_bootbus(char *cmd_parameter, char *response)
|
||||||
{
|
{
|
||||||
char cmdbuf[32];
|
char cmdbuf[32];
|
||||||
|
const int mmc_dev = config_opt_enabled(CONFIG_FASTBOOT_FLASH_MMC,
|
||||||
|
CONFIG_FASTBOOT_FLASH_MMC_DEV, -1);
|
||||||
|
|
||||||
if (!cmd_parameter) {
|
if (!cmd_parameter) {
|
||||||
fastboot_fail("Expected command parameter", response);
|
fastboot_fail("Expected command parameter", response);
|
||||||
@ -504,12 +478,10 @@ static void oem_bootbus(char *cmd_parameter, char *response)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* execute 'mmc bootbus' command with cmd_parameter arguments*/
|
/* execute 'mmc bootbus' command with cmd_parameter arguments*/
|
||||||
snprintf(cmdbuf, sizeof(cmdbuf), "mmc bootbus %x %s",
|
snprintf(cmdbuf, sizeof(cmdbuf), "mmc bootbus %x %s", mmc_dev, cmd_parameter);
|
||||||
CONFIG_FASTBOOT_FLASH_MMC_DEV, cmd_parameter);
|
|
||||||
printf("Execute: %s\n", cmdbuf);
|
printf("Execute: %s\n", cmdbuf);
|
||||||
if (run_command(cmdbuf, 0))
|
if (run_command(cmdbuf, 0))
|
||||||
fastboot_fail("Cannot set oem bootbus", response);
|
fastboot_fail("Cannot set oem bootbus", response);
|
||||||
else
|
else
|
||||||
fastboot_okay(NULL, response);
|
fastboot_okay(NULL, response);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
@ -91,20 +91,21 @@ void fastboot_okay(const char *reason, char *response)
|
|||||||
*/
|
*/
|
||||||
int __weak fastboot_set_reboot_flag(enum fastboot_reboot_reason reason)
|
int __weak fastboot_set_reboot_flag(enum fastboot_reboot_reason reason)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
|
|
||||||
static const char * const boot_cmds[] = {
|
static const char * const boot_cmds[] = {
|
||||||
[FASTBOOT_REBOOT_REASON_BOOTLOADER] = "bootonce-bootloader",
|
[FASTBOOT_REBOOT_REASON_BOOTLOADER] = "bootonce-bootloader",
|
||||||
[FASTBOOT_REBOOT_REASON_FASTBOOTD] = "boot-fastboot",
|
[FASTBOOT_REBOOT_REASON_FASTBOOTD] = "boot-fastboot",
|
||||||
[FASTBOOT_REBOOT_REASON_RECOVERY] = "boot-recovery"
|
[FASTBOOT_REBOOT_REASON_RECOVERY] = "boot-recovery"
|
||||||
};
|
};
|
||||||
|
const int mmc_dev = config_opt_enabled(CONFIG_FASTBOOT_FLASH_MMC,
|
||||||
|
CONFIG_FASTBOOT_FLASH_MMC_DEV, -1);
|
||||||
|
|
||||||
|
if (!CONFIG_IS_ENABLED(FASTBOOT_FLASH_MMC))
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
if (reason >= FASTBOOT_REBOOT_REASONS_COUNT)
|
if (reason >= FASTBOOT_REBOOT_REASONS_COUNT)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
return bcb_write_reboot_reason(CONFIG_FASTBOOT_FLASH_MMC_DEV, "misc", boot_cmds[reason]);
|
return bcb_write_reboot_reason(mmc_dev, "misc", boot_cmds[reason]);
|
||||||
#else
|
|
||||||
return -EINVAL;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -21,15 +21,9 @@ static void getvar_version_baseband(char *var_parameter, char *response);
|
|||||||
static void getvar_product(char *var_parameter, char *response);
|
static void getvar_product(char *var_parameter, char *response);
|
||||||
static void getvar_platform(char *var_parameter, char *response);
|
static void getvar_platform(char *var_parameter, char *response);
|
||||||
static void getvar_current_slot(char *var_parameter, char *response);
|
static void getvar_current_slot(char *var_parameter, char *response);
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_FLASH)
|
|
||||||
static void getvar_has_slot(char *var_parameter, char *response);
|
static void getvar_has_slot(char *var_parameter, char *response);
|
||||||
#endif
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_FLASH_MMC)
|
|
||||||
static void getvar_partition_type(char *part_name, char *response);
|
static void getvar_partition_type(char *part_name, char *response);
|
||||||
#endif
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_FLASH)
|
|
||||||
static void getvar_partition_size(char *part_name, char *response);
|
static void getvar_partition_size(char *part_name, char *response);
|
||||||
#endif
|
|
||||||
static void getvar_is_userspace(char *var_parameter, char *response);
|
static void getvar_is_userspace(char *var_parameter, char *response);
|
||||||
|
|
||||||
static const struct {
|
static const struct {
|
||||||
@ -84,7 +78,6 @@ static const struct {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_FLASH)
|
|
||||||
/**
|
/**
|
||||||
* Get partition number and size for any storage type.
|
* Get partition number and size for any storage type.
|
||||||
*
|
*
|
||||||
@ -102,28 +95,26 @@ static int getvar_get_part_info(const char *part_name, char *response,
|
|||||||
size_t *size)
|
size_t *size)
|
||||||
{
|
{
|
||||||
int r;
|
int r;
|
||||||
# if CONFIG_IS_ENABLED(FASTBOOT_FLASH_MMC)
|
|
||||||
struct blk_desc *dev_desc;
|
struct blk_desc *dev_desc;
|
||||||
struct disk_partition part_info;
|
struct disk_partition disk_part;
|
||||||
|
|
||||||
r = fastboot_mmc_get_part_info(part_name, &dev_desc, &part_info,
|
|
||||||
response);
|
|
||||||
if (r >= 0 && size)
|
|
||||||
*size = part_info.size * part_info.blksz;
|
|
||||||
# elif CONFIG_IS_ENABLED(FASTBOOT_FLASH_NAND)
|
|
||||||
struct part_info *part_info;
|
struct part_info *part_info;
|
||||||
|
|
||||||
|
if (CONFIG_IS_ENABLED(FASTBOOT_FLASH_MMC)) {
|
||||||
|
r = fastboot_mmc_get_part_info(part_name, &dev_desc, &disk_part,
|
||||||
|
response);
|
||||||
|
if (r >= 0 && size)
|
||||||
|
*size = disk_part.size * disk_part.blksz;
|
||||||
|
} else if (CONFIG_IS_ENABLED(FASTBOOT_FLASH_NAND)) {
|
||||||
r = fastboot_nand_get_part_info(part_name, &part_info, response);
|
r = fastboot_nand_get_part_info(part_name, &part_info, response);
|
||||||
if (r >= 0 && size)
|
if (r >= 0 && size)
|
||||||
*size = part_info->size;
|
*size = part_info->size;
|
||||||
# else
|
} else {
|
||||||
fastboot_fail("this storage is not supported in bootloader", response);
|
fastboot_fail("this storage is not supported in bootloader", response);
|
||||||
r = -ENODEV;
|
r = -ENODEV;
|
||||||
# endif
|
}
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static void getvar_version(char *var_parameter, char *response)
|
static void getvar_version(char *var_parameter, char *response)
|
||||||
{
|
{
|
||||||
@ -181,8 +172,7 @@ static void getvar_current_slot(char *var_parameter, char *response)
|
|||||||
fastboot_okay("a", response);
|
fastboot_okay("a", response);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_FLASH)
|
static void __maybe_unused getvar_has_slot(char *part_name, char *response)
|
||||||
static void getvar_has_slot(char *part_name, char *response)
|
|
||||||
{
|
{
|
||||||
char part_name_wslot[PART_NAME_LEN];
|
char part_name_wslot[PART_NAME_LEN];
|
||||||
size_t len;
|
size_t len;
|
||||||
@ -213,10 +203,8 @@ static void getvar_has_slot(char *part_name, char *response)
|
|||||||
fail:
|
fail:
|
||||||
fastboot_fail("invalid partition name", response);
|
fastboot_fail("invalid partition name", response);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_FLASH_MMC)
|
static void __maybe_unused getvar_partition_type(char *part_name, char *response)
|
||||||
static void getvar_partition_type(char *part_name, char *response)
|
|
||||||
{
|
{
|
||||||
int r;
|
int r;
|
||||||
struct blk_desc *dev_desc;
|
struct blk_desc *dev_desc;
|
||||||
@ -232,10 +220,8 @@ static void getvar_partition_type(char *part_name, char *response)
|
|||||||
fastboot_okay(fs_get_type_name(), response);
|
fastboot_okay(fs_get_type_name(), response);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_FLASH)
|
static void __maybe_unused getvar_partition_size(char *part_name, char *response)
|
||||||
static void getvar_partition_size(char *part_name, char *response)
|
|
||||||
{
|
{
|
||||||
int r;
|
int r;
|
||||||
size_t size;
|
size_t size;
|
||||||
@ -244,7 +230,6 @@ static void getvar_partition_size(char *part_name, char *response)
|
|||||||
if (r >= 0)
|
if (r >= 0)
|
||||||
fastboot_response("OKAY", response, "0x%016zx", size);
|
fastboot_response("OKAY", response, "0x%016zx", size);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static void getvar_is_userspace(char *var_parameter, char *response)
|
static void getvar_is_userspace(char *var_parameter, char *response)
|
||||||
{
|
{
|
||||||
|
@ -495,7 +495,6 @@ static void do_bootm_on_complete(struct usb_ep *ep, struct usb_request *req)
|
|||||||
do_exit_on_complete(ep, req);
|
do_exit_on_complete(ep, req);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_UUU_SUPPORT)
|
|
||||||
static void do_acmd_complete(struct usb_ep *ep, struct usb_request *req)
|
static void do_acmd_complete(struct usb_ep *ep, struct usb_request *req)
|
||||||
{
|
{
|
||||||
/* When usb dequeue complete will be called
|
/* When usb dequeue complete will be called
|
||||||
@ -505,7 +504,6 @@ static void do_acmd_complete(struct usb_ep *ep, struct usb_request *req)
|
|||||||
if (req->status == 0)
|
if (req->status == 0)
|
||||||
fastboot_acmd_complete();
|
fastboot_acmd_complete();
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static void rx_handler_command(struct usb_ep *ep, struct usb_request *req)
|
static void rx_handler_command(struct usb_ep *ep, struct usb_request *req)
|
||||||
{
|
{
|
||||||
@ -546,11 +544,10 @@ static void rx_handler_command(struct usb_ep *ep, struct usb_request *req)
|
|||||||
fastboot_func->in_req->complete = compl_do_reset;
|
fastboot_func->in_req->complete = compl_do_reset;
|
||||||
g_dnl_trigger_detach();
|
g_dnl_trigger_detach();
|
||||||
break;
|
break;
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_UUU_SUPPORT)
|
|
||||||
case FASTBOOT_COMMAND_ACMD:
|
case FASTBOOT_COMMAND_ACMD:
|
||||||
|
if (CONFIG_IS_ENABLED(FASTBOOT_UUU_SUPPORT))
|
||||||
fastboot_func->in_req->complete = do_acmd_complete;
|
fastboot_func->in_req->complete = do_acmd_complete;
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,10 +24,8 @@
|
|||||||
enum {
|
enum {
|
||||||
FASTBOOT_COMMAND_GETVAR = 0,
|
FASTBOOT_COMMAND_GETVAR = 0,
|
||||||
FASTBOOT_COMMAND_DOWNLOAD,
|
FASTBOOT_COMMAND_DOWNLOAD,
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_FLASH)
|
|
||||||
FASTBOOT_COMMAND_FLASH,
|
FASTBOOT_COMMAND_FLASH,
|
||||||
FASTBOOT_COMMAND_ERASE,
|
FASTBOOT_COMMAND_ERASE,
|
||||||
#endif
|
|
||||||
FASTBOOT_COMMAND_BOOT,
|
FASTBOOT_COMMAND_BOOT,
|
||||||
FASTBOOT_COMMAND_CONTINUE,
|
FASTBOOT_COMMAND_CONTINUE,
|
||||||
FASTBOOT_COMMAND_REBOOT,
|
FASTBOOT_COMMAND_REBOOT,
|
||||||
@ -35,20 +33,11 @@ enum {
|
|||||||
FASTBOOT_COMMAND_REBOOT_FASTBOOTD,
|
FASTBOOT_COMMAND_REBOOT_FASTBOOTD,
|
||||||
FASTBOOT_COMMAND_REBOOT_RECOVERY,
|
FASTBOOT_COMMAND_REBOOT_RECOVERY,
|
||||||
FASTBOOT_COMMAND_SET_ACTIVE,
|
FASTBOOT_COMMAND_SET_ACTIVE,
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_FORMAT)
|
|
||||||
FASTBOOT_COMMAND_OEM_FORMAT,
|
FASTBOOT_COMMAND_OEM_FORMAT,
|
||||||
#endif
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_PARTCONF)
|
|
||||||
FASTBOOT_COMMAND_OEM_PARTCONF,
|
FASTBOOT_COMMAND_OEM_PARTCONF,
|
||||||
#endif
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_CMD_OEM_BOOTBUS)
|
|
||||||
FASTBOOT_COMMAND_OEM_BOOTBUS,
|
FASTBOOT_COMMAND_OEM_BOOTBUS,
|
||||||
#endif
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_UUU_SUPPORT)
|
|
||||||
FASTBOOT_COMMAND_ACMD,
|
FASTBOOT_COMMAND_ACMD,
|
||||||
FASTBOOT_COMMAND_UCMD,
|
FASTBOOT_COMMAND_UCMD,
|
||||||
#endif
|
|
||||||
|
|
||||||
FASTBOOT_COMMAND_COUNT
|
FASTBOOT_COMMAND_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -173,7 +162,5 @@ void fastboot_data_download(const void *fastboot_data,
|
|||||||
*/
|
*/
|
||||||
void fastboot_data_complete(char *response);
|
void fastboot_data_complete(char *response);
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_UUU_SUPPORT)
|
|
||||||
void fastboot_acmd_complete(void);
|
void fastboot_acmd_complete(void);
|
||||||
#endif
|
|
||||||
#endif /* _FASTBOOT_H_ */
|
#endif /* _FASTBOOT_H_ */
|
||||||
|
@ -42,7 +42,6 @@ static int fastboot_our_port;
|
|||||||
|
|
||||||
static void boot_downloaded_image(void);
|
static void boot_downloaded_image(void);
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_FLASH)
|
|
||||||
/**
|
/**
|
||||||
* fastboot_udp_send_info() - Send an INFO packet during long commands.
|
* fastboot_udp_send_info() - Send an INFO packet during long commands.
|
||||||
*
|
*
|
||||||
@ -104,7 +103,6 @@ static void fastboot_timed_send_info(const char *msg)
|
|||||||
fastboot_udp_send_info(msg);
|
fastboot_udp_send_info(msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* fastboot_send() - Sends a packet in response to received fastboot packet
|
* fastboot_send() - Sends a packet in response to received fastboot packet
|
||||||
@ -309,9 +307,9 @@ void fastboot_start_server(void)
|
|||||||
|
|
||||||
fastboot_our_port = CONFIG_UDP_FUNCTION_FASTBOOT_PORT;
|
fastboot_our_port = CONFIG_UDP_FUNCTION_FASTBOOT_PORT;
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(FASTBOOT_FLASH)
|
if (CONFIG_IS_ENABLED(FASTBOOT_FLASH))
|
||||||
fastboot_set_progress_callback(fastboot_timed_send_info);
|
fastboot_set_progress_callback(fastboot_timed_send_info);
|
||||||
#endif
|
|
||||||
net_set_udp_handler(fastboot_handler);
|
net_set_udp_handler(fastboot_handler);
|
||||||
|
|
||||||
/* zero out server ether in case the server ip has changed */
|
/* zero out server ether in case the server ip has changed */
|
||||||
|
Loading…
Reference in New Issue
Block a user