<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/cpufreq, branch v3.10-rc4</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>Merge tag 'pm+acpi-3.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm</title>
<updated>2013-05-26T03:32:00+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-05-26T03:32:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=1aad08dc571604ebe473e2a187f0f7b211ae6c3f'/>
<id>1aad08dc571604ebe473e2a187f0f7b211ae6c3f</id>
<content type='text'>
Pull power management and ACPI fixes from Rafael Wysocki:

 - Additional CPU ID for the intel_pstate driver from Dirk Brandewie.

 - More cpufreq fixes related to ARM big.LITTLE support and locking from
   Viresh Kumar.

 - VIA C7 cpufreq build fix from Rafał Bilski.

 - ACPI power management fix making it possible to use device power
   states regardless of the CONFIG_PM setting from Rafael J Wysocki.

 - New ACPI video blacklist item from Bastian Triller.

* tag 'pm+acpi-3.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  ACPI / video: Add "Asus UL30A" to ACPI video detect blacklist
  cpufreq: arm_big_little_dt: Instantiate as platform_driver
  cpufreq: arm_big_little_dt: Register driver only if DT has valid data
  cpufreq / e_powersaver: Fix linker error when ACPI processor is a module
  cpufreq / intel_pstate: Add additional supported CPU ID
  cpufreq: Drop rwsem lock around CPUFREQ_GOV_POLICY_EXIT
  ACPI / PM: Allow device power states to be used for CONFIG_PM unset
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull power management and ACPI fixes from Rafael Wysocki:

 - Additional CPU ID for the intel_pstate driver from Dirk Brandewie.

 - More cpufreq fixes related to ARM big.LITTLE support and locking from
   Viresh Kumar.

 - VIA C7 cpufreq build fix from Rafał Bilski.

 - ACPI power management fix making it possible to use device power
   states regardless of the CONFIG_PM setting from Rafael J Wysocki.

 - New ACPI video blacklist item from Bastian Triller.

* tag 'pm+acpi-3.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  ACPI / video: Add "Asus UL30A" to ACPI video detect blacklist
  cpufreq: arm_big_little_dt: Instantiate as platform_driver
  cpufreq: arm_big_little_dt: Register driver only if DT has valid data
  cpufreq / e_powersaver: Fix linker error when ACPI processor is a module
  cpufreq / intel_pstate: Add additional supported CPU ID
  cpufreq: Drop rwsem lock around CPUFREQ_GOV_POLICY_EXIT
  ACPI / PM: Allow device power states to be used for CONFIG_PM unset
</pre>
</div>
</content>
</entry>
<entry>
<title>cpufreq: arm_big_little_dt: Instantiate as platform_driver</title>
<updated>2013-05-22T10:43:33+00:00</updated>
<author>
<name>Viresh Kumar</name>
<email>viresh.kumar@linaro.org</email>
</author>
<published>2013-05-20T04:27:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9076eaca60b3796b3b97d1914c4924c4bc39f066'/>
<id>9076eaca60b3796b3b97d1914c4924c4bc39f066</id>
<content type='text'>
As multiplatform build is being adopted by more and more ARM platforms, initcall
function should be used very carefully. For example, when both arm_big_little_dt
and cpufreq-cpu0 drivers are compiled in, arm_big_little_dt driver may try to
register even if we had platform device for cpufreq-cpu0 registered.

To eliminate this undesired the effect, the patch changes arm_big_little_dt
driver to have it instantiated as a platform_driver. Then it will only run on
platforms that create the platform_device "arm-bL-cpufreq-dt".

Reported-and-tested-by: Rob Herring &lt;robherring2@gmail.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>
As multiplatform build is being adopted by more and more ARM platforms, initcall
function should be used very carefully. For example, when both arm_big_little_dt
and cpufreq-cpu0 drivers are compiled in, arm_big_little_dt driver may try to
register even if we had platform device for cpufreq-cpu0 registered.

To eliminate this undesired the effect, the patch changes arm_big_little_dt
driver to have it instantiated as a platform_driver. Then it will only run on
platforms that create the platform_device "arm-bL-cpufreq-dt".

