From patchwork Mon Sep 27 14:49:53 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Govindraj.R" X-Patchwork-Id: 212692 X-Patchwork-Delegate: khilman@deeprootsystems.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id o8REnp2a032659 for ; Mon, 27 Sep 2010 14:50:04 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759506Ab0I0OuD (ORCPT ); Mon, 27 Sep 2010 10:50:03 -0400 Received: from bear.ext.ti.com ([192.94.94.41]:45989 "EHLO bear.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757999Ab0I0OuB (ORCPT ); Mon, 27 Sep 2010 10:50:01 -0400 Received: from dlep33.itg.ti.com ([157.170.170.112]) by bear.ext.ti.com (8.13.7/8.13.7) with ESMTP id o8REnspx004087 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 27 Sep 2010 09:49:54 -0500 Received: from dbdmail.itg.ti.com (localhost [127.0.0.1]) by dlep33.itg.ti.com (8.13.7/8.13.7) with ESMTP id o8REnpWA027520; Mon, 27 Sep 2010 09:49:52 -0500 (CDT) Received: from 10.24.255.17 (SquirrelMail authenticated user x0100947); by dbdmail.itg.ti.com with HTTP; Mon, 27 Sep 2010 20:19:53 +0530 (IST) Message-ID: <43539.10.24.255.17.1285598993.squirrel@dbdmail.itg.ti.com> Date: Mon, 27 Sep 2010 20:19:53 +0530 (IST) Subject: [PATCH 05/13 v3] OMAP: UART: don't do automatic bus-level suspend/resume From: "Govindraj.R" To: linux-omap@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-serial@vger.kernel.org, "Kevin Hilman" , "Tony Lindgren" User-Agent: SquirrelMail/1.4.3a X-Mailer: SquirrelMail/1.4.3a MIME-Version: 1.0 X-Priority: 3 (Normal) Importance: Normal Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter1.kernel.org [140.211.167.41]); Mon, 27 Sep 2010 14:50:04 +0000 (UTC) diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c index 6ffbc92..ff83e91 100644 --- a/arch/arm/mach-omap2/serial.c +++ b/arch/arm/mach-omap2/serial.c @@ -26,6 +26,7 @@ #include #include #include +#include #ifdef CONFIG_SERIAL_OMAP #include @@ -530,14 +531,17 @@ void omap_uart_enable_irqs(int enable) struct omap_uart_state *uart; list_for_each_entry(uart, &uart_list, node) { - if (enable) + if (enable) { + pm_runtime_put_sync(&uart->pdev->dev); ret = request_threaded_irq(uart->irq, NULL, omap_uart_interrupt, IRQF_SHARED, "serial idle", (void *)uart); - else + } else { + pm_runtime_get_noresume(&uart->pdev->dev); free_irq(uart->irq, (void *)uart); + } } }