From patchwork Thu Jun 27 15:02:00 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ben Guthro X-Patchwork-Id: 2794021 Return-Path: X-Original-To: patchwork-linux-acpi@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 1053CBF4A1 for ; Thu, 27 Jun 2013 15:03:43 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id BEDCC203E5 for ; Thu, 27 Jun 2013 15:03:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 78186203E9 for ; Thu, 27 Jun 2013 15:03:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753964Ab3F0PCe (ORCPT ); Thu, 27 Jun 2013 11:02:34 -0400 Received: from smtp.citrix.com ([66.165.176.89]:64660 "EHLO SMTP.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751893Ab3F0PCd (ORCPT ); Thu, 27 Jun 2013 11:02:33 -0400 X-IronPort-AV: E=Sophos;i="4.87,952,1363132800"; d="scan'208";a="33832845" Received: from accessns.citrite.net (HELO FTLPEX01CL01.citrite.net) ([10.9.154.239]) by FTLPIPO01.CITRIX.COM with ESMTP/TLS/AES128-SHA; 27 Jun 2013 15:02:32 +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; Thu, 27 Jun 2013 11:02:32 -0400 From: Ben Guthro To: Konrad Rzeszutek Wilk , Jan Beulich , "Rafaell J . Wysocki" , , , CC: Ben Guthro , Bob Moore Subject: [PATCH v4 2/5] acpi: Call acpi_os_prepare_sleep hook in reduced hardware sleep path Date: Thu, 27 Jun 2013 11:02:00 -0400 Message-ID: <1372345323-9266-3-git-send-email-benjamin.guthro@citrix.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1372345323-9266-1-git-send-email-benjamin.guthro@citrix.com> References: <1372345323-9266-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: Rafaell J. Wysocki Cc: linux-acpi@vger.kernel.org --- 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__ */