diff options
author | Peter Hurley <peter@hurleysoftware.com> | 2015-02-24 14:25:12 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-03-26 18:18:20 +0100 |
commit | cd52b7599c1a1150719b2f6d20bce6b4f30dc8df (patch) | |
tree | a0467d11b281d06ee6e6b0503a8fde2a08dcbaa1 /drivers/tty | |
parent | d53e1428a9f1110ec865b2839f6a6f12d13da2b9 (diff) | |
download | linux-cd52b7599c1a1150719b2f6d20bce6b4f30dc8df.tar.bz2 |
serial: 8250: Get RSA resource iff CONFIG_SERIAL_8250_RSA
Support for Remote Supervisor Adapter is conditional on
CONFIG_SERIAL_8250_RSA; only attempt RSA resource acquire if
defined.
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty')
-rw-r--r-- | drivers/tty/serial/8250/8250_core.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c index 423a77903cef..dcfe5500303f 100644 --- a/drivers/tty/serial/8250/8250_core.c +++ b/drivers/tty/serial/8250/8250_core.c @@ -2797,6 +2797,7 @@ static void serial8250_release_std_resource(struct uart_8250_port *up) } } +#ifdef CONFIG_SERIAL_8250_RSA static int serial8250_request_rsa_resource(struct uart_8250_port *up) { unsigned long start = UART_RSA_BASE << up->port.regshift; @@ -2831,14 +2832,17 @@ static void serial8250_release_rsa_resource(struct uart_8250_port *up) break; } } +#endif static void serial8250_release_port(struct uart_port *port) { struct uart_8250_port *up = up_to_u8250p(port); serial8250_release_std_resource(up); +#ifdef CONFIG_SERIAL_8250_RSA if (port->type == PORT_RSA) serial8250_release_rsa_resource(up); +#endif } static int serial8250_request_port(struct uart_port *port) @@ -2850,11 +2854,13 @@ static int serial8250_request_port(struct uart_port *port) return -ENODEV; ret = serial8250_request_std_resource(up); +#ifdef CONFIG_SERIAL_8250_RSA if (ret == 0 && port->type == PORT_RSA) { ret = serial8250_request_rsa_resource(up); if (ret < 0) serial8250_release_std_resource(up); } +#endif return ret; } @@ -3016,9 +3022,11 @@ static void serial8250_config_port(struct uart_port *port, int flags) if (ret < 0) return; +#ifdef CONFIG_SERIAL_8250_RSA ret = serial8250_request_rsa_resource(up); if (ret < 0) probeflags &= ~PROBE_RSA; +#endif if (port->iotype != up->cur_iotype) set_io_from_upio(port); @@ -3037,8 +3045,10 @@ static void serial8250_config_port(struct uart_port *port, int flags) if (port->type != PORT_UNKNOWN && flags & UART_CONFIG_IRQ) autoconfig_irq(up); +#ifdef CONFIG_SERIAL_8250_RSA if (port->type != PORT_RSA && probeflags & PROBE_RSA) serial8250_release_rsa_resource(up); +#endif if (port->type == PORT_UNKNOWN) serial8250_release_std_resource(up); |