Adding Ben H and Michal... On 04/10/2013 02:29 AM, Andrew Murray wrote: > The pci_process_bridge_OF_ranges function, used to parse the "ranges" > property of a PCI host device, is found in both Microblaze and PowerPC > architectures. These implementations are nearly identical. This patch > moves this common code to a common place. > > Signed-off-by: Andrew Murray <Andrew.Murray@xxxxxxx> > Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> One comment below. Otherwise, Reviewed-by: Rob Herring <rob.herring@xxxxxxxxxxx> You need also need acks from Ben and Michal. [...] > + /* Act based on address space type */ > + res = NULL; > + switch ((pci_space >> 24) & 0x3) { > + case 1: /* PCI IO space */ > + pr_info(" IO 0x%016llx..0x%016llx -> 0x%016llx\n", > + cpu_addr, cpu_addr + size - 1, pci_addr); > + > + /* We support only one IO range */ > + if (hose->pci_io_size) { > + pr_info(" \\--> Skipped (too many) !\n"); > + continue; > + } > +#if defined(CONFIG_PPC32) || defined(CONFIG_MICROBLAZE) How about "if (!IS_ENABLED(CONFIG_64BIT))" instead. > + /* On 32 bits, limit I/O space to 16MB */ > + if (size > 0x01000000) > + size = 0x01000000; > + > + /* 32 bits needs to map IOs here */ > + hose->io_base_virt = ioremap(cpu_addr, size); > + > + /* Expect trouble if pci_addr is not 0 */ > + if (primary) > + isa_io_base = > + (unsigned long)hose->io_base_virt; > +#endif /* CONFIG_PPC32 || CONFIG_MICROBLAZE */ > + /* pci_io_size and io_base_phys always represent IO > + * space starting at 0 so we factor in pci_addr > + */ > + hose->pci_io_size = pci_addr + size; > + hose->io_base_phys = cpu_addr - pci_addr; -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html