Messages in this thread | | | Date | Tue, 30 Sep 2008 23:24:50 -0600 | From | Grant Grundler <> | Subject | Re: [PATCH] pci: introduce users of ioremap_pcibar() |
| |
On Mon, Sep 29, 2008 at 10:23:25AM -0700, Arjan van de Ven wrote: > On Mon, 29 Sep 2008 11:10:49 -0600 > Grant Grundler <grundler@parisc-linux.org> wrote: > > > And I have to agree with willy/alan, pci_iomap() is already doing > > this. > > pci_iomap() does "stuff" but it assumes you're using the iomap APIs > across the driver. MANY don't.
pci_iomap() returns a "void __iomem *". readl/writel take "void __iomem *" as an argument. See build_mmio_read() in include/asm-x86/io.h
I think the assumption is the other way around: use of ioread/iowrite assumes use of io_remap(). pci_iomap is the PCI wrapper around io_remap(). You just want a simpler wrapper (and I agree, it really could without the extra arg).
But in any case, we can document pci_iomap() to be whatever you think we should be exporting. pci_iomap() is not currently documented in Documentation/. Or at least grep isn't seeing it.
> And pci_iomap() takes more parameters than most driver writers want or > need. Most of the time it's "I want the whole bar"; even if my patch > wraps around that, making the API simpler is still worth it imo
You are right about that. Would calling the API "pci_iomap_bar()" to keep the naming consistent help make it more acceptable?
(And adding documentation for both would be good too...I can do that if the new API gets accepted.)
hth, grant
| |