On Thu, Feb 27, 2014 at 01:20:54PM +0000, Arnd Bergmann wrote:
On Thursday 27 February 2014 13:06:39 Liviu Dudau wrote:
res->flags = range->flags;
if (res->flags & IORESOURCE_IO) {
unsigned long port;
port = pci_address_to_pio(range->pci_addr);
if (port == (unsigned long)-1) {
res->start = (resource_size_t)OF_BAD_ADDR;
res->end = (resource_size_t)OF_BAD_ADDR;
return;
}
I think this conflicts with the way that pci_address_to_pio() is defined on powerpc, where it expects a CPU address as the input, not a PCI i/o address.
And you are right, maybe what I need is to fix weak version of the function, as that one cannot cope with cpu addresses. But I think the idea still stands.
Thanks for reviewing this version as well!
Liviu
Arnd