diff options
-rw-r--r-- | sys/kern/subr_rman.c | 72 | ||||
-rw-r--r-- | sys/sys/rman.h | 23 |
2 files changed, 85 insertions, 10 deletions
diff --git a/sys/kern/subr_rman.c b/sys/kern/subr_rman.c index 858434b..9ebbfcf 100644 --- a/sys/kern/subr_rman.c +++ b/sys/kern/subr_rman.c @@ -613,3 +613,75 @@ rman_make_alignment_flags(uint32_t size) return(RF_ALIGNMENT_LOG2(i)); } + +u_long +rman_get_start(struct resource *r) +{ + return (r->r_start); +} + +u_long +rman_get_end(struct resource *r) +{ + return (r->r_end); +} + +u_long +rman_get_size(struct resource *r) +{ + return (r->r_end - r->r_start + 1); +} + +u_int +rman_get_flags(struct resource *r) +{ + return (r->r_flags); +} + +void +rman_set_virtual(struct resource *r, void *v) +{ + r->r_virtual = v; +} + +void * +rman_get_virtual(struct resource *r) +{ + return (r->r_virtual); +} + +void +rman_set_bustag(struct resource *r, bus_space_tag_t t) +{ + r->r_bustag = t; +} + +bus_space_tag_t +rman_get_bustag(struct resource *r) +{ + return (r->r_bustag); +} + +void +rman_set_bushandle(struct resource *r, bus_space_handle_t h) +{ + r->r_bushandle = h; +} + +bus_space_handle_t +rman_get_bushandle(struct resource *r) +{ + return (r->r_bushandle); +} + +void +rman_set_rid(struct resource *r, int rid) +{ + r->r_rid = rid; +} + +int +rman_get_rid(struct resource *r) +{ + return (r->r_rid); +} diff --git a/sys/sys/rman.h b/sys/sys/rman.h index ba63b8d..40fe307 100644 --- a/sys/sys/rman.h +++ b/sys/sys/rman.h @@ -103,6 +103,7 @@ struct resource { bus_space_handle_t r_bushandle; /* bus_space handle */ struct device *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. */ }; struct rman { @@ -131,16 +132,18 @@ struct resource *rman_reserve_resource_bound(struct rman *rm, u_long start, u_int flags, struct device *dev); uint32_t rman_make_alignment_flags(uint32_t size); -#define rman_get_start(r) ((r)->r_start) -#define rman_get_end(r) ((r)->r_end) -#define rman_get_size(r) (((r)->r_end - (r)->r_start) + 1) -#define rman_get_flags(r) ((r)->r_flags) -#define rman_set_virtual(r,v) ((r)->r_virtual = (v)) -#define rman_get_virtual(r) ((r)->r_virtual) -#define rman_set_bustag(r,t) ((r)->r_bustag = (t)) -#define rman_get_bustag(r) ((r)->r_bustag) -#define rman_set_bushandle(r,h) ((r)->r_bushandle = (h)) -#define rman_get_bushandle(r) ((r)->r_bushandle) +u_long rman_get_start(struct resource *_r); +u_long rman_get_end(struct resource *_r); +u_long rman_get_size(struct resource *_r); +u_int rman_get_flags(struct resource *_r); +void rman_set_virtual(struct resource *_r, void *_v); +void *rman_get_virtual(struct resource *_r); +void rman_set_bustag(struct resource *_r, bus_space_tag_t _t); +bus_space_tag_t rman_get_bustag(struct resource *_r); +void rman_set_bushandle(struct resource *_r, bus_space_handle_t _h); +bus_space_handle_t rman_get_bushandle(struct resource *_r); +void rman_set_rid(struct resource *_r, int _rid); +int rman_get_rid(struct resource *_r); extern struct rman_head rman_head; #endif /* _KERNEL */ |