drivers/serial: Always support c_oflag, c_iflag and c_lflag in termios

CONFIG_SERIAL_TERMIOS only decide whether to support c_cflag field since
many terminal application need the first three fields to work correctly.
For more information please reference:
https://www.mail-archive.com/dev@nuttx.apache.org/msg09321.html

before this change(olimexino-stm32:tiny):
   text    data     bss     dec     hex filename
  34884     328    1768   36980    9074 nuttx
after this change:
   text    data     bss     dec     hex filename
  35052     340    1768   37160    9128 nuttx
delta
   text    data     bss     dec     hex filename
    168      12       0     180      b4 nuttx

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit is contained in:
Xiang Xiao 2023-03-20 00:09:45 +08:00 • committed by patacongo
parent cf56e4113a
commit b63994b7f7
11 changed files with 18 additions and 73 deletions

View file

@ -284,13 +284,11 @@ struct uart_dev_s
pid_t pid; /* Thread PID to receive signals (-1 if none) */
#endif
#ifdef CONFIG_SERIAL_TERMIOS
/* Terminal control flags */
tcflag_t tc_iflag; /* Input modes */
tcflag_t tc_oflag; /* Output modes */
tcflag_t tc_lflag; /* Local modes */
#endif
/* Semaphores & mutex */

View file

@ -31,7 +31,7 @@
#include <termios.h>
#include <sys/ioctl.h>
#if defined(CONFIG_SERIAL_TERMIOS) && defined(CONFIG_PSEUDOTERM)
#ifdef CONFIG_PSEUDOTERM
/****************************************************************************
* Public Function Prototypes
@ -59,5 +59,5 @@ int openpty(FAR int *master, FAR int *slave, FAR char *name,
}
#endif
#endif /* CONFIG_SERIAL_TERMIOS && CONFIG_PSEUDOTERM */
#endif /* CONFIG_PSEUDOTERM */
#endif /* __INCLUDE_PTY_H */