[GIT PATCH] ACPI patches for 2.6.25-rc0

From: Len Brown
Date: Thu Feb 07 2008 - 05:50:59 EST


Hi Linus,

please pull from:

git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git release

Hmmm, where to begin...
The standard platform specific driver updates, thinkpad, sony, asus
Thermal extensions to support Intel's new Menlo platform.
INITRAMFS DSDT override, a patch I resisted for years, but finally was convinced.
/sys/firmware/acpi/interrupts/ to see where your ACPI interrutps come from...
Initial WMI support -- Windows can run, but it can't hide...
video/brightness continues to mature...
cpuidle is now default enabled on ACPI configs
a bunch of bug fixes

This will update the files shown below.

thanks!

-Len

ps. individual patches are available on linux-acpi@xxxxxxxxxxxxxxx
and a consolidated plain patch is available here:
ftp://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/release/2.6.24/acpi-release-20070126-2.6.24.diff.gz

Documentation/00-INDEX | 3
Documentation/ABI/testing/sysfs-firmware-acpi | 99
Documentation/acpi/dsdt-override.txt | 15
Documentation/acpi/initramfs-add-dsdt.sh | 43
Documentation/acpi/method-tracing.txt | 26
Documentation/kernel-parameters.txt | 9
Documentation/power/swsusp.txt | 5
Documentation/thermal/sysfs-api.txt | 246 +
Documentation/thinkpad-acpi.txt | 116
MAINTAINERS | 19
arch/ia64/kernel/acpi-processor.c | 6
arch/ia64/kernel/acpi.c | 32
arch/x86/Kconfig | 3
arch/x86/kernel/acpi/boot.c | 47
arch/x86/kernel/acpi/processor.c | 6
arch/x86/kernel/cpu/cpufreq/speedstep-lib.c | 5
arch/x86/kernel/srat_32.c | 2
drivers/Kconfig | 2
drivers/Makefile | 1
drivers/acpi/Kconfig | 40
drivers/acpi/Makefile | 1
drivers/acpi/asus_acpi.c | 55
drivers/acpi/battery.c | 5
drivers/acpi/bay.c | 10
drivers/acpi/blacklist.c | 58
drivers/acpi/bus.c | 26
drivers/acpi/debug.c | 57
drivers/acpi/dispatcher/dsopcode.c | 4
drivers/acpi/dock.c | 14
drivers/acpi/ec.c | 19
drivers/acpi/event.c | 28
drivers/acpi/events/evevent.c | 2
drivers/acpi/events/evgpe.c | 27
drivers/acpi/fan.c | 92
drivers/acpi/glue.c | 4
drivers/acpi/hardware/hwsleep.c | 2
drivers/acpi/namespace/nsxfeval.c | 10
drivers/acpi/numa.c | 3
drivers/acpi/osl.c | 372 +
drivers/acpi/pci_bind.c | 4
drivers/acpi/pci_irq.c | 7
drivers/acpi/pci_link.c | 2
drivers/acpi/power.c | 6
drivers/acpi/processor_core.c | 42
drivers/acpi/processor_idle.c | 47
drivers/acpi/processor_perflib.c | 16
drivers/acpi/processor_thermal.c | 134
drivers/acpi/processor_throttling.c | 346 +
drivers/acpi/sbs.c | 2
drivers/acpi/sbshc.c | 4
drivers/acpi/scan.c | 110
drivers/acpi/sleep/main.c | 17
drivers/acpi/sleep/proc.c | 46
drivers/acpi/system.c | 208
drivers/acpi/tables/Makefile | 2
drivers/acpi/tables/tbxfroot.c | 4
drivers/acpi/thermal.c | 663 ++
drivers/acpi/utilities/utglobal.c | 2
drivers/acpi/video.c | 262 -
drivers/acpi/wmi.c | 710 +++
drivers/cpuidle/Kconfig | 4
drivers/cpuidle/cpuidle.c | 41
drivers/firmware/dmi_scan.c | 9
drivers/misc/Kconfig | 53
drivers/misc/Makefile | 3
drivers/misc/acer-wmi.c | 1109 ++++
drivers/misc/asus-laptop.c | 26
drivers/misc/intel_menlow.c | 526 ++
drivers/misc/sony-laptop.c | 445 +
drivers/misc/tc1100-wmi.c | 290 +
drivers/misc/thinkpad_acpi.c | 3256 +++++++++-----
drivers/misc/thinkpad_acpi.h | 606 --
drivers/pnp/pnpacpi/core.c | 2
drivers/power/power_supply_sysfs.c | 1
drivers/thermal/Kconfig | 15
drivers/thermal/Makefile | 5
drivers/thermal/thermal.c | 714 +++
include/acpi/acglobal.h | 4
include/acpi/acmacros.h | 6
include/acpi/acpi_bus.h | 5
include/acpi/acpi_drivers.h | 2
include/acpi/acpi_numa.h | 1
include/acpi/acpiosxf.h | 7
include/acpi/processor.h | 13
include/linux/acpi.h | 62
include/linux/cpuidle.h | 13
include/linux/dmi.h | 2
include/linux/kernel.h | 1
include/linux/power_supply.h | 1
include/linux/sonypi.h | 2
include/linux/thermal.h | 94
init/initramfs.c | 8
init/main.c | 7
kernel/panic.c | 5
kernel/power/Kconfig | 9
95 files changed, 9009 insertions(+), 2486 deletions(-)

through these commits:

Adrian Bunk (3):
ACPI: make acpi_dmi_dump() static
ACPI: make struct osi_linux static
ACPI: misc cleanups

Alan Cox (1):
ACPI: its a directory not a folder....

Alexey Starikovskiy (3):
ACPI: Defer enabling of level GPE until all pending notifies done
ACPI: EC: Do the byte access with a fast path
ACPI: EC: Some hardware requires burst mode to operate properly

Andrew Patterson (1):
ACPI: Check for any matching CID when walking namespace.

Carlos Corbacho (3):
ACPI: WMI: Add ACPI-WMI mapping driver
acer-wmi: Add driver for newer Acer laptops
tc1100-wmi: Add driver for HP Compaq TC1100 Tablets

Corentin CHARY (1):
asus-laptop new write_acpi_int

Dave Jones (1):
ACPI: remove P2B-S from blacklist.

Frank Seidel (2):
ACPI: Fix autloading of dock, video, bay and all linux specific HID drivers
ACPI: Add autoload info to dock driver

Henrique de Moraes Holschuh (20):
ACPI: thinkpad-acpi: document keymap gotcha's (v2)
ACPI: thinkpad-acpi: refactor hotkey_get and hotkey_set (v2)
ACPI: thinkpad-acpi: prepare for NVRAM polling support
ACPI: thinkpad-acpi: add CMOS NVRAM polling for hot keys (v9)
ACPI: thinkpad-acpi: bump up version to 0.18
ACPI: thinkpad-acpi: spring cleanup part 1
ACPI: thinkpad-acpi: spring cleanup part 2
ACPI: thinkpad-acpi: spring cleanup part 3
ACPI: thinkpad-acpi: spring cleanup part 4
ACPI: thinkpad-acpi: module glue cleanups
ACPI: thinkpad-acpi: rename IBM in defines
ACPI: thinkpad-acpi: some checkpatch.pl fluff
ACPI: thinkpad-acpi: add suspend handler
ACPI: thinkpad-acpi: cleanup hotkey_notify and HKEY log messages
ACPI: thinkpad-acpi: wakeup on hotunplug reporting
ACPI: thinkpad-acpi: add X61t HKEY events
ACPI: thinkpad-acpi: silence _sta warning
ACPI: thinkpad-acpi: add poll() support to some sysfs attributes
ACPI: thinkpad-acpi: update copyright dates to 2008
ACPI: thinkpad-acpi: bump up version to 0.19

Jan Beulich (1):
acpi: make __acpi_map_table() and __init function

Jean Delvare (1):
ACPI: cleanup acpi.h

Kevin Hilman (1):
cpuidle: build fix for non-x86

Len Brown (17):
ACPI: document method tracing hooks
cpuidle: create processor.latency_factor tunable
cpuidle: default processor.latency_factor=2
ACPI: tables: complete searching upon RSDP w/ bad checksum.
ACPI: throttling: fix build warning
ACPI: fan: build fix for CONFIG_ACPI_PROCFS=n
ACPI: remove redundant Acer blacklist entry
DMI: remove duplicate helper routine
ACPI: update blacklist comments
ACPI: blacklist update
ACPI: create /sys/firmware/acpi/interrupts
ACPICA: fix CONFIG_ACPI_DEBUG_FUNC_TRACE build
ACPI: add missing prink prefix strings
ACPI: update DSDT override documentation
ACPI: update intrd DSDT override console messages
Revert "cpuidle: build fix for non-x86"
ACPI: fix build warning

Luca Tettamanti (1):
asus_acpi: add support for F3Sa

Markus Gaugusch (1):
ACPI: basic initramfs DSDT override support

Matthew Garrett (4):
ACPI: video: Rationalise ACPI backlight implementation
ACPI: video: Ignore devices that aren't present in hardware
ACPI: video: reset brightness on resume
ACPI: video: Ignore ACPI video devices that aren't present in hardware

Matthias Kaehlcke (1):
ACPI: acpi_pci_irq_find_prt_entry(): use list_for_each_entry() instead of list_for_each()

Mattia Dongili (6):
sony-laptop: printk more info in sony_pic_call[123]
sony-laptop: Add Vaio N series to the special init sequence to enable Fn keys
sony-laptop: refactor model types
sony-laptop: bump version to 0.6
sony-laptop: add Type4 model
sony-laptop: fix scancode decode

Miguel BotÃn (1):
ACPI: remove duplicated warning message

Pavel Machek (1):
PM: documentation cleanups

Rafael J. Wysocki (1):
ACPI: Fix acpi_pm_device_sleep_state()

Roel Kluin (2):
asus-laptop: add parentheses
ACPI: thinkpad-acpi: second TP_EC_FAN_FULLSPEED should be TP_EC_FAN_AUTO

Shaohua Li (1):
pnp: Failed to activate device 00:0a - Samsung P35 XVM 1600 III

Signed-off by Yi Yang (1):
ACPI: detect invalid argument written to /proc/acpi/alarm

Thomas Renninger (4):
ACPI: Also autoload the bay driver, was forgotten...
ACPI: add "processor.ignore_ppc" hook to workaround BIOS _PPC weirdness
ACPI: track opregion names to avoid driver resource conflicts.
ACPI: Export acpi_check_resource_conflict

Thomas Sujith (1):
intel_menlo: introduce new platform specific driver

Yi Yang (1):
ACPI: /proc/acpi/alarm parsing: handle large numbers properly

Zhang Rui (17):
ACPI: add control method tracing support
ACPI: disable stray GPE, prevent ACPI interrupt storm
export thermal notification to userspace when nocrt is set
ACPI: ACPI Exception (): AE_NOT_FOUND, Processor Device is not present
the generic thermal sysfs driver
ACPI: register ACPI thermal zone as generic thermal zone devices
ACPI: ACPI thermal zone handle notification correctly
ACPI: register ACPI Fan as generic thermal cooling device
ACPI: register ACPI Processor as generic thermal cooling device
ACPI: register ACPI Video LCD as generic thermal cooling device
ACPI: attach thermal zone info
ACPI: CELSIUS_TO_KELVIN fixup
ACPI: thermal fixup
ACPI: video: create "brightness_switch_enabled" modparam
ACPI: video: delete unused display switch on hotkey event code
ACPI: create notifier chain to get hotkey events to graphics driver
ACPI: video: call ACPI notifier chain for ACPI video notifications

Zhao Yakui (6):
Revert "speedstep-lib.c: fix frequency multiplier for Pentium4 models 0&1"
ACPI: Set _PSD ACPI_PDC_SMP_T_SWCOORD
ACPI : Check parameter when calling acpi_processor_get/set_throttling
ACPI : Update T-state coordination after getting _TSD info
ACPI : Add T-state event notifier function
ACPI: Update the t-state for every affected cpu when t-state is changed

len.brown@xxxxxxxxx (1):
ACPI: CONFIG_CPU_IDLE=ACPI by default

maximilian attems (1):
ACPI: battery: add sysfs serial number

venkatesh.pallipadi@xxxxxxxxx (4):
ACPI: idle: Fix acpi_safe_halt usages and interrupt enabling/disabling
ACPI: enable MWAIT for C1 idle
ACPI: cpuidle: Support C1 idle time accounting
cpuidle: Add a poll_idle method

Ãric Piel (2):
ACPI: Taint kernel on ACPI table override (format corrected)
ACPI: Add "acpi_no_initrd_override" kernel parameter

with this log:

commit b7143156c9ceee1a072c57aac8729d2dec5b3bf1
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 04:24:01 2008 -0500

ACPI: fix build warning

drivers/acpi/system.c:360: warning: ignoring return value of âsysfs_create_groupâ, declared with attribute warn_unused_result

Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 9b7131542178f5f948e4bb6bea6e1c545e697b06
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 04:16:34 2008 -0500

Revert "cpuidle: build fix for non-x86"

This reverts commit f757397097d0713c949af76dccabb65a2785782e.
which ironically broke the ia64 build

commit 81e242d0efafb319938d511b115088a5c4523c91
Merge: a733a5d... 04d9488...
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 04:01:53 2008 -0500

Merge branches 'release' and 'dsdt-override' into release

commit 04d94886b47b5133915021dcfb1108a8576f6ea7
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Wed Feb 6 19:49:54 2008 -0500

ACPI: update intrd DSDT override console messages

also, address some checkpatch.pl violations

Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit d89e9d6b4930c6505ac3ed35f57ab7f4311d6cf6
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Wed Feb 6 19:28:02 2008 -0500

ACPI: update DSDT override documentation

Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 9cbc7960288d28aec95257af59854e1d14ba23b8
Author: Ãric Piel <Eric.Piel@xxxxxxxxxxxxxxxx>
Date: Tue Feb 5 00:04:58 2008 +0100

ACPI: Add "acpi_no_initrd_override" kernel parameter

The acpi_no_initrd_override parameter permits to disable the load of an ACPI
table from the initramfs.

Signed-off-by: Eric Piel <eric.piel@xxxxxxxxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit a733a5da97b238e3e3167d3d0aee8fe1e8d04e97
Merge: 299cfe3... 299cfe3... 9e52797...
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 03:38:22 2008 -0500

Merge branches 'release' and 'fluff' into release

Conflicts:

drivers/acpi/scan.c
include/linux/acpi.h

Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 9e52797131e83688f66fbca6d4cd25b83f33c48f
Author: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx>
Date: Thu Jan 3 16:31:42 2008 +0000

ACPI: its a directory not a folder....

The kernel help consistently uses 'directory'

Signed-off-by: Alan Cox <alan@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit e5685b9d35c2cc0a98425b05df30cb837dd1e632
Author: Adrian Bunk <bunk@xxxxxxxxxx>
Date: Wed Oct 24 18:24:42 2007 +0200

ACPI: misc cleanups

This patch contains the following possible cleanups:
- make the following needlessly global code static:
- drivers/acpi/bay.c:dev_attr_eject
- drivers/acpi/bay.c:dev_attr_present
- drivers/acpi/dock.c:dev_attr_docked
- drivers/acpi/dock.c:dev_attr_flags
- drivers/acpi/dock.c:dev_attr_uid
- drivers/acpi/dock.c:dev_attr_undock
- drivers/acpi/pci_bind.c:acpi_pci_unbind()
- drivers/acpi/pci_link.c:acpi_link_lock
- drivers/acpi/sbs.c:acpi_sbs_callback()
- drivers/acpi/sbshc.c:acpi_smbus_transaction()
- drivers/acpi/sleep/main.c:acpi_sleep_prepare()
- #if 0 the following unused global functions:
- drivers/acpi/numa.c:acpi_unmap_pxm_to_node()
- remove the following unused EXPORT_SYMBOL's:
- acpi_register_gsi
- acpi_unregister_gsi
- acpi_strict
- acpi_bus_receive_event
- register_acpi_bus_type
- unregister_acpi_bus_type
- acpi_os_printf
- acpi_os_sleep
- acpi_os_stall
- acpi_os_read_pci_configuration
- acpi_os_create_semaphore
- acpi_os_delete_semaphore
- acpi_os_wait_semaphore
- acpi_os_signal_semaphore
- acpi_os_signal
- acpi_pci_irq_enable
- acpi_get_pxm

Signed-off-by: Adrian Bunk <bunk@xxxxxxxxxx>
Acked-by: Alexey Starikovskiy <astarikovskiy@xxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 87ecd5cddaa37f057d8d8c2813e1b748b1804423
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Tue Jan 1 14:00:00 2008 -0500

ACPI: add missing prink prefix strings

Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit ee1ce6fcb383ba1da9d16e1ba902f592211aa508
Author: Jean Delvare <jdelvare@xxxxxxx>
Date: Thu Dec 6 22:00:36 2007 -0500

ACPI: cleanup acpi.h

Two cleanups to <linux/acpi.h>:
* Stop defining acpi_mp_config, it isn't used anywhere.
* Discard nested "#ifdef CONFIG_ACPI", they are useless and
error-prone.

Signed-off-by: Jean Delvare <jdelvare@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 4e83dd95b343a4ecfdb236aa046a5366a29e6f1e
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Fri Nov 23 18:33:11 2007 -0500

ACPICA: fix CONFIG_ACPI_DEBUG_FUNC_TRACE build

798d91039849486c7a4f1a458a5680cb55a65408
(ACPI: create CONFIG_ACPI_DEBUG_FUNC_TRACE)

failed to associate the new tracing config option with the tracing code.

Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 299cfe38081bea6dcd8b882375f6f65a980bccf9
Merge: 8976b6f... 443dea7...
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 03:31:17 2008 -0500

Merge branches 'release' and 'hwmon-conflicts' into release

commit 8976b6fd7a0060f72e20d5cec833c03d50874cd1
Merge: 52b097f... 3391a76...
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 03:30:48 2008 -0500

Merge branches 'release' and 'throttling-domains' into release

commit 52b097fff89b14c0b8b7a7deef1d274889b1886d
Merge: 0601955... 0601955... 3fa2cdc...
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 03:25:48 2008 -0500

Merge branches 'release' and 'video' into release

Conflicts:

include/acpi/acpi_bus.h

Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 3fa2cdcc45a0176de15cac9dbf4ed2834ebf8932
Author: Matthew Garrett <mjg59@xxxxxxxxxxxxx>
Date: Thu Feb 7 01:44:06 2008 +0000

ACPI: video: Ignore ACPI video devices that aren't present in hardware

Vendors often ship machines with a choice of integrated or discrete
graphics, and use the same DSDT for both. As a result, the ACPI video
module will locate devices that may not exist on this specific platform.

Attempt to determine whether the device exists or not, and abort the
device creation if it do not exist.

Signed-off-by: Matthew Garrett <mjg59@xxxxxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 863c1490e512db40dab61e44b694a493a9e68b3f
Author: Matthew Garrett <mjg59@xxxxxxxxxxxxx>
Date: Mon Feb 4 23:31:24 2008 -0800

ACPI: video: reset brightness on resume

Some machines seem to need the backlight brightness to be reset on resume.
Add support for doing so to the video module.

[akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
Signed-off-by: Matthew Garrett <mjg59@xxxxxxxxxxxxx>
Cc: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 7761f638f6e0f276fe8612ba306d09c40d1b553c
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date: Fri Jan 25 14:48:12 2008 +0800

ACPI: video: call ACPI notifier chain for ACPI video notifications

Call notifier chain for display/brightness switch events.
The kernel mode graphics driver is interested in this.

Sign-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 9ee85241fdaab358dff1d8647f20a478cfa512a1
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date: Fri Jan 25 14:48:06 2008 +0800

ACPI: create notifier chain to get hotkey events to graphics driver

Kernel mode graphics drivers need this ACPI notifier chaine
so that they can get notified upon hotkey events.

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit ba5e1223422368fd2f4dbb0745f5fbb5fe9a65f1
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date: Fri Jan 25 14:47:57 2008 +0800

ACPI: video: delete unused display switch on hotkey event code

Display switching via ACPI control methods are
not known to work on any platforms.

Further, the X community wants to control the display
switching all by themselves without BIOS/AML involvement.

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 8a681a4dee07ea09aedaadc6a2da28d2131dc414
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date: Fri Jan 25 14:47:49 2008 +0800

ACPI: video: create "brightness_switch_enabled" modparam

Introduce new module parameter for brightness control.
"brightness_switch_enabled" is set by default which means
nothing changes upon brightness switch events.

When "brightness_switch_enabled" is cleared via
"echo 0 > /sys/module/video/parameters/brightness_switch_enabled",
ACPI will not try to change the brightness level any more.

Either X will take charge of this or users can change the brightness level
by poking /sys/class/backlight/acpi_videoX/...

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 060195500e0347a6ba8ea89739a9898961eb6f2b
Merge: 26b6f22... dd8cd77...
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 03:19:43 2008 -0500

Merge branches 'release' and 'wmi-2.6.25' into release

commit 26b6f2236615649a0ae6a0de2e9e71a2f9ffeba7
Merge: e5e54bc... e5e54bc... 3c60284...
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 03:18:04 2008 -0500

Merge branches 'release' and 'menlo' into release

Conflicts:

drivers/acpi/video.c

Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit e5e54bc86a1fed9849b22fd736c30b23c4719046
Merge: 70ec75c... 5229e87...
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 03:13:36 2008 -0500

Merge branches 'release' and 'stats' into release

commit 70ec75c5b8e0bda7a16fb387f91e08545f379a0e
Merge: 4f4ae0d... 2fdf074... 23b168d...
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 03:13:13 2008 -0500

Merge branches 'release', 'misc' and 'misc-2.6.25' into release

commit 4f4ae0d42680889c62db4e1f3e6b4aa7787a7257
Merge: d870ec7... 623b78c...
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 03:12:17 2008 -0500

Merge branches 'release' and 'ppc-workaround' into release

commit d870ec7281d8429ab17d2e0324f4d8ca3f3de62d
Merge: 7924e4f... 02f8a85...
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 03:11:56 2008 -0500

Merge branches 'release' and 'hp-cid' into release

commit 7924e4f6519dd5b349ed146fe9fe35206730be67
Merge: 5531d28... 17bc54e...
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 03:11:47 2008 -0500

Merge branches 'release' and 'gpe-ack' into release

commit 5531d28504461c4e96c6fbd80655a2bfd6481583
Merge: acf6386... a64217b...
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 03:11:31 2008 -0500

Merge branches 'release' and 'dmi' into release

commit acf63867ae06ef95eea7bf445ded2f05528a81b1
Merge: c64768a... f757397... 9a0b841...
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 03:11:05 2008 -0500

Merge branches 'release', 'cpuidle-2.6.25' and 'idle' into release

commit c64768a7d671bcde80bca2aed93f9e07edc069c3
Merge: 8f85901... a7f9b1f... b4d2730... 37748eb... ed9cbcd... 856608e... cfaf374... 223630f... 38531e6... b3b233c... 239665a... 0119509... 975c302... 0879802...
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 03:09:43 2008 -0500

Merge branches 'release', 'bugzilla-6217', 'bugzilla-6629', 'bugzilla-6933', 'bugzilla-7186', 'bugzilla-8269', 'bugzilla-8570', 'bugzilla-9139', 'bugzilla-9277', 'bugzilla-9341', 'bugzilla-9444', 'bugzilla-9614', 'bugzilla-9643' and 'bugzilla-9644' into release

commit 8f859016ea49cd8d7c743533bd1ab3db9a813ffa
Merge: dd07a8d... 17196d6...
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 03:07:55 2008 -0500

Merge branches 'release' and 'autoload' into release

commit dd07a8db7283f52f347aee468007556944b5b393
Merge: 877c357... 31e0729... fccd5d0... 547266e...
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 03:07:35 2008 -0500

Merge branches 'release', 'asus', 'sony-laptop' and 'thinkpad' into release

commit 877c357e7511395bc923ec9efc2e8b021a17ed79
Merge: 488b5ec... ad3399c... 7c2670b...
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Feb 7 03:07:03 2008 -0500

Merge branches 'release', 'acpi_pm_device_sleep_state' and 'battery' into release

commit 9a0b841586c3c6c846effdbe75885c2ebc0031b0
Author: venkatesh.pallipadi@xxxxxxxxx <venkatesh.pallipadi@xxxxxxxxx>
Date: Thu Jan 31 17:35:06 2008 -0800

cpuidle: Add a poll_idle method

Add a default poll idle state with 0 latency. Provides an option to users
to use poll_idle by using 0 as the latency requirement.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 9b12e18cdc1553de62d931e73443c806347cd974
Author: venkatesh.pallipadi@xxxxxxxxx <venkatesh.pallipadi@xxxxxxxxx>
Date: Thu Jan 31 17:35:05 2008 -0800

ACPI: cpuidle: Support C1 idle time accounting

Show C1 idle time in /sysfs cpuidle interface. C1 idle time may not
be entirely accurate in all cases. It includes the time spent
in the interrupt handler after wakeup with "hlt" based C1. But, it will
be accurate with "mwait" based C1.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit bc71bec91f9875ef825d12104acf3bf4ca215fa4
Author: venkatesh.pallipadi@xxxxxxxxx <venkatesh.pallipadi@xxxxxxxxx>
Date: Thu Jan 31 17:35:04 2008 -0800

ACPI: enable MWAIT for C1 idle

Add MWAIT idle for C1 state instead of halt, on platforms that support
C1 state with MWAIT.

Renames cx->space_id to something more appropriate.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 2e906655baf1c6f6fccd212fc9e6499dc6928b80
Author: venkatesh.pallipadi@xxxxxxxxx <venkatesh.pallipadi@xxxxxxxxx>
Date: Thu Jan 31 17:35:03 2008 -0800

ACPI: idle: Fix acpi_safe_halt usages and interrupt enabling/disabling

acpi_safe_halt() needs interrupts to be disabled for atomic
need_resched check and safe halt. Otherwise we may miss an
interrupt and go into halt.

acpi_safe_halt() also does not enable interrupts on all return paths.

So the callers should handle enable and disable interrupts around it.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 23b168d425ca0ca25257ff8205a39f1c2d1b0f27
Author: Pavel Machek <pavel@xxxxxx>
Date: Tue Feb 5 19:27:12 2008 +0100

PM: documentation cleanups

Signed-off-by: Pavel Machek <pavel@xxxxxxx>
Acked-by: Rafael J. Wysocki <rjw@xxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 547266e46cc0b35ce51bd1f37f261d831927431f
Author: Roel Kluin <12o3l@xxxxxxxxxx>
Date: Tue Feb 5 00:24:56 2008 +0100

ACPI: thinkpad-acpi: second TP_EC_FAN_FULLSPEED should be TP_EC_FAN_AUTO

fix bug in safety net for TPEC fan control mode
eaa7571b2d1a08873e4bdd8e6db3431df61cd9ad

Signed-off-by: Roel Kluin <12o3l@xxxxxxxxxx>
Acked-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 443dea72d5f428170de6d6e3c4c1a1e2b7632b65
Author: Thomas Renninger <trenn@xxxxxxx>
Date: Mon Feb 4 23:31:23 2008 -0800

ACPI: Export acpi_check_resource_conflict

Export acpi_check_resource_conflict(), sometimes drivers already have
a struct resource at hand so no need to use the wrappers to build a new
one.

Signed-off-by: Jean Delvare <jdelvare@xxxxxxx>
Cc: "Mark M. Hoffman" <mhoffman@xxxxxxxxxxxxx>
Cc: Bjorn Helgaas <bjorn.helgaas@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit df92e695998e1bc6e426a840eb86d6d1ee87e2a5
Author: Thomas Renninger <trenn@xxxxxxx>
Date: Mon Feb 4 23:31:22 2008 -0800

ACPI: track opregion names to avoid driver resource conflicts.

Small ACPICA extension to be able to store the name of operation regions in osl.c later

In ACPI, AML can define accesses to IO ports and System Memory by Operation
Regions. Those are not registered as done by PNPACPI using resource templates
(and _CRS/_SRS methods).

The IO ports and System Memory regions may get accessed by arbitrary AML code.
When native drivers are accessing the same resources bad things can happen
(e.g. a critical shutdown temperature of 3000 C every 2 months or so).

It is not really possible to register the operation regions via
request_resource, as they often overlap with pnp or other resources (e.g.
statically setup IO resources below 0x100).

This approach stores all Operation Region declarations (IO and System Memory
only) at ACPI table parse time. It offers a similar functionality like
request_region and let drivers which are known to possibly use the same IO
ports and Memory which are also often used by ACPI (hwmon and i2c) check for
ACPI interference.

A boot parameter acpi_enforce_resources=strict/lax/no is provided, which
is default set to lax:
- strict: let conflicting drivers fail to load with an error message
- lax: let conflicting driver work normal with a warning message
- no: no functional change at all
Depending on the feedback and the kind of interferences we see, this
should be set to strict at later time.

Goal of this patch set is:
- Identify ACPI interferences in bug reports (very hard to reproduce
and to identify)
- Find BIOSes for that an ACPI driver should exist for specific HW
instead of a native one.
- stability in general

Provide acpi_check_{mem_}region.

Drivers can additionally check against possible ACPI interference by also
invoking this shortly before they call request_region.
If -EBUSY is returned, the driver must not load.
Use acpi_enforce_resources=strict/lax/no options to:
- strict: let conflicting drivers fail to load with an error message
- lax: let conflicting driver work normal with a warning message
- no: no functional change at all

Cc: "Mark M. Hoffman" <mhoffman@xxxxxxxxxxxxx>
Cc: Jean Delvare <khali@xxxxxxxxxxxx>
Cc: Len Brown <lenb@xxxxxxxxxx>
Cc: Bjorn Helgaas <bjorn.helgaas@xxxxxx>
Signed-off-by: Thomas Renninger <trenn@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 1a3b77ae60f19fa85f4cdc34b6c09efb1a18372c
Author: Matthias Kaehlcke <matthias.kaehlcke@xxxxxxxxx>
Date: Mon Feb 4 23:31:20 2008 -0800

ACPI: acpi_pci_irq_find_prt_entry(): use list_for_each_entry() instead of list_for_each()

Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit e76d5f7e831a3f33dd6fa8eb94533b0b4cb22b6f
Author: Miguel BotÃn <mboton@xxxxxxxxx>
Date: Mon Feb 4 23:31:19 2008 -0800

ACPI: remove duplicated warning message

Remove duplicated warning message in acpi_power_transition()

ACPI: Transitioning device [%s] to D%d\n

This warning message is printed by acpi_bus_set_power() so we don't
need to print it again.

Signed-off-by: Miguel BotÃn <mboton@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 31e0729a85c1e8ffaf4d14b4c201c28b5d1c9585
Author: Luca Tettamanti <kronos.it@xxxxxxxxx>
Date: Mon Feb 4 23:31:18 2008 -0800

asus_acpi: add support for F3Sa

Add support for ASUS F3Sa notebook. Features:
- LCD on/off
- Brightness
- Wifi kill
- Bluetooth kill

Signed-off-by: Luca Tettamanti <kronos.it@xxxxxxxxx>
Cc: Corentin Chary <corentincj@xxxxxxxxxx>
Cc: Karol Kozimor <sziwan@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit e1af14e4b3d5f2a348987e3069ec835b782782b0
Author: Roel Kluin <12o3l@xxxxxxxxxx>
Date: Sat Feb 2 21:07:38 2008 +0100

asus-laptop: add parentheses

'!' has a higher priority than '&': bitanding has no effect.

Signed-off-by: Roel Kluin <12o3l@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit f8d1c94b346b62747322728e00e11f552cd90902
Author: Corentin CHARY <corentincj@xxxxxxxxxx>
Date: Wed Jan 16 16:56:42 2008 +0100

asus-laptop new write_acpi_int

Just a little modification of write_acpi_int

Signed-off-by: Corentin Chary <corentincj@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 5229e87d59cef33539322948bd8e3b5a537f7c97
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Wed Feb 6 01:26:55 2008 -0500

ACPI: create /sys/firmware/acpi/interrupts

See Documentation/ABI/testing/sysfs-firmware-acpi

Based-on-original-patch-by: Luming Yu <luming.yu@xxxxxxxxx>
Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 6ed31e92e94830c138fbd470486383380710069a
Author: Ãric Piel <Eric.Piel@xxxxxxxxxxxxxxxx>
Date: Tue Feb 5 00:04:50 2008 +0100

ACPI: Taint kernel on ACPI table override (format corrected)

When an ACPI table is overridden (for now this can happen only for DSDT)
display a big warning and taint the kernel with flag A.

Signed-off-by: Eric Piel <eric.piel@xxxxxxxxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 71fc47a9adf8ee89e5c96a47222915c5485ac437
Author: Markus Gaugusch <dsdt@xxxxxxxxxxx>
Date: Tue Feb 5 00:04:06 2008 +0100

ACPI: basic initramfs DSDT override support

The basics of DSDT from initramfs. In case this option is selected,
populate_rootfs() is called a bit earlier to have the initramfs content
available during ACPI initialization.

This is a very similar path to the one available at
http://gaugusch.at/kernel.shtml but with some update in the
documentation, default set to No and the change of populate_rootfs() the
"Jeff Mahony way" (which avoids reading the initramfs twice).

Signed-off-by: Thomas Renninger <trenn@xxxxxxx>
Signed-off-by: Eric Piel <eric.piel@xxxxxxxxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 7c2670bbb53820d0a4fab8d74593eeccd1eef225
Author: maximilian attems <max@xxxxxxx>
Date: Tue Jan 22 18:46:50 2008 +0100

ACPI: battery: add sysfs serial number

egrep serial /proc/acpi/battery/BAT0/info
serial number: 32090

serial number can tell you from the imminent danger
of beeing set on fire.

Signed-off-by: maximilian attems <max@xxxxxxx>
Acked-by: Alexey Starikovskiy <astarikovskiy@xxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit dd8cd7793781c87be47bbfee65efa3fb5110f898
Author: Carlos Corbacho <carlos@xxxxxxxxxxxxxxxxxxx>
Date: Tue Feb 5 02:17:15 2008 +0000

tc1100-wmi: Add driver for HP Compaq TC1100 Tablets

This is based on the 2004 out-of-tree work of Jamey Hicks, to add
support via WMI for controlling the jog dial and wireless on these
tablets.

v1:

Original release

v2:

As per Joshua Wise's comments, change bluetooth to jogdial (an error from
the original driver).

