aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/probe.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 2db2e4bb0d1e..387fbbb97431 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -22,16 +22,27 @@ EXPORT_SYMBOL(pci_root_buses);
22 22
23LIST_HEAD(pci_devices); 23LIST_HEAD(pci_devices);
24 24
25
26static int find_anything(struct device *dev, void *data)
27{
28 return 1;
29}
30
25/* 31/*
26 * Some device drivers need know if pci is initiated. 32 * Some device drivers need know if pci is initiated.
27 * Basically, we think pci is not initiated when there 33 * Basically, we think pci is not initiated when there
28 * is no device in list of pci_devices. 34 * is no device to be found on the pci_bus_type.
29 */ 35 */
30int no_pci_devices(void) 36int no_pci_devices(void)
31{ 37{
32 return list_empty(&pci_devices); 38 struct device *dev;
33} 39 int no_devices;
34 40
41 dev = bus_find_device(&pci_bus_type, NULL, NULL, find_anything);
42 no_devices = (dev == NULL);
43 put_device(dev);
44 return no_devices;
45}
35EXPORT_SYMBOL(no_pci_devices); 46EXPORT_SYMBOL(no_pci_devices);
36 47
37#ifdef HAVE_PCI_LEGACY 48#ifdef HAVE_PCI_LEGACY