[PATCH] ia64: Be consistent in the type of the PCI_CONTROLLER() macro argument.

From: Liviu Dudau
Date: Thu Nov 13 2014 - 13:40:27 EST


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 <Liviu.Dudau@xxxxxxx>
---
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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/