我在熊猫板上运行 SPI代码,我想知道代码中的哪个函数负责在设备热插拔时检测设备。
有嵌入式系统、Linux 设备驱动程序和/或 spi 背景的人可以回答我的问题吗?
这是您的代码中具有魔力的行:
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
。如果是,则加载该驱动程序并初始化设备。
阅读以下文章了解更多信息: