configfs是基于ram的文件系统,与sysfs的功能有所不同。sysfs是基于文件系统的kernel对象视图,虽然某些属...
} 在我们分析的流程中, Hcd->wireless默认为0.相应的hcd->authorized_default也被置为了0.然后将hcd->flags置为HCD_FLAG_HW_ACCESSIBLE.表示该USB控制器是可以访问的.最后在hcd_buffer_create中,因为hc_driver的flags标志被末置HCD_LOCAL_MEM.该函数在这里什么都不做就返回0了. //注册usb_bus if ((retval ...
在我们分析的流程中, Hcd->wireless默认为0.相应的hcd->authorized_default也被置为了0.然后将hcd->flags置为HCD_FLAG_HW_ACCESSIBLE.表示该USB控制器是可以访问的.最后在hcd_buffer_create中,因为hc_driver的flags标志被末置HCD_LOCAL_MEM.该函数在这里什么都不做就返回0了. //注册usb_bus if ((retval = ...
DRIVER==”usb” ATTR{authorized}==”1″ ATTR{authorized_default}==”1″ ATTR{avoid_reset_quirk}==”0″ ATTR{bConfigurationValue}==”1″ ATTR{bDeviceClass}==”00″ ATTR{bDeviceProtocol}==”00″ ATTR{bDeviceSubClass}==”00″ ATTR{bMaxPacketSize0}==”64″ ATTR{bMaxPower}==”252mA”...
到目前为止,当一个USB设备连接后,经过配置,它会立即暴露给给用户。使用这个特性时,只有root用户授权后的设备才有可能被使用。*/switch(authorized_default) { case USB_AUTHORIZE_NONE: hcd->dev_policy = USB_DEVICE_AUTHORIZE_NONE;break; case USB_AUTHORIZE_ALL: ...
dev->authorized = usb_hcd->authorized_default; dev->wusb = usb_bus_is_wusb(bus)? 1 : 0; } return dev; } 该函数的参数如下: Parent:该设备的上层hub.对于root hub来说,该参数为NULL.表示它的上层无设备 Bus :该设备所属的bus port1:该设备所连hub的端口号.对于root hub来说,该项为0. ...
dev->authorized = 1; else { dev->authorized = usb_hcd->authorized_default; dev->wusb = usb_bus_is_wusb(bus)? 1 : 0; } return dev; } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ...
controller, "%s\n", hcd->product_desc); hcd->authorized_default = hcd->wireless? 0 : 1; set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); /* HC is in reset state, but accessible. Now do the one-time init, * bottom up so that hcds can customize the root hubs before khubd * ...
hcd->authorized_default= hcd->wireless? 0 : 1; --判断是否为无线 set_bit(HCD_FLAG_HW_ACCESSIBLE,&hcd->flags); --设置HW_ACCESSIBLE旗标 if ((retval =hcd_buffer_create(hcd)) != 0) { --开辟hcd的缓冲区 returnretval; } if ((retval =usb_register_bus(&hcd->self)) < 0) gotoerr_re...
Linux内核USB驱动架构:USB卷二_RootHub注册过程