The current definition of C-states starts from base 1.
Whereas, the cpuidle driver uses base 0. This patch
eliminates need for explicit mapping due to different
base values.

Signed-off-by: Sanjeev Premi <[email protected]>
---
 arch/arm/mach-omap2/cpuidle34xx.c |   23 ++++++++++-------------
 1 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/arch/arm/mach-omap2/cpuidle34xx.c 
b/arch/arm/mach-omap2/cpuidle34xx.c
index 62fbb2e..50bf412 100644
--- a/arch/arm/mach-omap2/cpuidle34xx.c
+++ b/arch/arm/mach-omap2/cpuidle34xx.c
@@ -33,13 +33,13 @@
 
 #ifdef CONFIG_CPU_IDLE
 
-#define OMAP3_MAX_STATES 7
-#define OMAP3_STATE_C1 1 /* C1 - MPU WFI + Core active */
-#define OMAP3_STATE_C2 2 /* C2 - MPU CSWR + Core active */
-#define OMAP3_STATE_C3 3 /* C3 - MPU OFF + Core active */
-#define OMAP3_STATE_C4 4 /* C4 - MPU RET + Core RET */
-#define OMAP3_STATE_C5 5 /* C5 - MPU OFF + Core RET */
-#define OMAP3_STATE_C6 6 /* C6 - MPU OFF + Core OFF */
+#define OMAP3_MAX_STATES 6
+#define OMAP3_STATE_C1 0 /* C1 - MPU WFI + Core active */
+#define OMAP3_STATE_C2 1 /* C2 - MPU CSWR + Core active */
+#define OMAP3_STATE_C3 2 /* C3 - MPU OFF + Core active */
+#define OMAP3_STATE_C4 3 /* C4 - MPU RET + Core RET */
+#define OMAP3_STATE_C5 4 /* C5 - MPU OFF + Core RET */
+#define OMAP3_STATE_C6 5 /* C6 - MPU OFF + Core OFF */
 
 struct omap3_processor_cx {
        u8 valid;
@@ -228,7 +228,7 @@ struct cpuidle_driver omap3_idle_driver = {
  */
 int omap3_idle_init(void)
 {
-       int i, count = 0;
+       int count;
        struct omap3_processor_cx *cx;
        struct cpuidle_state *state;
        struct cpuidle_device *dev;
@@ -244,8 +244,8 @@ int omap3_idle_init(void)
 
        dev = &per_cpu(omap3_idle_dev, smp_processor_id());
 
-       for (i = 1; i < OMAP3_MAX_STATES; i++) {
-               cx = &omap3_power_states[i];
+       for (count = 0; count < OMAP3_MAX_STATES; count++) {
+               cx = &omap3_power_states[count];
                state = &dev->states[count];
 
                if (!cx->valid)
@@ -259,11 +259,8 @@ int omap3_idle_init(void)
                if (cx->type == OMAP3_STATE_C1)
                        dev->safe_state = state;
                sprintf(state->name, "C%d", count+1);
-               count++;
        }
 
-       if (!count)
-               return -EINVAL;
        dev->state_count = count;
 
        if (cpuidle_register_device(dev)) {
-- 
1.5.6

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to