<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/cpufreq, branch v3.11</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/cpufreq?h=v3.11</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/cpufreq?h=v3.11'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-08-07T20:25:06Z</updated>
<entry>
<title>cpufreq: rename ignore_nice as ignore_nice_load</title>
<updated>2013-08-07T20:25:06Z</updated>
<author>
<name>Viresh Kumar</name>
<email>viresh.kumar@linaro.org</email>
</author>
<published>2013-08-05T06:58:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6c4640c3adfd97ce10efed7c07405f52d002b9a8'/>
<id>urn:sha1:6c4640c3adfd97ce10efed7c07405f52d002b9a8</id>
<content type='text'>
This sysfs file was called ignore_nice_load earlier and commit
4d5dcc4 (cpufreq: governor: Implement per policy instances of
governors) changed its name to ignore_nice by mistake.

Lets get it renamed back to its original name.

Reported-by: Martin von Gagern &lt;Martin.vGagern@gmx.net&gt;
Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Cc: 3.10+ &lt;stable@vger.kernel.org&gt; # 3.10+
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>cpufreq: loongson2: fix regression related to clock management</title>
<updated>2013-08-07T20:25:06Z</updated>
<author>
<name>Aaro Koskinen</name>
<email>aaro.koskinen@iki.fi</email>
</author>
<published>2013-08-05T18:27:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f54fe64d14dff3df6d45a48115d248a82557811f'/>
<id>urn:sha1:f54fe64d14dff3df6d45a48115d248a82557811f</id>
<content type='text'>
Commit 42913c799 (MIPS: Loongson2: Use clk API instead of direct
dereferences) broke the cpufreq functionality on Loongson2 boards:
clk_set_rate() is called before the CPU frequency table is
initialized, and therefore will always fail.

Fix by moving the clk_set_rate() after the table initialization.
Tested on Lemote FuLoong mini-PC.

Signed-off-by: Aaro Koskinen &lt;aaro.koskinen@iki.fi&gt;
Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Cc: 3.9+ &lt;stable@vger.kernel.org&gt; # 3.9+
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>cpufreq: Fix cpufreq driver module refcount balance after suspend/resume</title>
<updated>2013-07-29T22:32:00Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2013-07-29T22:32:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2a99859932281ed6c2ecdd988855f8f6838f6743'/>
<id>urn:sha1:2a99859932281ed6c2ecdd988855f8f6838f6743</id>
<content type='text'>
Since cpufreq_cpu_put() called by __cpufreq_remove_dev() drops the
driver module refcount, __cpufreq_remove_dev() causes that refcount
to become negative for the cpufreq driver after a suspend/resume
cycle.

This is not the only bad thing that happens there, however, because
kobject_put() should only be called for the policy kobject at this
point if the CPU is not the last one for that policy.

Namely, if the given CPU is the last one for that policy, the
policy kobject's refcount should be 1 at this point, as set by
cpufreq_add_dev_interface(), and only needs to be dropped once for
the kobject to go away.  This actually happens under the cpu == 1
check, so it need not be done before by cpufreq_cpu_put().

On the other hand, if the given CPU is not the last one for that
policy, this means that cpufreq_add_policy_cpu() has been called
at least once for that policy and cpufreq_cpu_get() has been
called for it too.  To balance that cpufreq_cpu_get(), we need to
call cpufreq_cpu_put() in that case.

Thus, to fix the described problem and keep the reference
counters balanced in both cases, move the cpufreq_cpu_get() call
in __cpufreq_remove_dev() to the code path executed only for
CPUs that share the policy with other CPUs.

Reported-and-tested-by: Toralf Förster &lt;toralf.foerster@gmx.de&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Srivatsa S. Bhat &lt;srivatsa.bhat@linux.vnet.ibm.com&gt;
Cc: 3.10+ &lt;stable@vger.kernel.org&gt;
</content>
</entry>
<entry>
<title>cpufreq / intel_pstate: Change to scale off of max P-state</title>
<updated>2013-07-23T02:18:28Z</updated>
<author>
<name>Dirk Brandewie</name>
<email>dirk.j.brandewie@intel.com</email>
</author>
<published>2013-07-18T15:48:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2134ed4d614349b2b4e8d7bb593baa9179b8dd1e'/>
<id>urn:sha1:2134ed4d614349b2b4e8d7bb593baa9179b8dd1e</id>
<content type='text'>
Change to using max P-state instead of max turbo P-state.  This
change resolves two issues.