Signed-off-by: Carlos Corbacho <carlos@xxxxxxxxxxxxxxxxxxx>
CC: Matthew Garrett <mjg59@xxxxxxxxxxxxx>
CC: Jamey Hicks <jamey.hicks@xxxxxxxxx>
CC: Joshua Wise <joshua@xxxxxxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 745a5d2126926808295742932d0e36d485efa485
Author: Carlos Corbacho <carlos@xxxxxxxxxxxxxxxxxxx>
Date: Tue Feb 5 02:17:10 2008 +0000

acer-wmi: Add driver for newer Acer laptops

This is a driver for newer Acer (and Wistron) laptops. It adds wireless
radio and bluetooth control, and on some laptops, exposes the mail LED and
LCD backlight.

v1:

* Initial release

v2:

* Replace left over ACPI references with WMI
* Add GUID based autoloading (depends on future work to WMI)
* Add DMI based autoloading (backup solution until WMI sysfs/ class
work is available)
* Checkpatch fixes

v3:

* Add new EC quirks for Aspire 3100 & 5100, and Extensa 5220

v4:

* Simplified internal handling of WMID and AMW0 devices
* Add autodetection for bluetooth and maximum brightness on AMW0 V2 and
WMID laptops.

v5:

* Add EC quirk for Medion MD 98000
* Add autodetection for AMW0, and mail LED on AMW0 and AMW0 V2.
* Improve error handling
* Fix AMW0 V2 bluetooth and wireless, by using both WMID and AMW0 methods
to ensure that the correct value is always set.

v6:

* Fix 'use before initialisation' bug with quirks.

v7

* Fix bug on AMW0 where acer-wmi would exit if a mail LED was not
detected.
* Add Acer Aspire 9110 mail LED support
* Fix section mismatch warnings

Signed-off-by: Carlos Corbacho <carlos@xxxxxxxxxxxxxxxxxxx>
CC: Matthew Garrett <mjg59@xxxxxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit bff431e49ff531a343fbb2b4426e313000844f32
Author: Carlos Corbacho <carlos@xxxxxxxxxxxxxxxxxxx>
Date: Tue Feb 5 02:17:04 2008 +0000

ACPI: WMI: Add ACPI-WMI mapping driver

The following is an implementation of the Windows Management
Instrumentation (WMI) ACPI interface mapper (PNP0C14).

What it does:

Parses the _WDG method and exports functions to process WMI method calls,
data block query/ set commands (both based on GUID) and does basic event
handling.

How: WMI presents an in kernel interface here (essentially, a minimal
wrapper around ACPI)

(const char *guid assume the 36 character ASCII representation of
a GUID - e.g. 67C3371D-95A3-4C37-BB61-DD47B491DAAB)

wmi_evaluate_method(const char *guid, u8 instance, u32 method_id,
const struct acpi_buffer *in, struct acpi_buffer *out)

wmi_query_block(const char *guid, u8 instance,
struct acpi_buffer *out)

wmi_set_block(const char *guid, u38 instance,
const struct acpi_buffer *in)

wmi_install_notify_handler(acpi_notify_handler handler);

wmi_remove_notify_handler(void);

wmi_get_event_data(u32 event, struct acpi_buffer *out)

wmi_has_guid(const char guid*)

wmi_has_guid() is a helper function to find if a GUID exists or not on the
system (a quick and easy way for WMI dependant drivers to see if the
the method/ block they want exists, since GUIDs are supposed to be unique).

Event handling - allow a WMI based driver to register a notifier handler
for each GUID with WMI. When a notification is sent to a GUID in WMI, the
handler registered with WMI is then called (it is left to the caller to
ask for the WMI event data associated with the GUID, if needed).

What it won't do:

Unicode - The MS article[1] calls for converting between ASCII and Unicode (or
vice versa) if a GUID is marked as "string". This is left up to the calling
driver.

Handle a MOF[1] - the WMI mapper just exports methods, data and events to
userspace. MOF handling is down to userspace.

Userspace interface - this will be added later.

[1] http://www.microsoft.com/whdc/system/pnppwr/wmi/wmi-acpi.mspx

===
ChangeLog
==

v1 (2007-10-02):

* Initial release

v2 (2007-10-05):

* Cleaned up code - split up super "wmi_evaluate_block" -> each external
symbol now handles its own ACPI calls, rather than handing off to
a "super" method (and in turn, is a lot simpler to read)
* Added a find_guid() symbol - return true if a given GUID exists on
the system
* wmi_* functions now return type acpi_status (since they are just
fancy wrappers around acpi_evaluate_object())
* Removed extra debug code

v3 (2007-10-27)

* More code clean up - now passes checkpatch.pl
* Change data block calls - ref MS spec, method ID is not required for
them, so drop it from the function parameters.
* Const'ify guid in the function call parameters.
* Fix _WDG buffer handling - copy the data to our own private structure.
* Change WMI from tristate to bool - otherwise the external functions are
not exported in linux/acpi.h if you try to build WMI as a module.
* Fix more flag comparisons.
* Add a maintainers entry - since I wrote this, I should take the blame
for it.

v4 (2007-10-30)

* Add missing brace from after fixing checkpatch errors.
* Rewrote event handling - allow external drivers to register with WMI to
handle WMI events
* Clean up flags and sanitise flag handling

v5 (2007-11-03)

* Add sysfs interface for userspace. Export events over netlink again.
* Remove module left overs, fully convert to built-in driver.
* Tweak in-kernel API to use u8 for instance, since this is what the GUID
blocks use (so instance cannot be greater than u8).
* Export wmi_get_event_data() for in kernel WMI drivers.

v6 (2007-11-07)

* Split out userspace into a different patch

v7 (2007-11-20)

* Fix driver to handle multiple PNP0C14 devices - store all GUIDs using
the kernel's built in list functions, and just keep adding to the list
every time we handle a PNP0C14 devices - GUIDs will always be unique,
and WMI callers do not know or care about different devices.
* Change WMI event handler registration to use its' own event handling
struct; we should not pass an acpi_handle down to any WMI based drivers
- they should be able to function with only the calls provided in WMI.
* Update my e-mail address

