platform/kernel/linux-rpi.git
16 years agoMerge branch 'suspend' into test
Len Brown [Thu, 23 Oct 2008 03:28:46 +0000 (23:28 -0400)]
Merge branch 'suspend' into test

16 years agoMerge branch 'pnp-debug' into test
Len Brown [Thu, 23 Oct 2008 03:28:43 +0000 (23:28 -0400)]
Merge branch 'pnp-debug' into test

16 years agoMerge branch 'misc' into test
Len Brown [Thu, 23 Oct 2008 03:28:38 +0000 (23:28 -0400)]
Merge branch 'misc' into test

16 years agoMerge branch 'i7300_idle' into test
Len Brown [Thu, 23 Oct 2008 03:28:36 +0000 (23:28 -0400)]
Merge branch 'i7300_idle' into test

16 years agoMerge branch 'fujitsu' into test
Len Brown [Thu, 23 Oct 2008 03:28:33 +0000 (23:28 -0400)]
Merge branch 'fujitsu' into test

16 years agoMerge branch 'fadt-test' into test
Len Brown [Thu, 23 Oct 2008 03:28:03 +0000 (23:28 -0400)]
Merge branch 'fadt-test' into test

16 years agoMerge branch 'eeepc' into test
Len Brown [Thu, 23 Oct 2008 03:28:01 +0000 (23:28 -0400)]
Merge branch 'eeepc' into test

16 years agoMerge branch 'ec' into test
Len Brown [Thu, 23 Oct 2008 03:27:59 +0000 (23:27 -0400)]
Merge branch 'ec' into test

16 years agoMerge branch 'dock' into test
Len Brown [Thu, 23 Oct 2008 03:25:26 +0000 (23:25 -0400)]
Merge branch 'dock' into test

Conflicts:
drivers/acpi/osl.c

Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoMerge branch 'cpuidle' into test
Len Brown [Thu, 23 Oct 2008 03:20:05 +0000 (23:20 -0400)]
Merge branch 'cpuidle' into test

16 years agoMerge branch 'bugzilla-11481' into test
Len Brown [Thu, 23 Oct 2008 03:20:02 +0000 (23:20 -0400)]
Merge branch 'bugzilla-11481' into test

16 years agoMerge branch 'bugzilla-10503' into test
Len Brown [Thu, 23 Oct 2008 03:20:01 +0000 (23:20 -0400)]
Merge branch 'bugzilla-10503' into test

16 years agoMerge branch 'bugzilla-10237' into test
Len Brown [Thu, 23 Oct 2008 03:19:59 +0000 (23:19 -0400)]
Merge branch 'bugzilla-10237' into test

16 years agoMerge branch 'asus-cleanup' into test
Len Brown [Thu, 23 Oct 2008 03:19:57 +0000 (23:19 -0400)]
Merge branch 'asus-cleanup' into test

16 years agoMerge branch 'acpica' into test
Len Brown [Thu, 23 Oct 2008 03:19:51 +0000 (23:19 -0400)]
Merge branch 'acpica' into test

16 years agoMerge branch 'bugfixes' into test
Len Brown [Thu, 23 Oct 2008 03:19:50 +0000 (23:19 -0400)]
Merge branch 'bugfixes' into test

16 years agoMerge branch 'acer-wmi' into test
Len Brown [Thu, 23 Oct 2008 03:19:47 +0000 (23:19 -0400)]
Merge branch 'acer-wmi' into test

16 years agoMerge branch 'FW_BUG' into test
Len Brown [Thu, 23 Oct 2008 03:19:45 +0000 (23:19 -0400)]
Merge branch 'FW_BUG' into test

16 years agoACPICA: Update version to 20080926
Bob Moore [Sat, 27 Sep 2008 05:39:20 +0000 (13:39 +0800)]
ACPICA: Update version to 20080926

Update version to 20080926.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Add support for zero-length buffer-to-string conversions
Bob Moore [Sat, 27 Sep 2008 05:27:51 +0000 (13:27 +0800)]
ACPICA: Add support for zero-length buffer-to-string conversions

Allow zero length strings during interpreter buffer-to-string
conversions. For example, during the ToDecimalString and
ToHexString operaters, as well as implicit conversions. Fiodor
Suietov.  ACPICA BZ 585.

http://www.acpica.org/bugzilla/show_bug.cgi?id=585

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: New: Validation for predefined ACPI methods/objects
Bob Moore [Sun, 28 Sep 2008 07:26:17 +0000 (15:26 +0800)]
ACPICA: New: Validation for predefined ACPI methods/objects

Validates predefined ACPI objects that appear in the namespace,
at the time they are evaluated. The argument count and the type of
the returned object are validated. The purpose of this validation
is to detect problems with the BIOS-exposed predefined ACPI objects
before the results are returned to the ACPI-related drivers.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Fix for implicit return compatibility
Lin Ming [Sat, 27 Sep 2008 04:01:12 +0000 (12:01 +0800)]
ACPICA: Fix for implicit return compatibility

Predicate can be used for an implicit return value.
This change improves the implicit return mechanism to be more
compatible with the MS interpreter.

http://www.acpica.org/bugzilla/show_bug.cgi?id=349

Below AML code from http://bugzilla.kernel.org/show_bug.cgi?id=10686

