| .. | .. |
|---|
| 17 | 17 | #include "hardware.h" |
|---|
| 18 | 18 | |
|---|
| 19 | 19 | static int num_idle_cpus = 0; |
|---|
| 20 | | -static DEFINE_SPINLOCK(cpuidle_lock); |
|---|
| 20 | +static DEFINE_RAW_SPINLOCK(cpuidle_lock); |
|---|
| 21 | 21 | |
|---|
| 22 | 22 | static int imx6q_enter_wait(struct cpuidle_device *dev, |
|---|
| 23 | 23 | struct cpuidle_driver *drv, int index) |
|---|
| 24 | 24 | { |
|---|
| 25 | | - spin_lock(&cpuidle_lock); |
|---|
| 25 | + raw_spin_lock(&cpuidle_lock); |
|---|
| 26 | 26 | if (++num_idle_cpus == num_online_cpus()) |
|---|
| 27 | 27 | imx6_set_lpm(WAIT_UNCLOCKED); |
|---|
| 28 | | - spin_unlock(&cpuidle_lock); |
|---|
| 28 | + raw_spin_unlock(&cpuidle_lock); |
|---|
| 29 | 29 | |
|---|
| 30 | 30 | cpu_do_idle(); |
|---|
| 31 | 31 | |
|---|
| 32 | | - spin_lock(&cpuidle_lock); |
|---|
| 32 | + raw_spin_lock(&cpuidle_lock); |
|---|
| 33 | 33 | if (num_idle_cpus-- == num_online_cpus()) |
|---|
| 34 | 34 | imx6_set_lpm(WAIT_CLOCKED); |
|---|
| 35 | | - spin_unlock(&cpuidle_lock); |
|---|
| 35 | + raw_spin_unlock(&cpuidle_lock); |
|---|
| 36 | 36 | |
|---|
| 37 | 37 | return index; |
|---|
| 38 | 38 | } |
|---|