这篇教程C++ stop_data_traffic函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中stop_data_traffic函数的典型用法代码示例。如果您正苦于以下问题:C++ stop_data_traffic函数的具体用法?C++ stop_data_traffic怎么用?C++ stop_data_traffic使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了stop_data_traffic函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: acm_suspendstatic int acm_suspend(struct usb_interface *intf, pm_message_t message){ struct acm *acm = usb_get_intfdata(intf); int cnt; spin_lock_irq(&acm->read_lock); spin_lock(&acm->write_lock); if (PMSG_IS_AUTO(message)) { if (acm->transmitting) { spin_unlock(&acm->write_lock); spin_unlock_irq(&acm->read_lock); return -EBUSY; } } cnt = acm->susp_count++; spin_unlock(&acm->write_lock); spin_unlock_irq(&acm->read_lock); if (cnt) return 0; stop_data_traffic(acm); return 0;}
开发者ID:ryrzy,项目名称:yoda-kernel-H7-PLK-L01-MM,代码行数:25,
示例2: modem_closestatic void modem_close(struct usb_serial_port *port){ struct modem_port *modem_port_ptr = usb_get_serial_data(port->serial); if (!modem_port_ptr) { dev_err(&port->dev, "%s: null modem port pointer./n", __func__); return; } if (cdma_modem_debug) dev_info(&port->dev, "%s: Enter. Close Port %d/n", __func__, modem_port_ptr->number); modem_port_ptr->port_closing = 1; /* For the data modem port, the pm interface needs to be get here * and will be put back at serial_close() of usb-serial.c */ if (modem_port_ptr->number == MODEM_INTERFACE_NUM) usb_autopm_get_interface( modem_port_ptr->port->serial->interface); stop_data_traffic(modem_port_ptr); cancel_work_sync(&modem_port_ptr->wake_and_write); modem_port_ptr->port = 0; modem_port_ptr->modem_status = 0; if (modem_port_ptr->delayed_wb) modem_port_ptr->delayed_wb->use = 0; if (cdma_modem_debug) dev_info(&port->dev, "%s: Exit./n", __func__);}
开发者ID:Atrix-Dev-Team,项目名称:kernel-MB860,代码行数:33,
示例3: acm_disconnectstatic void acm_disconnect(struct usb_interface *intf){ struct acm *acm = usb_get_intfdata(intf); struct usb_device *usb_dev = interface_to_usbdev(intf); struct tty_struct *tty; int i; dev_dbg(&intf->dev, "%s/n", __func__); /* sibling interface is already cleaning up */ if (!acm) return; mutex_lock(&acm->mutex); acm->disconnected = true; if (acm->country_codes) { device_remove_file(&acm->control->dev, &dev_attr_wCountryCodes); device_remove_file(&acm->control->dev, &dev_attr_iCountryCodeRelDate); kfree(acm->country_codes); } device_remove_file(&acm->control->dev, &dev_attr_bmCapabilities); usb_set_intfdata(acm->control, NULL); usb_set_intfdata(acm->data, NULL); mutex_unlock(&acm->mutex); tty = tty_port_tty_get(&acm->port); if (tty) { tty_vhangup(tty); tty_kref_put(tty); } stop_data_traffic(acm); tty_unregister_device(acm_tty_driver, acm->minor); usb_free_urb(acm->ctrlurb); for (i = 0; i < ACM_NW; i++) usb_free_urb(acm->wb[i].urb); for (i = 0; i < acm->rx_buflimit; i++) usb_free_urb(acm->read_urbs[i]); acm_write_buffers_free(acm); usb_free_coherent(usb_dev, acm->ctrlsize, acm->ctrl_buffer, acm->ctrl_dma); acm_read_buffers_free(acm); if (!acm->combined_interfaces) usb_driver_release_interface(&acm_driver, intf == acm->control ? acm->data : acm->control); tty_port_put(&acm->port);}
开发者ID:Emineminero,项目名称:DORIMANX_LG_STOCK_LP_KERNEL,代码行数:52,
示例4: acm_disconnectstatic void acm_disconnect(struct usb_interface *intf){ struct acm *acm = usb_get_intfdata(intf); struct usb_device *usb_dev = interface_to_usbdev(intf); int i; if (!acm || !acm->dev) { dbg("disconnect on nonexisting interface"); return; } mutex_lock(&open_mutex); if (!usb_get_intfdata(intf)) { mutex_unlock(&open_mutex); return; } if (acm->country_codes){ device_remove_file(&acm->control->dev, &dev_attr_wCountryCodes); device_remove_file(&acm->control->dev, &dev_attr_iCountryCodeRelDate); } device_remove_file(&acm->control->dev, &dev_attr_bmCapabilities); acm->dev = NULL; usb_set_intfdata(acm->control, NULL); usb_set_intfdata(acm->data, NULL); stop_data_traffic(acm); acm_write_buffers_free(acm); usb_buffer_free(usb_dev, acm->ctrlsize, acm->ctrl_buffer, acm->ctrl_dma); for (i = 0; i < acm->rx_buflimit; i++) usb_buffer_free(usb_dev, acm->readsize, acm->rb[i].base, acm->rb[i].dma); usb_driver_release_interface(&acm_driver, intf == acm->control ? acm->data : intf); if (!acm->used) { acm_tty_unregister(acm); mutex_unlock(&open_mutex); return; } mutex_unlock(&open_mutex); if (acm->tty) tty_hangup(acm->tty);}
开发者ID:maraz,项目名称:linux-2.6,代码行数:47,
示例5: acm_suspendstatic int acm_suspend(struct usb_interface *intf, pm_message_t message){ struct acm *acm = usb_get_intfdata(intf); if (acm->susp_count++) return 0; /* we treat opened interfaces differently, we must guard against open */ mutex_lock(&acm->mutex); if (acm->used) stop_data_traffic(acm); mutex_unlock(&acm->mutex); return 0;}
开发者ID:maraz,项目名称:linux-2.6,代码行数:18,
示例6: modem_disconnectstatic void modem_disconnect(struct usb_serial *serial){ unsigned long flags; struct modem_port *modem_port_ptr = usb_get_serial_data(serial); uint8_t interface_num = serial->interface->cur_altsetting->desc.bInterfaceNumber; if (cdma_modem_debug) dev_info(&serial->dev->dev, "%s: Disconnect Interface %d/n", __func__, interface_num); if (modem_port_ptr->number == MODEM_INTERFACE_NUM) { /* free BP GPIO wakeup irq */ if (modem_wake_irq) { disable_irq_wake(modem_wake_irq); free_irq(modem_wake_irq, modem_port_ptr); } wake_lock_destroy(&modem.wakelock); destroy_workqueue(modem.wq); } stop_data_traffic(modem_port_ptr); cancel_work_sync(&modem_port_ptr->wake_and_write); /* Request the regulator be shutdown after a timeout. This allows the other interfaces time to shutdown as well as the BP time to restart in the case of a panic or some other malfunction. */ spin_lock_irqsave(&modem.lock, flags); if (modem.connected == true) { modem.connected = false; (void)schedule_delayed_work(&modem.delayed_pwr_shutdown, msecs_to_jiffies(PWR_DOWN_TIMEOUT_MS)); } spin_unlock_irqrestore(&modem.lock, flags); modem_attached_ports--;}
开发者ID:Atrix-Dev-Team,项目名称:kernel-MB860,代码行数:40,
示例7: acm_suspendstatic int acm_suspend(struct usb_interface *intf, pm_message_t message){ struct acm *acm = usb_get_intfdata(intf); int cnt;#if 0 if (acm->dev->auto_pm) { int b; spin_lock_irq(&acm->read_lock); spin_lock(&acm->write_lock); b = acm->processing + acm->transmitting; spin_unlock(&acm->write_lock); spin_unlock_irq(&acm->read_lock); if (b) return -EBUSY; }#endif spin_lock_irq(&acm->read_lock); spin_lock(&acm->write_lock); cnt = acm->susp_count++; spin_unlock(&acm->write_lock); spin_unlock_irq(&acm->read_lock); if (cnt) return 0; /* we treat opened interfaces differently, we must guard against open */ mutex_lock(&acm->mutex); if (acm->used) stop_data_traffic(acm); mutex_unlock(&acm->mutex); return 0;}
开发者ID:IgnasD,项目名称:Tomato-RAF,代码行数:38,
示例8: modem_suspendstatic int modem_suspend(struct usb_interface *intf, pm_message_t message){ struct usb_serial *serial = usb_get_intfdata(intf); struct modem_port *modem_port_ptr = usb_get_serial_data(serial); struct usb_serial_port *port; unsigned long flags; unsigned long threshold_time; int tmp; if (modem_port_ptr == NULL) { dev_err(&intf->dev, " NULL modem_port ptr /n"); return 0; } if (cdma_modem_debug) dev_info(&intf->dev, "%s +++ /n", __func__); if (modem_port_ptr->number == MODEM_INTERFACE_NUM) { modem_usb_enable_wakeup_irq(intf); atomic_set(&modem_port_ptr->wakeup_flag, 0); } port = modem_port_ptr->port; if (port == NULL) { if (cdma_modem_debug) dev_info(&intf->dev, "%s: port not open yet /n", __func__); modem_port_ptr->susp_count++; return 0; } if (cdma_modem_debug) dev_info(&intf->dev, "%s: Suspend Port num %d./n", __func__, modem_port_ptr->number); spin_lock_irqsave(&modem_port_ptr->read_lock, flags); spin_lock(&modem_port_ptr->write_lock); tmp = modem_port_ptr->processing + modem_port_ptr->sending; spin_unlock(&modem_port_ptr->write_lock); spin_unlock_irqrestore(&modem_port_ptr->read_lock, flags); if (tmp) { if (cdma_modem_debug) dev_info(&intf->dev, "%s: sending = %d, receiving = %d./n", __func__, modem_port_ptr->sending, modem_port_ptr->processing); return -EBUSY; } threshold_time = modem_port_ptr->last_traffic + MODEM_NO_TRAFFIC_TIME; if (time_before(jiffies, threshold_time)) { if (cdma_modem_debug) dev_info(&intf->dev, "%s: busy. suspend failed./n", __func__); if (modem_port_ptr->number == MODEM_INTERFACE_NUM) modem_usb_disable_wakeup_irq(intf); return -EBUSY; } spin_lock_irqsave(&modem_port_ptr->read_lock, flags); spin_lock(&modem_port_ptr->write_lock); modem_port_ptr->susp_count++; spin_unlock(&modem_port_ptr->write_lock); spin_unlock_irqrestore(&modem_port_ptr->read_lock, flags); stop_data_traffic(modem_port_ptr); if (cdma_modem_debug) dev_info(&intf->dev, "%s: Port num %d.suspended/n", __func__, modem_port_ptr->number); return 0;}
开发者ID:Atrix-Dev-Team,项目名称:kernel-MB860,代码行数:79,
注:本文中的stop_data_traffic函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ stop_displaying_shield函数代码示例 C++ stop_critical_timings函数代码示例 |