在LDD3的例程usb-skeleton中,
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