On Fri, Sep 10, 2021 at 04:19:40PM +0200, Niklas Schnelle wrote: > On powerpc, pci_dev_is_added() is called as part of SR-IOV fixups > that are done under pcibios_add_device() which in turn is only called in > pci_device_add() whih is called when a PCI device is scanned. > > Now pci_dev_assign_added() is called in pci_bus_add_device() which is > only called after scanning the device. Thus pci_dev_is_added() is always > false and can be dropped. > > Signed-off-by: Niklas Schnelle <schnelle@xxxxxxxxxxxxx> Reviewed-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> This doesn't touch the PCI core, so maybe makes sense for you to take it, Michael? But let me know if you think otherwise. Thanks a lot for cleaning this up, Niklas. > --- > arch/powerpc/platforms/powernv/pci-sriov.c | 6 ------ > arch/powerpc/platforms/pseries/setup.c | 3 +-- > 2 files changed, 1 insertion(+), 8 deletions(-) > > diff --git a/arch/powerpc/platforms/powernv/pci-sriov.c b/arch/powerpc/platforms/powernv/pci-sriov.c > index 28aac933a439..deddbb233fde 100644 > --- a/arch/powerpc/platforms/powernv/pci-sriov.c > +++ b/arch/powerpc/platforms/powernv/pci-sriov.c > @@ -9,9 +9,6 @@ > > #include "pci.h" > > -/* for pci_dev_is_added() */ > -#include "../../../../drivers/pci/pci.h" > - > /* > * The majority of the complexity in supporting SR-IOV on PowerNV comes from > * the need to put the MMIO space for each VF into a separate PE. Internally > @@ -228,9 +225,6 @@ static void pnv_pci_ioda_fixup_iov_resources(struct pci_dev *pdev) > > void pnv_pci_ioda_fixup_iov(struct pci_dev *pdev) > { > - if (WARN_ON(pci_dev_is_added(pdev))) > - return; > - > if (pdev->is_virtfn) { > struct pnv_ioda_pe *pe = pnv_ioda_get_pe(pdev); > > diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c > index f79126f16258..2188054470c1 100644 > --- a/arch/powerpc/platforms/pseries/setup.c > +++ b/arch/powerpc/platforms/pseries/setup.c > @@ -74,7 +74,6 @@ > #include <asm/hvconsole.h> > > #include "pseries.h" > -#include "../../../../drivers/pci/pci.h" > > DEFINE_STATIC_KEY_FALSE(shared_processor); > EXPORT_SYMBOL(shared_processor); > @@ -750,7 +749,7 @@ static void pseries_pci_fixup_iov_resources(struct pci_dev *pdev) > const int *indexes; > struct device_node *dn = pci_device_to_OF_node(pdev); > > - if (!pdev->is_physfn || pci_dev_is_added(pdev)) > + if (!pdev->is_physfn) > return; > /*Firmware must support open sriov otherwise dont configure*/ > indexes = of_get_property(dn, "ibm,open-sriov-vf-bar-info", NULL); > -- > 2.25.1 >