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/acpi/acpi_memhotplug.c | |
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/acpi/acpi_memhotplug.c')
-rw-r--r-- | drivers/acpi/acpi_memhotplug.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/acpi/acpi_memhotplug.c b/drivers/acpi/acpi_memhotplug.c index 9a62224cc278..80eacbe157e2 100644 --- a/drivers/acpi/acpi_memhotplug.c +++ b/drivers/acpi/acpi_memhotplug.c | |||
@@ -481,26 +481,23 @@ static acpi_status is_memory_device(acpi_handle handle) | |||
481 | { | 481 | { |
482 | char *hardware_id; | 482 | char *hardware_id; |
483 | acpi_status status; | 483 | acpi_status status; |
484 | struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; | ||
485 | struct acpi_device_info *info; | 484 | struct acpi_device_info *info; |
486 | 485 | ||
487 | 486 | status = acpi_get_object_info(handle, &info); | |
488 | status = acpi_get_object_info(handle, &buffer); | ||
489 | if (ACPI_FAILURE(status)) | 487 | if (ACPI_FAILURE(status)) |
490 | return status; | 488 | return status; |
491 | 489 | ||
492 | info = buffer.pointer; | ||
493 | if (!(info->valid & ACPI_VALID_HID)) { | 490 | if (!(info->valid & ACPI_VALID_HID)) { |
494 | kfree(buffer.pointer); | 491 | kfree(info); |
495 | return AE_ERROR; | 492 | return AE_ERROR; |
496 | } | 493 | } |
497 | 494 | ||
498 | hardware_id = info->hardware_id.value; | 495 | hardware_id = info->hardware_id.string; |
499 | if ((hardware_id == NULL) || | 496 | if ((hardware_id == NULL) || |
500 | (strcmp(hardware_id, ACPI_MEMORY_DEVICE_HID))) | 497 | (strcmp(hardware_id, ACPI_MEMORY_DEVICE_HID))) |
501 | status = AE_ERROR; | 498 | status = AE_ERROR; |
502 | 499 | ||
503 | kfree(buffer.pointer); | 500 | kfree(info); |
504 | return status; | 501 | return status; |
505 | } | 502 | } |
506 | 503 | ||