|
@@ -179,37 +179,6 @@ static void __cpuidle_driver_init(struct cpuidle_driver *drv)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-#ifdef CONFIG_ARCH_HAS_CPU_RELAX
|
|
|
-static int __cpuidle poll_idle(struct cpuidle_device *dev,
|
|
|
- struct cpuidle_driver *drv, int index)
|
|
|
-{
|
|
|
- local_irq_enable();
|
|
|
- if (!current_set_polling_and_test()) {
|
|
|
- while (!need_resched())
|
|
|
- cpu_relax();
|
|
|
- }
|
|
|
- current_clr_polling();
|
|
|
-
|
|
|
- return index;
|
|
|
-}
|
|
|
-
|
|
|
-static void poll_idle_init(struct cpuidle_driver *drv)
|
|
|
-{
|
|
|
- struct cpuidle_state *state = &drv->states[0];
|
|
|
-
|
|
|
- snprintf(state->name, CPUIDLE_NAME_LEN, "POLL");
|
|
|
- snprintf(state->desc, CPUIDLE_DESC_LEN, "CPUIDLE CORE POLL IDLE");
|
|
|
- state->exit_latency = 0;
|
|
|
- state->target_residency = 0;
|
|
|
- state->power_usage = -1;
|
|
|
- state->enter = poll_idle;
|
|
|
- state->disabled = false;
|
|
|
- state->flags = CPUIDLE_FLAG_POLLING;
|
|
|
-}
|
|
|
-#else
|
|
|
-static void poll_idle_init(struct cpuidle_driver *drv) {}
|
|
|
-#endif /* !CONFIG_ARCH_HAS_CPU_RELAX */
|
|
|
-
|
|
|
/**
|
|
|
* __cpuidle_register_driver: register the driver
|
|
|
* @drv: a valid pointer to a struct cpuidle_driver
|