[PATCH 3/6] tty: serial: 8250 core: add runtime pm
From: bigeasy@linutronix.de (Sebastian Andrzej Siewior)
Date: 2014-07-16 08:26:48
Also in:
linux-omap, linux-serial, lkml
From: bigeasy@linutronix.de (Sebastian Andrzej Siewior)
Date: 2014-07-16 08:26:48
Also in:
linux-omap, linux-serial, lkml
On 07/10/2014 08:28 AM, Tony Lindgren wrote:
quoted
--- a/drivers/tty/serial/8250/8250_core.c +++ b/drivers/tty/serial/8250/8250_core.c@@ -571,7 +573,17 @@ static void serial8250_set_sleep(struct uart_8250_port *p, int sleep) serial_out(p, UART_EFR, 0); serial_out(p, UART_LCR, 0); } + + if (!device_may_wakeup(p->port.dev)) { + if (sleep) + pm_runtime_forbid(p->port.dev); + else + pm_runtime_allow(p->port.dev); + } } +out: + pm_runtime_mark_last_busy(p->port.dev); + pm_runtime_put_autosuspend(p->port.dev); }The device_may_wakeup logic here is wrong as I described in the earlier thread. For runtime PM, the wake-up events should be always enabled. So the device_may_wakeup checks should be only done for suspend and resume.
Okay. I dropped it from here.
Regards, Tony
Sebastian