1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>The Linux Kernel API</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The Linux Kernel API"><link rel="next" href="adt.html" title="Chapter 1. Data Types"></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">The Linux Kernel API</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="adt.html">Next</a></td></tr></table><hr></div><div class="book"><div class="titlepage"><div><div><h1 class="title"><a name="LinuxKernelAPI"></a>The Linux Kernel API</h1></div><div><div class="legalnotice"><a name="id-1.1.2"></a><p>
2     This documentation is free software; you can redistribute
3     it and/or modify it under the terms of the GNU General Public
4     License as published by the Free Software Foundation; either
5     version 2 of the License, or (at your option) any later
6     version.
7   </p><p>
8     This program is distributed in the hope that it will be
9     useful, but WITHOUT ANY WARRANTY; without even the implied
10     warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11     See the GNU General Public License for more details.
12   </p><p>
13     You should have received a copy of the GNU General Public
14     License along with this program; if not, write to the Free
15     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
16     MA 02111-1307 USA
17   </p><p>
18     For more details see the file COPYING in the source
19     distribution of Linux.
20   </p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="chapter"><a href="adt.html">1. Data Types</a></span></dt><dd><dl><dt><span class="sect1"><a href="adt.html#id-1.3.2">Doubly Linked Lists</a></span></dt></dl></dd><dt><span class="chapter"><a href="libc.html">2. Basic C Library Functions</a></span></dt><dd><dl><dt><span class="sect1"><a href="libc.html#id-1.4.3">String Conversions</a></span></dt><dt><span class="sect1"><a href="ch02s02.html">String Manipulation</a></span></dt><dt><span class="sect1"><a href="ch02s03.html">Bit Operations</a></span></dt></dl></dd><dt><span class="chapter"><a href="kernel-lib.html">3. Basic Kernel Library Functions</a></span></dt><dd><dl><dt><span class="sect1"><a href="kernel-lib.html#id-1.5.3">Bitmap Operations</a></span></dt><dt><span class="sect1"><a href="ch03s02.html">Command-line Parsing</a></span></dt><dt><span class="sect1"><a href="crc.html">CRC Functions</a></span></dt><dt><span class="sect1"><a href="idr.html">idr/ida Functions</a></span></dt></dl></dd><dt><span class="chapter"><a href="mm.html">4. Memory Management in Linux</a></span></dt><dd><dl><dt><span class="sect1"><a href="mm.html#id-1.6.2">The Slab Cache</a></span></dt><dt><span class="sect1"><a href="ch04s02.html">User Space Memory Access</a></span></dt><dt><span class="sect1"><a href="ch04s03.html">More Memory Management Functions</a></span></dt></dl></dd><dt><span class="chapter"><a href="ipc.html">5. Kernel IPC facilities</a></span></dt><dd><dl><dt><span class="sect1"><a href="ipc.html#id-1.7.2">IPC utilities</a></span></dt></dl></dd><dt><span class="chapter"><a href="kfifo.html">6. FIFO Buffer</a></span></dt><dd><dl><dt><span class="sect1"><a href="kfifo.html#id-1.8.2">kfifo interface</a></span></dt></dl></dd><dt><span class="chapter"><a href="relayfs.html">7. relay interface support</a></span></dt><dd><dl><dt><span class="sect1"><a href="relayfs.html#id-1.9.3">relay interface</a></span></dt></dl></dd><dt><span class="chapter"><a href="modload.html">8. Module Support</a></span></dt><dd><dl><dt><span class="sect1"><a href="modload.html#id-1.10.2">Module Loading</a></span></dt><dt><span class="sect1"><a href="ch08s02.html">Inter Module support</a></span></dt></dl></dd><dt><span class="chapter"><a href="hardware.html">9. Hardware Interfaces</a></span></dt><dd><dl><dt><span class="sect1"><a href="hardware.html#id-1.11.2">Interrupt Handling</a></span></dt><dt><span class="sect1"><a href="ch09s02.html">DMA Channels</a></span></dt><dt><span class="sect1"><a href="ch09s03.html">Resources Management</a></span></dt><dt><span class="sect1"><a href="ch09s04.html">MTRR Handling</a></span></dt><dt><span class="sect1"><a href="ch09s05.html">PCI Support Library</a></span></dt><dt><span class="sect1"><a href="ch09s06.html">PCI Hotplug Support Library</a></span></dt></dl></dd><dt><span class="chapter"><a href="firmware.html">10. Firmware Interfaces</a></span></dt><dd><dl><dt><span class="sect1"><a href="firmware.html#id-1.12.2">DMI Interfaces</a></span></dt><dt><span class="sect1"><a href="ch10s02.html">EDD Interfaces</a></span></dt></dl></dd><dt><span class="chapter"><a href="security.html">11. Security Framework</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-security-init.html"><span class="phrase">security_init</span></a></span><span class="refpurpose"> — 
21  initializes the security framework
22 </span></dt><dt><span class="refentrytitle"><a href="API-security-module-enable.html"><span class="phrase">security_module_enable</span></a></span><span class="refpurpose"> — 
23     Load given security module on boot ?
24 </span></dt><dt><span class="refentrytitle"><a href="API-securityfs-create-file.html"><span class="phrase">securityfs_create_file</span></a></span><span class="refpurpose"> — 
25  create a file in the securityfs filesystem
26 </span></dt><dt><span class="refentrytitle"><a href="API-securityfs-create-dir.html"><span class="phrase">securityfs_create_dir</span></a></span><span class="refpurpose"> — 
27     create a directory in the securityfs filesystem
28 </span></dt><dt><span class="refentrytitle"><a href="API-securityfs-remove.html"><span class="phrase">securityfs_remove</span></a></span><span class="refpurpose"> — 
29     removes a file or directory from the securityfs filesystem
30 </span></dt></dl></dd><dt><span class="chapter"><a href="audit.html">12. Audit Interfaces</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-audit-log-start.html"><span class="phrase">audit_log_start</span></a></span><span class="refpurpose"> — 
31  obtain an audit buffer
32 </span></dt><dt><span class="refentrytitle"><a href="API-audit-log-format.html"><span class="phrase">audit_log_format</span></a></span><span class="refpurpose"> — 
33     format a message into the audit buffer.
34 </span></dt><dt><span class="refentrytitle"><a href="API-audit-log-end.html"><span class="phrase">audit_log_end</span></a></span><span class="refpurpose"> — 
35     end one audit record
36 </span></dt><dt><span class="refentrytitle"><a href="API-audit-log.html"><span class="phrase">audit_log</span></a></span><span class="refpurpose"> — 
37     Log an audit record
38 </span></dt><dt><span class="refentrytitle"><a href="API-audit-log-secctx.html"><span class="phrase">audit_log_secctx</span></a></span><span class="refpurpose"> — 
39     Converts and logs SELinux context
40 </span></dt><dt><span class="refentrytitle"><a href="API-audit-alloc.html"><span class="phrase">audit_alloc</span></a></span><span class="refpurpose"> — 
41  allocate an audit context block for a task
42 </span></dt><dt><span class="refentrytitle"><a href="API---audit-free.html"><span class="phrase">__audit_free</span></a></span><span class="refpurpose"> — 
43     free a per-task audit context
44 </span></dt><dt><span class="refentrytitle"><a href="API---audit-syscall-entry.html"><span class="phrase">__audit_syscall_entry</span></a></span><span class="refpurpose"> — 
45     fill in an audit record at syscall entry
46 </span></dt><dt><span class="refentrytitle"><a href="API---audit-syscall-exit.html"><span class="phrase">__audit_syscall_exit</span></a></span><span class="refpurpose"> — 
47     deallocate audit context after a system call
48 </span></dt><dt><span class="refentrytitle"><a href="API---audit-reusename.html"><span class="phrase">__audit_reusename</span></a></span><span class="refpurpose"> — 
49     fill out filename with info from existing entry
50 </span></dt><dt><span class="refentrytitle"><a href="API---audit-getname.html"><span class="phrase">__audit_getname</span></a></span><span class="refpurpose"> — 
51     add a name to the list
52 </span></dt><dt><span class="refentrytitle"><a href="API---audit-inode.html"><span class="phrase">__audit_inode</span></a></span><span class="refpurpose"> — 
53     store the inode and device from a lookup
54 </span></dt><dt><span class="refentrytitle"><a href="API-auditsc-get-stamp.html"><span class="phrase">auditsc_get_stamp</span></a></span><span class="refpurpose"> — 
55     get local copies of audit_context values
56 </span></dt><dt><span class="refentrytitle"><a href="API-audit-set-loginuid.html"><span class="phrase">audit_set_loginuid</span></a></span><span class="refpurpose"> — 
57     set current task's audit_context loginuid
58 </span></dt><dt><span class="refentrytitle"><a href="API---audit-mq-open.html"><span class="phrase">__audit_mq_open</span></a></span><span class="refpurpose"> — 
59     record audit data for a POSIX MQ open
60 </span></dt><dt><span class="refentrytitle"><a href="API---audit-mq-sendrecv.html"><span class="phrase">__audit_mq_sendrecv</span></a></span><span class="refpurpose"> — 
61     record audit data for a POSIX MQ timed send/receive
62 </span></dt><dt><span class="refentrytitle"><a href="API---audit-mq-notify.html"><span class="phrase">__audit_mq_notify</span></a></span><span class="refpurpose"> — 
63     record audit data for a POSIX MQ notify
64 </span></dt><dt><span class="refentrytitle"><a href="API---audit-mq-getsetattr.html"><span class="phrase">__audit_mq_getsetattr</span></a></span><span class="refpurpose"> — 
65     record audit data for a POSIX MQ get/set attribute
66 </span></dt><dt><span class="refentrytitle"><a href="API---audit-ipc-obj.html"><span class="phrase">__audit_ipc_obj</span></a></span><span class="refpurpose"> — 
67     record audit data for ipc object
68 </span></dt><dt><span class="refentrytitle"><a href="API---audit-ipc-set-perm.html"><span class="phrase">__audit_ipc_set_perm</span></a></span><span class="refpurpose"> — 
69     record audit data for new ipc permissions
70 </span></dt><dt><span class="refentrytitle"><a href="API---audit-socketcall.html"><span class="phrase">__audit_socketcall</span></a></span><span class="refpurpose"> — 
71     record audit data for sys_socketcall
72 </span></dt><dt><span class="refentrytitle"><a href="API---audit-fd-pair.html"><span class="phrase">__audit_fd_pair</span></a></span><span class="refpurpose"> — 
73     record audit data for pipe and socketpair
74 </span></dt><dt><span class="refentrytitle"><a href="API---audit-sockaddr.html"><span class="phrase">__audit_sockaddr</span></a></span><span class="refpurpose"> — 
75     record audit data for sys_bind, sys_connect, sys_sendto
76 </span></dt><dt><span class="refentrytitle"><a href="API---audit-signal-info.html"><span class="phrase">__audit_signal_info</span></a></span><span class="refpurpose"> — 
77     record signal info for shutting down audit subsystem
78 </span></dt><dt><span class="refentrytitle"><a href="API---audit-log-bprm-fcaps.html"><span class="phrase">__audit_log_bprm_fcaps</span></a></span><span class="refpurpose"> — 
79     store information about a loading bprm and relevant fcaps
80 </span></dt><dt><span class="refentrytitle"><a href="API---audit-log-capset.html"><span class="phrase">__audit_log_capset</span></a></span><span class="refpurpose"> — 
81     store information about the arguments to the capset syscall
82 </span></dt><dt><span class="refentrytitle"><a href="API-audit-core-dumps.html"><span class="phrase">audit_core_dumps</span></a></span><span class="refpurpose"> — 
83     record information about processes that end abnormally
84 </span></dt><dt><span class="refentrytitle"><a href="API-audit-rule-change.html"><span class="phrase">audit_rule_change</span></a></span><span class="refpurpose"> — 
85  apply all rules to the specified message type
86 </span></dt><dt><span class="refentrytitle"><a href="API-audit-list-rules-send.html"><span class="phrase">audit_list_rules_send</span></a></span><span class="refpurpose"> — 
87     list the audit rules
88 </span></dt><dt><span class="refentrytitle"><a href="API-parent-len.html"><span class="phrase">parent_len</span></a></span><span class="refpurpose"> — 
89     find the length of the parent portion of a pathname
90 </span></dt><dt><span class="refentrytitle"><a href="API-audit-compare-dname-path.html"><span class="phrase">audit_compare_dname_path</span></a></span><span class="refpurpose"> — 
91     compare given dentry name with last component in given path. Return of 0 indicates a match.
92 </span></dt></dl></dd><dt><span class="chapter"><a href="accounting.html">13. Accounting Framework</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-sys-acct.html"><span class="phrase">sys_acct</span></a></span><span class="refpurpose"> — 
93  enable/disable process accounting
94 </span></dt><dt><span class="refentrytitle"><a href="API-acct-collect.html"><span class="phrase">acct_collect</span></a></span><span class="refpurpose"> — 
95     collect accounting information into pacct_struct
96 </span></dt><dt><span class="refentrytitle"><a href="API-acct-process.html"><span class="phrase">acct_process</span></a></span><span class="refpurpose"> — 
97   </span></dt></dl></dd><dt><span class="chapter"><a href="blkdev.html">14. Block Devices</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-blk-get-backing-dev-info.html"><span class="phrase">blk_get_backing_dev_info</span></a></span><span class="refpurpose"> — 
98  get the address of a queue's backing_dev_info
99 </span></dt><dt><span class="refentrytitle"><a href="API-blk-delay-queue.html"><span class="phrase">blk_delay_queue</span></a></span><span class="refpurpose"> — 
100     restart queueing after defined interval
101 </span></dt><dt><span class="refentrytitle"><a href="API-blk-start-queue-async.html"><span class="phrase">blk_start_queue_async</span></a></span><span class="refpurpose"> — 
102     asynchronously restart a previously stopped queue
103 </span></dt><dt><span class="refentrytitle"><a href="API-blk-start-queue.html"><span class="phrase">blk_start_queue</span></a></span><span class="refpurpose"> — 
104     restart a previously stopped queue
105 </span></dt><dt><span class="refentrytitle"><a href="API-blk-stop-queue.html"><span class="phrase">blk_stop_queue</span></a></span><span class="refpurpose"> — 
106     stop a queue
107 </span></dt><dt><span class="refentrytitle"><a href="API-blk-sync-queue.html"><span class="phrase">blk_sync_queue</span></a></span><span class="refpurpose"> — 
108     cancel any pending callbacks on a queue
109 </span></dt><dt><span class="refentrytitle"><a href="API---blk-run-queue-uncond.html"><span class="phrase">__blk_run_queue_uncond</span></a></span><span class="refpurpose"> — 
110     run a queue whether or not it has been stopped
111 </span></dt><dt><span class="refentrytitle"><a href="API---blk-run-queue.html"><span class="phrase">__blk_run_queue</span></a></span><span class="refpurpose"> — 
112     run a single device queue
113 </span></dt><dt><span class="refentrytitle"><a href="API-blk-run-queue-async.html"><span class="phrase">blk_run_queue_async</span></a></span><span class="refpurpose"> — 
114     run a single device queue in workqueue context
115 </span></dt><dt><span class="refentrytitle"><a href="API-blk-run-queue.html"><span class="phrase">blk_run_queue</span></a></span><span class="refpurpose"> — 
116     run a single device queue
117 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-bypass-start.html"><span class="phrase">blk_queue_bypass_start</span></a></span><span class="refpurpose"> — 
118     enter queue bypass mode
119 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-bypass-end.html"><span class="phrase">blk_queue_bypass_end</span></a></span><span class="refpurpose"> — 
120     leave queue bypass mode
121 </span></dt><dt><span class="refentrytitle"><a href="API-blk-cleanup-queue.html"><span class="phrase">blk_cleanup_queue</span></a></span><span class="refpurpose"> — 
122     shutdown a request queue
123 </span></dt><dt><span class="refentrytitle"><a href="API-blk-init-queue.html"><span class="phrase">blk_init_queue</span></a></span><span class="refpurpose"> — 
124     prepare a request queue for use with a block device
125 </span></dt><dt><span class="refentrytitle"><a href="API-blk-make-request.html"><span class="phrase">blk_make_request</span></a></span><span class="refpurpose"> — 
126     given a bio, allocate a corresponding struct request.
127 </span></dt><dt><span class="refentrytitle"><a href="API-blk-rq-set-block-pc.html"><span class="phrase">blk_rq_set_block_pc</span></a></span><span class="refpurpose"> — 
128     initialize a request to type BLOCK_PC
129 </span></dt><dt><span class="refentrytitle"><a href="API-blk-requeue-request.html"><span class="phrase">blk_requeue_request</span></a></span><span class="refpurpose"> — 
130     put a request back on queue
131 </span></dt><dt><span class="refentrytitle"><a href="API-part-round-stats.html"><span class="phrase">part_round_stats</span></a></span><span class="refpurpose"> — 
132     Round off the performance stats on a struct disk_stats.
133 </span></dt><dt><span class="refentrytitle"><a href="API-blk-add-request-payload.html"><span class="phrase">blk_add_request_payload</span></a></span><span class="refpurpose"> — 
134     add a payload to a request
135 </span></dt><dt><span class="refentrytitle"><a href="API-generic-make-request.html"><span class="phrase">generic_make_request</span></a></span><span class="refpurpose"> — 
136     hand a buffer to its device driver for I/O
137 </span></dt><dt><span class="refentrytitle"><a href="API-submit-bio.html"><span class="phrase">submit_bio</span></a></span><span class="refpurpose"> — 
138     submit a bio to the block device layer for I/O
139 </span></dt><dt><span class="refentrytitle"><a href="API-blk-insert-cloned-request.html"><span class="phrase">blk_insert_cloned_request</span></a></span><span class="refpurpose"> — 
140     Helper for stacking drivers to submit a request
141 </span></dt><dt><span class="refentrytitle"><a href="API-blk-rq-err-bytes.html"><span class="phrase">blk_rq_err_bytes</span></a></span><span class="refpurpose"> — 
142     determine number of bytes till the next failure boundary
143 </span></dt><dt><span class="refentrytitle"><a href="API-blk-peek-request.html"><span class="phrase">blk_peek_request</span></a></span><span class="refpurpose"> — 
144     peek at the top of a request queue
145 </span></dt><dt><span class="refentrytitle"><a href="API-blk-start-request.html"><span class="phrase">blk_start_request</span></a></span><span class="refpurpose"> — 
146     start request processing on the driver
147 </span></dt><dt><span class="refentrytitle"><a href="API-blk-fetch-request.html"><span class="phrase">blk_fetch_request</span></a></span><span class="refpurpose"> — 
148     fetch a request from a request queue
149 </span></dt><dt><span class="refentrytitle"><a href="API-blk-update-request.html"><span class="phrase">blk_update_request</span></a></span><span class="refpurpose"> — 
150     Special helper function for request stacking drivers
151 </span></dt><dt><span class="refentrytitle"><a href="API-blk-unprep-request.html"><span class="phrase">blk_unprep_request</span></a></span><span class="refpurpose"> — 
152     unprepare a request
153 </span></dt><dt><span class="refentrytitle"><a href="API-blk-end-request.html"><span class="phrase">blk_end_request</span></a></span><span class="refpurpose"> — 
154     Helper function for drivers to complete the request.
155 </span></dt><dt><span class="refentrytitle"><a href="API-blk-end-request-all.html"><span class="phrase">blk_end_request_all</span></a></span><span class="refpurpose"> — 
156     Helper function for drives to finish the request.
157 </span></dt><dt><span class="refentrytitle"><a href="API-blk-end-request-cur.html"><span class="phrase">blk_end_request_cur</span></a></span><span class="refpurpose"> — 
158     Helper function to finish the current request chunk.
159 </span></dt><dt><span class="refentrytitle"><a href="API-blk-end-request-err.html"><span class="phrase">blk_end_request_err</span></a></span><span class="refpurpose"> — 
160     Finish a request till the next failure boundary.
161 </span></dt><dt><span class="refentrytitle"><a href="API---blk-end-request.html"><span class="phrase">__blk_end_request</span></a></span><span class="refpurpose"> — 
162     Helper function for drivers to complete the request.
163 </span></dt><dt><span class="refentrytitle"><a href="API---blk-end-request-all.html"><span class="phrase">__blk_end_request_all</span></a></span><span class="refpurpose"> — 
164     Helper function for drives to finish the request.
165 </span></dt><dt><span class="refentrytitle"><a href="API---blk-end-request-cur.html"><span class="phrase">__blk_end_request_cur</span></a></span><span class="refpurpose"> — 
166     Helper function to finish the current request chunk.
167 </span></dt><dt><span class="refentrytitle"><a href="API---blk-end-request-err.html"><span class="phrase">__blk_end_request_err</span></a></span><span class="refpurpose"> — 
168     Finish a request till the next failure boundary.
169 </span></dt><dt><span class="refentrytitle"><a href="API-rq-flush-dcache-pages.html"><span class="phrase">rq_flush_dcache_pages</span></a></span><span class="refpurpose"> — 
170     Helper function to flush all pages in a request
171 </span></dt><dt><span class="refentrytitle"><a href="API-blk-lld-busy.html"><span class="phrase">blk_lld_busy</span></a></span><span class="refpurpose"> — 
172     Check if underlying low-level drivers of a device are busy
173 </span></dt><dt><span class="refentrytitle"><a href="API-blk-rq-unprep-clone.html"><span class="phrase">blk_rq_unprep_clone</span></a></span><span class="refpurpose"> — 
174     Helper function to free all bios in a cloned request
175 </span></dt><dt><span class="refentrytitle"><a href="API-blk-rq-prep-clone.html"><span class="phrase">blk_rq_prep_clone</span></a></span><span class="refpurpose"> — 
176     Helper function to setup clone request
177 </span></dt><dt><span class="refentrytitle"><a href="API-blk-start-plug.html"><span class="phrase">blk_start_plug</span></a></span><span class="refpurpose"> — 
178     initialize blk_plug and track it inside the task_struct
179 </span></dt><dt><span class="refentrytitle"><a href="API-blk-pm-runtime-init.html"><span class="phrase">blk_pm_runtime_init</span></a></span><span class="refpurpose"> — 
180     Block layer runtime PM initialization routine
181 </span></dt><dt><span class="refentrytitle"><a href="API-blk-pre-runtime-suspend.html"><span class="phrase">blk_pre_runtime_suspend</span></a></span><span class="refpurpose"> — 
182     Pre runtime suspend check
183 </span></dt><dt><span class="refentrytitle"><a href="API-blk-post-runtime-suspend.html"><span class="phrase">blk_post_runtime_suspend</span></a></span><span class="refpurpose"> — 
184     Post runtime suspend processing
185 </span></dt><dt><span class="refentrytitle"><a href="API-blk-pre-runtime-resume.html"><span class="phrase">blk_pre_runtime_resume</span></a></span><span class="refpurpose"> — 
186     Pre runtime resume processing
187 </span></dt><dt><span class="refentrytitle"><a href="API-blk-post-runtime-resume.html"><span class="phrase">blk_post_runtime_resume</span></a></span><span class="refpurpose"> — 
188     Post runtime resume processing
189 </span></dt><dt><span class="refentrytitle"><a href="API---blk-drain-queue.html"><span class="phrase">__blk_drain_queue</span></a></span><span class="refpurpose"> — 
190  drain requests from request_queue
191 </span></dt><dt><span class="refentrytitle"><a href="API-rq-ioc.html"><span class="phrase">rq_ioc</span></a></span><span class="refpurpose"> — 
192     determine io_context for request allocation
193 </span></dt><dt><span class="refentrytitle"><a href="API---get-request.html"><span class="phrase">__get_request</span></a></span><span class="refpurpose"> — 
194     get a free request
195 </span></dt><dt><span class="refentrytitle"><a href="API-get-request.html"><span class="phrase">get_request</span></a></span><span class="refpurpose"> — 
196     get a free request
197 </span></dt><dt><span class="refentrytitle"><a href="API-blk-attempt-plug-merge.html"><span class="phrase">blk_attempt_plug_merge</span></a></span><span class="refpurpose"> — 
198     try to merge with <code class="constant">current</code>'s plugged list
199 </span></dt><dt><span class="refentrytitle"><a href="API-blk-cloned-rq-check-limits.html"><span class="phrase">blk_cloned_rq_check_limits</span></a></span><span class="refpurpose"> — 
200     Helper function to check a cloned request for new the queue limits
201 </span></dt><dt><span class="refentrytitle"><a href="API-blk-end-bidi-request.html"><span class="phrase">blk_end_bidi_request</span></a></span><span class="refpurpose"> — 
202     Complete a bidi request
203 </span></dt><dt><span class="refentrytitle"><a href="API---blk-end-bidi-request.html"><span class="phrase">__blk_end_bidi_request</span></a></span><span class="refpurpose"> — 
204     Complete a bidi request with queue lock held
205 </span></dt><dt><span class="refentrytitle"><a href="API-blk-rq-map-user-iov.html"><span class="phrase">blk_rq_map_user_iov</span></a></span><span class="refpurpose"> — 
206  map user data to a request, for REQ_TYPE_BLOCK_PC usage
207 </span></dt><dt><span class="refentrytitle"><a href="API-blk-rq-unmap-user.html"><span class="phrase">blk_rq_unmap_user</span></a></span><span class="refpurpose"> — 
208     unmap a request with user data
209 </span></dt><dt><span class="refentrytitle"><a href="API-blk-rq-map-kern.html"><span class="phrase">blk_rq_map_kern</span></a></span><span class="refpurpose"> — 
210     map kernel data to a request, for REQ_TYPE_BLOCK_PC usage
211 </span></dt><dt><span class="refentrytitle"><a href="API-blk-release-queue.html"><span class="phrase">blk_release_queue</span></a></span><span class="refpurpose"> — 
212  release a <span class="structname">struct request_queue</span> when it is no longer needed
213 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-prep-rq.html"><span class="phrase">blk_queue_prep_rq</span></a></span><span class="refpurpose"> — 
214  set a prepare_request function for queue
215 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-unprep-rq.html"><span class="phrase">blk_queue_unprep_rq</span></a></span><span class="refpurpose"> — 
216     set an unprepare_request function for queue
217 </span></dt><dt><span class="refentrytitle"><a href="API-blk-set-default-limits.html"><span class="phrase">blk_set_default_limits</span></a></span><span class="refpurpose"> — 
218     reset limits to default values
219 </span></dt><dt><span class="refentrytitle"><a href="API-blk-set-stacking-limits.html"><span class="phrase">blk_set_stacking_limits</span></a></span><span class="refpurpose"> — 
220     set default limits for stacking devices
221 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-make-request.html"><span class="phrase">blk_queue_make_request</span></a></span><span class="refpurpose"> — 
222     define an alternate make_request function for a device
223 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-bounce-limit.html"><span class="phrase">blk_queue_bounce_limit</span></a></span><span class="refpurpose"> — 
224     set bounce buffer limit for queue
225 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-max-hw-sectors.html"><span class="phrase">blk_queue_max_hw_sectors</span></a></span><span class="refpurpose"> — 
226     set max sectors for a request for this queue
227 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-chunk-sectors.html"><span class="phrase">blk_queue_chunk_sectors</span></a></span><span class="refpurpose"> — 
228     set size of the chunk for this queue
229 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-max-discard-sectors.html"><span class="phrase">blk_queue_max_discard_sectors</span></a></span><span class="refpurpose"> — 
230     set max sectors for a single discard
231 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-max-write-same-sectors.html"><span class="phrase">blk_queue_max_write_same_sectors</span></a></span><span class="refpurpose"> — 
232     set max sectors for a single write same
233 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-max-segments.html"><span class="phrase">blk_queue_max_segments</span></a></span><span class="refpurpose"> — 
234     set max hw segments for a request for this queue
235 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-max-segment-size.html"><span class="phrase">blk_queue_max_segment_size</span></a></span><span class="refpurpose"> — 
236     set max segment size for blk_rq_map_sg
237 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-logical-block-size.html"><span class="phrase">blk_queue_logical_block_size</span></a></span><span class="refpurpose"> — 
238     set logical block size for the queue
239 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-physical-block-size.html"><span class="phrase">blk_queue_physical_block_size</span></a></span><span class="refpurpose"> — 
240     set physical block size for the queue
241 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-alignment-offset.html"><span class="phrase">blk_queue_alignment_offset</span></a></span><span class="refpurpose"> — 
242     set physical block alignment offset
243 </span></dt><dt><span class="refentrytitle"><a href="API-blk-limits-io-min.html"><span class="phrase">blk_limits_io_min</span></a></span><span class="refpurpose"> — 
244     set minimum request size for a device
245 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-io-min.html"><span class="phrase">blk_queue_io_min</span></a></span><span class="refpurpose"> — 
246     set minimum request size for the queue
247 </span></dt><dt><span class="refentrytitle"><a href="API-blk-limits-io-opt.html"><span class="phrase">blk_limits_io_opt</span></a></span><span class="refpurpose"> — 
248     set optimal request size for a device
249 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-io-opt.html"><span class="phrase">blk_queue_io_opt</span></a></span><span class="refpurpose"> — 
250     set optimal request size for the queue
251 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-stack-limits.html"><span class="phrase">blk_queue_stack_limits</span></a></span><span class="refpurpose"> — 
252     inherit underlying queue limits for stacked drivers
253 </span></dt><dt><span class="refentrytitle"><a href="API-blk-stack-limits.html"><span class="phrase">blk_stack_limits</span></a></span><span class="refpurpose"> — 
254     adjust queue_limits for stacked devices
255 </span></dt><dt><span class="refentrytitle"><a href="API-bdev-stack-limits.html"><span class="phrase">bdev_stack_limits</span></a></span><span class="refpurpose"> — 
256     adjust queue limits for stacked drivers
257 </span></dt><dt><span class="refentrytitle"><a href="API-disk-stack-limits.html"><span class="phrase">disk_stack_limits</span></a></span><span class="refpurpose"> — 
258     adjust queue limits for stacked drivers
259 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-dma-pad.html"><span class="phrase">blk_queue_dma_pad</span></a></span><span class="refpurpose"> — 
260     set pad mask
261 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-update-dma-pad.html"><span class="phrase">blk_queue_update_dma_pad</span></a></span><span class="refpurpose"> — 
262     update pad mask
263 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-dma-drain.html"><span class="phrase">blk_queue_dma_drain</span></a></span><span class="refpurpose"> — 
264     Set up a drain buffer for excess dma.
265 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-segment-boundary.html"><span class="phrase">blk_queue_segment_boundary</span></a></span><span class="refpurpose"> — 
266     set boundary rules for segment merging
267 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-virt-boundary.html"><span class="phrase">blk_queue_virt_boundary</span></a></span><span class="refpurpose"> — 
268     set boundary rules for bio merging
269 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-dma-alignment.html"><span class="phrase">blk_queue_dma_alignment</span></a></span><span class="refpurpose"> — 
270     set dma length and memory alignment
271 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-update-dma-alignment.html"><span class="phrase">blk_queue_update_dma_alignment</span></a></span><span class="refpurpose"> — 
272     update dma length and memory alignment
273 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-flush.html"><span class="phrase">blk_queue_flush</span></a></span><span class="refpurpose"> — 
274     configure queue's cache flush capability
275 </span></dt><dt><span class="refentrytitle"><a href="API-blk-execute-rq-nowait.html"><span class="phrase">blk_execute_rq_nowait</span></a></span><span class="refpurpose"> — 
276  insert a request into queue for execution
277 </span></dt><dt><span class="refentrytitle"><a href="API-blk-execute-rq.html"><span class="phrase">blk_execute_rq</span></a></span><span class="refpurpose"> — 
278     insert a request into queue for execution
279 </span></dt><dt><span class="refentrytitle"><a href="API-blkdev-issue-flush.html"><span class="phrase">blkdev_issue_flush</span></a></span><span class="refpurpose"> — 
280  queue a flush
281 </span></dt><dt><span class="refentrytitle"><a href="API-blkdev-issue-discard.html"><span class="phrase">blkdev_issue_discard</span></a></span><span class="refpurpose"> — 
282  queue a discard
283 </span></dt><dt><span class="refentrytitle"><a href="API-blkdev-issue-write-same.html"><span class="phrase">blkdev_issue_write_same</span></a></span><span class="refpurpose"> — 
284     queue a write same operation
285 </span></dt><dt><span class="refentrytitle"><a href="API-blkdev-issue-zeroout.html"><span class="phrase">blkdev_issue_zeroout</span></a></span><span class="refpurpose"> — 
286     zero-fill a block range
287 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-find-tag.html"><span class="phrase">blk_queue_find_tag</span></a></span><span class="refpurpose"> — 
288  find a request by its tag and queue
289 </span></dt><dt><span class="refentrytitle"><a href="API-blk-free-tags.html"><span class="phrase">blk_free_tags</span></a></span><span class="refpurpose"> — 
290     release a given set of tag maintenance info
291 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-free-tags.html"><span class="phrase">blk_queue_free_tags</span></a></span><span class="refpurpose"> — 
292     release tag maintenance info
293 </span></dt><dt><span class="refentrytitle"><a href="API-blk-init-tags.html"><span class="phrase">blk_init_tags</span></a></span><span class="refpurpose"> — 
294     initialize the tag info for an external tag map
295 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-init-tags.html"><span class="phrase">blk_queue_init_tags</span></a></span><span class="refpurpose"> — 
296     initialize the queue tag info
297 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-resize-tags.html"><span class="phrase">blk_queue_resize_tags</span></a></span><span class="refpurpose"> — 
298     change the queueing depth
299 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-end-tag.html"><span class="phrase">blk_queue_end_tag</span></a></span><span class="refpurpose"> — 
300     end tag operations for a request
301 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-start-tag.html"><span class="phrase">blk_queue_start_tag</span></a></span><span class="refpurpose"> — 
302     find a free tag and assign it
303 </span></dt><dt><span class="refentrytitle"><a href="API-blk-queue-invalidate-tags.html"><span class="phrase">blk_queue_invalidate_tags</span></a></span><span class="refpurpose"> — 
304     invalidate all pending tags
305 </span></dt><dt><span class="refentrytitle"><a href="API---blk-queue-free-tags.html"><span class="phrase">__blk_queue_free_tags</span></a></span><span class="refpurpose"> — 
306  release tag maintenance info
307 </span></dt><dt><span class="refentrytitle"><a href="API-blk-rq-count-integrity-sg.html"><span class="phrase">blk_rq_count_integrity_sg</span></a></span><span class="refpurpose"> — 
308  Count number of integrity scatterlist elements
309 </span></dt><dt><span class="refentrytitle"><a href="API-blk-rq-map-integrity-sg.html"><span class="phrase">blk_rq_map_integrity_sg</span></a></span><span class="refpurpose"> — 
310     Map integrity metadata into a scatterlist
311 </span></dt><dt><span class="refentrytitle"><a href="API-blk-integrity-compare.html"><span class="phrase">blk_integrity_compare</span></a></span><span class="refpurpose"> — 
312     Compare integrity profile of two disks
313 </span></dt><dt><span class="refentrytitle"><a href="API-blk-integrity-register.html"><span class="phrase">blk_integrity_register</span></a></span><span class="refpurpose"> — 
314     Register a gendisk as being integrity-capable
315 </span></dt><dt><span class="refentrytitle"><a href="API-blk-integrity-unregister.html"><span class="phrase">blk_integrity_unregister</span></a></span><span class="refpurpose"> — 
316     Unregister block integrity profile
317 </span></dt><dt><span class="refentrytitle"><a href="API-blk-trace-ioctl.html"><span class="phrase">blk_trace_ioctl</span></a></span><span class="refpurpose"> — 
318  handle the ioctls associated with tracing
319 </span></dt><dt><span class="refentrytitle"><a href="API-blk-trace-shutdown.html"><span class="phrase">blk_trace_shutdown</span></a></span><span class="refpurpose"> — 
320     stop and cleanup trace structures
321 </span></dt><dt><span class="refentrytitle"><a href="API-blk-add-trace-rq.html"><span class="phrase">blk_add_trace_rq</span></a></span><span class="refpurpose"> — 
322     Add a trace for a request oriented action
323 </span></dt><dt><span class="refentrytitle"><a href="API-blk-add-trace-bio.html"><span class="phrase">blk_add_trace_bio</span></a></span><span class="refpurpose"> — 
324     Add a trace for a bio oriented action
325 </span></dt><dt><span class="refentrytitle"><a href="API-blk-add-trace-bio-remap.html"><span class="phrase">blk_add_trace_bio_remap</span></a></span><span class="refpurpose"> — 
326     Add a trace for a bio-remap operation
327 </span></dt><dt><span class="refentrytitle"><a href="API-blk-add-trace-rq-remap.html"><span class="phrase">blk_add_trace_rq_remap</span></a></span><span class="refpurpose"> — 
328     Add a trace for a request-remap operation
329 </span></dt><dt><span class="refentrytitle"><a href="API-blk-mangle-minor.html"><span class="phrase">blk_mangle_minor</span></a></span><span class="refpurpose"> — 
330  scatter minor numbers apart
331 </span></dt><dt><span class="refentrytitle"><a href="API-blk-alloc-devt.html"><span class="phrase">blk_alloc_devt</span></a></span><span class="refpurpose"> — 
332     allocate a dev_t for a partition
333 </span></dt><dt><span class="refentrytitle"><a href="API-blk-free-devt.html"><span class="phrase">blk_free_devt</span></a></span><span class="refpurpose"> — 
334     free a dev_t
335 </span></dt><dt><span class="refentrytitle"><a href="API-disk-replace-part-tbl.html"><span class="phrase">disk_replace_part_tbl</span></a></span><span class="refpurpose"> — 
336     replace disk-&gt;part_tbl in RCU-safe way
337 </span></dt><dt><span class="refentrytitle"><a href="API-disk-expand-part-tbl.html"><span class="phrase">disk_expand_part_tbl</span></a></span><span class="refpurpose"> — 
338     expand disk-&gt;part_tbl
339 </span></dt><dt><span class="refentrytitle"><a href="API-disk-block-events.html"><span class="phrase">disk_block_events</span></a></span><span class="refpurpose"> — 
340     block and flush disk event checking
341 </span></dt><dt><span class="refentrytitle"><a href="API-disk-unblock-events.html"><span class="phrase">disk_unblock_events</span></a></span><span class="refpurpose"> — 
342     unblock disk event checking
343 </span></dt><dt><span class="refentrytitle"><a href="API-disk-flush-events.html"><span class="phrase">disk_flush_events</span></a></span><span class="refpurpose"> — 
344     schedule immediate event checking and flushing
345 </span></dt><dt><span class="refentrytitle"><a href="API-disk-clear-events.html"><span class="phrase">disk_clear_events</span></a></span><span class="refpurpose"> — 
346     synchronously check, clear and return pending events
347 </span></dt><dt><span class="refentrytitle"><a href="API-disk-get-part.html"><span class="phrase">disk_get_part</span></a></span><span class="refpurpose"> — 
348  get partition
349 </span></dt><dt><span class="refentrytitle"><a href="API-disk-part-iter-init.html"><span class="phrase">disk_part_iter_init</span></a></span><span class="refpurpose"> — 
350     initialize partition iterator
351 </span></dt><dt><span class="refentrytitle"><a href="API-disk-part-iter-next.html"><span class="phrase">disk_part_iter_next</span></a></span><span class="refpurpose"> — 
352     proceed iterator to the next partition and return it
353 </span></dt><dt><span class="refentrytitle"><a href="API-disk-part-iter-exit.html"><span class="phrase">disk_part_iter_exit</span></a></span><span class="refpurpose"> — 
354     finish up partition iteration
355 </span></dt><dt><span class="refentrytitle"><a href="API-disk-map-sector-rcu.html"><span class="phrase">disk_map_sector_rcu</span></a></span><span class="refpurpose"> — 
356     map sector to partition
357 </span></dt><dt><span class="refentrytitle"><a href="API-register-blkdev.html"><span class="phrase">register_blkdev</span></a></span><span class="refpurpose"> — 
358     register a new block device
359 </span></dt><dt><span class="refentrytitle"><a href="API-add-disk.html"><span class="phrase">add_disk</span></a></span><span class="refpurpose"> — 
360     add partitioning information to kernel list
361 </span></dt><dt><span class="refentrytitle"><a href="API-get-gendisk.html"><span class="phrase">get_gendisk</span></a></span><span class="refpurpose"> — 
362     get partitioning information for a given device
363 </span></dt><dt><span class="refentrytitle"><a href="API-bdget-disk.html"><span class="phrase">bdget_disk</span></a></span><span class="refpurpose"> — 
364     do <code class="function">bdget</code> by gendisk and partition number
365 </span></dt></dl></dd><dt><span class="chapter"><a href="chrdev.html">15. Char devices</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-register-chrdev-region.html"><span class="phrase">register_chrdev_region</span></a></span><span class="refpurpose"> — 
366  register a range of device numbers
367 </span></dt><dt><span class="refentrytitle"><a href="API-alloc-chrdev-region.html"><span class="phrase">alloc_chrdev_region</span></a></span><span class="refpurpose"> — 
368     register a range of char device numbers
369 </span></dt><dt><span class="refentrytitle"><a href="API---register-chrdev.html"><span class="phrase">__register_chrdev</span></a></span><span class="refpurpose"> — 
370     create and register a cdev occupying a range of minors
371 </span></dt><dt><span class="refentrytitle"><a href="API-unregister-chrdev-region.html"><span class="phrase">unregister_chrdev_region</span></a></span><span class="refpurpose"> — 
372     unregister a range of device numbers
373 </span></dt><dt><span class="refentrytitle"><a href="API---unregister-chrdev.html"><span class="phrase">__unregister_chrdev</span></a></span><span class="refpurpose"> — 
374     unregister and destroy a cdev
375 </span></dt><dt><span class="refentrytitle"><a href="API-cdev-add.html"><span class="phrase">cdev_add</span></a></span><span class="refpurpose"> — 
376     add a char device to the system
377 </span></dt><dt><span class="refentrytitle"><a href="API-cdev-del.html"><span class="phrase">cdev_del</span></a></span><span class="refpurpose"> — 
378     remove a cdev from the system
379 </span></dt><dt><span class="refentrytitle"><a href="API-cdev-alloc.html"><span class="phrase">cdev_alloc</span></a></span><span class="refpurpose"> — 
380     allocate a cdev structure
381 </span></dt><dt><span class="refentrytitle"><a href="API-cdev-init.html"><span class="phrase">cdev_init</span></a></span><span class="refpurpose"> — 
382     initialize a cdev structure
383 </span></dt></dl></dd><dt><span class="chapter"><a href="miscdev.html">16. Miscellaneous Devices</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-misc-register.html"><span class="phrase">misc_register</span></a></span><span class="refpurpose"> — 
384  register a miscellaneous device
385 </span></dt><dt><span class="refentrytitle"><a href="API-misc-deregister.html"><span class="phrase">misc_deregister</span></a></span><span class="refpurpose"> — 
386     unregister a miscellaneous device
387 </span></dt></dl></dd><dt><span class="chapter"><a href="clk.html">17. Clock Framework</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-struct-clk-notifier.html"><span class="phrase">struct clk_notifier</span></a></span><span class="refpurpose"> — 
388  associate a clk with a notifier
389 </span></dt><dt><span class="refentrytitle"><a href="API-struct-clk-notifier-data.html"><span class="phrase">struct clk_notifier_data</span></a></span><span class="refpurpose"> — 
390     rate data to pass to the notifier callback
391 </span></dt><dt><span class="refentrytitle"><a href="API-clk-notifier-register.html"><span class="phrase">clk_notifier_register</span></a></span><span class="refpurpose"> — 
392     change notifier callback
393 </span></dt><dt><span class="refentrytitle"><a href="API-clk-notifier-unregister.html"><span class="phrase">clk_notifier_unregister</span></a></span><span class="refpurpose"> — 
394     change notifier callback
395 </span></dt><dt><span class="refentrytitle"><a href="API-clk-get-accuracy.html"><span class="phrase">clk_get_accuracy</span></a></span><span class="refpurpose"> — 
396     obtain the clock accuracy in ppb (parts per billion) for a clock source.
397 </span></dt><dt><span class="refentrytitle"><a href="API-clk-set-phase.html"><span class="phrase">clk_set_phase</span></a></span><span class="refpurpose"> — 
398     adjust the phase shift of a clock signal
399 </span></dt><dt><span class="refentrytitle"><a href="API-clk-get-phase.html"><span class="phrase">clk_get_phase</span></a></span><span class="refpurpose"> — 
400     return the phase shift of a clock signal
401 </span></dt><dt><span class="refentrytitle"><a href="API-clk-is-match.html"><span class="phrase">clk_is_match</span></a></span><span class="refpurpose"> — 
402     check if two clk's point to the same hardware clock
403 </span></dt><dt><span class="refentrytitle"><a href="API-clk-prepare.html"><span class="phrase">clk_prepare</span></a></span><span class="refpurpose"> — 
404     prepare a clock source
405 </span></dt><dt><span class="refentrytitle"><a href="API-clk-unprepare.html"><span class="phrase">clk_unprepare</span></a></span><span class="refpurpose"> — 
406     undo preparation of a clock source
407 </span></dt><dt><span class="refentrytitle"><a href="API-clk-get.html"><span class="phrase">clk_get</span></a></span><span class="refpurpose"> — 
408     lookup and obtain a reference to a clock producer.
409 </span></dt><dt><span class="refentrytitle"><a href="API-devm-clk-get.html"><span class="phrase">devm_clk_get</span></a></span><span class="refpurpose"> — 
410     lookup and obtain a managed reference to a clock producer.
411 </span></dt><dt><span class="refentrytitle"><a href="API-clk-enable.html"><span class="phrase">clk_enable</span></a></span><span class="refpurpose"> — 
412     inform the system when the clock source should be running.
413 </span></dt><dt><span class="refentrytitle"><a href="API-clk-disable.html"><span class="phrase">clk_disable</span></a></span><span class="refpurpose"> — 
414     inform the system when the clock source is no longer required.
415 </span></dt><dt><span class="refentrytitle"><a href="API-clk-get-rate.html"><span class="phrase">clk_get_rate</span></a></span><span class="refpurpose"> — 
416     obtain the current clock rate (in Hz) for a clock source. This is only valid once the clock source has been enabled.
417 </span></dt><dt><span class="refentrytitle"><a href="API-clk-put.html"><span class="phrase">clk_put</span></a></span><span class="refpurpose"> — 
418     "free" the clock source
419 </span></dt><dt><span class="refentrytitle"><a href="API-devm-clk-put.html"><span class="phrase">devm_clk_put</span></a></span><span class="refpurpose"> — 
420     "free" a managed clock source
421 </span></dt><dt><span class="refentrytitle"><a href="API-clk-round-rate.html"><span class="phrase">clk_round_rate</span></a></span><span class="refpurpose"> — 
422     adjust a rate to the exact rate a clock can provide
423 </span></dt><dt><span class="refentrytitle"><a href="API-clk-set-rate.html"><span class="phrase">clk_set_rate</span></a></span><span class="refpurpose"> — 
424     set the clock rate for a clock source
425 </span></dt><dt><span class="refentrytitle"><a href="API-clk-has-parent.html"><span class="phrase">clk_has_parent</span></a></span><span class="refpurpose"> — 
426     check if a clock is a possible parent for another
427 </span></dt><dt><span class="refentrytitle"><a href="API-clk-set-rate-range.html"><span class="phrase">clk_set_rate_range</span></a></span><span class="refpurpose"> — 
428     set a rate range for a clock source
429 </span></dt><dt><span class="refentrytitle"><a href="API-clk-set-min-rate.html"><span class="phrase">clk_set_min_rate</span></a></span><span class="refpurpose"> — 
430     set a minimum clock rate for a clock source
431 </span></dt><dt><span class="refentrytitle"><a href="API-clk-set-max-rate.html"><span class="phrase">clk_set_max_rate</span></a></span><span class="refpurpose"> — 
432     set a maximum clock rate for a clock source
433 </span></dt><dt><span class="refentrytitle"><a href="API-clk-set-parent.html"><span class="phrase">clk_set_parent</span></a></span><span class="refpurpose"> — 
434     set the parent clock source for this clock
435 </span></dt><dt><span class="refentrytitle"><a href="API-clk-get-parent.html"><span class="phrase">clk_get_parent</span></a></span><span class="refpurpose"> — 
436     get the parent clock source for this clock
437 </span></dt><dt><span class="refentrytitle"><a href="API-clk-get-sys.html"><span class="phrase">clk_get_sys</span></a></span><span class="refpurpose"> — 
438     get a clock based upon the device name
439 </span></dt></dl></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="adt.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter 1. Data Types</td></tr></table></div></body></html>
440