summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Mochel <mochel@geena.pdx.osdl.net>2002-05-27 21:21:15 -0700
committerPatrick Mochel <mochel@geena.pdx.osdl.net>2002-05-27 21:21:15 -0700
commit1781fe6e7af9322940d3bf2383e2dba8a13a39ef (patch)
tree4151a013a85a852d7686c22d19029f5767e9b9bf
parent8f1640cbd899a01f3c4be8b48d3a4cf4a910c76f (diff)
PCI: define pci_bus_type and register it on startup
-rw-r--r--Makefile2
-rw-r--r--drivers/pci/pci-driver.c11
-rw-r--r--drivers/pci/probe.c1
-rw-r--r--include/linux/pci.h1
4 files changed, 14 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index b30bf4575c4c..d067c38ba25d 100644
--- a/Makefile
+++ b/Makefile
@@ -104,8 +104,8 @@ DRIVERS-y :=
DRIVERS-m :=
DRIVERS- :=
-DRIVERS-$(CONFIG_ACPI) += drivers/acpi/acpi.o
DRIVERS-$(CONFIG_PCI) += drivers/pci/driver.o
+DRIVERS-$(CONFIG_ACPI) += drivers/acpi/acpi.o
DRIVERS-$(CONFIG_PARPORT) += drivers/parport/driver.o
DRIVERS-y += drivers/base/base.o \
drivers/char/char.o \
diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
index 702542470631..8ff363949d68 100644
--- a/drivers/pci/pci-driver.c
+++ b/drivers/pci/pci-driver.c
@@ -164,6 +164,17 @@ struct device_driver pci_device_driver = {
resume: pci_device_resume,
};
+struct bus_type pci_bus_type = {
+ name: "pci",
+};
+
+static int __init pci_driver_init(void)
+{
+ return bus_register(&pci_bus_type);
+}
+
+subsys_initcall(pci_driver_init);
+
EXPORT_SYMBOL(pci_match_device);
EXPORT_SYMBOL(pci_register_driver);
EXPORT_SYMBOL(pci_unregister_driver);
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index f56278fbbbf9..a105a7b862a2 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -513,6 +513,7 @@ unsigned int __devinit pci_do_scan_bus(struct pci_bus *bus)
dev0.sysdata = bus->sysdata;
dev0.dev.parent = bus->dev;
dev0.dev.driver = &pci_device_driver;
+ dev0.dev.bus = &pci_bus_type;
/* Go find them, Rover! */
for (devfn = 0; devfn < 0x100; devfn += 8) {
diff --git a/include/linux/pci.h b/include/linux/pci.h
index d138ba50a678..f6e3a68a2a0d 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -439,6 +439,7 @@ struct pci_bus {
extern struct list_head pci_root_buses; /* list of all known PCI buses */
extern struct list_head pci_devices; /* list of all devices */
+extern struct bus_type pci_bus_type;
/*
* Error values that may be returned by PCI functions.