diff options
author | Ralf Corsepius <ralf.corsepius@rtems.org> | 2009-12-11 04:15:58 +0000 |
---|---|---|
committer | Ralf Corsepius <ralf.corsepius@rtems.org> | 2009-12-11 04:15:58 +0000 |
commit | a93d5c743fc3f3e869326bec9a9084a757a26819 (patch) | |
tree | 65d9b6848a7a816ab7e0f17658a873d3c7c4b333 /c/src/lib/libcpu/bfin | |
parent | 2009-12-11 Ralf Corsépius <ralf.corsepius@rtems.org> (diff) | |
download | rtems-a93d5c743fc3f3e869326bec9a9084a757a26819.tar.bz2 |
2009-12-11 Ralf Corsépius <ralf.corsepius@rtems.org>
* serial/uart.c:
Reflect changes to rtems_termios_callbacks->write.
Diffstat (limited to 'c/src/lib/libcpu/bfin')
-rw-r--r-- | c/src/lib/libcpu/bfin/ChangeLog | 5 | ||||
-rw-r--r-- | c/src/lib/libcpu/bfin/serial/uart.c | 12 |
2 files changed, 12 insertions, 5 deletions
diff --git a/c/src/lib/libcpu/bfin/ChangeLog b/c/src/lib/libcpu/bfin/ChangeLog index 38302023f9..3a3d5f86c0 100644 --- a/c/src/lib/libcpu/bfin/ChangeLog +++ b/c/src/lib/libcpu/bfin/ChangeLog @@ -1,3 +1,8 @@ +2009-12-11 Ralf Corsépius <ralf.corsepius@rtems.org> + + * serial/uart.c: + Reflect changes to rtems_termios_callbacks->write. + 2009-10-20 Ralf Corsépius <ralf.corsepius@rtems.org> * clock/rtc.c: Add initializer (Silence warning). diff --git a/c/src/lib/libcpu/bfin/serial/uart.c b/c/src/lib/libcpu/bfin/serial/uart.c index cb2c229322..0f9ab0f673 100644 --- a/c/src/lib/libcpu/bfin/serial/uart.c +++ b/c/src/lib/libcpu/bfin/serial/uart.c @@ -148,12 +148,13 @@ void debug_write_word(int word) { * */ -static int pollWrite(int minor, const char *buf, int len) { +static ssize_t pollWrite(int minor, const char *buf, size_t len) { - while (len-- > 0) + size_t count; + for ( count = 0; count < len; count++ ) bfin_uart_poll_write(minor, *buf++); - return 0; + return count; } static void enableInterrupts(int minor) { @@ -175,7 +176,7 @@ static void disableAllInterrupts(void) { } } -static int interruptWrite(int minor, const char *buf, int len) { +static ssize_t interruptWrite(int minor, const char *buf, size_t len) { char *base; base = uartsConfig->channels[minor].base_address; @@ -183,7 +184,8 @@ static int interruptWrite(int minor, const char *buf, int len) { uartsConfig->channels[minor].flags |= BFIN_UART_XMIT_BUSY; *(uint16_t volatile *) (base + UART_THR_OFFSET) = *buf; - return 0; + /* one byte written */ + return 1; } static int setAttributes(int minor, const struct termios *termios) { |