diff options
author | Bob Moore <robert.moore@intel.com> | 2012-08-17 13:07:54 +0800 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2012-09-21 00:26:17 -0400 |
commit | be030a576854238250d70135644cde6a0ba34b0d (patch) | |
tree | a7521a65df5e117ef6aec3fcaa8160be7596a495 /include/acpi/acpixf.h | |
parent | 4e2f9c278ad84196991fcf6f6646a3e15967fe90 (diff) | |
download | talos-obmc-linux-be030a576854238250d70135644cde6a0ba34b0d.tar.gz talos-obmc-linux-be030a576854238250d70135644cde6a0ba34b0d.zip |
ACPICA: Add support for complex _PLD buffers.
_PLD (Physical Location of Device) returns a bit-packed buffer that
is difficult to parse. This change adds a new interface,
AcpiDecodePldBuffer that parses the buffer into a more usable
local struct. Also adds macros to both get and set individual
fields within the packed _PLD buffer. Adds a new include file,
acbuffer.h - which will be expanded to add structs for other
ACPI names that return buffers. ACPICA BZ 954.
Emit (in comments) the decoded contents of a static _PLD buffer
in order to improve comprehension of this bit-packed buffer.
Add multi-endian support to the _PLD decode routine. Deploy the
multi-endian macros to extract data from the _PLD buffer.
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Feng Tang <feng.tang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/acpi/acpixf.h')
-rw-r--r-- | include/acpi/acpixf.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h index 26a92fc28a59..270517d6b1b8 100644 --- a/include/acpi/acpixf.h +++ b/include/acpi/acpixf.h @@ -52,6 +52,7 @@ #include "acconfig.h" #include "actypes.h" #include "actbl.h" +#include "acbuffer.h" extern u8 acpi_gbl_permanent_mmap; @@ -144,6 +145,10 @@ acpi_check_address_range(acpi_adr_space_type space_id, acpi_physical_address address, acpi_size length, u8 warn); +acpi_status +acpi_decode_pld_buffer(u8 *in_buffer, + acpi_size length, struct acpi_pld_info **return_buffer); + /* * ACPI Memory management */ |