staticint cpuidle_sleep_enter(struct cpuidle_device *dev, struct cpuidle_driver *drv, int index)
{ unsignedlong allowed_mode = SUSP_SH_SLEEP; int requested_state = index; int allowed_state; int k;
/* convert allowed mode to allowed state */ for (k = ARRAY_SIZE(cpuidle_mode) - 1; k > 0; k--) if (cpuidle_mode[k] == allowed_mode) break;
allowed_state = k;
/* take the following into account for sleep mode selection: * - allowed_state: best mode allowed by hardware (clock deps) * - requested_state: best mode allowed by software (latencies)
*/
k = min_t(int, allowed_state, requested_state);
int __init sh_mobile_setup_cpuidle(void)
{ if (sh_mobile_sleep_supported & SUSP_SH_SF)
cpuidle_driver.states[1].flags = CPUIDLE_FLAG_NONE;
if (sh_mobile_sleep_supported & SUSP_SH_STANDBY)
cpuidle_driver.states[2].flags = CPUIDLE_FLAG_NONE;
return cpuidle_register(&cpuidle_driver, NULL);
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.15Bemerkung:
(vorverarbeitet am 2026-06-05)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.