On a quiet system intel_pstate can fail to respond to a load change.

On CPU SKUs that have a limited number of P-states and no turbo range
intel_pstate fails to select the highest available P-state.

This change is suitable for stable v3.9+

References: https://bugzilla.kernel.org/show_bug.cgi?id=59481
Reported-and-tested-by: Arjan van de Ven &lt;arjan@linux.intel.com&gt;
Reported-and-tested-by: dsmythies@telus.net
Signed-off-by: Dirk Brandewie &lt;dirk.j.brandewie@intel.com&gt;
Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Cc: 3.9+ &lt;stable@vger.kernel.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'pm+acpi-3.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm</title>
<updated>2013-07-19T16:59:06Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-07-19T16:59:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b7356abb9fb952d385caef6d58d7e7aff17a478e'/>
<id>urn:sha1:b7356abb9fb952d385caef6d58d7e7aff17a478e</id>
<content type='text'>
Pull power management and ACPI fixes from Rafael Wysocki:
 "These are fixes collected over the last week, most importnatly two
  cpufreq reverts fixing regressions introduced in 3.10, an autoseelp
  fix preventing systems using it from crashing during shutdown and two
  ACPI scan fixes related to hotplug.

  Specifics:

   - Two cpufreq commits from the 3.10 cycle introduced regressions.
     The first of them was buggy (it did way much more than it needed to
     do) and the second one attempted to fix an issue introduced by the
     first one.  Fixes from Srivatsa S Bhat revert both.

   - If autosleep triggers during system shutdown and the shutdown
     callbacks of some device drivers have been called already, it may
     crash the system.  Fix from Liu Shuo prevents that from happening
     by making try_to_suspend() check system_state.

   - The ACPI memory hotplug driver doesn't clear its driver_data on
     errors which may cause a NULL poiter dereference to happen later.
     Fix from Toshi Kani.

   - The ACPI namespace scanning code should not try to attach scan
     handlers to device objects that have them already, which may
     confuse things quite a bit, and it should rescan the whole
     namespace branch starting at the given node after receiving a bus
     check notify event even if the device at that particular node has
     been discovered already.  Fixes from Rafael J Wysocki.

   - New ACPI video blacklist entry for a system whose initial backlight
     setting from the BIOS doesn't make sense.  From Lan Tianyu.

   - Garbage string output avoindance for ACPI PNP from Liu Shuo.

   - Two Kconfig fixes for issues introduced recently in the s3c24xx
     cpufreq driver (when moving the driver to drivers/cpufreq) from
     Paul Bolle.

   - Trivial comment fix in pm_wakeup.h from Chanwoo Choi"

* tag 'pm+acpi-3.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  ACPI / video: ignore BIOS initial backlight value for Fujitsu E753
  PNP / ACPI: avoid garbage in resource name
  cpufreq: Revert commit 2f7021a8 to fix CPU hotplug regression
  cpufreq: s3c24xx: fix "depends on ARM_S3C24XX" in Kconfig
  cpufreq: s3c24xx: rename CONFIG_CPU_FREQ_S3C24XX_DEBUGFS
  PM / Sleep: Fix comment typo in pm_wakeup.h
  PM / Sleep: avoid 'autosleep' in shutdown progress
  cpufreq: Revert commit a66b2e to fix suspend/resume regression
  ACPI / memhotplug: Fix a stale pointer in error path
  ACPI / scan: Always call acpi_bus_scan() for bus check notifications
  ACPI / scan: Do not try to attach scan handlers to devices having them
