mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-19 10:53:58 +00:00
Add the bus_alloc_resource_anywhere() convenience function.
Summary: Many instances of bus_alloc_resource() simply use 0 and ~0 for start and end to denote 'anywhere' with a given count. To clean this up, introduce a bus_alloc_resource_anywhere() convenience function. Bump __FreeBSD_version for the new API. Reviewed By: jhb Differential Revision: https://reviews.freebsd.org/D5370
This commit is contained in:
parent
eff83876b6
commit
ac6c1372f4
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=296136
@ -34,6 +34,7 @@
|
||||
.Sh NAME
|
||||
.Nm bus_alloc_resource ,
|
||||
.Nm bus_alloc_resource_any
|
||||
.Nm bus_alloc_resource_anywhere
|
||||
.Nd allocate resources from a parent bus
|
||||
.Sh SYNOPSIS
|
||||
.In sys/param.h
|
||||
@ -49,6 +50,10 @@
|
||||
.Fc
|
||||
.Ft struct resource *
|
||||
.Fn bus_alloc_resource_any "device_t dev" "int type" "int *rid" "u_int flags"
|
||||
.Fc
|
||||
.Ft struct resource *
|
||||
.Fn bus_alloc_resource_anywhere
|
||||
.Fa "device_t dev" "int type" "int *rid" "rman_res_t count" "u_int flags"
|
||||
.Sh DESCRIPTION
|
||||
This is an easy interface to the resource-management functions.
|
||||
It hides the indirection through the parent's method table.
|
||||
@ -57,9 +62,12 @@ rare cases) never earlier.
|
||||
.Pp
|
||||
The
|
||||
.Fn bus_alloc_resource_any
|
||||
function is a convenience wrapper for
|
||||
and
|
||||
.Fn bus_alloc_resource_anywhere
|
||||
functions are convenience wrappers for
|
||||
.Fn bus_alloc_resource .
|
||||
It sets the values for
|
||||
.Fn bus_alloc_resource_any
|
||||
sets
|
||||
.Fa start ,
|
||||
.Fa end ,
|
||||
and
|
||||
@ -67,6 +75,14 @@ and
|
||||
to the default resource (see description of
|
||||
.Fa start
|
||||
below).
|
||||
.Fn bus_alloc_resource_anywhere
|
||||
sets
|
||||
.Fa start
|
||||
and
|
||||
.Fa end
|
||||
to the default resource and uses the provided
|
||||
.Fa count
|
||||
argument.
|
||||
.Pp
|
||||
The arguments are as follows:
|
||||
.Bl -item
|
||||
|
@ -481,6 +481,13 @@ bus_alloc_resource_any(device_t dev, int type, int *rid, u_int flags)
|
||||
return (bus_alloc_resource(dev, type, rid, 0ul, ~0ul, 1, flags));
|
||||
}
|
||||
|
||||
static __inline struct resource *
|
||||
bus_alloc_resource_anywhere(device_t dev, int type, int *rid,
|
||||
rman_res_t count, u_int flags)
|
||||
{
|
||||
return (bus_alloc_resource(dev, type, rid, 0ul, ~0ul, count, flags));
|
||||
}
|
||||
|
||||
/*
|
||||
* Access functions for device.
|
||||
*/
|
||||
|
@ -58,7 +58,7 @@
|
||||
* in the range 5 to 9.
|
||||
*/
|
||||
#undef __FreeBSD_version
|
||||
#define __FreeBSD_version 1100099 /* Master, propagated to newvers */
|
||||
#define __FreeBSD_version 1100100 /* Master, propagated to newvers */
|
||||
|
||||
/*
|
||||
* __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,
|
||||
|
Loading…
Reference in New Issue
Block a user