diff options
-rw-r--r-- | arch/sh/boards/renesas/hs7751rvoip/setup.c | 13 | ||||
-rw-r--r-- | arch/sh/boards/renesas/rts7751r2d/setup.c | 7 |
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; } |