projects
/
bertos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use debug.h instead of kdebug.h; Spelling fixes.
[bertos.git]
/
drv
/
ser.c
diff --git
a/drv/ser.c
b/drv/ser.c
index 9e7e96d6d9592b6268fe2760e7456ab94b95f8b5..35a4d192fb9c346dcafcbc874b321fc94c062d0d 100755
(executable)
--- a/
drv/ser.c
+++ b/
drv/ser.c
@@
-28,6
+28,12
@@
/*#*
*#* $Log$
/*#*
*#* $Log$
+ *#* Revision 1.17 2004/09/14 21:06:07 bernie
+ *#* Use debug.h instead of kdebug.h; Spelling fixes.
+ *#*
+ *#* Revision 1.16 2004/09/06 21:40:50 bernie
+ *#* Move buffer handling in chip-specific driver.
+ *#*
*#* Revision 1.15 2004/08/25 14:12:08 rasky
*#* Aggiornato il comment block dei log RCS
*#*
*#* Revision 1.15 2004/08/25 14:12:08 rasky
*#* Aggiornato il comment block dei log RCS
*#*
@@
-73,7
+79,7
@@
*#*/
#include <mware/formatwr.h>
*#*/
#include <mware/formatwr.h>
-#include <d
rv/kd
ebug.h>
+#include <debug.h>
#include "ser.h"
#include "ser_p.h"
#include "hw.h"
#include "ser.h"
#include "ser_p.h"
#include "hw.h"
@@
-105,6
+111,7
@@
struct Serial ser_handles[SER_CNT];
*/
int ser_putchar(int c, struct Serial *port)
{
*/
int ser_putchar(int c, struct Serial *port)
{
+ //ASSERT_VALID_FIFO(&port->txfifo);
if (fifo_isfull_locked(&port->txfifo))
{
#if CONFIG_SER_TXTIMEOUT != -1
if (fifo_isfull_locked(&port->txfifo))
{
#if CONFIG_SER_TXTIMEOUT != -1
@@
-179,7
+186,7
@@
int ser_getchar(struct Serial *port)
* Get a byte from the FIFO (avoiding sign-extension),
* re-enable RTS, then return result.
*/
* Get a byte from the FIFO (avoiding sign-extension),
* re-enable RTS, then return result.
*/
- result = (int)(unsigned char)fifo_pop(&port->rxfifo);
+ result = (int)(unsigned char)fifo_pop
_locked
(&port->rxfifo);
return port->status ? EOF : result;
}
return port->status ? EOF : result;
}
@@
-195,7
+202,7
@@
int ser_getchar_nowait(struct Serial *port)
return EOF;
/* NOTE: the double cast prevents unwanted sign extension */
return EOF;
/* NOTE: the double cast prevents unwanted sign extension */
- return (int)(unsigned char)fifo_pop(&port->rxfifo);
+ return (int)(unsigned char)fifo_pop
_locked
(&port->rxfifo);
}
}
@@
-337,7
+344,7
@@
void ser_settimeouts(struct Serial *port, time_t rxtimeout, time_t txtimeout)
#if CONFIG_SER_RXTIMEOUT != -1
/*!
#if CONFIG_SER_RXTIMEOUT != -1
/*!
- * Discard input to resynchronize with remote end
+ * Discard input to resynchronize with remote end
.
*
* Discard incoming data until the port stops receiving
* characters for at least \a delay milliseconds.
*
* Discard incoming data until the port stops receiving
* characters for at least \a delay milliseconds.
@@
-420,11
+427,12
@@
struct Serial *ser_open(unsigned int unit)
port->unit = unit;
port->unit = unit;
- /* Initialize circular buffer */
- fifo_init(&port->rxfifo, port->rxbuffer, sizeof(port->rxbuffer));
- fifo_init(&port->txfifo, port->txbuffer, sizeof(port->txbuffer));
-
port->hw = ser_hw_getdesc(unit);
port->hw = ser_hw_getdesc(unit);
+
+ /* Initialize circular buffers */
+ fifo_init(&port->txfifo, port->hw->txbuffer, port->hw->txbuffer_size);
+ fifo_init(&port->rxfifo, port->hw->rxbuffer, port->hw->rxbuffer_size);
+
port->hw->table->init(port->hw, port);
/* Set default values */
port->hw->table->init(port->hw, port);
/* Set default values */