<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/cpufreq, branch v3.14-rc5</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>intel_pstate: Change busy calculation to use fixed point math.</title>
<updated>2014-02-25T23:56:49+00:00</updated>
<author>
<name>Dirk Brandewie</name>
<email>dirk.j.brandewie@intel.com</email>
</author>
<published>2014-02-25T18:35:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e66c176837462928a05a135bbe16cdce70536d6e'/>
<id>e66c176837462928a05a135bbe16cdce70536d6e</id>
<content type='text'>
Commit fcb6a15c2e (intel_pstate: Take core C0 time into account for
core busy calculation) introduced a regression on some processor SKUs
supported by intel_pstate. This was due to the truncation caused by
using integer math to calculate core busy and C0 percentages.

On a i7-4770K processor operating at 800Mhz going to 100% utilization
the percent busy of the CPU using integer math is 22%, but it actually
is 22.85%.  This value scaled to the current frequency returned 97
which the PID interpreted as no error and did not adjust the P state.

Tested on i7-4770K, i7-2600, i5-3230M.

Fixes: fcb6a15c2e7e (intel_pstate: Take core C0 time into account for core busy calculation)
References: https://lkml.org/lkml/2014/2/19/626
References: https://bugzilla.kernel.org/show_bug.cgi?id=70941
Signed-off-by: Dirk Brandewie &lt;dirk.j.brandewie@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit fcb6a15c2e (intel_pstate: Take core C0 time into account for
core busy calculation) introduced a regression on some processor SKUs
supported by intel_pstate. This was due to the truncation caused by
using integer math to calculate core busy and C0 percentages.

On a i7-4770K processor operating at 800Mhz going to 100% utilization
the percent busy of the CPU using integer math is 22%, but it actually
is 22.85%.  This value scaled to the current frequency returned 97
which the PID interpreted as no error and did not adjust the P state.

Tested on i7-4770K, i7-2600, i5-3230M.

Fixes: fcb6a15c2e7e (intel_pstate: Take core C0 time into account for core busy calculation)
References: https://lkml.org/lkml/2014/2/19/626
References: https://bugzilla.kernel.org/show_bug.cgi?id=70941
Signed-off-by: Dirk Brandewie &lt;dirk.j.brandewie@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>intel_pstate: Add support for Baytrail turbo P states</title>
<updated>2014-02-21T00:22:40+00:00</updated>
<author>
<name>Dirk Brandewie</name>
<email>dirk.j.brandewie@intel.com</email>
</author>
<published>2014-02-12T18:01:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=61d8d2abc15e9232c3914c55502b73e559366583'/>
<id>61d8d2abc15e9232c3914c55502b73e559366583</id>
<content type='text'>
A documentation update exposed the existance of the turbo ratio
register. Update baytrail support to use the turbo range.

Signed-off-by: Dirk Brandewie &lt;dirk.j.brandewie@intel.com&gt;
Cc: 3.13+ &lt;stable@vger.kernel.org&gt; # 3.13+
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A documentation update exposed the existance of the turbo ratio
register. Update baytrail support to use the turbo range.

Signed-off-by: Dirk Brandewie &lt;dirk.j.brandewie@intel.com&gt;
Cc: 3.13+ &lt;stable@vger.kernel.org&gt; # 3.13+
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>intel_pstate: Use LFM bus ratio as min ratio/P state</title>
<updated>2014-02-21T00:22:40+00:00</updated>
<author>
<name>Dirk Brandewie</name>
<email>dirk.j.brandewie@intel.com</email>
</author>
<published>2014-02-12T18:01:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=4042e7570cff740460b75c6fc604c629621d3dd2'/>
<id>4042e7570cff740460b75c6fc604c629621d3dd2</id>
<content type='text'>
LFM (max efficiency ratio) is the max frequency at minimum voltage
supported by the processor.  Using LFM as the minimum P state
increases performmance without affecting power. By not using P states
below LFM we avoid using P states that are less power efficient.

Signed-off-by: Dirk Brandewie &lt;dirk.j.brandewie@intel.com&gt;
Cc: 3.13+ &lt;stable@vger.kernel.org&gt; # 3.13+
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
LFM (max efficiency ratio) is the max frequency at minimum voltage
supported by the processor.  Using LFM as the minimum P state
increases performmance without affecting power. By not using P states
below LFM we avoid using P states that are less power efficient.

