forked from Imagelibrary/rtems
libio: Clean up usage of rtems_termios_device_mode
This cleans up outputUsesInterrupts usage with rtems_termios_device_mode enum values. The outputUsesInterrupts member was typed as an int, named as if it were a boolean value, and used as if it were a rtems_termios_device_mode enum. In this patch, values assigned to outputUsesInterrupts have been converted to the corresponding rtems_termios_device_mode enum value, conversions from deviceOutputUsesInterrupts have been made explicit, and uses of rtems_termios_device_mode enum values with deviceOutputUsesInterrupts have been converted to booleans.
This commit is contained in:
committed by
Joel Sherrill
parent
4092fbb2c0
commit
150dcf5e47
@@ -61,7 +61,7 @@ rtems_termios_callbacks imx_uart_cbacks = {
|
||||
.setAttributes = imx_uart_set_attrs,
|
||||
.stopRemoteTx = NULL,
|
||||
.startRemoteTx = NULL,
|
||||
.outputUsesInterrupts = 1,
|
||||
.outputUsesInterrupts = TERMIOS_IRQ_DRIVEN,
|
||||
};
|
||||
#else
|
||||
rtems_termios_callbacks imx_uart_cbacks = {
|
||||
@@ -72,7 +72,7 @@ rtems_termios_callbacks imx_uart_cbacks = {
|
||||
.setAttributes = imx_uart_set_attrs,
|
||||
.stopRemoteTx = NULL,
|
||||
.startRemoteTx = NULL,
|
||||
.outputUsesInterrupts = 0,
|
||||
.outputUsesInterrupts = TERMIOS_POLLED,
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
@@ -481,7 +481,7 @@ rtems_device_driver paux_open(
|
||||
NULL, /* setAttributes */
|
||||
NULL, /* stopRemoteTx */
|
||||
NULL, /* startRemoteTx */
|
||||
0 /* outputUsesInterrupts */
|
||||
TERMIOS_POLLED /* outputUsesInterrupts */
|
||||
};
|
||||
|
||||
status = rtems_termios_open (major, minor, arg, &cb );
|
||||
|
||||
@@ -600,7 +600,7 @@ rtems_device_driver console_open(
|
||||
SetAttributes, /* setAttributes */
|
||||
NULL, /* stopRemoteTx */
|
||||
NULL, /* startRemoteTx */
|
||||
1 /* outputUsesInterrupts */
|
||||
TERMIOS_IRQ_DRIVEN /* outputUsesInterrupts */
|
||||
};
|
||||
|
||||
static const rtems_termios_callbacks pollCallbacks = {
|
||||
@@ -611,7 +611,7 @@ rtems_device_driver console_open(
|
||||
SetAttributes, /* setAttributes */
|
||||
NULL, /* stopRemoteTx */
|
||||
NULL, /* startRemoteTx */
|
||||
0 /* outputUsesInterrupts */
|
||||
TERMIOS_POLLED /* outputUsesInterrupts */
|
||||
};
|
||||
|
||||
if (minor==UART_CHANNEL_A) {
|
||||
|
||||
@@ -308,7 +308,7 @@ rtems_device_driver console_open(
|
||||
smc1SetAttributes, /* setAttributes */
|
||||
NULL, /* stopRemoteTx */
|
||||
NULL, /* startRemoteTx */
|
||||
1 /* outputUsesInterrupts */
|
||||
TERMIOS_IRQ_DRIVEN /* outputUsesInterrupts */
|
||||
};
|
||||
static const rtems_termios_callbacks pollCallbacks = {
|
||||
smc1Initialize, /* firstOpen */
|
||||
@@ -318,7 +318,7 @@ rtems_device_driver console_open(
|
||||
smc1SetAttributes, /* setAttributes */
|
||||
NULL, /* stopRemoteTx */
|
||||
NULL, /* startRemoteTx */
|
||||
0 /* outputUsesInterrupts */
|
||||
TERMIOS_POLLED /* outputUsesInterrupts */
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@@ -278,7 +278,7 @@ console_open(rtems_device_major_number major,
|
||||
console_set_attributes, /* setAttributes */
|
||||
console_stop_remote_tx, /* stopRemoteTx */
|
||||
console_start_remote_tx, /* startRemoteTx */
|
||||
1 /* outputUsesInterrupts */
|
||||
TERMIOS_IRQ_DRIVEN /* outputUsesInterrupts */
|
||||
};
|
||||
static const rtems_termios_callbacks poll_callbacks = {
|
||||
console_first_open, /* firstOpen */
|
||||
@@ -288,7 +288,7 @@ console_open(rtems_device_major_number major,
|
||||
console_set_attributes, /* setAttributes */
|
||||
console_stop_remote_tx, /* stopRemoteTx */
|
||||
console_start_remote_tx, /* startRemoteTx */
|
||||
0 /* outputUsesInterrupts */
|
||||
TERMIOS_POLLED /* outputUsesInterrupts */
|
||||
};
|
||||
|
||||
switch (console_mode) {
|
||||
|
||||
@@ -268,7 +268,7 @@ static const rtems_termios_callbacks SciInterruptCallbacks =
|
||||
SciSetAttributes, /* set attributes */
|
||||
NULL, /* stop remote xmit */
|
||||
NULL, /* start remote xmit */
|
||||
TRUE /* output uses interrupts */
|
||||
TERMIOS_IRQ_DRIVEN /* output uses interrupts */
|
||||
};
|
||||
|
||||
/*****************************************************************************
|
||||
@@ -284,7 +284,7 @@ static const rtems_termios_callbacks SciPolledCallbacks =
|
||||
SciSetAttributes, /* set attributes */
|
||||
NULL, /* stop remote xmit */
|
||||
NULL, /* start remote xmit */
|
||||
FALSE /* output uses interrupts */
|
||||
TERMIOS_POLLED /* output uses interrupts */
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -1515,7 +1515,7 @@ rtems_device_driver console_open(
|
||||
NULL, /* setAttributes */
|
||||
NULL, /* stopRemoteTx */
|
||||
NULL, /* startRemoteTx */
|
||||
0 /* outputUsesInterrupts */
|
||||
TERMIOS_POLLED /* outputUsesInterrupts */
|
||||
};
|
||||
|
||||
static const rtems_termios_callbacks intrCallbacks = {
|
||||
@@ -1526,7 +1526,7 @@ rtems_device_driver console_open(
|
||||
cd2401_setAttributes, /* setAttributes */
|
||||
cd2401_stopRemoteTx, /* stopRemoteTx */
|
||||
cd2401_startRemoteTx, /* startRemoteTx */
|
||||
1 /* outputUsesInterrupts */
|
||||
TERMIOS_IRQ_DRIVEN /* outputUsesInterrupts */
|
||||
};
|
||||
|
||||
if ( NVRAM_CONFIGURE )
|
||||
|
||||
@@ -681,7 +681,7 @@ rtems_device_driver console_open(
|
||||
mpc5200_uart_setAttributes, /* setAttributes */
|
||||
NULL,
|
||||
NULL,
|
||||
1 /* outputUsesInterrupts */
|
||||
TERMIOS_IRQ_DRIVEN /* outputUsesInterrupts */
|
||||
};
|
||||
#else
|
||||
static const rtems_termios_callbacks pollCallbacks = {
|
||||
@@ -692,7 +692,7 @@ rtems_device_driver console_open(
|
||||
mpc5200_uart_setAttributes, /* setAttributes */
|
||||
NULL,
|
||||
NULL,
|
||||
0 /* output don't use Interrupts */
|
||||
TERMIOS_POLLED /* output don't use Interrupts */
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
@@ -322,7 +322,7 @@ rtems_device_driver console_open(
|
||||
m8xx_uart_setAttributes, /* setAttributes */
|
||||
NULL, /* stopRemoteTx */
|
||||
NULL, /* startRemoteTx */
|
||||
1 /* outputUsesInterrupts */
|
||||
TERMIOS_IRQ_DRIVEN /* outputUsesInterrupts */
|
||||
};
|
||||
#else
|
||||
#if (UARTS_USE_TERMIOS == 1) && (UARTS_IO_MODE != 1)
|
||||
@@ -334,7 +334,7 @@ rtems_device_driver console_open(
|
||||
m8xx_uart_setAttributes, /* setAttributes */
|
||||
NULL, /* stopRemoteTx */
|
||||
NULL, /* startRemoteTx */
|
||||
0 /* outputUsesInterrupts */
|
||||
TERMIOS_POLLED /* outputUsesInterrupts */
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ static rtems_termios_callbacks gMemCallbacks = {
|
||||
0, /* SetAttr */
|
||||
0, /* stopRemoteTx */
|
||||
0, /* startRemoteTx */
|
||||
0 /* outputUsesInterrupts */
|
||||
TERMIOS_POLLED /* outputUsesInterrupts */
|
||||
};
|
||||
|
||||
rtems_device_driver console_initialize(rtems_device_major_number major,
|
||||
|
||||
@@ -28,7 +28,7 @@ static rtems_termios_callbacks gMemCallbacks = {
|
||||
0, /* SetAttr */
|
||||
0, /* stopRemoteTx */
|
||||
0, /* startRemoteTx */
|
||||
0 /* outputUsesInterrupts */
|
||||
TERMIOS_POLLED /* outputUsesInterrupts */
|
||||
};
|
||||
|
||||
rtems_device_driver console_initialize(rtems_device_major_number major,
|
||||
|
||||
@@ -54,7 +54,7 @@ const console_fns sh_sci_fns =
|
||||
sh_sci_initialize_interrupts, /* deviceInitialize */
|
||||
sh_sci_write_polled, /* deviceWritePolled */
|
||||
sh_sci_set_attributes, /* deviceSetAttributes */
|
||||
TERMIOS_IRQ_DRIVEN /* deviceOutputUsesInterrupts */
|
||||
true /* deviceOutputUsesInterrupts */
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -70,7 +70,7 @@ const console_fns sh_sci_fns_polled =
|
||||
sh_sci_init, /* deviceInitialize */
|
||||
sh_sci_write_polled, /* deviceWritePolled */
|
||||
sh_sci_set_attributes, /* deviceSetAttributes */
|
||||
TERMIOS_POLLED /* deviceOutputUsesInterrupts */
|
||||
false /* deviceOutputUsesInterrupts */
|
||||
};
|
||||
|
||||
#if 1 /* (CONSOLE_USE_INTERRUPTS) */
|
||||
|
||||
@@ -539,7 +539,7 @@ const rtems_termios_callbacks sci_poll_callbacks = {
|
||||
_sh_sci_set_attributes, /* setAttributes */
|
||||
NULL, /* stopRemoteTX */
|
||||
NULL, /* StartRemoteTX */
|
||||
0 /* outputUsesInterrupts */
|
||||
TERMIOS_POLLED /* outputUsesInterrupts */
|
||||
};
|
||||
|
||||
/* FIXME: not yet supported */
|
||||
|
||||
@@ -284,7 +284,7 @@ console_open(rtems_device_major_number major,
|
||||
console_set_attributes, /* setAttributes */
|
||||
console_stop_remote_tx, /* stopRemoteTx */
|
||||
console_start_remote_tx, /* startRemoteTx */
|
||||
1 /* outputUsesInterrupts */
|
||||
TERMIOS_IRQ_DRIVEN /* outputUsesInterrupts */
|
||||
};
|
||||
static const rtems_termios_callbacks poll_callbacks = {
|
||||
console_first_open, /* firstOpen */
|
||||
@@ -294,7 +294,7 @@ console_open(rtems_device_major_number major,
|
||||
console_set_attributes, /* setAttributes */
|
||||
console_stop_remote_tx, /* stopRemoteTx */
|
||||
console_start_remote_tx, /* startRemoteTx */
|
||||
0 /* outputUsesInterrupts */
|
||||
TERMIOS_POLLED /* outputUsesInterrupts */
|
||||
};
|
||||
|
||||
switch (console_mode)
|
||||
|
||||
@@ -113,7 +113,7 @@ rtems_device_driver console_open(
|
||||
NULL, /* setAttributes */
|
||||
NULL, /* stopRemoteTx */
|
||||
NULL, /* startRemoteTx */
|
||||
0 /* outputUsesInterrupts */
|
||||
TERMIOS_POLLED /* outputUsesInterrupts */
|
||||
};
|
||||
|
||||
assert( minor == 0 );
|
||||
|
||||
@@ -234,7 +234,11 @@ rtems_device_driver console_open(
|
||||
Callbacks.stopRemoteTx = NULL;
|
||||
Callbacks.startRemoteTx = NULL;
|
||||
}
|
||||
Callbacks.outputUsesInterrupts = cptr->pDeviceFns->deviceOutputUsesInterrupts;
|
||||
if (cptr->pDeviceFns->deviceOutputUsesInterrupts) {
|
||||
Callbacks.outputUsesInterrupts = TERMIOS_IRQ_DRIVEN;
|
||||
} else {
|
||||
Callbacks.outputUsesInterrupts = TERMIOS_POLLED;
|
||||
}
|
||||
|
||||
/* XXX what about
|
||||
* Console_Port_Tbl[minor].ulMargin,
|
||||
|
||||
@@ -66,7 +66,7 @@ static void erc32_console_initialize(int minor);
|
||||
erc32_console_initialize, /* deviceInitialize */
|
||||
NULL, /* deviceWritePolled */
|
||||
NULL, /* deviceSetAttributes */
|
||||
TERMIOS_IRQ_DRIVEN /* deviceOutputUsesInterrupts */
|
||||
true /* deviceOutputUsesInterrupts */
|
||||
};
|
||||
#else
|
||||
const console_fns erc32_fns = {
|
||||
@@ -78,7 +78,7 @@ static void erc32_console_initialize(int minor);
|
||||
erc32_console_initialize, /* deviceInitialize */
|
||||
NULL, /* deviceWritePolled */
|
||||
NULL, /* deviceSetAttributes */
|
||||
TERMIOS_POLLED /* deviceOutputUsesInterrupts */
|
||||
false /* deviceOutputUsesInterrupts */
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
@@ -327,7 +327,7 @@ rtems_device_driver console_open(
|
||||
NULL, /* setAttributes */
|
||||
NULL, /* stopRemoteTx */
|
||||
NULL, /* startRemoteTx */
|
||||
0 /* outputUsesInterrupts */
|
||||
TERMIOS_POLLED /* outputUsesInterrupts */
|
||||
};
|
||||
#else
|
||||
static const rtems_termios_callbacks pollCallbacks = {
|
||||
@@ -338,7 +338,7 @@ rtems_device_driver console_open(
|
||||
NULL, /* setAttributes */
|
||||
NULL, /* stopRemoteTx */
|
||||
NULL, /* startRemoteTx */
|
||||
0 /* outputUsesInterrupts */
|
||||
TERMIOS_POLLED /* outputUsesInterrupts */
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
#include <rtems/fs.h>
|
||||
#include <rtems/chain.h>
|
||||
#include <rtems/score/atomic.h>
|
||||
#include <rtems/termiosdevice.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -1902,7 +1903,7 @@ typedef struct rtems_termios_callbacks {
|
||||
int (*setAttributes)(int minor, const struct termios *t);
|
||||
int (*stopRemoteTx)(int minor);
|
||||
int (*startRemoteTx)(int minor);
|
||||
int outputUsesInterrupts;
|
||||
rtems_termios_device_mode outputUsesInterrupts;
|
||||
} rtems_termios_callbacks;
|
||||
|
||||
static inline void rtems_termios_initialize( void )
|
||||
|
||||
@@ -192,7 +192,7 @@ rtems_device_driver termios_test_driver_open(
|
||||
termios_test_driver_set_attributes, /* setAttributes */
|
||||
NULL, /* stopRemoteTx */
|
||||
NULL, /* startRemoteTx */
|
||||
0 /* outputUsesInterrupts */
|
||||
TERMIOS_POLLED /* outputUsesInterrupts */
|
||||
};
|
||||
|
||||
if ( minor > 2 ) {
|
||||
|
||||
@@ -159,7 +159,7 @@ rtems_device_driver termios_test_driver_open(
|
||||
termios_test_driver_set_attributes, /* setAttributes */
|
||||
NULL, /* stopRemoteTx */
|
||||
NULL, /* startRemoteTx */
|
||||
0 /* outputUsesInterrupts */
|
||||
TERMIOS_POLLED /* outputUsesInterrupts */
|
||||
};
|
||||
|
||||
if ( minor > 2 ) {
|
||||
|
||||
@@ -271,7 +271,7 @@ rtems_device_driver termios_test_driver_open(
|
||||
#if defined(TASK_DRIVEN)
|
||||
TERMIOS_TASK_DRIVEN /* outputUsesInterrupts */
|
||||
#else
|
||||
0 /* outputUsesInterrupts */
|
||||
TERMIOS_POLLED /* outputUsesInterrupts */
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user