这篇教程C++ usb_get_serial_data函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中usb_get_serial_data函数的典型用法代码示例。如果您正苦于以下问题:C++ usb_get_serial_data函数的具体用法?C++ usb_get_serial_data怎么用?C++ usb_get_serial_data使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了usb_get_serial_data函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: pl2303_releasestatic void pl2303_release(struct usb_serial *serial){ struct pl2303_serial_private *spriv; spriv = usb_get_serial_data(serial); kfree(spriv);}
开发者ID:daltenty,项目名称:kernel-ubuntu.trusty-vgt,代码行数:7,
示例2: opticon_tiocmsetstatic int opticon_tiocmset(struct tty_struct *tty, unsigned int set, unsigned int clear){ struct usb_serial_port *port = tty->driver_data; struct opticon_private *priv = usb_get_serial_data(port->serial); unsigned long flags; bool rts; bool changed = false; if (!usb_get_intfdata(port->serial->interface)) return -ENODEV; /* We only support RTS so we only handle that */ spin_lock_irqsave(&priv->lock, flags); rts = priv->rts; if (set & TIOCM_RTS) priv->rts = true; if (clear & TIOCM_RTS) priv->rts = false; changed = rts ^ priv->rts; spin_unlock_irqrestore(&priv->lock, flags); if (!changed) return 0; /* Send the new RTS state to the connected device */ return send_control_msg(port, CONTROL_RTS, !rts);}
开发者ID:JonnyH,项目名称:pandora-kernel,代码行数:28,
示例3: ipw_releasestatic void ipw_release(struct usb_serial *serial){ struct usb_wwan_intf_private *data = usb_get_serial_data(serial); usb_set_serial_data(serial, NULL); kfree(data);}
开发者ID:LITMUS-RT,项目名称:litmus-rt-odroidx,代码行数:7,
示例4: qt2_setup_urbsstatic int qt2_setup_urbs(struct usb_serial *serial){ struct usb_serial_port *port0; struct qt2_serial_private *serial_priv; int status; port0 = serial->port[0]; serial_priv = usb_get_serial_data(serial); serial_priv->read_urb = usb_alloc_urb(0, GFP_KERNEL); if (!serial_priv->read_urb) return -ENOMEM; usb_fill_bulk_urb(serial_priv->read_urb, serial->dev, usb_rcvbulkpipe(serial->dev, port0->bulk_in_endpointAddress), serial_priv->read_buffer, QT2_READ_BUFFER_SIZE, qt2_read_bulk_callback, serial); status = usb_submit_urb(serial_priv->read_urb, GFP_KERNEL); if (status != 0) { dev_err(&serial->dev->dev, "%s - submit read urb failed %i/n", __func__, status); usb_free_urb(serial_priv->read_urb); return status; } return 0;}
开发者ID:ReneNyffenegger,项目名称:linux,代码行数:30,
示例5: pl2303_openstatic int pl2303_open(struct tty_struct *tty, struct usb_serial_port *port){ struct usb_serial *serial = port->serial; struct pl2303_serial_private *spriv = usb_get_serial_data(serial); int result; if (spriv->type != HX) { usb_clear_halt(serial->dev, port->write_urb->pipe); usb_clear_halt(serial->dev, port->read_urb->pipe); } else { /* reset upstream data pipes */ pl2303_vendor_write(8, 0, serial); pl2303_vendor_write(9, 0, serial); } /* Setup termios */ if (tty) pl2303_set_termios(tty, port, NULL); result = usb_submit_urb(port->interrupt_in_urb, GFP_KERNEL); if (result) { dev_err(&port->dev, "%s - failed submitting interrupt urb," " error %d/n", __func__, result); return result; } result = usb_serial_generic_open(tty, port); if (result) { usb_kill_urb(port->interrupt_in_urb); return result; } return 0;}
开发者ID:daltenty,项目名称:kernel-ubuntu.trusty-vgt,代码行数:34,
示例6: qc_releasestatic void qc_release(struct usb_serial *serial){ struct usb_wwan_intf_private *priv = usb_get_serial_data(serial); usb_set_serial_data(serial, NULL); kfree(priv);}
开发者ID:383530895,项目名称:linux,代码行数:7,
示例7: qc_releasestatic void qc_release(struct usb_serial *serial){ struct usb_wwan_intf_private *priv = usb_get_serial_data(serial); /* Free the private data allocated in qcprobe */ usb_set_serial_data(serial, NULL); kfree(priv);}
开发者ID:ashang,项目名称:xpenology-3.x,代码行数:8,
示例8: qt2_releasestatic void qt2_release(struct usb_serial *serial){ struct qt2_serial_private *serial_priv; serial_priv = usb_get_serial_data(serial); usb_free_urb(serial_priv->read_urb); kfree(serial_priv);}
开发者ID:CoerWatt,项目名称:linux,代码行数:9,
示例9: modem_tiocmgetstatic int modem_tiocmget(struct tty_struct *tty, struct file *file){ struct usb_serial_port *port = tty->driver_data; struct modem_port *modem_port_ptr = usb_get_serial_data(port->serial); if (modem_port_ptr == NULL) return 0; return (int)modem_port_ptr->modem_status;}
开发者ID:Atrix-Dev-Team,项目名称:kernel-MB860,代码行数:10,
示例10: opticon_closestatic void opticon_close(struct tty_struct *tty, struct usb_serial_port *port, struct file *filp){ struct opticon_private *priv = usb_get_serial_data(port->serial); dbg("%s - port %d", __func__, port->number); /* shutdown our urbs */ usb_kill_urb(priv->bulk_read_urb);}
开发者ID:artm1248,项目名称:linux,代码行数:10,
示例11: opticon_shutdownstatic void opticon_shutdown(struct usb_serial *serial){ struct opticon_private *priv = usb_get_serial_data(serial); dbg("%s", __func__); usb_kill_urb(priv->bulk_read_urb); usb_free_urb(priv->bulk_read_urb); kfree(priv->bulk_in_buffer); kfree(priv); usb_set_serial_data(serial, NULL);}
开发者ID:artm1248,项目名称:linux,代码行数:12,
示例12: modem_usb_disable_wakeup_irqstatic void modem_usb_disable_wakeup_irq(struct usb_interface *intf){ struct usb_serial *serial = usb_get_intfdata(intf); struct modem_port *modem_port_ptr = usb_get_serial_data(serial); if (modem_port_ptr == NULL) return; if (modem_wake_irq) { disable_irq_wake(modem_wake_irq); disable_irq(modem_wake_irq); }}
开发者ID:Atrix-Dev-Team,项目名称:kernel-MB860,代码行数:13,
示例13: hsictty_write_callbackstatic void hsictty_write_callback(struct urb *urb){ struct usb_serial_port *port; struct hsictty_port_private *portdata; struct hsictty_intf_private *intfdata; int i; port = urb->context; intfdata = usb_get_serial_data(port->serial); portdata = usb_get_serial_port_data(port); if (urb->actual_length <= 0) { hsictty_error ("%s: write failed, write length: %d in channel:%d, endpoint:%d/n", __func__, urb->actual_length, portdata->channel, usb_pipeendpoint(urb->pipe)); } else { hsictty_dbg("%s: write length: %d in channel:%d, endpoint:%d/n", __func__, urb->actual_length, portdata->channel, usb_pipeendpoint(urb->pipe)); }#ifdef BACKUP_DATA_DUMP if (!dumped) backup_log(portdata->channel, 1, urb->transfer_buffer, urb->transfer_buffer_length);#endif usb_serial_port_softint(port); usb_autopm_put_interface_async(port->serial->interface); portdata = usb_get_serial_port_data(port); spin_lock(&intfdata->susp_lock); intfdata->in_flight--; spin_unlock(&intfdata->susp_lock); for (i = 0; i < N_OUT_URB; ++i) { if (portdata->out_urbs[i] == urb) { smp_mb__before_clear_bit(); hsictty_dbg ("%s: urb(%d) freed on channel:%d, endpoint:%d, in_flight:%d, pm use cnt:%d/n", __func__, i, portdata->channel, usb_pipeendpoint(urb->pipe), intfdata->in_flight, atomic_read(&port->serial->interface->dev.power. usage_count)); clear_bit(i, &portdata->out_busy); complete_all(&portdata->tx_notifier); break; } }}
开发者ID:qkdang,项目名称:m462,代码行数:49,
示例14: mxu1_port_probestatic int mxu1_port_probe(struct usb_serial_port *port){ struct mxu1_port *mxport; struct mxu1_device *mxdev; struct urb *urb; mxport = kzalloc(sizeof(struct mxu1_port), GFP_KERNEL); if (!mxport) return -ENOMEM; spin_lock_init(&mxport->mxp_lock); mutex_init(&mxport->mxp_mutex); mxport->mxp_port = port; mxdev = usb_get_serial_data(port->serial); urb = port->interrupt_in_urb; if (!urb) { dev_err(&port->dev, "%s - no interrupt urb/n", __func__); return -EINVAL; } switch (mxdev->mxd_model) { case MXU1_1110_PRODUCT_ID: mxport->mxp_uart_types = MXU1_TYPE_RS232; mxport->mxp_uart_mode = MXU1_UART_232; break; case MXU1_1130_PRODUCT_ID: case MXU1_1131_PRODUCT_ID: mxport->mxp_uart_types = MXU1_TYPE_RS422 | MXU1_TYPE_RS485; mxport->mxp_uart_mode = MXU1_UART_485_RECEIVER_DISABLED; break; case MXU1_1150_PRODUCT_ID: case MXU1_1151_PRODUCT_ID: mxport->mxp_uart_types = MXU1_TYPE_RS232 | MXU1_TYPE_RS422 | MXU1_TYPE_RS485; mxport->mxp_uart_mode = MXU1_UART_232; break; } usb_set_serial_port_data(port, mxport); port->port.closing_wait = msecs_to_jiffies(MXU1_DEFAULT_CLOSING_WAIT * 10); port->port.drain_delay = 1; return 0;}
开发者ID:efferre79,项目名称:mxu11x0,代码行数:48,
注:本文中的usb_get_serial_data函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ usb_get_string_simple函数代码示例 C++ usb_get_intfdata函数代码示例 |