diff options
| author | Matthew N. Dodd <mdodd@FreeBSD.org> | 2002-03-29 06:42:54 +0000 |
|---|---|---|
| committer | Matthew N. Dodd <mdodd@FreeBSD.org> | 2002-03-29 06:42:54 +0000 |
| commit | 32bc1098b23e9733a33c1d12988e7cf215667ca8 (patch) | |
| tree | 093a1e4a8cb91e8fdf129c9fd598de1e29ff3876 /sys | |
| parent | 9954794b0c962336ce00855486b1d596ea055898 (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/kern/subr_bus.c | 13 | ||||
| -rw-r--r-- | sys/sys/bus.h | 4 |
2 files changed, 17 insertions, 0 deletions
diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 138b22077d12..7026ae57f578 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -1136,6 +1136,19 @@ resource_list_free(struct resource_list *rl) } } +int +resource_list_add_next(struct resource_list *rl, int type, + u_long start, u_long end, u_long count) +{ + int rid; + + rid = 0; + while (resource_list_find(rl, type, rid)) rid++; + resource_list_add(rl, type, rid, start, end, count); + + return (rid); +} + void resource_list_add(struct resource_list *rl, int type, int rid, u_long start, u_long end, u_long count) diff --git a/sys/sys/bus.h b/sys/sys/bus.h index f5d5d6f173c0..47bea4cf31ba 100644 --- a/sys/sys/bus.h +++ b/sys/sys/bus.h @@ -143,6 +143,10 @@ void resource_list_free(struct resource_list *rl); void resource_list_add(struct resource_list *rl, int type, int rid, u_long start, u_long end, u_long count); +int resource_list_add_next(struct resource_list *rl, + int type, + u_long start, u_long end, u_long count); + /* * Find a resource entry by type and rid. |
