summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c2412
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2008-07-03 12:24:36 +0200
committerBen Dooks <ben-linux@fluff.org>2008-07-03 17:51:27 +0200
commitdd1086f43dc7205b451ae95e37d4813a9c28611d (patch)
tree244a3a9e39042ffb27f3a3994bbc504592583907 /arch/arm/mach-s3c2412
parent[ARM] JIVE: Add i2c device info for LIS302DL sensor (diff)
downloadlinux-dd1086f43dc7205b451ae95e37d4813a9c28611d.tar.xz
linux-dd1086f43dc7205b451ae95e37d4813a9c28611d.zip
[ARM] JIVE: Add power off on shutdown support
Add pm_power_off hook to allow the Logitech Jive to shutdown when asked to halt. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch/arm/mach-s3c2412')
-rw-r--r--arch/arm/mach-s3c2412/mach-jive.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c2412/mach-jive.c b/arch/arm/mach-s3c2412/mach-jive.c
index 7f5d0025060d..7f5924713485 100644
--- a/arch/arm/mach-s3c2412/mach-jive.c
+++ b/arch/arm/mach-s3c2412/mach-jive.c
@@ -528,6 +528,14 @@ static void __init jive_map_io(void)
s3c24xx_init_uarts(jive_uartcfgs, ARRAY_SIZE(jive_uartcfgs));
}
+static void jive_power_off(void)
+{
+ printk(KERN_INFO "powering system down...\n");
+
+ s3c2410_gpio_setpin(S3C2410_GPC5, 1);
+ s3c2410_gpio_cfgpin(S3C2410_GPC5, S3C2410_GPIO_OUTPUT);
+}
+
static void __init jive_machine_init(void)
{
/* register system devices for managing low level suspend */
@@ -661,6 +669,8 @@ static void __init jive_machine_init(void)
s3c_device_i2c.dev.platform_data = &jive_i2c_cfg;
i2c_register_board_info(0, jive_i2c_devs, ARRAY_SIZE(jive_i2c_devs));
+ pm_power_off = jive_power_off;
+
platform_add_devices(jive_devices, ARRAY_SIZE(jive_devices));
}