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

Sag*_*ain 11 linux linux-device-driver linux-kernel hotplugging

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

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

bro*_*oot 18

这是你的代码中的行,魔术:

1286 MODULE_DEVICE_TABLE(of, omap_mcspi_of_match);
Run Code Online (Sandbox Code Playgroud)

过程:
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

  • 提供的链接不再有效:​​( (2认同)