Lines Matching refs:port
57 * Look up the serial port structure. If it is found and it hasn't been
64 struct usb_serial_port *port;
67 port = idr_find(&serial_minors, minor);
68 if (!port)
71 serial = port->serial;
75 port = NULL;
81 return port;
86 struct usb_serial_port *port;
94 port = serial->port[i];
95 minor = idr_alloc(&serial_minors, port, 0,
99 port->minor = minor;
100 port->port_number = i;
108 idr_remove(&serial_minors, serial->port[j]->minor);
119 idr_remove(&serial_minors, serial->port[i]->minor);
127 struct usb_serial_port *port;
141 port = serial->port[i];
142 if (port) {
143 port->serial = NULL;
144 put_device(&port->dev);
173 * where we store a pointer to the port, and where we do an autoresume.
180 struct usb_serial_port *port;
184 port = usb_serial_port_get_by_minor(idx);
185 if (!port)
188 serial = port->serial;
208 tty->driver_data = port;
224 struct usb_serial_port *port =
225 container_of(tport, struct usb_serial_port, port);
226 struct usb_serial *serial = port->serial;
233 retval = port->serial->type->open(tty, port);
244 struct usb_serial_port *port = tty->driver_data;
248 return tty_port_open(&port->port, tty, filp);
253 * @tport: tty port to shut down
255 * Shut down a USB serial port. Serialized against activate by the
257 * of calls by the tty-port initialized flag.
263 struct usb_serial_port *port =
264 container_of(tport, struct usb_serial_port, port);
265 struct usb_serial_driver *drv = port->serial->type;
268 drv->close(port);
273 struct usb_serial_port *port = tty->driver_data;
277 tty_port_hangup(&port->port);
282 struct usb_serial_port *port = tty->driver_data;
286 tty_port_close(&port->port, tty, filp);
293 * Do the resource freeing and refcount dropping for the port.
300 struct usb_serial_port *port = tty->driver_data;
309 if (port->port.console)
314 serial = port->serial;
326 struct usb_serial_port *port = tty->driver_data;
329 if (port->serial->dev->state == USB_STATE_NOTATTACHED)
334 retval = port->serial->type->write(tty, port, buf, count);
343 struct usb_serial_port *port = tty->driver_data;
347 return port->serial->type->write_room(tty);
352 struct usb_serial_port *port = tty->driver_data;
353 struct usb_serial *serial = port->serial;
365 struct usb_serial_port *port = tty->driver_data;
366 struct usb_serial *serial = port->serial;
370 if (!port->serial->type->wait_until_sent)
375 port->serial->type->wait_until_sent(tty, timeout);
381 struct usb_serial_port *port = tty->driver_data;
385 if (port->serial->type->throttle)
386 port->serial->type->throttle(tty);
391 struct usb_serial_port *port = tty->driver_data;
395 if (port->serial->type->unthrottle)
396 port->serial->type->unthrottle(tty);
401 struct usb_serial_port *port = tty->driver_data;
403 if (port->serial->type->get_serial)
404 return port->serial->type->get_serial(tty, ss);
410 struct usb_serial_port *port = tty->driver_data;
412 if (port->serial->type->set_serial)
413 return port->serial->type->set_serial(tty, ss);
420 struct usb_serial_port *port = tty->driver_data;
427 if (port->serial->type->tiocmiwait)
428 retval = port->serial->type->tiocmiwait(tty, arg);
431 if (port->serial->type->ioctl)
432 retval = port->serial->type->ioctl(tty, cmd, arg);
440 struct usb_serial_port *port = tty->driver_data;
444 if (port->serial->type->set_termios)
445 port->serial->type->set_termios(tty, port, old);
452 struct usb_serial_port *port = tty->driver_data;
456 if (port->serial->type->break_ctl)
457 port->serial->type->break_ctl(tty, break_state);
465 struct usb_serial_port *port;
471 port = usb_serial_port_get_by_minor(i);
472 if (port == NULL)
474 serial = port->serial;
486 seq_printf(m, " port:%d", port->port_number);
499 struct usb_serial_port *port = tty->driver_data;
503 if (port->serial->type->tiocmget)
504 return port->serial->type->tiocmget(tty);
511 struct usb_serial_port *port = tty->driver_data;
515 if (port->serial->type->tiocmset)
516 return port->serial->type->tiocmset(tty, set, clear);
523 struct usb_serial_port *port = tty->driver_data;
527 if (port->serial->type->get_icount)
528 return port->serial->type->get_icount(tty, icount);
537 void usb_serial_port_softint(struct usb_serial_port *port)
539 schedule_work(&port->work);
545 struct usb_serial_port *port =
548 tty_port_tty_wakeup(&port->port);
551 static void usb_serial_port_poison_urbs(struct usb_serial_port *port)
555 for (i = 0; i < ARRAY_SIZE(port->read_urbs); ++i)
556 usb_poison_urb(port->read_urbs[i]);
557 for (i = 0; i < ARRAY_SIZE(port->write_urbs); ++i)
558 usb_poison_urb(port->write_urbs[i]);
560 usb_poison_urb(port->interrupt_in_urb);
561 usb_poison_urb(port->interrupt_out_urb);
564 static void usb_serial_port_unpoison_urbs(struct usb_serial_port *port)
568 for (i = 0; i < ARRAY_SIZE(port->read_urbs); ++i)
569 usb_unpoison_urb(port->read_urbs[i]);
570 for (i = 0; i < ARRAY_SIZE(port->write_urbs); ++i)
571 usb_unpoison_urb(port->write_urbs[i]);
573 usb_unpoison_urb(port->interrupt_in_urb);
574 usb_unpoison_urb(port->interrupt_out_urb);
579 struct usb_serial_port *port = to_usb_serial_port(dev);
584 usb_free_urb(port->interrupt_in_urb);
585 usb_free_urb(port->interrupt_out_urb);
586 for (i = 0; i < ARRAY_SIZE(port->read_urbs); ++i) {
587 usb_free_urb(port->read_urbs[i]);
588 kfree(port->bulk_in_buffers[i]);
590 for (i = 0; i < ARRAY_SIZE(port->write_urbs); ++i) {
591 usb_free_urb(port->write_urbs[i]);
592 kfree(port->bulk_out_buffers[i]);
594 kfifo_free(&port->write_fifo);
595 kfree(port->interrupt_in_buffer);
596 kfree(port->interrupt_out_buffer);
597 tty_port_destroy(&port->port);
598 kfree(port);
672 static int serial_port_carrier_raised(struct tty_port *port)
674 struct usb_serial_port *p = container_of(port, struct usb_serial_port, port);
683 static void serial_port_dtr_rts(struct tty_port *port, int on)
685 struct usb_serial_port *p = container_of(port, struct usb_serial_port, port);
695 struct usb_serial_port *port = to_usb_serial_port(dev);
697 return sprintf(buf, "%u\n", port->port_number);
747 static int setup_port_bulk_in(struct usb_serial_port *port,
750 struct usb_serial_driver *type = port->serial->type;
751 struct usb_device *udev = port->serial->dev;
756 port->bulk_in_size = buffer_size;
757 port->bulk_in_endpointAddress = epd->bEndpointAddress;
759 for (i = 0; i < ARRAY_SIZE(port->read_urbs); ++i) {
760 set_bit(i, &port->read_urbs_free);
761 port->read_urbs[i] = usb_alloc_urb(0, GFP_KERNEL);
762 if (!port->read_urbs[i])
764 port->bulk_in_buffers[i] = kmalloc(buffer_size, GFP_KERNEL);
765 if (!port->bulk_in_buffers[i])
767 usb_fill_bulk_urb(port->read_urbs[i], udev,
769 port->bulk_in_buffers[i], buffer_size,
770 type->read_bulk_callback, port);
773 port->read_urb = port->read_urbs[0];
774 port->bulk_in_buffer = port->bulk_in_buffers[0];
779 static int setup_port_bulk_out(struct usb_serial_port *port,
782 struct usb_serial_driver *type = port->serial->type;
783 struct usb_device *udev = port->serial->dev;
787 if (kfifo_alloc(&port->write_fifo, PAGE_SIZE, GFP_KERNEL))
793 port->bulk_out_size = buffer_size;
794 port->bulk_out_endpointAddress = epd->bEndpointAddress;
796 for (i = 0; i < ARRAY_SIZE(port->write_urbs); ++i) {
797 set_bit(i, &port->write_urbs_free);
798 port->write_urbs[i] = usb_alloc_urb(0, GFP_KERNEL);
799 if (!port->write_urbs[i])
801 port->bulk_out_buffers[i] = kmalloc(buffer_size, GFP_KERNEL);
802 if (!port->bulk_out_buffers[i])
804 usb_fill_bulk_urb(port->write_urbs[i], udev,
806 port->bulk_out_buffers[i], buffer_size,
807 type->write_bulk_callback, port);
810 port->write_urb = port->write_urbs[0];
811 port->bulk_out_buffer = port->bulk_out_buffers[0];
816 static int setup_port_interrupt_in(struct usb_serial_port *port,
819 struct usb_serial_driver *type = port->serial->type;
820 struct usb_device *udev = port->serial->dev;
823 port->interrupt_in_urb = usb_alloc_urb(0, GFP_KERNEL);
824 if (!port->interrupt_in_urb)
827 port->interrupt_in_endpointAddress = epd->bEndpointAddress;
828 port->interrupt_in_buffer = kmalloc(buffer_size, GFP_KERNEL);
829 if (!port->interrupt_in_buffer)
831 usb_fill_int_urb(port->interrupt_in_urb, udev,
833 port->interrupt_in_buffer, buffer_size,
834 type->read_int_callback, port,
840 static int setup_port_interrupt_out(struct usb_serial_port *port,
843 struct usb_serial_driver *type = port->serial->type;
844 struct usb_device *udev = port->serial->dev;
847 port->interrupt_out_urb = usb_alloc_urb(0, GFP_KERNEL);
848 if (!port->interrupt_out_urb)
851 port->interrupt_out_size = buffer_size;
852 port->interrupt_out_endpointAddress = epd->bEndpointAddress;
853 port->interrupt_out_buffer = kmalloc(buffer_size, GFP_KERNEL);
854 if (!port->interrupt_out_buffer)
856 usb_fill_int_urb(port->interrupt_out_urb, udev,
858 port->interrupt_out_buffer, buffer_size,
859 type->write_int_callback, port,
871 struct usb_serial_port *port;
964 dev_dbg(ddev, "setting up %d port structure(s)\n", max_endpoints);
966 port = kzalloc(sizeof(struct usb_serial_port), GFP_KERNEL);
967 if (!port) {
971 tty_port_init(&port->port);
972 port->port.ops = &serial_port_ops;
973 port->serial = serial;
974 spin_lock_init(&port->lock);
977 INIT_WORK(&port->work, usb_serial_port_work);
978 serial->port[i] = port;
979 port->dev.parent = &interface->dev;
980 port->dev.driver = NULL;
981 port->dev.bus = &usb_serial_bus_type;
982 port->dev.release = &usb_serial_port_release;
983 port->dev.groups = usb_serial_port_groups;
984 device_initialize(&port->dev);
989 retval = setup_port_bulk_in(serial->port[i], epds->bulk_in[i]);
995 retval = setup_port_bulk_out(serial->port[i],
1003 retval = setup_port_interrupt_in(serial->port[i],
1014 retval = setup_port_interrupt_out(serial->port[i],
1033 serial port as it's about to disappear */
1049 port = serial->port[i];
1050 dev_set_name(&port->dev, "ttyUSB%d", port->minor);
1051 dev_dbg(ddev, "registering %s\n", dev_name(&port->dev));
1052 device_enable_async_suspend(&port->dev);
1054 retval = device_add(&port->dev);
1056 dev_err(ddev, "Error registering port device, continuing\n");
1060 usb_serial_console_init(serial->port[0]->minor);
1081 struct usb_serial_port *port;
1092 port = serial->port[i];
1093 tty = tty_port_tty_get(&port->port);
1098 usb_serial_port_poison_urbs(port);
1099 wake_up_interruptible(&port->port.delta_msr_wait);
1100 cancel_work_sync(&port->work);
1101 if (device_is_registered(&port->dev))
1102 device_del(&port->dev);
1133 usb_serial_port_poison_urbs(serial->port[i]);
1144 usb_serial_port_unpoison_urbs(serial->port[i]);