diff options
author | Kristen Accardi <kristen.c.accardi@intel.com> | 2006-06-28 03:07:16 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2006-06-28 03:07:16 -0400 |
commit | a5e1b94008f2a96abf4a0c0371a55a56b320c13e (patch) | |
tree | 3e3a254fdbc565c4f85a66cc6dfaa60319e919a9 /drivers/acpi/scan.c | |
parent | a6a888b3c20cf559c8a2e6e4d86c570dda2ef0f5 (diff) | |
download | op-kernel-dev-a5e1b94008f2a96abf4a0c0371a55a56b320c13e.zip op-kernel-dev-a5e1b94008f2a96abf4a0c0371a55a56b320c13e.tar.gz |
ACPI: dock driver
Create a driver which lives in the acpi subsystem to handle dock events.
This driver is not an "ACPI" driver, because acpi drivers require that the
object be present when the driver is loaded.
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Cc: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
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 a7b1fda..401e723 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; |