X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Fserial%2F8250.h;h=b4cb2fbaa58bb07a457823c947c04321a4e96812;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=79c036852792307e7f165b538261ee5e1e2b7ad9;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/drivers/serial/8250.h b/drivers/serial/8250.h index 79c036852..b4cb2fbaa 100644 --- a/drivers/serial/8250.h +++ b/drivers/serial/8250.h @@ -17,7 +17,8 @@ #include -void serial8250_get_irq_map(unsigned int *map); +int serial8250_register_port(struct uart_port *); +void serial8250_unregister_port(int line); void serial8250_suspend_port(int line); void serial8250_resume_port(int line); @@ -38,14 +39,16 @@ struct old_serial_port { */ struct serial8250_config { const char *name; - unsigned int fifo_size; - unsigned int tx_loadsz; + unsigned short fifo_size; + unsigned short tx_loadsz; + unsigned char fcr; unsigned int flags; }; #define UART_CAP_FIFO (1 << 8) /* UART has FIFO */ #define UART_CAP_EFR (1 << 9) /* UART has EFR */ #define UART_CAP_SLEEP (1 << 10) /* UART has IER sleep */ +#define UART_CAP_AFE (1 << 11) /* MCR-based hw flow control */ #undef SERIAL_DEBUG_PCI @@ -69,3 +72,14 @@ struct serial8250_config { #else #define SERIAL8250_SHARE_IRQS 0 #endif + +#if defined(__alpha__) && !defined(CONFIG_PCI) +/* + * Digital did something really horribly wrong with the OUT1 and OUT2 + * lines on at least some ALPHA's. The failure mode is that if either + * is cleared, the machine locks up with endless interrupts. + */ +#define ALPHA_KLUDGE_MCR (UART_MCR_OUT2 | UART_MCR_OUT1) +#else +#define ALPHA_KLUDGE_MCR 0 +#endif