diff options
Diffstat (limited to 'drivers/pci/pci.c')
-rw-r--r-- | drivers/pci/pci.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index e7dfcd447571..8f30736dbf3f 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c | |||
@@ -825,6 +825,19 @@ EXPORT_SYMBOL(pci_choose_state); | |||
825 | #define pcie_cap_has_sltctl2(type, flags) \ | 825 | #define pcie_cap_has_sltctl2(type, flags) \ |
826 | ((flags & PCI_EXP_FLAGS_VERS) > 1) | 826 | ((flags & PCI_EXP_FLAGS_VERS) > 1) |
827 | 827 | ||
828 | static struct pci_cap_saved_state *pci_find_saved_cap( | ||
829 | struct pci_dev *pci_dev, char cap) | ||
830 | { | ||
831 | struct pci_cap_saved_state *tmp; | ||
832 | struct hlist_node *pos; | ||
833 | |||
834 | hlist_for_each_entry(tmp, pos, &pci_dev->saved_cap_space, next) { | ||
835 | if (tmp->cap.cap_nr == cap) | ||
836 | return tmp; | ||
837 | } | ||
838 | return NULL; | ||
839 | } | ||
840 | |||
828 | static int pci_save_pcie_state(struct pci_dev *dev) | 841 | static int pci_save_pcie_state(struct pci_dev *dev) |
829 | { | 842 | { |
830 | int pos, i = 0; | 843 | int pos, i = 0; |
@@ -1869,6 +1882,12 @@ void platform_pci_wakeup_init(struct pci_dev *dev) | |||
1869 | platform_pci_sleep_wake(dev, false); | 1882 | platform_pci_sleep_wake(dev, false); |
1870 | } | 1883 | } |
1871 | 1884 | ||
1885 | static void pci_add_saved_cap(struct pci_dev *pci_dev, | ||
1886 | struct pci_cap_saved_state *new_cap) | ||
1887 | { | ||
1888 | hlist_add_head(&new_cap->next, &pci_dev->saved_cap_space); | ||
1889 | } | ||
1890 | |||
1872 | /** | 1891 | /** |
1873 | * pci_add_save_buffer - allocate buffer for saving given capability registers | 1892 | * pci_add_save_buffer - allocate buffer for saving given capability registers |
1874 | * @dev: the PCI device | 1893 | * @dev: the PCI device |