diff options
author | John Rose <johnrose@austin.ibm.com> | 2005-06-23 03:09:54 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2005-06-23 03:09:54 -0400 |
commit | dad32bbf43b496bcd32a83f73a1e7fd0a02cfd3e (patch) | |
tree | 4be484d37e792c95815c74dda3b6d4968a979cfe /include/asm-ppc64/machdep.h | |
parent | 8f586b2243198194240626fd9695da5564ffa7ee (diff) |
[PATCH] pSeries - read irqs dynamically
For I/O DLPAR to work properly, the kernel needs to allow for dynamic
assignment of the irq field of the pci_dev structure upon dynamic bus
addition. This patch moves the assignment of that field from
pSeries_final_fixup() to pcibios_fixup_bus(), which enables dynamic
assignment for the children of a newly added bus.
Currently, pci_devs receive their irq numbers in one of two ways. The
irq line is either read at boot for all pci_devs, or read by the rpaphp
module at slot enable time. The latter is no longer sufficient for
DLPAR addition of slots that don't qualify as PCI-hotplug capable.
This solution handles the cases of boot and dynamic add.
Signed-off-by: John Rose <johnrose@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/asm-ppc64/machdep.h')
-rw-r--r-- | include/asm-ppc64/machdep.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/asm-ppc64/machdep.h b/include/asm-ppc64/machdep.h index 5d3cd9d042e..553b2ea23be 100644 --- a/include/asm-ppc64/machdep.h +++ b/include/asm-ppc64/machdep.h | |||
@@ -76,6 +76,7 @@ struct machdep_calls { | |||
76 | void (*tce_flush)(struct iommu_table *tbl); | 76 | void (*tce_flush)(struct iommu_table *tbl); |
77 | void (*iommu_dev_setup)(struct pci_dev *dev); | 77 | void (*iommu_dev_setup)(struct pci_dev *dev); |
78 | void (*iommu_bus_setup)(struct pci_bus *bus); | 78 | void (*iommu_bus_setup)(struct pci_bus *bus); |
79 | void (*irq_bus_setup)(struct pci_bus *bus); | ||
79 | 80 | ||
80 | int (*probe)(int platform); | 81 | int (*probe)(int platform); |
81 | void (*setup_arch)(void); | 82 | void (*setup_arch)(void); |