Skip to content

Commit

Permalink
ia64/PCI: Use temporary struct resource * to avoid repetition
Browse files Browse the repository at this point in the history
Use a temporary struct resource pointer to avoid needless repetition of
"dev->resource[idx]".  No functional change intended.

Signed-off-by: Bjorn Helgaas <[email protected]>
  • Loading branch information
bjorn-helgaas committed Mar 12, 2016
1 parent f50dd8c commit ab97b8c
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 27 deletions.
10 changes: 5 additions & 5 deletions arch/ia64/sn/kernel/io_acpi_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -429,6 +429,7 @@ sn_acpi_slot_fixup(struct pci_dev *dev)
void __iomem *addr;
struct pcidev_info *pcidev_info = NULL;
struct sn_irq_info *sn_irq_info = NULL;
struct resource *res;
size_t image_size, size;

if (sn_acpi_get_pcidev_info(dev, &pcidev_info, &sn_irq_info)) {
Expand All @@ -446,14 +447,13 @@ sn_acpi_slot_fixup(struct pci_dev *dev)
addr = ioremap(pcidev_info->pdi_pio_mapped_addr[PCI_ROM_RESOURCE],
size);
image_size = pci_get_rom_size(dev, addr, size);
dev->resource[PCI_ROM_RESOURCE].start = (unsigned long) addr;
dev->resource[PCI_ROM_RESOURCE].end =
(unsigned long) addr + image_size - 1;
dev->resource[PCI_ROM_RESOURCE].flags |= IORESOURCE_ROM_BIOS_COPY;
res = &dev->resource[PCI_ROM_RESOURCE];
res->start = (unsigned long) addr;
res->end = (unsigned long) addr + image_size - 1;
res->flags |= IORESOURCE_ROM_BIOS_COPY;
}
sn_pci_fixup_slot(dev, pcidev_info, sn_irq_info);
}

EXPORT_SYMBOL(sn_acpi_slot_fixup);


Expand Down
39 changes: 17 additions & 22 deletions arch/ia64/sn/kernel/io_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,8 @@ void
sn_io_slot_fixup(struct pci_dev *dev)
{
int idx;
unsigned long addr, end, size, start;
struct resource *res;
unsigned long addr, size;
struct pcidev_info *pcidev_info;
struct sn_irq_info *sn_irq_info;
int status;
Expand All @@ -175,33 +176,31 @@ sn_io_slot_fixup(struct pci_dev *dev)

/* Copy over PIO Mapped Addresses */
for (idx = 0; idx <= PCI_ROM_RESOURCE; idx++) {

if (!pcidev_info->pdi_pio_mapped_addr[idx]) {
if (!pcidev_info->pdi_pio_mapped_addr[idx])
continue;
}

start = dev->resource[idx].start;
end = dev->resource[idx].end;
size = end - start;
if (size == 0) {
res = &dev->resource[idx];

size = res->end - res->start;
if (size == 0)
continue;
}

addr = pcidev_info->pdi_pio_mapped_addr[idx];
addr = ((addr << 4) >> 4) | __IA64_UNCACHED_OFFSET;
dev->resource[idx].start = addr;
dev->resource[idx].end = addr + size;
res->start = addr;
res->end = addr + size;

/*
* if it's already in the device structure, remove it before
* inserting
*/
if (dev->resource[idx].parent && dev->resource[idx].parent->child)
release_resource(&dev->resource[idx]);
if (res->parent && res->parent->child)
release_resource(res);

if (dev->resource[idx].flags & IORESOURCE_IO)
insert_resource(&ioport_resource, &dev->resource[idx]);
if (res->flags & IORESOURCE_IO)
insert_resource(&ioport_resource, res);
else
insert_resource(&iomem_resource, &dev->resource[idx]);
insert_resource(&iomem_resource, res);
/*
* If ROM, set the actual ROM image size, and mark as
* shadowed in PROM.
Expand All @@ -213,17 +212,13 @@ sn_io_slot_fixup(struct pci_dev *dev)
rom = ioremap(pci_resource_start(dev, PCI_ROM_RESOURCE),
size + 1);
image_size = pci_get_rom_size(dev, rom, size + 1);
dev->resource[PCI_ROM_RESOURCE].end =
dev->resource[PCI_ROM_RESOURCE].start +
image_size - 1;
dev->resource[PCI_ROM_RESOURCE].flags |=
IORESOURCE_ROM_BIOS_COPY;
res->end = res->start + image_size - 1;
res->flags |= IORESOURCE_ROM_BIOS_COPY;
}
}

sn_pci_fixup_slot(dev, pcidev_info, sn_irq_info);
}

EXPORT_SYMBOL(sn_io_slot_fixup);

/*
Expand Down

0 comments on commit ab97b8c

Please sign in to comment.