summaryrefslogtreecommitdiffstats
path: root/c/src
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-07-15 21:40:42 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-07-15 21:40:42 +0000
commitc0573d7e5d486a126c6a51e6cd49d9f24bbe2083 (patch)
tree719039d5dbcb629ea995a112c486ae49aa364378 /c/src
parentAdded comments. (diff)
downloadrtems-c0573d7e5d486a126c6a51e6cd49d9f24bbe2083.tar.bz2
Added comment to remove use of TxBuffer ring buffer in all libchip drivers.
The scheme used in the mc68681 is the one to follow.
Diffstat (limited to 'c/src')
-rw-r--r--c/src/lib/libchip/serial/serial.h15
-rw-r--r--c/src/libchip/serial/serial.h15
2 files changed, 28 insertions, 2 deletions
diff --git a/c/src/lib/libchip/serial/serial.h b/c/src/lib/libchip/serial/serial.h
index 47004aad17..34f643e52c 100644
--- a/c/src/lib/libchip/serial/serial.h
+++ b/c/src/lib/libchip/serial/serial.h
@@ -52,11 +52,23 @@ typedef struct _console_flow {
int (*deviceStartRemoteTx)(int minor);
} console_flow;
+typedef enum {
+ SERIAL_MC68681, /* Motorola MC68681 or Exar 88681 */
+ SERIAL_NS16550, /* National Semiconductor NS16550 */
+ SERIAL_Z85C30, /* Zilog Z85C30 */
+ SERIAL_CUSTOM /* BSP specific driver */
+
+} console_devs;
+
/*
* Each field is interpreted thus:
*
* sDeviceName This is the name of the device.
*
+ * deviceType This indicates the chip type. It is especially important when
+ * multiple devices share the same interrupt vector and must be
+ * distinguished.
+ *
* pDeviceFns This is a pointer to the set of driver routines to use.
*
* pDeviceFlow This is a pointer to the set of flow control routines to
@@ -112,6 +124,7 @@ typedef struct _console_flow {
typedef struct _console_tbl {
char *sDeviceName;
+ console_devs deviceType;
console_fns *pDeviceFns;
boolean (*deviceProbe)(int minor);
console_flow *pDeviceFlow;
@@ -132,7 +145,7 @@ typedef struct _console_tbl {
typedef struct _console_data {
void *termios_data;
volatile boolean bActive;
- volatile Ring_buffer_t TxBuffer;
+ volatile Ring_buffer_t TxBuffer; /* XXX remove from other drivers */
/*
* This field may be used for any purpose required by the driver
*/
diff --git a/c/src/libchip/serial/serial.h b/c/src/libchip/serial/serial.h
index 47004aad17..34f643e52c 100644
--- a/c/src/libchip/serial/serial.h
+++ b/c/src/libchip/serial/serial.h
@@ -52,11 +52,23 @@ typedef struct _console_flow {
int (*deviceStartRemoteTx)(int minor);
} console_flow;
+typedef enum {
+ SERIAL_MC68681, /* Motorola MC68681 or Exar 88681 */
+ SERIAL_NS16550, /* National Semiconductor NS16550 */
+ SERIAL_Z85C30, /* Zilog Z85C30 */
+ SERIAL_CUSTOM /* BSP specific driver */
+
+} console_devs;
+
/*
* Each field is interpreted thus:
*
* sDeviceName This is the name of the device.
*
+ * deviceType This indicates the chip type. It is especially important when
+ * multiple devices share the same interrupt vector and must be
+ * distinguished.
+ *
* pDeviceFns This is a pointer to the set of driver routines to use.
*
* pDeviceFlow This is a pointer to the set of flow control routines to
@@ -112,6 +124,7 @@ typedef struct _console_flow {
typedef struct _console_tbl {
char *sDeviceName;
+ console_devs deviceType;
console_fns *pDeviceFns;
boolean (*deviceProbe)(int minor);
console_flow *pDeviceFlow;
@@ -132,7 +145,7 @@ typedef struct _console_tbl {
typedef struct _console_data {
void *termios_data;
volatile boolean bActive;
- volatile Ring_buffer_t TxBuffer;
+ volatile Ring_buffer_t TxBuffer; /* XXX remove from other drivers */
/*
* This field may be used for any purpose required by the driver
*/