pmac_zilog: console polling support
PATCH 1/1 pmac_zilog: console polling support
This patch adds console polling support for the pmac_zilog serial driver.
Quoted 1 line
From
e768d25cfa8e1f4a1eebb8fb69930c2ef64da2cbMon Sep 17 00:00:00 2001
From: Chris J Arges <[email protected]>
Date: Tue, 4 Nov 2008 15:10:37 -0600
Subject: [PATCH] pmac_zilog console polling support
Implemented poll_get_char and poll_put_char for console polling which then enables kgdb to work on machines (for example the Apple PowerMac G5) that use the pmac_zilog serial driver.
--- drivers/serial/pmac_zilog.c | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-)
drivers/serial/pmac_zilog.c +27 -0
@@ -1383,6 +1383,29 @@ static int pmz_verify_port(struct uart_port *port, struct serial_struct *ser)return -EINVAL ; } +#ifdef CONFIG_CONSOLE_POLL + +static int pmz_poll_get_char (struct uart_port *port) +{ +struct uart_pmac_port *uap = (struct uart_pmac_port *)port; + +while ((read_zsreg (uap,R0 ) & Rx_CH_AV) ==0 ) +udelay (5 ); +return read_zsdata (uap); +} + +static void pmz_poll_put_char (struct uart_port *port,unsigned char c) +{ +struct uart_pmac_port *uap = (struct uart_pmac_port *)port; + +/* Wait for the transmit buffer to empty. */ +while ((read_zsreg (uap,R0 ) & Tx_BUF_EMP) ==0 ) +udelay (5 ); +write_zsdata (uap, c); +} + +#endif +static struct uart_ops pmz_pops = { .tx_empty = pmz_tx_empty, .set_mctrl = pmz_set_mctrl,
@@ -1400,6 +1423,10 @@ static struct uart_ops pmz_pops = { .request_port = pmz_request_port, .config_port = pmz_config_port, .verify_port = pmz_verify_port, +#ifdef CONFIG_CONSOLE_POLL + .poll_get_char = pmz_poll_get_char, + .poll_put_char = pmz_poll_put_char, +#endif };/*
Signature · 3 lines
1.5.4.5 Signed-off-by: Chris J Arges <[email protected]>