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:
Kinsey Moore
2024-01-02 14:36:52 -06:00
committed by Joel Sherrill
parent 4092fbb2c0
commit 150dcf5e47
22 changed files with 39 additions and 34 deletions

View File

@@ -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

View File

@@ -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 );

View File

@@ -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) {

View File

@@ -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 */
};
/*

View File

@@ -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) {

View File

@@ -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 */
};

View File

@@ -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 )

View File

@@ -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

View File

@@ -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

View File

@@ -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,

View File

@@ -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,

View File

@@ -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) */

View File

@@ -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 */

View File

@@ -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)

View File

@@ -113,7 +113,7 @@ rtems_device_driver console_open(
NULL, /* setAttributes */
NULL, /* stopRemoteTx */
NULL, /* startRemoteTx */
0 /* outputUsesInterrupts */
TERMIOS_POLLED /* outputUsesInterrupts */
};
assert( minor == 0 );

View File

@@ -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,

View File

@@ -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

View File

@@ -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

View File

@@ -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 )

View File

@@ -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 ) {

View File

@@ -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 ) {

View File

@@ -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
};