diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-01-07 19:17:18 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-01-07 19:17:18 -0500 |
| commit | 2a893f91f57314c593f36cee689ad6e353af9daf (patch) | |
| tree | 6c8287371612ddc9070991cd5c6b6c011c7d5dc1 | |
| parent | 127aa93066261c2b8f03cb38e7165de8cd71736e (diff) | |
| parent | f67ffa95836b31be5d8fe336aee3bfc6412c5696 (diff) | |
Merge tag 'pm+acpi-for-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull ACPI and power management fixes from Rafael Wysocki:
- Removal of some ACPICA code that the kernel will never use from Lv
Zheng.
- APEI fix from Adrian Huang.
- Removal of unnecessary ACPI memory hotplug driver code from Liu
Jinsong.
- Minor ACPI power management fixes.
- ACPI debug code fix from Joe Perches.
- ACPI fix to make system bus device nodes get the right names.
- PNP resources handling fixes from Witold Szczeponik.
- cpuidle fix for a recent regression stalling boot on systems with
great numbers of CPUs from Daniel Lezcano.
- cpuidle fixes from Sivaram Nair.
- intel_idle debug message fix from Youquan Song.
- cpufreq build regression fix from Larry Finger.
- cpufreq fix for an obscure initialization race related to statistics
from Konstantin Khlebnikov.
- cpufreq change disabling the Longhaul driver by default from RafaĆ
Bilski.
- PM core fix preventing device suspend errors from happening during
system suspend due to obscure race conditions.
- PM QoS local variable name cleanup.
* tag 'pm+acpi-for-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
PM: Move disabling/enabling runtime PM to late suspend/early resume
PM / QoS: Rename local variable in dev_pm_qos_add_ancestor_request()
ACPI / scan: Do not use dummy HID for system bus ACPI nodes
cpufreq / governor: Fix problem with cpufreq_ondemand or cpufreq_conservative
cpufreq / Longhaul: Disable driver by default
cpufreq / stats: fix race between stats allocation and first usage
cpuidle: fix lock contention in the idle path
intel_idle: pr_debug information need separated
cpuidle / coupled: fix ready counter decrement
cpuidle: Fix finding state with min power_usage
PNP: Handle IORESOURCE_BITS in resource allocation
PNP: Simplify setting of resources
ACPI / power: Remove useless message from device registering routine
ACPI / glue: Update DBG macro to include KERN_DEBUG
ACPI / PM: Do not apply ACPI_SUCCESS() to acpi_bus_get_device() result
ACPI / memhotplug: remove redundant logic of acpi memory hotadd
ACPI / APEI: Fix the returned value in erst_dbg_read
ACPICA: Remove useless mini-C library.
| -rw-r--r-- | Documentation/power/runtime_pm.txt | 9 | ||||
| -rw-r--r-- | drivers/acpi/acpi_memhotplug.c | 18 | ||||
| -rw-r--r-- | drivers/acpi/acpica/Makefile | 2 | ||||
| -rw-r--r-- | drivers/acpi/acpica/utclib.c | 749 | ||||
| -rw-r--r-- | drivers/acpi/apei/erst-dbg.c | 11 | ||||
| -rw-r--r-- | drivers/acpi/device_pm.c | 3 | ||||
| -rw-r--r-- | drivers/acpi/glue.c | 9 | ||||
| -rw-r--r-- | drivers/acpi/power.c | 11 | ||||
| -rw-r--r-- | drivers/acpi/scan.c | 2 | ||||
| -rw-r--r-- | drivers/base/power/main.c | 9 | ||||
| -rw-r--r-- | drivers/base/power/qos.c | 10 | ||||
| -rw-r--r-- | drivers/cpufreq/Kconfig | 5 | ||||
| -rw-r--r-- | drivers/cpufreq/Makefile | 5 | ||||
| -rw-r--r-- | drivers/cpufreq/cpufreq_stats.c | 11 | ||||
| -rw-r--r-- | drivers/cpufreq/longhaul.c | 10 | ||||
| -rw-r--r-- | drivers/cpuidle/coupled.c | 2 | ||||
| -rw-r--r-- | drivers/cpuidle/cpuidle.c | 2 | ||||
| -rw-r--r-- | drivers/cpuidle/driver.c | 8 | ||||
| -rw-r--r-- | drivers/cpuidle/governors/menu.c | 2 | ||||
| -rw-r--r-- | drivers/idle/intel_idle.c | 2 | ||||
| -rw-r--r-- | drivers/pnp/interface.c | 105 | ||||
| -rw-r--r-- | drivers/pnp/manager.c | 25 |
22 files changed, 154 insertions, 856 deletions
diff --git a/Documentation/power/runtime_pm.txt b/Documentation/power/runtime_pm.txt index 4abe83e1045a..03591a750f99 100644 --- a/Documentation/power/runtime_pm.txt +++ b/Documentation/power/runtime_pm.txt | |||
| @@ -642,12 +642,13 @@ out the following operations: | |||
| 642 | * During system suspend it calls pm_runtime_get_noresume() and | 642 | * During system suspend it calls pm_runtime_get_noresume() and |
| 643 | pm_runtime_barrier() for every device right before executing the | 643 | pm_runtime_barrier() for every device right before executing the |
| 644 | subsystem-level .suspend() callback for it. In addition to that it calls | 644 | subsystem-level .suspend() callback for it. In addition to that it calls |
| 645 | pm_runtime_disable() for every device right after executing the | 645 | __pm_runtime_disable() with 'false' as the second argument for every device |
| 646 | subsystem-level .suspend() callback for it. | 646 | right before executing the subsystem-level .suspend_late() callback for it. |
| 647 | 647 | ||
| 648 | * During system resume it calls pm_runtime_enable() and pm_runtime_put_sync() | 648 | * During system resume it calls pm_runtime_enable() and pm_runtime_put_sync() |
| 649 | for every device right before and right after executing the subsystem-level | 649 | for every device right after executing the subsystem-level .resume_early() |
| 650 | .resume() callback for it, respectively. | 650 | callback and right after executing the subsystem-level .resume() callback |
| 651 | for it, respectively. | ||
| 651 | 652 | ||
| 652 | 7. Generic subsystem callbacks | 653 | 7. Generic subsystem callbacks |
| 653 | 654 | ||
diff --git a/drivers/acpi/acpi_memhotplug.c b/drivers/acpi/acpi_memhotplug.c index eb30e5ab4cab..b679bf8478f7 100644 --- a/drivers/acpi/acpi_memhotplug.c +++ b/drivers/acpi/acpi_memhotplug.c | |||
| @@ -226,16 +226,6 @@ static int acpi_memory_enable_device(struct acpi_memory_device *mem_device) | |||
| 226 | struct acpi_memory_info *info; | 226 | struct acpi_memory_info *info; |
| 227 | int node; | 227 | int node; |
| 228 | 228 | ||
| 229 | |||
| 230 | /* Get the range from the _CRS */ | ||
| 231 | result = acpi_memory_get_device_resources(mem_device); | ||
| 232 | if (result) { | ||
| 233 | dev_err(&mem_device->device->dev, | ||
| 234 | "get_device_resources failed\n"); | ||
| 235 | mem_device->state = MEMORY_INVALID_STATE; | ||
| 236 | return result; | ||
| 237 | } | ||
| 238 | |||
| 239 | node = acpi_get_node(mem_device->device->handle); | 229 | node = acpi_get_node(mem_device->device->handle); |
| 240 | /* | 230 | /* |
| 241 | * Tell the VM there is more memory here... | 231 | * Tell the VM there is more memory here... |
| @@ -342,14 +332,6 @@ static void acpi_memory_device_notify(acpi_handle handle, u32 event, void *data) | |||
| 342 | break; | 332 | break; |
| 343 | } | 333 | } |
| 344 | 334 | ||
| 345 | if (acpi_memory_check_device(mem_device)) | ||
| 346 | break; | ||
| 347 | |||
| 348 | if (acpi_memory_enable_device(mem_device)) { | ||
| 349 | acpi_handle_err(handle,"Cannot enable memory device\n"); | ||
| 350 | break; | ||
| 351 | } | ||
| 352 | |||
| 353 | ost_code = ACPI_OST_SC_SUCCESS; | 335 | ost_code = ACPI_OST_SC_SUCCESS; |
| 354 | break; | 336 | break; |
| 355 | 337 | ||
diff --git a/drivers/acpi/acpica/Makefile b/drivers/acpi/acpica/Makefile index c8bc24bd1f72..bc7a03ded064 100644 --- a/drivers/acpi/acpica/Makefile +++ b/drivers/acpi/acpica/Makefile | |||
| @@ -162,5 +162,5 @@ acpi-y += \ | |||
| 162 | utxferror.o \ | 162 | utxferror.o \ |
| 163 | utxfmutex.o | 163 | utxfmutex.o |
| 164 | 164 | ||
| 165 | acpi-$(ACPI_FUTURE_USAGE) += uttrack.o utcache.o utclib.o | 165 | acpi-$(ACPI_FUTURE_USAGE) += uttrack.o utcache.o |
| 166 | 166 | ||
diff --git a/drivers/acpi/acpica/utclib.c b/drivers/acpi/acpica/utclib.c deleted file mode 100644 index 19ea4755aa73..000000000000 --- a/drivers/acpi/acpica/utclib.c +++ /dev/null | |||
| @@ -1,749 +0,0 @@ | |||
| 1 | /****************************************************************************** | ||
| 2 | * | ||
| 3 | * Module Name: cmclib - Local implementation of C library functions | ||
| 4 | * | ||
| 5 | *****************************************************************************/ | ||
| 6 | |||
| 7 | /* | ||
| 8 | * Copyright (C) 2000 - 2012, Intel Corp. | ||
| 9 | * All rights reserved. | ||
| 10 | * | ||
| 11 | * Redistribution and use in source and binary forms, with or without | ||
| 12 | * modification, are permitted provided that the following conditions | ||
| 13 | * are met: | ||
| 14 | * 1. Redistributions of source code must retain the above copyright | ||
| 15 | * notice, this list of conditions, and the following disclaimer, | ||
| 16 | * without modification. | ||
| 17 | * 2. Redistributions in binary form must reproduce at minimum a disclaimer | ||
| 18 | * substantially similar to the "NO WARRANTY" disclaimer below | ||
| 19 | * ("Disclaimer") and any redistribution must be conditioned upon | ||
| 20 | * including a substantially similar Disclaimer requirement for further | ||
| 21 | * binary redistribution. | ||
| 22 | * 3. Neither the names of the above-listed copyright holders nor the names | ||
| 23 | * of any contributors may be used to endorse or promote products derived | ||
| 24 | * from this software without specific prior written permission. | ||
| 25 | * | ||
| 26 | * Alternatively, this software may be distributed under the terms of the | ||
| 27 | * GNU General Public License ("GPL") version 2 as published by the Free | ||
| 28 | * Software Foundation. | ||
| 29 | * | ||
| 30 | * NO WARRANTY | ||
| 31 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
| 32 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
| 33 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR | ||
| 34 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
| 35 | * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
| 36 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
| 37 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
| 38 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | ||
| 39 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING | ||
| 40 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
| 41 | * POSSIBILITY OF SUCH DAMAGES. | ||
| 42 | */ | ||
| 43 | |||
| 44 | #include <acpi/acpi.h> | ||
| 45 | #include "accommon.h" | ||
| 46 | |||
| 47 | /* | ||
| 48 | * These implementations of standard C Library routines can optionally be | ||
| 49 | * used if a C library is not available. In general, they are less efficient | ||
| 50 | * than an inline or assembly implementation | ||
| 51 | */ | ||
| 52 | |||
| 53 | #define _COMPONENT ACPI_UTILITIES | ||
| 54 | ACPI_MODULE_NAME("cmclib") | ||
| 55 | |||
| 56 | #ifndef ACPI_USE_SYSTEM_CLIBRARY | ||
| 57 | #define NEGATIVE 1 | ||
| 58 | #define POSITIVE 0 | ||
| 59 | /******************************************************************************* | ||
| 60 | * | ||
| 61 | * FUNCTION: acpi_ut_memcmp (memcmp) | ||
| 62 | * | ||
| 63 | * PARAMETERS: buffer1 - First Buffer | ||
| 64 | * buffer2 - Second Buffer | ||
| 65 | * count - Maximum # of bytes to compare | ||
| 66 | * | ||
| 67 | * RETURN: Index where Buffers mismatched, or 0 if Buffers matched | ||
| 68 | * | ||
| 69 | * DESCRIPTION: Compare two Buffers, with a maximum length | ||
| 70 | * | ||
| 71 | ******************************************************************************/ | ||
| 72 | int acpi_ut_memcmp(const char *buffer1, const char *buffer2, acpi_size count) | ||
| 73 | { | ||
| 74 | |||
| 75 | return ((count == ACPI_SIZE_MAX) ? 0 : ((unsigned char)*buffer1 - | ||
| 76 | (unsigned char)*buffer2)); | ||
| 77 | } | ||
| 78 | |||
| 79 | /******************************************************************************* | ||
| 80 | * | ||
| 81 | * FUNCTION: acpi_ut_memcpy (memcpy) | ||
| 82 | * | ||
| 83 | * PARAMETERS: dest - Target of the copy | ||
| 84 | * src - Source buffer to copy | ||
| 85 | * count - Number of bytes to copy | ||
| 86 | * | ||
| 87 | * RETURN: Dest | ||
| 88 | * | ||
| 89 | * DESCRIPTION: Copy arbitrary bytes of memory | ||
