From patchwork Thu Jul 1 22:12:26 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rafael Wysocki X-Patchwork-Id: 109734 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.4/8.14.3) with ESMTP id o61MH8rA028887 for ; Thu, 1 Jul 2010 22:17:08 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932569Ab0GAWQ6 (ORCPT ); Thu, 1 Jul 2010 18:16:58 -0400 Received: from ogre.sisk.pl ([217.79.144.158]:42768 "EHLO ogre.sisk.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932585Ab0GAWQy (ORCPT ); Thu, 1 Jul 2010 18:16:54 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by ogre.sisk.pl (Postfix) with ESMTP id 2E35E18AA5C; Fri, 2 Jul 2010 00:03:12 +0200 (CEST) Received: from ogre.sisk.pl ([127.0.0.1]) by localhost (ogre.sisk.pl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 06991-08; Fri, 2 Jul 2010 00:02:54 +0200 (CEST) Received: from ferrari.localnet (220-bem-13.acn.waw.pl [82.210.184.220]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ogre.sisk.pl (Postfix) with ESMTP id B935D18AA4A; Fri, 2 Jul 2010 00:02:54 +0200 (CEST) From: "Rafael J. Wysocki" To: Len Brown Subject: [PATCH 2/5] ACPI / Sleep: Rework enabling wakeup devices Date: Fri, 2 Jul 2010 00:12:26 +0200 User-Agent: KMail/1.13.3 (Linux/2.6.35-rc3-rjw+; KDE/4.4.3; x86_64; ; ) Cc: ACPI Devel Maling List , Matthew Garrett , linux-pm@lists.linux-foundation.org References: <201007020010.13755.rjw@sisk.pl> In-Reply-To: <201007020010.13755.rjw@sisk.pl> MIME-Version: 1.0 Message-Id: <201007020012.27005.rjw@sisk.pl> X-Virus-Scanned: amavisd-new at ogre.sisk.pl using MkS_Vir for Linux Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Thu, 01 Jul 2010 22:17:08 +0000 (UTC) Index: linux-2.6/drivers/acpi/sleep.c =================================================================== --- linux-2.6.orig/drivers/acpi/sleep.c +++ linux-2.6/drivers/acpi/sleep.c @@ -70,10 +70,11 @@ static int acpi_sleep_prepare(u32 acpi_s } ACPI_FLUSH_CPU_CACHE(); - acpi_enable_wakeup_device_prep(acpi_state); #endif printk(KERN_INFO PREFIX "Preparing to enter system sleep state S%d\n", acpi_state); + acpi_enable_wakeup_device_prep(acpi_state); + acpi_enable_wakeup_device(acpi_state); acpi_enter_sleep_state_prep(acpi_state); return 0; } @@ -233,7 +234,6 @@ static int acpi_suspend_enter(suspend_st } local_irq_save(flags); - acpi_enable_wakeup_device(acpi_state); switch (acpi_state) { case ACPI_STATE_S1: barrier(); @@ -437,7 +437,6 @@ static int acpi_hibernation_enter(void) ACPI_FLUSH_CPU_CACHE(); local_irq_save(flags); - acpi_enable_wakeup_device(ACPI_STATE_S4); /* This shouldn't return. If it returns, we have a problem */ status = acpi_enter_sleep_state(ACPI_STATE_S4); /* Reprogram control registers and execute _BFS */ @@ -682,7 +681,6 @@ static void acpi_power_off(void) /* acpi_sleep_prepare(ACPI_STATE_S5) should have already been called */ printk(KERN_DEBUG "%s called\n", __func__); local_irq_disable(); - acpi_enable_wakeup_device(ACPI_STATE_S5); acpi_enter_sleep_state(ACPI_STATE_S5); }