<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/acpi/processor_driver.c, branch v3.12.14</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/acpi/processor_driver.c?h=v3.12.14</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/acpi/processor_driver.c?h=v3.12.14'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-08-26T23:29:24Z</updated>
<entry>
<title>Merge branch 'acpi-processor'</title>
<updated>2013-08-26T23:29:24Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2013-08-26T23:29:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=551f5c74e17ba9257cdc35bf657ee448cad2d5b0'/>
<id>urn:sha1:551f5c74e17ba9257cdc35bf657ee448cad2d5b0</id>
<content type='text'>
* acpi-processor:
  ACPI / processor: Acquire writer lock to update CPU maps
  ACPI / processor: Remove acpi_processor_get_limit_info()
</content>
</entry>
<entry>
<title>Merge back earlier 'acpi-assorted' material</title>
<updated>2013-08-14T21:22:45Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2013-08-14T21:22:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f3ce717e60572421f56d89c9a85ac42e634d16e7'/>
<id>urn:sha1:f3ce717e60572421f56d89c9a85ac42e634d16e7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ACPI / processor: Remove acpi_processor_get_limit_info()</title>
<updated>2013-08-13T10:11:22Z</updated>
<author>
<name>Lan Tianyu</name>
<email>tianyu.lan@intel.com</email>
</author>
<published>2013-08-13T10:11:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=22e7551eb6fd58352930306039a98313c011e615'/>
<id>urn:sha1:22e7551eb6fd58352930306039a98313c011e615</id>
<content type='text'>
acpi_processor_get_limit_info() is only called in the __acpi_processor_start()
and what it does actually is just to check pr-&gt;flags.throttling and set limit.
The pr pointer has been checked in the __acpi_processor_start() before
acpi_processor_get_limit_info() being called. It doesn't make sense still to
keep it as a function. So move code to __acpi_processor_start() and remove
acpi_processor_get_limit_info().

Signed-off-by: Lan Tianyu &lt;tianyu.lan@intel.com&gt;
Acked-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: Remove the old /proc/acpi/event interface</title>
<updated>2013-07-15T11:56:36Z</updated>
<author>
<name>Thomas Renninger</name>
<email>trenn@suse.de</email>
</author>
<published>2013-07-15T08:15:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1696d9dc57e062ce5200f6a42a6aaada15b434bb'/>
<id>urn:sha1:1696d9dc57e062ce5200f6a42a6aaada15b434bb</id>
<content type='text'>
It is quite some time that this one has been deprecated.
Get rid of it.

Should some really important user be overseen, it may be reverted and
the userspace program worked on first, but it is time to do something
to get rid of this old stuff...

Signed-off-by: Thomas Renninger &lt;trenn@suse.de&gt;
Acked-by: Matthew Garrett &lt;matthew.garrett@nebula.com&gt;
Acked-by: Henrique de Moraes Holschuh &lt;hmh@hmh.eng.br&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>acpi: delete __cpuinit usage from all acpi files</title>
<updated>2013-07-14T23:36:58Z</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2013-06-19T18:30:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fe7bf106ebc22730797ba9b51308b166d68b77f9'/>
<id>urn:sha1:fe7bf106ebc22730797ba9b51308b166d68b77f9</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/acpi uses of the __cpuinit macros
from all C files.

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

Cc: Len Brown &lt;lenb@kernel.org&gt;
Cc: "Rafael J. Wysocki" &lt;rjw@sisk.pl&gt;
Cc: linux-acpi@vger.kernel.org
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>ACPI / processor: Remove unused macros in processor_driver.c</title>
<updated>2013-06-24T10:58:43Z</updated>
<author>
<name>Hanjun Guo</name>
<email>hanjun.guo@linaro.org</email>
</author>
<published>2013-06-24T07:36:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=86d6725a572d08e5e709871a77a7df137adf5ad4'/>
<id>urn:sha1:86d6725a572d08e5e709871a77a7df137adf5ad4</id>
<content type='text'>
ACPI_PROCESSOR_FILE_INFO, ACPI_PROCESSOR_FILE_THROTTLING and
ACPI_PROCESSOR_FILE_LIMIT are used for procfs, but this feature was removed
in commit d09fe555 (ACPI processor: remove deprecated ACPI procfs I/F) long
ago. So, these macros should also be removed.

ACPI_PROCESSOR_LIMIT_USER and ACPI_PROCESSOR_LIMIT_THERMAL are not used
by any code, remove them too.

