当前位置: 代码迷 >> 驱动开发 >> 请问usb storage驱动加载有关问题
  详细解决方案

请问usb storage驱动加载有关问题

热度:226   发布时间:2016-04-28 11:23:03.0
请教usb storage驱动加载问题
我的理解:usb子系统使用storage_probe()和id_table去判断是否支持新插入的usb设备,支持的话就加载该驱动。(内核中相关代码我看了一点。storage_probe()是static的,它和id_table都在usb_storage_driver结构体中,而usb_storage_driver又是static的,只在usb_stor_init()中被用到,usb_stor_init()只有驱动被加载时调用。代码主要都在/linux-2.6.35/drivers/usb/storage/usb.c中)

试验:我的ubuntu中用lsmod | grep usb 没有发现 usb-storage.ko 被加载,于是插入一个u盘,再次lsmod | grep usb,出现了usb-storage ,说明usb-storage.ko被usb子系统加载。

问题:storage_probe()和id_table是usb-storage.ko中的,usb-storage.ko被加载前usb子系统是不能使用其中的代码的,那又是怎么判断并加载的?

问题延伸:如果我有个特殊的usb设备,并且为其配了个ko文件,如何让usb子系统自动识别我的设备并加载对应的驱动?
请教哪位懂得,谢谢。



------解决方案--------------------
帮顶
  相关解决方案