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
|  |