pm.c (53279f36dccffc26ff536003fd6bb97cc21c3b82) | pm.c (7a2848d369b2b9281400e6c9f08e21ec71cd1dcb) |
---|---|
1/* 2 * Copyright 2011 Calxeda, Inc. 3 * 4 * This program is free software; you can redistribute it and/or modify it 5 * under the terms and conditions of the GNU General Public License, 6 * version 2, as published by the Free Software Foundation. 7 * 8 * This program is distributed in the hope it will be useful, but WITHOUT --- 5 unchanged lines hidden (view full) --- 14 * this program. If not, see <http://www.gnu.org/licenses/>. 15 */ 16 17#include <linux/init.h> 18#include <linux/io.h> 19#include <linux/suspend.h> 20 21#include <asm/proc-fns.h> | 1/* 2 * Copyright 2011 Calxeda, Inc. 3 * 4 * This program is free software; you can redistribute it and/or modify it 5 * under the terms and conditions of the GNU General Public License, 6 * version 2, as published by the Free Software Foundation. 7 * 8 * This program is distributed in the hope it will be useful, but WITHOUT --- 5 unchanged lines hidden (view full) --- 14 * this program. If not, see <http://www.gnu.org/licenses/>. 15 */ 16 17#include <linux/init.h> 18#include <linux/io.h> 19#include <linux/suspend.h> 20 21#include <asm/proc-fns.h> |
22#include <asm/smp_scu.h> | |
23#include <asm/suspend.h> 24 25#include "core.h" 26#include "sysregs.h" 27 28static int highbank_suspend_finish(unsigned long val) 29{ 30 cpu_do_idle(); 31 return 0; 32} 33 34static int highbank_pm_enter(suspend_state_t state) 35{ 36 hignbank_set_pwr_suspend(); 37 highbank_set_cpu_jump(0, cpu_resume); | 22#include <asm/suspend.h> 23 24#include "core.h" 25#include "sysregs.h" 26 27static int highbank_suspend_finish(unsigned long val) 28{ 29 cpu_do_idle(); 30 return 0; 31} 32 33static int highbank_pm_enter(suspend_state_t state) 34{ 35 hignbank_set_pwr_suspend(); 36 highbank_set_cpu_jump(0, cpu_resume); |
38 39 scu_power_mode(scu_base_addr, SCU_PM_POWEROFF); | |
40 cpu_suspend(0, highbank_suspend_finish); 41 42 return 0; 43} 44 45static const struct platform_suspend_ops highbank_pm_ops = { 46 .enter = highbank_pm_enter, 47 .valid = suspend_valid_only_mem, 48}; 49 50void __init highbank_pm_init(void) 51{ 52 suspend_set_ops(&highbank_pm_ops); 53} | 37 cpu_suspend(0, highbank_suspend_finish); 38 39 return 0; 40} 41 42static const struct platform_suspend_ops highbank_pm_ops = { 43 .enter = highbank_pm_enter, 44 .valid = suspend_valid_only_mem, 45}; 46 47void __init highbank_pm_init(void) 48{ 49 suspend_set_ops(&highbank_pm_ops); 50} |