]> pilppa.com Git - linux-2.6-omap-h63xx.git/commitdiff
[ARM] Orion: Add Buffalo Linkstation Mini power-off method
authorAlexey Kopytko <alexey@kopytko.ru>
Fri, 26 Sep 2008 02:13:39 +0000 (11:13 +0900)
committerNicolas Pitre <nico@cam.org>
Fri, 26 Sep 2008 03:54:19 +0000 (23:54 -0400)
This patch adds specific power-off method for Buffalo Linkstation Mini
board. The board has a hardware switch which should be monitored from
userspace. When the switch is in OFF position the board should be rebooted
and U-Boot will start in an idle mode and wait for the user to move the
power switch back to ON position.

Signed-off-by: Alexey Kopytko <alexey@kopytko.ru>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
arch/arm/mach-orion5x/lsmini-setup.c

index 4311dafd7e265c1e1958e6466cc0a5d768116ded..e0c43b8beb72afa27ba50f15c5d30732461a8874 100644 (file)
@@ -173,6 +173,23 @@ static struct mv_sata_platform_data lsmini_sata_data = {
 };
 
 
+/*****************************************************************************
+ * Linkstation Mini specific power off method: reboot
+ ****************************************************************************/
+/*
+ * On the Linkstation Mini, the shutdown process is following:
+ * - Userland monitors key events until the power switch goes to off position
+ * - The board reboots
+ * - U-boot starts and goes into an idle mode waiting for the user
+ *   to move the switch to ON position
+ */
+
+static void lsmini_power_off(void)
+{
+       arch_reset(0);
+}
+
+
 /*****************************************************************************
  * General Setup
  ****************************************************************************/
@@ -241,6 +258,9 @@ static void __init lsmini_init(void)
        /* enable USB power */
        gpio_set_value(LSMINI_GPIO_USB_POWER, 1);
 
+       /* register power-off method */
+       pm_power_off = lsmini_power_off;
+
        pr_info("%s: finished\n", __func__);
 }