[U-Boot] [PATCH 3/6] stdio: dm: Make stdio_devices[] local
Marek Vasut
marex at denx.de
Sun Sep 2 02:02:51 CEST 2012
Dear Andreas Bießmann,
> Dear Marek Vasut,
Heh, this Dear $recipient became really popular :-)
[...]
> return is not required here ..
>
> > }
> >
> > static inline void console_puts(int file, const char *s)
> > {
> >
> > - stdio_devices[file]->puts(s);
> > + struct stdio_dev *dev = stdio_get_fd(file);
> > + if (dev)
> > + return dev->puts(s);
>
> .. and here
Thanks!
> > }
> >
> > static inline void console_printdevs(int file)
> > {
> >
> > - printf("%s\n", stdio_devices[file]->name);
> > + struct stdio_dev *dev = stdio_get_fd(file);
> > + if (dev)
> > + printf("%s\n", dev->name);
> >
> > }
> >
> > static inline void console_doenv(int file, struct stdio_dev *dev)
> >
> > @@ -592,27 +604,28 @@ int console_init_f(void)
> >
> > void stdio_print_current_devices(void)
> > {
> > #ifndef CONFIG_SYS_CONSOLE_INFO_QUIET
> >
> > + struct stdio_dev *sio;
> >
> > /* Print information */
> > puts("In: ");
> >
> > - if (stdio_devices[stdin] == NULL) {
> > + sio = stdio_get_fd(stdin);
> > + if (sio == NULL)
> >
> > puts("No input devices available!\n");
> >
> > - } else {
> > - printf ("%s\n", stdio_devices[stdin]->name);
> > - }
> > + else
> > + printf("%s\n", sio->name);
> >
> > puts("Out: ");
> >
> > - if (stdio_devices[stdout] == NULL) {
> > + sio = stdio_get_fd(stdout);
>
> Isn't sio still set properly here ...
It is, but it still can be NULL. Also notice the argument differs, first it's
stdin, then stdout and lastly stderr
> > + if (sio == NULL)
> >
> > puts("No output devices available!\n");
> >
> > - } else {
> > - printf ("%s\n", stdio_devices[stdout]->name);
> > - }
> > + else
> > + printf("%s\n", sio->name);
> >
> > puts("Err: ");
> >
> > - if (stdio_devices[stderr] == NULL) {
> > + sio = stdio_get_fd(stderr);
>
> .. and here?
>
> > + if (sio == NULL)
>
> Side note: in your newly introduced checks you use just
>
> if (sio) {
> ...
>
> Why check explicitly for NULL here? I personally favor 'if (!sio)'.
Compat reason really ... I didn't wanted to introduce more change than necessary
... incremental patching can be done indeed ;-)
> > puts("No error devices available!\n");
> >
> > - } else {
> > - printf ("%s\n", stdio_devices[stderr]->name);
> > - }
> > + else
> > + printf("%s\n", sio->name);
Thanks for the review :)
> Best regards
>
> Andreas Bießmann
More information about the U-Boot
mailing list