【问题标题】:Detect the presence of a device when it's hot plugged in Linux在 Linux 中热插入设备时检测设备的存在
【发布时间】:2014-04-01 05:38:26
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    这就是你的代码中发挥神奇作用的那一行:

    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

    【讨论】:

    • 能不能解释一下of_device_id的结构成员我在网上查了,没找到解释。
    • 会员.data特别说明
    • 阅读第二个链接,在Preprocessor Abuse 下有解释。
    • 是不是叫device table?我正在尝试在 google linux print device table 上进行查询(例如,确定给定产品是否有驱动程序、供应商 ID),但没有看到任何相关信息。
    • 提供的链接不再有效:​​(
    猜你喜欢
    • 2014-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多