aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/power/suspend.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c
index 1020f597ff14..87331565e505 100644
--- a/kernel/power/suspend.c
+++ b/kernel/power/suspend.c
@@ -61,7 +61,7 @@ static const struct platform_s2idle_ops *s2idle_ops;
61static DECLARE_SWAIT_QUEUE_HEAD(s2idle_wait_head); 61static DECLARE_SWAIT_QUEUE_HEAD(s2idle_wait_head);
62 62
63enum s2idle_states __read_mostly s2idle_state; 63enum s2idle_states __read_mostly s2idle_state;
64static DEFINE_SPINLOCK(s2idle_lock); 64static DEFINE_RAW_SPINLOCK(s2idle_lock);
65 65
66void s2idle_set_ops(const struct platform_s2idle_ops *ops) 66void s2idle_set_ops(const struct platform_s2idle_ops *ops)
67{ 67{
@@ -79,12 +79,12 @@ static void s2idle_enter(void)
79{ 79{
80 trace_suspend_resume(TPS("machine_suspend"), PM_SUSPEND_TO_IDLE, true); 80 trace_suspend_resume(TPS("machine_suspend"), PM_SUSPEND_TO_IDLE, true);
81 81
82 spin_lock_irq(&s2idle_lock); 82 raw_spin_lock_irq(&s2idle_lock);
83 if (pm_wakeup_pending()) 83 if (pm_wakeup_pending())
84 goto out; 84 goto out;
85 85
86 s2idle_state = S2IDLE_STATE_ENTER; 86 s2idle_state = S2IDLE_STATE_ENTER;
87 spin_unlock_irq(&s2idle_lock); 87 raw_spin_unlock_irq(&s2idle_lock);
88 88
89 get_online_cpus(); 89 get_online_cpus();
90 cpuidle_resume(); 90 cpuidle_resume();
@@ -98,11 +98,11 @@ static void s2idle_enter(void)
98 cpuidle_pause(); 98 cpuidle_pause();
99 put_online_cpus(); 99 put_online_cpus();
100 100
101 spin_lock_irq(&s2idle_lock); 101 raw_spin_lock_irq(&s2idle_lock);
102 102
103 out: 103 out:
104 s2idle_state = S2IDLE_STATE_NONE; 104 s2idle_state = S2IDLE_STATE_NONE;
105 spin_unlock_irq(&s2idle_lock); 105 raw_spin_unlock_irq(&s2idle_lock);
106 106
107 trace_suspend_resume(TPS("machine_suspend"), PM_SUSPEND_TO_IDLE, false); 107 trace_suspend_resume(TPS("machine_suspend"), PM_SUSPEND_TO_IDLE, false);
108} 108}
@@ -157,12 +157,12 @@ void s2idle_wake(void)
157{ 157{
158 unsigned long flags; 158 unsigned long flags;
159 159
160 spin_lock_irqsave(&s2idle_lock, flags); 160 raw_spin_lock_irqsave(&s2idle_lock, flags);
161 if (s2idle_state > S2IDLE_STATE_NONE) { 161 if (s2idle_state > S2IDLE_STATE_NONE) {
162 s2idle_state = S2IDLE_STATE_WAKE; 162 s2idle_state = S2IDLE_STATE_WAKE;
163 swake_up(&s2idle_wait_head); 163 swake_up(&s2idle_wait_head);
164 } 164 }
165 spin_unlock_irqrestore(&s2idle_lock, flags); 165 raw_spin_unlock_irqrestore(&s2idle_lock, flags);
166} 166}
167EXPORT_SYMBOL_GPL(s2idle_wake); 167EXPORT_SYMBOL_GPL(s2idle_wake);
168 168