Lines Matching refs:irq_entry
32 struct irq_entry { struct
33 struct irq_entry *next; argument
38 static struct irq_entry *active_fds; argument
65 struct irq_entry *irq_entry; in sigio_handler() local
90 irq_entry = (struct irq_entry *) in sigio_handler()
93 irq = irq_entry->irq_array[j]; in sigio_handler()
99 irq_entry->irq_array[j] = NULL; in sigio_handler()
109 static int assign_epoll_events_to_irq(struct irq_entry *irq_entry) in assign_epoll_events_to_irq() argument
116 irq = irq_entry->irq_array[i]; in assign_epoll_events_to_irq()
122 return os_add_epoll_fd(events, irq_entry->fd, irq_entry); in assign_epoll_events_to_irq()
125 return os_del_epoll_fd(irq_entry->fd); in assign_epoll_events_to_irq()
133 struct irq_entry *irq_entry; in activate_fd() local
146 for (irq_entry = active_fds; in activate_fd()
147 irq_entry != NULL; irq_entry = irq_entry->next) { in activate_fd()
148 if (irq_entry->fd == fd) in activate_fd()
152 if (irq_entry == NULL) { in activate_fd()
156 irq_entry = kmalloc(sizeof(struct irq_entry), GFP_ATOMIC); in activate_fd()
157 if (irq_entry == NULL) { in activate_fd()
162 irq_entry->fd = fd; in activate_fd()
164 irq_entry->irq_array[i] = NULL; in activate_fd()
165 irq_entry->next = active_fds; in activate_fd()
166 active_fds = irq_entry; in activate_fd()
173 if (irq_entry->irq_array[type] != NULL) { in activate_fd()
201 os_del_epoll_fd(irq_entry->fd); in activate_fd()
202 irq_entry->irq_array[type] = new_fd; in activate_fd()
206 assign_epoll_events_to_irq(irq_entry); in activate_fd()
226 struct irq_entry *walk; in garbage_collect_irq_entries()
227 struct irq_entry *previous = NULL; in garbage_collect_irq_entries()
228 struct irq_entry *to_free; in garbage_collect_irq_entries()
259 static struct irq_entry *get_irq_entry_by_fd(int fd) in get_irq_entry_by_fd()
261 struct irq_entry *walk = active_fds; in get_irq_entry_by_fd()
283 struct irq_entry *irq_entry, in do_free_by_irq_and_dev() argument
293 if (irq_entry->irq_array[i] != NULL) { in do_free_by_irq_and_dev()
296 (irq_entry->irq_array[i]->irq == irq)) && in do_free_by_irq_and_dev()
298 (irq_entry->irq_array[i]->id == dev)) in do_free_by_irq_and_dev()
303 os_del_epoll_fd(irq_entry->fd); in do_free_by_irq_and_dev()
304 to_free = irq_entry->irq_array[i]; in do_free_by_irq_and_dev()
305 irq_entry->irq_array[i] = NULL; in do_free_by_irq_and_dev()
306 assign_epoll_events_to_irq(irq_entry); in do_free_by_irq_and_dev()
318 struct irq_entry *to_free; in free_irq_by_fd()
338 struct irq_entry *to_free; in free_irq_by_irq_and_dev()
359 struct irq_entry *to_free; in deactivate_fd()
387 struct irq_entry *to_free; in deactivate_all_fds()