[PATCH 4/4] console: add console_tstc_check helper function for CONSOLE_MUX

Simon Glass sjg at chromium.org
Sat Dec 12 16:39:13 CET 2020


Hi Patrick,

On Thu, 3 Dec 2020 at 02:20, Patrick Delaunay <patrick.delaunay at st.com> wrote:
>
> Add the helper function console_tstc_check() and replace the test
> #if CONFIG_IS_ENABLED(CONSOLE_MUX) to a simple if to respect the
> U-Boot coding rule.
>
> No functional change.
>
> Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com>
> ---
>
>  common/console.c | 36 ++++++++++++++++++++++++------------
>  1 file changed, 24 insertions(+), 12 deletions(-)
>
> diff --git a/common/console.c b/common/console.c
> index 0b864444bb..c570cd88cf 100644
> --- a/common/console.c
> +++ b/common/console.c
> @@ -248,6 +248,12 @@ static int console_getc(int file)
>         return ret;
>  }
>
> +/*  Upper layer may have already called tstc(): check the saved result */
> +static bool console_tstc_check(void)

This is checking if we actually have a device, right? I think
has_tstcdev() would be better.

Also could you add a comment in the testcdev variable declaration as
to what this variable actually is for?

> +{
> +       return !!tstcdev;
> +}
> +
>  static int console_tstc(int file)
>  {
>         int i, ret;
> @@ -340,6 +346,11 @@ static inline int console_getc(int file)
>         return stdio_devices[file]->getc(stdio_devices[file]);
>  }
>
> +static bool console_tstc_check(void)
> +{
> +       return false;
> +}
> +
>  static inline int console_tstc(int file)
>  {
>         return stdio_devices[file]->tstc(stdio_devices[file]);
> @@ -397,18 +408,19 @@ int fgetc(int file)
>                  */
>                 for (;;) {
>                         WATCHDOG_RESET();
> -#if CONFIG_IS_ENABLED(CONSOLE_MUX)
> -                       /*
> -                        * Upper layer may have already called tstc() so
> -                        * check for that first.
> -                        */
> -                       if (tstcdev != NULL)
> -                               return console_getc(file);
> -                       console_tstc(file);
> -#else
> -                       if (console_tstc(file))
> -                               return console_getc(file);
> -#endif
> +                       if (CONFIG_IS_ENABLED(CONSOLE_MUX)) {
> +                               /*
> +                                * Upper layer may have already called tstc() so
> +                                * check for that first.
> +                                */
> +                               if (console_tstc_check())
> +                                       return console_getc(file);
> +                               console_tstc(file);
> +                       } else {
> +                               if (console_tstc(file))
> +                                       return console_getc(file);
> +                       }
> +
>                         /*
>                          * If the watchdog must be rate-limited then it should
>                          * already be handled in board-specific code.
> --
> 2.17.1
>

Regards,
Simon


More information about the U-Boot mailing list