Store(0x07D6, OSYS)
Method (_CRT, 0, Serialized)
{
    If (LLess (OSYS, 0x07D6))
    {
If (LEqual (\_SB.TJ85, Zero))
{
    Return (Add (0x0AAC, Multiply (TPC, 0x0A)))
}
Else
{
    Return (Add (0x0AAC, Multiply (TP85, 0x0A)))
}
    }
}

Previously _CRT returns 0x07D6, now it returns 0 (predicate value of LLess)

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Fixed a couple memory leaks associated with "implicit return"
Lin Ming [Sat, 27 Sep 2008 03:50:24 +0000 (11:50 +0800)]
ACPICA: Fixed a couple memory leaks associated with "implicit return"

Fixed a couple memory leaks associated with "implicit return" objects
when the AML Interpreter slack mode is enabled.

http://www.acpica.org/bugzilla/show_bug.cgi?id=349

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Optimize buffer allocation procedure
Bob Moore [Sat, 27 Sep 2008 03:34:48 +0000 (11:34 +0800)]
ACPICA: Optimize buffer allocation procedure

Eliminate duplicate code.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Fix possible memory leak, error exit path
Lin Ming [Sat, 27 Sep 2008 03:29:57 +0000 (11:29 +0800)]
ACPICA: Fix possible memory leak, error exit path

Fixed two possible memory leaks in the error exit paths of
acpi_ut_update_objerct_reference() and
acpi_ut_walk_package_tree()
These functions are similar in that they use a stack of state objects in
order to eliminate recursion. The stack must be fully deallocated
if an error occurs.

http://www.acpica.org/bugzilla/show_bug.cgi?id=383

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Fix fault after mem allocation failure in AML parser
Lin Ming [Sat, 27 Sep 2008 03:28:46 +0000 (11:28 +0800)]
ACPICA: Fix fault after mem allocation failure in AML parser

Fixes a crash if a memory allocation fails during the Op completion
routine acpi_ps_complete_this_op().

http://www.acpica.org/bugzilla/show_bug.cgi?id=492

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Remove unused ACPI register bit definition
Lin Ming [Sat, 27 Sep 2008 03:26:59 +0000 (11:26 +0800)]
ACPICA: Remove unused ACPI register bit definition

Removed the ACPI_BITREG_WAKE_ENABLE definition and entry in the
global register table. This bit does not exist and is unused.

http://www.acpica.org/bugzilla/show_bug.cgi?id=442

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Update version to 20080829
Bob Moore [Sat, 27 Sep 2008 03:14:04 +0000 (11:14 +0800)]
ACPICA: Update version to 20080829

Update version to 20080829.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Fix possible memory leak in acpi_ns_get_external_pathname
Bob Moore [Sat, 27 Sep 2008 03:12:36 +0000 (11:12 +0800)]
ACPICA: Fix possible memory leak in acpi_ns_get_external_pathname

Fixes a memory leak in the error exit path.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Cleanup for internal Reference Object
Bob Moore [Sat, 27 Sep 2008 03:08:41 +0000 (11:08 +0800)]
ACPICA: Cleanup for internal Reference Object

Fix some sloppiness in the Reference object. No longer use AML
opcodes to differentiate the types, introduce new reference
Class. Cleanup the debug output code.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Update comments - no functional changes
Bob Moore [Sat, 27 Sep 2008 02:42:02 +0000 (10:42 +0800)]
ACPICA: Update comments - no functional changes

Some formatting and spelling fixes.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Update for Reference ACPI_OPERAND_OBJECT
Bob Moore [Sat, 27 Sep 2008 02:40:39 +0000 (10:40 +0800)]
ACPICA: Update for Reference ACPI_OPERAND_OBJECT

1) Add new field for use by DdbHandle (Value)
2) Use ACPI_CAST_INDIRECT_PTR to eliminate strict type warnings
3) Cleanup debug output

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Reduce error to warning for incorrect method arg count
Lin Ming [Sat, 27 Sep 2008 02:38:07 +0000 (10:38 +0800)]
ACPICA: Reduce error to warning for incorrect method arg count

Previously aborted with error if too few arguments were passed to
a control method via the external ACPICA interface. Now issue a
warning instead and continue. Handles the case where the method
inadvertently declares too many arguments, but does not actually
use the extra ones.  Applies mainly to the predefined methods.

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

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Disallow evaluation of named object types with no value
Bob Moore [Sat, 27 Sep 2008 02:29:31 +0000 (10:29 +0800)]
ACPICA: Disallow evaluation of named object types with no value

Return AE_TYPE for objects that have no value and therefore
evaluation is undefined: Device, Event, Mutex, Region, Thermal,
and Scope.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Remove obsolete exception codes
Bob Moore [Sat, 27 Sep 2008 02:28:07 +0000 (10:28 +0800)]
ACPICA: Remove obsolete exception codes

Removed 10 exception codes (and corresponding name strings)
that were obsolete for various reasons.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Add namespace node to operand object union
Bob Moore [Sat, 27 Sep 2008 02:22:09 +0000 (10:22 +0800)]
ACPICA: Add namespace node to operand object union

Add ACPI_NAMESPACE_NODE to the ACPI_OPERAND_OBJECT in order to
simplify code that accepts both of these objects. A common type
field is used to differentiate them.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Remove obsolete debug levels (WARN and ERROR)
Bob Moore [Sun, 28 Sep 2008 07:00:47 +0000 (15:00 +0800)]
ACPICA: Remove obsolete debug levels (WARN and ERROR)

