Commit | Line | Data |
---|---|---|
e8b553bf AK |
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); |