PCI_CONTROLLER() macro in include/asm/pci.h expects an argument "busdev"
which implies a 'struct pci_bus *' type of variable (or at least that
is the type of most of the invocations). Correct the cases where the
macro is called with a 'struct pci_dev *' variable as argument.

Signed-off-by: Liviu Dudau <[email protected]>
---
 arch/ia64/hp/common/sba_iommu.c    | 2 +-
 arch/ia64/sn/kernel/io_acpi_init.c | 9 +++++----
 arch/ia64/sn/kernel/io_common.c    | 2 +-
 arch/ia64/sn/kernel/io_init.c      | 2 +-
 4 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/arch/ia64/hp/common/sba_iommu.c b/arch/ia64/hp/common/sba_iommu.c
index 344387a..fb5b085 100644
--- a/arch/ia64/hp/common/sba_iommu.c
+++ b/arch/ia64/hp/common/sba_iommu.c
@@ -256,7 +256,7 @@ static u64 prefetch_spill_page;
 
 #ifdef CONFIG_PCI
 # define GET_IOC(dev)  ((dev_is_pci(dev))                                      
        \
-                        ? ((struct ioc *) 
PCI_CONTROLLER(to_pci_dev(dev))->iommu) : NULL)
+                        ? ((struct ioc *) 
PCI_CONTROLLER((to_pci_dev(dev))->bus)->iommu) : NULL)
 #else
 # define GET_IOC(dev)  NULL
 #endif
diff --git a/arch/ia64/sn/kernel/io_acpi_init.c 
b/arch/ia64/sn/kernel/io_acpi_init.c
index 0640739..426ea8e 100644
--- a/arch/ia64/sn/kernel/io_acpi_init.c
+++ b/arch/ia64/sn/kernel/io_acpi_init.c
@@ -358,18 +358,19 @@ sn_acpi_get_pcidev_info(struct pci_dev *dev, struct 
pcidev_info **pcidev_info,
        acpi_handle rootbus_handle;
        unsigned long long segment;
        acpi_status status;
+       struct pci_bus *bus = dev->bus;
        struct acpi_buffer name_buffer = { ACPI_ALLOCATE_BUFFER, NULL };
 
-       rootbus_handle = acpi_device_handle(PCI_CONTROLLER(dev)->companion);
+       rootbus_handle = acpi_device_handle(PCI_CONTROLLER(bus)->companion);
         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(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(bus),
                               (char *)name_buffer.pointer);
                        kfree(name_buffer.pointer);
                        return 1;
@@ -407,7 +408,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(bus) << 40) |
                                        /* bus == 0 */
                                        host_devfn;
        return 0;
diff --git a/arch/ia64/sn/kernel/io_common.c b/arch/ia64/sn/kernel/io_common.c
index 11f2275..e7d5d07 100644
--- a/arch/ia64/sn/kernel/io_common.c
+++ b/arch/ia64/sn/kernel/io_common.c
@@ -108,7 +108,7 @@ sn_pcidev_info_get(struct pci_dev *dev)
        struct pcidev_info *pcidev;
 
        list_for_each_entry(pcidev,
-                           &(SN_PLATFORM_DATA(dev)->pcidev_info), pdi_list) {
+                           &(SN_PLATFORM_DATA(dev->bus)->pcidev_info), 
pdi_list) {
                if (pcidev->pdi_linux_pcidev == dev)
                        return pcidev;
        }
diff --git a/arch/ia64/sn/kernel/io_init.c b/arch/ia64/sn/kernel/io_init.c
index 0b5ce82..eaff214 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),
-- 
2.1.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to