diff options
author | Yijing Wang <wangyijing@huawei.com> | 2014-05-04 12:23:37 +0800 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2014-05-27 12:21:02 -0600 |
commit | 1c86438c9423a26cc9f7f74a8950d9cf9c93bc23 (patch) | |
tree | fe11430099b131d8517fd6e2fed0bcdcaa4df303 /include/linux/pci.h | |
parent | 326c1cdae74186bfab3464e8f3378c7fa324be12 (diff) |
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: 326c1cdae741 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>
Diffstat (limited to 'include/linux/pci.h')
-rw-r--r-- | include/linux/pci.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/pci.h b/include/linux/pci.h index aab57b4abe7f..f2a5946ea0bf 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -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); |