On Thursday 25 October 2007, Alan Cox wrote: > > So you'd suggest having search utilities (as with platform_bus) > > returning resource indices not resources? > > That seems a bad idea to me
I'm assuming you mean they should continue to work like they do today: return the resource. Your pseudocode below shows an iomap utility taking a resource. > > Thing is, BARs are usually well defined, but when folk glue > > resources together they use whatever order is convenient on > > that particular platform. And different platforms can have > > different numbers and types of resources, etc. > > Far better I think that pci_ functions that take BAR values end up as > wrappers of the form > > pci_iomap(pdev, bar) > return dev_iomap_resource(&pdev->resource[bar]); Sure, for PCI ... where the meaning of BARs is a fixed part of the hardware spec, and it's not uncommon to skip a few. But as I noted, that notion doesn't apply cleanly outside PCI; indexes aren't necessarily portable between systems. So any such interface should discourage their use. One issue with a dev_iomap() is that only memory resources really need mapping ... but *all* of them need claiming. (Modulo the detail that the iomap morphs i/o addresses too.) The $SUBJECT function is a (minor) simplification for both the mapping and claiming steps. I think I'd rather see a dev_resource_claim() which combines the request_{,mem_}region() semantics with mapping ... that way drivers could save code, not just unify the two types of register addressing. - Dave - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/