Signed-off-by: Dirk Brandewie &lt;dirk.j.brandewie@intel.com&gt;
Cc: 3.13+ &lt;stable@vger.kernel.org&gt; # 3.13+
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cpufreq: powernow-k8: Initialize per-cpu data-structures properly</title>
<updated>2014-02-19T00:04:56+00:00</updated>
<author>
<name>Srivatsa S. Bhat</name>
<email>srivatsa.bhat@linux.vnet.ibm.com</email>
</author>
<published>2014-02-17T10:48:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c3274763bfc3bf1ececa269ed6e6c4d7ec1c3e5e'/>
<id>c3274763bfc3bf1ececa269ed6e6c4d7ec1c3e5e</id>
<content type='text'>
The powernow-k8 driver maintains a per-cpu data-structure called
powernow_data that is used to perform the frequency transitions.
It initializes this data structure only for the policy-&gt;cpu. So,
accesses to this data structure by other CPUs results in various
problems because they would have been uninitialized.

Specifically, if a cpu (!= policy-&gt;cpu) invokes the drivers' -&gt;get()
function, it returns 0 as the KHz value, since its per-cpu memory
doesn't point to anything valid. This causes problems during
suspend/resume since cpufreq_update_policy() tries to enforce this
(0 KHz) as the current frequency of the CPU, and this madness gets
propagated to adjust_jiffies() as well. Eventually, lots of things
start breaking down, including the r8169 ethernet card, in one
particularly interesting case reported by Pierre Ossman.

Fix this by initializing the per-cpu data-structures of all the CPUs
in the policy appropriately.

References: https://bugzilla.kernel.org/show_bug.cgi?id=70311
Reported-by: Pierre Ossman &lt;pierre@ossman.eu&gt;
Signed-off-by: Srivatsa S. Bhat &lt;srivatsa.bhat@linux.vnet.ibm.com&gt;
Cc: All applicable &lt;stable@vger.kernel.org&gt;
Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The powernow-k8 driver maintains a per-cpu data-structure called
powernow_data that is used to perform the frequency transitions.
It initializes this data structure only for the policy-&gt;cpu. So,
accesses to this data structure by other CPUs results in various
problems because they would have been uninitialized.

Specifically, if a cpu (!= policy-&gt;cpu) invokes the drivers' -&gt;get()
function, it returns 0 as the KHz value, since its per-cpu memory
doesn't point to anything valid. This causes problems during
suspend/resume since cpufreq_update_policy() tries to enforce this
(0 KHz) as the current frequency of the CPU, and this madness gets
propagated to adjust_jiffies() as well. Eventually, lots of things
start breaking down, including the r8169 ethernet card, in one
particularly interesting case reported by Pierre Ossman.

Fix this by initializing the per-cpu data-structures of all the CPUs
in the policy appropriately.

References: https://bugzilla.kernel.org/show_bug.cgi?id=70311
Reported-by: Pierre Ossman &lt;pierre@ossman.eu&gt;
Signed-off-by: Srivatsa S. Bhat &lt;srivatsa.bhat@linux.vnet.ibm.com&gt;
Cc: All applicable &lt;stable@vger.kernel.org&gt;
Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cpufreq: remove sysfs link when a cpu != policy-&gt;cpu, is removed</title>
<updated>2014-02-19T00:04:40+00:00</updated>
<author>
<name>viresh kumar</name>
<email>viresh.kumar@linaro.org</email>
</author>
<published>2014-02-17T09:22:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=6964d91db2becfe80658f50584d264708ca7f49e'/>
<id>6964d91db2becfe80658f50584d264708ca7f49e</id>
<content type='text'>
Commit 42f921a (cpufreq: remove sysfs files for CPUs which failed to
come back after resume) tried to do this but missed this piece of code
to fix.

Currently we are getting this on suspend/resume:

