This is an automated email from the ASF dual-hosted git repository. GUIDINGLI pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx-apps.git
commit bac662c2157e1de8626b2c7d04c24adf604814c7 Author: fangpeina <[email protected]> AuthorDate: Thu Aug 27 20:47:52 2026 +0800 system/fastboot: add per-transport Kconfig options for USB and TCP Add SYSTEM_FASTBOOTD_USB (default y) and SYSTEM_FASTBOOTD_TCP (default y) to allow disabling individual transports independently. Replace direct CONFIG_USBFASTBOOT / CONFIG_NET_TCP guards in the transport code with the new fastbootd-level Kconfig symbols. Signed-off-by: fangpeina <[email protected]> --- system/fastboot/Kconfig | 29 ++++++++++++++++++++++++----- system/fastboot/fastboot.c | 12 ++++++------ 2 files changed, 30 insertions(+), 11 deletions(-) diff --git a/system/fastboot/Kconfig b/system/fastboot/Kconfig index 0842bcb0d..093640115 100644 --- a/system/fastboot/Kconfig +++ b/system/fastboot/Kconfig @@ -8,33 +8,51 @@ menuconfig SYSTEM_FASTBOOTD default n depends on USBFASTBOOT || (NET_TCP && NET_TCPBACKLOG) ---help--- - Enable Fastboot daemon. + Fastboot daemon supporting multiple transports concurrently. + Enable at least one transport (USB, TCP). The USB transport depends on USBFASTBOOT. The TCP network transport depends on NET_TCP and NET_TCPBACKLOG. + Each transport can be individually disabled via + SYSTEM_FASTBOOTD_USB / SYSTEM_FASTBOOTD_TCP below. if SYSTEM_FASTBOOTD config SYSTEM_FASTBOOTD_PRIORITY - int "USB-fastboot task priority" + int "fastboot task priority" default 100 config SYSTEM_FASTBOOTD_STACKSIZE - int "USB-fastboot stack size" + int "fastboot stack size" default DEFAULT_TASK_STACKSIZE config SYSTEM_FASTBOOTD_DOWNLOAD_MAX - int "USB-fastboot download buffer size" + int "fastboot download buffer size" default 40960 +config SYSTEM_FASTBOOTD_USB + bool "Fastboot USB transport" + default y + depends on USBFASTBOOT + ---help--- + Enable USB transport for fastboot daemon. + config SYSTEM_FASTBOOTD_USB_BOARDCTL bool "USB Board Control" default n depends on BOARDCTL depends on BOARDCTL_USBDEVCTRL - depends on USBFASTBOOT + depends on SYSTEM_FASTBOOTD_USB ---help--- Connect usbdev before running fastboot daemon. +config SYSTEM_FASTBOOTD_TCP + bool "Fastboot TCP transport" + default y + depends on NET_TCP + depends on NET_TCPBACKLOG + ---help--- + Enable TCP network transport for fastboot daemon. + config SYSTEM_FASTBOOTD_SHELL bool "Execute custom commands" default n @@ -48,6 +66,7 @@ config SYSTEM_FASTBOOTD_SHELL config SYSTEM_FASTBOOTD_NET_INIT bool "Network initialization" default n + depends on SYSTEM_FASTBOOTD_TCP select NETUTILS_NETINIT ---help--- This option enables/disables all network initialization in fastboot server. diff --git a/system/fastboot/fastboot.c b/system/fastboot/fastboot.c index 6af3ba3aa..04bb356a4 100644 --- a/system/fastboot/fastboot.c +++ b/system/fastboot/fastboot.c @@ -233,7 +233,7 @@ static void fastboot_switchboot(FAR struct fastboot_ctx_s *context, /* USB transport */ -#ifdef CONFIG_USBFASTBOOT +#ifdef CONFIG_SYSTEM_FASTBOOTD_USB static int fastboot_usbdev_initialize(FAR struct fastboot_ctx_s *ctx); static void fastboot_usbdev_deinit(FAR struct fastboot_ctx_s *ctx); static ssize_t fastboot_usbdev_read(FAR struct fastboot_ctx_s *ctx, @@ -244,7 +244,7 @@ static int fastboot_usbdev_write(FAR struct fastboot_ctx_s *ctx, /* TCP transport */ -#ifdef CONFIG_NET_TCP +#ifdef CONFIG_SYSTEM_FASTBOOTD_TCP static int fastboot_tcp_initialize(FAR struct fastboot_ctx_s *ctx); static void fastboot_tcp_deinit(FAR struct fastboot_ctx_s *ctx); static ssize_t fastboot_tcp_read(FAR struct fastboot_ctx_s *ctx, @@ -290,7 +290,7 @@ static const struct memory_region_s g_memory_region[] = static const struct fastboot_transport_ops_s g_tran_ops[] = { -#ifdef CONFIG_USBFASTBOOT +#ifdef CONFIG_SYSTEM_FASTBOOTD_USB { .init = fastboot_usbdev_initialize, .deinit = fastboot_usbdev_deinit, @@ -298,7 +298,7 @@ static const struct fastboot_transport_ops_s g_tran_ops[] = .write = fastboot_usbdev_write, }, #endif -#ifdef CONFIG_NET_TCP +#ifdef CONFIG_SYSTEM_FASTBOOTD_TCP { .init = fastboot_tcp_initialize, .deinit = fastboot_tcp_deinit, @@ -1170,7 +1170,7 @@ static void fastboot_free_publish(FAR struct fastboot_ctx_s *ctx, } } -#ifdef CONFIG_USBFASTBOOT +#ifdef CONFIG_SYSTEM_FASTBOOTD_USB static int fastboot_open_usb(int index, int flags) { int try = FASTBOOT_EP_RETRY_TIMES; @@ -1301,7 +1301,7 @@ static int fastboot_usbdev_write(FAR struct fastboot_ctx_s *ctx, } #endif -#ifdef CONFIG_NET_TCP +#ifdef CONFIG_SYSTEM_FASTBOOTD_TCP static int fastboot_tcp_initialize(FAR struct fastboot_ctx_s *ctx) { struct sockaddr_in addr;
