Add a convenience function rman_init_from_resource for initializing
a rman from a resource. Also, include _bus.h since the implementation of bus_space isn't needed here, just the definitions of the types.
This commit is contained in:
parent
3182791d17
commit
a157e1bbd0
@ -182,6 +182,16 @@ rman_manage_region(struct rman *rm, u_long start, u_long end)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
rman_init_from_resource(struct rman *rm, struct resource *r)
|
||||
{
|
||||
int rv;
|
||||
|
||||
if ((rv = rman_init(rm)) != 0)
|
||||
return (rv);
|
||||
return (rman_manage_region(rm, r->__r_i->r_start, r->__r_i->r_end));
|
||||
}
|
||||
|
||||
int
|
||||
rman_fini(struct rman *rm)
|
||||
{
|
||||
|
@ -35,7 +35,7 @@
|
||||
#ifndef _KERNEL
|
||||
#include <sys/queue.h>
|
||||
#else
|
||||
#include <machine/bus.h>
|
||||
#include <machine/_bus.h>
|
||||
#include <machine/resource.h>
|
||||
#endif
|
||||
|
||||
@ -129,6 +129,7 @@ void *rman_get_virtual(struct resource *);
|
||||
int rman_deactivate_resource(struct resource *r);
|
||||
int rman_fini(struct rman *rm);
|
||||
int rman_init(struct rman *rm);
|
||||
int rman_init_from_resource(struct rman *rm, struct resource *r);
|
||||
uint32_t rman_make_alignment_flags(uint32_t size);
|
||||
int rman_manage_region(struct rman *rm, u_long start, u_long end);
|
||||
int rman_is_region_manager(struct resource *r, struct rman *rm);
|
||||
|
Loading…
Reference in New Issue
Block a user