diff options
Diffstat (limited to 'arch/arm/mach-tegra/cpuidle-tegra114.c')
-rw-r--r-- | arch/arm/mach-tegra/cpuidle-tegra114.c | 28 |
1 files changed, 1 insertions, 27 deletions
diff --git a/arch/arm/mach-tegra/cpuidle-tegra114.c b/arch/arm/mach-tegra/cpuidle-tegra114.c index 0f4e8c483b34..1d1c6023f4a2 100644 --- a/arch/arm/mach-tegra/cpuidle-tegra114.c +++ b/arch/arm/mach-tegra/cpuidle-tegra114.c | |||
@@ -23,39 +23,13 @@ | |||
23 | static struct cpuidle_driver tegra_idle_driver = { | 23 | static struct cpuidle_driver tegra_idle_driver = { |
24 | .name = "tegra_idle", | 24 | .name = "tegra_idle", |
25 | .owner = THIS_MODULE, | 25 | .owner = THIS_MODULE, |
26 | .en_core_tk_irqen = 1, | ||
27 | .state_count = 1, | 26 | .state_count = 1, |
28 | .states = { | 27 | .states = { |
29 | [0] = ARM_CPUIDLE_WFI_STATE_PWR(600), | 28 | [0] = ARM_CPUIDLE_WFI_STATE_PWR(600), |
30 | }, | 29 | }, |
31 | }; | 30 | }; |
32 | 31 | ||
33 | static DEFINE_PER_CPU(struct cpuidle_device, tegra_idle_device); | ||
34 | |||
35 | int __init tegra114_cpuidle_init(void) | 32 | int __init tegra114_cpuidle_init(void) |
36 | { | 33 | { |
37 | int ret; | 34 | return cpuidle_register(&tegra_idle_driver, NULL); |
38 | unsigned int cpu; | ||
39 | struct cpuidle_device *dev; | ||
40 | struct cpuidle_driver *drv = &tegra_idle_driver; | ||
41 | |||
42 | ret = cpuidle_register_driver(&tegra_idle_driver); | ||
43 | if (ret) { | ||
44 | pr_err("CPUidle driver registration failed\n"); | ||
45 | return ret; | ||
46 | } | ||
47 | |||
48 | for_each_possible_cpu(cpu) { | ||
49 | dev = &per_cpu(tegra_idle_device, cpu); | ||
50 | dev->cpu = cpu; | ||
51 | |||
52 | dev->state_count = drv->state_count; | ||
53 | ret = cpuidle_register_device(dev); | ||
54 | if (ret) { | ||
55 | pr_err("CPU%u: CPUidle device registration failed\n", | ||
56 | cpu); | ||
57 | return ret; | ||
58 | } | ||
59 | } | ||
60 | return 0; | ||
61 | } | 35 | } |