logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

bus_adjust_resource — adjust resource allocated from a parent bus

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 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.

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 existing address range of r.

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

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);

Name

       bus_adjust_resource — adjust resource allocated from a parent bus

Return Values

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

See Also

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

Debian                                           April 23, 2016                           BUS_ADJUST_RESOURCE(9)

Synopsis

#include<sys/param.h>#include<sys/bus.h>#include<machine/bus.h>#include<sys/rman.h>#include<machine/resource.h>intbus_adjust_resource(device_tdev, inttype, structresource*r, rman_res_tstart, rman_res_tend);

See Also