Re: [patch] linux/io.h: forward declare struct pci_dev

From: Al Viro
Date: Sun Feb 11 2007 - 01:36:06 EST


On Sun, Feb 11, 2007 at 01:26:40AM -0500, Tejun Heo wrote:
> Christoph Hellwig wrote:
> >I haven't looked at what causes it, but any leakage of pci details
> >into io.h is bogus. I'd suggest that the original submitter fixes
> >up that problem instead.
>
> pci_iomap() depends on two things - PCI and iomap. AFAIK, there is no
> config to test whether the current arch supports iomap or not.
> Previously it worked because those archs which don't support either one
> doesn't have set CONFIG_GENERIC_IOMAP while not implementing
> arch-specific ones && not compiling any driver which uses the iomap
> interface. This is why pci_iomap() ended up in lib/iomap.c in the first
> place; otherwise, it cannot be conditionalized correctly as devers
> currently shows (the 'not implementing arch-specific ones' part cannot
> be easily tested).
>
> So, it seems what we need is either 1. bogus iomap implementation for
> all archs or 2. CONFIG_IOMAP. Hmmm... I think CONFIG_IOMAP is better as
> it will allow leaving out related devres parts (or any generic function
> using iomap).

My current version: