【发布时间】:2014-04-01 05:38:26
【问题描述】:
【问题讨论】:
标签: linux linux-kernel linux-device-driver hotplugging
【问题讨论】:
标签: linux linux-kernel linux-device-driver hotplugging
这就是你的代码中发挥神奇作用的那一行:
1286 MODULE_DEVICE_TABLE(of, omap_mcspi_of_match);
流程:
1. 每个设备的驱动程序使用 API MODULE_DEVICE_TABLE 公开其信息。每个设备都有一个唯一的vendor Id 和device Id。
2. 在编译时,构建过程将这些信息从驱动程序中提取出来并构建一个表。
3. 插入设备后,kernel 会检查此device table 以查看是否有driver
可用于特定的Vendor/Device Id。如果是,则加载该驱动程序并初始化设备。
阅读以下文章了解更多信息:
【讨论】:
Preprocessor Abuse 下有解释。
device table?我正在尝试在 google linux print device table 上进行查询(例如,确定给定产品是否有驱动程序、供应商 ID),但没有看到任何相关信息。