[U-Boot] [PATCH 3/6] stdio: dm: Make stdio_devices[] local

Marek Vasut
2012-09-02T00:02:51Z

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