Hello Marek, On Fri, 24 Jun 2022 20:12:31 +0200 Marek Vasut <ma...@denx.de> wrote:
> On 6/22/22 10:59, kory.mainc...@bootlin.com wrote: > > From: Kory Maincent <kory.mainc...@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