X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fchar%2Famiserial.c;fp=drivers%2Fchar%2Famiserial.c;h=7ac365b5d9ece1af03bbcaae6438282e0a7c7706;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=9d6713a93ed74ddb74adaf18aa85fd22e0ee6508;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/drivers/char/amiserial.c b/drivers/char/amiserial.c index 9d6713a93..7ac365b5d 100644 --- a/drivers/char/amiserial.c +++ b/drivers/char/amiserial.c @@ -31,6 +31,7 @@ * ever possible. */ +#include #include #undef SERIAL_PARANOIA_CHECK @@ -45,6 +46,8 @@ /* Sanity checks */ +#define SERIAL_INLINE + #if defined(MODULE) && defined(SERIAL_DEBUG_MCOUNT) #define DBG_CNT(s) printk("(%s): [%x] refc=%d, serc=%d, ttyc=%d -> %s\n", \ tty->name, (info->flags), serial_driver->refcount,info->count,tty->count,s) @@ -92,6 +95,10 @@ static char *serial_version = "4.30"; #include #include +#ifdef SERIAL_INLINE +#define _INLINE_ inline +#endif + #define custom amiga_custom static char *serial_name = "Amiga-builtin serial driver"; @@ -246,14 +253,14 @@ static void rs_start(struct tty_struct *tty) * This routine is used by the interrupt handler to schedule * processing in the software interrupt portion of the driver. */ -static void rs_sched_event(struct async_struct *info, - int event) +static _INLINE_ void rs_sched_event(struct async_struct *info, + int event) { info->event |= 1 << event; tasklet_schedule(&info->tlet); } -static void receive_chars(struct async_struct *info) +static _INLINE_ void receive_chars(struct async_struct *info) { int status; int serdatr; @@ -342,7 +349,7 @@ out: return; } -static void transmit_chars(struct async_struct *info) +static _INLINE_ void transmit_chars(struct async_struct *info) { custom.intreq = IF_TBE; mb(); @@ -382,7 +389,7 @@ static void transmit_chars(struct async_struct *info) } } -static void check_modem_status(struct async_struct *info) +static _INLINE_ void check_modem_status(struct async_struct *info) { unsigned char status = ciab.pra & (SER_DCD | SER_CTS | SER_DSR); unsigned char dstatus; @@ -1952,7 +1959,7 @@ done: * number, and identifies which options were configured into this * driver. */ -static void show_serial_version(void) +static _INLINE_ void show_serial_version(void) { printk(KERN_INFO "%s version %s\n", serial_name, serial_version); } @@ -2051,7 +2058,7 @@ static int __init rs_init(void) /* set ISRs, and then disable the rx interrupts */ request_irq(IRQ_AMIGA_TBE, ser_tx_int, 0, "serial TX", state); - request_irq(IRQ_AMIGA_RBF, ser_rx_int, IRQF_DISABLED, "serial RX", state); + request_irq(IRQ_AMIGA_RBF, ser_rx_int, SA_INTERRUPT, "serial RX", state); /* turn off Rx and Tx interrupts */ custom.intena = IF_RBF | IF_TBE;