summaryrefslogtreecommitdiff
path: root/src/include/device
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/device')
-rw-r--r--src/include/device/device.h1
-rw-r--r--src/include/device/pci_def.h1
-rw-r--r--src/include/device/pciexp.h6
3 files changed, 8 insertions, 0 deletions
diff --git a/src/include/device/device.h b/src/include/device/device.h
index 2d7400b464..c3a1106023 100644
--- a/src/include/device/device.h
+++ b/src/include/device/device.h
@@ -121,6 +121,7 @@ struct device {
unsigned int disable_pcie_aspm : 1;
unsigned int hidden : 1; /* set if we should hide from UI */
u8 command;
+ uint16_t hotplug_buses; /* Number of hotplug buses to allocate */
/* Base registers for this device. I/O, MEM and Expansion ROM */
DEVTREE_CONST struct resource *resource_list;
diff --git a/src/include/device/pci_def.h b/src/include/device/pci_def.h
index d906445157..07ba4a2b30 100644
--- a/src/include/device/pci_def.h
+++ b/src/include/device/pci_def.h
@@ -435,6 +435,7 @@
#define PCI_EXP_LNKSTA_LT 0x800 /* Link Training */
#define PCI_EXP_LNKSTA_SLC 0x1000 /* Slot Clock Configuration */
#define PCI_EXP_SLTCAP 20 /* Slot Capabilities */
+#define PCI_EXP_SLTCAP_HPC 0x0040 /* Hot-Plug Capable */
#define PCI_EXP_SLTCTL 24 /* Slot Control */
#define PCI_EXP_SLTSTA 26 /* Slot Status */
#define PCI_EXP_RTCTL 28 /* Root Control */
diff --git a/src/include/device/pciexp.h b/src/include/device/pciexp.h
index 3a9825d871..44914063f6 100644
--- a/src/include/device/pciexp.h
+++ b/src/include/device/pciexp.h
@@ -26,5 +26,11 @@ void pciexp_scan_bridge(struct device *dev);
extern struct device_operations default_pciexp_ops_bus;
+#if CONFIG(PCIEXP_HOTPLUG)
+void pciexp_hotplug_scan_bridge(struct device *dev);
+
+extern struct device_operations default_pciexp_hotplug_ops_bus;
+#endif /* CONFIG(PCIEXP_HOTPLUG) */
+
unsigned int pciexp_find_extended_cap(struct device *dev, unsigned int cap);
#endif /* DEVICE_PCIEXP_H */