return usb_control_msg(
dev,
usb_sndctrlpipe(dev, 0), /* Send to EP0OUT */
GSI_VENDOR_OPENCLOSE,
USB_DIR_OUT|USB_TYPE_VENDOR|USB_RECIP_INTERFACE,
value, /* wValue = device is open(1) or closed(0) */
port->serial->interface->cur_altsetting->desc.bInterfaceNumber,
NULL, 0, /* There is no data stage */ 5000); /* Timeout till operation fails */
}
staticint wishbone_serial_open(struct tty_struct *tty, struct usb_serial_port *port)
{ int retval;
retval = usb_gsi_openclose(port, 1); if (retval) {
dev_err(&port->serial->dev->dev, "Could not mark device as open (%d)\n",
retval); return retval;
}
retval = usb_serial_generic_open(tty, port); if (retval)
usb_gsi_openclose(port, 0);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.