Lines Matching refs:irq_entry

30 struct irq_entry {  struct
31 struct irq_entry *next; argument
36 static struct irq_entry *active_fds; argument
63 struct irq_entry *irq_entry; in sigio_handler() local
88 irq_entry = (struct irq_entry *) in sigio_handler()
91 irq = irq_entry->irq_array[j]; in sigio_handler()
97 irq_entry->irq_array[j] = NULL; in sigio_handler()
105 static int assign_epoll_events_to_irq(struct irq_entry *irq_entry) in assign_epoll_events_to_irq() argument
112 irq = irq_entry->irq_array[i]; in assign_epoll_events_to_irq()
118 return os_add_epoll_fd(events, irq_entry->fd, irq_entry); in assign_epoll_events_to_irq()
121 return os_del_epoll_fd(irq_entry->fd); in assign_epoll_events_to_irq()
129 struct irq_entry *irq_entry; in activate_fd() local
142 for (irq_entry = active_fds; in activate_fd()
143 irq_entry != NULL; irq_entry = irq_entry->next) { in activate_fd()
144 if (irq_entry->fd == fd) in activate_fd()
148 if (irq_entry == NULL) { in activate_fd()
152 irq_entry = kmalloc(sizeof(struct irq_entry), GFP_ATOMIC); in activate_fd()
153 if (irq_entry == NULL) { in activate_fd()
158 irq_entry->fd = fd; in activate_fd()
160 irq_entry->irq_array[i] = NULL; in activate_fd()
161 irq_entry->next = active_fds; in activate_fd()
162 active_fds = irq_entry; in activate_fd()
169 if (irq_entry->irq_array[type] != NULL) { in activate_fd()
197 os_del_epoll_fd(irq_entry->fd); in activate_fd()
198 irq_entry->irq_array[type] = new_fd; in activate_fd()
202 assign_epoll_events_to_irq(irq_entry); in activate_fd()
222 struct irq_entry *walk; in garbage_collect_irq_entries()
223 struct irq_entry *previous = NULL; in garbage_collect_irq_entries()
224 struct irq_entry *to_free; in garbage_collect_irq_entries()
256 static struct irq_entry *get_irq_entry_by_fd(int fd) in get_irq_entry_by_fd()
258 struct irq_entry *walk = active_fds; in get_irq_entry_by_fd()
280 struct irq_entry *irq_entry, in do_free_by_irq_and_dev() argument
290 if (irq_entry->irq_array[i] != NULL) { in do_free_by_irq_and_dev()
293 (irq_entry->irq_array[i]->irq == irq)) && in do_free_by_irq_and_dev()
295 (irq_entry->irq_array[i]->id == dev)) in do_free_by_irq_and_dev()
300 os_del_epoll_fd(irq_entry->fd); in do_free_by_irq_and_dev()
301 to_free = irq_entry->irq_array[i]; in do_free_by_irq_and_dev()
302 irq_entry->irq_array[i] = NULL; in do_free_by_irq_and_dev()
303 assign_epoll_events_to_irq(irq_entry); in do_free_by_irq_and_dev()
315 struct irq_entry *to_free; in free_irq_by_fd()
335 struct irq_entry *to_free; in free_irq_by_irq_and_dev()
361 struct irq_entry *to_free; in deactivate_fd()
390 struct irq_entry *to_free; in deactivate_all_fds()