aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/kernel/cpu/shmobile/cpuidle.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/arch/sh/kernel/cpu/shmobile/cpuidle.c b/arch/sh/kernel/cpu/shmobile/cpuidle.c
index 6d62eb40e750..1ddc876d3b26 100644
--- a/arch/sh/kernel/cpu/shmobile/cpuidle.c
+++ b/arch/sh/kernel/cpu/shmobile/cpuidle.c
@@ -29,7 +29,6 @@ static int cpuidle_sleep_enter(struct cpuidle_device *dev,
29 int index) 29 int index)
30{ 30{
31 unsigned long allowed_mode = SUSP_SH_SLEEP; 31 unsigned long allowed_mode = SUSP_SH_SLEEP;
32 ktime_t before, after;
33 int requested_state = index; 32 int requested_state = index;
34 int allowed_state; 33 int allowed_state;
35 int k; 34 int k;
@@ -47,19 +46,16 @@ static int cpuidle_sleep_enter(struct cpuidle_device *dev,
47 */ 46 */
48 k = min_t(int, allowed_state, requested_state); 47 k = min_t(int, allowed_state, requested_state);
49 48
50 before = ktime_get();
51 sh_mobile_call_standby(cpuidle_mode[k]); 49 sh_mobile_call_standby(cpuidle_mode[k]);
52 after = ktime_get();
53
54 dev->last_residency = (int)ktime_to_ns(ktime_sub(after, before)) >> 10;
55 50
56 return k; 51 return k;
57} 52}
58 53
59static struct cpuidle_device cpuidle_dev; 54static struct cpuidle_device cpuidle_dev;
60static struct cpuidle_driver cpuidle_driver = { 55static struct cpuidle_driver cpuidle_driver = {
61 .name = "sh_idle", 56 .name = "sh_idle",
62 .owner = THIS_MODULE, 57 .owner = THIS_MODULE,
58 .en_core_tk_irqen = 1,
63}; 59};
64 60
65void sh_mobile_setup_cpuidle(void) 61void sh_mobile_setup_cpuidle(void)