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

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

51自学网 2021-06-03 10:21:04
  C++
这篇教程C++ xhci_common_hub_descriptor函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中xhci_common_hub_descriptor函数的典型用法代码示例。如果您正苦于以下问题:C++ xhci_common_hub_descriptor函数的具体用法?C++ xhci_common_hub_descriptor怎么用?C++ xhci_common_hub_descriptor使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了xhci_common_hub_descriptor函数的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: xhci_usb3_hub_descriptor

/* Fill in the USB 3.0 roothub descriptor */static void xhci_usb3_hub_descriptor(struct usb_hcd *hcd, struct xhci_hcd *xhci,		struct usb_hub_descriptor *desc){	int ports;	u16 port_removable;	u32 portsc;	unsigned int i;	ports = xhci->num_usb3_ports;	xhci_common_hub_descriptor(xhci, desc, ports);	desc->bDescriptorType = USB_DT_SS_HUB;	desc->bDescLength = USB_DT_SS_HUB_SIZE;	/* header decode latency should be zero for roothubs,	 * see section 4.23.5.2.	 */	desc->u.ss.bHubHdrDecLat = 0;	desc->u.ss.wHubDelay = 0;	port_removable = 0;	/* bit 0 is reserved, bit 1 is for port 1, etc. */	for (i = 0; i < ports; i++) {		portsc = xhci_readl(xhci, xhci->usb3_ports[i]);		if (portsc & PORT_DEV_REMOVE)			port_removable |= 1 << (i + 1);	}	memset(&desc->u.ss.DeviceRemovable,			(__force __u16) cpu_to_le16(port_removable),			sizeof(__u16));}
开发者ID:LiquidSmooth-Devices,项目名称:Deathly_Kernel_D2,代码行数:31,


示例2: xhci_usb2_hub_descriptor

/* Fill in the USB 2.0 roothub descriptor */static void xhci_usb2_hub_descriptor(struct usb_hcd *hcd, struct xhci_hcd *xhci,		struct usb_hub_descriptor *desc){	int ports;	u16 temp;	__u8 port_removable[(USB_MAXCHILDREN + 1 + 7) / 8];	u32 portsc;	unsigned int i;	ports = xhci->num_usb2_ports;	xhci_common_hub_descriptor(xhci, desc, ports);	desc->bDescriptorType = USB_DT_HUB;	temp = 1 + (ports / 8);	desc->bDescLength = USB_DT_HUB_NONVAR_SIZE + 2 * temp;	/* The Device Removable bits are reported on a byte granularity.	 * If the port doesn't exist within that byte, the bit is set to 0.	 */	memset(port_removable, 0, sizeof(port_removable));	for (i = 0; i < ports; i++) {		portsc = readl(xhci->usb2_ports[i]);		/* If a device is removable, PORTSC reports a 0, same as in the		 * hub descriptor DeviceRemovable bits.		 */		if (portsc & PORT_DEV_REMOVE)			/* This math is hairy because bit 0 of DeviceRemovable			 * is reserved, and bit 1 is for port 1, etc.			 */			port_removable[(i + 1) / 8] |= 1 << ((i + 1) % 8);	}	/* ch11.h defines a hub descriptor that has room for USB_MAXCHILDREN	 * ports on it.  The USB 2.0 specification says that there are two	 * variable length fields at the end of the hub descriptor:	 * DeviceRemovable and PortPwrCtrlMask.  But since we can have less than	 * USB_MAXCHILDREN ports, we may need to use the DeviceRemovable array	 * to set PortPwrCtrlMask bits.  PortPwrCtrlMask must always be set to	 * 0xFF, so we initialize the both arrays (DeviceRemovable and	 * PortPwrCtrlMask) to 0xFF.  Then we set the DeviceRemovable for each	 * set of ports that actually exist.	 */	memset(desc->u.hs.DeviceRemovable, 0xff,			sizeof(desc->u.hs.DeviceRemovable));	memset(desc->u.hs.PortPwrCtrlMask, 0xff,			sizeof(desc->u.hs.PortPwrCtrlMask));	for (i = 0; i < (ports + 1 + 7) / 8; i++)		memset(&desc->u.hs.DeviceRemovable[i], port_removable[i],				sizeof(__u8));}
开发者ID:GAXUSXX,项目名称:G935FGaXusKernel2,代码行数:52,



注:本文中的xhci_common_hub_descriptor函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


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