Learning and understanding of USB input device of Linux kernel

[   47.292023] usb 4-1.5: new full-speed USB device number 5 using usb20_host
[   47.390334] usb 4-1.5: New USB device found, idVendor=0c45, idProduct=8420
[   47.390484] usb 4-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[   47.390558] usb 4-1.5: Product: ZZDNEWtouch
[   47.390644] usb 4-1.5: Manufacturer: ONEZZDGGlectronics
[   47.428495] input: ONEZZDGGlectronics ZZDNEWtouch as /devices/platform/ff540000.usb/usb4/4-1/4-1.5/4-1.5:1.0/0003:0C45:8420.0003/input/input5

 

04-08 01:12:27.920   522   569 D EventHub: No input device configuration file found for device 'ONEZZDGGlectronics ZZDNEWtouch'.
04-08 01:12:27.920   522   569 I EventHub: New device: id=4, fd=135, path='/dev/input/event1', name='ONEZZDGGlectronics ZZDNEWtouch', classes=0x14, configuration='/system/usr/idc/generic.idc', keyLayout='', keyCharacterMap='', builtinKeyboard=false, wakeMechanism=EPOLLWAKEUP, usingClockIoctl=true

 

 

hub_probe(struct usb_interface *intf, const struct usb_device_id *id)
	hub_event(struct work_struct *work)
		void port_event(struct usb_hub *hub, int port1)	__must_hold(&port_dev->status_lock)
			hub_port_connect_change(struct usb_hub *hub, int port1,u16 portstatus, u16 portchange)
				hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus,u16 portchange)
					udev = usb_alloc_dev(hdev, hdev->bus, port1);
						 	device_initialize(&dev->dev);
							dev->dev.bus = &usb_bus_type;
							dev->dev.type = &usb_device_type;
							dev->dev.groups = usb_device_groups;
					hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1,int retry_counter)
						retval = usb_get_device_descriptor(udev, 8);
							usb_get_descriptor(dev, USB_DT_DEVICE, 0, desc, size);
						retval = usb_get_device_descriptor(udev, USB_DT_DEVICE_SIZE);
usb总线的match函数:
usb_device_match
        usb_match_id(intf, usb_drv->id_table)
               usb_match_one_id(interface, id)
                     usb_match_device(dev, id)

 

Insert the mouse for comparison:

[ 1631.758340] usb 4-1.5: new low-speed USB device number 14 using usb20_host
[ 1631.858686] usb 4-1.5: New USB device found, idVendor=093a, idProduct=2510
[ 1631.858810] usb 4-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1631.858902] usb 4-1.5: Product: USB Optical Mouse
[ 1631.858969] usb 4-1.5: Manufacturer: PixArt
[ 1631.878544] input: PixArt USB Optical Mouse as /devices/platform/ff540000.usb/usb4/4-1/4-1.5/4-1.5:1.0/0003:093A:2510.0004/input/input7
[ 1631.880336] hid-generic 0003:093A:2510.0004: input,hidraw0: USB HID v1.11 Mouse [PixArt USB Optical Mouse] on usb-ff540000.usb-1.5/input0

Guess you like

Origin blog.csdn.net/qq543716996/article/details/102832375