18年底,花了2个月啃学习USB2.0协议。现在终于开始要派上用场了,开始和代码打交道了。
当然,现在只是从简单的开始usb设备驱动开始,后面再慢慢的分析usb总线,usb的hub之类。
先给出代码,后面再一句一句分析。
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/usb/input.h>
#include <linux/hid.h>
static int usb_simple_probe(struct usb_interface *intf, const struct usb_device_id *id)
{
printk(KERN_INFO"usb_simple_probe\n");
return 0;
}
static void usb_simple_disconnect(struct usb_interface *intf)
{
printk(KERN_INFO"usb_mouse_disconnect\n");
}
static const struct usb_device_id usb_simple_id_table[] = {
{ USB_INTERFACE_INFO(USB_IN