1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>devm_request_resource</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The Linux Kernel API"><link rel="up" href="ch09s03.html" title="Resources Management"><link rel="prev" href="API---release-region.html" title="__release_region"><link rel="next" href="API-devm-release-resource.html" title="devm_release_resource"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">devm_request_resource</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API---release-region.html">Prev</a>&#160;</td><th width="60%" align="center">Resources Management</th><td width="20%" align="right">&#160;<a accesskey="n" href="API-devm-release-resource.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-devm-request-resource"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>devm_request_resource &#8212; 
2     request and reserve an I/O or memory resource
3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">devm_request_resource </b>(</code></td><td>struct device * <var class="pdparam">dev</var>, </td></tr><tr><td>&#160;</td><td>struct resource * <var class="pdparam">root</var>, </td></tr><tr><td>&#160;</td><td>struct resource * <var class="pdparam">new</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</div></div></div><div class="refsect1"><a name="idp1126006396"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>dev</code></em></span></dt><dd><p>
4     device for which to request the resource
5    </p></dd><dt><span class="term"><em class="parameter"><code>root</code></em></span></dt><dd><p>
6     root of the resource tree from which to request the resource
7    </p></dd><dt><span class="term"><em class="parameter"><code>new</code></em></span></dt><dd><p>
8     descriptor of the resource to request
9    </p></dd></dl></div></div><div class="refsect1"><a name="idp1126010100"></a><h2>Description</h2><p>
10   This is a device-managed version of <code class="function">request_resource</code>. There is usually
11   no need to release resources requested by this function explicitly since
12   that will be taken care of when the device is unbound from its driver.
13   If for some reason the resource needs to be released explicitly, because
14   of ordering issues for example, drivers must call <code class="function">devm_release_resource</code>
15   rather than the regular <code class="function">release_resource</code>.
16   </p><p>
17
18   When a conflict is detected between any existing resources and the newly
19   requested resource, an error message will be printed.
20   </p><p>
21
22   Returns 0 on success or a negative error code on failure.
23</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API---release-region.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="ch09s03.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="API-devm-release-resource.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">__release_region</span>&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;<span class="phrase">devm_release_resource</span></td></tr></table></div></body></html>
24