Lines Matching refs:handle

96 static unsigned int input_to_handler(struct input_handle *handle,  in input_to_handler()  argument
99 struct input_handler *handler = handle->handler; in input_to_handler()
105 if (handler->filter(handle, v->type, v->code, v->value)) in input_to_handler()
118 handler->events(handle, vals, count); in input_to_handler()
121 handler->event(handle, v->type, v->code, v->value); in input_to_handler()
134 struct input_handle *handle; in input_pass_values() local
142 handle = rcu_dereference(dev->grab); in input_pass_values()
143 if (handle) { in input_pass_values()
144 count = input_to_handler(handle, vals, count); in input_pass_values()
146 list_for_each_entry_rcu(handle, &dev->h_list, d_node) in input_pass_values()
147 if (handle->open) { in input_pass_values()
148 count = input_to_handler(handle, vals, count); in input_pass_values()
454 void input_inject_event(struct input_handle *handle, in input_inject_event() argument
457 struct input_dev *dev = handle->dev; in input_inject_event()
466 if (!grab || grab == handle) in input_inject_event()
521 int input_grab_device(struct input_handle *handle) in input_grab_device() argument
523 struct input_dev *dev = handle->dev; in input_grab_device()
535 rcu_assign_pointer(dev->grab, handle); in input_grab_device()
543 static void __input_release_device(struct input_handle *handle) in __input_release_device() argument
545 struct input_dev *dev = handle->dev; in __input_release_device()
550 if (grabber == handle) { in __input_release_device()
555 list_for_each_entry(handle, &dev->h_list, d_node) in __input_release_device()
556 if (handle->open && handle->handler->start) in __input_release_device()
557 handle->handler->start(handle); in __input_release_device()
570 void input_release_device(struct input_handle *handle) in input_release_device() argument
572 struct input_dev *dev = handle->dev; in input_release_device()
575 __input_release_device(handle); in input_release_device()
587 int input_open_device(struct input_handle *handle) in input_open_device() argument
589 struct input_dev *dev = handle->dev; in input_open_device()
601 handle->open++; in input_open_device()
608 if (!--handle->open) { in input_open_device()
623 int input_flush_device(struct input_handle *handle, struct file *file) in input_flush_device() argument
625 struct input_dev *dev = handle->dev; in input_flush_device()
647 void input_close_device(struct input_handle *handle) in input_close_device() argument
649 struct input_dev *dev = handle->dev; in input_close_device()
653 __input_release_device(handle); in input_close_device()
658 if (!--handle->open) { in input_close_device()
695 struct input_handle *handle; in input_disconnect_device() local
716 list_for_each_entry(handle, &dev->h_list, d_node) in input_disconnect_device()
717 handle->open = 0; in input_disconnect_device()
1136 struct input_handle *handle; in input_devices_seq_show() local
1147 list_for_each_entry(handle, &dev->h_list, d_node) in input_devices_seq_show()
1148 seq_printf(seq, "%s ", handle->name); in input_devices_seq_show()
2027 struct input_handle *handle, *next; in __input_unregister_device() local
2033 list_for_each_entry_safe(handle, next, &dev->h_list, d_node) in __input_unregister_device()
2034 handle->handler->disconnect(handle); in __input_unregister_device()
2241 struct input_handle *handle, *next; in input_unregister_handler() local
2245 list_for_each_entry_safe(handle, next, &handler->h_list, h_node) in input_unregister_handler()
2246 handler->disconnect(handle); in input_unregister_handler()
2272 struct input_handle *handle; in input_handler_for_each_handle() local
2277 list_for_each_entry_rcu(handle, &handler->h_list, h_node) { in input_handler_for_each_handle()
2278 retval = fn(handle, data); in input_handler_for_each_handle()
2300 int input_register_handle(struct input_handle *handle) in input_register_handle() argument
2302 struct input_handler *handler = handle->handler; in input_register_handle()
2303 struct input_dev *dev = handle->dev; in input_register_handle()
2319 list_add_rcu(&handle->d_node, &dev->h_list); in input_register_handle()
2321 list_add_tail_rcu(&handle->d_node, &dev->h_list); in input_register_handle()
2331 list_add_tail_rcu(&handle->h_node, &handler->h_list); in input_register_handle()
2334 handler->start(handle); in input_register_handle()
2350 void input_unregister_handle(struct input_handle *handle) in input_unregister_handle() argument
2352 struct input_dev *dev = handle->dev; in input_unregister_handle()
2354 list_del_rcu(&handle->h_node); in input_unregister_handle()
2360 list_del_rcu(&handle->d_node); in input_unregister_handle()