diff options
| author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-29 13:48:21 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-29 13:48:21 -0400 |
| commit | f73b0a08eae0e28c50db5dd5ab8245546918bfb6 (patch) | |
| tree | eddc8c063acc7c70a975a0dadf26655159704b22 /lib | |
| parent | 6b06d2cc6d52830e3e0c001006b26255f47184dd (diff) | |
| parent | 225036314e768bbfe8331ea9b0e91ca101afe427 (diff) | |
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: (86 commits)
SPIN_LOCK_UNLOCKED cleanup in drivers/ata/pata_winbond.c
drivers/ata/pata_cmd640.c: fix build with CONFIG_PM=n
pata_hpt37x: Further small fixes
pata_hpt3x2n: Add HPT371N support and other bits
ata: printk warning fixes
libata: separate ATA_EHI_DID_RESET into DID_SOFTRESET and DID_HARDRESET
ahci: consolidate common port flags
ata_timing: ensure t->cycle is always correct
libata: add missing call to ->cable_detect() in new EH path
pata_amd: remove contamination added during cable_detect conversion
libata: Handle drives that require a spin-up command before first access
libata: HPA support
libata: kill probe_ent and related helpers
libata: convert the remaining PATA drivers to new init model
libata: convert the remaining SATA drivers to new init model
libata: convert ata_pci_init_native_mode() users to new init model
libata: convert drivers with combined SATA/PATA ports to new init model
libata: add init helpers including ata_pci_prepare_native_host()
libata: convert native PCI host handling to new init model
libata: convert legacy PCI host handling to new init model
...
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/devres.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/devres.c b/lib/devres.c index eb38849aa717..b1d336ce7f3d 100644 --- a/lib/devres.c +++ b/lib/devres.c | |||
| @@ -296,5 +296,31 @@ int pcim_iomap_regions(struct pci_dev *pdev, u16 mask, const char *name) | |||
| 296 | return rc; | 296 | return rc; |
| 297 | } | 297 | } |
| 298 | EXPORT_SYMBOL(pcim_iomap_regions); | 298 | EXPORT_SYMBOL(pcim_iomap_regions); |
| 299 | |||
| 300 | /** | ||
| 301 | * pcim_iounmap_regions - Unmap and release PCI BARs | ||
| 302 | * @pdev: PCI device to map IO resources for | ||
| 303 | * @mask: Mask of BARs to unmap and release | ||
| 304 | * | ||
| 305 | * Unamp and release regions specified by @mask. | ||
| 306 | */ | ||
| 307 | void pcim_iounmap_regions(struct pci_dev *pdev, u16 mask) | ||
| 308 | { | ||
| 309 | void __iomem * const *iomap; | ||
| 310 | int i; | ||
| 311 | |||
| 312 | iomap = pcim_iomap_table(pdev); | ||
| 313 | if (!iomap) | ||
| 314 | return; | ||
| 315 | |||
| 316 | for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) { | ||
| 317 | if (!(mask & (1 << i))) | ||
| 318 | continue; | ||
| 319 | |||
| 320 | pcim_iounmap(pdev, iomap[i]); | ||
| 321 | pci_release_region(pdev, i); | ||
| 322 | } | ||
| 323 | } | ||
| 324 | EXPORT_SYMBOL(pcim_iounmap_regions); | ||
| 299 | #endif | 325 | #endif |
| 300 | #endif | 326 | #endif |
