diff options
Diffstat (limited to 'include/linux/pci.h')
| -rw-r--r-- | include/linux/pci.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/include/linux/pci.h b/include/linux/pci.h index e444f5b49118..d8c379dba6ad 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
| @@ -375,11 +375,18 @@ struct pci_host_bridge_window { | |||
| 375 | }; | 375 | }; |
| 376 | 376 | ||
| 377 | struct pci_host_bridge { | 377 | struct pci_host_bridge { |
| 378 | struct list_head list; | 378 | struct device dev; |
| 379 | struct pci_bus *bus; /* root bus */ | 379 | struct pci_bus *bus; /* root bus */ |
| 380 | struct list_head windows; /* pci_host_bridge_windows */ | 380 | struct list_head windows; /* pci_host_bridge_windows */ |
| 381 | void (*release_fn)(struct pci_host_bridge *); | ||
| 382 | void *release_data; | ||
| 381 | }; | 383 | }; |
| 382 | 384 | ||
| 385 | #define to_pci_host_bridge(n) container_of(n, struct pci_host_bridge, dev) | ||
| 386 | void pci_set_host_bridge_release(struct pci_host_bridge *bridge, | ||
| 387 | void (*release_fn)(struct pci_host_bridge *), | ||
| 388 | void *release_data); | ||
| 389 | |||
| 383 | /* | 390 | /* |
| 384 | * The first PCI_BRIDGE_RESOURCE_NUM PCI bus resources (those that correspond | 391 | * The first PCI_BRIDGE_RESOURCE_NUM PCI bus resources (those that correspond |
| 385 | * to P2P or CardBus bridge windows) go in a table. Additional ones (for | 392 | * to P2P or CardBus bridge windows) go in a table. Additional ones (for |
| @@ -680,7 +687,7 @@ int __must_check pci_bus_add_device(struct pci_dev *dev); | |||
| 680 | void pci_read_bridge_bases(struct pci_bus *child); | 687 | void pci_read_bridge_bases(struct pci_bus *child); |
| 681 | struct resource *pci_find_parent_resource(const struct pci_dev *dev, | 688 | struct resource *pci_find_parent_resource(const struct pci_dev *dev, |
| 682 | struct resource *res); | 689 | struct resource *res); |
| 683 | u8 pci_swizzle_interrupt_pin(struct pci_dev *dev, u8 pin); | 690 | u8 pci_swizzle_interrupt_pin(const struct pci_dev *dev, u8 pin); |
| 684 | int pci_get_interrupt_pin(struct pci_dev *dev, struct pci_dev **bridge); | 691 | int pci_get_interrupt_pin(struct pci_dev *dev, struct pci_dev **bridge); |
| 685 | u8 pci_common_swizzle(struct pci_dev *dev, u8 *pinp); | 692 | u8 pci_common_swizzle(struct pci_dev *dev, u8 *pinp); |
| 686 | extern struct pci_dev *pci_dev_get(struct pci_dev *dev); | 693 | extern struct pci_dev *pci_dev_get(struct pci_dev *dev); |
| @@ -1685,7 +1692,8 @@ extern void pci_release_bus_of_node(struct pci_bus *bus); | |||
| 1685 | /* Arch may override this (weak) */ | 1692 | /* Arch may override this (weak) */ |
| 1686 | extern struct device_node * __weak pcibios_get_phb_of_node(struct pci_bus *bus); | 1693 | extern struct device_node * __weak pcibios_get_phb_of_node(struct pci_bus *bus); |
| 1687 | 1694 | ||
| 1688 | static inline struct device_node *pci_device_to_OF_node(struct pci_dev *pdev) | 1695 | static inline struct device_node * |
| 1696 | pci_device_to_OF_node(const struct pci_dev *pdev) | ||
| 1689 | { | 1697 | { |
| 1690 | return pdev ? pdev->dev.of_node : NULL; | 1698 | return pdev ? pdev->dev.of_node : NULL; |
| 1691 | } | 1699 | } |
