aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc/kernel/pci.c')
-rw-r--r--arch/sparc/kernel/pci.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c
index 713dc91020a..8aa0d440858 100644
--- a/arch/sparc/kernel/pci.c
+++ b/arch/sparc/kernel/pci.c
@@ -230,7 +230,8 @@ static void pci_parse_of_addrs(struct platform_device *op,
230 res = &dev->resource[(i - PCI_BASE_ADDRESS_0) >> 2]; 230 res = &dev->resource[(i - PCI_BASE_ADDRESS_0) >> 2];
231 } else if (i == dev->rom_base_reg) { 231 } else if (i == dev->rom_base_reg) {
232 res = &dev->resource[PCI_ROM_RESOURCE]; 232 res = &dev->resource[PCI_ROM_RESOURCE];
233 flags |= IORESOURCE_READONLY | IORESOURCE_CACHEABLE; 233 flags |= IORESOURCE_READONLY | IORESOURCE_CACHEABLE
234 | IORESOURCE_SIZEALIGN;
234 } else { 235 } else {
235 printk(KERN_ERR "PCI: bad cfg reg num 0x%x\n", i); 236 printk(KERN_ERR "PCI: bad cfg reg num 0x%x\n", i);
236 continue; 237 continue;
@@ -284,7 +285,7 @@ static struct pci_dev *of_create_pci_dev(struct pci_pbm_info *pbm,
284 dev->sysdata = node; 285 dev->sysdata = node;
285 dev->dev.parent = bus->bridge; 286 dev->dev.parent = bus->bridge;
286 dev->dev.bus = &pci_bus_type; 287 dev->dev.bus = &pci_bus_type;
287 dev->dev.of_node = node; 288 dev->dev.of_node = of_node_get(node);
288 dev->devfn = devfn; 289 dev->devfn = devfn;
289 dev->multifunction = 0; /* maybe a lie? */ 290 dev->multifunction = 0; /* maybe a lie? */
290 set_pcie_port_type(dev); 291 set_pcie_port_type(dev);
@@ -820,11 +821,9 @@ static int __pci_mmap_make_offset_bus(struct pci_dev *pdev, struct vm_area_struc
820 unsigned long space_size, user_offset, user_size; 821 unsigned long space_size, user_offset, user_size;
821 822
822 if (mmap_state == pci_mmap_io) { 823 if (mmap_state == pci_mmap_io) {
823 space_size = (pbm->io_space.end - 824 space_size = resource_size(&pbm->io_space);
824 pbm->io_space.start) + 1;
825 } else { 825 } else {
826 space_size = (pbm->mem_space.end - 826 space_size = resource_size(&pbm->mem_space);
827 pbm->mem_space.start) + 1;
828 } 827 }
829 828
830 /* Make sure the request is in range. */ 829 /* Make sure the request is in range. */
@@ -1021,12 +1020,6 @@ void arch_teardown_msi_irq(unsigned int irq)
1021} 1020}
1022#endif /* !(CONFIG_PCI_MSI) */ 1021#endif /* !(CONFIG_PCI_MSI) */
1023 1022
1024struct device_node *pci_device_to_OF_node(struct pci_dev *pdev)
1025{
1026 return pdev->dev.of_node;
1027}
1028EXPORT_SYMBOL(pci_device_to_OF_node);
1029
1030static void ali_sound_dma_hack(struct pci_dev *pdev, int set_bit) 1023static void ali_sound_dma_hack(struct pci_dev *pdev, int set_bit)
1031{ 1024{
1032 struct pci_dev *ali_isa_bridge; 1025 struct pci_dev *ali_isa_bridge;