summaryrefslogtreecommitdiff
path: root/sys/kern/bus_if.m
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/bus_if.m')
-rw-r--r--sys/kern/bus_if.m86
1 files changed, 19 insertions, 67 deletions
diff --git a/sys/kern/bus_if.m b/sys/kern/bus_if.m
index fd4f648e002cf..0c75b74b8509f 100644
--- a/sys/kern/bus_if.m
+++ b/sys/kern/bus_if.m
@@ -23,10 +23,10 @@
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
-# $Id: bus_if.m,v 1.4 1998/11/08 18:51:38 nsouch Exp $
+# $Id: bus_if.m,v 1.2 1998/07/12 16:20:51 dfr Exp $
#
-INTERFACE bus;
+INTERFACE bus
#
# This is called from system code which prints out a description of a
@@ -57,7 +57,7 @@ METHOD int read_ivar {
device_t dev;
device_t child;
int index;
- uintptr_t *result;
+ u_long *result;
};
#
@@ -67,75 +67,27 @@ METHOD int write_ivar {
device_t dev;
device_t child;
int index;
- uintptr_t value;
+ u_long value;
};
#
-# Allocate a system resource attached to `dev' on behalf of `child'.
-# The types are defined in <machine/resource.h>; the meaning of the
-# resource-ID field varies from bus to bus (but *rid == 0 is always
-# valid if the resource type is). start and end reflect the allowable
-# range, and should be passed as `0UL' and `~0UL', respectively, if
-# the client has no range restriction. count is the number of consecutive
-# indices in the resource required. flags is a set of sharing flags
-# as defined in <sys/rman.h>.
-#
-# Returns a resource or a null pointer on failure. The caller is
-# responsible for calling rman_activate_resource() when it actually
-# uses the resource.
-#
-METHOD struct resource * alloc_resource {
- device_t dev;
- device_t child;
- int type;
- int *rid;
- u_long start;
- u_long end;
- u_long count;
- u_int flags;
-};
-
-METHOD int activate_resource {
- device_t dev;
- device_t child;
- int type;
- int rid;
- struct resource *r;
-};
-
-METHOD int deactivate_resource {
- device_t dev;
- device_t child;
- int type;
- int rid;
- struct resource *r;
+# Create an interrupt handler for the child device. The handler will
+# be called with the value 'arg' as its only argument. This method
+# does not activate the handler.
+#
+METHOD void* create_intr {
+ device_t dev;
+ device_t child;
+ int irq;
+ driver_intr_t *intr;
+ void *arg;
};
#
-# Free a resource allocated by the preceding method. The `rid' value
-# must be the same as the one returned by BUS_ALLOC_RESOURCE (which
-# is not necessarily the same as the one the client passed).
+# Activate an interrupt handler previously created with
+# BUS_CREATE_INTR.
#
-METHOD int release_resource {
- device_t dev;
- device_t child;
- int type;
- int rid;
- struct resource *res;
-};
-
-METHOD int setup_intr {
- device_t dev;
- device_t child;
- struct resource *irq;
- driver_intr_t *intr;
- void *arg;
- void **cookiep;
-};
-
-METHOD int teardown_intr {
- device_t dev;
- device_t child;
- struct resource *irq;
- void *cookie;
+METHOD int connect_intr {
+ device_t dev;
+ void *ih;
};