Lines Matching defs:handler
64 /* returns 0 if the split timeout handler is already running */
529 struct fw_address_handler *handler;
531 list_for_each_entry_rcu(handler, list, link) {
532 if (handler->offset < offset + length &&
533 offset < handler->offset + handler->length)
534 return handler;
540 static bool is_enclosing_handler(struct fw_address_handler *handler,
543 return handler->offset <= offset &&
544 offset + length <= handler->offset + handler->length;
550 struct fw_address_handler *handler;
552 list_for_each_entry_rcu(handler, list, link) {
553 if (is_enclosing_handler(handler, offset, length))
554 return handler;
582 * @handler: callback
585 * region->start, ->end, and handler->length have to be quadlet-aligned.
594 * The start offset of the handler's address region is determined by
595 * fw_core_add_address_handler() and is returned in handler->offset.
599 int fw_core_add_address_handler(struct fw_address_handler *handler,
608 handler->length & 3 ||
609 handler->length == 0)
614 handler->offset = region->start;
615 while (handler->offset + handler->length <= region->end) {
616 if (is_in_fcp_region(handler->offset, handler->length))
621 handler->offset, handler->length);
623 handler->offset += other->length;
625 list_add_tail_rcu(&handler->link, &address_handler_list);
638 * fw_core_remove_address_handler() - unregister an address handler
639 * @handler: callback
643 * When fw_core_remove_address_handler() returns, @handler->callback() is
646 void fw_core_remove_address_handler(struct fw_address_handler *handler)
649 list_del_rcu(&handler->link);
926 struct fw_address_handler *handler;
936 handler = lookup_enclosing_address_handler(&address_handler_list,
938 if (handler)
939 handler->address_callback(card, request,
943 handler->callback_data);
946 if (!handler)
955 struct fw_address_handler *handler;
978 list_for_each_entry_rcu(handler, &address_handler_list, link) {
979 if (is_enclosing_handler(handler, offset, request->length))
980 handler->address_callback(card, request, tcode,
985 handler->callback_data);
1087 * The response handler may be executed while the request handler
1088 * is still pending. Cancel the request handler.