ARM: EXYNOS: Disable cpuidle for exynos5440
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Thu, 8 May 2014 21:52:59 +0000 (06:52 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Sun, 25 May 2014 20:21:08 +0000 (05:21 +0900)
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>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
arch/arm/mach-exynos/cpuidle.c
arch/arm/mach-exynos/exynos.c

index 4e46a12b405697ca9dc59854dfb15bb3bed3802a..862d6beae4af8a5c7c184632b3382a030f40433a 100644 (file)
@@ -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");
index e973ff5de7b394fdb11e5dd7962992c32485827c..89872405cccd01667cbe052eab2aa27a5565174b 100644 (file)
@@ -177,6 +177,9 @@ static struct platform_device exynos_cpuidle = {
 
 void __init exynos_cpuidle_init(void)
 {
+       if (soc_is_exynos5440())
+               return;
+
        platform_device_register(&exynos_cpuidle);
 }