summaryrefslogtreecommitdiffstats
path: root/include/linux/pci_hotplug.h
diff options
context:
space:
mode:
authorBjorn Helgaas <bjorn.helgaas@hp.com>2009-09-14 16:35:20 -0600
committerJesse Barnes <jbarnes@virtuousgeek.org>2009-09-14 17:39:05 -0700
commit8838400db5193c37588813c2eb1249b821781950 (patch)
tree9ddd0bfc93c0a0516d9af2aa450e5d41e9786bb7 /include/linux/pci_hotplug.h
parent6a29172ba90e49c046245610caff9848307bfd6a (diff)
downloadblackbird-op-linux-8838400db5193c37588813c2eb1249b821781950.tar.gz
blackbird-op-linux-8838400db5193c37588813c2eb1249b821781950.zip
PCI hotplug: add pci_configure_slot()
This patch adds a new pci_configure_slot() function that programs the PCI bus characteristics for a newly-added device. This is based on code in pciehp_pci.c, but should be generic enough to be used by pciehp, shpchp, and acpiphp. The hotplug_params struct and the program_hpp_typeX() functions are based on the ACPI definitions, but they aren't really ACPI-specific, and there's no alternate implementation, so I don't see the need to abstract them yet. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Reviewed-by: Alex Chiang <achiang@hp.com> Reviewed-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Acked-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'include/linux/pci_hotplug.h')
-rw-r--r--include/linux/pci_hotplug.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/pci_hotplug.h b/include/linux/pci_hotplug.h
index 0a7c2401d945..1cdef8317377 100644
--- a/include/linux/pci_hotplug.h
+++ b/include/linux/pci_hotplug.h
@@ -232,6 +232,15 @@ int acpi_get_hp_params_from_firmware(struct pci_dev *dev,
int acpi_get_hp_hw_control_from_firmware(struct pci_dev *dev, u32 flags);
int acpi_pci_check_ejectable(struct pci_bus *pbus, acpi_handle handle);
int acpi_pci_detect_ejectable(acpi_handle handle);
+#define pci_get_hp_params(dev, hpp) acpi_get_hp_params_from_firmware(dev, hpp)
+#else
+static inline int pci_get_hp_params(struct pci_dev *dev,
+ struct hotplug_params *hpp)
+{
+ return -ENODEV;
+}
#endif
+
+void pci_configure_slot(struct pci_dev *dev);
#endif
OpenPOWER on IntegriCloud