------------[ cut here ]------------
WARNING: CPU: 0 PID: 877 at fs/sysfs/dir.c:52 sysfs_warn_dup+0x68/0x84()
sysfs: cannot create duplicate filename '/devices/system/cpu/cpu1/cpufreq'
Modules linked in: brcmfmac brcmutil
CPU: 0 PID: 877 Comm: test-rtc-resume Not tainted 3.14.0-rc2-00259-g9398a10cd964 #12
[&lt;c0015bac&gt;] (unwind_backtrace) from [&lt;c0011850&gt;] (show_stack+0x10/0x14)
[&lt;c0011850&gt;] (show_stack) from [&lt;c056e018&gt;] (dump_stack+0x80/0xcc)
[&lt;c056e018&gt;] (dump_stack) from [&lt;c0025e44&gt;] (warn_slowpath_common+0x64/0x88)
[&lt;c0025e44&gt;] (warn_slowpath_common) from [&lt;c0025efc&gt;] (warn_slowpath_fmt+0x30/0x40)
[&lt;c0025efc&gt;] (warn_slowpath_fmt) from [&lt;c012776c&gt;] (sysfs_warn_dup+0x68/0x84)
[&lt;c012776c&gt;] (sysfs_warn_dup) from [&lt;c0127a54&gt;] (sysfs_do_create_link_sd+0xb0/0xb8)
[&lt;c0127a54&gt;] (sysfs_do_create_link_sd) from [&lt;c038ef64&gt;] (__cpufreq_add_dev.isra.27+0x2a8/0x814)
[&lt;c038ef64&gt;] (__cpufreq_add_dev.isra.27) from [&lt;c038f548&gt;] (cpufreq_cpu_callback+0x70/0x8c)
[&lt;c038f548&gt;] (cpufreq_cpu_callback) from [&lt;c0043864&gt;] (notifier_call_chain+0x44/0x84)
[&lt;c0043864&gt;] (notifier_call_chain) from [&lt;c0025f60&gt;] (__cpu_notify+0x28/0x44)
[&lt;c0025f60&gt;] (__cpu_notify) from [&lt;c00261e8&gt;] (_cpu_up+0xf0/0x140)
[&lt;c00261e8&gt;] (_cpu_up) from [&lt;c0569eb8&gt;] (enable_nonboot_cpus+0x68/0xb0)
[&lt;c0569eb8&gt;] (enable_nonboot_cpus) from [&lt;c006339c&gt;] (suspend_devices_and_enter+0x198/0x2dc)
[&lt;c006339c&gt;] (suspend_devices_and_enter) from [&lt;c0063654&gt;] (pm_suspend+0x174/0x1e8)
[&lt;c0063654&gt;] (pm_suspend) from [&lt;c00624e0&gt;] (state_store+0x6c/0xbc)
[&lt;c00624e0&gt;] (state_store) from [&lt;c01fc200&gt;] (kobj_attr_store+0x14/0x20)
[&lt;c01fc200&gt;] (kobj_attr_store) from [&lt;c0126e50&gt;] (sysfs_kf_write+0x44/0x48)
[&lt;c0126e50&gt;] (sysfs_kf_write) from [&lt;c012a274&gt;] (kernfs_fop_write+0xb4/0x14c)
[&lt;c012a274&gt;] (kernfs_fop_write) from [&lt;c00d4818&gt;] (vfs_write+0xa8/0x180)
[&lt;c00d4818&gt;] (vfs_write) from [&lt;c00d4bb8&gt;] (SyS_write+0x3c/0x70)
[&lt;c00d4bb8&gt;] (SyS_write) from [&lt;c000e620&gt;] (ret_fast_syscall+0x0/0x30)
---[ end trace 76969904b614c18f ]---

Fix this by removing sysfs link for cpufreq directory when cpu removed
isn't policy-&gt;cpu.

Revamps: 42f921a (cpufreq: remove sysfs files for CPUs which failed to come back after resume)
Reported-and-tested-by: Stephen Warren &lt;swarren@nvidia.com&gt;
Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit 42f921a (cpufreq: remove sysfs files for CPUs which failed to
come back after resume) tried to do this but missed this piece of code
to fix.

Currently we are getting this on suspend/resume:

