diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-08-23 21:35:45 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-08-23 21:35:45 -0700 |
commit | 2b56fec64faae9fc5c3e61bbfb851b7985292cd5 (patch) | |
tree | 71b4edb7942d7eafde05e034587530ef18c336e4 /lib | |
parent | 9e1a3e31cbfd5f5822e633c4bdf3304079cb10c2 (diff) | |
parent | 18166c1a50dc4f5b121ab2bd4fdf178404db9d99 (diff) | |
download | lwn-2b56fec64faae9fc5c3e61bbfb851b7985292cd5.tar.gz lwn-2b56fec64faae9fc5c3e61bbfb851b7985292cd5.zip |
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6:
PCI: Run k8t_sound_hostbridge quirk only when needed
PCI: disable MSI on RX790
PCI: disable MSI on RD580
PCI: disable MSI on RS690
PCI: make pcie_get_readrq visible in pci.h
PCI: lets kill the 'PCI hidden behind bridge' message
pci/hotplug/cpqphp_ctrl.c: remove stale BKL use
PCI: Document pci_iomap()
PCI: quirk_e100_interrupt() called too early
PCI: Move prototypes for pci_bus_find_capability to include/linux/pci.h
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) 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); |