powercap/drivers/dtpm: Use container_of instead of a private data field
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Fri, 12 Mar 2021 13:04:10 +0000 (14:04 +0100)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Thu, 21 Oct 2021 14:03:31 +0000 (16:03 +0200)
commitd2cdc6adc30879d81160199fc7c6ab890fc4bd4c
tree0f8ce139cc4fe8884c4754b56555ea283af16b2a
parent7a89d7eacf8e84f2afb94db5ae9d9f9faa93f01c
powercap/drivers/dtpm: Use container_of instead of a private data field

The dtpm framework provides an API to allocate a dtpm node. However
when a backend dtpm driver needs to allocate a dtpm node it must
define its own structure and store the pointer of this structure in
the private field of the dtpm structure.

It is more elegant to use the container_of macro and add the dtpm
structure inside the dtpm backend specific structure. The code will be
able to deal properly with the dtpm structure as a generic entity,
making all this even more self-encapsulated.

The dtpm_alloc() function does no longer make sense as the dtpm
structure will be allocated when allocating the device specific dtpm
structure. The dtpm_init() is provided instead.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Link: https://lore.kernel.org/r/20210312130411.29833-4-daniel.lezcano@linaro.org
drivers/powercap/dtpm.c
drivers/powercap/dtpm_cpu.c
include/linux/dtpm.h