From: David Howells Implement pci_iomap() for FRV. Signed-off-by: David Howells Signed-off-by: Andrew Morton --- arch/frv/mb93090-mb00/Makefile | 2 - arch/frv/mb93090-mb00/pci-iomap.c | 29 ++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff -puN arch/frv/mb93090-mb00/Makefile~frv-add-pci_iomap arch/frv/mb93090-mb00/Makefile --- devel/arch/frv/mb93090-mb00/Makefile~frv-add-pci_iomap 2006-01-06 22:58:29.000000000 -0800 +++ devel-akpm/arch/frv/mb93090-mb00/Makefile 2006-01-06 22:58:29.000000000 -0800 @@ -3,7 +3,7 @@ # ifeq "$(CONFIG_PCI)" "y" -obj-y := pci-frv.o pci-irq.o pci-vdk.o +obj-y := pci-frv.o pci-irq.o pci-vdk.o pci-iomap.o ifeq "$(CONFIG_MMU)" "y" obj-y += pci-dma.o diff -puN /dev/null arch/frv/mb93090-mb00/pci-iomap.c --- /dev/null 2003-09-15 06:40:47.000000000 -0700 +++ devel-akpm/arch/frv/mb93090-mb00/pci-iomap.c 2006-01-06 22:58:29.000000000 -0800 @@ -0,0 +1,29 @@ +/* pci-iomap.c: description + * + * Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. + * Written by David Howells (dhowells@redhat.com) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ +#include +#include + +void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen) +{ + unsigned long start = pci_resource_start(dev, bar); + unsigned long len = pci_resource_len(dev, bar); + unsigned long flags = pci_resource_flags(dev, bar); + + if (!len || !start) + return NULL; + + if ((flags & IORESOURCE_IO) || (flags & IORESOURCE_MEM)) + return (void __iomem *) start; + + return NULL; +} + +EXPORT_SYMBOL(pci_iomap); _