summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_bus.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2010-11-17 22:28:04 +0000
committerjhb <jhb@FreeBSD.org>2010-11-17 22:28:04 +0000
commit6858b8bb3347117f293ed046ae5886415ce60bf2 (patch)
treefd352cc55f52affd436f512d10be46c1b5468047 /sys/kern/subr_bus.c
parente5464da2b607e2a188cffe565e08622cf4988963 (diff)
downloadFreeBSD-src-6858b8bb3347117f293ed046ae5886415ce60bf2.zip
FreeBSD-src-6858b8bb3347117f293ed046ae5886415ce60bf2.tar.gz
Add a resource_list_reserved() method that returns true if a resource
list entry contains a reserved resource.
Diffstat (limited to 'sys/kern/subr_bus.c')
-rw-r--r--sys/kern/subr_bus.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c
index d12968c..5a53fc9 100644
--- a/sys/kern/subr_bus.c
+++ b/sys/kern/subr_bus.c
@@ -2934,6 +2934,30 @@ resource_list_busy(struct resource_list *rl, int type, int rid)
}
/**
+ * @brief Determine if a resource entry is reserved.
+ *
+ * Returns true if a resource entry is reserved meaning that it has an
+ * associated "reserved" resource. The resource can either be
+ * allocated or unallocated.
+ *
+ * @param rl the resource list to search
+ * @param type the resource entry type (e.g. SYS_RES_MEMORY)
+ * @param rid the resource identifier
+ *
+ * @returns Non-zero if the entry is reserved, zero otherwise.
+ */
+int
+resource_list_reserved(struct resource_list *rl, int type, int rid)
+{
+ struct resource_list_entry *rle;
+
+ rle = resource_list_find(rl, type, rid);
+ if (rle != NULL && rle->flags & RLE_RESERVED)
+ return (1);
+ return (0);
+}
+
+/**
* @brief Find a resource entry by type and rid.
*
* @param rl the resource list to search
OpenPOWER on IntegriCloud