我有两个相同的USB设备连接到不同的USB主控制器。有时设备初始化顺序会自动破坏设备枚举。有没有办法在设备驱动程序中获取USB总线编号(这对于实现正确的初始化就足够了),就像在lsusb用户空间中完成一样?
答案 0 :(得分:0)
我找到了决定。任务是在内核模块中获取USB总线编号,类似的任务在this post找到。有必要在驱动程序init函数中获得usb_device结构的bus-> busnum成员:
struct usb_device *usbdev;
struct usb_bus *mybus;
usbdev=interface_to_usbdev(pusb_intf);
mybus=usbdev->bus;
printk("USB Bus number is %d\n",mybus->busnum);