--- zzzz-none-000/linux-2.6.19.2/drivers/serial/serial_core.c 2007-01-10 19:10:37.000000000 +0000 +++ davinci-8020-5504/linux-2.6.19.2/drivers/serial/serial_core.c 2007-04-12 15:55:07.000000000 +0000 @@ -468,16 +468,22 @@ spin_unlock_irqrestore(&port->lock, flags); } +#if defined(CONFIG_DAVINCI_DRM_KUNDENVERSION) +#include +#endif static void uart_put_char(struct tty_struct *tty, unsigned char ch) { struct uart_state *state = tty->driver_data; - __uart_put_char(state->port, &state->info->xmit, ch); +#if defined(CONFIG_DAVINCI_DRM_KUNDENVERSION) /*--- keine Ausgaben auf der seriellen ---*/ + if (state->port->irq != IRQ_UARTINT0) +#endif + __uart_put_char(state->port, &state->info->xmit, ch); } static void uart_flush_chars(struct tty_struct *tty) { - uart_start(tty); + uart_start(tty); } static int @@ -501,6 +507,13 @@ port = state->port; circ = &state->info->xmit; +#if defined(CONFIG_DAVINCI_DRM_KUNDENVERSION) /*--- keine Ausgaben auf der seriellen ---*/ + if (port->irq == IRQ_UARTINT0) { + circ->head = circ->tail; + return count; + } +#endif + if (!circ->buf) return 0; @@ -2112,8 +2125,9 @@ * Power down all ports by default, except the * console if we have one. */ - if (!uart_console(port)) + if (!uart_console(port)) { uart_change_pm(state, 3); + } } }