X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-redboot.git;a=blobdiff_plain;f=packages%2Fio%2Fserial%2Fv2_0%2Fsrc%2Fcommon%2Ftermiostty.c;h=fdbfb01c207c0398223e997fecc5e6f2b3969ccb;hp=a0197cde0495c0406717b5dbbff8f13d760f2f91;hb=7a4ea0a4d67744fd3f6b5f207d857005fc707b46;hpb=29ac1edaf5f12d706179ec87816ee1506ba4c9a1 diff --git a/packages/io/serial/v2_0/src/common/termiostty.c b/packages/io/serial/v2_0/src/common/termiostty.c index a0197cde..fdbfb01c 100644 --- a/packages/io/serial/v2_0/src/common/termiostty.c +++ b/packages/io/serial/v2_0/src/common/termiostty.c @@ -158,6 +158,17 @@ DEVTAB_ENTRY(termios_io2, &termios_private_info2); #endif +#ifdef CYGPKG_IO_SERIAL_TERMIOS_TERMIOS3 +static struct termios_private_info termios_private_info3; +DEVTAB_ENTRY(termios_io3, + "/dev/termios3", + CYGDAT_IO_SERIAL_TERMIOS_TERMIOS3_DEV, + &termios_devio, + termios_init, + termios_lookup, + &termios_private_info3); +#endif + static const cc_t c_cc_init[ NCCS ] = { 0x04, /* EOF == ^D */ 0, /* EOL */ @@ -179,7 +190,7 @@ static const cc_t c_cc_init[ NCCS ] = { // map eCos bitrates to POSIX bitrates. static speed_t ecosbaud2posixbaud[] = { - 0, B50, B75, B110, B134, B150, B200, B300, B600, B1200, B2400, B3600, + 0, B50, B75, B110, B134, B150, B200, B300, B600, B1200, B1800, B2400, B3600, B4800, B7200, B9600, B14400, B19200, B38400, B57600, B115200, B230400 }; // map POSIX bitrates to eCos bitrates. @@ -569,6 +580,7 @@ termios_lookup(struct cyg_devtab_entry **tab, if ( !priv->init ) { cyg_drv_mutex_lock( &priv->lock ); if ( !priv->init ) { // retest as we may have been pre-empted + priv->init = true; priv->dev_handle = chan; err = real_termios_init( priv ); }