</content>
</entry>
<entry>
<title>cpufreq: Revert commit 2f7021a8 to fix CPU hotplug regression</title>
<updated>2013-07-16T20:46:48Z</updated>
<author>
<name>Srivatsa S. Bhat</name>
<email>srivatsa.bhat@linux.vnet.ibm.com</email>
</author>
<published>2013-07-16T20:46:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e8d05276f236ee6435e78411f62be9714e0b9377'/>
<id>urn:sha1:e8d05276f236ee6435e78411f62be9714e0b9377</id>
<content type='text'>
commit 2f7021a8 "cpufreq: protect 'policy-&gt;cpus' from offlining
during __gov_queue_work()" caused a regression in CPU hotplug,
because it lead to a deadlock between cpufreq governor worker thread
and the CPU hotplug writer task.

Lockdep splat corresponding to this deadlock is shown below:

[   60.277396] ======================================================
[   60.277400] [ INFO: possible circular locking dependency detected ]
[   60.277407] 3.10.0-rc7-dbg-01385-g241fd04-dirty #1744 Not tainted
[   60.277411] -------------------------------------------------------
[   60.277417] bash/2225 is trying to acquire lock:
[   60.277422]  ((&amp;(&amp;j_cdbs-&gt;work)-&gt;work)){+.+...}, at: [&lt;ffffffff810621b5&gt;] flush_work+0x5/0x280
[   60.277444] but task is already holding lock:
[   60.277449]  (cpu_hotplug.lock){+.+.+.}, at: [&lt;ffffffff81042d8b&gt;] cpu_hotplug_begin+0x2b/0x60
[   60.277465] which lock already depends on the new lock.

[   60.277472] the existing dependency chain (in reverse order) is:
[   60.277477] -&gt; #2 (cpu_hotplug.lock){+.+.+.}:
[   60.277490]        [&lt;ffffffff810ac6d4&gt;] lock_acquire+0xa4/0x200
[   60.277503]        [&lt;ffffffff815b6157&gt;] mutex_lock_nested+0x67/0x410
[   60.277514]        [&lt;ffffffff81042cbc&gt;] get_online_cpus+0x3c/0x60
[   60.277522]        [&lt;ffffffff814b842a&gt;] gov_queue_work+0x2a/0xb0
[   60.277532]        [&lt;ffffffff814b7891&gt;] cs_dbs_timer+0xc1/0xe0
[   60.277543]        [&lt;ffffffff8106302d&gt;] process_one_work+0x1cd/0x6a0
[   60.277552]        [&lt;ffffffff81063d31&gt;] worker_thread+0x121/0x3a0
[   60.277560]        [&lt;ffffffff8106ae2b&gt;] kthread+0xdb/0xe0
[   60.277569]        [&lt;ffffffff815bb96c&gt;] ret_from_fork+0x7c/0xb0
[   60.277580] -&gt; #1 (&amp;j_cdbs-&gt;timer_mutex){+.+...}:
[   60.277592]        [&lt;ffffffff810ac6d4&gt;] lock_acquire+0xa4/0x200
[   60.277600]        [&lt;ffffffff815b6157&gt;] mutex_lock_nested+0x67/0x410
[   60.277608]        [&lt;ffffffff814b785d&gt;] cs_dbs_timer+0x8d/0xe0
[   60.277616]        [&lt;ffffffff8106302d&gt;] process_one_work+0x1cd/0x6a0
[   60.277624]        [&lt;ffffffff81063d31&gt;] worker_thread+0x121/0x3a0
[   60.277633]        [&lt;ffffffff8106ae2b&gt;] kthread+0xdb/0xe0
[   60.277640]        [&lt;ffffffff815bb96c&gt;] ret_from_fork+0x7c/0xb0
[   60.277649] -&gt; #0 ((&amp;(&amp;j_cdbs-&gt;work)-&gt;work)){+.+...}:
[   60.277661]        [&lt;ffffffff810ab826&gt;] __lock_acquire+0x1766/0x1d30
[   60.277669]        [&lt;ffffffff810ac6d4&gt;] lock_acquire+0xa4/0x200
[   60.277677]        [&lt;ffffffff810621ed&gt;] flush_work+0x3d/0x280
[   60.277685]        [&lt;ffffffff81062d8a&gt;] __cancel_work_timer+0x8a/0x120
[   60.277693]        [&lt;ffffffff81062e53&gt;] cancel_delayed_work_sync+0x13/0x20
[   60.277701]        [&lt;ffffffff814b89d9&gt;] cpufreq_governor_dbs+0x529/0x6f0
[   60.277709]        [&lt;ffffffff814b76a7&gt;] cs_cpufreq_governor_dbs+0x17/0x20
[   60.277719]        [&lt;ffffffff814b5df8&gt;] __cpufreq_governor+0x48/0x100
[   60.277728]        [&lt;ffffffff814b6b80&gt;] __cpufreq_remove_dev.isra.14+0x80/0x3c0
[   60.277737]        [&lt;ffffffff815adc0d&gt;] cpufreq_cpu_callback+0x38/0x4c
[   60.277747]        [&lt;ffffffff81071a4d&gt;] notifier_call_chain+0x5d/0x110
[   60.277759]        [&lt;ffffffff81071b0e&gt;] __raw_notifier_call_chain+0xe/0x10
[   60.277768]        [&lt;ffffffff815a0a68&gt;] _cpu_down+0x88/0x330
[   60.277779]        [&lt;ffffffff815a0d46&gt;] cpu_down+0x36/0x50
[   60.277788]        [&lt;ffffffff815a2748&gt;] store_online+0x98/0xd0
[   60.277796]        [&lt;ffffffff81452a28&gt;] dev_attr_store+0x18/0x30
[   60.277806]        [&lt;ffffffff811d9edb&gt;] sysfs_write_file+0xdb/0x150
[   60.277818]        [&lt;ffffffff8116806d&gt;] vfs_write+0xbd/0x1f0
[   60.277826]        [&lt;ffffffff811686fc&gt;] SyS_write+0x4c/0xa0
[   60.277834]        [&lt;ffffffff815bbbbe&gt;] tracesys+0xd0/0xd5
[   60.277842] other info that might help us debug this:

[   60.277848] Chain exists of:
  (&amp;(&amp;j_cdbs-&gt;work)-&gt;work) --&gt; &amp;j_cdbs-&gt;timer_mutex --&gt; cpu_hotplug.lock

[   60.277864]  Possible unsafe locking scenario:

[   60.277869]        CPU0                    CPU1
[   60.277873]        ----                    ----
[   60.277877]   lock(cpu_hotplug.lock);
[   60.277885]                                lock(&amp;j_cdbs-&gt;timer_mutex);
[   60.277892]                                lock(cpu_hotplug.lock);
[   60.277900]   lock((&amp;(&amp;j_cdbs-&gt;work)-&gt;work));
[   60.277907]  *** DEADLOCK ***

[   60.277915] 6 locks held by bash/2225:
[   60.277919]  #0:  (sb_writers#6){.+.+.+}, at: [&lt;ffffffff81168173&gt;] vfs_write+0x1c3/0x1f0
[   60.277937]  #1:  (&amp;buffer-&gt;mutex){+.+.+.}, at: [&lt;ffffffff811d9e3c&gt;] sysfs_write_file+0x3c/0x150
[   60.277954]  #2:  (s_active#61){.+.+.+}, at: [&lt;ffffffff811d9ec3&gt;] sysfs_write_file+0xc3/0x150
[   60.277972]  #3:  (x86_cpu_hotplug_driver_mutex){+.+...}, at: [&lt;ffffffff81024cf7&gt;] cpu_hotplug_driver_lock+0x17/0x20
[   60.277990]  #4:  (cpu_add_remove_lock){+.+.+.}, at: [&lt;ffffffff815a0d32&gt;] cpu_down+0x22/0x50
[   60.278007]  #5:  (cpu_hotplug.lock){+.+.+.}, at: [&lt;ffffffff81042d8b&gt;] cpu_hotplug_begin+0x2b/0x60
[   60.278023] stack backtrace:
[   60.278031] CPU: 3 PID: 2225 Comm: bash Not tainted 3.10.0-rc7-dbg-01385-g241fd04-dirty #1744
[   60.278037] Hardware name: Acer             Aspire 5741G    /Aspire 5741G    , BIOS V1.20 02/08/2011
[   60.278042]  ffffffff8204e110 ffff88014df6b9f8 ffffffff815b3d90 ffff88014df6ba38
[   60.278055]  ffffffff815b0a8d ffff880150ed3f60 ffff880150ed4770 3871c4002c8980b2
[   60.278068]  ffff880150ed4748 ffff880150ed4770 ffff880150ed3f60 ffff88014df6bb00
[   60.278081] Call Trace:
[   60.278091]  [&lt;ffffffff815b3d90&gt;] dump_stack+0x19/0x1b
[   60.278101]  [&lt;ffffffff815b0a8d&gt;] print_circular_bug+0x2b6/0x2c5
[   60.278111]  [&lt;ffffffff810ab826&gt;] __lock_acquire+0x1766/0x1d30
[   60.278123]  [&lt;ffffffff81067e08&gt;] ? __kernel_text_address+0x58/0x80
[   60.278134]  [&lt;ffffffff810ac6d4&gt;] lock_acquire+0xa4/0x200
[   60.278142]  [&lt;ffffffff810621b5&gt;] ? flush_work+0x5/0x280
[   60.278151]  [&lt;ffffffff810621ed&gt;] flush_work+0x3d/0x280
[   60.278159]  [&lt;ffffffff810621b5&gt;] ? flush_work+0x5/0x280
[   60.278169]  [&lt;ffffffff810a9b14&gt;] ? mark_held_locks+0x94/0x140
[   60.278178]  [&lt;ffffffff81062d77&gt;] ? __cancel_work_timer+0x77/0x120
[   60.278188]  [&lt;ffffffff810a9cbd&gt;] ? trace_hardirqs_on_caller+0xfd/0x1c0
[   60.278196]  [&lt;ffffffff81062d8a&gt;] __cancel_work_timer+0x8a/0x120
[   60.278206]  [&lt;ffffffff81062e53&gt;] cancel_delayed_work_sync+0x13/0x20
[   60.278214]  [&lt;ffffffff814b89d9&gt;] cpufreq_governor_dbs+0x529/0x6f0
[   60.278225]  [&lt;ffffffff814b76a7&gt;] cs_cpufreq_governor_dbs+0x17/0x20
[   60.278234]  [&lt;ffffffff814b5df8&gt;] __cpufreq_governor+0x48/0x100
[   60.278244]  [&lt;ffffffff814b6b80&gt;] __cpufreq_remove_dev.isra.14+0x80/0x3c0
[   60.278255]  [&lt;ffffffff815adc0d&gt;] cpufreq_cpu_callback+0x38/0x4c
[   60.278265]  [&lt;ffffffff81071a4d&gt;] notifier_call_chain+0x5d/0x110
[   60.278275]  [&lt;ffffffff81071b0e&gt;] __raw_notifier_call_chain+0xe/0x10
[   60.278284]  [&lt;ffffffff815a0a68&gt;] _cpu_down+0x88/0x330
[   60.278292]  [&lt;ffffffff81024cf7&gt;] ? cpu_hotplug_driver_lock+0x17/0x20
[   60.278302]  [&lt;ffffffff815a0d46&gt;] cpu_down+0x36/0x50
[   60.278311]  [&lt;ffffffff815a2748&gt;] store_online+0x98/0xd0
[   60.278320]  [&lt;ffffffff81452a28&gt;] dev_attr_store+0x18/0x30
[   60.278329]  [&lt;ffffffff811d9edb&gt;] sysfs_write_file+0xdb/0x150
[   60.278337]  [&lt;ffffffff8116806d&gt;] vfs_write+0xbd/0x1f0
[   60.278347]  [&lt;ffffffff81185950&gt;] ? fget_light+0x320/0x4b0
[   60.278355]  [&lt;ffffffff811686fc&gt;] SyS_write+0x4c/0xa0
[   60.278364]  [&lt;ffffffff815bbbbe&gt;] tracesys+0xd0/0xd5
[   60.280582] smpboot: CPU 1 is now offline

