On Mon, Nov 3, 2014 at 11:41 AM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: > [+cc Rob (author of 3c5d1699887b), Arnd] > > On Sun, Nov 2, 2014 at 4:37 PM, Hauke Mehrtens <hauke@xxxxxxxxxx> wrote: >> Hi, >> >> I am currently writing a driver for a PCIe host controller which does >> not support IO port access. >> >> My plan was to only provide IORESOURCE_MEM to pci_sys_data->resources, >> but then it allocates some generic IORESOURCE_IO memory in >> arch/arm/kernel/bios32.c:pcibios_init_resources(). This will work for >> the fist PCIe controller, but when the second controller gets registered >> I am getting this: "unable to allocate I/O port region (-16)". >> >> Is there an example for an arm driver for a PCIe controller which does >> not support IO port access? >> >> Should I change arch/arm/kernel/bios32.c in a way so that it would >> ignore the io port mem? > > I think this is a case of "all current platforms support an I/O space, > so we'll set it up in the ARM PCI core." But I/O space is not (as far > as I know) a required feature of PCI host bridges on ARM, so I suspect > you should change arch/arm/kernel/bios32.c in some way to accomodate > controllers with no I/O port space at all. I guess we could ignore the error on request_resource or define a way to flag no i/o space. However, any new driver should be using all the new generic infrastructure. I think this code path should not even be called in that case. Rob -- 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