lkml.org 
[lkml]   [2008]   [Oct]   [1]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateTue, 30 Sep 2008 23:24:50 -0600
FromGrant Grundler <>
SubjectRe: [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


\
 
 \ /
  Last update: 2008-10-01 07:27    [from the cache]
©2003-2008