diff options
author | Prarit Bhargava <prarit@sgi.com> | 2005-07-06 18:29:53 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-07-06 18:29:53 -0400 |
commit | 6f354b014b51716166f13f68b29212d3c44ed2c4 (patch) | |
tree | 396c09a5d519630a53652a1187bb85fceba82cee /include/asm-ia64 | |
parent | 283c7f6ac6adb57e7dd13cdbc8d60b6ea4de6faf (diff) |
[IA64] hotplug/ia64: SN Hotplug Driver - SN Hotplug Driver code
This patch is the SGI hotplug driver and additional changes required for
the driver. These modifications include changes to the SN io_init.c code
for memory management, the inclusion of new SAL calls to enable and disable
PCI slots, and a hotplug-style driver.
Signed-off-by: Prarit Bhargava <prarit@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'include/asm-ia64')
-rw-r--r-- | include/asm-ia64/sn/pcibr_provider.h | 4 | ||||
-rw-r--r-- | include/asm-ia64/sn/pcidev.h | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/include/asm-ia64/sn/pcibr_provider.h b/include/asm-ia64/sn/pcibr_provider.h index cbb4604c9349..2299c3ad2e33 100644 --- a/include/asm-ia64/sn/pcibr_provider.h +++ b/include/asm-ia64/sn/pcibr_provider.h | |||
@@ -151,4 +151,8 @@ extern void pcibr_change_devices_irq(struct sn_irq_info *sn_irq_info); | |||
151 | extern int pcibr_ate_alloc(struct pcibus_info *, int); | 151 | extern int pcibr_ate_alloc(struct pcibus_info *, int); |
152 | extern void pcibr_ate_free(struct pcibus_info *, int); | 152 | extern void pcibr_ate_free(struct pcibus_info *, int); |
153 | extern void ate_write(struct pcibus_info *, int, int, uint64_t); | 153 | extern void ate_write(struct pcibus_info *, int, int, uint64_t); |
154 | extern int sal_pcibr_slot_enable(struct pcibus_info *soft, int device, | ||
155 | void *resp); | ||
156 | extern int sal_pcibr_slot_disable(struct pcibus_info *soft, int device, | ||
157 | int action, void *resp); | ||
154 | #endif | 158 | #endif |
diff --git a/include/asm-ia64/sn/pcidev.h b/include/asm-ia64/sn/pcidev.h index 9610fcc63545..49711d00ad04 100644 --- a/include/asm-ia64/sn/pcidev.h +++ b/include/asm-ia64/sn/pcidev.h | |||
@@ -23,6 +23,8 @@ | |||
23 | #define SN_PCIBUS_BUSSOFT(pci_bus) \ | 23 | #define SN_PCIBUS_BUSSOFT(pci_bus) \ |
24 | ((struct pcibus_bussoft *)(PCI_CONTROLLER((pci_bus))->platform_data)) | 24 | ((struct pcibus_bussoft *)(PCI_CONTROLLER((pci_bus))->platform_data)) |
25 | 25 | ||
26 | #define SN_PCIBUS_BUSSOFT_INFO(pci_bus) \ | ||
27 | (struct pcibus_info *)((struct pcibus_bussoft *)(PCI_CONTROLLER((pci_bus))->platform_data)) | ||
26 | /* | 28 | /* |
27 | * Given a struct pci_dev, return the sn pcibus_bussoft struct. Note | 29 | * Given a struct pci_dev, return the sn pcibus_bussoft struct. Note |
28 | * that this is not equivalent to SN_PCIBUS_BUSSOFT(pci_dev->bus) due | 30 | * that this is not equivalent to SN_PCIBUS_BUSSOFT(pci_dev->bus) due |
@@ -56,6 +58,10 @@ struct pcidev_info { | |||
56 | extern void sn_irq_fixup(struct pci_dev *pci_dev, | 58 | extern void sn_irq_fixup(struct pci_dev *pci_dev, |
57 | struct sn_irq_info *sn_irq_info); | 59 | struct sn_irq_info *sn_irq_info); |
58 | extern void sn_irq_unfixup(struct pci_dev *pci_dev); | 60 | extern void sn_irq_unfixup(struct pci_dev *pci_dev); |
61 | extern void sn_pci_controller_fixup(int segment, int busnum, | ||
62 | struct pci_bus *bus); | ||
63 | extern void sn_bus_store_sysdata(struct pci_dev *dev); | ||
64 | extern void sn_bus_free_sysdata(void); | ||
59 | extern void sn_pci_fixup_slot(struct pci_dev *dev); | 65 | extern void sn_pci_fixup_slot(struct pci_dev *dev); |
60 | extern void sn_pci_unfixup_slot(struct pci_dev *dev); | 66 | extern void sn_pci_unfixup_slot(struct pci_dev *dev); |
61 | extern void sn_irq_lh_init(void); | 67 | extern void sn_irq_lh_init(void); |