|
@@ -477,6 +477,19 @@ static inline bool pci_is_root_bus(struct pci_bus *pbus)
|
|
|
return !(pbus->parent);
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * pci_is_bridge - check if the PCI device is a bridge
|
|
|
+ * @dev: PCI device
|
|
|
+ *
|
|
|
+ * Return true if the PCI device is bridge whether it has subordinate
|
|
|
+ * or not.
|
|
|
+ */
|
|
|
+static inline bool pci_is_bridge(struct pci_dev *dev)
|
|
|
+{
|
|
|
+ return dev->hdr_type == PCI_HEADER_TYPE_BRIDGE ||
|
|
|
+ dev->hdr_type == PCI_HEADER_TYPE_CARDBUS;
|
|
|
+}
|
|
|
+
|
|
|
static inline struct pci_dev *pci_upstream_bridge(struct pci_dev *dev)
|
|
|
{
|
|
|
dev = pci_physfn(dev);
|