在Linux中热插拔时检测设备是否存在

时间:2014-04-01 05:38:26

标签: linux linux-kernel linux-device-driver hotplugging

我在熊猫板上运行SPI code,我想知道code中的哪个功能负责在设备热插拔时检测到它。

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

1 个答案:

答案 0 :(得分:16)

这是你的代码中的那条神奇的行:

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