Lines Matching refs:event_sub

1421 	list_for_each_entry_safe(sub_entry, tmp, &obj->event_sub, obj_list)
1548 INIT_LIST_HEAD(&obj->event_sub);
2012 struct devx_event_subscription *event_sub, *tmp_sub;
2098 event_sub = kzalloc(sizeof(*event_sub), GFP_KERNEL);
2099 if (!event_sub) {
2104 list_add_tail(&event_sub->event_list, &sub_list);
2107 event_sub->eventfd =
2110 if (IS_ERR(event_sub->eventfd)) {
2111 err = PTR_ERR(event_sub->eventfd);
2112 event_sub->eventfd = NULL;
2117 event_sub->cookie = cookie;
2118 event_sub->ev_file = ev_file;
2120 event_sub->xa_key_level1 = key_level1;
2121 event_sub->xa_key_level2 = obj_id;
2122 INIT_LIST_HEAD(&event_sub->obj_list);
2129 list_for_each_entry_safe(event_sub, tmp_sub, &sub_list, event_list) {
2133 list_del_init(&event_sub->event_list);
2136 list_add_tail_rcu(&event_sub->file_list,
2141 event_sub->xa_key_level1);
2145 list_add_tail_rcu(&event_sub->xa_list,
2152 list_add_tail_rcu(&event_sub->xa_list,
2154 list_add_tail_rcu(&event_sub->obj_list,
2155 &obj->event_sub);
2162 list_for_each_entry_safe(event_sub, tmp_sub, &sub_list, event_list) {
2163 list_del(&event_sub->event_list);
2166 event_sub->xa_key_level1,
2170 if (event_sub->eventfd)
2171 eventfd_ctx_put(event_sub->eventfd);
2172 uverbs_uobject_put(&event_sub->ev_file->uobj);
2173 kfree(event_sub);
2448 static int deliver_event(struct devx_event_subscription *event_sub,
2455 ev_file = event_sub->ev_file;
2459 if (!list_empty(&event_sub->event_list) ||
2465 list_add_tail(&event_sub->event_list, &ev_file->event_list);
2480 event_data->hdr.cookie = event_sub->cookie;
2683 struct devx_event_subscription *event_sub;
2721 event_sub = list_first_entry(&ev_file->event_list,
2724 eventsz = sizeof(event_sub->cookie);
2725 event_data = &event_sub->cookie;
2740 list_del_init(&event_sub->event_list);
2777 struct devx_event_subscription *event_sub =
2780 if (event_sub->eventfd)
2781 eventfd_ctx_put(event_sub->eventfd);
2782 uverbs_uobject_put(&event_sub->ev_file->uobj);
2783 kfree(event_sub);
2825 struct devx_event_subscription *event_sub, *event_sub_tmp;
2833 struct devx_event_subscription *event_sub, *tmp;
2835 list_for_each_entry_safe(event_sub, tmp, &ev_file->event_list,
2837 list_del_init(&event_sub->event_list);
2854 list_for_each_entry_safe(event_sub, event_sub_tmp,
2856 devx_cleanup_subscription(dev, event_sub);
2857 list_del_rcu(&event_sub->file_list);
2859 call_rcu(&event_sub->rcu, devx_free_subscription);