Signed-off-by: Hanjun Guo &lt;hanjun.guo@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI / processor: Initialize per_cpu(processors, pr-&gt;id) properly</title>
<updated>2013-05-30T19:55:46Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2013-05-30T19:55:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2e4f1db49d97222110b6add9a2c6cf5251a41e35'/>
<id>urn:sha1:2e4f1db49d97222110b6add9a2c6cf5251a41e35</id>
<content type='text'>
Commit ac212b6 (ACPI / processor: Use common hotplug infrastructure)
forgot about initializing the per-CPU 'processors' variables which
lead to ACPI cpuidle failure to use C-states and caused boot slowdown
on multi-CPU machines.

Fix the problem by adding per_cpu(processors, pr-&gt;id) initialization
to acpi_processor_add() and add make acpi_processor_remove() clean it
up as appropriate.

Also modify acpi_processor_stop() so that it doesn't clear
per_cpu(processors, pr-&gt;id) on processor driver removal which would
then cause problems to happen when the driver is loaded again.

This version of the patch contains fixes from Yinghai Lu.

Reported-and-tested-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Reported-and-tested-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI / processor: Use common hotplug infrastructure</title>
<updated>2013-05-12T12:14:32Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2013-05-02T22:26:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ac212b6980d8d5eda705864fc5a8ecddc6d6eacc'/>
<id>urn:sha1:ac212b6980d8d5eda705864fc5a8ecddc6d6eacc</id>
<content type='text'>
Split the ACPI processor driver into two parts, one that is
non-modular, resides in the ACPI core and handles the enumeration
and hotplug of processors and one that implements the rest of the
existing processor driver functionality.

The non-modular part uses an ACPI scan handler object to enumerate
processors on the basis of information provided by the ACPI namespace
and to hook up with the common ACPI hotplug infrastructure.  It also
populates the ACPI handle of each processor device having a
corresponding object in the ACPI namespace, which allows the driver
proper to bind to those devices, and makes the driver bind to them
if it is readily available (i.e. loaded) when the scan handler's
.attach() routine is running.

There are a few reasons to make this change.

First, switching the ACPI processor driver to using the common ACPI
hotplug infrastructure reduces code duplication and size considerably,
even though a new file is created along with a header comment etc.

Second, since the common hotplug code attempts to offline devices
before starting the (non-reversible) removal procedure, it will abort
(and possibly roll back) hot-remove operations involving processors
if cpu_down() returns an error code for one of them instead of
continuing them blindly (if /sys/firmware/acpi/hotplug/force_remove
is unset).  That is a more desirable behavior than what the current
code does.

Finally, the separation of the scan/hotplug part from the driver
proper makes it possible to simplify the driver's .remove() routine,
because it doesn't need to worry about the possible cleanup related
to processor removal any more (the scan/hotplug part is responsible
for that now) and can handle device removal and driver removal
symmetricaly (i.e. as appropriate).

Some user-visible changes in sysfs are made (for example, the
'sysdev' link from the ACPI device node to the processor device's
directory is gone and a 'physical_node' link is present instead
and a corresponding 'firmware_node' is present in the processor
device's directory, the processor driver is now visible under
/sys/bus/cpu/drivers/ and bound to the processor device), but
that shouldn't affect the functionality that users care about
(frequency scaling, C-states and thermal management).

Tested on my venerable Toshiba Portege R500.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Acked-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Reviewed-by: Toshi Kani &lt;toshi.kani@hp.com&gt;
</content>
</entry>
<entry>
<title>ACPI / PM: Move processor suspend/resume to syscore_ops</title>
<updated>2013-05-12T12:03:14Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2013-05-02T19:54:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0a3b15ac3cc3ddc791901e12bdc930b5fa11a30a'/>
<id>urn:sha1:0a3b15ac3cc3ddc791901e12bdc930b5fa11a30a</id>
<content type='text'>
The system suspend routine of the ACPI processor driver saves
the BUS_MASTER_RLD register and its resume routine restores it.
However, there can be only one such register in the system and it
really should be saved after non-boot CPUs have been offlined and
restored before they are put back online during resume.

For this reason, move the saving and restoration of BUS_MASTER_RLD
to syscore suspend and syscore resume, respectively, and drop the no
longer necessary suspend/resume callbacks from the ACPI processor
driver.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI / porocessor: Beautify code, pr-&gt;id is u32 which is never &lt; 0</title>
<updated>2013-03-04T13:23:39Z</updated>
<author>
<name>Chen Gang</name>
<email>gang.chen@asianux.com</email>
</author>
<published>2013-02-27T04:27:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9b27516fcd7ab7dc416edf418446c24c61729938'/>
<id>urn:sha1:9b27516fcd7ab7dc416edf418446c24c61729938</id>
<content type='text'>
pr-&gt;id is u32 which never &lt; 0, so remove the redundant pr-&gt;id &lt; 0
check from acpi_processor_add().

[rjw: Changelog]
Signed-off-by: Chen Gang &lt;gang.chen@asianux.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
</feed>
