Linux下USB HID device driver研究(一)

作者: Sam (甄峰) [email protected]

Sam需要研究一下USB Mouse device driver. 在Kernel 2.4时代,这块东西是由Input,event等配合组成的。而在kernel2.6中。Sam还不知道是如何运作的。

首先介绍HID:
HID是Human Interface Devices的缩写.翻译成中文即为人机交互设备.这里的人机交互设备是一个宏观上面的概念,任何设备,只要符合HID spec,都可以称之为HID设备

在make menuconfig中,选中USB Human Interface Device(full HID) support。则所有USB HID都会被驱动,其中包括USB Mouse。
在drivers/hid/usbhid/Kconfig看到这项对应的为:CONFIG_USB_HID
又在drivers/hid/usbhid/Makefile中看到:obj-$(CONFIG_USB_HID) += usbhid.o

换句话说,如果选中built-in.则 obj-y中加入usbhid.o 

如果将这一项选中为M(module),则obj-m中加入usbhid.o

 


也就是说:如果选中USB Human Interface Device(full HID) support为built-in.则usbhid.o会被built-in。
再在drivers/hid/usbhid/.usbhid.o.cmd中看到usbhid.o其实是由:hid-core.o,hid-quirks.o,hiddev.o组成的。
也就是说:当在Menuconfig中选中那一项后,这三个.o都会被built-in.

下一篇从driver角度学习。

你可能感兴趣的:(HID)