【发布时间】:2011-09-06 15:48:38
【问题描述】:
如果加载了 USB 设备驱动程序,并且在某个时间设备插入,那么内核的哪个部分会创建 struct device 并注册它?
【问题讨论】:
标签: linux-kernel linux-device-driver
如果加载了 USB 设备驱动程序,并且在某个时间设备插入,那么内核的哪个部分会创建 struct device 并注册它?
【问题讨论】:
标签: linux-kernel linux-device-driver
加载驱动程序时,系统会调用您在 module_init 中分配的函数。您将需要调用 usb_register(struct usb_driver skel_driver),其中 skel_driver 是一个结构,其中包含指向为设备服务的方法的指针,例如探测方法。
probe 方法是在将新的 USB 设备引入系统时调用的方法。在这个地方,你可以用你将来需要的东西来填充你的结构(usb_skel),启动一个 char 设备或当设备被引入时你做的任何事情。
系统本身不会创建任何东西,它必须准备好大部分结构并填充设备特定的数据。
除了阅读writing usb drivers from LDD之外,请参阅usb-skeleton in lxr以供参考并学习使用它。
干杯
【讨论】: