Re: [PATCH V4 02/26] powerpc/PCI: deprecate pci_get_bus_and_slot()
On 12/19/2017 5:29 AM, Michael Ellerman wrote: > Sinan Kayawrites: > >> 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. >> >> Getting ready to remove pci_get_bus_and_slot() function in favor of >> pci_get_domain_bus_and_slot(). >> >> Use pci_get_domain_bus_and_slot() with a domain number of 0 as the code >> is not ready to consume multiple domains and existing code used domain >> number 0. >> >> Signed-off-by: Sinan Kaya >> --- >> arch/powerpc/kernel/pci_32.c | 3 ++- >> arch/powerpc/platforms/powermac/feature.c | 2 +- >> arch/powerpc/sysdev/mv64x60_pci.c | 4 ++-- >> 3 files changed, 5 insertions(+), 4 deletions(-) > > Looks to do what it says. I don't know if any of these call sites could > be improved to provide the domain, but that's not really your problem. > I tried to fix the places where I can at the rest of the series. I even took a stab at fixing powerpc. There were places where the domain information was not available and I couldn't locate where to extract it. I decided to leave it as it is and hope that someone someday may expand the powerpc PCI adaptation. > Acked-by: Michael Ellerman (powerpc) > > cheers > -- 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.
Re: [PATCH V4 02/26] powerpc/PCI: deprecate pci_get_bus_and_slot()
On 12/19/2017 5:29 AM, Michael Ellerman wrote: > Sinan Kaya writes: > >> 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. >> >> Getting ready to remove pci_get_bus_and_slot() function in favor of >> pci_get_domain_bus_and_slot(). >> >> Use pci_get_domain_bus_and_slot() with a domain number of 0 as the code >> is not ready to consume multiple domains and existing code used domain >> number 0. >> >> Signed-off-by: Sinan Kaya >> --- >> arch/powerpc/kernel/pci_32.c | 3 ++- >> arch/powerpc/platforms/powermac/feature.c | 2 +- >> arch/powerpc/sysdev/mv64x60_pci.c | 4 ++-- >> 3 files changed, 5 insertions(+), 4 deletions(-) > > Looks to do what it says. I don't know if any of these call sites could > be improved to provide the domain, but that's not really your problem. > I tried to fix the places where I can at the rest of the series. I even took a stab at fixing powerpc. There were places where the domain information was not available and I couldn't locate where to extract it. I decided to leave it as it is and hope that someone someday may expand the powerpc PCI adaptation. > Acked-by: Michael Ellerman (powerpc) > > cheers > -- 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.
Re: [PATCH V4 02/26] powerpc/PCI: deprecate pci_get_bus_and_slot()
Sinan Kayawrites: > 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. > > Getting ready to remove pci_get_bus_and_slot() function in favor of > pci_get_domain_bus_and_slot(). > > Use pci_get_domain_bus_and_slot() with a domain number of 0 as the code > is not ready to consume multiple domains and existing code used domain > number 0. > > Signed-off-by: Sinan Kaya > --- > arch/powerpc/kernel/pci_32.c | 3 ++- > arch/powerpc/platforms/powermac/feature.c | 2 +- > arch/powerpc/sysdev/mv64x60_pci.c | 4 ++-- > 3 files changed, 5 insertions(+), 4 deletions(-) Looks to do what it says. I don't know if any of these call sites could be improved to provide the domain, but that's not really your problem. Acked-by: Michael Ellerman (powerpc) cheers
Re: [PATCH V4 02/26] powerpc/PCI: deprecate pci_get_bus_and_slot()
Sinan Kaya writes: > 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. > > Getting ready to remove pci_get_bus_and_slot() function in favor of > pci_get_domain_bus_and_slot(). > > Use pci_get_domain_bus_and_slot() with a domain number of 0 as the code > is not ready to consume multiple domains and existing code used domain > number 0. > > Signed-off-by: Sinan Kaya > --- > arch/powerpc/kernel/pci_32.c | 3 ++- > arch/powerpc/platforms/powermac/feature.c | 2 +- > arch/powerpc/sysdev/mv64x60_pci.c | 4 ++-- > 3 files changed, 5 insertions(+), 4 deletions(-) Looks to do what it says. I don't know if any of these call sites could be improved to provide the domain, but that's not really your problem. Acked-by: Michael Ellerman (powerpc) cheers
[PATCH V4 02/26] powerpc/PCI: deprecate pci_get_bus_and_slot()
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. Getting ready to remove pci_get_bus_and_slot() function in favor of pci_get_domain_bus_and_slot(). Use pci_get_domain_bus_and_slot() with a domain number of 0 as the code is not ready to consume multiple domains and existing code used domain number 0. Signed-off-by: Sinan Kaya--- arch/powerpc/kernel/pci_32.c | 3 ++- arch/powerpc/platforms/powermac/feature.c | 2 +- arch/powerpc/sysdev/mv64x60_pci.c | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c index 1d817f4..85ad2f7 100644 --- a/arch/powerpc/kernel/pci_32.c +++ b/arch/powerpc/kernel/pci_32.c @@ -96,7 +96,8 @@ reg = of_get_property(node, "reg", NULL); if (!reg) continue; - dev = pci_get_bus_and_slot(pci_bus, ((reg[0] >> 8) & 0xff)); + dev = pci_get_domain_bus_and_slot(0, pci_bus, + ((reg[0] >> 8) & 0xff)); if (!dev || !dev->subordinate) { pci_dev_put(dev); continue; diff --git a/arch/powerpc/platforms/powermac/feature.c b/arch/powerpc/platforms/powermac/feature.c index 466b842..3f82cb2 100644 --- a/arch/powerpc/platforms/powermac/feature.c +++ b/arch/powerpc/platforms/powermac/feature.c @@ -829,7 +829,7 @@ static long core99_scc_enable(struct device_node *node, long param, long value) if (value) { if (pci_device_from_OF_node(node, , ) == 0) - pdev = pci_get_bus_and_slot(pbus, pid); + pdev = pci_get_domain_bus_and_slot(0, pbus, pid); if (pdev == NULL) return 0; rc = pci_enable_device(pdev); diff --git a/arch/powerpc/sysdev/mv64x60_pci.c b/arch/powerpc/sysdev/mv64x60_pci.c index d52b3b8..6fe9104 100644 --- a/arch/powerpc/sysdev/mv64x60_pci.c +++ b/arch/powerpc/sysdev/mv64x60_pci.c @@ -37,7 +37,7 @@ static ssize_t mv64x60_hs_reg_read(struct file *filp, struct kobject *kobj, if (count < MV64X60_VAL_LEN_MAX) return -EINVAL; - phb = pci_get_bus_and_slot(0, PCI_DEVFN(0, 0)); + phb = pci_get_domain_bus_and_slot(0, 0, PCI_DEVFN(0, 0)); if (!phb) return -ENODEV; pci_read_config_dword(phb, MV64X60_PCICFG_CPCI_HOTSWAP, ); @@ -61,7 +61,7 @@ static ssize_t mv64x60_hs_reg_write(struct file *filp, struct kobject *kobj, if (sscanf(buf, "%i", ) != 1) return -EINVAL; - phb = pci_get_bus_and_slot(0, PCI_DEVFN(0, 0)); + phb = pci_get_domain_bus_and_slot(0, 0, PCI_DEVFN(0, 0)); if (!phb) return -ENODEV; pci_write_config_dword(phb, MV64X60_PCICFG_CPCI_HOTSWAP, v); -- 1.9.1
[PATCH V4 02/26] powerpc/PCI: deprecate pci_get_bus_and_slot()
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. Getting ready to remove pci_get_bus_and_slot() function in favor of pci_get_domain_bus_and_slot(). Use pci_get_domain_bus_and_slot() with a domain number of 0 as the code is not ready to consume multiple domains and existing code used domain number 0. Signed-off-by: Sinan Kaya --- arch/powerpc/kernel/pci_32.c | 3 ++- arch/powerpc/platforms/powermac/feature.c | 2 +- arch/powerpc/sysdev/mv64x60_pci.c | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c index 1d817f4..85ad2f7 100644 --- a/arch/powerpc/kernel/pci_32.c +++ b/arch/powerpc/kernel/pci_32.c @@ -96,7 +96,8 @@ reg = of_get_property(node, "reg", NULL); if (!reg) continue; - dev = pci_get_bus_and_slot(pci_bus, ((reg[0] >> 8) & 0xff)); + dev = pci_get_domain_bus_and_slot(0, pci_bus, + ((reg[0] >> 8) & 0xff)); if (!dev || !dev->subordinate) { pci_dev_put(dev); continue; diff --git a/arch/powerpc/platforms/powermac/feature.c b/arch/powerpc/platforms/powermac/feature.c index 466b842..3f82cb2 100644 --- a/arch/powerpc/platforms/powermac/feature.c +++ b/arch/powerpc/platforms/powermac/feature.c @@ -829,7 +829,7 @@ static long core99_scc_enable(struct device_node *node, long param, long value) if (value) { if (pci_device_from_OF_node(node, , ) == 0) - pdev = pci_get_bus_and_slot(pbus, pid); + pdev = pci_get_domain_bus_and_slot(0, pbus, pid); if (pdev == NULL) return 0; rc = pci_enable_device(pdev); diff --git a/arch/powerpc/sysdev/mv64x60_pci.c b/arch/powerpc/sysdev/mv64x60_pci.c index d52b3b8..6fe9104 100644 --- a/arch/powerpc/sysdev/mv64x60_pci.c +++ b/arch/powerpc/sysdev/mv64x60_pci.c @@ -37,7 +37,7 @@ static ssize_t mv64x60_hs_reg_read(struct file *filp, struct kobject *kobj, if (count < MV64X60_VAL_LEN_MAX) return -EINVAL; - phb = pci_get_bus_and_slot(0, PCI_DEVFN(0, 0)); + phb = pci_get_domain_bus_and_slot(0, 0, PCI_DEVFN(0, 0)); if (!phb) return -ENODEV; pci_read_config_dword(phb, MV64X60_PCICFG_CPCI_HOTSWAP, ); @@ -61,7 +61,7 @@ static ssize_t mv64x60_hs_reg_write(struct file *filp, struct kobject *kobj, if (sscanf(buf, "%i", ) != 1) return -EINVAL; - phb = pci_get_bus_and_slot(0, PCI_DEVFN(0, 0)); + phb = pci_get_domain_bus_and_slot(0, 0, PCI_DEVFN(0, 0)); if (!phb) return -ENODEV; pci_write_config_dword(phb, MV64X60_PCICFG_CPCI_HOTSWAP, v); -- 1.9.1