On 04/08/2014 02:51 PM, Amit Kucheria wrote:
On Tue, Apr 8, 2014 at 5:49 PM, Daniel Lezcano
<[email protected] <mailto:[email protected]>> wrote:
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.
So for the future, you'll only merge platform drivers that enable
something more than WFI?
Well, I already picked up a driver with only WFI because I knew the next
idle states were in preparation. But adding a cpuidle driver just for
WFI is no sense and if, for a reason I missed, it is really needed, I
guess a generic WFI cpuidle driver for all platforms would be make much
more sense.
Signed-off-by: Daniel Lezcano <[email protected]
<mailto:[email protected]>>
In that case, Acked-by: Amit Kucheria <[email protected]
<mailto:[email protected]>>
---
arch/arm/mach-exynos/cpuidle.c | 5 -----
arch/arm/mach-exynos/exynos.c | 3 +++
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/arch/arm/mach-exynos/cpuidle.c
b/arch/arm/mach-exynos/cpuidle.c
index 4b94181..a1f111e 100644
--- a/arch/arm/mach-exynos/cpuidle.c
+++ b/arch/arm/mach-exynos/cpuidle.c
@@ -16,8 +16,6 @@
#include <asm/suspend.h>
#include <asm/cpuidle.h>
-#include <plat/cpu.h>
-
#include "common.h"
static int idle_finisher(unsigned long flags)
@@ -77,9 +75,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 b567361..fe8dac8 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);
}
--
1.7.9.5
_______________________________________________
linaro-kernel mailing list
[email protected] <mailto:[email protected]>
http://lists.linaro.org/mailman/listinfo/linaro-kernel
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html