summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>2000-04-08 14:17:18 +0000
committerdfr <dfr@FreeBSD.org>2000-04-08 14:17:18 +0000
commitc9bf4be3c29d14ce9b4af20459517870eed8bce9 (patch)
treeb0ea9aab688814aec913835039451900941b1619 /sys/dev
parent2d18287eb4e48e437d5e7a756df6f20a59c7e176 (diff)
downloadFreeBSD-src-c9bf4be3c29d14ce9b4af20459517870eed8bce9.zip
FreeBSD-src-c9bf4be3c29d14ce9b4af20459517870eed8bce9.tar.gz
* Factor out the object system from new-bus so that it can be used by
non-device code. * Re-implement the method dispatch to improve efficiency. The new system takes about 40ns for a method dispatch on a 300Mhz PII which is only 10ns slower than a direct function call on the same hardware. This changes the new-bus ABI slightly so make sure you re-compile any driver modules which you use.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/dec/mcclock_if.m2
-rw-r--r--sys/dev/iicbus/iicbb_if.m2
-rw-r--r--sys/dev/iicbus/iicbus_if.m2
-rw-r--r--sys/dev/mii/miibus_if.m2
-rw-r--r--sys/dev/pci/pci.c2
-rw-r--r--sys/dev/pci/pci_if.m2
-rw-r--r--sys/dev/ppbus/ppbus_if.m1
-rw-r--r--sys/dev/smbus/smbus_if.m2
-rw-r--r--sys/dev/usb/usb_if.m2
9 files changed, 16 insertions, 1 deletions
diff --git a/sys/dev/dec/mcclock_if.m b/sys/dev/dec/mcclock_if.m
index 01b8a64..a67caca 100644
--- a/sys/dev/dec/mcclock_if.m
+++ b/sys/dev/dec/mcclock_if.m
@@ -26,6 +26,8 @@
# $FreeBSD$
#
+#include <sys/bus.h>
+
INTERFACE mcclock;
#
diff --git a/sys/dev/iicbus/iicbb_if.m b/sys/dev/iicbus/iicbb_if.m
index a99bfe8..94baa41 100644
--- a/sys/dev/iicbus/iicbb_if.m
+++ b/sys/dev/iicbus/iicbb_if.m
@@ -26,6 +26,8 @@
# $FreeBSD$
#
+#include <sys/bus.h>
+
INTERFACE iicbb;
#
diff --git a/sys/dev/iicbus/iicbus_if.m b/sys/dev/iicbus/iicbus_if.m
index ba30c61..eddc022 100644
--- a/sys/dev/iicbus/iicbus_if.m
+++ b/sys/dev/iicbus/iicbus_if.m
@@ -26,6 +26,8 @@
# $FreeBSD$
#
+#include <sys/bus.h>
+
INTERFACE iicbus;
#
diff --git a/sys/dev/mii/miibus_if.m b/sys/dev/mii/miibus_if.m
index d540964..ee7cd08 100644
--- a/sys/dev/mii/miibus_if.m
+++ b/sys/dev/mii/miibus_if.m
@@ -1,5 +1,7 @@
# $FreeBSD$
+#include <sys/bus.h>
+
INTERFACE miibus;
#
diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c
index faa813b..574d567 100644
--- a/sys/dev/pci/pci.c
+++ b/sys/dev/pci/pci.c
@@ -940,7 +940,7 @@ compat_pci_handler(module_t mod, int type, void *data)
bzero(driver, sizeof(driver_t));
driver->name = dvp->pd_name;
driver->methods = pci_compat_methods;
- driver->softc = sizeof(struct pci_devinfo *);
+ driver->size = sizeof(struct pci_devinfo *);
driver->priv = dvp;
devclass_add_driver(pci_devclass, driver);
break;
diff --git a/sys/dev/pci/pci_if.m b/sys/dev/pci/pci_if.m
index 95b0081..e055f42 100644
--- a/sys/dev/pci/pci_if.m
+++ b/sys/dev/pci/pci_if.m
@@ -26,6 +26,8 @@
# $FreeBSD$
#
+#include <sys/bus.h>
+
INTERFACE pci;
METHOD u_int32_t read_config {
diff --git a/sys/dev/ppbus/ppbus_if.m b/sys/dev/ppbus/ppbus_if.m
index 00af081..f21dd83 100644
--- a/sys/dev/ppbus/ppbus_if.m
+++ b/sys/dev/ppbus/ppbus_if.m
@@ -26,6 +26,7 @@
# $FreeBSD$
#
+#include <sys/bus.h>
#include <dev/ppbus/ppbconf.h>
INTERFACE ppbus;
diff --git a/sys/dev/smbus/smbus_if.m b/sys/dev/smbus/smbus_if.m
index d520c2b..781a159 100644
--- a/sys/dev/smbus/smbus_if.m
+++ b/sys/dev/smbus/smbus_if.m
@@ -26,6 +26,8 @@
# $FreeBSD$
#
+#include <sys/bus.h>
+
INTERFACE smbus;
#
diff --git a/sys/dev/usb/usb_if.m b/sys/dev/usb/usb_if.m
index e497817..c1b27c8 100644
--- a/sys/dev/usb/usb_if.m
+++ b/sys/dev/usb/usb_if.m
@@ -31,6 +31,8 @@
# USB interface description
#
+#include <sys/bus.h>
+
INTERFACE usb;
# The device should start probing for new drivers again
OpenPOWER on IntegriCloud