diff options
author | Bob Moore <robert.moore@intel.com> | 2009-06-29 01:39:29 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2009-08-27 10:17:15 -0400 |
commit | 15b8dd53f5ffaf8e2d9095c423f713423f576c0f (patch) | |
tree | 773f09435b14a810372642502352d46c29b6f148 /drivers/char | |
parent | 9c61b34cf7078da72cce276ff8cfae5d6e9955bc (diff) |
ACPICA: Major update for acpi_get_object_info external interface
Completed a major update for the acpi_get_object_info external interface.
Changes include:
- Support for variable, unlimited length HID, UID, and CID strings
- Support Processor objects the same as Devices (HID,UID,CID,ADR,STA, etc.)
- Call the _SxW power methods on behalf of a device object
- Determine if a device is a PCI root bridge
- Change the ACPI_BUFFER parameter to ACPI_DEVICE_INFO.
These changes will require an update to all callers of this interface.
See the ACPICA Programmer Reference for details.
Also, update all invocations of acpi_get_object_info interface
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>
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/agp/hp-agp.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/char/agp/hp-agp.c b/drivers/char/agp/hp-agp.c index 8f3d4c184914..7bead4c816ca 100644 --- a/drivers/char/agp/hp-agp.c +++ b/drivers/char/agp/hp-agp.c | |||
@@ -478,7 +478,6 @@ zx1_gart_probe (acpi_handle obj, u32 depth, void *context, void **ret) | |||
478 | { | 478 | { |
479 | acpi_handle handle, parent; | 479 | acpi_handle handle, parent; |
480 | acpi_status status; | 480 | acpi_status status; |
481 | struct acpi_buffer buffer; | ||
482 | struct acpi_device_info *info; | 481 | struct acpi_device_info *info; |
483 | u64 lba_hpa, sba_hpa, length; | 482 | u64 lba_hpa, sba_hpa, length; |
484 | int match; | 483 | int match; |
@@ -490,13 +489,11 @@ zx1_gart_probe (acpi_handle obj, u32 depth, void *context, void **ret) | |||
490 | /* Look for an enclosing IOC scope and find its CSR space */ | 489 | /* Look for an enclosing IOC scope and find its CSR space */ |
491 | handle = obj; | 490 | handle = obj; |
492 | do { | 491 | do { |
493 | buffer.length = ACPI_ALLOCATE_LOCAL_BUFFER; | 492 | status = acpi_get_object_info(handle, &info); |
494 | status = acpi_get_object_info(handle, &buffer); | ||
495 | if (ACPI_SUCCESS(status)) { | 493 | if (ACPI_SUCCESS(status)) { |
496 | /* TBD check _CID also */ | 494 | /* TBD check _CID also */ |
497 | info = buffer.pointer; | 495 | info->hardware_id.string[sizeof(info->hardware_id.length)-1] = '\0'; |
498 | info->hardware_id.value[sizeof(info->hardware_id)-1] = '\0'; | 496 | match = (strcmp(info->hardware_id.string, "HWP0001") == 0); |
499 | match = (strcmp(info->hardware_id.value, "HWP0001") == 0); | ||
500 | kfree(info); | 497 | kfree(info); |
501 | if (match) { | 498 | if (match) { |
502 | status = hp_acpi_csr_space(handle, &sba_hpa, &length); | 499 | status = hp_acpi_csr_space(handle, &sba_hpa, &length); |