diff --git a/arch/sh/boards/renesas/hs7751rvoip/setup.c b/arch/sh/boards/renesas/hs7751rvoip/setup.c index 29fb5ff70fb54fc9f7b19f2ac3612820c7deb925..7ce577822dc09fb68b8a9bd8512a4a248c8d0e75 100644 --- a/arch/sh/boards/renesas/hs7751rvoip/setup.c +++ b/arch/sh/boards/renesas/hs7751rvoip/setup.c @@ -12,15 +12,14 @@ #include #include - +#include +#include #include #include +#include #include #include -#include -#include - /* 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 2587fd1a0240ea61deca57837f90dfb16e1230f4..7953dde0b91c91dbac87a859dc4a4aa6c90df20c 100644 --- a/arch/sh/boards/renesas/rts7751r2d/setup.c +++ b/arch/sh/boards/renesas/rts7751r2d/setup.c @@ -10,6 +10,7 @@ */ #include +#include #include #include @@ -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; }