summaryrefslogtreecommitdiffstats
path: root/lib/iomap.c
diff options
context:
space:
mode:
authorRolf Eike Beer <eike-kernel@sf-tec.de>2007-07-19 17:48:44 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2007-08-22 14:48:40 -0700
commit5ca24814247fa4c039b893bf80fc05d0e5d41b00 (patch)
treefb1d19e094e5337e4a33d97ad487ce36c631d104 /lib/iomap.c
parent4e68fc97b17470365a65bc569523dd9012730e44 (diff)
downloadlinux-5ca24814247fa4c039b893bf80fc05d0e5d41b00.tar.gz
linux-5ca24814247fa4c039b893bf80fc05d0e5d41b00.tar.bz2
linux-5ca24814247fa4c039b893bf80fc05d0e5d41b00.zip
PCI: Document pci_iomap()
This useful interface is hardly mentioned anywhere in the in-tree documentation. Signed-off-by: Rolf Eike Beer <eike-kernel@sf-tec.de> Cc: Tejun Heo <htejun@gmail.com> Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'lib/iomap.c')
-rw-r--r--lib/iomap.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/iomap.c b/lib/iomap.c
index a57d262a5ed9..864f2ec1966e 100644
--- a/lib/iomap.c
+++ b/lib/iomap.c
@@ -240,7 +240,20 @@ void ioport_unmap(void __iomem *addr)
EXPORT_SYMBOL(ioport_map);
EXPORT_SYMBOL(ioport_unmap);
-/* Create a virtual mapping cookie for a PCI BAR (memory or IO) */
+/**
+ * pci_iomap - create a virtual mapping cookie for a PCI BAR
+ * @dev: PCI device that owns the BAR
+ * @bar: BAR number
+ * @maxlen: length of the memory to map
+ *
+ * Using this function you will get a __iomem address to your device BAR.
+ * You can access it using ioread*() and iowrite*(). These functions hide
+ * the details if this is a MMIO or PIO address space and will just do what
+ * you expect from them in the correct way.
+ *
+ * @maxlen specifies the maximum length to map. If you want to get access to
+ * the complete BAR without checking for its length first, pass %0 here.
+ * */
void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
{
unsigned long start = pci_resource_start(dev, bar);