• Home
  • Raw
  • Download

Lines Matching full:cons

874 	struct gs_console *cons = req->context;  in gs_console_complete_out()  local
883 spin_lock(&cons->lock); in gs_console_complete_out()
885 schedule_work(&cons->work); in gs_console_complete_out()
886 spin_unlock(&cons->lock); in gs_console_complete_out()
896 static void __gs_console_push(struct gs_console *cons) in __gs_console_push() argument
898 struct usb_request *req = cons->req; in __gs_console_push()
908 ep = cons->console.data; in __gs_console_push()
909 size = kfifo_out(&cons->buf, req->buf, ep->maxpacket); in __gs_console_push()
913 if (cons->missed && ep->maxpacket >= 64) { in __gs_console_push()
917 len = sprintf(buf, "\n[missed %zu bytes]\n", cons->missed); in __gs_console_push()
918 kfifo_in(&cons->buf, buf, len); in __gs_console_push()
919 cons->missed = 0; in __gs_console_push()
924 spin_unlock_irq(&cons->lock); in __gs_console_push()
927 spin_lock_irq(&cons->lock); in __gs_console_push()
932 struct gs_console *cons = container_of(work, struct gs_console, work); in gs_console_work() local
934 spin_lock_irq(&cons->lock); in gs_console_work()
936 __gs_console_push(cons); in gs_console_work()
938 spin_unlock_irq(&cons->lock); in gs_console_work()
944 struct gs_console *cons = container_of(co, struct gs_console, console); in gs_console_write() local
948 spin_lock_irqsave(&cons->lock, flags); in gs_console_write()
950 n = kfifo_in(&cons->buf, buf, count); in gs_console_write()
952 cons->missed += count - n; in gs_console_write()
954 if (cons->req && !cons->req->length) in gs_console_write()
955 schedule_work(&cons->work); in gs_console_write()
957 spin_unlock_irqrestore(&cons->lock, flags); in gs_console_write()
968 struct gs_console *cons = port->console; in gs_console_connect() local
972 if (!cons) in gs_console_connect()
980 req->context = cons; in gs_console_connect()
983 spin_lock(&cons->lock); in gs_console_connect()
984 cons->req = req; in gs_console_connect()
985 cons->console.data = ep; in gs_console_connect()
986 spin_unlock(&cons->lock); in gs_console_connect()
990 schedule_work(&cons->work); in gs_console_connect()
997 struct gs_console *cons = port->console; in gs_console_disconnect() local
1001 if (!cons) in gs_console_disconnect()
1004 spin_lock(&cons->lock); in gs_console_disconnect()
1006 req = cons->req; in gs_console_disconnect()
1007 ep = cons->console.data; in gs_console_disconnect()
1008 cons->req = NULL; in gs_console_disconnect()
1010 spin_unlock(&cons->lock); in gs_console_disconnect()
1021 struct gs_console *cons; in gs_console_init() local
1027 cons = kzalloc(sizeof(*port->console), GFP_KERNEL); in gs_console_init()
1028 if (!cons) in gs_console_init()
1031 strcpy(cons->console.name, "ttyGS"); in gs_console_init()
1032 cons->console.write = gs_console_write; in gs_console_init()
1033 cons->console.device = gs_console_device; in gs_console_init()
1034 cons->console.flags = CON_PRINTBUFFER; in gs_console_init()
1035 cons->console.index = port->port_num; in gs_console_init()
1037 INIT_WORK(&cons->work, gs_console_work); in gs_console_init()
1038 spin_lock_init(&cons->lock); in gs_console_init()
1040 err = kfifo_alloc(&cons->buf, GS_CONSOLE_BUF_SIZE, GFP_KERNEL); in gs_console_init()
1043 kfree(cons); in gs_console_init()
1047 port->console = cons; in gs_console_init()
1048 register_console(&cons->console); in gs_console_init()
1060 struct gs_console *cons = port->console; in gs_console_exit() local
1062 if (!cons) in gs_console_exit()
1065 unregister_console(&cons->console); in gs_console_exit()
1068 if (cons->req) in gs_console_exit()
1072 cancel_work_sync(&cons->work); in gs_console_exit()
1073 kfifo_free(&cons->buf); in gs_console_exit()
1074 kfree(cons); in gs_console_exit()