Reported-and-tested-by: Rob Herring &lt;robherring2@gmail.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>cpufreq: arm_big_little_dt: Register driver only if DT has valid data</title>
<updated>2013-05-22T10:42:34+00:00</updated>
<author>
<name>Viresh Kumar</name>
<email>viresh.kumar@linaro.org</email>
</author>
<published>2013-05-17T11:25:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=92a9b5c291c72aa9899021699458f0b6e328b940'/>
<id>92a9b5c291c72aa9899021699458f0b6e328b940</id>
<content type='text'>
If arm_big_little_dt driver is enabled, then it will always try to register with
big LITTLE cpufreq core driver. In case DT doesn't have relevant data for cpu
nodes, i.e. operating points aren't present, then we should exit early and
shouldn't register with big LITTLE cpufreq core driver. Otherwise we will fail
continuously from the driver-&gt;init() routine.

This patch fixes this issue.

Reported-and-tested-by: Jon Medhurst &lt;tixy@linaro.org&gt;
Reviewed-by: Jon Medhurst &lt;tixy@linaro.org&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>
If arm_big_little_dt driver is enabled, then it will always try to register with
big LITTLE cpufreq core driver. In case DT doesn't have relevant data for cpu
nodes, i.e. operating points aren't present, then we should exit early and
shouldn't register with big LITTLE cpufreq core driver. Otherwise we will fail
continuously from the driver-&gt;init() routine.

This patch fixes this issue.

Reported-and-tested-by: Jon Medhurst &lt;tixy@linaro.org&gt;
Reviewed-by: Jon Medhurst &lt;tixy@linaro.org&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>cpufreq / e_powersaver: Fix linker error when ACPI processor is a module</title>
<updated>2013-05-22T10:41:25+00:00</updated>
<author>
<name>Rafał Bilski</name>
<email>rafalbilski@interia.pl</email>
</author>
<published>2013-05-19T19:27:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b5f14720a6421aab841d9f03f0129cfbe7db5133'/>
<id>b5f14720a6421aab841d9f03f0129cfbe7db5133</id>
<content type='text'>
on i386:
CONFIG_ACPI_PROCESSOR=m
CONFIG_X86_E_POWERSAVER=y

drivers/built-in.o: In function `eps_cpu_init.part.8':
e_powersaver.c:(.text.unlikely+0x2243): undefined reference to `acpi_processor_register_performance'
e_powersaver.c:(.text.unlikely+0x22a2): undefined reference to `acpi_processor_unregister_performance'
e_powersaver.c:(.text.unlikely+0x246b): undefined reference to `acpi_processor_get_bios_limit'

X86_E_POWERSAVER should also depend on ACPI_PROCESSOR.

Signed-off-by: Rafal Bilski &lt;rafalbilski@interia.pl&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>
on i386:
CONFIG_ACPI_PROCESSOR=m
CONFIG_X86_E_POWERSAVER=y

drivers/built-in.o: In function `eps_cpu_init.part.8':
e_powersaver.c:(.text.unlikely+0x2243): undefined reference to `acpi_processor_register_performance'
e_powersaver.c:(.text.unlikely+0x22a2): undefined reference to `acpi_processor_unregister_performance'
e_powersaver.c:(.text.unlikely+0x246b): undefined reference to `acpi_processor_get_bios_limit'

X86_E_POWERSAVER should also depend on ACPI_PROCESSOR.

Signed-off-by: Rafal Bilski &lt;rafalbilski@interia.pl&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>MIPS: Idle: Consolidate all declarations in &lt;asm/idle.h&gt;.</title>
<updated>2013-05-21T23:34:27+00:00</updated>
<author>
<name>Ralf Baechle</name>
<email>ralf@linux-mips.org</email>
</author>
<published>2013-05-21T14:59:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=bdc92d74e0ec95a8101447467c25f015105f2e5a'/>
<id>bdc92d74e0ec95a8101447467c25f015105f2e5a</id>
<content type='text'>
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>MIPS: Idle: Re-enable irqs at the end of r3081, au1k and loongson2 cpu_wait.</title>
<updated>2013-05-21T23:34:26+00:00</updated>
<author>
<name>Ralf Baechle</name>
<email>ralf@linux-mips.org</email>
</author>
<published>2013-05-21T12:05:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=fb40bc3e94933007d3e42e96daf1ec8044821cb8'/>
<id>fb40bc3e94933007d3e42e96daf1ec8044821cb8</id>
<content type='text'>
Without this, the

    WARN_ON_ONCE(irqs_disabled());

in the idle loop will be triggered.

Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Without this, the

    WARN_ON_ONCE(irqs_disabled());

in the idle loop will be triggered.

Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cpufreq / intel_pstate: Add additional supported CPU ID</title>
<updated>2013-05-21T22:28:44+00:00</updated>
<author>
<name>Dirk Brandewie</name>
<email>dirk.j.brandewie@intel.com</email>
</author>
<published>2013-05-17T16:10:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c96d53d600643ee0adfd1cb90814bd9510e62b71'/>
<id>c96d53d600643ee0adfd1cb90814bd9510e62b71</id>
<content type='text'>
Add CPU ID for Ivybrigde processor.

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>
Add CPU ID for Ivybrigde processor.

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>cpufreq: Drop rwsem lock around CPUFREQ_GOV_POLICY_EXIT</title>
<updated>2013-05-21T22:23:54+00:00</updated>
<author>
<name>Viresh Kumar</name>
<email>viresh.kumar@linaro.org</email>
</author>
<published>2013-05-16T05:09:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=955ef4833574636819cd269cfbae12f79cbde63a'/>
<id>955ef4833574636819cd269cfbae12f79cbde63a</id>
<content type='text'>
With the rwsem lock around
__cpufreq_governor(policy, CPUFREQ_GOV_POLICY_EXIT), we
get circular dependency when we call sysfs_remove_group().

 ======================================================
 [ INFO: possible circular locking dependency detected ]
 3.9.0-rc7+ #15 Not tainted
 -------------------------------------------------------
 cat/2387 is trying to acquire lock:
  (&amp;per_cpu(cpu_policy_rwsem, cpu)){+++++.}, at: [&lt;c02f6179&gt;] lock_policy_rwsem_read+0x25/0x34

 but task is already holding lock:
  (s_active#41){++++.+}, at: [&lt;c00f9bf7&gt;] sysfs_read_file+0x4f/0xcc

 which lock already depends on the new lock.

 the existing dependency chain (in reverse order) is:

-&gt; #1 (s_active#41){++++.+}:
        [&lt;c0055a79&gt;] lock_acquire+0x61/0xbc
        [&lt;c00fabf1&gt;] sysfs_addrm_finish+0xc1/0x128
        [&lt;c00f9819&gt;] sysfs_hash_and_remove+0x35/0x64
        [&lt;c00fbe6f&gt;] remove_files.isra.0+0x1b/0x24
        [&lt;c00fbea5&gt;] sysfs_remove_group+0x2d/0xa8
        [&lt;c02f9a0b&gt;] cpufreq_governor_interactive+0x13b/0x35c
        [&lt;c02f61df&gt;] __cpufreq_governor+0x2b/0x8c
        [&lt;c02f6579&gt;] __cpufreq_set_policy+0xa9/0xf8
        [&lt;c02f6b75&gt;] store_scaling_governor+0x61/0x100
        [&lt;c02f6f4d&gt;] store+0x39/0x60
        [&lt;c00f9b81&gt;] sysfs_write_file+0xed/0x114
        [&lt;c00b3fd1&gt;] vfs_write+0x65/0xd8
        [&lt;c00b424b&gt;] sys_write+0x2f/0x50
        [&lt;c000cdc1&gt;] ret_fast_syscall+0x1/0x52

-&gt; #0 (&amp;per_cpu(cpu_policy_rwsem, cpu)){+++++.}:
        [&lt;c0055253&gt;] __lock_acquire+0xef3/0x13dc
        [&lt;c0055a79&gt;] lock_acquire+0x61/0xbc
        [&lt;c03ee1f5&gt;] down_read+0x25/0x30
        [&lt;c02f6179&gt;] lock_policy_rwsem_read+0x25/0x34
        [&lt;c02f6edd&gt;] show+0x21/0x58
        [&lt;c00f9c0f&gt;] sysfs_read_file+0x67/0xcc
        [&lt;c00b40a7&gt;] vfs_read+0x63/0xd8
        [&lt;c00b41fb&gt;] sys_read+0x2f/0x50
        [&lt;c000cdc1&gt;] ret_fast_syscall+0x1/0x52

 other info that might help us debug this:

  Possible unsafe locking scenario:

        CPU0                    CPU1
        ----                    ----
   lock(s_active#41);
                                lock(&amp;per_cpu(cpu_policy_rwsem, cpu));
                                lock(s_active#41);
   lock(&amp;per_cpu(cpu_policy_rwsem, cpu));

  *** DEADLOCK ***

 2 locks held by cat/2387:
  #0:  (&amp;buffer-&gt;mutex){+.+.+.}, at: [&lt;c00f9bcd&gt;] sysfs_read_file+0x25/0xcc
  #1:  (s_active#41){++++.+}, at: [&lt;c00f9bf7&gt;] sysfs_read_file+0x4f/0xcc

 stack backtrace:
 [&lt;c0011d55&gt;] (unwind_backtrace+0x1/0x9c) from [&lt;c03e9a09&gt;] (print_circular_bug+0x19d/0x1e8)
 [&lt;c03e9a09&gt;] (print_circular_bug+0x19d/0x1e8) from [&lt;c0055253&gt;] (__lock_acquire+0xef3/0x13dc)
 [&lt;c0055253&gt;] (__lock_acquire+0xef3/0x13dc) from [&lt;c0055a79&gt;] (lock_acquire+0x61/0xbc)
 [&lt;c0055a79&gt;] (lock_acquire+0x61/0xbc) from [&lt;c03ee1f5&gt;] (down_read+0x25/0x30)
 [&lt;c03ee1f5&gt;] (down_read+0x25/0x30) from [&lt;c02f6179&gt;] (lock_policy_rwsem_read+0x25/0x34)
 [&lt;c02f6179&gt;] (lock_policy_rwsem_read+0x25/0x34) from [&lt;c02f6edd&gt;] (show+0x21/0x58)
 [&lt;c02f6edd&gt;] (show+0x21/0x58) from [&lt;c00f9c0f&gt;] (sysfs_read_file+0x67/0xcc)
 [&lt;c00f9c0f&gt;] (sysfs_read_file+0x67/0xcc) from [&lt;c00b40a7&gt;] (vfs_read+0x63/0xd8)
 [&lt;c00b40a7&gt;] (vfs_read+0x63/0xd8) from [&lt;c00b41fb&gt;] (sys_read+0x2f/0x50)
 [&lt;c00b41fb&gt;] (sys_read+0x2f/0x50) from [&lt;c000cdc1&gt;] (ret_fast_syscall+0x1/0x52)

This lock isn't required while calling __cpufreq_governor(policy,
CPUFREQ_GOV_POLICY_EXIT). Remove it.

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>
With the rwsem lock around
__cpufreq_governor(policy, CPUFREQ_GOV_POLICY_EXIT), we
get circular dependency when we call sysfs_remove_group().

 ======================================================
 [ INFO: possible circular locking dependency detected ]
 3.9.0-rc7+ #15 Not tainted
 -------------------------------------------------------
 cat/2387 is trying to acquire lock:
  (&amp;per_cpu(cpu_policy_rwsem, cpu)){+++++.}, at: [&lt;c02f6179&gt;] lock_policy_rwsem_read+0x25/0x34

 but task is already holding lock:
  (s_active#41){++++.+}, at: [&lt;c00f9bf7&gt;] sysfs_read_file+0x4f/0xcc

 which lock already depends on the new lock.

 the existing dependency chain (in reverse order) is:

-&gt; #1 (s_active#41){++++.+}:
        [&lt;c0055a79&gt;] lock_acquire+0x61/0xbc
        [&lt;c00fabf1&gt;] sysfs_addrm_finish+0xc1/0x128
        [&lt;c00f9819&gt;] sysfs_hash_and_remove+0x35/0x64
        [&lt;c00fbe6f&gt;] remove_files.isra.0+0x1b/0x24
        [&lt;c00fbea5&gt;] sysfs_remove_group+0x2d/0xa8
        [&lt;c02f9a0b&gt;] cpufreq_governor_interactive+0x13b/0x35c
        [&lt;c02f61df&gt;] __cpufreq_governor+0x2b/0x8c
        [&lt;c02f6579&gt;] __cpufreq_set_policy+0xa9/0xf8
        [&lt;c02f6b75&gt;] store_scaling_governor+0x61/0x100
        [&lt;c02f6f4d&gt;] store+0x39/0x60
        [&lt;c00f9b81&gt;] sysfs_write_file+0xed/0x114
        [&lt;c00b3fd1&gt;] vfs_write+0x65/0xd8
        [&lt;c00b424b&gt;] sys_write+0x2f/0x50
        [&lt;c000cdc1&gt;] ret_fast_syscall+0x1/0x52

-&gt; #0 (&amp;per_cpu(cpu_policy_rwsem, cpu)){+++++.}:
        [&lt;c0055253&gt;] __lock_acquire+0xef3/0x13dc
        [&lt;c0055a79&gt;] lock_acquire+0x61/0xbc
        [&lt;c03ee1f5&gt;] down_read+0x25/0x30
        [&lt;c02f6179&gt;] lock_policy_rwsem_read+0x25/0x34
        [&lt;c02f6edd&gt;] show+0x21/0x58
        [&lt;c00f9c0f&gt;] sysfs_read_file+0x67/0xcc
        [&lt;c00b40a7&gt;] vfs_read+0x63/0xd8
        [&lt;c00b41fb&gt;] sys_read+0x2f/0x50
        [&lt;c000cdc1&gt;] ret_fast_syscall+0x1/0x52

 other info that might help us debug this:

  Possible unsafe locking scenario:

        CPU0                    CPU1
        ----                    ----
   lock(s_active#41);
                                lock(&amp;per_cpu(cpu_policy_rwsem, cpu));
                                lock(s_active#41);
   lock(&amp;per_cpu(cpu_policy_rwsem, cpu));

  *** DEADLOCK ***

 2 locks held by cat/2387:
  #0:  (&amp;buffer-&gt;mutex){+.+.+.}, at: [&lt;c00f9bcd&gt;] sysfs_read_file+0x25/0xcc
  #1:  (s_active#41){++++.+}, at: [&lt;c00f9bf7&gt;] sysfs_read_file+0x4f/0xcc

 stack backtrace:
 [&lt;c0011d55&gt;] (unwind_backtrace+0x1/0x9c) from [&lt;c03e9a09&gt;] (print_circular_bug+0x19d/0x1e8)
 [&lt;c03e9a09&gt;] (print_circular_bug+0x19d/0x1e8) from [&lt;c0055253&gt;] (__lock_acquire+0xef3/0x13dc)
 [&lt;c0055253&gt;] (__lock_acquire+0xef3/0x13dc) from [&lt;c0055a79&gt;] (lock_acquire+0x61/0xbc)
 [&lt;c0055a79&gt;] (lock_acquire+0x61/0xbc) from [&lt;c03ee1f5&gt;] (down_read+0x25/0x30)
 [&lt;c03ee1f5&gt;] (down_read+0x25/0x30) from [&lt;c02f6179&gt;] (lock_policy_rwsem_read+0x25/0x34)
 [&lt;c02f6179&gt;] (lock_policy_rwsem_read+0x25/0x34) from [&lt;c02f6edd&gt;] (show+0x21/0x58)
 [&lt;c02f6edd&gt;] (show+0x21/0x58) from [&lt;c00f9c0f&gt;] (sysfs_read_file+0x67/0xcc)
 [&lt;c00f9c0f&gt;] (sysfs_read_file+0x67/0xcc) from [&lt;c00b40a7&gt;] (vfs_read+0x63/0xd8)
 [&lt;c00b40a7&gt;] (vfs_read+0x63/0xd8) from [&lt;c00b41fb&gt;] (sys_read+0x2f/0x50)
 [&lt;c00b41fb&gt;] (sys_read+0x2f/0x50) from [&lt;c000cdc1&gt;] (ret_fast_syscall+0x1/0x52)

This lock isn't required while calling __cpufreq_governor(policy,
CPUFREQ_GOV_POLICY_EXIT). Remove it.

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>cpufreq: Preserve sysfs files across suspend/resume</title>
<updated>2013-05-15T19:47:17+00:00</updated>
<author>
<name>Srivatsa S. Bhat</name>
<email>srivatsa.bhat@linux.vnet.ibm.com</email>
</author>
<published>2013-05-15T19:47:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=a66b2e503fc79fff6632d02ef5a0ee47c1d2553d'/>
<id>a66b2e503fc79fff6632d02ef5a0ee47c1d2553d</id>
<content type='text'>
The file permissions of cpufreq per-cpu sysfs files are not preserved
across suspend/resume because we internally go through the CPU
Hotplug path which reinitializes the file permissions on CPU online.

But the user is not supposed to know that we are using CPU hotplug
internally within suspend/resume (IOW, the kernel should not silently
wreck the user-set file permissions across a suspend cycle).
Therefore, we need to preserve the file permissions as they are
across suspend/resume.

The simplest way to achieve that is to just not touch the sysfs files
at all - ie., just ignore the CPU hotplug notifications in the
suspend/resume path (_FROZEN) in the cpufreq hotplug callback.

Reported-by: Robert Jarzmik &lt;robert.jarzmik@intel.com&gt;
Reported-by: Durgadoss R &lt;durgadoss.r@intel.com&gt;
Signed-off-by: Srivatsa S. Bhat &lt;srivatsa.bhat@linux.vnet.ibm.com&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 file permissions of cpufreq per-cpu sysfs files are not preserved
across suspend/resume because we internally go through the CPU
Hotplug path which reinitializes the file permissions on CPU online.

But the user is not supposed to know that we are using CPU hotplug
internally within suspend/resume (IOW, the kernel should not silently
wreck the user-set file permissions across a suspend cycle).
Therefore, we need to preserve the file permissions as they are
across suspend/resume.

The simplest way to achieve that is to just not touch the sysfs files
at all - ie., just ignore the CPU hotplug notifications in the
suspend/resume path (_FROZEN) in the cpufreq hotplug callback.

Reported-by: Robert Jarzmik &lt;robert.jarzmik@intel.com&gt;
Reported-by: Durgadoss R &lt;durgadoss.r@intel.com&gt;
Signed-off-by: Srivatsa S. Bhat &lt;srivatsa.bhat@linux.vnet.ibm.com&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 / intel_pstate: use vzalloc() instead of vmalloc()/memset(0)</title>
<updated>2013-05-13T23:39:28+00:00</updated>
<author>
<name>Wei Yongjun</name>
<email>yongjun_wei@trendmicro.com.cn</email>
</author>
<published>2013-05-13T08:03:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b57ffac5e57bff33dde3cff35dff5c41876a6d12'/>
<id>b57ffac5e57bff33dde3cff35dff5c41876a6d12</id>
<content type='text'>
Use vzalloc() instead of vmalloc() and memset(0).

Signed-off-by: Wei Yongjun &lt;yongjun_wei@trendmicro.com.cn&gt;
Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Acked-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>
Use vzalloc() instead of vmalloc() and memset(0).

Signed-off-by: Wei Yongjun &lt;yongjun_wei@trendmicro.com.cn&gt;
Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Acked-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>
</feed>
