summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-12-17 08:42:17 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-12-17 08:42:17 +0000
commit39a9f8ea1294518df837c2f6a4586c1ca61945e2 (patch)
treebbcca399b1539adf14930593f22a73cd1aea01a9 /c/src/lib/libcpu
parentadaption of calling convention to console my_driver_write function (diff)
downloadrtems-39a9f8ea1294518df837c2f6a4586c1ca61945e2.tar.bz2
adapted to new prototype for *_write function
Diffstat (limited to 'c/src/lib/libcpu')
-rw-r--r--c/src/lib/libcpu/m68k/ChangeLog7
-rw-r--r--c/src/lib/libcpu/m68k/mcf5206/console/mcfuart.c12
-rw-r--r--c/src/lib/libcpu/m68k/mcf5206/include/mcfuart.h8
-rw-r--r--c/src/lib/libcpu/powerpc/ChangeLog22
-rw-r--r--c/src/lib/libcpu/powerpc/mpc5xx/console-generic/console-generic.c14
-rw-r--r--c/src/lib/libcpu/powerpc/mpc5xx/include/console.h4
-rw-r--r--c/src/lib/libcpu/powerpc/mpc5xx/irq/irq.c2
-rw-r--r--c/src/lib/libcpu/powerpc/mpc8260/console-generic/console-generic.c11
-rw-r--r--c/src/lib/libcpu/powerpc/mpc8260/include/console.h4
-rw-r--r--c/src/lib/libcpu/powerpc/mpc8xx/console-generic/console-generic.c10
-rw-r--r--c/src/lib/libcpu/powerpc/mpc8xx/include/console.h4
11 files changed, 60 insertions, 38 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.
diff --git a/c/src/lib/libcpu/powerpc/ChangeLog b/c/src/lib/libcpu/powerpc/ChangeLog
index 1e3c9fd804..6aa5363802 100644
--- a/c/src/lib/libcpu/powerpc/ChangeLog
+++ b/c/src/lib/libcpu/powerpc/ChangeLog
@@ -1,3 +1,17 @@
+2009-12-17 Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>
+
+ * mpc5xx/irq/irq.c: removed warning
+
+2009-12-16 Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>
+
+ * mpc5xx/include/console.h,
+ mpc5xx/console-generic/console-generic.c,
+ mpc8xx/include/console.h,
+ mpc8xx/console-generic/console-generic.c,
+ mpc8260/include/console.h,
+ mpc8260/console-generic/console-generic.c: adapted to new prototype
+ for *_write function
+
2009-12-04 Sebastian Huber <sebastian.huber@embedded-brains.de>
* new-exceptions/bspsupport/ppc_exc_bspsupp.h: Removed file.
@@ -12,7 +26,7 @@
new-exceptions/bspsupport/vectors.h:
Added AltiVec support (save/restore volatile vregs
across exceptions).
-
+
2009-12-01 Till Straumann <strauman@slac.stanford.edu>
* Makefile.am, mpc6xx/altivec: new directory implementing
@@ -31,16 +45,16 @@
for firmware I/O.
Added entries for AltiVec on PSIM.
-
+
2009-11-15 Till Straumann <strauman@slac.stanford.edu>
* shared/include/cpuIdent.c: Set 604 features + altivec if
running on PSIM.
-
+
2009-11-03 Thomas Doerfler <Thomas.Doerfler@imd-systems.de>
* shared/include/powerpc-utility.h, shared/include/byteorder.h,
- shared/include/cpuIdent.h:
+ shared/include/cpuIdent.h:
add c++ declaration brackets
* Makefile.am, mpc8260/clock: removed mpc8260 specific clock
driver
diff --git a/c/src/lib/libcpu/powerpc/mpc5xx/console-generic/console-generic.c b/c/src/lib/libcpu/powerpc/mpc5xx/console-generic/console-generic.c
index 19072a3781..16b44c2b94 100644
--- a/c/src/lib/libcpu/powerpc/mpc5xx/console-generic/console-generic.c
+++ b/c/src/lib/libcpu/powerpc/mpc5xx/console-generic/console-generic.c
@@ -139,11 +139,10 @@ m5xx_uart_pollRead(
return c;
}
-int
-m5xx_uart_write(
+ssize_t m5xx_uart_write(
int minor,
const char *buf,
- int len
+ size_t len
)
{
volatile m5xxSCIRegisters_t *regs = sci_descs[minor].regs;
@@ -153,21 +152,22 @@ m5xx_uart_write(
return 0;
}
-int
-m5xx_uart_pollWrite(
+ssize_t m5xx_uart_pollWrite(
int minor,
const char *buf,
- int len
+ size_t len
)
{
volatile m5xxSCIRegisters_t *regs = sci_descs[minor].regs;
+ size_t retval = len;
while ( len-- ) {
while ( (regs->scsr & QSMCM_SCI_TDRE) == 0 )
;
regs->scdr = *buf++;
}
- return 0;
+
+ return retval;
}
int
diff --git a/c/src/lib/libcpu/powerpc/mpc5xx/include/console.h b/c/src/lib/libcpu/powerpc/mpc5xx/include/console.h
index 027754b709..e765d88731 100644
--- a/c/src/lib/libcpu/powerpc/mpc5xx/include/console.h
+++ b/c/src/lib/libcpu/powerpc/mpc5xx/include/console.h
@@ -24,8 +24,8 @@ void m5xx_uart_initialize(int minor);
int m5xx_uart_firstOpen(int maj, int min, void *arg);
int m5xx_uart_lastClose(int maj, int min, void *arg);
int m5xx_uart_pollRead(int minor);
-int m5xx_uart_pollWrite(int minor, const char* buf, int len);
-int m5xx_uart_write(int minor, const char *buf, int len);
+ssize_t m5xx_uart_pollWrite(int minor, const char* buf, size_t len);
+ssize_t m5xx_uart_write (int minor, const char *buf, size_t len);
int m5xx_uart_setAttributes(int, const struct termios* t);
#define NUM_PORTS 2 /* number of serial ports */
diff --git a/c/src/lib/libcpu/powerpc/mpc5xx/irq/irq.c b/c/src/lib/libcpu/powerpc/mpc5xx/irq/irq.c
index 443340a914..8ae7079489 100644
--- a/c/src/lib/libcpu/powerpc/mpc5xx/irq/irq.c
+++ b/c/src/lib/libcpu/powerpc/mpc5xx/irq/irq.c
@@ -119,7 +119,7 @@ const static unsigned int USIU_IvectMask[CPU_USIU_IRQ_COUNT] =
* is already set and that the tables it contains are still valid
* and accessible.
*/
-static void compute_USIU_IvectMask_from_prio ()
+static void compute_USIU_IvectMask_from_prio (void)
{
/*
* In theory this is feasible. No time to code it yet. See i386/shared/irq.c
diff --git a/c/src/lib/libcpu/powerpc/mpc8260/console-generic/console-generic.c b/c/src/lib/libcpu/powerpc/mpc8260/console-generic/console-generic.c
index 68d857dd2e..0182cdf4e5 100644
--- a/c/src/lib/libcpu/powerpc/mpc8260/console-generic/console-generic.c
+++ b/c/src/lib/libcpu/powerpc/mpc8260/console-generic/console-generic.c
@@ -1098,11 +1098,11 @@ m8xx_uart_pollRead(
/*
* TODO: Get a free buffer and set it up.
*/
-int
+ssize_t
m8xx_uart_write(
int minor,
const char *buf,
- int len
+ size_t len
)
{
while( (TxBd[minor]->status) & M8260_BD_READY );
@@ -1115,13 +1115,14 @@ m8xx_uart_write(
}
-int
+ssize_t
m8xx_uart_pollWrite(
int minor,
const char *buf,
- int len
+ size_t len
)
{
+ size_t retval = len;
while (len--) {
while (TxBd[minor]->status & M8260_BD_READY)
@@ -1133,5 +1134,5 @@ m8xx_uart_pollWrite(
TxBd[minor]->status = M8260_BD_READY | M8260_BD_WRAP;
}
- return 0;
+ return retval;
}
diff --git a/c/src/lib/libcpu/powerpc/mpc8260/include/console.h b/c/src/lib/libcpu/powerpc/mpc8260/include/console.h
index 04781f6341..2ad1120d3e 100644
--- a/c/src/lib/libcpu/powerpc/mpc8260/include/console.h
+++ b/c/src/lib/libcpu/powerpc/mpc8260/include/console.h
@@ -14,8 +14,8 @@ void m8xx_uart_smc_initialize (int minor);
/* Termios callbacks */
int m8xx_uart_pollRead(int minor);
-int m8xx_uart_pollWrite(int minor, const char* buf, int len);
-int m8xx_uart_write(int minor, const char *buf, int len);
+ssize_t m8xx_uart_pollWrite(int minor, const char* buf, size_t len);
+ssize_t m8xx_uart_write(int minor, const char *buf, size_t len);
int m8xx_uart_setAttributes(int, const struct termios* t);
diff --git a/c/src/lib/libcpu/powerpc/mpc8xx/console-generic/console-generic.c b/c/src/lib/libcpu/powerpc/mpc8xx/console-generic/console-generic.c
index b8dff4683b..f92a956fef 100644
--- a/c/src/lib/libcpu/powerpc/mpc8xx/console-generic/console-generic.c
+++ b/c/src/lib/libcpu/powerpc/mpc8xx/console-generic/console-generic.c
@@ -1057,11 +1057,11 @@ m8xx_uart_pollRead(
/*
* TODO: Get a free buffer and set it up.
*/
-int
+ssize_t
m8xx_uart_write(
int minor,
const char *buf,
- int len
+ size_t len
)
{
rtems_cache_flush_multiple_data_lines( buf, len );
@@ -1072,11 +1072,11 @@ m8xx_uart_write(
}
-int
+ssize_t
m8xx_uart_pollWrite(
int minor,
const char *buf,
- int len
+ size_t len
)
{
while (len--) {
@@ -1088,5 +1088,5 @@ m8xx_uart_pollWrite(
TxBd[minor]->length = 1;
TxBd[minor]->status = M8xx_BD_READY | M8xx_BD_WRAP;
}
- return 0;
+ return len;
}
diff --git a/c/src/lib/libcpu/powerpc/mpc8xx/include/console.h b/c/src/lib/libcpu/powerpc/mpc8xx/include/console.h
index e327ad42cd..618ecf081e 100644
--- a/c/src/lib/libcpu/powerpc/mpc8xx/include/console.h
+++ b/c/src/lib/libcpu/powerpc/mpc8xx/include/console.h
@@ -14,8 +14,8 @@ void m8xx_uart_smc_initialize (int minor);
/* Termios callbacks */
int m8xx_uart_pollRead(int minor);
-int m8xx_uart_pollWrite(int minor, const char* buf, int len);
-int m8xx_uart_write(int minor, const char *buf, int len);
+ssize_t m8xx_uart_pollWrite(int minor, const char* buf, size_t len);
+ssize_t m8xx_uart_write(int minor, const char *buf, size_t len);
int m8xx_uart_setAttributes(int, const struct termios* t);