From patchwork Fri Mar 22 16:20:06 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rickard Andersson X-Patchwork-Id: 2321661 Return-Path: X-Original-To: patchwork-linux-pm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork2.kernel.org (Postfix) with ESMTP id 5DF9CDFE82 for ; Fri, 22 Mar 2013 16:20:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933838Ab3CVQU3 (ORCPT ); Fri, 22 Mar 2013 12:20:29 -0400 Received: from eu1sys200aog115.obsmtp.com ([207.126.144.139]:53426 "EHLO eu1sys200aog115.obsmtp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933769Ab3CVQU2 (ORCPT ); Fri, 22 Mar 2013 12:20:28 -0400 Received: from beta.dmz-us.st.com ([167.4.1.35]) (using TLSv1) by eu1sys200aob115.postini.com ([207.126.147.11]) with SMTP ID DSNKUUyEyOGjA/5FomrZvg88uFnxjsidaXzs@postini.com; Fri, 22 Mar 2013 16:20:28 UTC Received: from zeta.dmz-us.st.com (ns4.st.com [167.4.16.71]) by beta.dmz-us.st.com (STMicroelectronics) with ESMTP id 6095751; Fri, 22 Mar 2013 16:19:28 +0000 (GMT) Received: from relay2.stm.gmessaging.net (unknown [10.230.100.18]) by zeta.dmz-us.st.com (STMicroelectronics) with ESMTP id 4FA1654; Fri, 22 Mar 2013 09:52:40 +0000 (GMT) Received: from exdcvycastm003.EQ1STM.local (alteon-source-exch [10.230.100.61]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (Client CN "exdcvycastm003", Issuer "exdcvycastm003" (not verified)) by relay2.stm.gmessaging.net (Postfix) with ESMTPS id CF0AEA8065; Fri, 22 Mar 2013 17:20:12 +0100 (CET) Received: from steludxu2826.lud.stericsson.com (10.230.100.153) by smtp.stericsson.com (10.230.100.1) with Microsoft SMTP Server (TLS) id 8.3.279.5; Fri, 22 Mar 2013 17:20:18 +0100 From: Rickard Andersson To: , Cc: , , , , , Subject: [RFC PATCH 2/8] ARM: ux500: Add platform suspend ops Date: Fri, 22 Mar 2013 17:20:06 +0100 Message-ID: <1363969212-14864-3-git-send-email-rickard.andersson@stericsson.com> X-Mailer: git-send-email 1.8.2 In-Reply-To: <1363969212-14864-1-git-send-email-rickard.andersson@stericsson.com> References: <1363969212-14864-1-git-send-email-rickard.andersson@stericsson.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org Support for platform suspend operation WFI (Wait For Interrupt) is added. Signed-off-by: Rickard Andersson --- arch/arm/mach-ux500/Makefile | 1 + arch/arm/mach-ux500/suspend.c | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 arch/arm/mach-ux500/suspend.c diff --git a/arch/arm/mach-ux500/Makefile b/arch/arm/mach-ux500/Makefile index f24710d..f182cc21 100644 --- a/arch/arm/mach-ux500/Makefile +++ b/arch/arm/mach-ux500/Makefile @@ -5,6 +5,7 @@ obj-y := cpu.o devices.o devices-common.o \ id.o usb.o timer.o obj-$(CONFIG_CPU_IDLE) += cpuidle.o +obj-$(CONFIG_SUSPEND) += suspend.o obj-$(CONFIG_CACHE_L2X0) += cache-l2x0.o obj-$(CONFIG_UX500_SOC_DB8500) += cpu-db8500.o devices-db8500.o obj-$(CONFIG_MACH_MOP500) += board-mop500.o board-mop500-sdi.o \ diff --git a/arch/arm/mach-ux500/suspend.c b/arch/arm/mach-ux500/suspend.c new file mode 100644 index 0000000..d1ac203 --- /dev/null +++ b/arch/arm/mach-ux500/suspend.c @@ -0,0 +1,35 @@ +/* + * Copyright (C) STMicroelectronics 2009 + * Copyright (C) ST-Ericsson SA 2010-2013 + * + * License Terms: GNU General Public License v2 + * + * Authors: Rickard Andersson , + * Jonas Aaberg , + * Sundar Iyer for ST-Ericsson. + */ + +#include + +static int ux500_suspend_enter(suspend_state_t state) +{ + cpu_do_idle(); + return 0; +} + +static int ux500_suspend_valid(suspend_state_t state) +{ + return state == PM_SUSPEND_MEM || state == PM_SUSPEND_STANDBY; +} + +static const struct platform_suspend_ops ux500_suspend_ops = { + .enter = ux500_suspend_enter, + .valid = ux500_suspend_valid, +}; + +static __init int ux500_suspend_init(void) +{ + suspend_set_ops(&ux500_suspend_ops); + return 0; +} +device_initcall(ux500_suspend_init);