13

我在熊猫板上运行 SPI代码,我想知道代码中的哪个函数负责在设备热插拔时检测设备。

有嵌入式系统、Linux 设备驱动程序和/或 spi 背景的人可以回答我的问题吗?

4

1 回答 1

20

这是您的代码中具有魔力的行:

1286 MODULE_DEVICE_TABLE(of, omap_mcspi_of_match);

流程:
1. 每个设备的驱动程序使用 API 公开其信息MODULE_DEVICE_TABLE。每个设备都有一个独特的vendor Iddevice Id.
2. 在编译时,构建过程从驱动程序中提取这些信息并构建一个表。
3. 当设备被插入时,kernel检查这个device table以查看是否有任何driver可用于特定的Vendor/Device Id。如果是,则加载该驱动程序并初始化设备。


阅读以下文章了解更多信息:

  1. http://www.linux-mag.com/id/2617/
  2. http://www.linuxjournal.com/node/5604/print
于 2014-04-01T06:01:02.157 回答