aboutsummaryrefslogtreecommitdiff
path: root/Documentation/pci.txt
diff options
context:
space:
mode:
authorGrant Grundler <grundler@parisc-linux.org>2006-06-01 11:15:59 -0600
committerGreg Kroah-Hartman <gregkh@suse.de>2006-06-21 12:00:00 -0700
commit733a7fe12248072e1bca729c88a26298666f1956 (patch)
tree059c803091394a3a61a6c4537a4eaa3f5426fa5f /Documentation/pci.txt
parentf7e6600d762bf7c04b48c8d9bd0ab26d04a8d11f (diff)
[PATCH] PCI: clean up pci documentation to be more specific
On Thu, Jun 01, 2006 at 02:46:11AM -0700, Rajesh Shah wrote: > This patch assumes that pci_request_region() will always be called > after pci_enable_device() and pci_release_region() will always > be called before pci_disable_device(). We cannot make this > assumption,since it's perfectly legal to disable a device > first and then release it's regions. So, I think that patch > needs to change. Patch below clarifies comments in Documentation/pci.txt. Signed-off-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'Documentation/pci.txt')
-rw-r--r--Documentation/pci.txt14
1 files changed, 11 insertions, 3 deletions
diff --git a/Documentation/pci.txt b/Documentation/pci.txt
index 66bbbf1d1ef..3242e5c1ee9 100644
--- a/Documentation/pci.txt
+++ b/Documentation/pci.txt
@@ -213,9 +213,17 @@ have been remapped by the kernel.
See Documentation/IO-mapping.txt for how to access device memory.
- You still need to call request_region() for I/O regions and
-request_mem_region() for memory regions to make sure nobody else is using the
-same device.
+ The device driver needs to call pci_request_region() to make sure
+no other device is already using the same resource. The driver is expected
+to determine MMIO and IO Port resource availability _before_ calling
+pci_enable_device(). Conversely, drivers should call pci_release_region()
+_after_ calling pci_disable_device(). The idea is to prevent two devices
+colliding on the same address range.
+
+Generic flavors of pci_request_region() are request_mem_region()
+(for MMIO ranges) and request_region() (for IO Port ranges).
+Use these for address resources that are not described by "normal" PCI
+interfaces (e.g. BAR).
All interrupt handlers should be registered with SA_SHIRQ and use the devid
to map IRQs to devices (remember that all PCI interrupts are shared).