---
name: "bus_adjust_resource"
section: "9"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/bus_adjust_resource"
---

# bus\_adjust\_resource(9)

adjust resource allocated from a parent bus

## 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*, *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 allocated by a previous call to [bus\_alloc\_resource(9)](/bus_alloc_resource/9.md). The new resource range must overlap the existing range of *r*.

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

- \[EBUSY\]

  The new address range conflicts with another allocated resource.

## SEE ALSO

[bus\_alloc\_resource(9)](/bus_alloc_resource/9.md), [bus\_release\_resource(9)](/bus_release_resource/9.md), [device(9)](/device/9.md), [driver(9)](/driver/9.md)
