powercap/drivers/dtpm: Add hierarchy creation
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Fri, 28 Jan 2022 16:35:34 +0000 (17:35 +0100)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Fri, 4 Feb 2022 16:38:09 +0000 (17:38 +0100)
commit3759ec678e8944dc2ea70cab77a300408f78ae27
tree49ccd70177019ceb73e7ec2e621c492e908cb23c
parentb9794a822281944ef3de5b1812a94cbdb8134320
powercap/drivers/dtpm: Add hierarchy creation

The DTPM framework is available but without a way to configure it.

This change provides a way to create a hierarchy of DTPM node where
the power consumption reflects the sum of the children's power
consumption.

It is up to the platform to specify an array of dtpm nodes where each
element has a pointer to its parent, except the top most one. The type
of the node gives the indication of which initialization callback to
call. At this time, we can create a virtual node, where its purpose is
to be a parent in the hierarchy, and a DT node where the name
describes its path.

In order to ensure a nice self-encapsulation, the DTPM subsys array
contains a couple of initialization functions, one to setup the DTPM
backend and one to initialize it up. With this approach, the DTPM
framework has a very few material to export.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/20220128163537.212248-3-daniel.lezcano@linaro.org
drivers/powercap/Kconfig
drivers/powercap/dtpm.c
include/linux/dtpm.h