Commit aa6abd2b authored by Lv Zheng's avatar Lv Zheng Committed by Rafael J. Wysocki

ACPICA: Events: Uses common_notify for address space handlers

ACPICA commit 5ea0fb75fdf1aa7c0aba067dfa4d5dc3a9279461

The address space handlers can be attached to not only Device but also
Processor/thermal_zone objects, so it is better to use their common
class 'CommonNotify' instead. Lv Zheng.

Link: https://github.com/acpica/acpica/commit/5ea0fb75Signed-off-by: default avatarLv Zheng <lv.zheng@intel.com>
Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent f31a99ce
...@@ -957,7 +957,7 @@ void acpi_db_display_handlers(void) ...@@ -957,7 +957,7 @@ void acpi_db_display_handlers(void)
handler_obj = handler_obj =
acpi_ev_find_region_handler(space_id, acpi_ev_find_region_handler(space_id,
obj_desc->device. obj_desc->common_notify.
handler); handler);
if (handler_obj) { if (handler_obj) {
acpi_os_printf(ACPI_HANDLER_PRESENT_STRING, acpi_os_printf(ACPI_HANDLER_PRESENT_STRING,
...@@ -980,7 +980,7 @@ found_handler: ; ...@@ -980,7 +980,7 @@ found_handler: ;
/* Find all handlers for user-defined space_IDs */ /* Find all handlers for user-defined space_IDs */
handler_obj = obj_desc->device.handler; handler_obj = obj_desc->common_notify.handler;
while (handler_obj) { while (handler_obj) {
if (handler_obj->address_space.space_id >= if (handler_obj->address_space.space_id >=
ACPI_USER_REGION_BEGIN) { ACPI_USER_REGION_BEGIN) {
...@@ -1082,7 +1082,7 @@ acpi_db_display_non_root_handlers(acpi_handle obj_handle, ...@@ -1082,7 +1082,7 @@ acpi_db_display_non_root_handlers(acpi_handle obj_handle,
/* Display all handlers associated with this device */ /* Display all handlers associated with this device */
handler_obj = obj_desc->device.handler; handler_obj = obj_desc->common_notify.handler;
while (handler_obj) { while (handler_obj) {
acpi_os_printf(ACPI_PREDEFINED_PREFIX, acpi_os_printf(ACPI_PREDEFINED_PREFIX,
acpi_ut_get_region_name((u8)handler_obj-> acpi_ut_get_region_name((u8)handler_obj->
......
...@@ -159,7 +159,7 @@ acpi_ev_has_default_handler(struct acpi_namespace_node *node, ...@@ -159,7 +159,7 @@ acpi_ev_has_default_handler(struct acpi_namespace_node *node,
obj_desc = acpi_ns_get_attached_object(node); obj_desc = acpi_ns_get_attached_object(node);
if (obj_desc) { if (obj_desc) {
handler_obj = obj_desc->device.handler; handler_obj = obj_desc->common_notify.handler;
/* Walk the linked list of handlers for this object */ /* Walk the linked list of handlers for this object */
...@@ -250,7 +250,8 @@ acpi_ev_install_handler(acpi_handle obj_handle, ...@@ -250,7 +250,8 @@ acpi_ev_install_handler(acpi_handle obj_handle,
next_handler_obj = next_handler_obj =
acpi_ev_find_region_handler(handler_obj->address_space. acpi_ev_find_region_handler(handler_obj->address_space.
space_id, space_id,
obj_desc->device.handler); obj_desc->common_notify.
handler);
if (next_handler_obj) { if (next_handler_obj) {
/* Found a handler, is it for the same address space? */ /* Found a handler, is it for the same address space? */
...@@ -444,7 +445,8 @@ acpi_ev_install_space_handler(struct acpi_namespace_node * node, ...@@ -444,7 +445,8 @@ acpi_ev_install_space_handler(struct acpi_namespace_node * node,
* the handler is not already installed. * the handler is not already installed.
*/ */
handler_obj = acpi_ev_find_region_handler(space_id, handler_obj = acpi_ev_find_region_handler(space_id,
obj_desc->device. obj_desc->
common_notify.
handler); handler);
if (handler_obj) { if (handler_obj) {
...@@ -531,13 +533,13 @@ acpi_ev_install_space_handler(struct acpi_namespace_node * node, ...@@ -531,13 +533,13 @@ acpi_ev_install_space_handler(struct acpi_namespace_node * node,
/* Install at head of Device.address_space list */ /* Install at head of Device.address_space list */
handler_obj->address_space.next = obj_desc->device.handler; handler_obj->address_space.next = obj_desc->common_notify.handler;
/* /*
* The Device object is the first reference on the handler_obj. * The Device object is the first reference on the handler_obj.
* Each region that uses the handler adds a reference. * Each region that uses the handler adds a reference.
*/ */
obj_desc->device.handler = handler_obj; obj_desc->common_notify.handler = handler_obj;
/* /*
* Walk the namespace finding all of the regions this handler will * Walk the namespace finding all of the regions this handler will
......
...@@ -566,18 +566,10 @@ acpi_ev_initialize_region(union acpi_operand_object *region_obj, ...@@ -566,18 +566,10 @@ acpi_ev_initialize_region(union acpi_operand_object *region_obj,
switch (node->type) { switch (node->type) {
case ACPI_TYPE_DEVICE: case ACPI_TYPE_DEVICE:
handler_obj = obj_desc->device.handler;
break;
case ACPI_TYPE_PROCESSOR: case ACPI_TYPE_PROCESSOR:
handler_obj = obj_desc->processor.handler;
break;
case ACPI_TYPE_THERMAL: case ACPI_TYPE_THERMAL:
handler_obj = obj_desc->thermal_zone.handler; handler_obj = obj_desc->common_notify.handler;
break; break;
case ACPI_TYPE_METHOD: case ACPI_TYPE_METHOD:
......
...@@ -216,8 +216,8 @@ acpi_remove_address_space_handler(acpi_handle device, ...@@ -216,8 +216,8 @@ acpi_remove_address_space_handler(acpi_handle device,
/* Find the address handler the user requested */ /* Find the address handler the user requested */
handler_obj = obj_desc->device.handler; handler_obj = obj_desc->common_notify.handler;
last_obj_ptr = &obj_desc->device.handler; last_obj_ptr = &obj_desc->common_notify.handler;
while (handler_obj) { while (handler_obj) {
/* We have a handler, see if user requested this one */ /* We have a handler, see if user requested this one */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment