summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-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 ae847f1870e0..53d6762a2e40 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/memblock.h>
#include <mach/clk.h>
@@ -324,6 +325,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 void whistler_usb_init(void)
{
tegra_otg_device.dev.platform_data = &tegra_otg_pdata;
@@ -352,6 +369,7 @@ static void __init tegra_whistler_init(void)
whistler_gps_init();
whistler_usb_init();
whistler_scroll_init();
+ whistler_power_off_init();
}
int __init tegra_whistler_protected_aperture_init(void)