From patchwork Mon Jul 11 23:29:29 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kevin Hilman X-Patchwork-Id: 966862 Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) by demeter1.kernel.org (8.14.4/8.14.4) with ESMTP id p6BNV8Nt030627 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 11 Jul 2011 23:31:29 GMT Received: from canuck.infradead.org ([2001:4978:20e::1]) by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1QgPwA-0005aq-Qe; Mon, 11 Jul 2011 23:30:53 +0000 Received: from localhost ([127.0.0.1] helo=canuck.infradead.org) by canuck.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1QgPw9-00064H-OG; Mon, 11 Jul 2011 23:30:49 +0000 Received: from na3sys009aog108.obsmtp.com ([74.125.149.199]) by canuck.infradead.org with smtps (Exim 4.76 #1 (Red Hat Linux)) id 1QgPv8-0005pE-Cf for linux-arm-kernel@lists.infradead.org; Mon, 11 Jul 2011 23:29:47 +0000 Received: from mail-iw0-f178.google.com ([209.85.214.178]) (using TLSv1) by na3sys009aob108.postini.com ([74.125.148.12]) with SMTP ID DSNKThuHaek2CYk1ApkxMHgjxaEx2Os/ldir@postini.com; Mon, 11 Jul 2011 16:29:46 PDT Received: by mail-iw0-f178.google.com with SMTP id 10so4303252iwc.9 for ; Mon, 11 Jul 2011 16:29:45 -0700 (PDT) Received: by 10.43.46.201 with SMTP id up9mr5387911icb.499.1310426985107; Mon, 11 Jul 2011 16:29:45 -0700 (PDT) Received: from localhost (c-24-19-7-36.hsd1.wa.comcast.net [24.19.7.36]) by mx.google.com with ESMTPS id fw9sm7987406ibb.30.2011.07.11.16.29.43 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 11 Jul 2011 16:29:44 -0700 (PDT) From: Kevin Hilman To: "Rafael J. Wysocki" , Paul Walmsley , linux-omap@vger.kernel.org Subject: [PATCH 4/4] OMAP: PM: disable idle on suspend for GPIO and UART Date: Mon, 11 Jul 2011 16:29:29 -0700 Message-Id: <1310426969-30306-5-git-send-email-khilman@ti.com> X-Mailer: git-send-email 1.7.6 In-Reply-To: <1310426969-30306-1-git-send-email-khilman@ti.com> References: <1310426969-30306-1-git-send-email-khilman@ti.com> X-CRM114-Version: 20090807-BlameThorstenAndJenny ( TRE 0.7.6 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20110711_192946_825380_D57038A8 X-CRM114-Status: GOOD ( 12.48 ) X-Spam-Score: -2.3 (--) X-Spam-Report: SpamAssassin version 3.3.1 on canuck.infradead.org summary: Content analysis details: (-2.3 points) pts rule name description ---- ---------------------- -------------------------------------------------- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/, medium trust [74.125.149.199 listed in list.dnswl.org] Cc: linux-pm@lists.linux-foundation.org, linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Mon, 11 Jul 2011 23:31:29 +0000 (UTC) Until these drivers are runtime PM converted, their device power states are managed by calling custom driver hooks late in the idle/suspend path. Therefore, do not let the suspend/resume core code automatically idle these devices since they will be managed manually by the OMAP PM core very late in the idle/suspend path. Signed-off-by: Kevin Hilman --- arch/arm/mach-omap2/gpio.c | 2 ++ arch/arm/mach-omap2/serial.c | 1 + 2 files changed, 3 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-omap2/gpio.c b/arch/arm/mach-omap2/gpio.c index 9529842..48e5ece 100644 --- a/arch/arm/mach-omap2/gpio.c +++ b/arch/arm/mach-omap2/gpio.c @@ -87,6 +87,8 @@ static int omap2_gpio_dev_init(struct omap_hwmod *oh, void *unused) return PTR_ERR(od); } + omap_device_disable_idle_on_suspend(od); + gpio_bank_count++; return 0; } diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c index 1ac361b..466fc722 100644 --- a/arch/arm/mach-omap2/serial.c +++ b/arch/arm/mach-omap2/serial.c @@ -805,6 +805,7 @@ void __init omap_serial_init_port(struct omap_board_data *bdata) WARN(IS_ERR(od), "Could not build omap_device for %s: %s.\n", name, oh->name); + omap_device_disable_idle_on_suspend(od); oh->mux = omap_hwmod_mux_init(bdata->pads, bdata->pads_cnt); uart->irq = oh->mpu_irqs[0].irq;