projects/linux·commit 765426e8

Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6

765426e8 · Linus Torvalds <[email protected]> · 2008-10-23 10:20:36 -07:00

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (123 commits)
  dock: make dock driver not a module
  ACPI: fix ia64 build warning
  ACPI: hack around sysfs warning with link order
  ACPI suspend: fix build warning when CONFIG_ACPI_SLEEP=n
  intel_menlo: fix build warning
  panasonic-laptop: fix build
  ACPICA: Update version to 20080926
  ACPICA: Add support for zero-length buffer-to-string conversions
  ACPICA: New: Validation for predefined ACPI methods/objects
  ACPICA: Fix for implicit return compatibility
  ACPICA: Fixed a couple memory leaks associated with "implicit return"
  ACPICA: Optimize buffer allocation procedure
  ACPICA: Fix possible memory leak, error exit path
  ACPICA: Fix fault after mem allocation failure in AML parser
  ACPICA: Remove unused ACPI register bit definition
  ACPICA: Update version to 20080829
  ACPICA: Fix possible memory leak in acpi_ns_get_external_pathname
  ACPICA: Cleanup for internal Reference Object
  ACPICA: Update comments - no functional changes
  ACPICA: Update for Reference ACPI_OPERAND_OBJECT
  ...
Commit
765426e8ee4c0ab2bc9d44951f4865b8494cdbd0
Parents
36ec8918 · 898b054f

Merge commit. Changes below are compared with the first parent: 36ec8918.

Changes

145 files changed · +5917 −2212

