Re: [PATCH] pci: introduce an ioremap_pcibar(pdev, barnr) function

From: Arjan van de Ven
Date: Sat Sep 27 2008 - 11:35:01 EST


On Fri, 26 Sep 2008 20:56:14 -0600
Matthew Wilcox <matthew@xxxxxx> wrote:

> On Fri, Sep 26, 2008 at 04:36:41PM -0700, Arjan van de Ven wrote:
> > A common thing in many PCI drivers is to ioremap() an entire bar.
> > This is a slightly fragile thing right now, needing both an address
> > and a size, and many driver writers do.. various things there.
> >
> > This patch introduces an ioremap_pcibar() function taking just a
> > PCI device struct and the bar number as arguments, and figures this
> > all out itself, in one place. In addition, we can add various
> > sanity checks to this function (the patch already checks to make
> > sure that the bar in question really is a MEM bar; few to no
> > drivers do that sort of thing).
>
> So we already have a pci_iomap() which takes a 'max' argument. If you
> make 'max' -1, don't you get this same behaviour?

there are many ways to map a bar... I'm just arguing for providing a
really simple, hard-to-get-wrong, one which only takes a device and a
bar number.
The goal of my patch isn't to introduce new functionality per se
(although having the ability to add checks is nice and welcome), it's
mostly to provide a simple, hard-to-get-wrong interface.
Less chance to get it wrong -> less hard to diagnose bugs.



--
Arjan van de Ven Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/