usb_get_device_descriptor()
生活随笔
收集整理的這篇文章主要介紹了
usb_get_device_descriptor()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
usb_new_device() -> usb_get_device_descriptor()
usb_get_device_descriptor() 讀入整個設備描述結構
設備中有:設備描述塊??? USB_DT_DEVICE
??? ????? 接口描述塊??? USB_DT_INTERFACE
??? ????? 配置描述塊??? USB_DT_CONFIG
??? ????? 端口描述塊??? USB_DT_ENDPOINT
從設備讀入的16位整數都是"little ending"的格式,所以要把它們轉換成主機CPU所采用的格式
int usb_get_device_descriptor(struct usb_device *dev)
{
??? int ret = usb_get_descriptor(dev, USB_DT_DEVICE, 0, &dev->descriptor,
???????????????????? sizeof(dev->descriptor));
??? if (ret >= 0) {
??????? le16_to_cpus(&dev->descriptor.bcdUSB);
??????? le16_to_cpus(&dev->descriptor.idVendor);
??????? le16_to_cpus(&dev->descriptor.idProduct);
??????? le16_to_cpus(&dev->descriptor.bcdDevice);
??? }
??? return ret;
}
usb_get_device_descriptor() 讀入整個設備描述結構
設備中有:設備描述塊??? USB_DT_DEVICE
??? ????? 接口描述塊??? USB_DT_INTERFACE
??? ????? 配置描述塊??? USB_DT_CONFIG
??? ????? 端口描述塊??? USB_DT_ENDPOINT
從設備讀入的16位整數都是"little ending"的格式,所以要把它們轉換成主機CPU所采用的格式
int usb_get_device_descriptor(struct usb_device *dev)
{
??? int ret = usb_get_descriptor(dev, USB_DT_DEVICE, 0, &dev->descriptor,
???????????????????? sizeof(dev->descriptor));
??? if (ret >= 0) {
??????? le16_to_cpus(&dev->descriptor.bcdUSB);
??????? le16_to_cpus(&dev->descriptor.idVendor);
??????? le16_to_cpus(&dev->descriptor.idProduct);
??????? le16_to_cpus(&dev->descriptor.bcdDevice);
??? }
??? return ret;
}
總結
以上是生活随笔為你收集整理的usb_get_device_descriptor()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: make: *** [out/targe
- 下一篇: USB相关结构体之struct usb_