FileStatusAddDelContent
Documentation/kernel-parameters.txtmodified+46−15View file
Documentation/laptops/acer-wmi.txtmodified+4−24View file
MAINTAINERSmodified+13−2View file
arch/ia64/sn/kernel/io_acpi_init.cmodified+5−5View file
arch/x86/Kconfigmodified+5−0View file
arch/x86/kernel/acpi/boot.cmodified+3−2View file
arch/x86/kernel/acpi/sleep.cmodified+2−2View file
arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.cmodified+3−0View file
arch/x86/kernel/cpu/cpufreq/powernow-k8.cmodified+24−18View file
arch/x86/kernel/early-quirks.cmodified+52−3View file
arch/x86/kernel/process_64.cmodified+7−0View file
drivers/Makefilemodified+1−0View file
drivers/acpi/Kconfigmodified+4−11View file
drivers/acpi/Makefilemodified+1−2View file
drivers/acpi/ac.cmodified+2−2View file
drivers/acpi/acpi_memhotplug.cmodified+5−6View file
drivers/acpi/asus_acpi.cmodified+114−113View file
drivers/acpi/battery.cmodified+1−1View file
drivers/acpi/bay.cdeleted+0−411View before deletion
drivers/acpi/bus.cmodified+66−12View file
drivers/acpi/button.cmodified+3−3View file
drivers/acpi/cm_sbs.cmodified+4−4View file
drivers/acpi/container.cmodified+2−2View file
drivers/acpi/debug.cmodified+0−2View file
drivers/acpi/dispatcher/dsmethod.cmodified+3−0View file
drivers/acpi/dispatcher/dsmthdat.cmodified+43−40View file
drivers/acpi/dispatcher/dsobject.cmodified+39−23View file
drivers/acpi/dispatcher/dsopcode.cmodified+1−1View file
drivers/acpi/dispatcher/dswexec.cmodified+8−4View file
drivers/acpi/dock.cmodified+300−88View file
drivers/acpi/ec.cmodified+211−189View file
drivers/acpi/executer/exconfig.cmodified+86−37View file
drivers/acpi/executer/exconvrt.cmodified+20−12View file
drivers/acpi/executer/exdump.cmodified+40−47View file
drivers/acpi/executer/exmisc.cmodified+7−7View file
drivers/acpi/executer/exoparg1.cmodified+13−13View file
drivers/acpi/executer/exoparg2.cmodified+2−2View file
drivers/acpi/executer/exresnte.cmodified+6−10View file
drivers/acpi/executer/exresolv.cmodified+29−31View file
drivers/acpi/executer/exresop.cmodified+22−28View file
drivers/acpi/executer/exstore.cmodified+32−29View file
drivers/acpi/executer/exstoren.cmodified+2−1View file
drivers/acpi/fan.cmodified+3−3View file
drivers/acpi/hardware/hwsleep.cmodified+18−26View file
drivers/acpi/namespace/Makefilemodified+1−1View file
drivers/acpi/namespace/nsdump.cmodified+1−4View file
drivers/acpi/namespace/nseval.cmodified+62−11View file
drivers/acpi/namespace/nsnames.cmodified+3−4View file
drivers/acpi/namespace/nspredef.cadded+900−0View file
drivers/acpi/namespace/nssearch.cmodified+1−1View file
drivers/acpi/namespace/nsxfeval.cmodified+78−0View file
drivers/acpi/namespace/nsxfname.cmodified+5−0View file
drivers/acpi/numa.cmodified+1−1View file
drivers/acpi/osl.cmodified+45−10View file
drivers/acpi/parser/psloop.cmodified+2−0View file
drivers/acpi/parser/psparse.cmodified+14−18View file
drivers/acpi/pci_link.cmodified+3−3View file
drivers/acpi/pci_root.cmodified+2−2View file
drivers/acpi/pci_slot.cmodified+5−5View file
drivers/acpi/power.cmodified+48−26View file
drivers/acpi/processor_core.cmodified+3−3View file
drivers/acpi/processor_idle.cmodified+1−0View file
drivers/acpi/processor_perflib.cmodified+21−9View file
drivers/acpi/processor_throttling.cmodified+6−6View file
drivers/acpi/reboot.cmodified+22−3View file
drivers/acpi/resources/rscalc.cmodified+2−3View file
drivers/acpi/resources/rscreate.cmodified+4−6View file
drivers/acpi/sbs.cmodified+1−1View file
drivers/acpi/sbshc.cmodified+3−3View file
drivers/acpi/scan.cmodified+53−37View file
drivers/acpi/sleep/main.cmodified+61−5View file
drivers/acpi/system.cmodified+2−2View file
drivers/acpi/tables/tbfadt.cmodified+25−7View file
drivers/acpi/tables/tbinstal.cmodified+50−11View file
drivers/acpi/thermal.cmodified+35−22View file
drivers/acpi/toshiba_acpi.cmodified+1−1View file
drivers/acpi/utilities/utalloc.cmodified+28−25View file
drivers/acpi/utilities/utcopy.cmodified+16−13View file
drivers/acpi/utilities/utdelete.cmodified+9−3View file
drivers/acpi/utilities/utglobal.cmodified+46−6View file
drivers/acpi/utilities/utmisc.cmodified+9−0View file
drivers/acpi/utilities/utobject.cmodified+9−6View file
drivers/acpi/utilities/utxface.cmodified+6−1View file
drivers/acpi/utils.cmodified+2−2View file
drivers/acpi/video.cmodified+30−30View file
drivers/acpi/wmi.cmodified+42−7View file
drivers/ata/libata-acpi.cmodified+48−87View file
drivers/cpuidle/cpuidle.cmodified+8−1View file
drivers/dma/ioat_dma.cmodified+3−0View file
drivers/idle/Kconfigadded+16−0View file
drivers/idle/Makefileadded+2−0View file
drivers/idle/i7300_idle.cadded+674−0View file
drivers/misc/Kconfigmodified+12−0View file
drivers/misc/Makefilemodified+1−0View file
drivers/misc/acer-wmi.cmodified+140−85View file
drivers/misc/asus-laptop.cmodified+9−8View file
drivers/misc/eeepc-laptop.cmodified+211−21View file
drivers/misc/fujitsu-laptop.cmodified+77−58View file
drivers/misc/intel_menlow.cmodified+16−15View file
drivers/misc/panasonic-laptop.cadded+767−0View file
drivers/misc/sony-laptop.cmodified+1−1View file
drivers/misc/thinkpad_acpi.cmodified+62−3View file
drivers/pci/hotplug/acpiphp_glue.cmodified+11−9View file
drivers/pci/hotplug/acpiphp_ibm.cmodified+1−1View file
drivers/pci/hotplug/sgi_hotplug.cmodified+2−2View file
drivers/pnp/Kconfigmodified+14−6View file
drivers/pnp/Makefilemodified+0−4View file
drivers/pnp/base.hmodified+10−0View file
drivers/pnp/core.cmodified+19−10View file
drivers/pnp/driver.cmodified+0−4View file
drivers/pnp/isapnp/Makefilemodified+0−4View file
drivers/pnp/isapnp/core.cmodified+6−6View file
drivers/pnp/manager.cmodified+17−17View file
drivers/pnp/pnpacpi/Makefilemodified+0−4View file
drivers/pnp/pnpacpi/core.cmodified+10−6View file
drivers/pnp/pnpacpi/rsparser.cmodified+22−21View file
drivers/pnp/pnpbios/Makefilemodified+0−4View file
drivers/pnp/pnpbios/core.cmodified+2−2View file
drivers/pnp/pnpbios/rsparser.cmodified+9−9View file
drivers/pnp/quirks.cmodified+2−3View file
drivers/pnp/resource.cmodified+6−6View file
drivers/pnp/support.cmodified+5−9View file
include/acpi/acconfig.hmodified+1−1View file
include/acpi/acdebug.hmodified+8−0View file
include/acpi/acdisasm.hmodified+4−0View file
include/acpi/acdispat.hmodified+3−3View file
include/acpi/acexcep.hmodified+55−73View file
include/acpi/aclocal.hmodified+77−0View file
include/acpi/acmacros.hmodified+120−133View file
include/acpi/acnamesp.hmodified+16−0View file
include/acpi/acobject.hmodified+30−7View file
include/acpi/acoutput.hmodified+13−19View file
include/acpi/acpi_bus.hmodified+9−2View file
include/acpi/acpi_drivers.hmodified+9−2View file
include/acpi/acpiosxf.hmodified+3−0View file
include/acpi/acpredef.hadded+371−0View file
include/acpi/actbl1.hmodified+45−6View file
include/acpi/actypes.hmodified+25−12View file
include/acpi/acutils.hmodified+3−1View file
include/acpi/platform/aclinux.hmodified+6−0View file
include/asm-x86/idle.hmodified+1−0View file
include/linux/acpi.hmodified+0−8View file
include/linux/kernel.hmodified+24−0View file
include/linux/pci_ids.hmodified+1−0View file
include/linux/pnp.hmodified+0−10View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/kernel-parameters.txt

