Lines Matching defs:event

129  * Serio event processing.
152 struct serio_event *event = NULL;
158 event = list_first_entry(&serio_event_list,
160 list_del_init(&event->node);
164 return event;
167 static void serio_free_event(struct serio_event *event)
169 module_put(event->owner);
170 kfree(event);
184 * If this event is of different type we should not
201 struct serio_event *event;
205 while ((event = serio_get_event())) {
207 switch (event->type) {
210 serio_add_port(event->object);
214 serio_reconnect_port(event->object);
218 serio_disconnect_port(event->object);
219 serio_find_driver(event->object);
223 serio_reconnect_subtree(event->object);
227 serio_attach_driver(event->object);
231 serio_remove_duplicate_events(event->object, event->type);
232 serio_free_event(event);
244 struct serio_event *event;
250 * Scan event list for the other events for the same serio port,
251 * starting with the most recent one. If event is the same we
252 * do not need add new one. If event is of different type we
253 * need to add this event and should not look further because
256 list_for_each_entry_reverse(event, &serio_event_list, node) {
257 if (event->object == object) {
258 if (event->type == event_type)
264 event = kmalloc(sizeof(struct serio_event), GFP_ATOMIC);
265 if (!event) {
266 pr_err("Not enough memory to queue event %d\n", event_type);
272 pr_warn("Can't get module reference, dropping event %d\n",
274 kfree(event);
279 event->type = event_type;
280 event->object = object;
281 event->owner = owner;
283 list_add_tail(&event->node, &serio_event_list);
297 struct serio_event *event, *next;
302 list_for_each_entry_safe(event, next, &serio_event_list, node) {
303 if (event->object == object) {
304 list_del_init(&event->node);
305 serio_free_event(event);
320 struct serio_event *event;
326 list_for_each_entry(event, &serio_event_list, node) {
327 if (event->type == SERIO_REGISTER_PORT) {
328 serio = event->object;