mirror of https://github.com/hak5/openwrt.git
73 lines
2.0 KiB
Diff
73 lines
2.0 KiB
Diff
From f0266de1899f043daff3b472b8fdd6e30012cb25 Mon Sep 17 00:00:00 2001
|
|
From: =?utf-8?q?Arve=20Hj=C3=B8nnev=C3=A5g?= <arve@android.com>
|
|
Date: Wed, 9 Jan 2008 11:46:33 -0800
|
|
Subject: [PATCH 121/134] [ARM] goldfish: Implement suspend as wait-for-interrupt.
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=utf-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Signed-off-by: Mike A. Chan <mikechan@google.com>
|
|
Signed-off-by: Arve Hjønnevåg <arve@android.com>
|
|
---
|
|
arch/arm/mach-goldfish/Makefile | 2 +-
|
|
arch/arm/mach-goldfish/pm.c | 43 +++++++++++++++++++++++++++++++++++++++
|
|
2 files changed, 44 insertions(+), 1 deletions(-)
|
|
create mode 100644 arch/arm/mach-goldfish/pm.c
|
|
|
|
--- a/arch/arm/mach-goldfish/Makefile
|
|
+++ b/arch/arm/mach-goldfish/Makefile
|
|
@@ -4,6 +4,6 @@
|
|
|
|
# Object file lists.
|
|
|
|
-obj-y := pdev_bus.o timer.o audio.o
|
|
+obj-y := pdev_bus.o timer.o audio.o pm.o
|
|
obj-$(CONFIG_MACH_GOLDFISH) += board-goldfish.o
|
|
|
|
--- /dev/null
|
|
+++ b/arch/arm/mach-goldfish/pm.c
|
|
@@ -0,0 +1,43 @@
|
|
+/* arch/arm/mach-msm/pm.c
|
|
+ *
|
|
+ * Goldfish Power Management Routines
|
|
+ *
|
|
+ * Copyright (C) 2007 Google, Inc.
|
|
+ *
|
|
+ * This software is licensed under the terms of the GNU General Public
|
|
+ * License version 2, as published by the Free Software Foundation, and
|
|
+ * may be copied, distributed, and modified under those terms.
|
|
+ *
|
|
+ * This program is distributed in the hope that it will be useful,
|
|
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
+ * GNU General Public License for more details.
|
|
+ *
|
|
+ */
|
|
+
|
|
+#include <linux/module.h>
|
|
+#include <linux/kernel.h>
|
|
+#include <linux/init.h>
|
|
+#include <linux/pm.h>
|
|
+#include <linux/suspend.h>
|
|
+#include <mach/system.h>
|
|
+
|
|
+static int goldfish_pm_enter(suspend_state_t state)
|
|
+{
|
|
+ arch_idle();
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static struct platform_suspend_ops goldfish_pm_ops = {
|
|
+ .enter = goldfish_pm_enter,
|
|
+ .valid = suspend_valid_only_mem,
|
|
+};
|
|
+
|
|
+static int __init goldfish_pm_init(void)
|
|
+{
|
|
+ suspend_set_ops(&goldfish_pm_ops);
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+__initcall(goldfish_pm_init);
|
|
+
|