------------[ cut here ]------------
WARNING: CPU: 0 PID: 877 at fs/sysfs/dir.c:52 sysfs_warn_dup+0x68/0x84()
sysfs: cannot create duplicate filename '/devices/system/cpu/cpu1/cpufreq'
Modules linked in: brcmfmac brcmutil
CPU: 0 PID: 877 Comm: test-rtc-resume Not tainted 3.14.0-rc2-00259-g9398a10cd964 #12
[&lt;c0015bac&gt;] (unwind_backtrace) from [&lt;c0011850&gt;] (show_stack+0x10/0x14)
[&lt;c0011850&gt;] (show_stack) from [&lt;c056e018&gt;] (dump_stack+0x80/0xcc)
[&lt;c056e018&gt;] (dump_stack) from [&lt;c0025e44&gt;] (warn_slowpath_common+0x64/0x88)
[&lt;c0025e44&gt;] (warn_slowpath_common) from [&lt;c0025efc&gt;] (warn_slowpath_fmt+0x30/0x40)
[&lt;c0025efc&gt;] (warn_slowpath_fmt) from [&lt;c012776c&gt;] (sysfs_warn_dup+0x68/0x84)
[&lt;c012776c&gt;] (sysfs_warn_dup) from [&lt;c0127a54&gt;] (sysfs_do_create_link_sd+0xb0/0xb8)
[&lt;c0127a54&gt;] (sysfs_do_create_link_sd) from [&lt;c038ef64&gt;] (__cpufreq_add_dev.isra.27+0x2a8/0x814)
[&lt;c038ef64&gt;] (__cpufreq_add_dev.isra.27) from [&lt;c038f548&gt;] (cpufreq_cpu_callback+0x70/0x8c)
[&lt;c038f548&gt;] (cpufreq_cpu_callback) from [&lt;c0043864&gt;] (notifier_call_chain+0x44/0x84)
[&lt;c0043864&gt;] (notifier_call_chain) from [&lt;c0025f60&gt;] (__cpu_notify+0x28/0x44)
[&lt;c0025f60&gt;] (__cpu_notify) from [&lt;c00261e8&gt;] (_cpu_up+0xf0/0x140)
[&lt;c00261e8&gt;] (_cpu_up) from [&lt;c0569eb8&gt;] (enable_nonboot_cpus+0x68/0xb0)
[&lt;c0569eb8&gt;] (enable_nonboot_cpus) from [&lt;c006339c&gt;] (suspend_devices_and_enter+0x198/0x2dc)
[&lt;c006339c&gt;] (suspend_devices_and_enter) from [&lt;c0063654&gt;] (pm_suspend+0x174/0x1e8)
[&lt;c0063654&gt;] (pm_suspend) from [&lt;c00624e0&gt;] (state_store+0x6c/0xbc)
[&lt;c00624e0&gt;] (state_store) from [&lt;c01fc200&gt;] (kobj_attr_store+0x14/0x20)
[&lt;c01fc200&gt;] (kobj_attr_store) from [&lt;c0126e50&gt;] (sysfs_kf_write+0x44/0x48)
[&lt;c0126e50&gt;] (sysfs_kf_write) from [&lt;c012a274&gt;] (kernfs_fop_write+0xb4/0x14c)
[&lt;c012a274&gt;] (kernfs_fop_write) from [&lt;c00d4818&gt;] (vfs_write+0xa8/0x180)
[&lt;c00d4818&gt;] (vfs_write) from [&lt;c00d4bb8&gt;] (SyS_write+0x3c/0x70)
[&lt;c00d4bb8&gt;] (SyS_write) from [&lt;c000e620&gt;] (ret_fast_syscall+0x0/0x30)
---[ end trace 76969904b614c18f ]---

Fix this by removing sysfs link for cpufreq directory when cpu removed
isn't policy-&gt;cpu.

Revamps: 42f921a (cpufreq: remove sysfs files for CPUs which failed to come back after resume)
Reported-and-tested-by: Stephen Warren &lt;swarren@nvidia.com&gt;
Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>intel_pstate: Remove energy reporting from pstate_sample tracepoint</title>
<updated>2014-02-13T01:11:18+00:00</updated>
<author>
<name>Dirk Brandewie</name>
<email>dirk.j.brandewie@intel.com</email>
</author>
<published>2014-02-12T18:01:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=709c078e176bd47227e89bb34de7c64b57aaaeab'/>
<id>709c078e176bd47227e89bb34de7c64b57aaaeab</id>
<content type='text'>
Remove the reporting of energy since it does not provide any useful
information about the state of the driver and will be a maintainance
headache going forward since the RAPL energy units register is not
architectural and subject to change between micro-architectures

References: https://bugzilla.kernel.org/show_bug.cgi?id=69831
Fixes: b69880f9ccf7 (intel_pstate: Add trace point to report internal state.)
Signed-off-by: Dirk Brandewie &lt;dirk.j.brandewie@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove the reporting of energy since it does not provide any useful
information about the state of the driver and will be a maintainance
headache going forward since the RAPL energy units register is not
architectural and subject to change between micro-architectures

