>> In my idea, dev->pcie_cap(here is pci_dev->pcie_cap) will update in >> set_pcie_port_type() function, >> and this function always be called after allocate pci device. We get pci_dev >> by eeh_dev_to_pci_dev(), >> I think pci_dev has been initialized completely. >> >>> This function has possibility to be invoked before that. However, >>> we don't have the binding (eeh device <-> PCI device) for the case. >>> So the piece of code shouldn't be running >> >> In PCI core, I knew >> >> pci_scan_device() >> pci_setup_device() >> set_pcie_port_type() >> pci_dev->pcie_cap = pci_find_capability(pdev, PCI_CAP_ID_EXP); >> >> In powerpc, I also found >> >> of_scan_pci_dev() >> of_create_pci_dev() >> set_pcie_port_type() >> pci_dev->pcie_cap = pci_find_capability(pdev, PCI_CAP_ID_EXP); >>> >>> However, it's a bit safer to have pci_find_capability(dev, PCI_CAP_ID_EXP) >>> as well even though we needn't it for 99.9% cases if you agree :-) >> >> I agree, this function is not the performance bottleneck, >> safety is more important. :) >> So if Bjorn and Benjamin think it's not safe, it's ok to drop it. :) >> > > No, it's not what I mean. Anyway, "v3" looks good to me. > At least, it can save PCI-CFG access cycles find locate > the PCIe capability position :-)
Thanks! :) > > Thanks, > Gavin > > > . > -- Thanks! Yijing -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/