BUS_ADJUST_RESOURCE(9) | Kernel Developer's Manual | BUS_ADJUST_RESOURCE(9) |
bus_adjust_resource
—
adjust resource allocated from a parent bus
#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);
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 allocated 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.
The bus_adjust_resource
() method returns
zero on success or an error code on failure.
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);
bus_adjust_resource
() will fail if:
bus_alloc_resource(9), bus_release_resource(9), device(9), driver(9)
April 23, 2016 | Debian |