v8 (2007-11-28)

* Convert back to a module.
* Update Kconfig to default to building as a module.
* Remove an erroneous printk.
* Simply comments for string flag (since we now leave the handling to the
caller).

v9 (2007-12-07)

* Add back missing MODULE_DEVICE_TABLE for autoloading
* Checkpatch fixes

v10 (2007-12-12)

* Workaround broken GUIDs declared expensive without a WCxx method.
* Minor cleanups

v11 (2007-12-17)

* More fixing for broken GUIDs declared expensive without a WCxx method.
* Add basic EmbeddedControl region handling.

v12 (2007-12-18)

* Changed EC region handling code, as per Alexey's comments.

v13 (2007-12-27)

* Changed event handling so that we can have one event handler registered
per GUID, as per Matthew Garrett's suggestion.

v14 (2008-01-12)

* Remove ACPI debug statements

v15 (2008-02-01)

* Replace two remaining 'x == NULL' type tests with '!x'

v16 (2008-02-05)

* Change MAINTAINERS entry, as I am not, and never have been, paid to work
on WMI
* Remove 'default' line from Kconfig

Signed-off-by: Carlos Corbacho <carlos@xxxxxxxxxxxxxxxxxxx>
CC: Matthew Garrett <mjg59@xxxxxxxxxxxxx>
CC: Alexey Starikovskiy <aystarik@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit a64217b922e5a06f328e3962ff903ce829aff3d6
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Mon Feb 4 00:57:33 2008 -0500

ACPI: blacklist update

move some OSI(Linux) to "disable" from "unknown"
to reduce dmesg lines that we don't really need.

update Acer 5315 comment
update Dell entries, add R200 entry
update Apple entries

Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 1d15d84e8b443971cafd885d18f091814ba32cb7
Author: Adrian Bunk <bunk@xxxxxxxxxx>
Date: Tue Jan 29 00:10:15 2008 +0200

ACPI: make struct osi_linux static

Signed-off-by: Adrian Bunk <bunk@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 12d3931c1007a7ad47364a4884e5a6c6e25aa5e1
Author: Adrian Bunk <bunk@xxxxxxxxxx>
Date: Tue Jan 29 00:10:12 2008 +0200

ACPI: make acpi_dmi_dump() static

Signed-off-by: Adrian Bunk <bunk@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit d0280a02f7412f3fdd45fbd2f51f59d7d8a03fe8
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Sun Feb 3 17:32:31 2008 -0500

ACPI: update blacklist comments

...based on additional feedback -- no code change.

Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit e6298c6d60838495978cdbe5555dc290785bb961
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Fri Jan 25 15:40:02 2008 -0500

DMI: remove duplicate helper routine

Use existing dmi_get_system_info(),
Delete duplicate dmi_get_slot()

Spotted-by: Wim Van Sebroeck <wim@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 8964ebb8c35533f4084cc667079a0ce620356104
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Fri Jan 25 15:39:50 2008 -0500

ACPI: remove redundant Acer blacklist entry

dmi_check_system() does sub-string matching using strstr(),
rather than exact string compares with !strcmp().

So delete the longer of the Acer blacklist entries, as its
function is just a redundant console message.

Spotted-by: Carlos Corbacho <carlos@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 3c602840528cf1aa835e6e32d76a0a45936b8e4c
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Sat Feb 2 04:05:54 2008 -0500

ACPI: fan: build fix for CONFIG_ACPI_PROCFS=n

drivers/acpi/fan.c:340: error: âacpi_fan_dirâ undeclared (first use in this function)

Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 3391a76f2bbb74e42b9ba44c05a7366ffd388753
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Sat Feb 2 03:56:18 2008 -0500

ACPI: throttling: fix build warning

Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 33a2a529f7a2fb481812b99737176628fda457b0
Author: Zhao Yakui <yakui.zhao@xxxxxxxxx>
Date: Mon Jan 28 13:55:56 2008 +0800

ACPI: Update the t-state for every affected cpu when t-state is changed

According to ACPI spec, the _TSD object provides T-state control cross
logical processor dependency information to OSPM. So the t-state
coordination should be considered when T-state for one cpu is changed.

According to ACPI spec, three types of coordination are defined.
SW_ALL, SW_ANY and HW_ALL.

SW_ALL: it means that OSPM needs to initiate T-state transition on
all processors in the domain. It is necessary to call throttling set function
for all affected cpus.

SW_ANY: it means that OSPM may initiate T-state transition on any processor in
the domain.

HW_ALL: Spec only says that hardware will perform the coordination and doesn't
recommend how OSPM coordinate T-state among the affected cpus. So it is treated
as the type of SW_ALL. It means that OSPM needs to initiate t-state transition
on all the processors in the domain.

Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit e4aa5cb2138e7423a6edef6a76a3837b94c2f107
Author: Zhao Yakui <yakui.zhao@xxxxxxxxx>
Date: Mon Jan 28 13:54:46 2008 +0800

ACPI : Add T-state event notifier function

The t-state coordination should be considered when T-state for one cpu
is changed.It means that OSPM should select one proper target T-state for
the all affected cpus before updating T-state.

So the function of acpi_processor_throttling_notifier is added.
Before updating T-state it can be called for all the affected cpus to get
the proper target T-state, which can meet the requirement of thermal, user and
_TPC. After updating T-state, it can be called to update T-state flag.

Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 1180509f6b3ec3ac2505375a78ccd72d270f2169
Author: Zhao Yakui <yakui.zhao@xxxxxxxxx>
Date: Mon Jan 28 13:53:42 2008 +0800

ACPI : Update T-state coordination after getting _TSD info

Accordint to ACPI spec, the _TSD object provides T-state control cross
logical processor dependency information to OSPM.
After the _TSD data for all cpus are obtained, OSPM will set up
the T-state coordination between CPUs.

Of course if the _TSD doesn't exist or _TSD data is incorrect , it is
assumed that there is no T-state coordination and T-state is changed
independently.

Now there is no proper solution to update T-state coordination after
one cpu is hotplugged. So this patch won't support hotplugged cpu very well.

Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 87654273ef63213f90c4243913987436495824f0
Author: Zhao Yakui <yakui.zhao@xxxxxxxxx>
Date: Mon Jan 28 13:53:30 2008 +0800

ACPI : Check parameter when calling acpi_processor_get/set_throttling

It is necessary to check the parameter when calling the function of
acpi_processor_get/set_throttling function so as to avoid the NULL
pointer reference in pr or throttling.

http://bugzilla.kernel.org/show_bug.cgi?id=9747

Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 3abbd337c60591305cbfeb984ff2922c175be37f
Author: Zhao Yakui <yakui.zhao@xxxxxxxxx>
Date: Mon Jan 28 13:53:21 2008 +0800

ACPI: Set _PSD ACPI_PDC_SMP_T_SWCOORD

The ACPI_PDC_SMP_T_SWCOORD bit is set by and OS that is capable of
native ACPI throttling software coordination for mutli-processors
using the _TSD information.

Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 0119509c4fbc9adcef1472817fda295334612976
Author: Matthew Garrett <mjg59@xxxxxxxxxxxxx>
Date: Thu Jan 17 03:39:36 2008 +0000

ACPI: video: Ignore devices that aren't present in hardware

Vendors often ship machines with a choice of integrated or discrete
graphics, and use the same DSDT for both. As a result, the ACPI video
module will locate devices that may not exist on this specific platform.
Attempt to determine whether the device exists or not, and abort the
device creation if it doesn't.

http://bugzilla.kernel.org/show_bug.cgi?id=9614

Signed-off-by: Matthew Garrett <mjg59@xxxxxxxxxxxxx>
Acked-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 653a00c9662304ef72a3eb4e681c91720960e0b4
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date: Thu Jan 17 15:51:18 2008 +0800

ACPI: thermal fixup

The alias name may be used in _PSL, _ALx and _TZD,
so we bind the cooling device only if the acpi_device node matches.

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Thomas Sujith <sujith.thomas@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit cc0573b3250214034062ddf8c64359596d8af521
Author: Thomas Sujith <sujith.thomas@xxxxxxxxx>
Date: Fri Jan 25 11:45:44 2008 +0800

intel_menlo: introduce new platform specific driver

Intel menlow platform specific driver for thermal management extension.

Signed-off-by: Thomas Sujith <sujith.thomas@xxxxxxxxx>
Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 041d4bbf128f645fe53bb22309efb9db14dbf5b5
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date: Thu Jan 17 15:51:19 2008 +0800

ACPI: CELSIUS_TO_KELVIN fixup

Fix an imprecision in CELSIUS_TO_KELVIN and move these
two macroes to a proper place.

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Thomas Sujith <sujith.thomas@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 207339398ecb0835331c748612898dad2a09fdec
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date: Thu Jan 17 15:51:21 2008 +0800

ACPI: attach thermal zone info

Intel menlow driver needs to get the pointer of themal_zone_device
structure of an ACPI thermal zone.
Attach this to each ACPI thermal zone device object.

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Thomas Sujith <sujith.thomas@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 702ed512de9c8a67a69a981c73b7337c2131f198
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date: Thu Jan 17 15:51:22 2008 +0800

ACPI: register ACPI Video LCD as generic thermal cooling device

Register ACPI video device as thermal cooling devices as they may be listed
in _TZD method and the backlight control can be used for throttling.

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Thomas Sujith <sujith.thomas@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit d9460fd227ed2ce52941b6a12ad4de05c195f6aa
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date: Thu Jan 17 15:51:23 2008 +0800

ACPI: register ACPI Processor as generic thermal cooling device

Register ACPI processor as thermal cooling devices.
A combination of processor T-state and P-state are used for thermal throttling.
the processor will reduce the frequency first and then set the T-state.

we use cpufreq_thermal_reduction_pctg to calculate the cpufreq limit,
and call cpufreq_verify_with_limit to set the cpufreq limit.
if cpufreq driver is loaded, then we have four cooling state for cpufreq control.
cooling state 0: cpufreq limit == max_freq
cooling state 1: cpufreq limit == max_freq * 80%
cooling state 2: cpufreq limit == max_freq * 60%
cooling state 3: cpufreq limit == max_freq * 40%

