diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-omap2/serial.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c index 6ffbc924c4d4..ff83e91e6109 100644 --- a/arch/arm/mach-omap2/serial.c +++ b/arch/arm/mach-omap2/serial.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <linux/platform_device.h> | 26 | #include <linux/platform_device.h> |
27 | #include <linux/slab.h> | 27 | #include <linux/slab.h> |
28 | #include <linux/serial_8250.h> | 28 | #include <linux/serial_8250.h> |
29 | #include <linux/pm_runtime.h> | ||
29 | 30 | ||
30 | #ifdef CONFIG_SERIAL_OMAP | 31 | #ifdef CONFIG_SERIAL_OMAP |
31 | #include <plat/omap-serial.h> | 32 | #include <plat/omap-serial.h> |
@@ -530,14 +531,17 @@ void omap_uart_enable_irqs(int enable) | |||
530 | struct omap_uart_state *uart; | 531 | struct omap_uart_state *uart; |
531 | 532 | ||
532 | list_for_each_entry(uart, &uart_list, node) { | 533 | list_for_each_entry(uart, &uart_list, node) { |
533 | if (enable) | 534 | if (enable) { |
535 | pm_runtime_put_sync(&uart->pdev->dev); | ||
534 | ret = request_threaded_irq(uart->irq, NULL, | 536 | ret = request_threaded_irq(uart->irq, NULL, |
535 | omap_uart_interrupt, | 537 | omap_uart_interrupt, |
536 | IRQF_SHARED, | 538 | IRQF_SHARED, |
537 | "serial idle", | 539 | "serial idle", |
538 | (void *)uart); | 540 | (void *)uart); |
539 | else | 541 | } else { |
542 | pm_runtime_get_noresume(&uart->pdev->dev); | ||
540 | free_irq(uart->irq, (void *)uart); | 543 | free_irq(uart->irq, (void *)uart); |
544 | } | ||
541 | } | 545 | } |
542 | } | 546 | } |
543 | 547 | ||