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/5ea0fb75
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Lv Zheng 2015-12-29 14:02:08 +08:00 committed by Rafael J. Wysocki
parent f31a99cefd
commit aa6abd2be1
4 changed files with 13 additions and 19 deletions

View File

@ -957,7 +957,7 @@ void acpi_db_display_handlers(void)
handler_obj =
acpi_ev_find_region_handler(space_id,
obj_desc->device.
obj_desc->common_notify.
handler);
if (handler_obj) {
acpi_os_printf(ACPI_HANDLER_PRESENT_STRING,
@ -980,7 +980,7 @@ found_handler: ;
/* Find all handlers for user-defined space_IDs */
handler_obj = obj_desc->device.handler;
handler_obj = obj_desc->common_notify.handler;
while (handler_obj) {
if (handler_obj->address_space.space_id >=
ACPI_USER_REGION_BEGIN) {
@ -1082,7 +1082,7 @@ acpi_db_display_non_root_handlers(acpi_handle obj_handle,
/* Display all handlers associated with this device */
handler_obj = obj_desc->device.handler;
handler_obj = obj_desc->common_notify.handler;
while (handler_obj) {
acpi_os_printf(ACPI_PREDEFINED_PREFIX,
acpi_ut_get_region_name((u8)handler_obj->

View File

@ -159,7 +159,7 @@ acpi_ev_has_default_handler(struct acpi_namespace_node *node,
obj_desc = acpi_ns_get_attached_object(node);
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 */
@ -250,7 +250,8 @@ acpi_ev_install_handler(acpi_handle obj_handle,
next_handler_obj =
acpi_ev_find_region_handler(handler_obj->address_space.
space_id,
obj_desc->device.handler);
obj_desc->common_notify.
handler);
if (next_handler_obj) {
/* Found a handler, is it for the same address space? */
@ -444,7 +445,8 @@ acpi_ev_install_space_handler(struct acpi_namespace_node * node,
* the handler is not already installed.
*/
handler_obj = acpi_ev_find_region_handler(space_id,
obj_desc->device.
obj_desc->
common_notify.
handler);
if (handler_obj) {
@ -531,13 +533,13 @@ acpi_ev_install_space_handler(struct acpi_namespace_node * node,
/* 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.
* 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

View File

@ -566,18 +566,10 @@ acpi_ev_initialize_region(union acpi_operand_object *region_obj,
switch (node->type) {
case ACPI_TYPE_DEVICE:
handler_obj = obj_desc->device.handler;
break;
case ACPI_TYPE_PROCESSOR:
handler_obj = obj_desc->processor.handler;
break;
case ACPI_TYPE_THERMAL:
handler_obj = obj_desc->thermal_zone.handler;
handler_obj = obj_desc->common_notify.handler;
break;
case ACPI_TYPE_METHOD:

View File

@ -216,8 +216,8 @@ acpi_remove_address_space_handler(acpi_handle device,
/* Find the address handler the user requested */
handler_obj = obj_desc->device.handler;
last_obj_ptr = &obj_desc->device.handler;
handler_obj = obj_desc->common_notify.handler;
last_obj_ptr = &obj_desc->common_notify.handler;
while (handler_obj) {
/* We have a handler, see if user requested this one */