Pass a handle to evaluate_object as start point.

This commit is contained in:
Fredrik Holmqvist 2012-12-15 14:10:11 +01:00
parent 4ef95cb195
commit 92d766df7c
3 changed files with 11 additions and 10 deletions

View File

@ -236,8 +236,8 @@ struct acpi_module_info {
/* Control method execution and data acquisition */ /* Control method execution and data acquisition */
status_t (*evaluate_object)(const char* object, status_t (*evaluate_object)(acpi_handle handle, const char* object,
acpi_object_type *returnValue, size_t bufferLength); acpi_objects *args, acpi_object_type *returnValue, size_t bufferLength);
status_t (*evaluate_method)(acpi_handle handle, const char *method, status_t (*evaluate_method)(acpi_handle handle, const char *method,
acpi_objects *args, acpi_data *returnValue); acpi_objects *args, acpi_data *returnValue);

View File

@ -115,8 +115,9 @@ typedef struct acpi_root_info {
/* Control method execution and data acquisition */ /* Control method execution and data acquisition */
status_t (*evaluate_object)(const char* object, status_t (*evaluate_object)(acpi_handle handle, const char* object,
acpi_object_type *returnValue, size_t bufferLength); acpi_objects *args, acpi_object_type *returnValue,
size_t bufferLength);
status_t (*evaluate_method)(acpi_handle handle, const char *method, status_t (*evaluate_method)(acpi_handle handle, const char *method,
acpi_objects *args, acpi_data *returnValue); acpi_objects *args, acpi_data *returnValue);
@ -203,8 +204,8 @@ status_t get_object_typed(const char* path, acpi_object_type** _returnValue,
uint32 object_type); uint32 object_type);
status_t ns_handle_to_pathname(acpi_handle targetHandle, acpi_data* buffer); status_t ns_handle_to_pathname(acpi_handle targetHandle, acpi_data* buffer);
status_t evaluate_object(const char* object, acpi_object_type* returnValue, status_t evaluate_object(acpi_handle handle, const char* object,
size_t bufferLength); acpi_objects* args, acpi_object_type* returnValue, size_t bufferLength);
status_t evaluate_method(acpi_handle handle, const char* method, status_t evaluate_method(acpi_handle handle, const char* method,
acpi_objects* args, acpi_data* returnValue); acpi_objects* args, acpi_data* returnValue);

View File

@ -554,8 +554,8 @@ ns_handle_to_pathname(acpi_handle targetHandle, acpi_data *buffer)
status_t status_t
evaluate_object(const char* object, acpi_object_type* returnValue, evaluate_object(acpi_handle handle, const char* object, acpi_objects *args,
size_t bufferLength) acpi_object_type* returnValue, size_t bufferLength)
{ {
ACPI_BUFFER buffer; ACPI_BUFFER buffer;
ACPI_STATUS status; ACPI_STATUS status;
@ -563,8 +563,8 @@ evaluate_object(const char* object, acpi_object_type* returnValue,
buffer.Pointer = returnValue; buffer.Pointer = returnValue;
buffer.Length = bufferLength; buffer.Length = bufferLength;
status = AcpiEvaluateObject(NULL, (ACPI_STRING)object, NULL, status = AcpiEvaluateObject(handle, (ACPI_STRING)object,
returnValue != NULL ? &buffer : NULL); (ACPI_OBJECT_LIST*)args, returnValue != NULL ? &buffer : NULL);
if (status == AE_BUFFER_OVERFLOW) if (status == AE_BUFFER_OVERFLOW)
dprintf("evaluate_object: the passed buffer is too small!\n"); dprintf("evaluate_object: the passed buffer is too small!\n");