Re: [PATCH v2 3/6] powerpc/pci: use pci_is_pcie() to simplify code
From: Yijing Wang <hidden>
Date: 2013-10-11 08:23:45
Also in:
linux-pci, lkml
quoted
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.quoted
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 runningIn 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);quoted
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