Browse Source

sh: Make hs7751rvoip/rts7751r2d use pm_power_off.

These were previously sprinkled in machine_power_off(),
though missed being updated when the rest of the boards
switched over.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt 18 years ago
parent
commit
a56d276c05

+ 9 - 4
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;
 }
 

+ 7 - 0
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;
 }