summaryrefslogtreecommitdiffstats
path: root/sys/kern/bus_if.m
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>1999-10-12 21:35:51 +0000
committerdfr <dfr@FreeBSD.org>1999-10-12 21:35:51 +0000
commit229cdb91443142db582b7e32098f62f6446c3f3a (patch)
tree8eaacbe4f132a095dfe6be00173bd751633a034d /sys/kern/bus_if.m
parentb203e98b2b9de39cedbf62c7eb859ade4d60e6bc (diff)
downloadFreeBSD-src-229cdb91443142db582b7e32098f62f6446c3f3a.zip
FreeBSD-src-229cdb91443142db582b7e32098f62f6446c3f3a.tar.gz
* Add struct resource_list* argument to resource_list_alloc and
resource_list_release. This removes the dependancy on the layout of ivars. * Move set_resource, get_resource and delete_resource from isa_if.m to bus_if.m. * Simplify driver code by providing wrappers to those methods: bus_set_resource(dev, type, rid, start, count); bus_get_resource(dev, type, rid, startp, countp); bus_get_resource_start(dev, type, rid); bus_get_resource_count(dev, type, rid); bus_delete_resource(dev, type, rid); * Delete isa_get_rsrc and use bus_get_resource_start instead. * Fix a stupid typo in isa_alloc_resource reported by Takahashi Yoshihiro <nyan@FreeBSD.org>. * Print a diagnostic message if we can't assign resources to a PnP device. * Change device_print_prettyname() so that it doesn't print "(no driver assigned)-1" for anonymous devices.
Diffstat (limited to 'sys/kern/bus_if.m')
-rw-r--r--sys/kern/bus_if.m36
1 files changed, 36 insertions, 0 deletions
diff --git a/sys/kern/bus_if.m b/sys/kern/bus_if.m
index 4ead264..e555462 100644
--- a/sys/kern/bus_if.m
+++ b/sys/kern/bus_if.m
@@ -198,3 +198,39 @@ METHOD int teardown_intr {
struct resource *irq;
void *cookie;
};
+
+#
+# Set the range used for a particular resource. Return EINVAL if
+# the type or rid are out of range.
+#
+METHOD int set_resource {
+ device_t dev;
+ device_t child;
+ int type;
+ int rid;
+ u_long start;
+ u_long count;
+};
+
+#
+# Get the range for a resource. Return ENOENT if the type or rid are
+# out of range or have not been set.
+#
+METHOD int get_resource {
+ device_t dev;
+ device_t child;
+ int type;
+ int rid;
+ u_long *startp;
+ u_long *countp;
+};
+
+#
+# Delete a resource.
+#
+METHOD void delete_resource {
+ device_t dev;
+ device_t child;
+ int type;
+ int rid;
+};
OpenPOWER on IntegriCloud