As we will be able to remove C-states from userspace with the sysfs
API, this function is no longer needed. We remove it and that simplifies
the code for more consolidation.

Signed-off-by: Daniel Lezcano <daniel.lezc...@linaro.org>
---
 arch/arm/mach-omap2/cpuidle34xx.c |   85 +------------------------------------
 1 files changed, 2 insertions(+), 83 deletions(-)

diff --git a/arch/arm/mach-omap2/cpuidle34xx.c 
b/arch/arm/mach-omap2/cpuidle34xx.c
index d67431a..65b4e7aa 100644
--- a/arch/arm/mach-omap2/cpuidle34xx.c
+++ b/arch/arm/mach-omap2/cpuidle34xx.c
@@ -164,84 +164,6 @@ return_sleep_time:
 }
 
 /**
- * next_valid_state - Find next valid C-state
- * @dev: cpuidle device
- * @drv: cpuidle driver
- * @index: Index of currently selected c-state
- *
- * If the state corresponding to index is valid, index is returned back
- * to the caller. Else, this function searches for a lower c-state which is
- * still valid (as defined in omap3_power_states[]) and returns its index.
- *
- * A state is valid if the 'valid' field is enabled and
- * if it satisfies the enable_off_mode condition.
- */
-static int next_valid_state(struct cpuidle_device *dev,
-                       struct cpuidle_driver *drv,
-                               int index)
-{
-       struct cpuidle_state_usage *curr_usage = &dev->states_usage[index];
-       struct cpuidle_state *curr = &drv->states[index];
-       struct omap3_idle_statedata *cx = cpuidle_get_statedata(curr_usage);
-       u32 mpu_deepest_state = PWRDM_POWER_RET;
-       u32 core_deepest_state = PWRDM_POWER_RET;
-       int next_index = -1;
-
-       if (enable_off_mode) {
-               mpu_deepest_state = PWRDM_POWER_OFF;
-               /*
-                * Erratum i583: valable for ES rev < Es1.2 on 3630.
-                * CORE OFF mode is not supported in a stable form, restrict
-                * instead the CORE state to RET.
-                */
-               if (!IS_PM34XX_ERRATUM(PM_SDRC_WAKEUP_ERRATUM_i583))
-                       core_deepest_state = PWRDM_POWER_OFF;
-       }
-
-       /* Check if current state is valid */
-       if ((cx->valid) &&
-           (cx->mpu_state >= mpu_deepest_state) &&
-           (cx->core_state >= core_deepest_state)) {
-               return index;
-       } else {
-               int idx = OMAP3_NUM_STATES - 1;
-
-               /* Reach the current state starting at highest C-state */
-               for (; idx >= 0; idx--) {
-                       if (&drv->states[idx] == curr) {
-                               next_index = idx;
-                               break;
-                       }
-               }
-
-               /* Should never hit this condition */
-               WARN_ON(next_index == -1);
-
-               /*
-                * Drop to next valid state.
-                * Start search from the next (lower) state.
-                */
-               idx--;
-               for (; idx >= 0; idx--) {
-                       cx = cpuidle_get_statedata(&dev->states_usage[idx]);
-                       if ((cx->valid) &&
-                           (cx->mpu_state >= mpu_deepest_state) &&
-                           (cx->core_state >= core_deepest_state)) {
-                               next_index = idx;
-                               break;
-                       }
-               }
-               /*
-                * C1 is always valid.
-                * So, no need to check for 'next_index == -1' outside
-                * this loop.
-                */
-       }
-
-       return next_index;
-}
-
-/**
  * omap3_enter_idle_bm - Checks for any bus activity
  * @dev: cpuidle device
  * @drv: cpuidle driver
@@ -254,7 +176,6 @@ static int omap3_enter_idle_bm(struct cpuidle_device *dev,
                                struct cpuidle_driver *drv,
                               int index)
 {
-       int new_state_idx;
        u32 core_next_state, per_next_state = 0, per_saved_state = 0, cam_state;
        struct omap3_idle_statedata *cx;
        int ret;
@@ -265,7 +186,7 @@ static int omap3_enter_idle_bm(struct cpuidle_device *dev,
         */
        cam_state = pwrdm_read_pwrst(cam_pd);
        if (cam_state == PWRDM_POWER_ON) {
-               new_state_idx = drv->safe_state_index;
+               index = drv->safe_state_index;
                goto select_state;
        }
 
@@ -292,10 +213,8 @@ static int omap3_enter_idle_bm(struct cpuidle_device *dev,
        if (per_next_state != per_saved_state)
                pwrdm_set_next_pwrst(per_pd, per_next_state);
 
-       new_state_idx = next_valid_state(dev, drv, index);
-
 select_state:
-       ret = omap3_enter_idle(dev, drv, new_state_idx);
+       ret = omap3_enter_idle(dev, drv, index);
 
        /* Restore original PER state if it was modified */
        if (per_next_state != per_saved_state)
-- 
1.7.5.4


_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to