> For the complete documentation index, see [llms.txt](https://book.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://book.bsdcn.org/man/man9/bus_adjust_resource.9.md).

# bus\_adjust\_resource.9

`bus_adjust_resource` — 调整从父总线分配的资源

## 名称

`bus_adjust_resource`

## 概要

```c
#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)
```

## 描述

此函数用于请求父总线调整分配给已分配资源的资源范围。资源 `r` 应由先前调用 [bus\_alloc\_resource(9)](/man/man9/bus_alloc_resource.9.md) 分配。新的资源范围必须与 `r` 的现有范围重叠。

注意，`bus_adjust_resource` 不检查原始分配请求的任何约束，如对齐或边界限制。强制执行任何此类要求是调用者的责任。

## 返回值

`bus_adjust_resource` 方法成功时返回零，失败时返回错误代码。

## 实例

将现有内存资源扩展 4096 字节。

```c
	struct resource *res;
	int error;
	error = bus_adjust_resource(dev, res, rman_get_start(res),
	    rman_get_end(res) + 0x1000);
```

## 错误

`bus_adjust_resource` 在以下情况下失败：

**\[`EINVAL`]** `dev` 设备没有父设备。

**\[`EINVAL`]** `r` 资源是共享资源。

**\[`EINVAL`]** 新地址范围与 `r` 的现有地址范围不重叠。

**\[`EBUSY`]** 新地址范围与另一个已分配资源冲突。

## 参见

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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://book.bsdcn.org/man/man9/bus_adjust_resource.9.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
