PCI: Add new pci_is_bridge() interface

Add a helper function to check a device's header type for PCI bridge or
CardBus bridge.

Requires: 326c1cdae7 PCI: Rename pci_is_bridge() to pci_has_subordinate()
Signed-off-by: Yijing Wang <wangyijing@huawei.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
Yijing Wang 2014-05-04 12:23:37 +08:00 committed by Bjorn Helgaas
parent 326c1cdae7
commit 1c86438c94

View file

@ -477,6 +477,19 @@ static inline bool pci_is_root_bus(struct pci_bus *pbus)
return !(pbus->parent); 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) static inline struct pci_dev *pci_upstream_bridge(struct pci_dev *dev)
{ {
dev = pci_physfn(dev); dev = pci_physfn(dev);