summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Lezcano <daniel.lezcano@linaro.org>2014-04-11 12:29:44 +0200
committerDaniel Lezcano <daniel.lezcano@linaro.org>2014-04-15 17:06:53 +0200
commit4d97b83a9367143c8faa7e028b801f0b848b969a (patch)
treef9736d1e5469a8f9bffa173df38f176ca8afb217
parent444edec2f59f95e84605c5f39a92c57ab46010f9 (diff)
ARM: exynos: cpuidle: Disable cpuidle for 5440
There is no point to register the cpuidle driver for the 5440 as it has only one WFI state which is the default idle function when the cpuidle driver is disabled. By disabling cpuidle we prevent to enter to the governor computation for nothing, thus saving a lot of processing time. The only drawback is the statistic via sysfs on this state which is lost but it is meaningless and it could be retrieved from the ftrace easily. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Acked-by: Amit Kucheria <amit.kucheria@linaro.org>
-rw-r--r--arch/arm/mach-exynos/cpuidle.c3
-rw-r--r--arch/arm/mach-exynos/exynos.c3
2 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm/mach-exynos/cpuidle.c b/arch/arm/mach-exynos/cpuidle.c
index 4e46a12b4056..862d6beae4af 100644
--- a/arch/arm/mach-exynos/cpuidle.c
+++ b/arch/arm/mach-exynos/cpuidle.c
@@ -134,9 +134,6 @@ static int exynos_cpuidle_probe(struct platform_device *pdev)
{
int ret;
- if (soc_is_exynos5440())
- exynos_idle_driver.state_count = 1;
-
ret = cpuidle_register(&exynos_idle_driver, NULL);
if (ret) {
dev_err(&pdev->dev, "failed to register cpuidle driver\n");
diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index b32a907d021d..dad925f56e24 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -227,6 +227,9 @@ static struct platform_device exynos_cpuidle = {
void __init exynos_cpuidle_init(void)
{
+ if (soc_is_exynos5440())
+ return;
+
platform_device_register(&exynos_cpuidle);
}