[ARM] tegra: stingray: register pm_power_off function
authorJames Wylder <james.wylder@motorola.com>
Thu, 27 May 2010 23:01:04 +0000 (16:01 -0700)
committerColin Cross <ccross@android.com>
Wed, 6 Oct 2010 23:33:00 +0000 (16:33 -0700)
Change-Id: I9d0cd40c1070b6c88418e2f983c2e4013a5a9f75
Signed-off-by: James Wylder <james.wylder@motorola.com>
arch/arm/mach-tegra/board-stingray.c

index 40ceb036b5d9f44510dc310755a90723f580f716..dae71d8feb3cf879ffd90c952de7537928c47b44 100644 (file)
@@ -270,6 +270,19 @@ static void __init tegra_stingray_fixup(struct machine_desc *desc, struct tag *t
        mi->bank[1].size = SZ_512M;
 }
 
+static void stingray_power_off(void)
+{
+       gpio_direction_output(TEGRA_GPIO_PV7, 0);
+}
+
+static void __init stingray_power_off_init(void)
+{
+       tegra_gpio_enable(TEGRA_GPIO_PV7);
+       if (!gpio_request(TEGRA_GPIO_PV7, "wdi")) {
+               pm_power_off = stingray_power_off;
+       }
+}
+
 static void __init tegra_stingray_init(void)
 {
        struct clk *clk;
@@ -300,6 +313,7 @@ static void __init tegra_stingray_init(void)
 
        platform_add_devices(stingray_devices, ARRAY_SIZE(stingray_devices));
 
+       stingray_power_off_init();
        stingray_keypad_init();
        stingray_touch_init();
        stingray_spi_init();