summaryrefslogtreecommitdiffstats
path: root/c/src/libchip/serial/ns16550.c
diff options
context:
space:
mode:
authorJennifer Averett <Jennifer.Averett@OARcorp.com>2011-10-18 18:40:27 +0000
committerJennifer Averett <Jennifer.Averett@OARcorp.com>2011-10-18 18:40:27 +0000
commit229bcca81d09b4271fe3248370b2505310933b12 (patch)
tree336dd61a7a02303f77fee5d52fbd6a02b61271d6 /c/src/libchip/serial/ns16550.c
parent2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com> (diff)
downloadrtems-229bcca81d09b4271fe3248370b2505310933b12.tar.bz2
2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>
PR 1917/bsps * libchip/serial/mc68681.c, libchip/serial/ns16550.c, libchip/serial/serial.h, libchip/serial/z85c30.c: Modifications to add dynamic tables for libchip serial drivers.
Diffstat (limited to 'c/src/libchip/serial/ns16550.c')
-rw-r--r--c/src/libchip/serial/ns16550.c50
1 files changed, 25 insertions, 25 deletions
diff --git a/c/src/libchip/serial/ns16550.c b/c/src/libchip/serial/ns16550.c
index bd83b55506..5ea50bda61 100644
--- a/c/src/libchip/serial/ns16550.c
+++ b/c/src/libchip/serial/ns16550.c
@@ -113,9 +113,9 @@ NS16550_STATIC void ns16550_init(int minor)
Console_Port_Data[minor].pDeviceContext=(void *)pns16550Context;
pns16550Context->ucModemCtrl=SP_MODEM_IRQ;
- pNS16550 = Console_Port_Tbl[minor].ulCtrlPort1;
- setReg = Console_Port_Tbl[minor].setRegister;
- getReg = Console_Port_Tbl[minor].getRegister;
+ pNS16550 = Console_Port_Tbl[minor]->ulCtrlPort1;
+ setReg = Console_Port_Tbl[minor]->setRegister;
+ getReg = Console_Port_Tbl[minor]->getRegister;
/* Clear the divisor latch, clear all interrupt enables,
* and reset and
@@ -128,8 +128,8 @@ NS16550_STATIC void ns16550_init(int minor)
/* Set the divisor latch and set the baud rate. */
ulBaudDivisor = NS16550_Baud(
- (uint32_t) Console_Port_Tbl[minor].ulClock,
- (uint32_t) ((uintptr_t)Console_Port_Tbl[minor].pDeviceParams)
+ (uint32_t) Console_Port_Tbl[minor]->ulClock,
+ (uint32_t) ((uintptr_t)Console_Port_Tbl[minor]->pDeviceParams)
);
ucDataByte = SP_LINE_DLAB;
(*setReg)(pNS16550, NS16550_LINE_CONTROL, ucDataByte);
@@ -172,7 +172,7 @@ NS16550_STATIC int ns16550_open(
{
rtems_libio_open_close_args_t *oc = (rtems_libio_open_close_args_t *) arg;
struct rtems_termios_tty *tty = (struct rtems_termios_tty *) oc->iop->data1;
- console_tbl *c = &Console_Port_Tbl [minor];
+ console_tbl *c = Console_Port_Tbl [minor];
console_data *d = &Console_Port_Data [minor];
d->termios_data = tty;
@@ -226,7 +226,7 @@ NS16550_STATIC int ns16550_close(
*/
NS16550_STATIC void ns16550_write_polled(int minor, char out)
{
- console_tbl *c = &Console_Port_Tbl [minor];
+ console_tbl *c = Console_Port_Tbl [minor];
uintptr_t port = c->ulCtrlPort1;
getRegister_f get = c->getRegister;
setRegister_f set = c->setRegister;
@@ -283,8 +283,8 @@ NS16550_STATIC int ns16550_assert_RTS(int minor)
pns16550Context=(ns16550_context *) Console_Port_Data[minor].pDeviceContext;
- pNS16550 = Console_Port_Tbl[minor].ulCtrlPort1;
- setReg = Console_Port_Tbl[minor].setRegister;
+ pNS16550 = Console_Port_Tbl[minor]->ulCtrlPort1;
+ setReg = Console_Port_Tbl[minor]->setRegister;
/*
* Assert RTS
@@ -309,8 +309,8 @@ NS16550_STATIC int ns16550_negate_RTS(int minor)
pns16550Context=(ns16550_context *) Console_Port_Data[minor].pDeviceContext;
- pNS16550 = Console_Port_Tbl[minor].ulCtrlPort1;
- setReg = Console_Port_Tbl[minor].setRegister;
+ pNS16550 = Console_Port_Tbl[minor]->ulCtrlPort1;
+ setReg = Console_Port_Tbl[minor]->setRegister;
/*
* Negate RTS
@@ -340,8 +340,8 @@ NS16550_STATIC int ns16550_assert_DTR(int minor)
pns16550Context=(ns16550_context *) Console_Port_Data[minor].pDeviceContext;
- pNS16550 = Console_Port_Tbl[minor].ulCtrlPort1;
- setReg = Console_Port_Tbl[minor].setRegister;
+ pNS16550 = Console_Port_Tbl[minor]->ulCtrlPort1;
+ setReg = Console_Port_Tbl[minor]->setRegister;
/*
* Assert DTR
@@ -366,8 +366,8 @@ NS16550_STATIC int ns16550_negate_DTR(int minor)
pns16550Context=(ns16550_context *) Console_Port_Data[minor].pDeviceContext;
- pNS16550 = Console_Port_Tbl[minor].ulCtrlPort1;
- setReg = Console_Port_Tbl[minor].setRegister;
+ pNS16550 = Console_Port_Tbl[minor]->ulCtrlPort1;
+ setReg = Console_Port_Tbl[minor]->setRegister;
/*
* Negate DTR
@@ -399,9 +399,9 @@ NS16550_STATIC int ns16550_set_attributes(
getRegister_f getReg;
uint32_t Irql;
- pNS16550 = Console_Port_Tbl[minor].ulCtrlPort1;
- setReg = Console_Port_Tbl[minor].setRegister;
- getReg = Console_Port_Tbl[minor].getRegister;
+ pNS16550 = Console_Port_Tbl[minor]->ulCtrlPort1;
+ setReg = Console_Port_Tbl[minor]->setRegister;
+ getReg = Console_Port_Tbl[minor]->getRegister;
/*
* Calculate the baud rate divisor
@@ -412,7 +412,7 @@ NS16550_STATIC int ns16550_set_attributes(
baud_requested = B9600; /* default to 9600 baud */
ulBaudDivisor = NS16550_Baud(
- (uint32_t) Console_Port_Tbl[minor].ulClock,
+ (uint32_t) Console_Port_Tbl[minor]->ulClock,
rtems_termios_baud_to_number(baud_requested)
);
@@ -485,7 +485,7 @@ NS16550_STATIC int ns16550_set_attributes(
*/
NS16550_STATIC void ns16550_process( int minor)
{
- console_tbl *c = &Console_Port_Tbl [minor];
+ console_tbl *c = Console_Port_Tbl [minor];
console_data *d = &Console_Port_Data [minor];
ns16550_context *ctx = d->pDeviceContext;
uint32_t port = c->ulCtrlPort1;
@@ -544,7 +544,7 @@ NS16550_STATIC ssize_t ns16550_write_support_int(
size_t len
)
{
- console_tbl *c = &Console_Port_Tbl [minor];
+ console_tbl *c = Console_Port_Tbl [minor];
console_data *d = &Console_Port_Data [minor];
ns16550_context *ctx = d->pDeviceContext;
uint32_t port = c->ulCtrlPort1;
@@ -578,8 +578,8 @@ NS16550_STATIC void ns16550_enable_interrupts(
uint32_t pNS16550;
setRegister_f setReg;
- pNS16550 = Console_Port_Tbl[minor].ulCtrlPort1;
- setReg = Console_Port_Tbl[minor].setRegister;
+ pNS16550 = Console_Port_Tbl[minor]->ulCtrlPort1;
+ setReg = Console_Port_Tbl[minor]->setRegister;
(*setReg)(pNS16550, NS16550_INTERRUPT_ENABLE, mask);
}
@@ -736,8 +736,8 @@ NS16550_STATIC int ns16550_inbyte_nonblocking_polled(
char cChar;
getRegister_f getReg;
- pNS16550 = Console_Port_Tbl[minor].ulCtrlPort1;
- getReg = Console_Port_Tbl[minor].getRegister;
+ pNS16550 = Console_Port_Tbl[minor]->ulCtrlPort1;
+ getReg = Console_Port_Tbl[minor]->getRegister;
ucLineStatus = (*getReg)(pNS16550, NS16550_LINE_STATUS);
if(ucLineStatus & SP_LSR_RDY) {