The intention of that commit was to avoid warnings during CPU
hotplug, which indicated that offline CPUs were getting IPIs from the
cpufreq governor's work items.  But the real root-cause of that
problem was commit a66b2e5 (cpufreq: Preserve sysfs files across
suspend/resume) because it totally skipped all the cpufreq callbacks
during CPU hotplug in the suspend/resume path, and hence it never
actually shut down the cpufreq governor's worker threads during CPU
offline in the suspend/resume path.

Reflecting back, the reason why we never suspected that commit as the
root-cause earlier, was that the original issue was reported with
just the halt command and nobody had brought in suspend/resume to the
equation.

The reason for _that_ in turn, as it turns out, is that earlier
halt/shutdown was being done by disabling non-boot CPUs while tasks
were frozen, just like suspend/resume....  but commit cf7df378a
(reboot: migrate shutdown/reboot to boot cpu) which came somewhere
along that very same time changed that logic: shutdown/halt no longer
takes CPUs offline.  Thus, the test-cases for reproducing the bug
were vastly different and thus we went totally off the trail.

Overall, it was one hell of a confusion with so many commits
affecting each other and also affecting the symptoms of the problems
in subtle ways.  Finally, now since the original problematic commit
(a66b2e5) has been completely reverted, revert this intermediate fix
too (2f7021a8), to fix the CPU hotplug deadlock.  Phew!

