Lines Matching refs:fd
60 static int activate_fd(int irq, int fd, int type, void *dev_id) in activate_fd() argument
67 err = os_set_fd_async(fd); in activate_fd()
81 .fd = fd, in activate_fd()
90 if ((irq_fd->fd == fd) && (irq_fd->type == type)) { in activate_fd()
91 printk(KERN_ERR "Registering fd %d twice\n", fd); in activate_fd()
100 fd = -1; in activate_fd()
106 n = os_create_pollfd(fd, events, tmp_pfd, n); in activate_fd()
141 maybe_sigio_broken(fd, (type == IRQ_READ)); in activate_fd()
182 static int same_fd(struct irq_fd *irq, void *fd) in same_fd() argument
184 return (irq->fd == *((int *)fd)); in same_fd()
187 void free_irq_by_fd(int fd) in free_irq_by_fd() argument
189 free_irq_by_cb(same_fd, &fd); in free_irq_by_fd()
193 static struct irq_fd *find_irq_by_fd(int fd, int irqnum, int *index_out) in find_irq_by_fd() argument
200 if ((irq->fd == fd) && (irq->irq == irqnum)) in find_irq_by_fd()
206 fd); in find_irq_by_fd()
210 if ((fdi != -1) && (fdi != fd)) { in find_irq_by_fd()
212 "and pollfds, fd %d vs %d, need %d\n", irq->fd, in find_irq_by_fd()
213 fdi, fd); in find_irq_by_fd()
222 void reactivate_fd(int fd, int irqnum) in reactivate_fd() argument
229 irq = find_irq_by_fd(fd, irqnum, &i); in reactivate_fd()
234 os_set_pollfd(i, irq->fd); in reactivate_fd()
237 add_sigio_fd(fd); in reactivate_fd()
240 void deactivate_fd(int fd, int irqnum) in deactivate_fd() argument
247 irq = find_irq_by_fd(fd, irqnum, &i); in deactivate_fd()
256 ignore_sigio_fd(fd); in deactivate_fd()
272 err = os_clear_fd_async(irq->fd); in deactivate_all_fds()
304 int um_request_irq(unsigned int irq, int fd, int type, in um_request_irq() argument
311 if (fd != -1) { in um_request_irq()
312 err = activate_fd(irq, fd, type, dev_id); in um_request_irq()