Re: [PATCH 15/18] Blackfin Serial Driver: merge the upstreamadeos/xenomai

From: Andrew Morton
Date: Fri Mar 06 2009 - 17:40:25 EST


On Fri, 6 Mar 2009 14:42:57 +0800
Bryan Wu <cooloney@xxxxxxxxxx> wrote:

> From: Philippe Gerum <rpm@xxxxxxxxxxx>
>
> add ipipe serial debug function for adeos
>
> Signed-off-by: Philippe Gerum <rpm@xxxxxxxxxxx>
> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxxx>

Changelog is useless.

> 1 files changed, 45 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/serial/bfin_5xx.c b/drivers/serial/bfin_5xx.c
> index 71a9e6b..8aa0e37 100644
> --- a/drivers/serial/bfin_5xx.c
> +++ b/drivers/serial/bfin_5xx.c
> @@ -1145,6 +1145,51 @@ static void bfin_serial_console_putchar(struct uart_port *port, int ch)
> SSYNC();
> }
>
> +#ifdef CONFIG_IPIPE
> +
> +#include <stdarg.h>
> +
> +void __ipipe_serial_debug(const char *fmt, ...)
> +{
> + struct bfin_serial_port *uart = &bfin_serial_ports[0];
> + unsigned short status, tmp;
> + int flags, i, count;
> + char buf[128];
> + va_list ap;
> +
> + va_start(ap, fmt);
> + vsprintf(buf, fmt, ap);
> + va_end(ap);
> + count = strlen(buf);
> +
> + local_irq_save_hw(flags);
> +
> + for (i = 0; i < count; i++) {
> + do {
> + status = UART_GET_LSR(uart);
> + } while (!(status & THRE));
> +
> +#ifndef CONFIG_BF54x
> + tmp = UART_GET_LCR(uart);
> + tmp &= ~DLAB;
> + UART_PUT_LCR(uart, tmp);
> +#endif
> +
> + UART_PUT_CHAR(uart, buf[i]);
> + if (buf[i] == '\n') {
> + do {
> + status = UART_GET_LSR(uart);
> + } while (!(status & THRE));
> + UART_PUT_CHAR(uart, '\r');
> + }
> + }
> +
> + local_irq_restore_hw(flags);
> +}
> +EXPORT_SYMBOL(__ipipe_serial_debug);
> +
> +#endif /* CONFIG_IPIPE */

What does this do? What bug does it fix? Why is it needed in 2.6.29?

None of the other patches add references to this symbol.

Why is it exported to modules?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/