lkml.org 
[lkml]   [2009]   [Sep]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2] Add poll_get_char and poll_put_char uart_ops to atmel_serial.
    Date
    This patch allows using KGDB over the console with the atmel_serial
    driver.

    Signed-off-by: Albin Tonnerre <albin.tonnerre@free-electrons.com>
    ---
    changes: Use register access macros instead of __raw_readl/writel

    drivers/serial/atmel_serial.c | 22 ++++++++++++++++++++++
    1 files changed, 22 insertions(+), 0 deletions(-)

    diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c
    index 607d43a..c562883 100644
    --- a/drivers/serial/atmel_serial.c
    +++ b/drivers/serial/atmel_serial.c
    @@ -1213,6 +1213,24 @@ static int atmel_verify_port(struct uart_port *port, struct serial_struct *ser)
    return ret;
    }

    +#ifdef CONFIG_CONSOLE_POLL
    +static int atmel_poll_get_char(struct uart_port *port)
    +{
    + while (!(UART_GET_CSR(port) & ATMEL_US_RXRDY))
    + barrier();
    +
    + return UART_GET_CHAR(port);
    +}
    +
    +static void atmel_poll_put_char(struct uart_port *port, unsigned char ch)
    +{
    + while (!(UART_GET_CSR(port) & ATMEL_US_TXRDY))
    + barrier();
    +
    + UART_PUT_CHAR(port, ch);
    +}
    +#endif
    +
    static struct uart_ops atmel_pops = {
    .tx_empty = atmel_tx_empty,
    .set_mctrl = atmel_set_mctrl,
    @@ -1232,6 +1250,10 @@ static struct uart_ops atmel_pops = {
    .config_port = atmel_config_port,
    .verify_port = atmel_verify_port,
    .pm = atmel_serial_pm,
    +#ifdef CONFIG_CONSOLE_POLL
    + .poll_get_char = atmel_poll_get_char,
    + .poll_put_char = atmel_poll_put_char,
    +#endif
    };

    /*
    --
    1.6.3.3


    \
     
     \ /
      Last update: 2009-09-07 11:55    [W:0.019 / U:31.140 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site