• Home
  • Raw
  • Download

Lines Matching refs:event

238 	struct gameport_event *event = NULL;  in gameport_get_event()  local
244 event = list_first_entry(&gameport_event_list, in gameport_get_event()
246 list_del_init(&event->node); in gameport_get_event()
250 return event; in gameport_get_event()
253 static void gameport_free_event(struct gameport_event *event) in gameport_free_event() argument
255 module_put(event->owner); in gameport_free_event()
256 kfree(event); in gameport_free_event()
259 static void gameport_remove_duplicate_events(struct gameport_event *event) in gameport_remove_duplicate_events() argument
267 if (event->object == e->object) { in gameport_remove_duplicate_events()
273 if (event->type != e->type) in gameport_remove_duplicate_events()
287 struct gameport_event *event; in gameport_handle_events() local
297 if ((event = gameport_get_event())) { in gameport_handle_events()
299 switch (event->type) { in gameport_handle_events()
302 gameport_add_port(event->object); in gameport_handle_events()
306 gameport_attach_driver(event->object); in gameport_handle_events()
310 gameport_remove_duplicate_events(event); in gameport_handle_events()
311 gameport_free_event(event); in gameport_handle_events()
323 struct gameport_event *event; in gameport_queue_event() local
335 list_for_each_entry_reverse(event, &gameport_event_list, node) { in gameport_queue_event()
336 if (event->object == object) { in gameport_queue_event()
337 if (event->type == event_type) in gameport_queue_event()
343 event = kmalloc(sizeof(struct gameport_event), GFP_ATOMIC); in gameport_queue_event()
344 if (!event) { in gameport_queue_event()
353 kfree(event); in gameport_queue_event()
358 event->type = event_type; in gameport_queue_event()
359 event->object = object; in gameport_queue_event()
360 event->owner = owner; in gameport_queue_event()
362 list_add_tail(&event->node, &gameport_event_list); in gameport_queue_event()
376 struct gameport_event *event, *next; in gameport_remove_pending_events() local
381 list_for_each_entry_safe(event, next, &gameport_event_list, node) { in gameport_remove_pending_events()
382 if (event->object == object) { in gameport_remove_pending_events()
383 list_del_init(&event->node); in gameport_remove_pending_events()
384 gameport_free_event(event); in gameport_remove_pending_events()
401 struct gameport_event *event; in gameport_get_pending_child() local
407 list_for_each_entry(event, &gameport_event_list, node) { in gameport_get_pending_child()
408 if (event->type == GAMEPORT_REGISTER_PORT) { in gameport_get_pending_child()
409 gameport = event->object; in gameport_get_pending_child()