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

Reply via email to