after the cpufreq limit is set to 40 percentage of the max_freq,
we use T-state for cooling.

eg. a processor has P-state support, and it has 8 T-state (T0-T7),
the max_state of the proceesor is 10:

state cpufreq-limit T-state
0: max_freq T0
1: max_freq * 80% T0
2: max_freq * 60% T0
3: max_freq * 40% T0
4: max_freq * 40% T1
5: max_freq * 40% T2
6: max_freq * 40% T3
7: max_freq * 40% T4
8: max_freq * 40% T5
9: max_freq * 40% T6
10: max_freq * 40% T7

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx>
Signed-off-by: Thomas Sujith <sujith.thomas@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 05a83d972293f39a66bc2aa409a5e7996bba585d
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date: Thu Jan 17 15:51:24 2008 +0800

ACPI: register ACPI Fan as generic thermal cooling device

Register ACPI Fan as thermal cooling device.

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Thomas Sujith <sujith.thomas@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit ce44e19701ac1de004815c225585ff617c5948b4
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date: Thu Jan 17 15:51:25 2008 +0800

ACPI: ACPI thermal zone handle notification correctly

Change the ACPI thermal action upon notification 0x81 and 0x82.

According to the ACPI spec, we should:
re-evaluate _PSV and _ACx methods upon notification 0x81
re-evaluate _PSL and _ALx and _TZD upon notificaiton 0x82.
But the current code re-evaluates all the trip points for 0x81 while
only re-evaluates _TZD for 0x82.

Fix this violation of ACPI spec.

TODO: devices in _PSL, _ALx and _TZD may change after a notification 0x82.
At this time, we need to re-bind the cooling devices with the thermal zone.

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Thomas Sujith <sujith.thomas@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 3f655ef8c439e0775ffb7d1ead5d1d4f060e1f8b
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date: Thu Jan 17 15:51:11 2008 +0800

ACPI: register ACPI thermal zone as generic thermal zone devices

Register ACPI thermal zone as thermal zone device.

the new sys I/F for ACPI thermal zone will be like this:

/sys/class/thermal:
|thermal_zone1:
|-----type: "ACPI thermal zone". RO
|-----temp: the current temperature. RO
|-----mode: the current working mode. RW.
the default value is "kernel" which means thermal
management is done by ACPI thermal driver.
"echo user > mode" prevents all the ACPI thermal driver
actions upon any trip points.
|-----trip_point_0_temp: the threshold of trip point 0. RO.
|-----trip_point_0_type: "critical". RO.
the type of trip point 0
This may be one of critical/hot/passive/active[x]
for an ACPI thermal zone.
...
|-----trip_point_3_temp:
|-----trip_point_3_type: "active[1]"

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Thomas Sujith <sujith.thomas@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 203d3d4aa482339b4816f131f713e1b8ee37f6dd
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date: Thu Jan 17 15:51:08 2008 +0800

the generic thermal sysfs driver

The Generic Thermal sysfs driver for thermal management.

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Thomas Sujith <sujith.thomas@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 38531e6fe51ad5c7dfe72e0e066b5f54bc1921cd
Author: Matthew Garrett <mjg59@xxxxxxxxxxxxx>
Date: Wed Dec 26 02:03:26 2007 +0000

ACPI: video: Rationalise ACPI backlight implementation

The sysfs backlight class provides no mechanism for querying the
acceptable brightness for a backlight. The ACPI spec states that values
are only valid if they are reported as available by the firmware. Since
we can't provide that information to userspace, instead collapse the
range to the number of actual values that can be set.

http://bugzilla.kernel.org/show_bug.cgi?id=9277

Signed-off-by: Matthew Garrett <mjg59@xxxxxxxxxxxxx>
Acked-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 1cee5cce9776d88778b6c00e3f72fffbcbec40d4
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:57 2008 -0200

ACPI: thinkpad-acpi: bump up version to 0.19

The major code reorganization and cleanups, and new HKEY events, plus
poll()/select() support are good reasons to checkpoint a new version...

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 6a2e293c34a41446c091cb18758cf64117021b72
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:56 2008 -0200

ACPI: thinkpad-acpi: update copyright dates to 2008

Update the copyright headers to include 2008.

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 50ebec09f1a79df27afeceb14a3059944f327e1d
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:55 2008 -0200

ACPI: thinkpad-acpi: add poll() support to some sysfs attributes

Implement poll()/select() support through sysfs_notify() for some key
attributes which userspace might want to poll() or select() on.

In order to let userspace know poll()/select() support is available for an
attribute, the thinkpad-acpi sysfs interface version is also bumped up.
Further changes that add poll()/select() capabilities to any pre-existing
attributes will also increment the sysfs interface version.

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 013c40e457ac573b29daa0e369c2ba6729c23557
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:54 2008 -0200

ACPI: thinkpad-acpi: silence _sta warning

When both CONFIG_THINKPAD_ACPI_DOCK and CONFIG_THINKPAD_ACPI_BAY are
undefined, _sta is not used and that causes a gcc warning. Fix it
(and I think this is a regression, I am pretty sure I fixed this once
before, sorry about that).

Issue reported by: Pritt Laes.

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Cc: Pritt Laes <plaes@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit d1edb2b5f1d016d679600cccf2716e0134fff917
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:53 2008 -0200

ACPI: thinkpad-acpi: add X61t HKEY events

Tomas Carnecky reports that events 0x5009 and 0x500a are swivel events, and
that 0x500b/0x500c are tablet pen storage bay events.

Document these events, and avoid nasty messages when they happen.

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit a713b4d7bca51e56cdb5357507f46674111d032c
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:52 2008 -0200

ACPI: thinkpad-acpi: wakeup on hotunplug reporting

Handle some HKEY events that the firmware uses to report the reason for a
wake up, and to also notify that the system could go back to sleep (if it
woke up just to eject something from the bay, or to undock).

The driver will report the reason of the last wake up in the sysfs
attribute "wakeup_reason": 0 for "none, unknown, or standard ACPI wake up
event", 1 for "bay ejection request" and 2 for "undock request".

The firmware will also report if the operation that triggered the wake up
has been completed, by issuing an HKEY 0x3003 or 0x4003 event. If the
operation fails, no event is sent. When such a hotunplug sucessfull
notification is issued, the driver sets the attribute
"wakeup_hotunplug_complete" to 1.

While the firmware does tell us whether we are waking from a suspend or
hibernation scenario, the Linux way of hibernating makes this information
not reliable, and therefore it is not reported.

The idea is that if any of these attributes are non-zero, userspace might
want to do something at the end of the "wake up from sleep" procedures,
such as offering to send the machine back into sleep as soon as it is safe
to do so.

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 3b64b51d20d9b633bb2efe63af785a49f8092898
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:51 2008 -0200

ACPI: thinkpad-acpi: cleanup hotkey_notify and HKEY log messages

Use a generic message on hotkey_notify to log unknown and unhandled events,
and cleanup hotkey_notify a little.

Also, document event 0x5010 (brightness changed notification) and do not
log it as an unknown event (even if we do not use it for anything right
now).

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 083f17606f624c79555e313d87cf37ac1486b073
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:50 2008 -0200

ACPI: thinkpad-acpi: add suspend handler

Add a handler for suspend events.

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 35ff8b9fa90d97f3a19ea3e2311385927535ebc9
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:49 2008 -0200

ACPI: thinkpad-acpi: some checkpatch.pl fluff

Fix some of the crap reported by checkpatch.pl.

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit e0c7dfe70170ccee2b538494f92e61de8edab990
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:48 2008 -0200

ACPI: thinkpad-acpi: rename IBM in defines

Rename defines with IBM in their name that are related to the older
driver name (ibm-acpi) to TPACPI, unless they are specific to IBM
ThinkPads.

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit f68080f86d8b43bf3ff4c309f1bc9aa4d3fdf735
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:47 2008 -0200

ACPI: thinkpad-acpi: module glue cleanups

General cleanup of module glue: Do some code reordering, and add
missing parameter help text.

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 4b45cc076bc1964352f4a603a18c511ac182b98f
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:46 2008 -0200

ACPI: thinkpad-acpi: spring cleanup part 4

Remove dead code, and anything in the old changelog that is not a thank
you credit, or a key point to track down history.

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit b21a15f6d065e837076cf417720afe1c3d6ed10d
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:45 2008 -0200

ACPI: thinkpad-acpi: spring cleanup part 3

Reorder code in the file to get rid of more of the forward declarations,
and to make things cleaner and more organized.

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit f74a27d4bda42ee779940adaa34c5c196dda5d32
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:44 2008 -0200

ACPI: thinkpad-acpi: spring cleanup part 2

Move most subdriver-related stuff imported from the header file closer to
their subdriver code. Also, delete unneeded forward declarations.

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 0c78039fcdb0806fafcc40400ace7fb7e81c65a5
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:43 2008 -0200

ACPI: thinkpad-acpi: spring cleanup part 1

Remove the header file. Private header files used by a single .c file are
in bad taste, and I know better now.

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 50efd8310f4f532231b15c6bcb9007c99ac05466
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:42 2008 -0200

ACPI: thinkpad-acpi: bump up version to 0.18

The NVRAM polling support for hot keys is reason enough to
bump up the version string. Do it.

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 01e88f25985d8ea5866c9a73d56b3a9a9145066f
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:41 2008 -0200

ACPI: thinkpad-acpi: add CMOS NVRAM polling for hot keys (v9)

Older ThinkPad models do not export some of the hot keys over the
event-based ACPI hot key interface. For these models, one has to poll
the CMOS NVRAM to check the key state at a rate faster than the expected
rate at which the user might repeatedly press the same hot key.

This patch implements this functionality for many of the hotkeys in a
transparent way: hot keys will now Just Work, and the driver knows the
best approach (events or NVRAM polling) to employ, based on the
HKEY.MHKA ACPI method.

Also, the driver can turn off the polling when there are no users for
the hot keys that need such polling.

The NVRAM-based hot keys of the A3x series that have never been
implemented by later models are not supported, to avoid changes in the
keymap of the input devices that could cause headaches in the future.

