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()
698 struct input_handle *handle; in input_disconnect_device() local
719 list_for_each_entry(handle, &dev->h_list, d_node) in input_disconnect_device()
720 handle->open = 0; in input_disconnect_device()
1139 struct input_handle *handle; in input_devices_seq_show() local
1150 list_for_each_entry(handle, &dev->h_list, d_node) in input_devices_seq_show()
1151 seq_printf(seq, "%s ", handle->name); in input_devices_seq_show()
2017 struct input_handle *handle, *next; in __input_unregister_device() local
2023 list_for_each_entry_safe(handle, next, &dev->h_list, d_node) in __input_unregister_device()
2024 handle->handler->disconnect(handle); in __input_unregister_device()
2244 struct input_handle *handle, *next; in input_unregister_handler() local
2248 list_for_each_entry_safe(handle, next, &handler->h_list, h_node) in input_unregister_handler()
2249 handler->disconnect(handle); in input_unregister_handler()
2275 struct input_handle *handle; in input_handler_for_each_handle() local
2280 list_for_each_entry_rcu(handle, &handler->h_list, h_node) { in input_handler_for_each_handle()
2281 retval = fn(handle, data); in input_handler_for_each_handle()
2303 int input_register_handle(struct input_handle *handle) in input_register_handle() argument
2305 struct input_handler *handler = handle->handler; in input_register_handle()
2306 struct input_dev *dev = handle->dev; in input_register_handle()
2322 list_add_rcu(&handle->d_node, &dev->h_list); in input_register_handle()
2324 list_add_tail_rcu(&handle->d_node, &dev->h_list); in input_register_handle()
2334 list_add_tail_rcu(&handle->h_node, &handler->h_list); in input_register_handle()
2337 handler->start(handle); in input_register_handle()
2353 void input_unregister_handle(struct input_handle *handle) in input_unregister_handle() argument
2355 struct input_dev *dev = handle->dev; in input_unregister_handle()
2357 list_del_rcu(&handle->h_node); in input_unregister_handle()
2363 list_del_rcu(&handle->d_node); in input_unregister_handle()