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;

Reply via email to