Commit 1281e360 authored by Andrew Victor's avatar Andrew Victor Committed by Russell King

[ARM] 3523/1: Serial core pm_state

Patch from Andrew Victor

The serial_core already manages the power state of the UARTs, and
therefore it shouldn't suspend a UART which was previously suspended.

This patch modifies serial_core only call the UART-specific
power-management function if the PM state is actually changing.
Signed-off-by: default avatarAndrew Victor <andrew@sanpeople.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent c4694c76
...@@ -1907,9 +1907,12 @@ uart_set_options(struct uart_port *port, struct console *co, ...@@ -1907,9 +1907,12 @@ uart_set_options(struct uart_port *port, struct console *co,
static void uart_change_pm(struct uart_state *state, int pm_state) static void uart_change_pm(struct uart_state *state, int pm_state)
{ {
struct uart_port *port = state->port; struct uart_port *port = state->port;
if (state->pm_state != pm_state) {
if (port->ops->pm) if (port->ops->pm)
port->ops->pm(port, pm_state, state->pm_state); port->ops->pm(port, pm_state, state->pm_state);
state->pm_state = pm_state; state->pm_state = pm_state;
}
} }
int uart_suspend_port(struct uart_driver *drv, struct uart_port *port) int uart_suspend_port(struct uart_driver *drv, struct uart_port *port)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment