gpt4 book ai didi

linux-kernel - 谁调用了驱动程序的probe()

转载 作者:行者123 更新时间:2023-12-03 07:58:13 27 4
gpt4 key购买 nike

怎么样probe()调用被调用?谁叫它?据我了解,__init()寄存器 driver然后不知何故 probe()被调用到 register设备数据和 irq等等。它究竟是如何发生的?

我正在研究触摸屏驱动程序及其 __init将自己注册到 i2c driver .然后探测期望 i2c_clien t 返回空值的数据。我想跟踪它在哪里被填满。

最佳答案

长话短说:驱动程序的probe() 函数被调用作为调用register_driver 的结果。对于那个特定的总线。更准确地说,它是由 probe() 调用的。的bus_type结构体。在您的情况下:i2c_bus_type .

这是您的 I2C 案例中的调用链:

  • i2c_register_driver
  • driver_register
  • bus_add_driver
  • driver_attach
  • __driver_attach(用于您的设备)
  • driver_probe_device
  • real_probe
  • i2c_device_probe(这是用于 i2c 驱动程序的 dev->bus->probe)
  • your_probe_function
  • 关于linux-kernel - 谁调用了驱动程序的probe(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7578582/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com