
Hello Marek,
On Fri, 24 Jun 2022 20:12:31 +0200 Marek Vasut marex@denx.de wrote:
On 6/22/22 10:59, kory.maincent@bootlin.com wrote:
From: Kory Maincent kory.maincent@bootlin.com
For now the driver does not probe if usbkbd was not present in stdin. This presents two issues, we can not probe the driver before setting stdin
Environment should be up and running before USB, so this is likely not a problem.
Having a driver probing only in this specific state is weird? It should probe whatever the state of stdin.
and we can not use this driver in other manner than stdin console.
This patch fixes this by adding an else statement. It simply probes the driver without console management in the case "usbkbd" is not in stdin.
Can you document the usecase in a bit more detail ?
My usecase is to get a key press from the USB keyboard and do some thing about it in board_init. I do not want to multiplex the keyboard input to stdin but I still want to read character from it.
What exactly is the problem you are solving here ?
stdinname = env_get("stdin"); #if CONFIG_IS_ENABLED(CONSOLE_MUX)
- error = iomux_doenv(stdin, stdinname);
- if (error)
return error;
- if (strstr(stdinname, DEVNAME) != NULL) {
error = iomux_doenv(stdin, stdinname);
if (error)
return error;
- } #else /* Check if this is the standard input device. */
- if (strcmp(stdinname, DEVNAME))
return 1;
- /* Reassign the console */
- if (overwrite_console())
return 1;
- if (!strcmp(stdinname, DEVNAME)) {
Maybe use strcmp() == NULL to be consistent with the != NULL check above ?
Yes, you are right.
Regards, Köry