您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ stop_data_traffic函数代码示例

51自学网 2021-06-03 08:24:24
  C++
这篇教程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_suspend

static 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_close

static 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_disconnect

static 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_disconnect

static 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_suspend

static 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_disconnect

static 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_suspend

static 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_suspend

static 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函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。