Lines Matching refs:handler
167 struct acpi_ec_query_handler *handler; member
941 acpi_ec_get_query_handler(struct acpi_ec_query_handler *handler) in acpi_ec_get_query_handler() argument
943 if (handler) in acpi_ec_get_query_handler()
944 kref_get(&handler->kref); in acpi_ec_get_query_handler()
945 return handler; in acpi_ec_get_query_handler()
951 struct acpi_ec_query_handler *handler; in acpi_ec_get_query_handler_by_value() local
955 list_for_each_entry(handler, &ec->list, node) { in acpi_ec_get_query_handler_by_value()
956 if (value == handler->query_bit) { in acpi_ec_get_query_handler_by_value()
962 return found ? acpi_ec_get_query_handler(handler) : NULL; in acpi_ec_get_query_handler_by_value()
967 struct acpi_ec_query_handler *handler = in acpi_ec_query_handler_release() local
970 kfree(handler); in acpi_ec_query_handler_release()
973 static void acpi_ec_put_query_handler(struct acpi_ec_query_handler *handler) in acpi_ec_put_query_handler() argument
975 kref_put(&handler->kref, acpi_ec_query_handler_release); in acpi_ec_put_query_handler()
982 struct acpi_ec_query_handler *handler = in acpi_ec_add_query_handler() local
985 if (!handler) in acpi_ec_add_query_handler()
988 handler->query_bit = query_bit; in acpi_ec_add_query_handler()
989 handler->handle = handle; in acpi_ec_add_query_handler()
990 handler->func = func; in acpi_ec_add_query_handler()
991 handler->data = data; in acpi_ec_add_query_handler()
993 kref_init(&handler->kref); in acpi_ec_add_query_handler()
994 list_add(&handler->node, &ec->list); in acpi_ec_add_query_handler()
1003 struct acpi_ec_query_handler *handler, *tmp; in acpi_ec_remove_query_handlers() local
1007 list_for_each_entry_safe(handler, tmp, &ec->list, node) { in acpi_ec_remove_query_handlers()
1008 if (remove_all || query_bit == handler->query_bit) { in acpi_ec_remove_query_handlers()
1009 list_del_init(&handler->node); in acpi_ec_remove_query_handlers()
1010 list_add(&handler->node, &free_list); in acpi_ec_remove_query_handlers()
1014 list_for_each_entry_safe(handler, tmp, &free_list, node) in acpi_ec_remove_query_handlers()
1015 acpi_ec_put_query_handler(handler); in acpi_ec_remove_query_handlers()
1043 if (q->handler) in acpi_ec_delete_query()
1044 acpi_ec_put_query_handler(q->handler); in acpi_ec_delete_query()
1052 struct acpi_ec_query_handler *handler = q->handler; in acpi_ec_event_processor() local
1054 ec_dbg_evt("Query(0x%02x) started", handler->query_bit); in acpi_ec_event_processor()
1055 if (handler->func) in acpi_ec_event_processor()
1056 handler->func(handler->data); in acpi_ec_event_processor()
1057 else if (handler->handle) in acpi_ec_event_processor()
1058 acpi_evaluate_object(handler->handle, NULL, NULL, NULL); in acpi_ec_event_processor()
1059 ec_dbg_evt("Query(0x%02x) stopped", handler->query_bit); in acpi_ec_event_processor()
1084 q->handler = acpi_ec_get_query_handler_by_value(ec, value); in acpi_ec_query()
1085 if (!q->handler) { in acpi_ec_query()