Reported-by: Sergey Senozhatsky &lt;sergey.senozhatsky@gmail.com&gt;
Reported-by: Bartlomiej Zolnierkiewicz &lt;b.zolnierkie@samsung.com&gt;
Signed-off-by: Srivatsa S. Bhat &lt;srivatsa.bhat@linux.vnet.ibm.com&gt;
Tested-by: Peter Wu &lt;lekensteyn@gmail.com&gt;
Cc: 3.10+ &lt;stable@vger.kernel.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>cpufreq: delete __cpuinit usage from all cpufreq files</title>
<updated>2013-07-14T23:36:57Z</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2013-06-19T17:54:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2760984f6578d5a462155bb4727766d0c8b68387'/>
<id>urn:sha1:2760984f6578d5a462155bb4727766d0c8b68387</id>
<content type='text'>
The __cpuinit type of throwaway sections might have made sense
some time ago when RAM was more constrained, but now the savings
do not offset the cost and complications.  For example, the fix in
commit 5e427ec2d0 ("x86: Fix bit corruption at CPU resume time")
is a good example of the nasty type of bugs that can be created
with improper use of the various __init prefixes.

After a discussion on LKML[1] it was decided that cpuinit should go
the way of devinit and be phased out.  Once all the users are gone,
we can then finally remove the macros themselves from linux/init.h.

This removes all the drivers/cpufreq uses of the __cpuinit macros
from all C files.

[1] https://lkml.org/lkml/2013/5/20/589

