|
@@ -756,10 +756,15 @@ static acpi_status
|
|
acpi_ec_register_query_methods(acpi_handle handle, u32 level,
|
|
acpi_ec_register_query_methods(acpi_handle handle, u32 level,
|
|
void *context, void **return_value)
|
|
void *context, void **return_value)
|
|
{
|
|
{
|
|
- struct acpi_namespace_node *node = handle;
|
|
|
|
|
|
+ char node_name[5];
|
|
|
|
+ struct acpi_buffer buffer = { sizeof(node_name), node_name };
|
|
struct acpi_ec *ec = context;
|
|
struct acpi_ec *ec = context;
|
|
int value = 0;
|
|
int value = 0;
|
|
- if (sscanf(node->name.ascii, "_Q%x", &value) == 1) {
|
|
|
|
|
|
+ acpi_status status;
|
|
|
|
+
|
|
|
|
+ status = acpi_get_name(handle, ACPI_SINGLE_NAME, &buffer);
|
|
|
|
+
|
|
|
|
+ if (ACPI_SUCCESS(status) && sscanf(node_name, "_Q%x", &value) == 1) {
|
|
acpi_ec_add_query_handler(ec, value, handle, NULL, NULL);
|
|
acpi_ec_add_query_handler(ec, value, handle, NULL, NULL);
|
|
}
|
|
}
|
|
return AE_OK;
|
|
return AE_OK;
|