bus_adjust_resource (9)
Leading comments
Copyright (c) 2011 Hudson River Trading LLC Written by: John H. Baldwin <jhb@FreeBSD.org> All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and t...
NAME
bus_adjust_resource - adjust resource allocated from a parent busSYNOPSIS
In sys/param.h In sys/bus.hIn machine/bus.h In sys/rman.h In machine/resource.h Ft int Fn bus_adjust_resource device_t dev int type struct resource *r u_long start u_long end
DESCRIPTION
This function is used to ask the parent bus to adjust the resource range assigned to an allocated resource. The resource Fa r should have been allocated by a previous call to bus_alloc_resource9. The new resource range must overlap the existing range of Fa r . The Fa type argument should match the Fa type argument passed to bus_alloc_resource9 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 Fn bus_adjust_resource . It is the caller's responsibility to enforce any such requirements.
RETURN VALUES
The Fn 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
Fn bus_adjust_resource will fail if:- Bq Er EINVAL
- The Fa dev device does not have a parent device.
- Bq Er EINVAL
- The Fa r resource is a shared resource.
- Bq Er EINVAL
- The new address range does not overlap with the existing address range of Fa r .
- Bq Er EBUSY
- The new address range conflicts with another allocated resource.