ACPICA: Add support for multiple notify handlers
This change adds support to allow multiple notify handlers on Device, ThermalZone, and Processor objects. Also re-worked and restructured the entire notify support code for handler installation, handler removal, notify event queuing, and notify dispatch to handler. Extends and updates original commit 3f0be67("ACPI / ACPICA: Multiple system notify handlers per device") by Rafael Wysocki. Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Lin Ming <ming.m.lin@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Cette révision appartient à :
@@ -600,13 +600,22 @@ acpi_status(*acpi_parse_downwards) (struct acpi_walk_state * walk_state,
|
||||
|
||||
typedef acpi_status(*acpi_parse_upwards) (struct acpi_walk_state * walk_state);
|
||||
|
||||
/* Global handlers for AML Notifies */
|
||||
|
||||
struct acpi_global_notify_handler {
|
||||
acpi_notify_handler handler;
|
||||
void *context;
|
||||
};
|
||||
|
||||
/*
|
||||
* Notify info - used to pass info to the deferred notify
|
||||
* handler/dispatcher.
|
||||
*/
|
||||
struct acpi_notify_info {
|
||||
ACPI_STATE_COMMON struct acpi_namespace_node *node;
|
||||
union acpi_operand_object *handler_obj;
|
||||
ACPI_STATE_COMMON u8 handler_list_id;
|
||||
struct acpi_namespace_node *node;
|
||||
union acpi_operand_object *handler_list_head;
|
||||
struct acpi_global_notify_handler *global;
|
||||
};
|
||||
|
||||
/* Generic state is union of structs above */
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur