svn commit: r296136 - in head: share/man/man9 sys/sys

Justin Hibbits jhibbits at FreeBSD.org
Sat Feb 27 03:35:30 UTC 2016


Author: jhibbits
Date: Sat Feb 27 03:35:28 2016
New Revision: 296136
URL: https://svnweb.freebsd.org/changeset/base/296136

Log:
  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

Modified:
  head/share/man/man9/bus_alloc_resource.9
  head/sys/sys/bus.h
  head/sys/sys/param.h

Modified: head/share/man/man9/bus_alloc_resource.9
==============================================================================
--- head/share/man/man9/bus_alloc_resource.9	Sat Feb 27 03:34:01 2016	(r296135)
+++ head/share/man/man9/bus_alloc_resource.9	Sat Feb 27 03:35:28 2016	(r296136)
@@ -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

Modified: head/sys/sys/bus.h
==============================================================================
--- head/sys/sys/bus.h	Sat Feb 27 03:34:01 2016	(r296135)
+++ head/sys/sys/bus.h	Sat Feb 27 03:35:28 2016	(r296136)
@@ -481,6 +481,13 @@ bus_alloc_resource_any(device_t dev, int
 	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.
  */

Modified: head/sys/sys/param.h
==============================================================================
--- head/sys/sys/param.h	Sat Feb 27 03:34:01 2016	(r296135)
+++ head/sys/sys/param.h	Sat Feb 27 03:35:28 2016	(r296136)
@@ -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,


More information about the svn-src-head mailing list