diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/iomap.c | 15 |
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) | |||
240 | EXPORT_SYMBOL(ioport_map); | 240 | EXPORT_SYMBOL(ioport_map); |
241 | EXPORT_SYMBOL(ioport_unmap); | 241 | EXPORT_SYMBOL(ioport_unmap); |
242 | 242 | ||
243 | /* Create a virtual mapping cookie for a PCI BAR (memory or IO) */ | 243 | /** |
244 | * pci_iomap - create a virtual mapping cookie for a PCI BAR | ||
245 | * @dev: PCI device that owns the BAR | ||
246 | * @bar: BAR number | ||
247 | * @maxlen: length of the memory to map | ||
248 | * | ||
249 | * Using this function you will get a __iomem address to your device BAR. | ||
250 | * You can access it using ioread*() and iowrite*(). These functions hide | ||
251 | * the details if this is a MMIO or PIO address space and will just do what | ||
252 | * you expect from them in the correct way. | ||
253 | * | ||
254 | * @maxlen specifies the maximum length to map. If you want to get access to | ||
255 | * the complete BAR without checking for its length first, pass %0 here. | ||
256 | * */ | ||
244 | void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen) | 257 | void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen) |
245 | { | 258 | { |
246 | unsigned long start = pci_resource_start(dev, bar); | 259 | unsigned long start = pci_resource_start(dev, bar); |