On Wed, Mar 14, 2018 at 05:58:21PM +0100, Ulf Hansson wrote: > The CPU's idle state nodes are currently parsed at the common cpuidle DT > library, but also when initializing back-end data for the arch specific CPU > operations, as in the PSCI driver case. > > To avoid open-coding, let's introduce of_get_cpu_state_node(), which takes > the device node for the CPU and the index to the requested idle state node, > as in-parameters. In case a corresponding idle state node is found, it > returns the node with the refcount incremented for it, else it returns > NULL. > > Moreover, for ARM, there are two generic methods, to describe the CPU's > idle states, either via the flattened description through the > "cpu-idle-states" binding [1] or via the hierarchical layout, using the > "power-domains" and the "domain-idle-states" bindings [2]. Hence, let's > take both options into account. > > [1] > Documentation/devicetree/bindings/arm/idle-states.txt > [2] > Documentation/devicetree/bindings/arm/psci.txt > > Cc: Rob Herring <robh...@kernel.org> > Cc: devicet...@vger.kernel.org > Cc: Lina Iyer <il...@codeaurora.org> > Suggested-by: Sudeep Holla <sudeep.ho...@arm.com> > Co-developed-by: Lina Iyer <lina.i...@linaro.org> > Signed-off-by: Ulf Hansson <ulf.hans...@linaro.org> > --- > drivers/of/base.c | 35 +++++++++++++++++++++++++++++++++++ > include/linux/of.h | 8 ++++++++ > 2 files changed, 43 insertions(+)
I'd prefer not to add this here, but don't have a better suggestion. If more cpu related functions are added, I'd like to move them to a separate file in drivers/of/, but that can wait. Reviewed-by: Rob Herring <r...@kernel.org>