[v2: leave 2nd lines of args misaligned as requested by Viresh]
Cc: "Rafael J. Wysocki" &lt;rjw@sisk.pl&gt;
Cc: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Cc: cpufreq@vger.kernel.org
Cc: linux-pm@vger.kernel.org
Acked-by: Dirk Brandewie &lt;dirk.j.brandewie@intel.com&gt;
Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>cpufreq: s3c24xx: rename CONFIG_CPU_FREQ_S3C24XX_DEBUGFS</title>
<updated>2013-07-14T23:31:37Z</updated>
<author>
<name>Paul Bolle</name>
<email>pebolle@tiscali.nl</email>
</author>
<published>2013-07-14T18:29:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4a6c41083df3bf4ad828c45e5f8ee1a224d537c6'/>
<id>urn:sha1:4a6c41083df3bf4ad828c45e5f8ee1a224d537c6</id>
<content type='text'>
The Kconfig symbol CPU_FREQ_S3C24XX_DEBUGFS was renamed to
ARM_S3C24XX_CPUFREQ_DEBUGFS in commit f023f8dd59 ("cpufreq: s3c24xx:
move cpufreq driver to drivers/cpufreq"). But that commit missed one
instance of its macro CONFIG_CPU_FREQ_S3C24XX_DEBUGFS. Rename it too.

Signed-off-by: Paul Bolle &lt;pebolle@tiscali.nl&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>cpufreq: Revert commit a66b2e to fix suspend/resume regression</title>
<updated>2013-07-14T23:31:36Z</updated>
<author>
<name>Srivatsa S. Bhat</name>
<email>srivatsa.bhat@linux.vnet.ibm.com</email>
</author>
<published>2013-07-11T22:15:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=aae760ed21cd690fe8a6db9f3a177ad55d7e12ab'/>
<id>urn:sha1:aae760ed21cd690fe8a6db9f3a177ad55d7e12ab</id>
<content type='text'>
commit a66b2e (cpufreq: Preserve sysfs files across suspend/resume)
has unfortunately caused several things in the cpufreq subsystem to
break subtly after a suspend/resume cycle.

The intention of that patch was to retain the file permissions of the
cpufreq related sysfs files across suspend/resume.  To achieve that,
the commit completely removed the calls to cpufreq_add_dev() and
__cpufreq_remove_dev() during suspend/resume transitions.  But the
problem is that those functions do 2 kinds of things:
  1. Low-level initialization/tear-down that are critical to the
     correct functioning of cpufreq-core.
  2. Kobject and sysfs related initialization/teardown.

Ideally we should have reorganized the code to cleanly separate these
two responsibilities, and skipped only the sysfs related parts during
suspend/resume.  Since we skipped the entire callbacks instead (which
also included some CPU and cpufreq-specific critical components),
cpufreq subsystem started behaving erratically after suspend/resume.

So revert the commit to fix the regression.  We'll revisit and address
the original goal of that commit separately, since it involves quite a
bit of careful code reorganization and appears to be non-trivial.

(While reverting the commit, note that another commit f51e1eb
 (cpufreq: Fix cpufreq regression after suspend/resume) already
 reverted part of the original set of changes.  So revert only the
 remaining ones).

Signed-off-by: Srivatsa S. Bhat &lt;srivatsa.bhat@linux.vnet.ibm.com&gt;
Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Tested-by: Paul Bolle &lt;pebolle@tiscali.nl&gt;
Cc: 3.10+ &lt;stable@vger.kernel.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'pm+acpi-3.11-rc1-more' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm</title>
<updated>2013-07-11T19:28:17Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-07-11T19:28:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7728f036adb25f8f7f8e36ffa9cecf6ba3ddae91'/>
<id>urn:sha1:7728f036adb25f8f7f8e36ffa9cecf6ba3ddae91</id>
<content type='text'>
Pull more power management and ACPI updates from Rafael Wysocki:

 - Fix for a recent cpufreq regression that caused WARN() to trigger
   overzealously in a couple of places and spam the kernel log with
   useless garbage as a result.  From Viresh Kumar.

 - ACPI dock fix removing a discrepancy between the definition of
   acpi_dock_init(), which says that the function returns int, and its
   header in the header file, which says that it is a void function.
   The function is now defined as void too.

 - ACPI PM fix for failures to update device power states as needed, for
   example, during resume from system suspend, because the old state was
   deeper than the new one, but the new one is not D0.

 - Fix for two debug messages in the ACPI power resources code that
   don't have a newline at the end and make the kernel log difficult to
   read.  From Mika Westerberg.

 - Two ACPI cleanups from Naresh Bhat and Haicheng Li.

 - cpupower updates from Thomas Renninger, including Intel Haswell
   support improvements and a new idle-set subcommand among other
   things.

* tag 'pm+acpi-3.11-rc1-more' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  ACPI / power: add missing newline to debug messages
  cpupower: Add Haswell family 0x45 specific idle monitor to show PC8,9,10 states
  cpupower: Haswell also supports the C-states introduced with SandyBridge
  cpupower: Introduce idle-set subcommand and C-state enabling/disabling
  cpupower: Implement disabling of cstate interface
  cpupower: Make idlestate usage unsigned
  ACPI / fan: Initialize acpi_state variable
  ACPI / scan: remove unused LIST_HEAD(acpi_device_list)
  ACPI / dock: Actually define acpi_dock_init() as void
  ACPI / PM: Fix corner case in acpi_bus_update_power()
  cpufreq: Fix serialization of frequency transitions
</content>
</entry>
</feed>
