Skip to content

Commit

Permalink
ACPICA: Events: Uses common_notify for address space handlers
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Lv Zheng authored and Rafael J. Wysocki committed Jan 1, 2016
1 parent f31a99c commit aa6abd2
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 19 deletions.
6 changes: 3 additions & 3 deletions drivers/acpi/acpica/dbdisply.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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) {
Expand Down Expand Up @@ -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->
Expand Down
12 changes: 7 additions & 5 deletions drivers/acpi/acpica/evhandler.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 */

Expand Down Expand Up @@ -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? */
Expand Down Expand Up @@ -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) {
Expand Down Expand Up @@ -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
Expand Down
10 changes: 1 addition & 9 deletions drivers/acpi/acpica/evrgnini.c
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
4 changes: 2 additions & 2 deletions drivers/acpi/acpica/evxfregn.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down

0 comments on commit aa6abd2

Please sign in to comment.