Lines Matching defs:irq_entry
47 struct irq_entry {
94 static bool irq_do_timetravel_handler(struct irq_entry *entry,
118 static bool irq_do_timetravel_handler(struct irq_entry *entry,
125 static void sigio_reg_handler(int idx, struct irq_entry *entry, enum um_irq_type t,
159 struct irq_entry *irq_entry;
184 irq_entry = os_epoll_get_data_pointer(i);
187 sigio_reg_handler(i, irq_entry, t, regs,
201 static struct irq_entry *get_irq_entry_by_fd(int fd)
203 struct irq_entry *walk;
215 static void free_irq_entry(struct irq_entry *to_free, bool remove)
226 static bool update_irq_entry(struct irq_entry *entry)
244 static void update_or_free_irq_entry(struct irq_entry *entry)
254 struct irq_entry *irq_entry;
263 irq_entry = get_irq_entry_by_fd(fd);
264 if (irq_entry) {
266 if (WARN_ON(irq_entry->reg[type].events)) {
274 irq_entry = kzalloc(sizeof(*irq_entry), GFP_ATOMIC);
275 if (!irq_entry) {
279 irq_entry->fd = fd;
280 list_add_tail(&irq_entry->list, &active_fds);
284 irq_entry->reg[type].id = dev_id;
285 irq_entry->reg[type].irq = irq;
286 irq_entry->reg[type].active = true;
287 irq_entry->reg[type].events = events;
291 irq_entry->reg[type].timetravel_handler = timetravel_handler;
292 irq_entry->reg[type].event.fn = irq_event_handler;
296 WARN_ON(!update_irq_entry(irq_entry));
313 struct irq_entry *to_free;
325 struct irq_entry *entry;
354 struct irq_entry *entry;
388 struct irq_entry *entry;
499 struct irq_entry *entry;
542 struct irq_entry *entry;
591 struct irq_entry *entry;