On 12/19/2017 12:37 AM, Sinan Kaya wrote: > pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as > where a PCI device is present. This restricts the device drivers to be > reused for other domain numbers. > > Use pci_get_domain_bus_and_slot() with a domain number of 0 where we can't > extract the domain number. Other places, use the actual domain number from > the device. > > Signed-off-by: Sinan Kaya <okaya@xxxxxxxxxxxxxx> > --- > arch/alpha/kernel/pci.c | 2 +- > arch/alpha/kernel/sys_nautilus.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c > index 87da005..2e86ebb 100644 > --- a/arch/alpha/kernel/pci.c > +++ b/arch/alpha/kernel/pci.c > @@ -425,7 +425,7 @@ struct resource * __init > if (bus == 0 && dfn == 0) { > hose = pci_isa_hose; > } else { > - dev = pci_get_bus_and_slot(bus, dfn); > + dev = pci_get_domain_bus_and_slot(0, bus, dfn); > if (!dev) > return -ENODEV; > hose = dev->sysdata; > diff --git a/arch/alpha/kernel/sys_nautilus.c b/arch/alpha/kernel/sys_nautilus.c > index 239dc0e..ff4f54b 100644 > --- a/arch/alpha/kernel/sys_nautilus.c > +++ b/arch/alpha/kernel/sys_nautilus.c > @@ -237,7 +237,7 @@ > bus = hose->bus = bridge->bus; > pcibios_claim_one_bus(bus); > > - irongate = pci_get_bus_and_slot(0, 0); > + irongate = pci_get_domain_bus_and_slot(pci_domain_nr(bus), 0, 0); > bus->self = irongate; > bus->resource[0] = &irongate_io; > bus->resource[1] = &irongate_mem; > Any feedback here? most of the remaining patches have the ACK except these. -- Sinan Kaya Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.