chishanmingshen 发表于 2015-09-10 10:40

关于probe的疑问。。。

有用到bus的probe()么?没见过啊。。。

镇水铁牛 发表于 2015-09-10 21:45

device和driver都是挂在指定bus下,match后,就会probe

chishanmingshen 发表于 2015-09-11 09:21

本帖最后由 chishanmingshen 于 2015-09-11 09:22 编辑

回复 2# 镇水铁牛


   贴个实际代码(bus->probe有哪个具体函数?)看看啊,我没发现有。。。

asuka2001 发表于 2015-09-11 10:01

回复 3# chishanmingshen

static int really_probe(struct device *dev, struct device_driver *drv) @ drivers/base/dd.c (linux 4.1)
{
      ......
      if (dev->bus->probe) {
                ret = dev->bus->probe(dev);
      ......
}


   

chishanmingshen 发表于 2015-09-11 10:48

本帖最后由 chishanmingshen 于 2015-09-11 13:52 编辑

回复 4# asuka2001


    有drv的probe就够了,为何还存在bus的probe,并且它优先于drv的?static int
__pci_device_probe(struct pci_driver *drv, struct pci_dev *pci_dev)
{
    const struct pci_device_id *id;
    int error = 0;

    if (!pci_dev->driver && drv->probe) {<-----这里的pci_dev->driver和drv 怎么不是一个东西?
      error = -ENODEV;
页: [1]
查看完整版本: 关于probe的疑问。。。