<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/powercap/dtpm.c, branch v6.3.2</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.3.2</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.3.2'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2022-03-01T17:59:35+00:00</updated>
<entry>
<title>powercap: DTPM: Fix spelling mistake "initialze" -&gt; "initialize"</title>
<updated>2022-03-01T17:59:35+00:00</updated>
<author>
<name>Colin Ian King</name>
<email>colin.i.king@gmail.com</email>
</author>
<published>2022-03-01T09:03:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=55ddcd9f3226b21c5b63d893712c85e85d73f4cb'/>
<id>urn:sha1:55ddcd9f3226b21c5b63d893712c85e85d73f4cb</id>
<content type='text'>
There is a spelling mistake in a pr_info() message. Fix it.

Signed-off-by: Colin Ian King &lt;colin.i.king@gmail.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>powercap: DTPM: dtpm_node_callback[] can be static</title>
<updated>2022-03-01T17:57:37+00:00</updated>
<author>
<name>kernel test robot</name>
<email>lkp@intel.com</email>
</author>
<published>2022-03-01T03:28:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5bf19d0aa3d2f22d4c050c030f436ab97b7e6f1e'/>
<id>urn:sha1:5bf19d0aa3d2f22d4c050c030f436ab97b7e6f1e</id>
<content type='text'>
drivers/powercap/dtpm.c:525:22: warning: symbol 'dtpm_node_callback' was not declared. Should it be static?

Fixes: 3759ec678e89 ("powercap/drivers/dtpm: Add hierarchy creation")
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Signed-off-by: kernel test robot &lt;lkp@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>powercap/dtpm: Move the 'root' reset place</title>
<updated>2022-02-23T18:45:45+00:00</updated>
<author>
<name>Daniel Lezcano</name>
<email>daniel.lezcano@linaro.org</email>
</author>
<published>2022-01-30T21:02:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4712a236db409d5ee5dccb8c7e57fe54d7d3ec66'/>
<id>urn:sha1:4712a236db409d5ee5dccb8c7e57fe54d7d3ec66</id>
<content type='text'>
The 'root' node is checked everytime a dtpm node is destroyed.

When we reach the end of the hierarchy destruction function, we can
unconditionnaly set the 'root' node to NULL again.

Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Reviewed-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Link: https://lore.kernel.org/r/20220130210210.549877-5-daniel.lezcano@linaro.org
</content>
</entry>
<entry>
<title>powercap/dtpm: Destroy hierarchy function</title>
<updated>2022-02-23T18:45:40+00:00</updated>
<author>
<name>Daniel Lezcano</name>
<email>daniel.lezcano@linaro.org</email>
</author>
<published>2022-01-30T21:02:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c404c64d64bc31bebe8a2015103671f7cd282731'/>
<id>urn:sha1:c404c64d64bc31bebe8a2015103671f7cd282731</id>
<content type='text'>
The hierarchy creation function exits but without a destroy hierarchy
function. Due to that, the modules creating the hierarchy can not be
unloaded properly because they don't have an exit callback.

Provide the dtpm_destroy_hierarchy() function to remove the previously
created hierarchy.

The function relies on all the release mechanisms implemented by the
underlying powercap framework.

Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Reviewed-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Link: https://lore.kernel.org/r/20220130210210.549877-4-daniel.lezcano@linaro.org
</content>
</entry>
<entry>
<title>powercap/dtpm: Fixup kfree for virtual node</title>
<updated>2022-02-23T18:45:33+00:00</updated>
<author>
<name>Daniel Lezcano</name>
<email>daniel.lezcano@linaro.org</email>
</author>
<published>2022-01-30T21:02:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=690de0b4013f6f35bc9fced12746b9f396c471ae'/>
<id>urn:sha1:690de0b4013f6f35bc9fced12746b9f396c471ae</id>
<content type='text'>
When the node is virtual there is no release function associated which
can free the memory.

