summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrashant Gaikwad <pgaikwad@nvidia.com>2011-03-10 16:27:49 +0530
committerVarun Colbert <vcolbert@nvidia.com>2011-03-14 17:43:01 -0800
commit5aeaa79acebc74914c4de01c8b0f046094a0db32 (patch)
tree35ae95baecf3289c91db9e327a9437f35a17c936
parent0ea635e64cc77747e9aeedeb294c81a521f31e4a (diff)
[ARM] tegra: set pm_power_off to whistler routine
for whistler, implement pm_power_off with max8907c's power off routine. Bug 799957 Bug 800602 (Cold boot) Change-Id: I003547d55a4203f2d04ba0086199b61d05936563 Reviewed-on: http://git-master/r/22388 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/board-whistler.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-whistler.c b/arch/arm/mach-tegra/board-whistler.c
index ff5f3180c83c..e6b76e01f622 100644
--- a/arch/arm/mach-tegra/board-whistler.c
+++ b/arch/arm/mach-tegra/board-whistler.c
@@ -34,6 +34,7 @@
#include <linux/gpio_scrollwheel.h>
#include <linux/input.h>
#include <linux/platform_data/tegra_usb.h>
+#include <linux/mfd/max8907c.h>
#include <linux/usb/android_composite.h>
#include <linux/memblock.h>
@@ -510,6 +511,22 @@ static int __init whistler_gps_init(void)
return 0;
}
+static void whistler_power_off(void)
+{
+ int ret;
+
+ ret = max8907c_power_off();
+ if (ret)
+ pr_err("whistler: failed to power off\n");
+
+ while (1);
+}
+
+static void __init whistler_power_off_init(void)
+{
+ pm_power_off = whistler_power_off;
+}
+
static const struct i2c_board_info whistler_codec_info[] = {
{
I2C_BOARD_INFO("wm8753", 0x1a),
@@ -547,6 +564,7 @@ static void __init tegra_whistler_init(void)
whistler_usb_init();
whistler_scroll_init();
whistler_codec_init();
+ whistler_power_off_init();
}
int __init tegra_whistler_protected_aperture_init(void)