summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/sh/boards/renesas/hs7751rvoip/setup.c13
-rw-r--r--arch/sh/boards/renesas/rts7751r2d/setup.c7
2 files changed, 16 insertions, 4 deletions
diff --git a/arch/sh/boards/renesas/hs7751rvoip/setup.c b/arch/sh/boards/renesas/hs7751rvoip/setup.c
index 29fb5ff70fb..7ce577822dc 100644
--- a/arch/sh/boards/renesas/hs7751rvoip/setup.c
+++ b/arch/sh/boards/renesas/hs7751rvoip/setup.c
@@ -12,15 +12,14 @@
#include <linux/init.h>
#include <linux/irq.h>
-
+#include <linux/mm.h>
+#include <linux/vmalloc.h>
#include <linux/hdreg.h>
#include <linux/ide.h>
+#include <linux/pm.h>
#include <asm/io.h>
#include <asm/hs7751rvoip/hs7751rvoip.h>
-#include <linux/mm.h>
-#include <linux/vmalloc.h>
-
/* defined in mm/ioremap.c */
extern void * p3_ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags);
@@ -31,6 +30,11 @@ const char *get_system_type(void)
return "HS7751RVoIP";
}
+static void hs7751rvoip_power_off(void)
+{
+ ctrl_outw(ctrl_inw(PA_OUTPORTR) & 0xffdf, PA_OUTPORTR);
+}
+
/*
* Initialize the board
*/
@@ -38,6 +42,7 @@ void __init platform_setup(void)
{
printk(KERN_INFO "Renesas Technology Sales HS7751RVoIP-2 support.\n");
ctrl_outb(0xf0, PA_OUTPORTR);
+ pm_power_off = hs7751rvoip_power_off;
debug_counter = 0;
}
diff --git a/arch/sh/boards/renesas/rts7751r2d/setup.c b/arch/sh/boards/renesas/rts7751r2d/setup.c
index 2587fd1a024..7953dde0b91 100644
--- a/arch/sh/boards/renesas/rts7751r2d/setup.c
+++ b/arch/sh/boards/renesas/rts7751r2d/setup.c
@@ -10,6 +10,7 @@
*/
#include <linux/init.h>
+#include <linux/pm.h>
#include <asm/io.h>
#include <asm/rts7751r2d/rts7751r2d.h>
@@ -20,6 +21,11 @@ const char *get_system_type(void)
return "RTS7751R2D";
}
+static void rts7751r2d_power_off(void)
+{
+ ctrl_outw(0x0001, PA_POWOFF);
+}
+
/*
* Initialize the board
*/
@@ -27,5 +33,6 @@ void __init platform_setup(void)
{
printk(KERN_INFO "Renesas Technology Sales RTS7751R2D support.\n");
ctrl_outw(0x0000, PA_OUTPORT);
+ pm_power_off = rts7751r2d_power_off;
debug_counter = 0;
}