This is an automated email from the ASF dual-hosted git repository.

xiaoxiang781216 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit b8e26b127e4c0b17652aba1770da5cda6e6b6fd1
Author: Justin Hammond <[email protected]>
AuthorDate: Thu Aug 6 13:05:20 2026 +0800

    drivers/usbhost: Let the HID keyboard pick its interrupt pipe.
    
    HIDKBD_NOGETREPORT reads keyboard reports with DRVR_ASYNCH(), and that
    macro is only defined when USBHOST_ASYNCH is set.  The option selected
    neither, so turning it on by itself fails at the call site with no hint
    that a second option was meant to come with it.
    
    Select it.  Every in-tree configuration that sets NOGETREPORT already
    resolves USBHOST_ASYNCH: ci20:jumbo and sama5d3-xplained:bluetooth
    through USBHOST_HUB, and the two linum-stm32h753bi configurations by
    setting it directly.  No existing build changes.
    
    The two that set it directly no longer can, since a selected symbol is
    no longer settable, so savedefconfig drops the line.  Their defconfigs
    are normalized here to keep them canonical.
    
    Assisted-by: Claude:claude-opus-5
    Signed-off-by: Justin Hammond <[email protected]>
---
 boards/arm/stm32h7/linum-stm32h753bi/configs/lvglterm_kbda/defconfig | 1 -
 boards/arm/stm32h7/linum-stm32h753bi/configs/nxdoom/defconfig        | 1 -
 drivers/usbhost/Kconfig                                              | 5 +++++
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git 
a/boards/arm/stm32h7/linum-stm32h753bi/configs/lvglterm_kbda/defconfig 
b/boards/arm/stm32h7/linum-stm32h753bi/configs/lvglterm_kbda/defconfig
index 60c8ff2e28e..a44040d2914 100644
--- a/boards/arm/stm32h7/linum-stm32h753bi/configs/lvglterm_kbda/defconfig
+++ b/boards/arm/stm32h7/linum-stm32h753bi/configs/lvglterm_kbda/defconfig
@@ -91,7 +91,6 @@ CONFIG_UINPUT_KEYBOARD=y
 CONFIG_UINPUT_KEYBOARD_BUFNUMBER=128
 CONFIG_USART1_SERIAL_CONSOLE=y
 CONFIG_USBHOST=y
-CONFIG_USBHOST_ASYNCH=y
 CONFIG_USBHOST_HIDKBD=y
 CONFIG_USEC_PER_TICK=1000
 CONFIG_VIDEO_FB=y
diff --git a/boards/arm/stm32h7/linum-stm32h753bi/configs/nxdoom/defconfig 
b/boards/arm/stm32h7/linum-stm32h753bi/configs/nxdoom/defconfig
index 2a2f4bb544c..aed0d2be352 100644
--- a/boards/arm/stm32h7/linum-stm32h753bi/configs/nxdoom/defconfig
+++ b/boards/arm/stm32h7/linum-stm32h753bi/configs/nxdoom/defconfig
@@ -99,7 +99,6 @@ CONFIG_USART1_RXBUFSIZE=4096
 CONFIG_USART1_SERIAL_CONSOLE=y
 CONFIG_USART1_TXBUFSIZE=1024
 CONFIG_USBHOST=y
-CONFIG_USBHOST_ASYNCH=y
 CONFIG_USBHOST_HIDKBD=y
 CONFIG_USEC_PER_TICK=1000
 CONFIG_VIDEO_FB=y
diff --git a/drivers/usbhost/Kconfig b/drivers/usbhost/Kconfig
index 9614aebf952..00257b22a03 100644
--- a/drivers/usbhost/Kconfig
+++ b/drivers/usbhost/Kconfig
@@ -442,9 +442,14 @@ config HIDKBD_REPORT_MODIFIERS
 config HIDKBD_NOGETREPORT
        bool "Use Interrupt pipe to get keys"
        default n
+       select USBHOST_ASYNCH
        ---help---
                Use the INTERRUPT IN pipe to get keyboard input reports.
 
+               This reads the pipe with DRVR_ASYNCH(), which only exists when
+               USBHOST_ASYNCH is set, so it is selected here rather than left
+               for a configuration to discover as a link failure.
+
 endif
 
 config USBHOST_HIDMOUSE

Reply via email to