View file
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 53ba7c7..343e0f0 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -218,20 +218,47 @@ and is between 256 and 4096 characters. It is defined in the file
acpi.debug_level= [HW,ACPI]
Format: <int>
Each bit of the <int> indicates an ACPI debug level,
- 1: enable, 0: disable. It is useful for boot time
- debugging. After system has booted up, it can be set
- via /sys/module/acpi/parameters/debug_level.
- CONFIG_ACPI_DEBUG must be enabled for this to produce any output.
- Available bits (add the numbers together) to enable different
- debug output levels of the ACPI subsystem:
- 0x01 error 0x02 warn 0x04 init 0x08 debug object
- 0x10 info 0x20 init names 0x40 parse 0x80 load
- 0x100 dispatch 0x200 execute 0x400 names 0x800 operation region
- 0x1000 bfield 0x2000 tables 0x4000 values 0x8000 objects
- 0x10000 resources 0x20000 user requests 0x40000 package.
- The number can be in decimal or prefixed with 0x in hex.
- Warning: Many of these options can produce a lot of
- output and make your system unusable. Be very careful.
+ which corresponds to the level in an ACPI_DEBUG_PRINT
+ statement. After system has booted up, this mask
+ can be set via /sys/module/acpi/parameters/debug_level.
+
+ CONFIG_ACPI_DEBUG must be enabled for this to produce
+ any output. The number can be in decimal or prefixed
+ with 0x in hex. Some of these options produce so much
+ output that the system is unusable.
+
+ The following global components are defined by the
+ ACPI CA:
+ 0x01 error
+ 0x02 warn
+ 0x04 init
+ 0x08 debug object
+ 0x10 info
+ 0x20 init names
+ 0x40 parse
+ 0x80 load
+ 0x100 dispatch
+ 0x200 execute
+ 0x400 names
+ 0x800 operation region
+ 0x1000 bfield
+ 0x2000 tables
+ 0x4000 values
+ 0x8000 objects
+ 0x10000 resources
+ 0x20000 user requests
+ 0x40000 package
+ The number can be in decimal or prefixed with 0x in hex.
+ Warning: Many of these options can produce a lot of
+ output and make your system unusable. Be very careful.
+
+ acpi.power_nocheck= [HW,ACPI]
+ Format: 1/0 enable/disable the check of power state.
+ On some bogus BIOS the _PSC object/_STA object of
+ power resource can't return the correct device power
+ state. In such case it is unneccessary to check its
+ power state again in power transition.
+ 1 : disable the power state check
acpi_pm_good [X86-32,X86-64]
Override the pmtimer bug detection: force the kernel
@@ -1711,6 +1738,10 @@ and is between 256 and 4096 characters. It is defined in the file
Override pmtimer IOPort with a hex value.
e.g. pmtmr=0x508
+ pnp.debug [PNP]
+ Enable PNP debug messages. This depends on the
+ CONFIG_PNP_DEBUG_MESSAGES option.
+
pnpacpi= [ACPI]
{ off }
@@ -2208,7 +2239,7 @@ and is between 256 and 4096 characters. It is defined in the file
thermal.crt= [HW,ACPI]
-1: disable all critical trip points in all thermal zones
- <degrees C>: lower all critical trip points
+ <degrees C>: override all critical trip points
thermal.nocrt= [HW,ACPI]
Set to disable actions on ACPI thermal zone

Documentation/laptops/acer-wmi.txt

View file
diff --git a/Documentation/laptops/acer-wmi.txt b/Documentation/laptops/acer-wmi.txt
index 69b5dd4..2b3a6b5 100644
--- a/Documentation/laptops/acer-wmi.txt
+++ b/Documentation/laptops/acer-wmi.txt
@@ -1,7 +1,7 @@
Acer Laptop WMI Extras Driver
http://code.google.com/p/aceracpi
-Version 0.1
-9th February 2008
+Version 0.2
+18th August 2008
Copyright 2007-2008 Carlos Corbacho <[email protected]>
@@ -87,17 +87,7 @@ acer-wmi come with built-in wireless. However, should you feel so inclined to
ever wish to remove the card, or swap it out at some point, please get in touch
with me, as we may well be able to gain some data on wireless card detection.
-To read the status of the wireless radio (0=off, 1=on):
-cat /sys/devices/platform/acer-wmi/wireless
-
-To enable the wireless radio:
-echo 1 > /sys/devices/platform/acer-wmi/wireless
-
-To disable the wireless radio:
-echo 0 > /sys/devices/platform/acer-wmi/wireless
-
-To set the state of the wireless radio when loading acer-wmi, pass:
-wireless=X (where X is 0 or 1)
+The wireless radio is exposed through rfkill.
Bluetooth
*********
@@ -117,17 +107,7 @@ For the adventurously minded - if you want to buy an internal bluetooth
module off the internet that is compatible with your laptop and fit it, then
it will work just fine with acer-wmi.
-To read the status of the bluetooth module (0=off, 1=on):
-cat /sys/devices/platform/acer-wmi/wireless
-
-To enable the bluetooth module:
-echo 1 > /sys/devices/platform/acer-wmi/bluetooth
-
-To disable the bluetooth module:
-echo 0 > /sys/devices/platform/acer-wmi/bluetooth
-
-To set the state of the bluetooth module when loading acer-wmi, pass:
-bluetooth=X (where X is 0 or 1)
+Bluetooth is exposed through rfkill.
3G
**

