[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: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
committed by
Russell King
parent
c4694c76ce
commit
1281e36027
@@ -1907,10 +1907,13 @@ 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)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user