summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/src/termios.c
diff options
context:
space:
mode:
authorAlexander Krutwig <alexander.krutwig@embedded-brains.de>2016-10-17 14:15:34 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-12-16 09:04:58 +0100
commite34fe384cb7ecdd2643e8bf528e08e1c988abc8a (patch)
treec1a1b26ac88b6f8161674b06ed67d736009e5ac4 /cpukit/libcsupport/src/termios.c
parenttermios: Use mutex for task driven mode (diff)
downloadrtems-e34fe384cb7ecdd2643e8bf528e08e1c988abc8a.tar.bz2
termios: Add TERMIOS_IRQ_SERVER_DRIVEN
Add a new interrupt server driven Termios mode (TERMIOS_IRQ_DRIVEN). This mode is identical to the interrupt driven mode except that a mutex is used for device level locking. The intended use case for this mode are device drivers that use the interrupt server, e.g. SPI or I2C connected devices. Update #2839.
Diffstat (limited to 'cpukit/libcsupport/src/termios.c')
-rw-r--r--cpukit/libcsupport/src/termios.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/cpukit/libcsupport/src/termios.c b/cpukit/libcsupport/src/termios.c
index 3bc5bb8e1d..d3757df0d4 100644
--- a/cpukit/libcsupport/src/termios.c
+++ b/cpukit/libcsupport/src/termios.c
@@ -275,7 +275,8 @@ drainOutput (struct rtems_termios_tty *tty)
static bool
needDeviceMutex (rtems_termios_tty *tty)
{
- return tty->handler.mode == TERMIOS_TASK_DRIVEN;
+ return tty->handler.mode == TERMIOS_IRQ_SERVER_DRIVEN
+ || tty->handler.mode == TERMIOS_TASK_DRIVEN;
}
static void