Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
BUS_ADJUST_RESOURCE(9)	 BSD Kernel Developer's	Manual	BUS_ADJUST_RESOURCE(9)

NAME
     bus_adjust_resource -- adjust resource allocated from a parent bus

SYNOPSIS
     #include <sys/param.h>
     #include <sys/bus.h>

     #include <machine/bus.h>
     #include <sys/rman.h>
     #include <machine/resource.h>

     int
     bus_adjust_resource(device_t dev, int type, struct	resource *r,
	 rman_res_t start, rman_res_t end);

DESCRIPTION
     This function is used to ask the parent bus to adjust the resource	range
     assigned to an allocated resource.	 The resource r	should have been allo-
     cated by a	previous call to bus_alloc_resource(9).	 The new resource
     range must	overlap	the existing range of r.  The type argument should
     match the type argument passed to bus_alloc_resource(9) when the resource
     was initially allocated.

     Note that none of the constraints of the original allocation request such
     as	alignment or boundary restrictions are checked by
     bus_adjust_resource().  It	is the caller's	responsibility to enforce any
     such requirements.

RETURN VALUES
     The bus_adjust_resource() method returns zero on success or an error code
     on	failure.

EXAMPLES
     Grow an existing memory resource by 4096 bytes.

	     struct resource *res;
	     int error;

	     error = bus_adjust_resource(dev, SYS_RES_MEMORY, res,
		 rman_get_start(res), rman_get_end(res)	+ 0x1000);

ERRORS
     bus_adjust_resource() will	fail if:

     [EINVAL]		The dev	device does not	have a parent device.

     [EINVAL]		The r resource is a shared resource.

     [EINVAL]		The new	address	range does not overlap with the	exist-
			ing address range of r.

     [EBUSY]		The new	address	range conflicts	with another allocated
			resource.

SEE ALSO
     bus_alloc_resource(9), bus_release_resource(9), device(9),	driver(9)

BSD				April 23, 2016				   BSD

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | EXAMPLES | ERRORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=bus_adjust_resource&sektion=9&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help