Commit 42d5f1e1 authored by Bjorn Helgaas's avatar Bjorn Helgaas Committed by Greg Kroah-Hartman

[PATCH] PCI: clarify pci.txt wrt IRQ allocation

I think we should make it explicit that PCI IRQs shouldn't be relied
upon until after pci_enable_device().  This patch:

    ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.7-rc3/2.6.7-rc3-mm1/broken-out/bk-acpi.patch

does PCI interrupt routing (based on ACPI _PRT) and IRQ allocation
at pci_enable_device()-time.

(To avoid breaking things in 2.6, the above patch still allocates
all PCI IRQs in pci_acpi_init(), before any drivers are initialized.
But that shouldn't be needed by correct drivers, and I'd like to
remove it in 2.7.)
Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
parent f5bfafe3
...@@ -166,8 +166,9 @@ count on these devices by calling pci_dev_put(). ...@@ -166,8 +166,9 @@ count on these devices by calling pci_dev_put().
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Before you do anything with the device you've found, you need to enable Before you do anything with the device you've found, you need to enable
it by calling pci_enable_device() which enables I/O and memory regions of it by calling pci_enable_device() which enables I/O and memory regions of
the device, assigns missing resources if needed and wakes up the device the device, allocates an IRQ if necessary, assigns missing resources if
if it was in suspended state. Please note that this function can fail. needed and wakes up the device if it was in suspended state. Please note
that this function can fail.
If you want to use the device in bus mastering mode, call pci_set_master() If you want to use the device in bus mastering mode, call pci_set_master()
which enables the bus master bit in PCI_COMMAND register and also fixes which enables the bus master bit in PCI_COMMAND register and also fixes
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment