<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/devfreq/devfreq.c, branch v4.9</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.9</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.9'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2016-10-10T22:01:20Z</updated>
<entry>
<title>PM / devfreq: Skip status update on uninitialized previous_freq</title>
<updated>2016-10-10T22:01:20Z</updated>
<author>
<name>Tobias Jakobi</name>
<email>tjakobi@math.uni-bielefeld.de</email>
</author>
<published>2016-09-29T12:36:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d0563a039c9d35305f4cb2405665130de596d86a'/>
<id>urn:sha1:d0563a039c9d35305f4cb2405665130de596d86a</id>
<content type='text'>
In case devfreq-&gt;previous_freq is still uninitialized in
devfreq_update_status(), i.e. it has value '0', the lookups in
that function fail, eventually leading to some error message:
[    3.041292] devfreq bus_dmc: Couldn't update frequency transition information.

Just skip the statup update in this situation.

Signed-off-by: Tobias Jakobi &lt;tjakobi@math.uni-bielefeld.de&gt;
Acked-by: MyungJoo Ham &lt;myungjoo.ham@samsung.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>PM / devfreq: Add proper locking around list_del()</title>
<updated>2016-10-10T22:00:20Z</updated>
<author>
<name>Axel Lin</name>
<email>axel.lin@ingics.com</email>
</author>
<published>2016-09-29T02:13:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0f376c9cd86c23f37312d37748b233660ef9d9af'/>
<id>urn:sha1:0f376c9cd86c23f37312d37748b233660ef9d9af</id>
<content type='text'>
Use devfreq_list_lock around list_del() to prevent list corruption.

Signed-off-by: Axel Lin &lt;axel.lin@ingics.com&gt;
Acked-by: MyungJoo Ham &lt;myungjoo.ham@samsung.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>PM / devfreq: add missing of_node_put after calling of_parse_phandle</title>
<updated>2016-07-06T04:11:24Z</updated>
<author>
<name>Peter Chen</name>
<email>peter.chen@nxp.com</email>
</author>
<published>2016-07-01T09:42:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=3427c6f0b6f5643543f9b6c55f80bee83c0d5ff3'/>
<id>urn:sha1:3427c6f0b6f5643543f9b6c55f80bee83c0d5ff3</id>
<content type='text'>
of_node_put needs to be called when the device node which is got
from of_parse_phandle has finished using.

Cc: MyungJoo Ham &lt;myungjoo.ham@samsung.com&gt;
Cc: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Signed-off-by: Peter Chen &lt;peter.chen@nxp.com&gt;
Signed-off-by: MyungJoo Ham &lt;myungjoo.ham@samsung.com&gt;
</content>
</entry>
<entry>
<title>PM / devfreq: make devfreq explicitly non-modular</title>
<updated>2016-07-06T04:11:22Z</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2016-06-25T18:43:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=417dc4bb6b8daa6f87d42bc8ffcefe871f7282bc'/>
<id>urn:sha1:417dc4bb6b8daa6f87d42bc8ffcefe871f7282bc</id>
<content type='text'>
The Kconfig currently controlling compilation of this code is:

menuconfig PM_DEVFREQ
      bool "Generic Dynamic Voltage and Frequency Scaling (DVFS) support"

...meaning that it currently is not being built as a module by anyone.

Lets remove the modular code that is essentially orphaned, so that
when reading the driver there is no doubt it is builtin-only.

This code wasn't using module_init, so we don't need to be concerned
with altering the initcall level here.

We also delete the MODULE_LICENSE tag etc. since all that information
is already contained at the top of the file in the comments.

We don't replace module.h with init.h since the file already has that.
But we do add export.h since this file does export some symbols.

Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
Reviewed-by: Chanwoo Choi &lt;cw00.choi@samsung.com&gt;
Signed-off-by: MyungJoo Ham &lt;myungjoo.ham@samsung.com&gt;
</content>
</entry>
<entry>
<title>PM / devfreq: Send the DEVFREQ_POSTCHANGE notification when target() is failed</title>
<updated>2016-06-23T21:15:12Z</updated>
<author>
<name>Chanwoo Choi</name>
<email>cw00.choi@samsung.com</email>
</author>
<published>2016-06-23T02:18:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0d37189e80163c653771916afe28fae1a8d14daa'/>
<id>urn:sha1:0d37189e80163c653771916afe28fae1a8d14daa</id>
<content type='text'>
This patch sends the DEVFREQ_POSTCHANGE notification when
devfreq-&gt;profile-&gt;targer() is failed. The PRECHANGE/POSTCHANGE
should be paired.

