Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 715 → Rev 716

/shark/trunk/drivers/serial/include/drivers/scomirq.h
35,7 → 35,7
*/
 
/*
CVS : $Id: scomirq.h,v 1.1 2004-06-01 14:08:28 giacomo Exp $
CVS : $Id: scomirq.h,v 1.2 2004-06-01 14:50:33 giacomo Exp $
 
scomirq.h:
 
73,19 → 73,19
void (*indication)(unsigned port, BYTE data);
};
 
extern struct SCom_Access_Type SCom_Access;
 
/*****************************
* Functions
*****************************/
void com_end(unsigned port);
void com_close_irq(unsigned port);
 
void com_irq_enable(unsigned port, unsigned irq);
 
void com_irq_disable(unsigned port, unsigned irq);
 
void com_init(unsigned port, DWORD speed, BYTE parity, BYTE len, BYTE stop);
void com_init_irq(unsigned port);
 
void com_set_functions(void (*confirm)(unsigned port, BYTE msg_status),void (*indication)(unsigned port, BYTE data));
 
void com_irq_send(unsigned port, BYTE len, BYTE *data);
 
#endif
/shark/trunk/drivers/serial/scomirq.c
121,7 → 121,7
 
}
 
void com_end(unsigned port)
void com_close_irq(unsigned port)
{
SYS_FLAGS f;
130,19 → 130,19
com_write(port, IER, 0);
com_read(port, LSR);
com_read(port, IIR);
com_close(port);
 
handler_remove(com_irq[port]);
 
kern_frestore(f);
 
}
 
void com_init(unsigned port, DWORD speed, BYTE parity, BYTE len, BYTE stop)
void com_init_irq(unsigned port)
{
SYS_FLAGS f;
 
f = kern_fsave();
 
com_open(port, speed, parity, len, stop);
SCom_Error = 0;
handler_set(com_irq[port], com_irq_sel, NIL, TRUE);
com_irq_disable(port, ALL_IRQ); /* Disable interrupts */
186,6 → 186,12
 
}
 
__inline__ void com_irq_send(unsigned port, BYTE len, BYTE *m) {
 
com_send_msg(port, len, m);
 
}
 
void THRE_handler (unsigned port) /* Transmit Data Register Ready for next byte */
{
if (SCom_TX_data.ptr < SCom_TX_data.len)