From patchwork Fri Jun 28 13:46:21 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ben Guthro X-Patchwork-Id: 2799441 Return-Path: X-Original-To: patchwork-linux-acpi@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id D35C79F245 for ; Fri, 28 Jun 2013 13:48:09 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 95F28201AF for ; Fri, 28 Jun 2013 13:48:08 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 651072019C for ; Fri, 28 Jun 2013 13:48:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754829Ab3F1Nrn (ORCPT ); Fri, 28 Jun 2013 09:47:43 -0400 Received: from smtp.citrix.com ([66.165.176.89]:6000 "EHLO SMTP.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751407Ab3F1Nqk (ORCPT ); Fri, 28 Jun 2013 09:46:40 -0400 X-IronPort-AV: E=Sophos;i="4.87,958,1363132800"; d="scan'208";a="34084475" Received: from accessns.citrite.net (HELO FTLPEX01CL01.citrite.net) ([10.9.154.239]) by FTLPIPO01.CITRIX.COM with ESMTP/TLS/AES128-SHA; 28 Jun 2013 13:46:40 +0000 Received: from citrite.net (10.204.241.11) by FTLPEX01CL01.citrite.net (10.13.107.78) with Microsoft SMTP Server id 14.2.342.4; Fri, 28 Jun 2013 09:46:39 -0400 From: Ben Guthro To: Konrad Rzeszutek Wilk , Jan Beulich , "Rafael J . Wysocki" , , , CC: Ben Guthro , Bob Moore Subject: [PATCH v5 2/5] acpi: Call acpi_os_prepare_sleep hook in reduced hardware sleep path Date: Fri, 28 Jun 2013 09:46:21 -0400 Message-ID: <1372427184-6197-3-git-send-email-benjamin.guthro@citrix.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1372427184-6197-1-git-send-email-benjamin.guthro@citrix.com> References: <1372427184-6197-1-git-send-email-benjamin.guthro@citrix.com> MIME-Version: 1.0 X-Originating-IP: [10.204.241.11] Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org X-Spam-Status: No, score=-8.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP In version 3.4 acpi_os_prepare_sleep() got introduced in parallel with reduced hardware sleep support, and the two changes didn't get synchronized: The new code doesn't call the hook function (if so requested). Fix this, requiring a parameter to be added to the hook function to distinguish "extended" from "legacy" sleep. Signed-off-by: Jan Beulich Signed-off-by: Ben Guthro Cc: Bob Moore Cc: Rafael J. Wysocki Cc: linux-acpi@vger.kernel.org Reviewed-by: Konrad Rzeszutek Wilk --- drivers/acpi/acpica/hwesleep.c | 7 +++++++ drivers/acpi/acpica/hwsleep.c | 2 +- include/acpi/acpiosxf.h | 4 ++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/drivers/acpi/acpica/hwesleep.c b/drivers/acpi/acpica/hwesleep.c index 5e5f762..69b3e15 100644 --- a/drivers/acpi/acpica/hwesleep.c +++ b/drivers/acpi/acpica/hwesleep.c @@ -128,6 +128,13 @@ acpi_status acpi_hw_extended_sleep(u8 sleep_state) ACPI_FLUSH_CPU_CACHE(); + status = acpi_os_prepare_sleep(sleep_state, acpi_gbl_sleep_type_a, + acpi_gbl_sleep_type_b, TRUE); + if (ACPI_SKIP(status)) + return_ACPI_STATUS(AE_OK); + if (ACPI_FAILURE(status)) + return_ACPI_STATUS(status); + /* * Set the SLP_TYP and SLP_EN bits. * diff --git a/drivers/acpi/acpica/hwsleep.c b/drivers/acpi/acpica/hwsleep.c index 867b947..cf78157 100644 --- a/drivers/acpi/acpica/hwsleep.c +++ b/drivers/acpi/acpica/hwsleep.c @@ -152,7 +152,7 @@ acpi_status acpi_hw_legacy_sleep(u8 sleep_state) ACPI_FLUSH_CPU_CACHE(); status = acpi_os_prepare_sleep(sleep_state, pm1a_control, - pm1b_control); + pm1b_control, FALSE); if (ACPI_SKIP(status)) return_ACPI_STATUS(AE_OK); if (ACPI_FAILURE(status)) diff --git a/include/acpi/acpiosxf.h b/include/acpi/acpiosxf.h index c68b779..51d0f78 100644 --- a/include/acpi/acpiosxf.h +++ b/include/acpi/acpiosxf.h @@ -279,7 +279,7 @@ void acpi_os_close_directory(void *dir_handle); /* * ACPI sleep preparation */ -acpi_status acpi_os_prepare_sleep(u8 sleep_state, - u32 pm1a_control, u32 pm1b_control); +acpi_status acpi_os_prepare_sleep(u8 sleep_state, u32 val_a, u32 val_b, + u8 extended); #endif /* __ACPIOSXF_H__ */