Fixes: 0fe3a66410a3 (PM / devfreq: Add new DEVFREQ_TRANSITION_NOTIFIER notifier)
Reported-by: Lin Huang &lt;hl@rock-chips.com&gt;
Signed-off-by: Chanwoo Choi &lt;cw00.choi@samsung.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>PM / devfreq: fix initialization of current frequency in last status</title>
<updated>2016-06-22T04:53:00Z</updated>
<author>
<name>Lukasz Luba</name>
<email>lukasz.luba@arm.com</email>
</author>
<published>2016-05-31T10:25:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=8d39fc085d268a56486066a3deca94745f804f2d'/>
<id>urn:sha1:8d39fc085d268a56486066a3deca94745f804f2d</id>
<content type='text'>
Some systems need current frequency from last_status for calculation
but it is zeroed during initialization. When the device starts there is
no history, but we can assume that the last frequency was the
same as the initial frequency (which is also used in 'previous_freq').
The log shows the result of this misinterpreted value.
[    2.042847] ... Failed to get voltage for frequency 0: -34

Signed-off-by: Lukasz Luba &lt;lukasz.luba@arm.com&gt;
Reviewed-by: Javi Merino &lt;javi.merino@arm.com&gt;
Signed-off-by: MyungJoo Ham &lt;myungjoo.ham@samsung.com&gt;
</content>
</entry>
<entry>
<title>PM / devfreq: remove double put_device</title>
<updated>2016-06-22T04:52:52Z</updated>
<author>
<name>MyungJoo Ham</name>
<email>myungjoo.ham@samsung.com</email>
</author>
<published>2016-05-16T02:41:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=67ffdb529b4ec9833f73947dec01eaa78dd53c3d'/>
<id>urn:sha1:67ffdb529b4ec9833f73947dec01eaa78dd53c3d</id>
<content type='text'>
When device_register() returns with error, it has already
done put_device() on the input device pointer.

Signed-off-by: MyungJoo Ham &lt;myungjoo.ham@samsung.com&gt;
</content>
</entry>
<entry>
<title>PM / devfreq: fix double call put_device</title>
<updated>2016-06-22T04:52:43Z</updated>
<author>
<name>Cai Zhiyong</name>
<email>caizhiyong@huawei.com</email>
</author>
<published>2016-05-14T06:13:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a5e9b937fa91b3f404618b5281c3239bd1f09c7b'/>
<id>urn:sha1:a5e9b937fa91b3f404618b5281c3239bd1f09c7b</id>
<content type='text'>
1295  */
1296 void device_unregister(struct device *dev)
1297 {
1298         pr_debug("device: '%s': %s\n", dev_name(dev), __func__);
1299         device_del(dev);
1300         put_device(dev);
1301 }
1302 EXPORT_SYMBOL_GPL(device_unregister);
1303

device_unregister is called put_device, there is no need to call
put_device(&amp;devfreq-&gt;dev) again.

Signed-off-by: Cai Zhiyong &lt;caizhiyong@huawei.com&gt;
Reviewed-by: Chanwoo Choi &lt;cw00.choi@samsung.com&gt;
Signed-off-by: MyungJoo Ham &lt;myungjoo.ham@samsung.com&gt;
</content>
</entry>
<entry>
<title>PM / devfreq: fix duplicated kfree on devfreq pointer</title>
<updated>2016-06-22T04:52:40Z</updated>
<author>
<name>MyungJoo Ham</name>
<email>myungjoo.ham@samsung.com</email>
</author>
<published>2015-10-02T03:48:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ac4b281176a54d17dd3f91b7fb4a4656471d8730'/>
<id>urn:sha1:ac4b281176a54d17dd3f91b7fb4a4656471d8730</id>
<content type='text'>
device_unregister() calls kfree already.

Signed-off-by: MyungJoo Ham &lt;myungjoo.ham@samsung.com&gt;
</content>
</entry>
<entry>
<title>PM / devfreq: devm_kzalloc to have dev pointer more precisely</title>
<updated>2016-06-22T04:51:08Z</updated>
<author>
<name>MyungJoo Ham</name>
<email>myungjoo.ham@samsung.com</email>
</author>
<published>2015-10-02T03:39:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=3e1d7fb0d279fea19eb4e36cc9bddf89264ba03f'/>
<id>urn:sha1:3e1d7fb0d279fea19eb4e36cc9bddf89264ba03f</id>
<content type='text'>
devm_kzalloc of devfreq's statistics data structure has been
using its parent device as the dev allocated for.
If a device's devfreq is disabled in run-time,
such allocated memory won't be freed.

Desginating more precisely with the devfreq device
pointer fixes the issue.

Signed-off-by: MyungJoo Ham &lt;myungjoo.ham@samsung.com&gt;
</content>
</entry>
</feed>
