]> git.baikalelectronics.ru Git - kernel.git/commit
cpuidle: dt: Return the correct numbers of parsed idle states
authorUlf Hansson <ulf.hansson@linaro.org>
Fri, 21 Oct 2022 15:10:12 +0000 (17:10 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Jan 2023 10:40:53 +0000 (11:40 +0100)
commit90d159164ac23ddda4a8c6d19fe611aedcdc134a
tree096afa668b52e6ae1f12137b73b114b4b1de0b8b
parent0a6535f1f2b3fd06152329795e8dabba1252aa10
cpuidle: dt: Return the correct numbers of parsed idle states

[ Upstream commit 7acf94604aa1dafe792e4f044c99e6572f63908b ]

While we correctly skips to initialize an idle state from a disabled idle
state node in DT, the returned value from dt_init_idle_driver() don't get
adjusted accordingly. Instead the number of found idle state nodes are
returned, while the callers are expecting the number of successfully
initialized idle states from DT.

This leads to cpuidle drivers unnecessarily continues to initialize their
idle state specific data. Moreover, in the case when all idle states have
been disabled in DT, we would end up registering a cpuidle driver, rather
than relying on the default arch specific idle call.

Fixes: 8df175b47e22 ("drivers: cpuidle: implement DT based idle states infrastructure")
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/cpuidle/dt_idle_states.c