Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F115836352
D44122.id135725.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
D44122.id135725.diff
View Options
diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile
--- a/share/man/man9/Makefile
+++ b/share/man/man9/Makefile
@@ -1869,6 +1869,7 @@
rman.9 rman_get_rid.9 \
rman.9 rman_get_size.9 \
rman.9 rman_get_start.9 \
+ rman.9 rman_get_type.9 \
rman.9 rman_get_virtual.9 \
rman.9 rman_init.9 \
rman.9 rman_init_from_resource.9 \
@@ -1883,6 +1884,7 @@
rman.9 rman_set_bustag.9 \
rman.9 rman_set_mapping.9 \
rman.9 rman_set_rid.9 \
+ rman.9 rman_set_type.9 \
rman.9 rman_set_virtual.9
MLINKS+=rmlock.9 rm_assert.9 \
rmlock.9 rm_destroy.9 \
diff --git a/share/man/man9/rman.9 b/share/man/man9/rman.9
--- a/share/man/man9/rman.9
+++ b/share/man/man9/rman.9
@@ -23,7 +23,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd May 20, 2016
+.Dd March 13, 2024
.Dt RMAN 9
.Os
.Sh NAME
@@ -56,7 +56,9 @@
.Nm rman_set_bushandle ,
.Nm rman_get_bushandle ,
.Nm rman_set_rid ,
-.Nm rman_get_rid
+.Nm rman_get_rid ,
+.Nm rman_set_type ,
+.Nm rman_get_type
.Nd resource management functions
.Sh SYNOPSIS
.In sys/types.h
@@ -125,6 +127,10 @@
.Fn rman_set_rid "struct resource *r" "int rid"
.Ft int
.Fn rman_get_rid "struct resource *r"
+.Ft void
+.Fn rman_set_type "struct resource *r" "int type"
+.Ft int
+.Fn rman_get_type "struct resource *r"
.Sh DESCRIPTION
The
.Nm
@@ -457,6 +463,14 @@
function retrieves this RID.
.Pp
The
+.Fn rman_set_type
+function associates a resource type with a resource
+.Fa r .
+The
+.Fn rman_get_type
+function retrieves this type.
+.Pp
+The
.Fn rman_get_device
function returns a pointer to the device which reserved the resource
.Fa r .
diff --git a/sys/kern/subr_rman.c b/sys/kern/subr_rman.c
--- a/sys/kern/subr_rman.c
+++ b/sys/kern/subr_rman.c
@@ -91,6 +91,7 @@
device_t r_dev; /* device which has allocated this resource */
struct rman *r_rm; /* resource manager from whence this came */
int r_rid; /* optional rid for this resource. */
+ int r_type; /* optional type for this resource. */
};
static int rman_debug = 0;
@@ -927,6 +928,18 @@
return (r->__r_i->r_rid);
}
+void
+rman_set_type(struct resource *r, int type)
+{
+ r->__r_i->r_type = type;
+}
+
+int
+rman_get_type(struct resource *r)
+{
+ return (r->__r_i->r_type);
+}
+
void
rman_set_device(struct resource *r, device_t dev)
{
diff --git a/sys/sys/rman.h b/sys/sys/rman.h
--- a/sys/sys/rman.h
+++ b/sys/sys/rman.h
@@ -134,6 +134,7 @@
int rman_get_rid(struct resource *);
rman_res_t rman_get_size(struct resource *);
rman_res_t rman_get_start(struct resource *);
+int rman_get_type(struct resource *);
void *rman_get_virtual(struct resource *);
int rman_deactivate_resource(struct resource *r);
int rman_fini(struct rman *rm);
@@ -156,6 +157,7 @@
void rman_set_irq_cookie(struct resource *_r, void *_c);
void rman_set_mapping(struct resource *, struct resource_map *);
void rman_set_rid(struct resource *_r, int _rid);
+void rman_set_type(struct resource *_r, int _type);
void rman_set_virtual(struct resource *_r, void *_v);
extern struct rman_head rman_head;
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Apr 30, 8:58 AM (17 h, 55 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17854521
Default Alt Text
D44122.id135725.diff (3 KB)
Attached To
Mode
D44122: rman: Add rman_get/set_type
Attached
Detach File
Event Timeline
Log In to Comment