References: https://bugzilla.kernel.org/show_bug.cgi?id=69831
Fixes: b69880f9ccf7 (intel_pstate: Add trace point to report internal state.)
Signed-off-by: Dirk Brandewie &lt;dirk.j.brandewie@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>intel_pstate: Take core C0 time into account for core busy calculation</title>
<updated>2014-02-04T20:41:15+00:00</updated>
<author>
<name>Dirk Brandewie</name>
<email>dirk.j.brandewie@intel.com</email>
</author>
<published>2014-02-03T16:55:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=fcb6a15c2e7e76d493e6f91ea889ab40e1c643a4'/>
<id>fcb6a15c2e7e76d493e6f91ea889ab40e1c643a4</id>
<content type='text'>
Take non-idle time into account when calculating core busy time.
This ensures that intel_pstate will notice a decrease in load.

References: https://bugzilla.kernel.org/show_bug.cgi?id=66581
Cc: 3.10+ &lt;stable@vger.kernel.org&gt; # 3.10+
Signed-off-by: Dirk Brandewie &lt;dirk.j.brandewie@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Take non-idle time into account when calculating core busy time.
This ensures that intel_pstate will notice a decrease in load.

References: https://bugzilla.kernel.org/show_bug.cgi?id=66581
Cc: 3.10+ &lt;stable@vger.kernel.org&gt; # 3.10+
Signed-off-by: Dirk Brandewie &lt;dirk.j.brandewie@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'pm+acpi-3.14-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm</title>
<updated>2014-01-31T17:23:52+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-01-31T17:23:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b890eb4ecc718907223a3b7b7b069b59b33f28ef'/>
<id>b890eb4ecc718907223a3b7b7b069b59b33f28ef</id>
<content type='text'>
Pull ACPI and power management fixes and cleanups from Rafael Wysocki:

 - ACPI device hotplug fix preventing ACPI drivers from binding to device
   objects that acpi_bus_trim() has been called for and the devices
   represented by them may not be operational.

 - Recent cpufreq changes related to the "boost" (turbo) feature broke
   the acpi-cpufreq error code path causing a NULL pointer dereference
   to occur on some systems.  Fix from Konrad Rzeszutek Wilk.

 - The log level of a CPU initialization error message added recently
   needs to be reduced, because the particular BIOS issue indicated by
   it turns out to be widespread and doesn't really matter for the
   majority of systems having it.  From Jiang Liu.

 - The regulator API needs to be told to stay away from things on systems
   with ACPI BIOSes or it may conflict with the BIOS' own handling of
   voltage regulators.  Fix from Mark Brown that works around a 3.13
   regression in lm90 on PCs occuring if the regulator API is enabled.

 - Prevent the Exynos4 devfreq driver from being built on multiplatform,
   because it depends on things that aren't available during such builds.
   From Sachin Kamat.

 - Upstream ACPICA doesn't use the bool type as defined in the kernel,
   so modify the kernel's ACPICA code to follow the upstream in that
   respect (only one variable definition is affected) to reduce
   divergences between the two.  From Lv Zheng.

 - Make the ACPI device PM code use ACPI_COMPANION() instead of its own
   routine doing the same thing (and invokng ACPI_COMPANION() in the
   process).

 - Modify some routines in the ACPI processor driver to follow the
   common convention and return negative integers on errors.  From
   Hanjun Guo.