There is a Kconfig option to avoid compiling the NVRAM polling code, as
it is not very small, and unlikely to be useful on any ThinkPad newer
than a T40, X31 or R52.

This feature is based on a previous effort by Richard Hughes.

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Cc: Richard Hughes <hughsient@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit b7c8c200bfbf523ea0a72fd8a5e39089c74da371
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:40 2008 -0200

ACPI: thinkpad-acpi: prepare for NVRAM polling support

Make some small internal thinkpad-acpi changes to the hotkey subdriver code
that will make it easier to add NVRAM polling support.

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit b2c985e7eba858a1765db6d56bdd4df775f53633
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:39 2008 -0200

ACPI: thinkpad-acpi: refactor hotkey_get and hotkey_set (v2)

Refactor and organize the code a bit for the NVRAM polling support:

1. Split hotkey_get/set into hotkey_status_get/set and hotkey_mask_get/set;
2. Cache the status of hot key mask for later driver use;
3. Make sure the cache of hot key mask is refreshed when needed;
4. log a printk notice when the firmware doesn't set the hot key
mask to exactly what we asked it to;
5. Add proper locking to the data structures.

Only (4) should be user-noticeable, but there is a chance (5) fixes
some unknown/unreported race conditions.

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 0f089147e620e083f58a0e641f701bd4244b455b
Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Date: Tue Jan 8 13:02:38 2008 -0200

ACPI: thinkpad-acpi: document keymap gotcha's (v2)

Publish the requirements for keymap changes. This is a documentation
change, only.

Currently, people look at the thinkpad-acpi default keymaps, and think:
"modifying this is a trivial thing, it can't break systems, and there are
keys defined for foo and bar, but the driver has them as KEY_RESERVED.
Must have been an oversight, let me change it."

And since they never get to see the bug reports, because they are not
really a part of the Linux ThinkPad users community (linux-thinkpad
mailinglist, thinkwiki wiki, thinkpad forums) and laptop users are slow
to complain to distros about any breakages...

Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit f757397097d0713c949af76dccabb65a2785782e
Author: Kevin Hilman <khilman@xxxxxxxxxx>
Date: Thu Jan 31 17:28:18 2008 -0800

cpuidle: build fix for non-x86

Convert cpu_idle_wait() to cpuidle_kick_cpus() macro which is
SMP-only, and gives error on non supported CPU.

Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxx>
Acked-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx>
Acked-by: Rafael J. Wysocki <rjw@xxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit fccd5d00ba68455425a35f905fd92538429c310d
Author: Mattia Dongili <malattia@xxxxxxxx>
Date: Mon Jan 14 18:05:46 2008 +0900

sony-laptop: fix scancode decode

compare against the sony_laptop specific event list index
to decode the input scancode to send.

Signed-off-by: Mattia Dongili <malattia@xxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 3eb8749a37990b505ab94466038c067444bbd7eb
Author: Mattia Dongili <malattia@xxxxxxxx>
Date: Mon Jan 14 18:05:45 2008 +0900

sony-laptop: add Type4 model

Recent Vaio models (UX, SZ and presumably TZ and others) add more
events and a slightly different handling of Fn key events for
additional hotkeys (s1, s2, zoom-in/out, etc.).

Signed-off-by: Mattia Dongili <malattia@xxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 425ef5d75de25c53b6dc79008fe3678d2fe7e8ed
Author: Mattia Dongili <malattia@xxxxxxxx>
Date: Mon Jan 14 18:05:44 2008 +0900

sony-laptop: bump version to 0.6

Signed-off-by: Mattia Dongili <malattia@xxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit de9204300112dea10ca3d3cc76858cee61043e47
Author: Mattia Dongili <malattia@xxxxxxxx>
Date: Mon Jan 14 18:05:43 2008 +0900

sony-laptop: refactor model types

Create mini drivers and allow callbacks for each model
to be specified.
Following patches will make use of this feature to handle
specific cases instead of just executing code and hope
not to break other models.

Signed-off-by: Mattia Dongili <malattia@xxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 88877c2a2ebd0e554496efb23e7dc8ade661d289
Author: Mattia Dongili <malattia@xxxxxxxx>
Date: Mon Jan 14 18:05:42 2008 +0900

sony-laptop: Add Vaio N series to the special init sequence to enable Fn keys

Also the recent Vaio N series need some more calls into the DSDT
to enable reporting of FN key events to be delivered to the SNC device.

Signed-off-by: Mattia Dongili <malattia@xxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 75a1f9ce8f422fd32774a0674ed4386d07628d5e
Author: Mattia Dongili <malattia@xxxxxxxx>
Date: Mon Jan 14 18:05:41 2008 +0900

sony-laptop: printk more info in sony_pic_call[123]

Signed-off-by: Mattia Dongili <malattia@xxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 02f8a8586574350a1f3c2cee79cbc0faf630961d
Author: Andrew Patterson <andrew.patterson@xxxxxx>
Date: Tue Jan 22 17:18:22 2008 -0700

ACPI: Check for any matching CID when walking namespace.

The callback function acpi_ns_get_device_callback called from
acpi_get_devices() will check CID's if the HID does not match. This code
has a bug where it requires that all CIDs match the HID. Changed the code
so that any CID match will do.

Signed-off-by: Andrew Patterson <andrew.patterson@xxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 856608ee5e1ea37b8976ce01ddbd19a45da88921
Author: Shaohua Li <shaohua.li@xxxxxxxxx>
Date: Sat Jan 12 19:37:49 2008 -0500

pnp: Failed to activate device 00:0a - Samsung P35 XVM 1600 III

PNP_WRITE requires protocol supports .set. If ACPI doesn't support _SRS, .set ismeanless, so PNP_WRITE.

Signed-off-by: Shaohua Li <shaohua.li@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 37748ebf8888aef6a252016d7c3cdc84514df051
Author: Dave Jones <davej@xxxxxxxxxx>
Date: Wed Jun 6 03:34:07 2007 -0400

ACPI: remove P2B-S from blacklist.

According to http://bugzilla.kernel.org/show_bug.cgi?id=6933
The latest BIOS for the P2B-S works fine.
Remove it from the blacklist.

Signed-off-by: Dave Jones <davej@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit ad3399c378993152f12c23304ee56d7f9108e758
Author: Rafael J. Wysocki <rjw@xxxxxxx>
Date: Fri Jan 11 00:10:38 2008 +0100

ACPI: Fix acpi_pm_device_sleep_state()

Fix acpi_pm_device_sleep_state() to return the value returned
by _SxD if the device is supposed to wake up the system from
given sleep state and the evaluation of _SxW fails (e.g. _SxW
is not present).

Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit b3b233c7d948a5f55185fb5a1b248157b948a1e5
Author: Alexey Starikovskiy <astarikovskiy@xxxxxxx>
Date: Fri Jan 11 02:42:57 2008 +0300

ACPI: EC: Some hardware requires burst mode to operate properly

Burst mode temporary (50 ms) locks EC to do only transactions with
driver, without it some hardware returns abstract garbage.

Reference: http://bugzilla.kernel.org/show_bug.cgi?id=9341

Signed-off-by: Alexey Starikovskiy <astarikovskiy@xxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 3e71a87d03055de0b8c8e42aba758ee6494af083
Author: Alexey Starikovskiy <astarikovskiy@xxxxxxx>
Date: Fri Jan 11 02:42:51 2008 +0300

ACPI: EC: Do the byte access with a fast path

Specification allows only byte access for EC region, so
make it separate from bug-compatible multi-byte access.
Also do not allow return of garbage in supplied *value.

Reference: http://bugzilla.kernel.org/show_bug.cgi?id=9341

Signed-off-by: Alexey Starikovskiy <astarikovskiy@xxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit cfaf3747ff3d431fba33f75083b7f50f58ae22ff
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date: Wed Jan 9 02:17:47 2008 -0500

ACPI: ACPI Exception (): AE_NOT_FOUND, Processor Device is not present

ACPI Exception (acpi_processor-0677): AE_NOT_FOUND, Processor Device is not
present [20060707]

According to the ACPI spec 6.3.7,
"If a device object (including the processor object) does not have an
_STA object, then OSPM assumes that all of the above bits are set,
(in other words, the device is present, enabled, shown in the UI
and funtioning)".

is_processor_present shoud return 1 if the processor device object exists
while it doesn't have an _STA object.

http://bugzilla.kernel.org/show_bug.cgi?id=8570

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 623b78c39c4525731f852072edd742cc4fba6786
Author: Thomas Renninger <trenn@xxxxxxx>
Date: Fri May 18 21:59:28 2007 -0500

ACPI: add "processor.ignore_ppc" hook to workaround BIOS _PPC weirdness

There have been fixes using _PPC, which seem to unhide a problem
on HP nx6125 (double cpufreq switch freezes the machine for
several seconds).

This one should provide a workaround for the nx6125 and for
possible other machines that show any weird _PPC behaviour.

Signed-off-by: Thomas Renninger <trenn@xxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 975c30257e75c3d067d4858f60963b80fc6bd0e4
Author: Signed-off by Yi Yang <yi.y.yang@xxxxxxxxx>
Date: Thu Dec 27 21:50:42 2007 -0500

ACPI: detect invalid argument written to /proc/acpi/alarm

/proc/acpi/alarm can't be set correctly, here is a sample:

[root@localhost /]# echo "2006 09" > /proc/acpi/alarm
[root@localhost /]# cat /proc/acpi/alarm
2007-12-09 09:09:09
[root@localhost /]# echo "2006 04" > /proc/acpi/alarm
[root@localhost /]# cat /proc/acpi/alarm
2007-12-04 04:04:04
[root@localhost /]#

Obviously, it is wrong, it should consider it as an invalid input.

after this patch:

[root@localhost /]# echo "2008 09" > /proc/acpi/alarm
-bash: echo: write error: Invalid argument
[root@localhost /]#

Signed-off-by: Yi Yang <yi.y.yang@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 087980295082ccaa816330bc69c29a2ff53a244c
Author: Yi Yang <yi.y.yang@xxxxxxxxx>
Date: Thu Dec 27 22:04:26 2007 -0500

ACPI: /proc/acpi/alarm parsing: handle large numbers properly

In function acpi_system_write_alarm in file drivers/acpi/sleep/proc.c,
big sec, min, hr, mo, day and yr are counted twice to get reasonable
values, that is very superfluous, we can do that only once.

