]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ARM: cpuidle: Register per cpuidle device
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Thu, 5 Mar 2015 15:44:42 +0000 (16:44 +0100)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Tue, 24 Mar 2015 13:46:25 +0000 (14:46 +0100)
commita0d46a3dfdc3f3d639b3fa84b84a58e116e4bf2c
tree03716d2b2b72189535bb5dad99ddc7d93de7b0c3
parent0e0870448aa134e91fafe3c39ae270561b495459
ARM: cpuidle: Register per cpuidle device

If the cpuidle init cpu operation returns -ENXIO, therefore reporting HW
failure or misconfiguration, the CPUidle driver skips the respective
cpuidle device initialization because the associated platform back-end HW
is not operational.

That prevents the system to crash and allows to handle the error gracefully.

For example, on Qcom's platform, each core has a SPM. The device associated
with this SPM is initialized before the cpuidle framework. If there is an error
in the initialization (eg. error in the DT), the system continues to boot but
in degraded mode as some SPM may not be correctly initialized.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
drivers/cpuidle/cpuidle-arm.c