Removed ACPI_DB_WARN and ACPI_DB_ERROR. These debug levels were
made obsolete by the ACPI_WARNING and ACPI_ERROR/ACPI_EXCEPTION
interfaces.  Also added ACPI_DB_EVENTS to correspond with the
existing ACPI_LV_EVENTS.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: replace ACPI_DEBUG_PRINT((ACPI_DB_ERROR, ...) with printk
Lin Ming [Sun, 28 Sep 2008 06:51:56 +0000 (14:51 +0800)]
ACPI: replace ACPI_DEBUG_PRINT((ACPI_DB_ERROR, ...) with printk

ACPI_DB_ERROR and ACPI_DB_WARN were removed from ACPICA core.
So replace ACPI_DEBUG_PRINT((ACPI_DB_ERROR, ...) with printk(KERN_ERR PREFIX ...)
and ACPI_DEBUG_PRINT((ACPI_DB_WARN, ...) with printk(KERN_WARNING PREFIX ...)

We do not use ACPI_ERROR/ACPI_WARNING since they're not exported, see
-------------------------------------------------------------
commit 6468463abd7051fcc29f3ee7c931f9bbbb26f5a4
Author: Len Brown <len.brown@intel.com>
Date:   Mon Jun 26 23:41:38 2006 -0400

    ACPI: un-export ACPI_ERROR() -- use printk(KERN_ERR...)

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

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: add preemption point after each opcode parse
Alexey Starikovskiy [Thu, 25 Sep 2008 17:40:30 +0000 (21:40 +0400)]
ACPICA: add preemption point after each opcode parse

Reference: http://marc.info/?l=linux-acpi&m=122236382701062&w=2

Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Tested-by: Sitsofe Wheeler <sitsofe@yahoo.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Update version to 20080729
Bob Moore [Mon, 4 Aug 2008 03:15:11 +0000 (11:15 +0800)]
ACPICA: Update version to 20080729

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: x2APIC support: changes for MADT and SRAT ACPI tables
Bob Moore [Mon, 4 Aug 2008 02:42:47 +0000 (10:42 +0800)]
ACPICA: x2APIC support: changes for MADT and SRAT ACPI tables

Support for the x2APIC. There are 2 new subtables for the MADT and
one new subtable for the SRAT. Includes disassembler and acpisrc
support. Data from the Intel 64 Architecture x2APIC Specification,
June 2008.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Improve object conversion error messages
Bob Moore [Mon, 4 Aug 2008 02:41:29 +0000 (10:41 +0800)]
ACPICA: Improve object conversion error messages

Better error messages during object conversion from internal
to the external ACPI_OBJECT. Used for external calls to
acpi_evaluate_object.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Add function to decode reference obj types to strings
Bob Moore [Mon, 4 Aug 2008 02:40:09 +0000 (10:40 +0800)]
ACPICA: Add function to decode reference obj types to strings

Created for improved error messages.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Update version to 20080701
Bob Moore [Mon, 4 Aug 2008 02:12:31 +0000 (10:12 +0800)]
ACPICA: Update version to 20080701

Update version to 20080701.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Return method arg count from acpi_get_object_info
Bob Moore [Fri, 4 Jul 2008 02:53:58 +0000 (10:53 +0800)]
ACPICA: Return method arg count from acpi_get_object_info

Also update the debugger so that the correct number of arguments is
passed to the method. Prevents a warning message from the debugger.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Cleanup macro definition file.
Bob Moore [Mon, 4 Aug 2008 01:54:17 +0000 (09:54 +0800)]
ACPICA: Cleanup macro definition file.

Removed unused macros. Ensure that multiple parameters always have a space
after a comma. Cleanup some comments.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Fix warning for 64-bit build
Bob Moore [Fri, 15 Aug 2008 02:32:59 +0000 (04:32 +0200)]
ACPICA: Fix warning for 64-bit build

Fixes warning from exconfig.c on 64-bit build.

AK: This actually was fixed earlier in Linux, this just syncs with
AK: the version of the fix that went into the ACPCA codebase

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Add function to dereference returned reference objects
Lin Ming [Mon, 4 Aug 2008 05:22:10 +0000 (13:22 +0800)]
ACPICA: Add function to dereference returned reference objects

Examines the return object from a call to acpi_evaluate_object.
Any Index or RefOf references are automatically dereferenced in
an attempt to return something useful (these reference types
cannot be converted into an external ACPI_OBJECT.)
Lin Ming, Bob Moore.

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

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Return status from global init function
Yi Yang [Mon, 4 Aug 2008 02:30:09 +0000 (10:30 +0800)]
ACPICA: Return status from global init function

Return status from acpi_ut_init_globals. This is used by both
the kernel subsystem and the utilities such as iASL compiler.
The function could possibly fail when the caches are initialized.
Yang Yi.

Signed-off-by: Yi Yang <yi.y.yang@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Fix table compare code, length then data
Bob Moore [Fri, 4 Jul 2008 02:57:51 +0000 (10:57 +0800)]
ACPICA: Fix table compare code, length then data

Split the ACPI table compare. First check that the lengths match
exactly. Then compare the data.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Fix wrong resource descriptor length for 64-bit build
Bob Moore [Fri, 4 Jul 2008 02:56:13 +0000 (10:56 +0800)]
ACPICA: Fix wrong resource descriptor length for 64-bit build

The "minimal" descriptors such as EndTag are calculated as 12
bytes long, but the actual length in the internal descriptor is
16 because of the round-up to 8 on 64-bit build.

http://www.acpica.org/bugzilla/show_bug.cgi?id=728

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Allow same ACPI table to be loaded/unloaded more than once
Bob Moore [Fri, 4 Jul 2008 02:48:43 +0000 (10:48 +0800)]
ACPICA: Allow same ACPI table to be loaded/unloaded more than once

Without this change, a table cannot be loaded again once it has
been loaded/unloaded one time. The current mechanism does not
unregister a table upon an unload. During a load, if the same
table is found, this no longer returns an exception.

http://www.acpica.org/bugzilla/show_bug.cgi?id=722

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Add check for invalid handle in acpi_get_object_info
Fiodor Suietov [Fri, 4 Jul 2008 02:18:34 +0000 (10:18 +0800)]
ACPICA: Add check for invalid handle in acpi_get_object_info

Return AE_BAD_PARAMETER if input handle is invalid.

http://www.acpica.org/bugzilla/show_bug.cgi?id=474

Signed-off-by: Fiodor Suietov <fiodor.f.suietov@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPICA: Copy dynamically loaded tables to local buffer
Dennis Noordsij [Fri, 15 Aug 2008 01:37:58 +0000 (09:37 +0800)]
ACPICA: Copy dynamically loaded tables to local buffer

Previously, dynamically loaded tables were simply mapped, but on some machines
this memory is corrupted after suspend. Now copy the table to a local buffer.
For OpRegion case, added checksum verify. Use the table length from the table header,
not the region length. For Buffer case, use the table length also.

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

Signed-off-by: Dennis Noordsij <dennis.noordsij@helsinki.fi>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: Fix possible null ptr dereference
donald.d.dugger@intel.com [Fri, 17 Oct 2008 14:49:50 +0000 (07:49 -0700)]
ACPI: Fix possible null ptr dereference

Code in `pci_link.c' is calling the internal routine `acpi_ut_evaluate_object'
which is dangerous given that it is passing a NULL pointer when it should
be passing a pointer to a real object.  The patch corrects the issue by
having the code call the external routine `acpi_evaluate_object', which
correctly handles a NULL pointer.

Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: remove unused acpi_is_child_device()
Len Brown [Sat, 11 Oct 2008 05:13:12 +0000 (01:13 -0400)]
ACPI: remove unused acpi_is_child_device()

Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI : Load device driver according to the status of acpi device
Zhao Yakui [Mon, 11 Aug 2008 05:40:22 +0000 (13:40 +0800)]
ACPI : Load device driver according to the status of acpi device

According to ACPI spec when the status of some device is not present
but functional, the device is valid and the children of this device
should be enumerated. It means that the device should be added to
linux acpi device tree. But the device driver for this device should not
be loaded.
    The detailed info can be found in the section 6.3.7 of ACPI 3.0b spec.
    _STA may return bit 0 clear (not present) with bit 3 set (device is
functional). This case is used to indicate a valid device for which no
device driver should be loaded (for example, a bridge device.).
Children of this device may be present and valid. OS should continue
enumeration below a device whose _STA returns this bit combination

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

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Li Shaohua <shaohua.li@intel.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: Add DMI check to disable power state check in power transition
Zhao Yakui [Mon, 11 Aug 2008 06:59:59 +0000 (14:59 +0800)]
ACPI: Add DMI check to disable power state check in power transition

Add the DMI check to disable power check in the course of device power
transistion.

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

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Li Shaohua <shaohua.li@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: Add "acpi.power_nocheck=1" to disable power state check in power transition
Zhao Yakui [Mon, 11 Aug 2008 06:57:50 +0000 (14:57 +0800)]
ACPI: Add "acpi.power_nocheck=1" to disable power state check in power transition

   Maybe the incorrect power state is returned on the bogus bios, which
is different with the real power state. For example: the bios returns D0
state and the real power state is D3. OS expects to set the device to D0
state. In  such case if OS uses the power state returned by the BIOS and
checks the device power state very strictly in power transition, the device
can't be transited to the correct power state.

   So the boot option of "acpi.power_nocheck=1" is added to avoid checking
the device power in the course of device power transition.

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

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Li Shaohua <shaohua.li@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: Attach the ACPI device to the ACPI handle as early as possible
Zhao Yakui [Mon, 11 Aug 2008 06:54:16 +0000 (14:54 +0800)]
ACPI: Attach the ACPI device to the ACPI handle as early as possible

Attach the ACPI device to the ACPI handle as early as possible so that OS
can get the corresponding ACPI device by the acpi handle in the course
of getting the power/wakeup/performance flags.

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

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: Get the device power state in the course of scanning device
Zhao Yakui [Mon, 11 Aug 2008 06:55:05 +0000 (14:55 +0800)]
ACPI: Get the device power state in the course of scanning device

Get the device power state in the course of scanning device if the device
power flag is power_managable. i.e. The device has the _PSx/_PRx object.

At the same time before the drivers/acpi/power module is loaded, there is no
relation between acpi_power_resource and acpi device. So the first parameter
of acpi_power_get_state is changed to acpi_handle.

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

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Li Shaohua <shaohua.li@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: replace AE_BAD_ADDRESS exception code with AE_ERROR
Lin Ming [Fri, 8 Aug 2008 03:57:11 +0000 (11:57 +0800)]
ACPI: replace AE_BAD_ADDRESS exception code with AE_ERROR

The AE_BAD_ADDRESS exception code is now unused in ACPICA.
For linux, it's only used at wmi.c and acer-wmi.c.
I checked both wmi.c and acer-wmi.c, the AE_BAD_ADDRESS exception code
has no special meaning. The parent functions just call AE_SUCCESS() or
AE_FAILURE() to check the return status.
So it's safe to replace AE_BAD_ADDRESS with AE_ERROR.

Signed-off-by Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: Add expand acpi.debug_layer in kernel-parameters.txt
Thomas Renninger [Mon, 11 Aug 2008 13:03:20 +0000 (15:03 +0200)]
ACPI: Add expand acpi.debug_layer in kernel-parameters.txt

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoasus-laptop: Fix the led behavior with value > 1
Corentin Chary [Wed, 24 Sep 2008 08:35:55 +0000 (10:35 +0200)]
asus-laptop: Fix the led behavior with value > 1

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

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI suspend: Fix CONFIG_ACPI_SLEEP dependence and some compilation warnings
Rafael J. Wysocki [Wed, 22 Oct 2008 18:58:43 +0000 (14:58 -0400)]
ACPI suspend: Fix CONFIG_ACPI_SLEEP dependence and some compilation warnings

Initially CONFIG_PM_SLEEP was defined as
CONFIG_SUSPEND || CONFIG_HIBERNATION and some ACPI code, most
importantly the code in drivers/acpi/main.c, was written with this
assumption.  Currently, however, CONFIG_PM_SLEEP is also set when
CONFIG_XEN_SAVE_RESTORE is set.

This causes some compilation warnings to appear in
drivers/acpi/main.c if both CONFIG_SUSPEND and CONFIG_HIBERNATION
are unset and CONFIG_PM_SLEEP is set (this was impossible before).
To fix this problem, redefine CONFIG_ACPI_SLEEP do depend directly
on CONFIG_SUSPEND || CONFIG_HIBERNATION, as originally intended, and
use it instead of CONFIG_PM_SLEEP in drivers/acpi/main.c, wherever
appropriate.

Additionally, move the acpi_target_sleep_state definition from under
the #ifdef to prevent compilation from failing in some cases.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoi7300_idle driver v1.55
Andy Henroid [Thu, 9 Oct 2008 18:45:22 +0000 (11:45 -0700)]
i7300_idle driver v1.55

The Intel 7300 Memory Controller supports dynamic throttling of memory which can
be used to save power when system is idle. This driver does the memory
throttling when all CPUs are idle on such a system.

Refer to "Intel 7300 Memory Controller Hub (MCH)" datasheet
for the config space description.

Signed-off-by: Andy Henroid <andrew.d.henroid@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
16 years agox86 allow modules to register idle notifiers
Venkatesh Pallipadi [Thu, 16 Oct 2008 20:34:43 +0000 (16:34 -0400)]
x86 allow modules to register idle notifiers

needed if the i7300_idle driver is to be modular.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: Ingore the RESET_REG_SUP bit when using ACPI reset mechanism
Zhao Yakui [Fri, 17 Oct 2008 18:22:27 +0000 (14:22 -0400)]
ACPI: Ingore the RESET_REG_SUP bit when using ACPI reset mechanism

According to ACPI 3.0, FADT.flags.RESET_REG_SUP indicates
whether the ACPI reboot mechanism is supported.

However, some boxes have this bit clear, have a valid
ACPI_RESET_REG & RESET_VALUE, and ACPI reboot is the only
mechanism that works for them after S3.

This suggests that other operating systems may not be checking
the RESET_REG_SUP bit, and are using other means to decide
whether to use the ACPI reboot mechanism or not.

Here we stop checking RESET_REG_SUP.
Instead, When acpi reboot is requested,
only the reset_register is checked. If the following
conditions are met, it indicates that the reset register is supported.
a. reset_register is not zero
b. the access width is eight
c. the bit_offset is zero

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

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoasus_acpi: whitespace and comment cleanup
Mike Dahlgren [Fri, 17 Oct 2008 18:35:14 +0000 (14:35 -0400)]
asus_acpi: whitespace and comment cleanup

Signed-off-by: Mike Dahlgren <dahlgren@gmail.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoasus-laptop: Add support for P30/P35
Torsten Krah [Fri, 17 Oct 2008 07:47:57 +0000 (09:47 +0200)]
asus-laptop: Add support for P30/P35

Add support for P30/P35.

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

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: Allow overriding to higher critical trip point.
Zhang Rui [Fri, 17 Oct 2008 06:41:20 +0000 (02:41 -0400)]
ACPI: Allow overriding to higher critical trip point.

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

lenb: Note that overriding a critical trip point
may simply fool the user into thinking that they
have control that they do not actually have.
For it is EC firmware that decides when the EC
sends Linux temperature change events, and the
EC may or may not decide to send Linux these events
anywhere in the neighborhood of the fake
override trip points.  Beware.

note also that thermal.nocrt is already available
to disable crtical trip point actios,
and thermal.crt=-1 is already available to
disabled critical trip points entirely.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: Ignore AE_NOT_FOUND error of EC _REG method and continue to initialize EC
Zhao Yakui [Fri, 17 Oct 2008 06:02:44 +0000 (02:02 -0400)]
ACPI: Ignore AE_NOT_FOUND error of EC _REG method and continue to initialize EC

On some broken BIOS the ACPI object in EC _REG method can't be found in
ACPI namespace, which causes that the status code of AE_NOT_FOUND is returned by
the EC _REG object. In such case the EC device can't be initialized correctly,
which causes that battery/AC adapter can't work normally. As the EC address
space handler is not removed and the memory pointed by its input argument is
already free, sometimes the kernel will also be panic when EC internal register
is still accessed. But the windows can work well on such broken BIOS.

Maybe it will be reasonable that OS ignores the AE_NOT_FOUND error
returned by the EC _REG object and continues to initialize EC device
on some broken BIOS.
For example: the ACPI object in EC _REG method can't be found and status error
code is AE_NOT_FOUND.

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

lenb: we may find a more general solution to this in the future.

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agodon't load asus-acpi if model is not supported
Zhang Rui [Fri, 17 Oct 2008 05:42:41 +0000 (01:42 -0400)]
don't load asus-acpi if model is not supported

asus_hotk_get_info should return -ENODEV if the model is not supported.
http://bugzilla.kernel.org/show_bug.cgi?id=10389

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI suspend: Blacklist HP xw4600 Workstation for old code ordering
Rafael J. Wysocki [Tue, 14 Oct 2008 20:54:06 +0000 (22:54 +0200)]
ACPI suspend: Blacklist HP xw4600 Workstation for old code ordering

HP xw4600 Workstation is known to require the "old" (ie. compatible
with ACPI 1.0) suspend code ordering, so blacklist it for this
purpose.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Tested-by: John Brown <john.brown3@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI Suspend: Enable ACPI during resume if SCI_EN is not set
Rafael J. Wysocki [Fri, 3 Oct 2008 22:05:05 +0000 (00:05 +0200)]
ACPI Suspend: Enable ACPI during resume if SCI_EN is not set

On some machines, like for example MSI Wind U100, the BIOS doesn't
enable ACPI before returning control to the OS, which sometimes
causes resume to fail.  This is against the ACPI specification,
which clearly states that "When the platform is waking from an S1, S2
or S3 state, OSPM assumes the hardware is already in the ACPI mode
and will not issue an ACPI_ENABLE", but it won't hurt to check the
SCI_EN bit and enable ACPI during resume from S3 if this bit is not
set.

Fortunately, we already have acpi_enable() for that, so use it in the
resume code path, before executing _BFS, in analogy with the
resume-from-hibernation code path.

NOTE: We aren't supposed to set SCI_EN directly, because it's owned
by the hardware.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Pavel Machek <pavel@suse.cz>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI suspend: Always use the 32-bit waking vector
Rafael J. Wysocki [Sat, 6 Sep 2008 11:13:01 +0000 (13:13 +0200)]
ACPI suspend: Always use the 32-bit waking vector

According to the ACPI specification 2.0c and later, the 64-bit waking vector
should be cleared and the 32-bit waking vector should be used, unless we want
the wake-up code to be called by the BIOS in Protected Mode.  Moreover, some
systems (for example HP dv5-1004nr) are known to fail to resume if the 64-bit
waking vector is used.  Therefore, modify the code to clear the 64-bit waking
vector, for FACS version 1 or greater, and set the 32-bit one before suspend.

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

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: Add the support for _TTS object
Zhao Yakui [Tue, 12 Aug 2008 02:20:22 +0000 (10:20 +0800)]
ACPI: Add the support for _TTS object

    The _TTS object is defined in the section 7.3 of acpi 3.0b spec.
    The _TTS control method is executed by the OSPM at the beginning of
the sleep transition process for S1,S2, S3, S4, and orderly S5 shutdown.
OS will invoke _TTS before it has notified any native mode device drivers
of the sleep state transition. The target sleeping state value is passed to
the _TTS control method.

    The _TTS control method is also executed by the OSPM at the end of
any sleep transition process when the system transitions to S0 from
S1, S2, S3, or S4. The _TTS object should be evaluated after it has
notified any native mode device drivers of the end of the sleep state
transition. The working state value (0) is passed to the _TTS control method.

    So it is necessary to add the support for _TTS object. The _TTS object
will be evaluated if it exists.
    At the same time a block notifier is added to the reboot notifier list so
that the _TTS object will also be evaluated when the system shutdown.

lenb: note that as of Sep 2008, I've not yet seen _TTS in any shipping BIOS.
So this patch is to future-proof Linux, rather than fix the installed base.

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

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Li Shaohua <shaohua.li@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agocpuidle: upon BIOS bug, default to default_idle rather than polling
Venkatesh Pallipadi [Thu, 16 Oct 2008 23:00:08 +0000 (19:00 -0400)]
cpuidle: upon BIOS bug, default to default_idle rather than polling

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

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: EC: Check for IBF=0 periodically if not in GPE mode
Alexey Starikovskiy [Wed, 15 Oct 2008 22:02:33 +0000 (02:02 +0400)]
ACPI: EC: Check for IBF=0 periodically if not in GPE mode

Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Tested-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agocpuidle: update the last_state acpi cpuidle reflecting actual state entered
Venkatesh Pallipadi [Mon, 29 Sep 2008 22:24:28 +0000 (15:24 -0700)]
cpuidle: update the last_state acpi cpuidle reflecting actual state entered

reflect the actual state entered in dev->last_state, when actaul state entered
is different from intended one.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agocpuidle: use last_state which can reflect the actual state entered
Venkatesh Pallipadi [Mon, 29 Sep 2008 22:24:27 +0000 (15:24 -0700)]
cpuidle: use last_state which can reflect the actual state entered

cpuidle accounts the idle time for the C-state it was trying to enter and
not to the actual state that the driver eventually entered. The driver may
select a different state than the one chosen by cpuidle due to
constraints like bus-mastering, etc.

Change the time acounting code to look at the dev->last_state after
returning from target_state->enter(). Driver can modify dev->last_state
internally, inside the enter routine to reflect the actual C-state
entered.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agosony-laptop: newline-terminate the printk for backlight change failure
Adam Jackson [Thu, 16 Oct 2008 19:15:35 +0000 (15:15 -0400)]
sony-laptop: newline-terminate the printk for backlight change failure

Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: Clear WAK_STS on resume
Matthew Garrett [Wed, 6 Aug 2008 18:12:04 +0000 (19:12 +0100)]
ACPI: Clear WAK_STS on resume

The leading other brand OS appears to clear the WAK_STS flag on resume.
When rebooted, certain BIOSes assume that the system is actually
resuming if it's still set and so fail to reboot correctly. Make sure
that it's cleared at resume time.

Comment clarified as suggested by Bob Moore

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

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
Tested-by: Romano Giannetti <romano.giannetti@gmail.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agofix CONFIG_MMCONFIG=n build warning
Pavel Vasilyev [Wed, 15 Oct 2008 21:33:48 +0000 (17:33 -0400)]
fix CONFIG_MMCONFIG=n build warning

arch/x86/kernel/acpi/boot.c:100: warning: 'acpi_mcfg_64bit_base_addr' defined
but not used

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

Signed-off-by: Pavel Vasilyev <linuxoid@tochka.ru>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: Enable EC device immediately after ACPI full initialization
Zhao Yakui [Mon, 6 Oct 2008 02:31:36 +0000 (10:31 +0800)]
ACPI: Enable EC device immediately after ACPI full initialization

when there is no ECDT table and no _INI object for EC device, it will be
enabled before scanning ACPI device. But it is too late after the following
the commit is merged.
    >commit 7752d5cfe3d11ca0bb9c673ec38bd78ba6578f8e
    > Author: Robert Hancock <hancockr@shaw.ca>
    > Date:   Fri Feb 15 01:27:20 2008 -0800
       >x86: validate against acpi motherboard resources

   After the above commit is merged, OS will check whether MCFG area is
reserved in ACPI motherboard resources by calling the function of
acpi_get_devices when there exists MCFG table. In the acpi_get_devices the _STA
object will be evaluated to check the status of the ACPI device. On some broken
BIOS the MYEC object of EC device is initialized as one, which indicates that
EC operation region is already accessible before enabling EC device.So on these
broken BIOS the EC operation region will be accessed in course of evaluating
the _STA object before enabling EC device, which causes that OS will print the
following warning messages:
    >ACPI Error (evregion-0315): No handler for Region [EC__] (ffff88007f8145e8)
[EmbeddedControl] [20080609]
    >ACPI Error (exfldio-0290): Region EmbeddedControl(3) has no handler [20080321]
    >ACPI Error (psparse-0530): Method parse/execution failed [\_SB_.PCI0.SBRG.
         EC__.BAT1._STA] (Node ffff81013fc17a00), AE_NOT_EXIST
    >ACPI Error (uteval-0233): Method execution failed [\_SB_.PCI0.SBRG.EC__.BAT1.
         _STA] (Node ffff81013fc17a00), AE_NOT_EXIST

Although the above warning message is harmless, it looks confusing.
So it is necessary to enable EC device as early as possible.Maybe it is
appropriate to enable it immediately after ACPI full initialization.

http://bugzilla.kernel.org/show_bug.cgi?id=11255
http://bugzilla.kernel.org/show_bug.cgi?id=11374
http://bugzilla.kernel.org/show_bug.cgi?id=11660

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Acked-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoSubject: ACPI dock: Use ACPI_EXCEPTION instead of printk(KERN_ERR
Thomas Renninger [Sat, 11 Oct 2008 04:15:04 +0000 (00:15 -0400)]
Subject: ACPI dock: Use ACPI_EXCEPTION instead of printk(KERN_ERR

lenb: stripped patch down to what still applied to new dock.c

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoacer-wmi: Remove private workqueue
Carlos Corbacho [Fri, 10 Oct 2008 16:33:35 +0000 (17:33 +0100)]
acer-wmi: Remove private workqueue

As per Dmitry Torokhov's suggestion, acer-wmi doesn't need a private
workqueue, so remove it.

Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoPNP: remove old CONFIG_PNP_DEBUG option
Bjorn Helgaas [Tue, 19 Aug 2008 22:53:52 +0000 (16:53 -0600)]
PNP: remove old CONFIG_PNP_DEBUG option

CONFIG_PNP_DEBUG is no longer used to turn on dev_dbg() in PNP,
since we have pnp_dbg() which can be enabled at boot-time, so
this patch removes the config option.

Note that pnp_dock_event() checks "#ifdef DEBUG".  But there's
never been a clear path for enabling that via configgery.  It
happened that CONFIG_PNP_DEBUG enabled it after 1bd17e63a068db6,
but that was accidental and only in 2.6.26.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoPNP: convert to using pnp_dbg()
Bjorn Helgaas [Tue, 19 Aug 2008 22:53:47 +0000 (16:53 -0600)]
PNP: convert to using pnp_dbg()

pnp_dbg() is equivalent to dev_dbg() except that we can turn it
on at boot-time with the "pnp.debug" kernel parameter, so we don't
have to build a new kernel image.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoPNP: add CONFIG_PNP_DEBUG_MESSAGES and pnp_dbg()
Bjorn Helgaas [Tue, 19 Aug 2008 22:53:41 +0000 (16:53 -0600)]
PNP: add CONFIG_PNP_DEBUG_MESSAGES and pnp_dbg()

This adds the core function pnp_dbg() and a new config option to
enable it.

The PNP core debugging messages can be enabled at boot-time with the
"pnp.debug" kernel parameter.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoPNP: remove some uses of DEBUG ifdef
Bjorn Helgaas [Tue, 19 Aug 2008 22:53:36 +0000 (16:53 -0600)]
PNP: remove some uses of DEBUG ifdef

Use scnprintf() to build up a buffer of PNP IDs to print.  This
makes the printk atomic and helps get rid of an #ifdef.

Also remove an "#ifdef DEBUG" from some debug functions.  The
functions only produce debug output, so it's OK to run the
function and just have the output be dropped at the end.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoPNP: use new vsprintf symbolic function pointer format
Bjorn Helgaas [Tue, 19 Aug 2008 22:53:31 +0000 (16:53 -0600)]
PNP: use new vsprintf symbolic function pointer format

Use the '%pF' format to get rid of an "#ifdef DEBUG".

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoPNP: convert the last few pnp_info() uses to printk()
Bjorn Helgaas [Tue, 19 Aug 2008 22:53:26 +0000 (16:53 -0600)]
PNP: convert the last few pnp_info() uses to printk()

There are only a few remaining uses of pnp_info(), so I just
converted them to printk and removed the pnp_err(), pnp_info(),
pnp_warn(), and pnp_dbg() wrappers.

I also removed a couple debug messages that don't seem useful any
more ("driver registered", "driver unregistered", "driver attached").

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoPNPACPI: use dev_printk when possible
Bjorn Helgaas [Tue, 19 Aug 2008 22:53:21 +0000 (16:53 -0600)]
PNPACPI: use dev_printk when possible

Use dev_printk() when possible for more informative error messages.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoPNP: fix debug formatting (cosmetic)
Bjorn Helgaas [Tue, 19 Aug 2008 22:53:16 +0000 (16:53 -0600)]
PNP: fix debug formatting (cosmetic)

This patch just fixes indentation of a couple debug messages.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agotoshiba_acpi: depends on INPUT
Randy Dunlap [Fri, 19 Sep 2008 21:06:59 +0000 (14:06 -0700)]
toshiba_acpi: depends on INPUT

CONFIG_ACPI_TOSHIBA can =y when CONFIG_INPUT=m, so prevent that
combination and its subsequent build errors:

toshiba_acpi.c:(.text+0x3e877): undefined reference to `input_event'
toshiba_acpi.c:(.text+0x3e98a): undefined reference to `input_unregister_polled_device'
toshiba_acpi.c:(.text+0x3e994): undefined reference to `input_free_polled_device'
toshiba_acpi.c:(.init.text+0x21b4): undefined reference to `input_allocate_polled_device'
toshiba_acpi.c:(.init.text+0x2263): undefined reference to `input_register_polled_device'
make[1]: *** [.tmp_vmlinux1] Error 1

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: catch calls of acpi_driver_data on pointer of wrong type
Pavel Machek [Mon, 22 Sep 2008 21:37:34 +0000 (14:37 -0700)]
ACPI: catch calls of acpi_driver_data on pointer of wrong type

Catch attempts to use of acpi_driver_data on pointers of wrong type.

akpm: rewritten to use proper C typechecking and remove the
"function"-used-as-lvalue thing.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: toshiba_acpi.c fix sparse signedness mismatch warnings
Harvey Harrison [Mon, 22 Sep 2008 21:37:29 +0000 (14:37 -0700)]
ACPI: toshiba_acpi.c fix sparse signedness mismatch warnings

set_bit expects unsigned int, and we start with a u32 anyway.
drivers/acpi/toshiba_acpi.c:397:14: warning: incorrect type in argument 1 (different signedness)
drivers/acpi/toshiba_acpi.c:397:14:    expected unsigned int [usertype] *word
drivers/acpi/toshiba_acpi.c:397:14:    got int *<noident>
drivers/acpi/toshiba_acpi.c:399:14: warning: incorrect type in argument 1 (different signedness)
drivers/acpi/toshiba_acpi.c:399:14:    expected unsigned int [usertype] *word
drivers/acpi/toshiba_acpi.c:399:14:    got int *<noident>
drivers/acpi/toshiba_acpi.c:401:14: warning: incorrect type in argument 1 (different signedness)
drivers/acpi/toshiba_acpi.c:401:14:    expected unsigned int [usertype] *word
drivers/acpi/toshiba_acpi.c:401:14:    got int *<noident>

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: acpi_driver_data could only be applied to acpi_device
Alexey Starikovskiy [Wed, 10 Sep 2008 10:33:43 +0000 (14:33 +0400)]
ACPI: acpi_driver_data could only be applied to acpi_device

Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
CC: Hannes Reinecke <hare@suse.de>
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agox86: trim ACPI sleep stack buffer
Matt Mackall [Thu, 9 Oct 2008 16:56:21 +0000 (11:56 -0500)]
x86: trim ACPI sleep stack buffer

x86_64 SMP suspend to RAM uses a 10k temporary stack for saving the
kernel state, but only 4k of it is used. Shrink it to 4k.

Signed-off-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: Len Brown <len.brown@intel.com>