Free the memory when no 'ops' exists.

Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Link: https://lore.kernel.org/r/20220130210210.549877-3-daniel.lezcano@linaro.org
</content>
</entry>
<entry>
<title>powercap/dtpm: Change locking scheme</title>
<updated>2022-02-23T18:45:13+00:00</updated>
<author>
<name>Daniel Lezcano</name>
<email>daniel.lezcano@linaro.org</email>
</author>
<published>2022-01-30T21:02:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7b75bbdf5bedebed387aac6ad8411ed1cf3db5d0'/>
<id>urn:sha1:7b75bbdf5bedebed387aac6ad8411ed1cf3db5d0</id>
<content type='text'>
The different functions are all called through the
dtpm_create_hierarchy() which handle the mutex. The different
functions are used in this context, consequently with the lock always
held.

Remove all locks taken in the function and add the lock in the
hierarchy creation function.

Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Reviewed-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Link: https://lore.kernel.org/r/20220130210210.549877-1-daniel.lezcano@linaro.org
</content>
</entry>
<entry>
<title>powercap/drivers/dtpm: Add hierarchy creation</title>
<updated>2022-02-04T16:38:09+00:00</updated>
<author>
<name>Daniel Lezcano</name>
<email>daniel.lezcano@linaro.org</email>
</author>
<published>2022-01-28T16:35:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3759ec678e8944dc2ea70cab77a300408f78ae27'/>
<id>urn:sha1:3759ec678e8944dc2ea70cab77a300408f78ae27</id>
<content type='text'>
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 &lt;daniel.lezcano@linaro.org&gt;
Reviewed-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Link: https://lore.kernel.org/r/20220128163537.212248-3-daniel.lezcano@linaro.org
</content>
</entry>
<entry>
<title>powercap/drivers/dtpm: Convert the init table section to a simple array</title>
<updated>2022-02-04T16:38:09+00:00</updated>
<author>
<name>Daniel Lezcano</name>
<email>daniel.lezcano@linaro.org</email>
</author>
<published>2022-01-28T16:35:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b9794a822281944ef3de5b1812a94cbdb8134320'/>
<id>urn:sha1:b9794a822281944ef3de5b1812a94cbdb8134320</id>
<content type='text'>
The init table section is freed after the system booted. However the
next changes will make per module the DTPM description, so the table
won't be accessible when the module is loaded.

In order to fix that, we should move the table to the data section
where there are very few entries and that makes strange to add it
there.

The main goal of the table was to keep self-encapsulated code and we
can keep it almost as it by using an array instead.

Suggested-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Reviewed-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Link: https://lore.kernel.org/r/20220128163537.212248-2-daniel.lezcano@linaro.org
</content>
</entry>
<entry>
<title>powercap/drivers/dtpm: Reduce trace verbosity</title>
<updated>2021-12-23T15:57:36+00:00</updated>
<author>
<name>Daniel Lezcano</name>
<email>daniel.lezcano@linaro.org</email>
</author>
<published>2021-11-23T10:16:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c1af85e442278fe120974358cf71c41bc48e0580'/>
<id>urn:sha1:c1af85e442278fe120974358cf71c41bc48e0580</id>
<content type='text'>
The traces when registering a powerzone is at the pr_info level and
should be changed to pr_debug as requested by Greg-KH.

Cc: Greg KH &lt;gregkh@linuxfoundation.org&gt;
Reviewed-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Link: https://lkml.kernel.org/r/YGAnRx8SiZHFPpY6@kroah.com
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Link: https://lore.kernel.org/r/20211123101601.2433340-2-daniel.lezcano@linaro.org
</content>
</entry>
<entry>
<title>powercap: DTPM: Drop unused local variable from init_dtpm()</title>
<updated>2021-12-03T16:51:59+00:00</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2021-12-03T16:51:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1ac5e21d43b2325854cf3b36b1509b28468dc6fd'/>
<id>urn:sha1:1ac5e21d43b2325854cf3b36b1509b28468dc6fd</id>
<content type='text'>
The dtpm_descr variable in init_dtpm() is not used after commit
f751db8adaea ("powercap/drivers/dtpm: Disable DTPM at boot time"),
so drop it.

Fixes: f751db8adaea ("powercap/drivers/dtpm: Disable DTPM at boot time")
Reported-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
</feed>
