On Tue, Jun 07, 2016 at 03:25:46PM +0200, Arnd Bergmann wrote: > On Tuesday, June 7, 2016 8:11:05 AM CEST Bjorn Helgaas wrote: > > > > > > What do you think is the correct behavior here, should the driver only > > > request the PIO range with parent=ioport_resource, or should it also > > > request the MMIO window for the I/O ports with parent=iomem_resource? > > > In the latter case, any idea how that can be generalized? > > > > I think it should request both because I think iomem_resource should > > contain everything in the memory map. This would be required if we ever > > did any significant reassignment of top-level devices, e.g., ACPI devices. > > Ok. Should we try to pass the mmio resource for the I/O window to > the devm_request_pci_bus_resources() function along with the other > arguments then? I think memory-mapped I/O port windows are different enough that maybe we ought to handle them separately. It seems like there are several things related to setting up those windows (requesting the resource, ioremapping it, allocating the CPU port number space, etc.), and maybe if we keep this out, a pattern will emerge. Maybe I should rename this to "devm_request_pci_host_windows()" or something? > As far as I can tell, it should not go into the resource list > because it is not something the PCI core code should access the > way it handles the other resources. Right. Bjorn