* tag 'pm+acpi-3.14-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  ACPI / scan: Clear match_driver flag in acpi_bus_trim()
  ACPI / init: Flag use of ACPI and ACPI idioms for power supplies to regulator API
  acpi-cpufreq: De-register CPU notifier and free struct msr on error.
  ACPICA: Remove bool usage from ACPICA.
  PM / devfreq: Disable Exynos4 driver build on multiplatform
  ACPI / PM: Use ACPI_COMPANION() to get ACPI companions of devices
  ACPI / scan: reduce log level of "ACPI: \_PR_.CPU4: failed to get CPU APIC ID"
  ACPI / processor: Return specific error value when mapping lapic id
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull ACPI and power management fixes and cleanups from Rafael Wysocki:

 - ACPI device hotplug fix preventing ACPI drivers from binding to device
   objects that acpi_bus_trim() has been called for and the devices
   represented by them may not be operational.

 - Recent cpufreq changes related to the "boost" (turbo) feature broke
   the acpi-cpufreq error code path causing a NULL pointer dereference
   to occur on some systems.  Fix from Konrad Rzeszutek Wilk.

 - The log level of a CPU initialization error message added recently
   needs to be reduced, because the particular BIOS issue indicated by
   it turns out to be widespread and doesn't really matter for the
   majority of systems having it.  From Jiang Liu.

 - The regulator API needs to be told to stay away from things on systems
   with ACPI BIOSes or it may conflict with the BIOS' own handling of
   voltage regulators.  Fix from Mark Brown that works around a 3.13
   regression in lm90 on PCs occuring if the regulator API is enabled.

 - Prevent the Exynos4 devfreq driver from being built on multiplatform,
   because it depends on things that aren't available during such builds.
   From Sachin Kamat.

 - Upstream ACPICA doesn't use the bool type as defined in the kernel,
   so modify the kernel's ACPICA code to follow the upstream in that
   respect (only one variable definition is affected) to reduce
   divergences between the two.  From Lv Zheng.

 - Make the ACPI device PM code use ACPI_COMPANION() instead of its own
   routine doing the same thing (and invokng ACPI_COMPANION() in the
   process).

 - Modify some routines in the ACPI processor driver to follow the
   common convention and return negative integers on errors.  From
   Hanjun Guo.

* tag 'pm+acpi-3.14-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  ACPI / scan: Clear match_driver flag in acpi_bus_trim()
  ACPI / init: Flag use of ACPI and ACPI idioms for power supplies to regulator API
  acpi-cpufreq: De-register CPU notifier and free struct msr on error.
  ACPICA: Remove bool usage from ACPICA.
  PM / devfreq: Disable Exynos4 driver build on multiplatform
  ACPI / PM: Use ACPI_COMPANION() to get ACPI companions of devices
  ACPI / scan: reduce log level of "ACPI: \_PR_.CPU4: failed to get CPU APIC ID"
  ACPI / processor: Return specific error value when mapping lapic id
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branches 'pm-cpufreq' and 'pm-devfreq'</title>
<updated>2014-01-29T10:48:23+00:00</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2014-01-29T10:48:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=88ea0f2c02f461613dd67664a79db525e9723609'/>
<id>88ea0f2c02f461613dd67664a79db525e9723609</id>
<content type='text'>
* pm-cpufreq:
  acpi-cpufreq: De-register CPU notifier and free struct msr on error.

* pm-devfreq:
  PM / devfreq: Disable Exynos4 driver build on multiplatform
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* pm-cpufreq:
  acpi-cpufreq: De-register CPU notifier and free struct msr on error.

* pm-devfreq:
  PM / devfreq: Disable Exynos4 driver build on multiplatform
</pre>
</div>
</content>
</entry>
<entry>
<title>acpi-cpufreq: De-register CPU notifier and free struct msr on error.</title>
<updated>2014-01-28T21:36:30+00:00</updated>
<author>
<name>Konrad Rzeszutek Wilk</name>
<email>konrad.wilk@oracle.com</email>
</author>
<published>2014-01-28T03:50:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=eb8c68ef558e6cba241e7ada54f6b3427cb2bf68'/>
<id>eb8c68ef558e6cba241e7ada54f6b3427cb2bf68</id>
<content type='text'>
If cpufreq_register_driver() fails we would free the acpi driver
related structures but not free the ones allocated
by acpi_cpufreq_boost_init() function. This meant that as
the driver error-ed out and a CPU online/offline event came
we would crash and burn as one of the CPU notifiers would point
to garbage.

Fixes: cfc9c8ed03e4 (acpi-cpufreq: Adjust the code to use the common boost attribute)
Acked-by: Lukasz Majewski &lt;l.majewski@samsung.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If cpufreq_register_driver() fails we would free the acpi driver
related structures but not free the ones allocated
by acpi_cpufreq_boost_init() function. This meant that as
the driver error-ed out and a CPU online/offline event came
we would crash and burn as one of the CPU notifiers would point
to garbage.

Fixes: cfc9c8ed03e4 (acpi-cpufreq: Adjust the code to use the common boost attribute)
Acked-by: Lukasz Majewski &lt;l.majewski@samsung.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
