1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>builtin_driver</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="Linux Device Drivers"><link rel="up" href="devdrivers.html#id-1.4.2" title="The Basic Device Driver-Model Structures"><link rel="prev" href="API-module-driver.html" title="module_driver"><link rel="next" href="ch02s02.html" title="Device Drivers Base"></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">builtin_driver</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-module-driver.html">Prev</a> </td><th width="60%" align="center">The Basic Device Driver-Model Structures </th><td width="20%" align="right"> <a accesskey="n" href="ch02s02.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-builtin-driver"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>builtin_driver — 2 Helper macro for drivers that don't do anything special in init and have no exit. This eliminates some boilerplate. Each driver may only use this macro once, and calling it replaces device_initcall (or in some cases, the legacy __initcall). This is meant to be a direct parallel of <code class="function"><a class="link" href="API-module-driver.html" title="module_driver">module_driver</a></code> above but without the __exit stuff that is not used for builtin cases. 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"> <b class="fsfunc">builtin_driver </b>(</code></td><td> <var class="pdparam">__driver</var>, </td></tr><tr><td> </td><td> <var class="pdparam">__register</var>, </td></tr><tr><td> </td><td> <var class="pdparam">...</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="id-1.4.2.9.5"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>__driver</code></em></span></dt><dd><p> 4 driver name 5 </p></dd><dt><span class="term"><em class="parameter"><code>__register</code></em></span></dt><dd><p> 6 register function for this driver type 7 @...: Additional arguments to be passed to __register 8 </p></dd><dt><span class="term"><em class="parameter"><code>...</code></em></span></dt><dd><p> 9 variable arguments 10 </p></dd></dl></div></div><div class="refsect1"><a name="id-1.4.2.9.6"></a><h2>Description</h2><p> 11 Use this macro to construct bus specific macros for registering 12 drivers, and do not use it on its own. 13</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-module-driver.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="devdrivers.html#id-1.4.2">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">module_driver</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Device Drivers Base</td></tr></table></div></body></html> 14