1)修改id_table如下:
static struct usb_device_id skel_table [] = {
{.driver_info = 42},
{}
};从而对每个usb device,都会调用这个driver.
2)usb_buffer_alloc/usb_buffer_free已经不用了,可用usb_alloc_coherent/usb_free_coherent
代替。
3)在struct usb_class_driver中,成员mode已经去掉了。
4)将info用printk代替,然后可用tail -f /var/log/messages来查看log信息
编译完成后,将加载usb-keleton模块。插入/拔出一个U盘,可以看到如下输出:
Dec 19 14:20:20 localhost kernel: [12905.960009] USB Skeleton device now attached to USBSkel-192
Dec 19 14:20:20 localhost kernel: [12925.418816] usb 1-2: USB disconnect, address 10
Dec 19 14:22:38 localhost kernel: [12925.433989] USB Skeleton #192 now disconnected

本文介绍了LDD3例程usb-skeleton中的关键修改,包括ID表的调整、内存分配函数的替换、日志输出方式的变更等。通过这些修改,可以实现对USB设备的通用驱动支持,并展示了实际操作后的日志输出。
3856

被折叠的 条评论
为什么被折叠?



