Lines Matching refs:event
170 struct serio_event *event = NULL; in serio_get_event() local
176 event = list_first_entry(&serio_event_list, in serio_get_event()
178 list_del_init(&event->node); in serio_get_event()
182 return event; in serio_get_event()
185 static void serio_free_event(struct serio_event *event) in serio_free_event() argument
187 module_put(event->owner); in serio_free_event()
188 kfree(event); in serio_free_event()
219 struct serio_event *event; in serio_handle_event() local
223 while ((event = serio_get_event())) { in serio_handle_event()
225 switch (event->type) { in serio_handle_event()
228 serio_add_port(event->object); in serio_handle_event()
232 serio_reconnect_port(event->object); in serio_handle_event()
236 serio_disconnect_port(event->object); in serio_handle_event()
237 serio_find_driver(event->object); in serio_handle_event()
241 serio_reconnect_subtree(event->object); in serio_handle_event()
245 serio_attach_driver(event->object); in serio_handle_event()
249 serio_remove_duplicate_events(event->object, event->type); in serio_handle_event()
250 serio_free_event(event); in serio_handle_event()
262 struct serio_event *event; in serio_queue_event() local
274 list_for_each_entry_reverse(event, &serio_event_list, node) { in serio_queue_event()
275 if (event->object == object) { in serio_queue_event()
276 if (event->type == event_type) in serio_queue_event()
282 event = kmalloc(sizeof(struct serio_event), GFP_ATOMIC); in serio_queue_event()
283 if (!event) { in serio_queue_event()
292 kfree(event); in serio_queue_event()
297 event->type = event_type; in serio_queue_event()
298 event->object = object; in serio_queue_event()
299 event->owner = owner; in serio_queue_event()
301 list_add_tail(&event->node, &serio_event_list); in serio_queue_event()
315 struct serio_event *event, *next; in serio_remove_pending_events() local
320 list_for_each_entry_safe(event, next, &serio_event_list, node) { in serio_remove_pending_events()
321 if (event->object == object) { in serio_remove_pending_events()
322 list_del_init(&event->node); in serio_remove_pending_events()
323 serio_free_event(event); in serio_remove_pending_events()
338 struct serio_event *event; in serio_get_pending_child() local
344 list_for_each_entry(event, &serio_event_list, node) { in serio_get_pending_child()
345 if (event->type == SERIO_REGISTER_PORT) { in serio_get_pending_child()
346 serio = event->object; in serio_get_pending_child()