In additon, /proc/acpi/alarm can set a related value which can be
specified as YYYY years MM months DD days HH hours MM minutes SS
senconds, it isn't a date, so you can specify as +0000-00-00 96:00:00
, that means 3 days later, current code can't handle such a case.

This patch removes unnecessary code and does with the aforementioned
situation.

Before applying this patch:

[root@localhost /]# cat /proc/acpi/alarm
2007-12-00 00:00:00
[root@localhost /]# echo "0000-00-00 96:180:180" > /proc/acpi/alarm
[root@localhost /]# cat /proc/acpi/alarm
0007-12-02 **:**:**
[root@localhost /]#

After applying this patch:

[root@localhost ~]# echo "2007-12-00 00:00:00" > /proc/acpi/alarm
[root@localhost ~]# cat /proc/acpi/alarm
2007-12-00 00:00:00
[root@localhost ~]# echo "0000-00-00 96:180:180" > /proc/acpi/alarm
[root@localhost ~]# cat /proc/acpi/alarm
0007-12-04 03:03:00
[root@localhost ~]#

Signed-off-by: Yi Yang <yi.y.yang@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 239665a3bb0a2234980f918913add31bc536cfd1
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Fri Nov 23 20:08:02 2007 -0500

ACPI: tables: complete searching upon RSDP w/ bad checksum.

ACPI tables follow a tree structure in memory.
The root of the tree is the RSDP (Root System Description Pointer).

To find the RSDP, the OS searches for the signature "RSD PTR "
in well known physical memory locations. Then the OS computes
a table checksum to verify that the signature is really part
of a valid table header.

Some systems have a proper signature but an invalid checksum;
followed elsewhere by a proper signature with valid checksum.

http://bugzilla.kernel.org/show_bug.cgi?id=9444

The Linux RSDP scanning code bailed out on those systems
and as a result they booted with ACPI disabled.

Fix this by deleting the Linux RSDP scanning code and
plugging in the ACPICA RSDP scanning code.

Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 25de5718356e264820625600a9edca1df5ff26f8
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Fri Dec 14 00:24:15 2007 -0500

cpuidle: default processor.latency_factor=2

More aggressively request deep C-states.

Note that the job of the OS is to minimize latency
impact to expected break events such as interrupts.

It is not the job of the OS to try to calculate if
the C-state will reach energy break-even.
The platform doesn't give the OS enough information
for it to make that calculation. Thus, it is up
to the platform to decide if it is worth it to
go as deep as the OS requested it to, or if it
should internally demote to a more shallow C-state.

But the converse is not true. The platform can not
promote into a deeper C-state than the OS requested
else it may violate latency constraints. So it is
important that the OS be aggressive in giving the
platform permission to enter deep C-states.

Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 4963f62045b64f93c45fbcb6f8f0baf1e3e7a127
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Dec 13 23:50:45 2007 -0500

cpuidle: create processor.latency_factor tunable

Start with default value of 6, so by default,
there is no functional change in this patch.

Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 2fdf07417e57136cf6baedf9508e2169a059ebea
Author: Jan Beulich <jbeulich@xxxxxxxxxx>
Date: Thu Dec 13 08:33:59 2007 +0000

acpi: make __acpi_map_table() and __init function

.. as it it used only during early boot.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

arch/ia64/kernel/acpi.c | 2 +-
arch/x86/kernel/acpi/boot.c | 4 ++--
drivers/acpi/osl.c | 3 ++-
3 files changed, 5 insertions(+), 4 deletions(-)
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 17196d6e533a5c09ca57bf398099ffa3c13248b1
Author: Thomas Renninger <trenn@xxxxxxx>
Date: Fri Dec 7 13:20:43 2007 +0100

ACPI: Also autoload the bay driver, was forgotten...

Signed-off-by: Thomas Renninger <trenn@xxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit a340af14b4c08a53c5f7d821d8bd910e17403384
Author: Frank Seidel <fseidel@xxxxxxx>
Date: Fri Dec 7 13:20:42 2007 +0100

ACPI: Add autoload info to dock driver

References: https://bugzilla.novell.com/show_bug.cgi?id=302482

Signed-off-by: Thomas Renninger <trenn@xxxxxxxxxx>
Signed-off-by: Kay Sievers <kasievers@xxxxxxxxxx>
Signed-off-by: Frank Seidel <fseidel@xxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 3620f2f2f39e7870cf1a4fb2e34063a142f28716
Author: Frank Seidel <fseidel@xxxxxxx>
Date: Fri Dec 7 13:20:34 2007 +0100

ACPI: Fix autloading of dock, video, bay and all linux specific HID drivers

References: https://bugzilla.novell.com/show_bug.cgi?id=302482

Due to the new autloading of acpi drivers, the dock driver
wasn't loaded anymore as there is no HID to identify it with
(dock is needed if ACPI has a _DCK method).
This patch is a workaround for this, original by Thomas Renninger,
revised first by Kay Sievers and last by Frank Seidel.
V2 of this patch fixed problems on systems without a defined _CID for
the docking devices.

Signed-off-by: Thomas Renninger <trenn@xxxxxxxxxx>
Signed-off-by: Kay Sievers <kasievers@xxxxxxxxxx>
Signed-off-by: Frank Seidel <fseidel@xxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 223630fe3dc564b94e51ff4eb839828c9083f2f6
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date: Thu Dec 6 23:36:35 2007 -0500

export thermal notification to userspace when nocrt is set

module parameter is used to prevent the thermal_zone action upon
critical trip points.
But exporting this notification to userspace is still useful.
By setting nocrt with this patch applied, ACPI will take no action
but exporting the events to userspace upon critical/hot trip points.

http://bugzilla.kernel.org/show_bug.cgi?id=9139

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 17bc54eef91df29f0a22e8a1562a404cf7a68e74
Author: Alexey Starikovskiy <astarikovskiy@xxxxxxx>
Date: Tue Nov 13 13:05:45 2007 +0300

ACPI: Defer enabling of level GPE until all pending notifies done

Level GPE should not be enabled until all work caused by it is done,
e.g. all Notify() methods are completed.
This can be accomplished by appending enable_gpe function to the end
of notify queue.

Signed-off-by: Alexey Starikovskiy <astarikovskiy@xxxxxxx>
Acked-by: Shaohua Li <shaohua.li@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit ed9cbcd40004904dbe61ccc16d6106a7de38c998
Author: Zhao Yakui <yakui.zhao@xxxxxxxxx>
Date: Tue Nov 20 14:20:21 2007 -0500

Revert "speedstep-lib.c: fix frequency multiplier for Pentium4 models 0&1"

For P4 model < 2, The MSR_FBC_REGISTER_ID ratio is undefined.
Revert the commit that was added to handle that case,
as it results in random MHz displayed. Something else will
have to be done to properly handle model < 2.

//commit 3e4159ab35c88aef5e063ba78796b277b762a30a
//Author: matthias.christian <matthias.christian>
//Date: Sat Feb 5 23:09:38 2005 +0000
//
// [PATCH] speedstep-lib.c: fix frequency multiplier for Pentium4 models 0&1
//
// The Pentium4 models 0&1 have a longer MSR_EBC_FREQUENCY_ID register as the
// models 2&3, so the bit shift must be bigger.
//
// Signed-off-by: Matthias-Christian Ott <matthias.christian@xxxxxxxxxx>
// Signed-off-by: Dominik Brodowski <linux@xxxxxxxx>
// Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
// Signed-off-by: Linus Torvalds <torvalds@xxxxxxxx>
//
// BKrev: 42055232eWM-NgjhZVir44mp5GXktQ

http://bugzilla.kernel.org/show_bug.cgi?id=7186

Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit a7f9b1f24974da287771e2d70b30d9ca7bd66684
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date: Tue Nov 20 13:38:59 2007 -0500

ACPI: disable stray GPE, prevent ACPI interrupt storm

GPEs are disabled depending on their type --
WAKE, WAKE_RUN, and RUNTIME. An error is returned
if we are asked to disable a GPE that has no type.

But at least one system exists that enables a GPE from AML
that is not the EC GPE, and has no _Lxx/_Exx AML handler,
and is thus never initialized.

In this case, when an external CRT is plugged in,
the GPE fires, we attempt to disable the GPE,
but instead just return an error.
So the GPE stays asserted and an ACPI interrupt storm follows.

The fix is to disable a firing GPE,
even if it comes from outer space.

http://bugzilla.kernel.org/show_bug.cgi?id=6217

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Acked-by: Alexey Starikovskiy <astarikovskiy@xxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 60555e371d56a1e410d9fb6fc68f4e953f8f4109
Author: len.brown@xxxxxxxxx <len.brown@xxxxxxxxx>
Date: Mon Nov 19 22:22:37 2007 -0500

ACPI: CONFIG_CPU_IDLE=ACPI by default

In Linux-2.6.24, CPU_IDLE went upstream, default =n.
For Linux-2.6.25, enable it by default on ACPI systems.
For Linux-2.6.26, we plan to enable it always on ACPI systems.

Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit b4d2730a0dda91a43c81a02f5225f5d536cabb09
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Wed Nov 14 19:53:21 2007 -0500

ACPI: document method tracing hooks

Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

commit 4169c45f179e285feac6bcf25f4bd0db6b109bab
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date: Wed Nov 14 19:38:40 2007 -0500

ACPI: add control method tracing support

Add debug tracing support during certain AML method execution.

Four more module parameters are created under /sys/module/acpi/parameters/:
trace_method_name: the AML method name that user wants to trace

trace_debug_layer: the temporary debug_layer used when tracing the method.
Using 0xffffffff by default if it is 0.

trace_debug_level: the temporary debug_level used when tracing the method.
Using 0x00ffffff by default if it is 0.

trace_state: The status of the tracing feature.
"enabled" means this feature is enabled
and the AML method is traced every time it's executed.
"1" means this feature is enabled and the AML method
will only be traced during the next execution.
"disabled" means this feature is disabled.
Users can enable/disable this debug tracing feature by
"echo string > /sys/module/acpi/parameters/trace_state".
"string" should be one of "enable", "disable" and "1".

http://bugzilla.kernel.org/show_bug.cgi?id=6629

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/