diff options
author | Len Brown <len.brown@intel.com> | 2006-07-10 01:22:28 +0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2006-07-10 01:22:28 +0400 |
commit | c8f7a62cdde461914c6457d5f4362538ed810bf4 (patch) | |
tree | 62f8cc2dc2b1c9abb6364b16f3b218a04d121f3e /drivers/acpi/scan.c | |
parent | 953969ddf5b049361ed1e8471cc43dc4134d2a6f (diff) | |
download | linux-c8f7a62cdde461914c6457d5f4362538ed810bf4.tar.xz |
Revert "Revert "ACPI: dock driver""
This reverts 953969ddf5b049361ed1e8471cc43dc4134d2a6f commit.
Diffstat (limited to 'drivers/acpi/scan.c')
-rw-r--r-- | drivers/acpi/scan.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index cac4fcdcfc8d..5fcb50c7b778 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c @@ -663,6 +663,29 @@ static int acpi_bus_find_driver(struct acpi_device *device) Device Enumeration -------------------------------------------------------------------------- */ +acpi_status +acpi_bus_get_ejd(acpi_handle handle, acpi_handle *ejd) +{ + acpi_status status; + acpi_handle tmp; + struct acpi_buffer buffer = {ACPI_ALLOCATE_BUFFER, NULL}; + union acpi_object *obj; + + status = acpi_get_handle(handle, "_EJD", &tmp); + if (ACPI_FAILURE(status)) + return status; + + status = acpi_evaluate_object(handle, "_EJD", NULL, &buffer); + if (ACPI_SUCCESS(status)) { + obj = buffer.pointer; + status = acpi_get_handle(NULL, obj->string.pointer, ejd); + kfree(buffer.pointer); + } + return status; +} +EXPORT_SYMBOL_GPL(acpi_bus_get_ejd); + + static int acpi_bus_get_flags(struct acpi_device *device) { acpi_status status = AE_OK; |