Lines Matching defs:winch
714 struct winch {
723 static void free_winch(struct winch *winch, int free_irq_ok)
726 free_irq(WINCH_IRQ, winch);
728 list_del(&winch->list);
730 if (winch->pid != -1)
731 os_kill_process(winch->pid, 1);
732 if (winch->fd != -1)
733 os_close_file(winch->fd);
734 if (winch->stack != 0)
735 free_stack(winch->stack, 0);
736 kfree(winch);
741 struct winch *winch = data;
747 if (winch->fd != -1) {
748 err = generic_read(winch->fd, &c, NULL);
754 "support\n", winch->tty_fd);
755 free_winch(winch, 0);
761 tty = winch->tty;
771 if (winch->fd != -1)
772 reactivate_fd(winch->fd, WINCH_IRQ);
779 struct winch *winch;
781 winch = kmalloc(sizeof(*winch), GFP_KERNEL);
782 if (winch == NULL) {
787 *winch = ((struct winch) { .list = LIST_HEAD_INIT(winch->list),
796 "winch", winch) < 0) {
803 list_add(&winch->list, &winch_handlers);
809 kfree(winch);
820 struct winch *winch;
825 winch = list_entry(ele, struct winch, list);
826 if (winch->tty == tty) {
827 free_winch(winch, 1);
837 struct winch *winch;
842 winch = list_entry(ele, struct winch, list);
843 free_winch(winch, 1);