All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] usb: Make what it takes for "usbkbd" to work in "stdin" clear
@ 2025-01-19 18:50 Dragan Simic
  2025-01-27 21:55 ` Marek Vasut
  0 siblings, 1 reply; 8+ messages in thread
From: Dragan Simic @ 2025-01-19 18:50 UTC (permalink / raw)
  To: u-boot; +Cc: marex, Dang Huynh, Piotr Zalewski

Selecting the CONFIG_SYS_CONSOLE_ENV_OVERWRITE option actually prevents the
CONFIG_USB_KEYBOARD option from working as expected, i.e. USB keyboards end
up not working as console inputs when "usbkbd" is properly specified as part
of the value of the "stdin" environment variable.  Describe this clearly in
the two relevant Kconfig files, to prevent any possible confusion.

In more detail, the console_init_r() function ends up overwriting the "stdin"
environment variable so it contains only the devices available at that point
(which doesn't include "usbkbd"), while the "usb start" operation is performed
much later, at which point the probe_usb_keyboard() function cannot assign any
discovered USB keyboards to the console because "usbkbd" is no longer present
in the "stdin" environment variable.

Reported-by: Dang Huynh <danct12@riseup.net>
Co-developed-by: Piotr Zalewski <pZ010001011111@proton.me>
Signed-off-by: Piotr Zalewski <pZ010001011111@proton.me>
Signed-off-by: Dragan Simic <dsimic@manjaro.org>
---
 common/Kconfig      | 7 +++++++
 drivers/usb/Kconfig | 3 ++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/common/Kconfig b/common/Kconfig
index 0e8c44f3f745..267a646e9d4e 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -297,6 +297,13 @@ config SYS_CONSOLE_ENV_OVERWRITE
 	  start-up (after relocation). This causes the environment to be
 	  updated to match the console devices actually chosen.
 
+	  When selected, USB keyboards will not be registered as console
+	  input devices regardless of the proper environment settings, i.e.
+	  despite properly having "usbkbd" as part of the value of the
+	  "stdin" environment variable.
+
+	  If unsure, say N.
+
 config SYS_CONSOLE_INFO_QUIET
 	bool "Don't display the console devices on boot"
 	help
diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index 960b6a906ac4..4d52e382f570 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -106,7 +106,8 @@ config USB_KEYBOARD
 	select SYS_STDIO_DEREGISTER
 	---help---
 	  Say Y here if you want to use a USB keyboard for U-Boot command line
-	  input.
+	  input.  Also say N for SYS_CONSOLE_ENV_OVERWRITE and see the help for
+	  that option for more details.
 
 config USB_ONBOARD_HUB
 	bool "Onboard USB hub support"

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-01-28  1:50 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-19 18:50 [PATCH] usb: Make what it takes for "usbkbd" to work in "stdin" clear Dragan Simic
2025-01-27 21:55 ` Marek Vasut
2025-01-27 22:20   ` Dragan Simic
2025-01-27 22:23     ` Marek Vasut
2025-01-27 22:42       ` Dragan Simic
2025-01-27 23:03         ` Marek Vasut
2025-01-27 23:22           ` Dragan Simic
2025-01-28  1:47             ` Marek Vasut

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.