MAINTAINERS

View file
diff --git a/MAINTAINERS b/MAINTAINERS
index 67fa3cf..277451a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1433,8 +1433,8 @@ M: [email protected]
S: Maintained
DOCKING STATION DRIVER
-P: Kristen Carlson Accardi
+P: Shaohua Li
S: Supported
@@ -2109,6 +2109,12 @@ L: [email protected]
S: Orphan
+IDLE-I7300
+P: Andy Henroid
+S: Supported
+
IEEE 1394 SUBSYSTEM (drivers/ieee1394)
P: Ben Collins
@@ -3186,6 +3192,11 @@ M: [email protected]
S: Maintained
+PANASONIC LAPTOP ACPI EXTRAS DRIVER
+P: Harald Welte
+S: Maintained
+
PANASONIC MN10300/AM33 PORT
P: David Howells

arch/ia64/sn/kernel/io_acpi_init.c

View file
diff --git a/arch/ia64/sn/kernel/io_acpi_init.c b/arch/ia64/sn/kernel/io_acpi_init.c
index 6568942..bc610a6 100644
--- a/arch/ia64/sn/kernel/io_acpi_init.c
+++ b/arch/ia64/sn/kernel/io_acpi_init.c
@@ -232,7 +232,7 @@ exit:
static unsigned int
get_host_devfn(acpi_handle device_handle, acpi_handle rootbus_handle)
{
- unsigned long adr;
+ unsigned long long adr;
acpi_handle child;
unsigned int devfn;
int function;
@@ -292,8 +292,8 @@ get_host_devfn(acpi_handle device_handle, acpi_handle rootbus_handle)
static acpi_status
find_matching_device(acpi_handle handle, u32 lvl, void *context, void **rv)
{
- unsigned long bbn = -1;
- unsigned long adr;
+ unsigned long long bbn = -1;
+ unsigned long long adr;
acpi_handle parent = NULL;
acpi_status status;
unsigned int devfn;
@@ -348,7 +348,7 @@ sn_acpi_get_pcidev_info(struct pci_dev *dev, struct pcidev_info **pcidev_info,
unsigned int host_devfn;
struct sn_pcidev_match pcidev_match;
acpi_handle rootbus_handle;
- unsigned long segment;
+ unsigned long long segment;
acpi_status status;
rootbus_handle = PCI_CONTROLLER(dev)->acpi_handle;
@@ -357,7 +357,7 @@ sn_acpi_get_pcidev_info(struct pci_dev *dev, struct pcidev_info **pcidev_info,
if (ACPI_SUCCESS(status)) {
if (segment != pci_domain_nr(dev)) {
printk(KERN_ERR
- "%s: Segment number mismatch, 0x%lx vs 0x%x for: ",
+ "%s: Segment number mismatch, 0x%llx vs 0x%x for: ",
__func__, segment, pci_domain_nr(dev));
acpi_ns_print_node_pathname(rootbus_handle, NULL);
printk("\n");

arch/x86/Kconfig

View file
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 5b9b123..350bee1 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -116,6 +116,9 @@ config GENERIC_TIME_VSYSCALL
config ARCH_HAS_CPU_RELAX
def_bool y
+config ARCH_HAS_DEFAULT_IDLE
+ def_bool y
+
config ARCH_HAS_CACHE_LINE_SIZE
def_bool y
@@ -1635,6 +1638,8 @@ source "arch/x86/kernel/cpu/cpufreq/Kconfig"
source "drivers/cpuidle/Kconfig"
+source "drivers/idle/Kconfig"
+
endmenu

arch/x86/kernel/acpi/boot.c

View file
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 0d1c26a..53b01a1 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -153,12 +153,13 @@ char *__init __acpi_map_table(unsigned long phys, unsigned long size)
}
#ifdef CONFIG_PCI_MMCONFIG
+
+static int acpi_mcfg_64bit_base_addr __initdata = FALSE;
+
/* The physical address of the MMCONFIG aperture. Set from ACPI tables. */
struct acpi_mcfg_allocation *pci_mmcfg_config;
int pci_mmcfg_config_num;
-static int acpi_mcfg_64bit_base_addr __initdata = FALSE;
-
static int __init acpi_mcfg_oem_check(struct acpi_table_mcfg *mcfg)
{
if (!strcmp(mcfg->header.oem_id, "SGI"))

arch/x86/kernel/acpi/sleep.c

View file
diff --git a/arch/x86/kernel/acpi/sleep.c b/arch/x86/kernel/acpi/sleep.c
index c44cd6d..806b4e9 100644
--- a/arch/x86/kernel/acpi/sleep.c
+++ b/arch/x86/kernel/acpi/sleep.c
@@ -22,7 +22,7 @@ unsigned long acpi_realmode_flags;
static unsigned long acpi_realmode;
#if defined(CONFIG_SMP) && defined(CONFIG_64BIT)
-static char temp_stack[10240];
+static char temp_stack[4096];
#endif
/**
@@ -98,7 +98,7 @@ int acpi_save_state_mem(void)
#else /* CONFIG_64BIT */
header->trampoline_segment = setup_trampoline() >> 4;
#ifdef CONFIG_SMP
- stack_start.sp = temp_stack + 4096;
+ stack_start.sp = temp_stack + sizeof(temp_stack);
early_gdt_descr.address =
(unsigned long)get_cpu_gdt_table(smp_processor_id());
#endif

arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c

View file
diff --git a/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c b/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
index c24c4a4..8e48c5d 100644
--- a/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
+++ b/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
@@ -780,6 +780,9 @@ static int __init acpi_cpufreq_init(void)
{
int ret;
+ if (acpi_disabled)
+ return 0;
+
dprintk("acpi_cpufreq_init\n");
ret = acpi_cpufreq_early_init();

arch/x86/kernel/cpu/cpufreq/powernow-k8.c

View file
diff --git a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
index 008d23b..d3dcd58 100644
--- a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
+++ b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
@@ -45,7 +45,6 @@
#endif
#define PFX "powernow-k8: "
-#define BFX PFX "BIOS error: "
#define VERSION "version 2.20.00"
#include "powernow-k8.h"
@@ -536,35 +535,40 @@ static int check_pst_table(struct powernow_k8_data *data, struct pst_s *pst, u8
for (j = 0; j < data->numps; j++) {
if (pst[j].vid > LEAST_VID) {
- printk(KERN_ERR PFX "vid %d invalid : 0x%x\n", j, pst[j].vid);
+ printk(KERN_ERR FW_BUG PFX "vid %d invalid : 0x%x\n",
+ j, pst[j].vid);
return -EINVAL;
}
if (pst[j].vid < data->rvo) { /* vid + rvo >= 0 */
- printk(KERN_ERR BFX "0 vid exceeded with pstate %d\n", j);
+ printk(KERN_ERR FW_BUG PFX "0 vid exceeded with pstate"
+ " %d\n", j);
return -ENODEV;
}
if (pst[j].vid < maxvid + data->rvo) { /* vid + rvo >= maxvid */
- printk(KERN_ERR BFX "maxvid exceeded with pstate %d\n", j);
+ printk(KERN_ERR FW_BUG PFX "maxvid exceeded with pstate"
+ " %d\n", j);
return -ENODEV;
}
if (pst[j].fid > MAX_FID) {
- printk(KERN_ERR BFX "maxfid exceeded with pstate %d\n", j);
+ printk(KERN_ERR FW_BUG PFX "maxfid exceeded with pstate"
+ " %d\n", j);
return -ENODEV;
}
if (j && (pst[j].fid < HI_FID_TABLE_BOTTOM)) {
/* Only first fid is allowed to be in "low" range */
- printk(KERN_ERR BFX "two low fids - %d : 0x%x\n", j, pst[j].fid);
+ printk(KERN_ERR FW_BUG PFX "two low fids - %d : "
+ "0x%x\n", j, pst[j].fid);
return -EINVAL;
}
if (pst[j].fid < lastfid)
lastfid = pst[j].fid;
}
if (lastfid & 1) {
- printk(KERN_ERR BFX "lastfid invalid\n");
+ printk(KERN_ERR FW_BUG PFX "lastfid invalid\n");
return -EINVAL;
}
if (lastfid > LO_FID_TABLE_TOP)
- printk(KERN_INFO BFX "first fid not from lo freq table\n");
+ printk(KERN_INFO FW_BUG PFX "first fid not from lo freq table\n");
return 0;
}
@@ -672,13 +676,13 @@ static int find_psb_table(struct powernow_k8_data *data)
dprintk("table vers: 0x%x\n", psb->tableversion);
if (psb->tableversion != PSB_VERSION_1_4) {
- printk(KERN_ERR BFX "PSB table is not v1.4\n");
+ printk(KERN_ERR FW_BUG PFX "PSB table is not v1.4\n");
return -ENODEV;
}
dprintk("flags: 0x%x\n", psb->flags1);
if (psb->flags1) {
- printk(KERN_ERR BFX "unknown flags\n");
+ printk(KERN_ERR FW_BUG PFX "unknown flags\n");
return -ENODEV;
}
@@ -705,7 +709,7 @@ static int find_psb_table(struct powernow_k8_data *data)
}
}
if (cpst != 1) {
- printk(KERN_ERR BFX "numpst must be 1\n");
+ printk(KERN_ERR FW_BUG PFX "numpst must be 1\n");
return -ENODEV;
}
@@ -1130,17 +1134,19 @@ static int __cpuinit powernowk8_cpu_init(struct cpufreq_policy *pol)
"ACPI Processor module before starting this "
"driver.\n");
#else
- printk(KERN_ERR PFX "Your BIOS does not provide ACPI "
- "_PSS objects in a way that Linux understands. "
- "Please report this to the Linux ACPI maintainers"
- " and complain to your BIOS vendor.\n");
+ printk(KERN_ERR FW_BUG PFX "Your BIOS does not provide"
+ " ACPI _PSS objects in a way that Linux "
+ "understands. Please report this to the Linux "
+ "ACPI maintainers and complain to your BIOS "
+ "vendor.\n");
#endif
kfree(data);
return -ENODEV;
}
if (pol->cpu != 0) {
- printk(KERN_ERR PFX "No ACPI _PSS objects for CPU other than "
- "CPU0. Complain to your BIOS vendor.\n");
+ printk(KERN_ERR FW_BUG PFX "No ACPI _PSS objects for "
+ "CPU other than CPU0. Complain to your BIOS "
+ "vendor.\n");
kfree(data);
return -ENODEV;
}
@@ -1193,7 +1199,7 @@ static int __cpuinit powernowk8_cpu_init(struct cpufreq_policy *pol)
/* min/max the cpu is capable of */
if (cpufreq_frequency_table_cpuinfo(pol, data->powernow_table)) {
- printk(KERN_ERR PFX "invalid powernow_table\n");
+ printk(KERN_ERR FW_BUG PFX "invalid powernow_table\n");
powernow_k8_cpu_exit_acpi(data);
kfree(data->powernow_table);
kfree(data);

arch/x86/kernel/early-quirks.c

View file
diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c
index 733c4f8..3ce029f 100644
--- a/arch/x86/kernel/early-quirks.c
+++ b/arch/x86/kernel/early-quirks.c
@@ -95,7 +95,8 @@ static void __init nvidia_bugs(int num, int slot, int func)
}
-static u32 ati_ixp4x0_rev(int num, int slot, int func)
+#if defined(CONFIG_ACPI) && defined(CONFIG_X86_IO_APIC)
+static u32 __init ati_ixp4x0_rev(int num, int slot, int func)
{
u32 d;
u8 b;
@@ -115,7 +116,6 @@ static u32 ati_ixp4x0_rev(int num, int slot, int func)
static void __init ati_bugs(int num, int slot, int func)
{
-#if defined(CONFIG_ACPI) && defined (CONFIG_X86_IO_APIC)
u32 d;
u8 b;
@@ -138,9 +138,56 @@ static void __init ati_bugs(int num, int slot, int func)
printk(KERN_INFO "If you got timer trouble "
"try acpi_use_timer_override\n");
}
-#endif
}
+static u32 __init ati_sbx00_rev(int num, int slot, int func)
+{
+ u32 old, d;
+
+ d = read_pci_config(num, slot, func, 0x70);
+ old = d;
+ d &= ~(1<<8);
+ write_pci_config(num, slot, func, 0x70, d);
+ d = read_pci_config(num, slot, func, 0x8);
+ d &= 0xff;
+ write_pci_config(num, slot, func, 0x70, old);
+
+ return d;
+}
+
+static void __init ati_bugs_contd(int num, int slot, int func)
+{
+ u32 d, rev;
+
+ if (acpi_use_timer_override)
+ return;
+
+ rev = ati_sbx00_rev(num, slot, func);
+ if (rev > 0x13)
+ return;
+
+ /* check for IRQ0 interrupt swap */
+ d = read_pci_config(num, slot, func, 0x64);
+ if (!(d & (1<<14)))
+ acpi_skip_timer_override = 1;
+
+ if (acpi_skip_timer_override) {
+ printk(KERN_INFO "SB600 revision 0x%x\n", rev);
+ printk(KERN_INFO "Ignoring ACPI timer override.\n");
+ printk(KERN_INFO "If you got timer trouble "
+ "try acpi_use_timer_override\n");
+ }
+}
+#else
+static void __init ati_bugs(int num, int slot, int func)
+{
+}
+
+static void __init ati_bugs_contd(int num, int slot, int func)
+{
+}
+#endif
+
#ifdef CONFIG_DMAR
static void __init intel_g33_dmar(int num, int slot, int func)
{
@@ -176,6 +223,8 @@ static struct chipset early_qrk[] __initdata = {
PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, fix_hypertransport_config },
{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_SMBUS,
PCI_CLASS_SERIAL_SMBUS, PCI_ANY_ID, 0, ati_bugs },
+ { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_SBX00_SMBUS,
+ PCI_CLASS_SERIAL_SMBUS, PCI_ANY_ID, 0, ati_bugs_contd },
#ifdef CONFIG_DMAR
{ PCI_VENDOR_ID_INTEL, 0x29c0,
PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, intel_g33_dmar },

arch/x86/kernel/process_64.c

View file
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
index cd8c0ed..c958120 100644
--- a/arch/x86/kernel/process_64.c
+++ b/arch/x86/kernel/process_64.c
@@ -63,6 +63,13 @@ void idle_notifier_register(struct notifier_block *n)
{
atomic_notifier_chain_register(&idle_notifier, n);
}
+EXPORT_SYMBOL_GPL(idle_notifier_register);
+
+void idle_notifier_unregister(struct notifier_block *n)
+{
+ atomic_notifier_chain_unregister(&idle_notifier, n);
+}
+EXPORT_SYMBOL_GPL(idle_notifier_unregister);
void enter_idle(void)
{

drivers/Makefile

View file
diff --git a/drivers/Makefile b/drivers/Makefile
index cadc64f..2503f7b 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -82,6 +82,7 @@ obj-$(CONFIG_EISA) += eisa/
obj-y += lguest/
obj-$(CONFIG_CPU_FREQ) += cpufreq/
obj-$(CONFIG_CPU_IDLE) += cpuidle/
+obj-y += idle/
obj-$(CONFIG_MMC) += mmc/
obj-$(CONFIG_MEMSTICK) += memstick/
obj-$(CONFIG_NEW_LEDS) += leds/

drivers/acpi/Kconfig

View file
diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
index da49b00..f4f6329 100644
--- a/drivers/acpi/Kconfig
+++ b/drivers/acpi/Kconfig
@@ -42,7 +42,7 @@ if ACPI
config ACPI_SLEEP
bool
- depends on PM_SLEEP
+ depends on SUSPEND || HIBERNATION
default y
config ACPI_PROCFS
@@ -157,18 +157,11 @@ config ACPI_FAN
applications to perform basic fan control (on, off, status).
config ACPI_DOCK
- tristate "Dock"
+ bool "Dock"
depends on EXPERIMENTAL
help
- This driver adds support for ACPI controlled docking stations
-
-config ACPI_BAY
- tristate "Removable Drive Bay (EXPERIMENTAL)"
- depends on EXPERIMENTAL
- depends on ACPI_DOCK
- help
- This driver adds support for ACPI controlled removable drive
- bays such as the IBM ultrabay or the Dell Module Bay.
+ This driver adds support for ACPI controlled docking stations and removable
+ drive bays such as the IBM ultrabay or the Dell Module Bay.
config ACPI_PROCESSOR
tristate "Processor"

drivers/acpi/Makefile

View file
diff --git a/drivers/acpi/Makefile b/drivers/acpi/Makefile
index 52a4cd4..d91c027 100644
--- a/drivers/acpi/Makefile
+++ b/drivers/acpi/Makefile
@@ -45,14 +45,13 @@ obj-$(CONFIG_ACPI_BATTERY) += battery.o
obj-$(CONFIG_ACPI_BUTTON) += button.o
obj-$(CONFIG_ACPI_FAN) += fan.o
obj-$(CONFIG_ACPI_DOCK) += dock.o
-obj-$(CONFIG_ACPI_BAY) += bay.o
obj-$(CONFIG_ACPI_VIDEO) += video.o
obj-y += pci_root.o pci_link.o pci_irq.o pci_bind.o
obj-$(CONFIG_ACPI_PCI_SLOT) += pci_slot.o
-obj-$(CONFIG_ACPI_POWER) += power.o
obj-$(CONFIG_ACPI_PROCESSOR) += processor.o
obj-$(CONFIG_ACPI_CONTAINER) += container.o
obj-$(CONFIG_ACPI_THERMAL) += thermal.o
+obj-$(CONFIG_ACPI_POWER) += power.o
obj-$(CONFIG_ACPI_SYSTEM) += system.o event.o
obj-$(CONFIG_ACPI_DEBUG) += debug.o
obj-$(CONFIG_ACPI_NUMA) += numa.o

drivers/acpi/ac.c

View file
diff --git a/drivers/acpi/ac.c b/drivers/acpi/ac.c
index 831883b..d72a1b6 100644
--- a/drivers/acpi/ac.c
+++ b/drivers/acpi/ac.c
@@ -85,7 +85,7 @@ struct acpi_ac {
struct power_supply charger;
#endif

This diff is incomplete. Download the complete patch.

drivers/acpi/acpi_memhotplug.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/asus_acpi.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/battery.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/bay.c

View before deletion

This diff is incomplete. Download the complete patch.

drivers/acpi/bus.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/button.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/cm_sbs.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/container.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/debug.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/dispatcher/dsmethod.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/dispatcher/dsmthdat.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/dispatcher/dsobject.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/dispatcher/dsopcode.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/dispatcher/dswexec.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/dock.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/ec.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/executer/exconfig.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/executer/exconvrt.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/executer/exdump.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/executer/exmisc.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/executer/exoparg1.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/executer/exoparg2.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/executer/exresnte.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/executer/exresolv.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/executer/exresop.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/executer/exstore.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/executer/exstoren.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/fan.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/hardware/hwsleep.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/namespace/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/namespace/nsdump.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/namespace/nseval.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/namespace/nsnames.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/namespace/nspredef.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/namespace/nssearch.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/namespace/nsxfeval.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/namespace/nsxfname.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/numa.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/osl.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/parser/psloop.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/parser/psparse.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/pci_link.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/pci_root.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/pci_slot.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/power.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/processor_core.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/processor_idle.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/processor_perflib.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/processor_throttling.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/reboot.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/resources/rscalc.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/resources/rscreate.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/sbs.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/sbshc.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/scan.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/sleep/main.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/system.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/tables/tbfadt.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/tables/tbinstal.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/thermal.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/toshiba_acpi.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/utilities/utalloc.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/utilities/utcopy.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/utilities/utdelete.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/utilities/utglobal.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/utilities/utmisc.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/utilities/utobject.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/utilities/utxface.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/utils.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/video.c

View file

This diff is incomplete. Download the complete patch.

drivers/acpi/wmi.c

View file

This diff is incomplete. Download the complete patch.

drivers/ata/libata-acpi.c

View file

This diff is incomplete. Download the complete patch.

drivers/cpuidle/cpuidle.c

View file

This diff is incomplete. Download the complete patch.

drivers/dma/ioat_dma.c

View file

This diff is incomplete. Download the complete patch.

drivers/idle/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/idle/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/idle/i7300_idle.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/misc/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/misc/acer-wmi.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/asus-laptop.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/eeepc-laptop.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/fujitsu-laptop.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/intel_menlow.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/panasonic-laptop.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/sony-laptop.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/thinkpad_acpi.c

View file

This diff is incomplete. Download the complete patch.

drivers/pci/hotplug/acpiphp_glue.c

View file

This diff is incomplete. Download the complete patch.

drivers/pci/hotplug/acpiphp_ibm.c

View file

This diff is incomplete. Download the complete patch.

drivers/pci/hotplug/sgi_hotplug.c

View file

This diff is incomplete. Download the complete patch.

drivers/pnp/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/pnp/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/pnp/base.h

View file

This diff is incomplete. Download the complete patch.

drivers/pnp/core.c

View file

This diff is incomplete. Download the complete patch.

drivers/pnp/driver.c

View file

This diff is incomplete. Download the complete patch.

drivers/pnp/isapnp/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/pnp/isapnp/core.c

View file

This diff is incomplete. Download the complete patch.

drivers/pnp/manager.c

View file

This diff is incomplete. Download the complete patch.

drivers/pnp/pnpacpi/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/pnp/pnpacpi/core.c

View file

This diff is incomplete. Download the complete patch.

drivers/pnp/pnpacpi/rsparser.c

View file

This diff is incomplete. Download the complete patch.

drivers/pnp/pnpbios/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/pnp/pnpbios/core.c

View file

This diff is incomplete. Download the complete patch.

drivers/pnp/pnpbios/rsparser.c

View file

This diff is incomplete. Download the complete patch.

drivers/pnp/quirks.c

View file

This diff is incomplete. Download the complete patch.

drivers/pnp/resource.c

View file

This diff is incomplete. Download the complete patch.

drivers/pnp/support.c

View file

This diff is incomplete. Download the complete patch.

include/acpi/acconfig.h

View file

This diff is incomplete. Download the complete patch.

include/acpi/acdebug.h

View file

This diff is incomplete. Download the complete patch.

include/acpi/acdisasm.h

View file

This diff is incomplete. Download the complete patch.

include/acpi/acdispat.h

View file

This diff is incomplete. Download the complete patch.

include/acpi/acexcep.h

View file

This diff is incomplete. Download the complete patch.

include/acpi/aclocal.h

View file

This diff is incomplete. Download the complete patch.

include/acpi/acmacros.h

View file

This diff is incomplete. Download the complete patch.

include/acpi/acnamesp.h

View file

This diff is incomplete. Download the complete patch.

include/acpi/acobject.h

View file

This diff is incomplete. Download the complete patch.

include/acpi/acoutput.h

View file

This diff is incomplete. Download the complete patch.

include/acpi/acpi_bus.h

View file

This diff is incomplete. Download the complete patch.

include/acpi/acpi_drivers.h

View file

This diff is incomplete. Download the complete patch.

include/acpi/acpiosxf.h

View file

This diff is incomplete. Download the complete patch.

include/acpi/acpredef.h

View file

This diff is incomplete. Download the complete patch.

include/acpi/actbl1.h

View file

This diff is incomplete. Download the complete patch.

include/acpi/actypes.h

View file

This diff is incomplete. Download the complete patch.

include/acpi/acutils.h

View file

This diff is incomplete. Download the complete patch.

include/acpi/platform/aclinux.h

View file

This diff is incomplete. Download the complete patch.

include/asm-x86/idle.h

View file

This diff is incomplete. Download the complete patch.

include/linux/acpi.h

View file

This diff is incomplete. Download the complete patch.

include/linux/kernel.h

View file

This diff is incomplete. Download the complete patch.

include/linux/pci_ids.h

View file

This diff is incomplete. Download the complete patch.

include/linux/pnp.h

View file

This diff is incomplete. Download the complete patch.