Lines Matching refs:port
68 struct usb_serial_port *port; in usb_serial_port_get_by_minor() local
71 port = idr_find(&serial_minors, minor); in usb_serial_port_get_by_minor()
72 if (!port) in usb_serial_port_get_by_minor()
75 serial = port->serial; in usb_serial_port_get_by_minor()
79 port = NULL; in usb_serial_port_get_by_minor()
85 return port; in usb_serial_port_get_by_minor()
90 struct usb_serial_port *port; in allocate_minors() local
98 port = serial->port[i]; in allocate_minors()
99 minor = idr_alloc(&serial_minors, port, 0, 0, GFP_KERNEL); in allocate_minors()
102 port->minor = minor; in allocate_minors()
103 port->port_number = i; in allocate_minors()
111 idr_remove(&serial_minors, serial->port[j]->minor); in allocate_minors()
122 idr_remove(&serial_minors, serial->port[i]->minor); in release_minors()
130 struct usb_serial_port *port; in destroy_serial() local
144 port = serial->port[i]; in destroy_serial()
145 if (port) { in destroy_serial()
146 port->serial = NULL; in destroy_serial()
147 put_device(&port->dev); in destroy_serial()
183 struct usb_serial_port *port; in serial_install() local
186 port = usb_serial_port_get_by_minor(idx); in serial_install()
187 if (!port) in serial_install()
190 serial = port->serial; in serial_install()
198 retval = tty_port_install(&port->port, driver, tty); in serial_install()
208 tty->driver_data = port; in serial_install()
224 struct usb_serial_port *port = in serial_port_activate() local
225 container_of(tport, struct usb_serial_port, port); in serial_port_activate()
226 struct usb_serial *serial = port->serial; in serial_port_activate()
233 retval = port->serial->type->open(tty, port); in serial_port_activate()
244 struct usb_serial_port *port = tty->driver_data; in serial_open() local
248 return tty_port_open(&port->port, tty, filp); in serial_open()
263 struct usb_serial_port *port = in serial_port_shutdown() local
264 container_of(tport, struct usb_serial_port, port); in serial_port_shutdown()
265 struct usb_serial_driver *drv = port->serial->type; in serial_port_shutdown()
268 drv->close(port); in serial_port_shutdown()
273 struct usb_serial_port *port = tty->driver_data; in serial_hangup() local
277 tty_port_hangup(&port->port); in serial_hangup()
282 struct usb_serial_port *port = tty->driver_data; in serial_close() local
286 tty_port_close(&port->port, tty, filp); in serial_close()
300 struct usb_serial_port *port = tty->driver_data; in serial_cleanup() local
309 if (port->port.console) in serial_cleanup()
314 serial = port->serial; in serial_cleanup()
329 struct usb_serial_port *port = tty->driver_data; in serial_write() local
332 if (port->serial->dev->state == USB_STATE_NOTATTACHED) in serial_write()
337 retval = port->serial->type->write(tty, port, buf, count); in serial_write()
346 struct usb_serial_port *port = tty->driver_data; in serial_write_room() local
350 return port->serial->type->write_room(tty); in serial_write_room()
355 struct usb_serial_port *port = tty->driver_data; in serial_chars_in_buffer() local
356 struct usb_serial *serial = port->serial; in serial_chars_in_buffer()
368 struct usb_serial_port *port = tty->driver_data; in serial_wait_until_sent() local
369 struct usb_serial *serial = port->serial; in serial_wait_until_sent()
373 if (!port->serial->type->wait_until_sent) in serial_wait_until_sent()
378 port->serial->type->wait_until_sent(tty, timeout); in serial_wait_until_sent()
384 struct usb_serial_port *port = tty->driver_data; in serial_throttle() local
388 if (port->serial->type->throttle) in serial_throttle()
389 port->serial->type->throttle(tty); in serial_throttle()
394 struct usb_serial_port *port = tty->driver_data; in serial_unthrottle() local
398 if (port->serial->type->unthrottle) in serial_unthrottle()
399 port->serial->type->unthrottle(tty); in serial_unthrottle()
405 struct usb_serial_port *port = tty->driver_data; in serial_ioctl() local
412 if (port->serial->type->tiocmiwait) in serial_ioctl()
413 retval = port->serial->type->tiocmiwait(tty, arg); in serial_ioctl()
416 if (port->serial->type->ioctl) in serial_ioctl()
417 retval = port->serial->type->ioctl(tty, cmd, arg); in serial_ioctl()
425 struct usb_serial_port *port = tty->driver_data; in serial_set_termios() local
429 if (port->serial->type->set_termios) in serial_set_termios()
430 port->serial->type->set_termios(tty, port, old); in serial_set_termios()
437 struct usb_serial_port *port = tty->driver_data; in serial_break() local
441 if (port->serial->type->break_ctl) in serial_break()
442 port->serial->type->break_ctl(tty, break_state); in serial_break()
450 struct usb_serial_port *port; in serial_proc_show() local
456 port = usb_serial_port_get_by_minor(i); in serial_proc_show()
457 if (port == NULL) in serial_proc_show()
459 serial = port->serial; in serial_proc_show()
471 seq_printf(m, " port:%d", port->port_number); in serial_proc_show()
497 struct usb_serial_port *port = tty->driver_data; in serial_tiocmget() local
501 if (port->serial->type->tiocmget) in serial_tiocmget()
502 return port->serial->type->tiocmget(tty); in serial_tiocmget()
509 struct usb_serial_port *port = tty->driver_data; in serial_tiocmset() local
513 if (port->serial->type->tiocmset) in serial_tiocmset()
514 return port->serial->type->tiocmset(tty, set, clear); in serial_tiocmset()
521 struct usb_serial_port *port = tty->driver_data; in serial_get_icount() local
525 if (port->serial->type->get_icount) in serial_get_icount()
526 return port->serial->type->get_icount(tty, icount); in serial_get_icount()
535 void usb_serial_port_softint(struct usb_serial_port *port) in usb_serial_port_softint() argument
537 schedule_work(&port->work); in usb_serial_port_softint()
543 struct usb_serial_port *port = in usb_serial_port_work() local
546 tty_port_tty_wakeup(&port->port); in usb_serial_port_work()
549 static void usb_serial_port_poison_urbs(struct usb_serial_port *port) in usb_serial_port_poison_urbs() argument
553 for (i = 0; i < ARRAY_SIZE(port->read_urbs); ++i) in usb_serial_port_poison_urbs()
554 usb_poison_urb(port->read_urbs[i]); in usb_serial_port_poison_urbs()
555 for (i = 0; i < ARRAY_SIZE(port->write_urbs); ++i) in usb_serial_port_poison_urbs()
556 usb_poison_urb(port->write_urbs[i]); in usb_serial_port_poison_urbs()
558 usb_poison_urb(port->interrupt_in_urb); in usb_serial_port_poison_urbs()
559 usb_poison_urb(port->interrupt_out_urb); in usb_serial_port_poison_urbs()
562 static void usb_serial_port_unpoison_urbs(struct usb_serial_port *port) in usb_serial_port_unpoison_urbs() argument
566 for (i = 0; i < ARRAY_SIZE(port->read_urbs); ++i) in usb_serial_port_unpoison_urbs()
567 usb_unpoison_urb(port->read_urbs[i]); in usb_serial_port_unpoison_urbs()
568 for (i = 0; i < ARRAY_SIZE(port->write_urbs); ++i) in usb_serial_port_unpoison_urbs()
569 usb_unpoison_urb(port->write_urbs[i]); in usb_serial_port_unpoison_urbs()
571 usb_unpoison_urb(port->interrupt_in_urb); in usb_serial_port_unpoison_urbs()
572 usb_unpoison_urb(port->interrupt_out_urb); in usb_serial_port_unpoison_urbs()
577 struct usb_serial_port *port = to_usb_serial_port(dev); in usb_serial_port_release() local
582 usb_free_urb(port->interrupt_in_urb); in usb_serial_port_release()
583 usb_free_urb(port->interrupt_out_urb); in usb_serial_port_release()
584 for (i = 0; i < ARRAY_SIZE(port->read_urbs); ++i) { in usb_serial_port_release()
585 usb_free_urb(port->read_urbs[i]); in usb_serial_port_release()
586 kfree(port->bulk_in_buffers[i]); in usb_serial_port_release()
588 for (i = 0; i < ARRAY_SIZE(port->write_urbs); ++i) { in usb_serial_port_release()
589 usb_free_urb(port->write_urbs[i]); in usb_serial_port_release()
590 kfree(port->bulk_out_buffers[i]); in usb_serial_port_release()
592 kfifo_free(&port->write_fifo); in usb_serial_port_release()
593 kfree(port->interrupt_in_buffer); in usb_serial_port_release()
594 kfree(port->interrupt_out_buffer); in usb_serial_port_release()
595 tty_port_destroy(&port->port); in usb_serial_port_release()
596 kfree(port); in usb_serial_port_release()
670 static int serial_port_carrier_raised(struct tty_port *port) in serial_port_carrier_raised() argument
672 struct usb_serial_port *p = container_of(port, struct usb_serial_port, port); in serial_port_carrier_raised()
681 static void serial_port_dtr_rts(struct tty_port *port, int on) in serial_port_dtr_rts() argument
683 struct usb_serial_port *p = container_of(port, struct usb_serial_port, port); in serial_port_dtr_rts()
693 struct usb_serial_port *port = to_usb_serial_port(dev); in port_number_show() local
695 return sprintf(buf, "%u\n", port->port_number); in port_number_show()
718 struct usb_serial_port *port; in usb_serial_probe() local
905 port = kzalloc(sizeof(struct usb_serial_port), GFP_KERNEL); in usb_serial_probe()
906 if (!port) in usb_serial_probe()
908 tty_port_init(&port->port); in usb_serial_probe()
909 port->port.ops = &serial_port_ops; in usb_serial_probe()
910 port->serial = serial; in usb_serial_probe()
911 spin_lock_init(&port->lock); in usb_serial_probe()
914 INIT_WORK(&port->work, usb_serial_port_work); in usb_serial_probe()
915 serial->port[i] = port; in usb_serial_probe()
916 port->dev.parent = &interface->dev; in usb_serial_probe()
917 port->dev.driver = NULL; in usb_serial_probe()
918 port->dev.bus = &usb_serial_bus_type; in usb_serial_probe()
919 port->dev.release = &usb_serial_port_release; in usb_serial_probe()
920 port->dev.groups = usb_serial_port_groups; in usb_serial_probe()
921 device_initialize(&port->dev); in usb_serial_probe()
927 port = serial->port[i]; in usb_serial_probe()
930 port->bulk_in_size = buffer_size; in usb_serial_probe()
931 port->bulk_in_endpointAddress = endpoint->bEndpointAddress; in usb_serial_probe()
933 for (j = 0; j < ARRAY_SIZE(port->read_urbs); ++j) { in usb_serial_probe()
934 set_bit(j, &port->read_urbs_free); in usb_serial_probe()
935 port->read_urbs[j] = usb_alloc_urb(0, GFP_KERNEL); in usb_serial_probe()
936 if (!port->read_urbs[j]) in usb_serial_probe()
938 port->bulk_in_buffers[j] = kmalloc(buffer_size, in usb_serial_probe()
940 if (!port->bulk_in_buffers[j]) in usb_serial_probe()
942 usb_fill_bulk_urb(port->read_urbs[j], dev, in usb_serial_probe()
945 port->bulk_in_buffers[j], buffer_size, in usb_serial_probe()
947 port); in usb_serial_probe()
950 port->read_urb = port->read_urbs[0]; in usb_serial_probe()
951 port->bulk_in_buffer = port->bulk_in_buffers[0]; in usb_serial_probe()
956 port = serial->port[i]; in usb_serial_probe()
957 if (kfifo_alloc(&port->write_fifo, PAGE_SIZE, GFP_KERNEL)) in usb_serial_probe()
962 port->bulk_out_size = buffer_size; in usb_serial_probe()
963 port->bulk_out_endpointAddress = endpoint->bEndpointAddress; in usb_serial_probe()
965 for (j = 0; j < ARRAY_SIZE(port->write_urbs); ++j) { in usb_serial_probe()
966 set_bit(j, &port->write_urbs_free); in usb_serial_probe()
967 port->write_urbs[j] = usb_alloc_urb(0, GFP_KERNEL); in usb_serial_probe()
968 if (!port->write_urbs[j]) in usb_serial_probe()
970 port->bulk_out_buffers[j] = kmalloc(buffer_size, in usb_serial_probe()
972 if (!port->bulk_out_buffers[j]) in usb_serial_probe()
974 usb_fill_bulk_urb(port->write_urbs[j], dev, in usb_serial_probe()
977 port->bulk_out_buffers[j], buffer_size, in usb_serial_probe()
979 port); in usb_serial_probe()
982 port->write_urb = port->write_urbs[0]; in usb_serial_probe()
983 port->bulk_out_buffer = port->bulk_out_buffers[0]; in usb_serial_probe()
989 port = serial->port[i]; in usb_serial_probe()
990 port->interrupt_in_urb = usb_alloc_urb(0, GFP_KERNEL); in usb_serial_probe()
991 if (!port->interrupt_in_urb) in usb_serial_probe()
994 port->interrupt_in_endpointAddress = in usb_serial_probe()
996 port->interrupt_in_buffer = kmalloc(buffer_size, in usb_serial_probe()
998 if (!port->interrupt_in_buffer) in usb_serial_probe()
1000 usb_fill_int_urb(port->interrupt_in_urb, dev, in usb_serial_probe()
1003 port->interrupt_in_buffer, buffer_size, in usb_serial_probe()
1004 serial->type->read_int_callback, port, in usb_serial_probe()
1014 port = serial->port[i]; in usb_serial_probe()
1015 port->interrupt_out_urb = usb_alloc_urb(0, GFP_KERNEL); in usb_serial_probe()
1016 if (!port->interrupt_out_urb) in usb_serial_probe()
1019 port->interrupt_out_size = buffer_size; in usb_serial_probe()
1020 port->interrupt_out_endpointAddress = in usb_serial_probe()
1022 port->interrupt_out_buffer = kmalloc(buffer_size, in usb_serial_probe()
1024 if (!port->interrupt_out_buffer) in usb_serial_probe()
1026 usb_fill_int_urb(port->interrupt_out_urb, dev, in usb_serial_probe()
1029 port->interrupt_out_buffer, buffer_size, in usb_serial_probe()
1030 serial->type->write_int_callback, port, in usb_serial_probe()
1068 port = serial->port[i]; in usb_serial_probe()
1069 dev_set_name(&port->dev, "ttyUSB%d", port->minor); in usb_serial_probe()
1070 dev_dbg(ddev, "registering %s\n", dev_name(&port->dev)); in usb_serial_probe()
1071 device_enable_async_suspend(&port->dev); in usb_serial_probe()
1073 retval = device_add(&port->dev); in usb_serial_probe()
1080 usb_serial_console_init(serial->port[0]->minor); in usb_serial_probe()
1096 struct usb_serial_port *port; in usb_serial_disconnect() local
1107 port = serial->port[i]; in usb_serial_disconnect()
1108 tty = tty_port_tty_get(&port->port); in usb_serial_disconnect()
1113 usb_serial_port_poison_urbs(port); in usb_serial_disconnect()
1114 wake_up_interruptible(&port->port.delta_msr_wait); in usb_serial_disconnect()
1115 cancel_work_sync(&port->work); in usb_serial_disconnect()
1116 if (device_is_registered(&port->dev)) in usb_serial_disconnect()
1117 device_del(&port->dev); in usb_serial_disconnect()
1148 usb_serial_port_poison_urbs(serial->port[i]); in usb_serial_suspend()
1159 usb_serial_port_unpoison_urbs(serial->port[i]); in usb_serial_unpoison_port_urbs()