On Thu, Nov 24, 2011 at 10:17:23PM +0200, Michael S. Tsirkin wrote: > alpha copied pci_iomap from generic code to avoid > pulling the rest of iomap.c in. Since that's in > a separate file now, we can reuse the common implementation. > > The only difference is handling of nocache flag, > that turns out to be done correctly by the > generic code since arch/alpha/include/asm/io.h > defines ioremap_nocache same as ioremap. > > Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Sorry to nag - any ACKs/NACKs on the alpha changes (both this, and 'alpha: drop pci_iomap/pci_iounmap from pci-noop.c')? I intend to send this to Linus if there are no objections. Thanks! > --- > arch/alpha/Kconfig | 1 + > arch/alpha/kernel/pci.c | 26 +------------------------- > 2 files changed, 2 insertions(+), 25 deletions(-) > > diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig > index 3636b11..56a4df9 100644 > --- a/arch/alpha/Kconfig > +++ b/arch/alpha/Kconfig > @@ -315,6 +315,7 @@ config ISA_DMA_API > config PCI > bool > depends on !ALPHA_JENSEN > + select GENERIC_PCI_IOMAP > default y > help > Find out whether you have a PCI motherboard. PCI is the name of a > diff --git a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c > index c9ab94e..f3cae27 100644 > --- a/arch/alpha/kernel/pci.c > +++ b/arch/alpha/kernel/pci.c > @@ -508,30 +508,7 @@ sys_pciconfig_iobase(long which, unsigned long bus, unsigned long dfn) > return -EOPNOTSUPP; > } > > -/* Create an __iomem token from a PCI BAR. Copied from lib/iomap.c with > - no changes, since we don't want the other things in that object file. */ > - > -void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen) > -{ > - resource_size_t start = pci_resource_start(dev, bar); > - resource_size_t len = pci_resource_len(dev, bar); > - unsigned long flags = pci_resource_flags(dev, bar); > - > - if (!len || !start) > - return NULL; > - if (maxlen && len > maxlen) > - len = maxlen; > - if (flags & IORESOURCE_IO) > - return ioport_map(start, len); > - if (flags & IORESOURCE_MEM) { > - /* Not checking IORESOURCE_CACHEABLE because alpha does > - not distinguish between ioremap and ioremap_nocache. */ > - return ioremap(start, len); > - } > - return NULL; > -} > - > -/* Destroy that token. Not copied from lib/iomap.c. */ > +/* Destroy an __iomem token. Not copied from lib/iomap.c. */ > > void pci_iounmap(struct pci_dev *dev, void __iomem * addr) > { > @@ -539,7 +516,6 @@ void pci_iounmap(struct pci_dev *dev, void __iomem * addr) > iounmap(addr); > } > > -EXPORT_SYMBOL(pci_iomap); > EXPORT_SYMBOL(pci_iounmap); > > /* FIXME: Some boxes have multiple ISA bridges! */ > -- > 1.7.5.53.gc233e -- To unsubscribe from this list: send the line "unsubscribe linux-alpha" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html