On Wednesday 02 July 2014 15:23:03 Liviu Dudau wrote: > > > > Your solution looks correct to me, just using different > > tradeoffs to what I was expecting: You get a working pci_address_to_pio() > > function, which is probably never needed, but in turn you need to > > keep the state of each host bridge in a global list. > > Just a reminder that with my patchset I *do* start using pci_address_to_pio() > in order to correctly parse the IO ranges from DT. Yes, what I meant is that it would be easier not to do that. All existing drivers expect of_pci_range_to_resource() to return the CPU address for an I/O space register, not the Linux I/O port number that we want to pass to the PCI core. This is suboptimal because it's not obvious how it works, but it lets us get away without an extra registration step. Once all probe functions in PCI host drivers have been changed to the of_create_pci_host_bridge, that should not matter any more, because there is only one place left that calls it and we only have to get it right once. Also, when you change that of_pci_range_to_resource, you also have to audit all callers of that function and ensure they can deal with the new behavior. Arnd -- 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