Lines Matching refs:event

168 	struct serio_event *event = NULL;  in serio_get_event()  local
174 event = list_first_entry(&serio_event_list, in serio_get_event()
176 list_del_init(&event->node); in serio_get_event()
180 return event; in serio_get_event()
183 static void serio_free_event(struct serio_event *event) in serio_free_event() argument
185 module_put(event->owner); in serio_free_event()
186 kfree(event); in serio_free_event()
217 struct serio_event *event; in serio_handle_event() local
221 while ((event = serio_get_event())) { in serio_handle_event()
223 switch (event->type) { in serio_handle_event()
226 serio_add_port(event->object); in serio_handle_event()
230 serio_reconnect_port(event->object); in serio_handle_event()
234 serio_disconnect_port(event->object); in serio_handle_event()
235 serio_find_driver(event->object); in serio_handle_event()
239 serio_reconnect_subtree(event->object); in serio_handle_event()
243 serio_attach_driver(event->object); in serio_handle_event()
247 serio_remove_duplicate_events(event->object, event->type); in serio_handle_event()
248 serio_free_event(event); in serio_handle_event()
260 struct serio_event *event; in serio_queue_event() local
272 list_for_each_entry_reverse(event, &serio_event_list, node) { in serio_queue_event()
273 if (event->object == object) { in serio_queue_event()
274 if (event->type == event_type) in serio_queue_event()
280 event = kmalloc(sizeof(struct serio_event), GFP_ATOMIC); in serio_queue_event()
281 if (!event) { in serio_queue_event()
290 kfree(event); in serio_queue_event()
295 event->type = event_type; in serio_queue_event()
296 event->object = object; in serio_queue_event()
297 event->owner = owner; in serio_queue_event()
299 list_add_tail(&event->node, &serio_event_list); in serio_queue_event()
313 struct serio_event *event, *next; in serio_remove_pending_events() local
318 list_for_each_entry_safe(event, next, &serio_event_list, node) { in serio_remove_pending_events()
319 if (event->object == object) { in serio_remove_pending_events()
320 list_del_init(&event->node); in serio_remove_pending_events()
321 serio_free_event(event); in serio_remove_pending_events()
336 struct serio_event *event; in serio_get_pending_child() local
342 list_for_each_entry(event, &serio_event_list, node) { in serio_get_pending_child()
343 if (event->type == SERIO_REGISTER_PORT) { in serio_get_pending_child()
344 serio = event->object; in serio_get_pending_child()