[linux-yocto] [PATCH 09/15] serial: 8250_dw: enable runtime PM
Nilesh Bacchewar
nilesh.bacchewar at intel.com
Thu Nov 17 15:06:25 PST 2016
From: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
Backport:
- Upstream-Status: Pending.
- Backport fix.
[https://bitbucket.org/andy-shev/linux/commits/37170b7763ab43c6f49543bc69438cab256a90f6?at=master]
Enable runtime PM for all ports unconditionally. Set autosuspend time to
infinity (-1) to avoid port being shutdown when using, for example, as a
serial console since there is no means to resume it back.
Signed-off-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
Signed-off-by: Nilesh Bacchewar <nilesh.bacchewar at intel.com>
---
drivers/tty/serial/8250/8250_dw.c | 16 +++-------------
1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c
index a5d319e..4ffd160 100644
--- a/drivers/tty/serial/8250/8250_dw.c
+++ b/drivers/tty/serial/8250/8250_dw.c
@@ -204,18 +204,6 @@ static int dw8250_handle_irq(struct uart_port *p)
return 0;
}
-static void
-dw8250_do_pm(struct uart_port *port, unsigned int state, unsigned int old)
-{
- if (!state)
- pm_runtime_get_sync(port->dev);
-
- serial8250_do_pm(port, state, old);
-
- if (state)
- pm_runtime_put_sync_suspend(port->dev);
-}
-
static void dw8250_set_termios(struct uart_port *p, struct ktermios *termios,
struct ktermios *old)
{
@@ -357,7 +345,6 @@ static int dw8250_probe(struct platform_device *pdev)
p->mapbase = regs->start;
p->irq = irq;
p->handle_irq = dw8250_handle_irq;
- p->pm = dw8250_do_pm;
p->type = PORT_8250;
p->flags = UPF_SHARE_IRQ | UPF_FIXED_PORT;
p->dev = &pdev->dev;
@@ -486,6 +473,9 @@ static int dw8250_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, data);
+ pm_runtime_use_autosuspend(&pdev->dev);
+ pm_runtime_set_autosuspend_delay(&pdev->dev, -1);
+
pm_runtime_set_active(&pdev->dev);
pm_runtime_enable(&pdev->dev);
--
1.9.1
More information about the linux-yocto
mailing list