[PATCH] bsps/console: Support device file system

Gedare Bloom gedare at rtems.org
Thu Apr 2 14:47:02 UTC 2020


On Thu, Apr 2, 2020 at 8:45 AM Gedare Bloom <gedare at rtems.org> wrote:
>
> Can we hold this until 6?
>
Trying to avoid anything that might break random BSPs in subtle ways.

> On Thu, Apr 2, 2020 at 4:02 AM Sebastian Huber
> <sebastian.huber at embedded-brains.de> wrote:
> >
> > Update #3926.
> > ---
> >  bsps/include/bsp/fatal.h                      |  2 --
> >  bsps/shared/dev/serial/console-termios-init.c | 28 +++++++++++++++------------
> >  2 files changed, 16 insertions(+), 14 deletions(-)
> >
> > diff --git a/bsps/include/bsp/fatal.h b/bsps/include/bsp/fatal.h
> > index 3f8e1eb591..cd3c42aec0 100644
> > --- a/bsps/include/bsp/fatal.h
> > +++ b/bsps/include/bsp/fatal.h
> > @@ -38,8 +38,6 @@ typedef enum {
> >    BSP_FATAL_CONSOLE_REGISTER_DEV_0,
> >    BSP_FATAL_CONSOLE_REGISTER_DEV_1,
> >    BSP_FATAL_CONSOLE_NO_DEV,
> > -  BSP_FATAL_CONSOLE_INSTALL_0,
> > -  BSP_FATAL_CONSOLE_INSTALL_1,
> >    BSP_FATAL_CONSOLE_REGISTER_DEV_2,
> >
> >    /* ARM fatal codes */
> > diff --git a/bsps/shared/dev/serial/console-termios-init.c b/bsps/shared/dev/serial/console-termios-init.c
> > index a01a75abf2..87806cc39d 100644
> > --- a/bsps/shared/dev/serial/console-termios-init.c
> > +++ b/bsps/shared/dev/serial/console-termios-init.c
> > @@ -32,31 +32,35 @@ rtems_device_driver console_initialize(
> >    void                      *arg
> >  )
> >  {
> > -  bool console_device_done = false;
> > +  bool console_device_done;
> >
> >    rtems_termios_initialize();
> > +  console_device_done = false;
> >
> >    for ( minor = 0; minor < console_device_count; ++minor ) {
> > -    const console_device *ctx = &console_device_table[ minor ];
> > -    rtems_status_code     sc;
> > +    const console_device *ctx;
> > +
> > +    ctx = &console_device_table[ minor ];
> >
> >      if ( ( *ctx->probe )( ctx->context ) ) {
> > -      sc = rtems_termios_device_install(
> > -        ctx->device_file,
> > +      const char *device_file;
> > +
> > +      if ( console_device_done ) {
> > +        device_file = ctx->device_file;
> > +      } else {
> > +        device_file = CONSOLE_DEVICE_NAME;
> > +      }
> > +
> > +      (void) rtems_termios_device_install(
> > +        device_file,
> >          ctx->handler,
> >          ctx->flow,
> >          ctx->context
> >        );
> > -      if ( sc != RTEMS_SUCCESSFUL ) {
> > -        bsp_fatal( BSP_FATAL_CONSOLE_INSTALL_0 );
> > -      }
> >
> >        if ( !console_device_done ) {
> >          console_device_done = true;
> > -
> > -        if ( link( ctx->device_file, CONSOLE_DEVICE_NAME ) != 0 ) {
> > -          bsp_fatal( BSP_FATAL_CONSOLE_INSTALL_1 );
> > -        }
> > +        (void) link( CONSOLE_DEVICE_NAME, ctx->device_file );
> >        }
> >      }
> >    }
> > --
> > 2.16.4
> >
> > _______________________________________________
> > devel mailing list
> > devel at rtems.org
> > http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list