diff options
author | Thomas Doerfler <Thomas.Doerfler@embedded-brains.de> | 2009-12-17 08:42:17 +0000 |
---|---|---|
committer | Thomas Doerfler <Thomas.Doerfler@embedded-brains.de> | 2009-12-17 08:42:17 +0000 |
commit | 39a9f8ea1294518df837c2f6a4586c1ca61945e2 (patch) | |
tree | bbcca399b1539adf14930593f22a73cd1aea01a9 /c/src/lib/libcpu/m68k | |
parent | adaption of calling convention to console my_driver_write function (diff) | |
download | rtems-39a9f8ea1294518df837c2f6a4586c1ca61945e2.tar.bz2 |
adapted to new prototype for *_write function
Diffstat (limited to 'c/src/lib/libcpu/m68k')
-rw-r--r-- | c/src/lib/libcpu/m68k/ChangeLog | 7 | ||||
-rw-r--r-- | c/src/lib/libcpu/m68k/mcf5206/console/mcfuart.c | 12 | ||||
-rw-r--r-- | c/src/lib/libcpu/m68k/mcf5206/include/mcfuart.h | 8 |
3 files changed, 17 insertions, 10 deletions
diff --git a/c/src/lib/libcpu/m68k/ChangeLog b/c/src/lib/libcpu/m68k/ChangeLog index 1c3b5423ac..9ed0ce6643 100644 --- a/c/src/lib/libcpu/m68k/ChangeLog +++ b/c/src/lib/libcpu/m68k/ChangeLog @@ -1,3 +1,8 @@ +2009-12-16 Thomas Doerfler <Thomas.Doerfler@embedded-brains.de> + + * mcf5206/include/mcfuart.h, mcf5206/include/mcfuart.c: adapted to + new prototype for *_write function + 2009-10-15 Thomas Doefler <thomas.doerfler@embedded-brains.de> * Makefile.am, mcf548x/mcdma/MCD_dma.h, mcf548x/mcdma/MCD_dmaApi.c, @@ -9,7 +14,7 @@ 2009-10-08 Thomas Doefler <thomas.doerfler@embedded-brains.de> * mcf5282/include/mcf5282.h: add missing (x) params to four - macros, added paranthesis around usage of x in some macros + macros, added paranthesis around usage of x in some macros 2009-09-10 Till Straumann <strauman@slac.stanford.edu> diff --git a/c/src/lib/libcpu/m68k/mcf5206/console/mcfuart.c b/c/src/lib/libcpu/m68k/mcf5206/console/mcfuart.c index d17e63423b..7ec30a5289 100644 --- a/c/src/lib/libcpu/m68k/mcf5206/console/mcfuart.c +++ b/c/src/lib/libcpu/m68k/mcf5206/console/mcfuart.c @@ -395,15 +395,17 @@ mcfuart_poll_read(mcfuart *uart) * RETURNS: * 0 */ -int -mcfuart_poll_write(mcfuart *uart, const char *buf, int len) +ssize_t +mcfuart_poll_write(mcfuart *uart, const char *buf, size_t len) { + size_t retval = len; + while (len--) { while ((*MCF5206E_USR(MBAR, uart->chn) & MCF5206E_USR_TXRDY) == 0); *MCF5206E_UTB(MBAR, uart->chn) = *buf++; } - return 0; + return retval; } /* mcfuart_interrupt_handler -- @@ -517,8 +519,8 @@ mcfuart_interrupt_handler(rtems_vector_number vec) * RETURNS: * 0 */ -int -mcfuart_interrupt_write(mcfuart *uart, const char *buf, int len) +ssize_t +mcfuart_interrupt_write(mcfuart *uart, const char *buf, size_t len) { int level; rtems_interrupt_disable(level); diff --git a/c/src/lib/libcpu/m68k/mcf5206/include/mcfuart.h b/c/src/lib/libcpu/m68k/mcf5206/include/mcfuart.h index 7ad1de2935..dd5ea0bb37 100644 --- a/c/src/lib/libcpu/m68k/mcf5206/include/mcfuart.h +++ b/c/src/lib/libcpu/m68k/mcf5206/include/mcfuart.h @@ -89,14 +89,14 @@ mcfuart_poll_read(mcfuart *uart); /* mcfuart_interrupt_write -- * This function initiate transmitting of the buffer in interrupt mode. */ -int -mcfuart_interrupt_write(mcfuart *uart, const char *buf, int len); +ssize_t +mcfuart_interrupt_write(mcfuart *uart, const char *buf, size_t len); /* mcfuart_poll_write -- * This function transmit buffer byte-by-byte in polling mode. */ -int -mcfuart_poll_write(mcfuart *uart, const char *buf, int len); +ssize_t +mcfuart_poll_write(mcfuart *uart, const char *buf, size_t len); /* mcfuart_stop_remote_tx -- * This function stop data flow from remote device. |