aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/cpuidle/cpuidle-arm.c
diff options
context:
space:
mode:
authorLorenzo Pieralisi <lorenzo.pieralisi@arm.com>2019-08-09 12:03:08 +0100
committerWill Deacon <will@kernel.org>2019-08-09 17:51:39 +0100
commit6460d7ba488419dd5bc2cbfd989d5d7930ac1f9f (patch)
tree266deda544d065110bca5665ee4bcc3824a72e27 /drivers/cpuidle/cpuidle-arm.c
parentARM: cpuidle: Remove useless header include (diff)
downloadlinux-dev-6460d7ba488419dd5bc2cbfd989d5d7930ac1f9f.tar.xz
linux-dev-6460d7ba488419dd5bc2cbfd989d5d7930ac1f9f.zip
ARM: cpuidle: Remove overzealous error logging
CPUidle back-end operations are not implemented in some platforms but this should not be considered an error serious enough to be logged. Check the arm_cpuidle_init() return value to detect whether the failure must be reported or not in the kernel log and do not log it if the platform does not support CPUidle operations. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Reviewed-by: Sudeep Holla <sudeep.holla@arm.com> Cc: Ulf Hansson <ulf.hansson@linaro.org> Cc: Sudeep Holla <sudeep.holla@arm.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net> Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'drivers/cpuidle/cpuidle-arm.c')
-rw-r--r--drivers/cpuidle/cpuidle-arm.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/cpuidle/cpuidle-arm.c b/drivers/cpuidle/cpuidle-arm.c
index dc33b3d2954f..9e5156d39627 100644
--- a/drivers/cpuidle/cpuidle-arm.c
+++ b/drivers/cpuidle/cpuidle-arm.c
@@ -105,11 +105,17 @@ static int __init arm_idle_init_cpu(int cpu)
ret = arm_cpuidle_init(cpu);
/*
- * Allow the initialization to continue for other CPUs, if the reported
- * failure is a HW misconfiguration/breakage (-ENXIO).
+ * Allow the initialization to continue for other CPUs, if the
+ * reported failure is a HW misconfiguration/breakage (-ENXIO).
+ *
+ * Some platforms do not support idle operations
+ * (arm_cpuidle_init() returning -EOPNOTSUPP), we should
+ * not flag this case as an error, it is a valid
+ * configuration.
*/
if (ret) {
- pr_err("CPU %d failed to init idle CPU ops\n", cpu);
+ if (ret != -EOPNOTSUPP)
+ pr_err("CPU %d failed to init idle CPU ops\n", cpu);
ret = ret == -ENXIO ? 0 : ret;
goto out_kfree_drv;
}