1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>enum probe_type</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-struct-bus-type.html" title="struct bus_type"><link rel="next" href="API-struct-device-driver.html" title="struct device_driver"></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">enum probe_type</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-struct-bus-type.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="API-struct-device-driver.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-enum-probe-type"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>enum probe_type — 2 device driver probe type to try Device drivers may opt in for special handling of their respective probe routines. This tells the core what to expect and prefer. 3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="programlisting"> 4enum probe_type { 5 PROBE_DEFAULT_STRATEGY, 6 PROBE_PREFER_ASYNCHRONOUS, 7 PROBE_FORCE_SYNCHRONOUS 8}; </pre></div><div class="refsect1"><a name="id-1.4.2.3.5"></a><h2>Constants</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term">PROBE_DEFAULT_STRATEGY</span></dt><dd><p> 9 Used by drivers that work equally well 10 whether probed synchronously or asynchronously. 11 </p></dd><dt><span class="term">PROBE_PREFER_ASYNCHRONOUS</span></dt><dd><p> 12 Drivers for <span class="quote">“<span class="quote">slow</span>”</span> devices which 13 probing order is not essential for booting the system may 14 opt into executing their probes asynchronously. 15 </p></dd><dt><span class="term">PROBE_FORCE_SYNCHRONOUS</span></dt><dd><p> 16 Use this to annotate drivers that need 17 their probe routines to run synchronously with driver and 18 device registration (with the exception of -EPROBE_DEFER 19 handling - re-probing always ends up being done asynchronously). 20 </p></dd></dl></div></div><div class="refsect1"><a name="id-1.4.2.3.6"></a><h2>Description</h2><p> 21 Note that the end goal is to switch the kernel to use asynchronous 22 probing by default, so annotating drivers with 23 <code class="constant">PROBE_PREFER_ASYNCHRONOUS</code> is a temporary measure that allows us 24 to speed up boot process while we are validating the rest of the 25 drivers. 26</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-struct-bus-type.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="API-struct-device-driver.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">struct bus_type</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">struct device_driver</span></td></tr></table></div></body></html> 27