diff options
-rw-r--r-- | drivers/pci/Makefile | 3 | ||||
-rw-r--r-- | drivers/pci/legacy.c | 34 | ||||
-rw-r--r-- | drivers/pci/search.c | 31 |
3 files changed, 37 insertions, 31 deletions
diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile index 1ebd6b4c743b..4a7f11d8f432 100644 --- a/drivers/pci/Makefile +++ b/drivers/pci/Makefile | |||
@@ -8,6 +8,9 @@ obj-y += access.o bus.o probe.o remove.o pci.o quirks.o \ | |||
8 | obj-$(CONFIG_PROC_FS) += proc.o | 8 | obj-$(CONFIG_PROC_FS) += proc.o |
9 | obj-$(CONFIG_SYSFS) += slot.o | 9 | obj-$(CONFIG_SYSFS) += slot.o |
10 | 10 | ||
11 | obj-$(CONFIG_PCI_LEGACY) += legacy.o | ||
12 | CFLAGS_legacy.o += -Wno-deprecated-declarations | ||
13 | |||
11 | # Build PCI Express stuff if needed | 14 | # Build PCI Express stuff if needed |
12 | obj-$(CONFIG_PCIEPORTBUS) += pcie/ | 15 | obj-$(CONFIG_PCIEPORTBUS) += pcie/ |
13 | 16 | ||
diff --git a/drivers/pci/legacy.c b/drivers/pci/legacy.c new file mode 100644 index 000000000000..871f65c15936 --- /dev/null +++ b/drivers/pci/legacy.c | |||
@@ -0,0 +1,34 @@ | |||
1 | #include <linux/init.h> | ||
2 | #include <linux/pci.h> | ||
3 | #include <linux/module.h> | ||
4 | #include <linux/interrupt.h> | ||
5 | #include "pci.h" | ||
6 | |||
7 | /** | ||
8 | * pci_find_device - begin or continue searching for a PCI device by vendor/device id | ||
9 | * @vendor: PCI vendor id to match, or %PCI_ANY_ID to match all vendor ids | ||
10 | * @device: PCI device id to match, or %PCI_ANY_ID to match all device ids | ||
11 | * @from: Previous PCI device found in search, or %NULL for new search. | ||
12 | * | ||
13 | * Iterates through the list of known PCI devices. If a PCI device is found | ||
14 | * with a matching @vendor and @device, a pointer to its device structure is | ||
15 | * returned. Otherwise, %NULL is returned. | ||
16 | * A new search is initiated by passing %NULL as the @from argument. | ||
17 | * Otherwise if @from is not %NULL, searches continue from next device | ||
18 | * on the global list. | ||
19 | * | ||
20 | * NOTE: Do not use this function any more; use pci_get_device() instead, as | ||
21 | * the PCI device returned by this function can disappear at any moment in | ||
22 | * time. | ||
23 | */ | ||
24 | struct pci_dev *pci_find_device(unsigned int vendor, unsigned int device, | ||
25 | struct pci_dev *from) | ||
26 | { | ||
27 | struct pci_dev *pdev; | ||
28 | |||
29 | pci_dev_get(from); | ||
30 | pdev = pci_get_subsys(vendor, device, PCI_ANY_ID, PCI_ANY_ID, from); | ||
31 | pci_dev_put(pdev); | ||
32 | return pdev; | ||
33 | } | ||
34 | EXPORT_SYMBOL(pci_find_device); | ||
diff --git a/drivers/pci/search.c b/drivers/pci/search.c index e8cb5051c311..ec415352d9ba 100644 --- a/drivers/pci/search.c +++ b/drivers/pci/search.c | |||
@@ -113,37 +113,6 @@ pci_find_next_bus(const struct pci_bus *from) | |||
113 | return b; | 113 | return b; |
114 | } | 114 | } |
115 | 115 | ||
116 | #ifdef CONFIG_PCI_LEGACY | ||
117 | /** | ||
118 | * pci_find_device - begin or continue searching for a PCI device by vendor/device id | ||
119 | * @vendor: PCI vendor id to match, or %PCI_ANY_ID to match all vendor ids | ||
120 | * @device: PCI device id to match, or %PCI_ANY_ID to match all device ids | ||
121 | * @from: Previous PCI device found in search, or %NULL for new search. | ||
122 | * | ||
123 | * Iterates through the list of known PCI devices. If a PCI device is found | ||
124 | * with a matching @vendor and @device, a pointer to its device structure is | ||
125 | * returned. Otherwise, %NULL is returned. | ||
126 | * A new search is initiated by passing %NULL as the @from argument. | ||
127 | * Otherwise if @from is not %NULL, searches continue from next device | ||
128 | * on the global list. | ||
129 | * | ||
130 | * NOTE: Do not use this function any more; use pci_get_device() instead, as | ||
131 | * the PCI device returned by this function can disappear at any moment in | ||
132 | * time. | ||
133 | */ | ||
134 | struct pci_dev *pci_find_device(unsigned int vendor, unsigned int device, | ||
135 | struct pci_dev *from) | ||
136 | { | ||
137 | struct pci_dev *pdev; | ||
138 | |||
139 | pci_dev_get(from); | ||
140 | pdev = pci_get_subsys(vendor, device, PCI_ANY_ID, PCI_ANY_ID, from); | ||
141 | pci_dev_put(pdev); | ||
142 | return pdev; | ||
143 | } | ||
144 | EXPORT_SYMBOL(pci_find_device); | ||
145 | #endif /* CONFIG_PCI_LEGACY */ | ||
146 | |||
147 | /** | 116 | /** |
148 | * pci_get_slot - locate PCI device for a given PCI slot | 117 | * pci_get_slot - locate PCI device for a given PCI slot |
149 | * @bus: PCI bus on which desired PCI device resides | 118 | * @bus: PCI bus on which desired PCI device resides |