diff mbox

ia64/PCI: Fix the build warning of pci_domain_nr()

Message ID 1425449804-28887-1-git-send-email-wangyijing@huawei.com
State Not Applicable
Headers show

Commit Message

Yijing Wang March 4, 2015, 6:16 a.m. UTC
We should pass pci_bus * instead of pci_dev * to pci_domain_nr().

Signed-off-by: Yijing Wang <wangyijing@huawei.com>
CC: Tony Luck <tony.luck@intel.com>
CC: Fenghua Yu <fenghua.yu@intel.com>
CC: linux-ia64@vger.kernel.org
CC: stable@vger.kernel.org
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
---
 arch/ia64/sn/kernel/io_acpi_init.c |    6 +++---
 arch/ia64/sn/kernel/io_init.c      |    2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

Comments

Bjorn Helgaas March 4, 2015, 5:22 p.m. UTC | #1
On Wed, Mar 4, 2015 at 12:16 AM, Yijing Wang <wangyijing@huawei.com> wrote:
> We should pass pci_bus * instead of pci_dev * to pci_domain_nr().
>
> Signed-off-by: Yijing Wang <wangyijing@huawei.com>
> CC: Tony Luck <tony.luck@intel.com>
> CC: Fenghua Yu <fenghua.yu@intel.com>
> CC: linux-ia64@vger.kernel.org
> CC: stable@vger.kernel.org
> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

I think this seems correct, at least in terms of fixing a build issue.
But it changes some behavior too.  It would be nice to have
confirmation that the change *fixes* something rather than breaking
something.

It looks like this code has been this way since 6f09a9250a5d ("Altix:
ACPI SSDT PCI device support") in 2007.  So if it really is broken
without this fix, it seems strange that we wouldn't have noticed until
now.

Tony, since I can't test this, and the rest of Yijing's PCI series
doesn't depend on this, do you want to take care of this?  You can
drop my Signed-off-by in that case.

Bjorn

> ---
>  arch/ia64/sn/kernel/io_acpi_init.c |    6 +++---
>  arch/ia64/sn/kernel/io_init.c      |    2 +-
>  2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/ia64/sn/kernel/io_acpi_init.c b/arch/ia64/sn/kernel/io_acpi_init.c
> index 0640739..2fd7414 100644
> --- a/arch/ia64/sn/kernel/io_acpi_init.c
> +++ b/arch/ia64/sn/kernel/io_acpi_init.c
> @@ -364,12 +364,12 @@ sn_acpi_get_pcidev_info(struct pci_dev *dev, struct pcidev_info **pcidev_info,
>          status = acpi_evaluate_integer(rootbus_handle, METHOD_NAME__SEG, NULL,
>                                         &segment);
>          if (ACPI_SUCCESS(status)) {
> -               if (segment != pci_domain_nr(dev)) {
> +               if (segment != pci_domain_nr(dev->bus)) {
>                         acpi_get_name(rootbus_handle, ACPI_FULL_PATHNAME,
>                                 &name_buffer);
>                         printk(KERN_ERR
>                                "%s: Segment number mismatch, 0x%llx vs 0x%x for: %s\n",
> -                              __func__, segment, pci_domain_nr(dev),
> +                              __func__, segment, pci_domain_nr(dev->bus),
>                                (char *)name_buffer.pointer);
>                         kfree(name_buffer.pointer);
>                         return 1;
> @@ -407,7 +407,7 @@ sn_acpi_get_pcidev_info(struct pci_dev *dev, struct pcidev_info **pcidev_info,
>         /* Build up the pcidev_info.pdi_slot_host_handle */
>         host_devfn = get_host_devfn(pcidev_match.handle, rootbus_handle);
>         (*pcidev_info)->pdi_slot_host_handle =
> -                       ((unsigned long) pci_domain_nr(dev) << 40) |
> +                       ((unsigned long) pci_domain_nr(dev->bus) << 40) |
>                                         /* bus == 0 */
>                                         host_devfn;
>         return 0;
> diff --git a/arch/ia64/sn/kernel/io_init.c b/arch/ia64/sn/kernel/io_init.c
> index 55776df..19506a5 100644
> --- a/arch/ia64/sn/kernel/io_init.c
> +++ b/arch/ia64/sn/kernel/io_init.c
> @@ -164,7 +164,7 @@ sn_io_slot_fixup(struct pci_dev *dev)
>                 panic("%s: Unable to alloc memory for sn_irq_info", __func__);
>
>         /* Call to retrieve pci device information needed by kernel. */
> -       status = sal_get_pcidev_info((u64) pci_domain_nr(dev),
> +       status = sal_get_pcidev_info((u64) pci_domain_nr(dev->bus),
>                 (u64) dev->bus->number,
>                 dev->devfn,
>                 (u64) __pa(pcidev_info),
> --
> 1.7.1
>
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/ia64/sn/kernel/io_acpi_init.c b/arch/ia64/sn/kernel/io_acpi_init.c
index 0640739..2fd7414 100644
--- a/arch/ia64/sn/kernel/io_acpi_init.c
+++ b/arch/ia64/sn/kernel/io_acpi_init.c
@@ -364,12 +364,12 @@  sn_acpi_get_pcidev_info(struct pci_dev *dev, struct pcidev_info **pcidev_info,
         status = acpi_evaluate_integer(rootbus_handle, METHOD_NAME__SEG, NULL,
                                        &segment);
         if (ACPI_SUCCESS(status)) {
-		if (segment != pci_domain_nr(dev)) {
+		if (segment != pci_domain_nr(dev->bus)) {
 			acpi_get_name(rootbus_handle, ACPI_FULL_PATHNAME,
 				&name_buffer);
 			printk(KERN_ERR
 			       "%s: Segment number mismatch, 0x%llx vs 0x%x for: %s\n",
-			       __func__, segment, pci_domain_nr(dev),
+			       __func__, segment, pci_domain_nr(dev->bus),
 			       (char *)name_buffer.pointer);
 			kfree(name_buffer.pointer);
 			return 1;
@@ -407,7 +407,7 @@  sn_acpi_get_pcidev_info(struct pci_dev *dev, struct pcidev_info **pcidev_info,
 	/* Build up the pcidev_info.pdi_slot_host_handle */
 	host_devfn = get_host_devfn(pcidev_match.handle, rootbus_handle);
 	(*pcidev_info)->pdi_slot_host_handle =
-			((unsigned long) pci_domain_nr(dev) << 40) |
+			((unsigned long) pci_domain_nr(dev->bus) << 40) |
 					/* bus == 0 */
 					host_devfn;
 	return 0;
diff --git a/arch/ia64/sn/kernel/io_init.c b/arch/ia64/sn/kernel/io_init.c
index 55776df..19506a5 100644
--- a/arch/ia64/sn/kernel/io_init.c
+++ b/arch/ia64/sn/kernel/io_init.c
@@ -164,7 +164,7 @@  sn_io_slot_fixup(struct pci_dev *dev)
 		panic("%s: Unable to alloc memory for sn_irq_info", __func__);
 
 	/* Call to retrieve pci device information needed by kernel. */
-	status = sal_get_pcidev_info((u64) pci_domain_nr(dev),
+	status = sal_get_pcidev_info((u64) pci_domain_nr(dev->bus),
 		(u64) dev->bus->number,
 		dev->devfn,
 		(u64) __pa(pcidev_info),