<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="generator" content="pandoc">
  <title>/usr/bin/debbindiff --debug --html debbindiff-manual.html b1/linux-manual-3.16_3.16.7-2.0~reproducible1_all.deb b2/linux-manual-3.16_3.16.7-2.0~reproducible1_all.deb</title>
  <style>
    body {
      background: white;
      color: black;
    }
    .footer {
      font-size: small;
    }
    .difference {
      border: outset #888 1px;
      background-color:rgba(0,0,0,.1);
      padding: 0.5em;
      margin: 0.5em 0;
    }
    .difference table {
      table-layout: fixed;
      width: 100%;
    }
    .difference th,
    .difference td {
      width: 50%;
    }
    .difference td div {
      overflow: auto;
    }
    .comment {
      font-style: italic;
    }
    .source {
      font-weight: bold;
    }
    .error {
      border: solid black 1px;
      background: red;
      color: white;
      padding: 0.2em;
    }
    .lnr {
      background-color: #ccc;
      color: #666;
    }
    .DiffChange {
      background-color: #ff8888;
      font-weight: bold;
    }
    .DiffText {
      color: white;
      background-color: #ff4444;
      font-weight: bold;
    }
  </style>
  
</head>
<body>

<div class='difference'>
<div><span class='source'>linux-manual-3.16_3.16.7-2.0~reproducible1_all.deb</div>
<div class='difference'>
<div><span class='source'>control.tar.gz</div>
<div class='difference'>
<div><span class='source'>control.tar</div>
<div class='difference'>
<div><span class='source'>md5sums</div>
<div class='comment'>Files in package differs</div>
</div>
</div>
</div>
<div class='difference'>
<div><span class='source'>data.tar.xz</div>
<div class='difference'>
<div><span class='source'>data.tar</div>
<div class='difference'>
<div><span class='source'>kthread_create_on_node.9.gz</div>
<div class='difference'>
<div><span class='source'>kthread_create_on_node.9</div>
<table border='1' width='100%' id='vimCodeElement'>
<tr>

</tr><tr>
<td valign="top"><div>
<pre>
<span id="W1L1" class="Folded"> 1 </span><span class="Folded">+-- 63 lines: '\" t-------------------------------------------------------------</span>
<span id="W1L64" class="LineNr">64 </span>This helper function creates and names a kernel thread\&. The thread will be stopped: use
<span id="W1L65" class="LineNr">65 </span>\fBwake_up_process\fR
<span id="W1L66" class="LineNr">66 </span>to start it\&. See also
<span id="W1L67" class="LineNr">67 </span>\fBkthread_run\fR\&.
<span id="W1L68" class="LineNr">68 </span>.PP
<span id="W1L69" class="LineNr">69 </span>If thread is going to be bound on a particular cpu, give its node in
<span id="W1L70" class="LineNr">70 </span><span class="DiffChange">\fInode\fR, to get NUMA affinity for kthread stack, or else give \-1\&. When woken, the thread will run</span>
<span id="W1L71" class="LineNr">71 </span><span class="DiffText">\fIthreadfn\fR() </span><span class="DiffChange">with                                                        </span>
<span id="W1L72" class="LineNr">72 </span>\fIdata\fR
<span id="W1L73" class="LineNr">73 </span><span class="DiffChange">as its argument\&.</span><span class="DiffChange">                                                           </span>
<span id="W1L74" class="LineNr">74 </span><span class="DiffText">\fIthreadfn\fR() </span><span class="DiffChange">can either call                                             </span>
<span id="W1L75" class="LineNr">75 </span>\fBdo_exit\fR
<span id="W1L76" class="LineNr">76 </span>directly if it is a standalone thread for which no one will call
<span id="W1L77" class="LineNr">77 </span>\fBkthread_stop\fR, or return when \*(Aq\fBkthread_should_stop\fR\*(Aq is true (which means
<span id="W1L78" class="LineNr">78 </span>\fBkthread_stop\fR
<span id="W1L79" class="LineNr">79 </span>has been called)\&. The return value should be zero or a negative error number; it will be passed to
<span id="W1L80" class="LineNr">80 </span>\fBkthread_stop\fR\&.
<span id="W1L81" class="Folded">81 </span><span class="Folded">+--  4 lines: .PP---------------------------------------------------------------</span>
</pre>
</div></td>
<td valign="top"><div>
<pre>
<span id="W2L1" class="Folded"> 1 </span><span class="Folded">+-- 63 lines: '\" t-------------------------------------------------------------</span>
<span id="W2L64" class="LineNr">64 </span>This helper function creates and names a kernel thread\&. The thread will be stopped: use
<span id="W2L65" class="LineNr">65 </span>\fBwake_up_process\fR
<span id="W2L66" class="LineNr">66 </span>to start it\&. See also
<span id="W2L67" class="LineNr">67 </span>\fBkthread_run\fR\&.
<span id="W2L68" class="LineNr">68 </span>.PP
<span id="W2L69" class="LineNr">69 </span>If thread is going to be bound on a particular cpu, give its node in
<span id="W2L70" class="LineNr">70 </span><span class="DiffChange">\fInode\fR, to get NUMA affinity for kthread stack, or else give \-1\&. When woken, the thread will run</span><span class="DiffText"> @\fBthreadfn\fR</span>
<span id="W2L71" class="LineNr">71 </span><span class="DiffChange">with</span><span class="DiffChange">                                                                         </span>
<span id="W2L72" class="LineNr">72 </span>\fIdata\fR
<span id="W2L73" class="LineNr">73 </span><span class="DiffChange">as its argument\&.</span><span class="DiffText"> @\fBthreadfn\fR</span><span class="DiffChange">                                           </span>
<span id="W2L74" class="LineNr">74 </span><span class="DiffChange">can either call</span><span class="DiffChange">                                                              </span>
<span id="W2L75" class="LineNr">75 </span>\fBdo_exit\fR
<span id="W2L76" class="LineNr">76 </span>directly if it is a standalone thread for which no one will call
<span id="W2L77" class="LineNr">77 </span>\fBkthread_stop\fR, or return when \*(Aq\fBkthread_should_stop\fR\*(Aq is true (which means
<span id="W2L78" class="LineNr">78 </span>\fBkthread_stop\fR
<span id="W2L79" class="LineNr">79 </span>has been called)\&. The return value should be zero or a negative error number; it will be passed to
<span id="W2L80" class="LineNr">80 </span>\fBkthread_stop\fR\&.
<span id="W2L81" class="Folded">81 </span><span class="Folded">+--  4 lines: .PP---------------------------------------------------------------</span>
</pre>
</div></td>
</tr>
</table>
</div>
</div>
<div class='difference'>
<div><span class='source'>schedule_hrtimeout_range.9.gz</div>
<div class='difference'>
<div><span class='source'>schedule_hrtimeout_range.9</div>
<table border='1' width='100%' id='vimCodeElement'>
<tr>

</tr><tr>
<td valign="top"><div>
<pre>
<span id="W1L1" class="Folded"> 1 </span><span class="Folded">+-- 51 lines: '\" t-------------------------------------------------------------</span>
<span id="W1L52" class="LineNr">52 </span>.PP
<span id="W1L53" class="LineNr">53 </span>Make the current task sleep until the given expiry time has elapsed\&. The routine will return immediately unless the current task state has been set (see
<span id="W1L54" class="LineNr">54 </span>\fBset_current_state\fR)\&.
<span id="W1L55" class="LineNr">55 </span>.PP
<span id="W1L56" class="LineNr">56 </span>The
<span id="W1L57" class="LineNr">57 </span>\fIdelta\fR
<span id="W1L58" class="LineNr">58 </span><span class="DiffChange">argument gives the kernel the freedom to schedule the actual wakeup to a time that is both power and performance friendly\&. The kernel give the normal best effort behavior for</span><span class="DiffText"> "\fIexpires\fR+\fIdelta\fR", but may decide to fire the timer earlier, but no earlier than</span>
<span class="LineNr">   </span><span class="DiffDelete">-----------------------------------------------------------------------------</span>
<span id="W1L59" class="LineNr">59 </span>\fIexpires\fR\&.
<span id="W1L60" class="LineNr">60 </span>.PP
<span id="W1L61" class="LineNr">61 </span>You can set the task state as follows \-
<span id="W1L62" class="LineNr">62 </span>.PP
<span id="W1L63" class="LineNr">63 </span>\fBTASK_UNINTERRUPTIBLE\fR
<span id="W1L64" class="LineNr">64 </span>\- at least
<span id="W1L65" class="Folded">65 </span><span class="Folded">+-- 11 lines: \fItimeout\fR-----------------------------------------------------</span>
</pre>
</div></td>
<td valign="top"><div>
<pre>
<span id="W2L1" class="Folded"> 1 </span><span class="Folded">+-- 51 lines: '\" t-------------------------------------------------------------</span>
<span id="W2L52" class="LineNr">52 </span>.PP
<span id="W2L53" class="LineNr">53 </span>Make the current task sleep until the given expiry time has elapsed\&. The routine will return immediately unless the current task state has been set (see
<span id="W2L54" class="LineNr">54 </span>\fBset_current_state\fR)\&.
<span id="W2L55" class="LineNr">55 </span>.PP
<span id="W2L56" class="LineNr">56 </span>The
<span id="W2L57" class="LineNr">57 </span>\fIdelta\fR
<span id="W2L58" class="LineNr">58 </span><span class="DiffChange">argument gives the kernel the freedom to schedule the actual wakeup to a time that is both power and performance friendly\&. The kernel give the normal best effort behavior for</span>
<span id="W2L59" class="LineNr">59 </span><span class="DiffAdd">\(lq\fIexpires\fR+\fIdelta\fR\(rq, but may decide to fire the timer earlier, but no earlier than</span>
<span id="W2L60" class="LineNr">60 </span>\fIexpires\fR\&.
<span id="W2L61" class="LineNr">61 </span>.PP
<span id="W2L62" class="LineNr">62 </span>You can set the task state as follows \-
<span id="W2L63" class="LineNr">63 </span>.PP
<span id="W2L64" class="LineNr">64 </span>\fBTASK_UNINTERRUPTIBLE\fR
<span id="W2L65" class="LineNr">65 </span>\- at least
<span id="W2L66" class="Folded">66 </span><span class="Folded">+-- 11 lines: \fItimeout\fR-----------------------------------------------------</span>
</pre>
</div></td>
</tr>
</table>
</div>
</div>
<div class='difference'>
<div><span class='source'>struct_bus_type.9.gz</div>
<div class='difference'>
<div><span class='source'>struct_bus_type.9</div>
<table border='1' width='100%' id='vimCodeElement'>
<tr>

</tr><tr>
<td valign="top"><div>
<pre>
<span id="W1L1" class="Folded">  1 </span><span class="Folded">+-- 60 lines: '\" t-------------------------------------------------------------</span>
<span id="W1L61" class="LineNr"> 61 </span>.RS 4
<span id="W1L62" class="LineNr"> 62 </span>The name of the bus\&.
<span id="W1L63" class="LineNr"> 63 </span>.RE
<span id="W1L64" class="LineNr"> 64 </span>.PP
<span id="W1L65" class="LineNr"> 65 </span>dev_name
<span id="W1L66" class="LineNr"> 66 </span>.RS 4
<span id="W1L67" class="LineNr"> 67 </span><span class="DiffChange">Used for subsystems to enumerate devices like (</span><span class="DiffText">\(lqfoo\fBu\fR\(rq</span><span class="DiffChange">, dev\->id)\&.</span>
<span id="W1L68" class="LineNr"> 68 </span>.RE
<span id="W1L69" class="LineNr"> 69 </span>.PP
<span id="W1L70" class="LineNr"> 70 </span>dev_root
<span id="W1L71" class="LineNr"> 71 </span>.RS 4
<span id="W1L72" class="LineNr"> 72 </span>Default device to use as the parent\&.
<span id="W1L73" class="LineNr"> 73 </span>.RE
<span id="W1L74" class="Folded"> 74 </span><span class="Folded">+-- 92 lines: .PP---------------------------------------------------------------</span>
</pre>
</div></td>
<td valign="top"><div>
<pre>
<span id="W2L1" class="Folded">  1 </span><span class="Folded">+-- 60 lines: '\" t-------------------------------------------------------------</span>
<span id="W2L61" class="LineNr"> 61 </span>.RS 4
<span id="W2L62" class="LineNr"> 62 </span>The name of the bus\&.
<span id="W2L63" class="LineNr"> 63 </span>.RE
<span id="W2L64" class="LineNr"> 64 </span>.PP
<span id="W2L65" class="LineNr"> 65 </span>dev_name
<span id="W2L66" class="LineNr"> 66 </span>.RS 4
<span id="W2L67" class="LineNr"> 67 </span><span class="DiffChange">Used for subsystems to enumerate devices like (</span><span class="DiffText">"foo\fBu\fR"</span><span class="DiffChange">, dev\->id)\&.   </span>
<span id="W2L68" class="LineNr"> 68 </span>.RE
<span id="W2L69" class="LineNr"> 69 </span>.PP
<span id="W2L70" class="LineNr"> 70 </span>dev_root
<span id="W2L71" class="LineNr"> 71 </span>.RS 4
<span id="W2L72" class="LineNr"> 72 </span>Default device to use as the parent\&.
<span id="W2L73" class="LineNr"> 73 </span>.RE
<span id="W2L74" class="Folded"> 74 </span><span class="Folded">+-- 92 lines: .PP---------------------------------------------------------------</span>
</pre>
</div></td>
</tr>
</table>
</div>
</div>
<div class='difference'>
<div><span class='source'>struct_usb_composite_driver.9.gz</div>
<div class='difference'>
<div><span class='source'>struct_usb_composite_driver.9</div>
<table border='1' width='100%' id='vimCodeElement'>
<tr>

</tr><tr>
<td valign="top"><div>
<pre>
<span id="W1L1" class="Folded">  1 </span><span class="Folded">+-- 73 lines: '\" t-------------------------------------------------------------</span>
<span id="W1L74" class="LineNr"> 74 </span>.RS 4
<span id="W1L75" class="LineNr"> 75 </span>set to 1 if the gadget needs userspace to provide a serial number\&. If one is not provided, warning will be printed\&.
<span id="W1L76" class="LineNr"> 76 </span>.RE
<span id="W1L77" class="LineNr"> 77 </span>.PP
<span id="W1L78" class="LineNr"> 78 </span>bind
<span id="W1L79" class="LineNr"> 79 </span>.RS 4
<span id="W1L80" class="LineNr"> 80 </span><span class="DiffChange">(REQUIRED) Used to allocate resources that are shared across the whole device, such as string IDs, and add its configurations using</span><span class="DiffText"> @\fBusb_add_config\fR\&. This may fail by returning a negative errno value; it should return zero on successful initialization\&.</span>
<span class="LineNr">    </span><span class="DiffDelete">----------------------------------------------------------------------------</span>
<span id="W1L81" class="LineNr"> 81 </span>.RE
<span id="W1L82" class="LineNr"> 82 </span>.PP
<span id="W1L83" class="LineNr"> 83 </span>unbind
<span id="W1L84" class="LineNr"> 84 </span>.RS 4
<span id="W1L85" class="LineNr"> 85 </span>Reverses
<span id="W1L86" class="LineNr"> 86 </span>\fIbind\fR; called as a side effect of unregistering this driver\&.
<span id="W1L87" class="Folded"> 87 </span><span class="Folded">+-- 40 lines: .RE---------------------------------------------------------------</span>
</pre>
</div></td>
<td valign="top"><div>
<pre>
<span id="W2L1" class="Folded">  1 </span><span class="Folded">+-- 73 lines: '\" t-------------------------------------------------------------</span>
<span id="W2L74" class="LineNr"> 74 </span>.RS 4
<span id="W2L75" class="LineNr"> 75 </span>set to 1 if the gadget needs userspace to provide a serial number\&. If one is not provided, warning will be printed\&.
<span id="W2L76" class="LineNr"> 76 </span>.RE
<span id="W2L77" class="LineNr"> 77 </span>.PP
<span id="W2L78" class="LineNr"> 78 </span>bind
<span id="W2L79" class="LineNr"> 79 </span>.RS 4
<span id="W2L80" class="LineNr"> 80 </span><span class="DiffChange">(REQUIRED) Used to allocate resources that are shared across the whole device, such as string IDs, and add its configurations using</span>
<span id="W2L81" class="LineNr"> 81 </span><span class="DiffAdd">\fIusb_add_config\fR()\&. This may fail by returning a negative errno value; it should return zero on successful initialization\&.</span>
<span id="W2L82" class="LineNr"> 82 </span>.RE
<span id="W2L83" class="LineNr"> 83 </span>.PP
<span id="W2L84" class="LineNr"> 84 </span>unbind
<span id="W2L85" class="LineNr"> 85 </span>.RS 4
<span id="W2L86" class="LineNr"> 86 </span>Reverses
<span id="W2L87" class="LineNr"> 87 </span>\fIbind\fR; called as a side effect of unregistering this driver\&.
<span id="W2L88" class="Folded"> 88 </span><span class="Folded">+-- 40 lines: .RE---------------------------------------------------------------</span>
</pre>
</div></td>
</tr>
</table>
</div>
</div>
<div class='difference'>
<div><span class='source'>struct_usb_configuration.9.gz</div>
<div class='difference'>
<div><span class='source'>struct_usb_configuration.9</div>
<table border='1' width='100%' id='vimCodeElement'>
<tr>

</tr><tr>
<td valign="top"><div>
<pre>
<span id="W1L1" class="Folded">  1 </span><span class="Folded">+-- 50 lines: '\" t-------------------------------------------------------------</span>
<span id="W1L51" class="LineNr"> 51 </span>.RS 4
<span id="W1L52" class="LineNr"> 52 </span>For diagnostics, describes the configuration\&.
<span id="W1L53" class="LineNr"> 53 </span>.RE
<span id="W1L54" class="LineNr"> 54 </span>.PP
<span id="W1L55" class="LineNr"> 55 </span>strings
<span id="W1L56" class="LineNr"> 56 </span>.RS 4
<span id="W1L57" class="LineNr"> 57 </span><span class="DiffChange">Tables of strings, keyed by identifiers assigned during</span><span class="DiffText"> @\fBbind\fR</span><span class="DiffChange">         </span>
<span id="W1L58" class="LineNr"> 58 </span><span class="DiffChange">and by language IDs provided in control requests\&.</span><span class="DiffChange">                         </span>
<span id="W1L59" class="LineNr"> 59 </span>.RE
<span id="W1L60" class="LineNr"> 60 </span>.PP
<span id="W1L61" class="LineNr"> 61 </span>descriptors
<span id="W1L62" class="LineNr"> 62 </span>.RS 4
<span id="W1L63" class="LineNr"> 63 </span>Table of descriptors preceding all function descriptors\&. Examples include OTG and vendor\-specific descriptors\&.
<span id="W1L64" class="LineNr"> 64 </span>.RE
<span id="W1L65" class="Folded"> 65 </span><span class="Folded">+-- 28 lines: .PP---------------------------------------------------------------</span>
<span id="W1L93" class="LineNr"> 93 </span>.RS 4
<span id="W1L94" class="LineNr"> 94 </span>Power consumtion in mA\&. Used to compute bMaxPower in the configuration descriptor after considering the bus speed\&.
<span id="W1L95" class="LineNr"> 95 </span>.RE
<span id="W1L96" class="LineNr"> 96 </span>.PP
<span id="W1L97" class="LineNr"> 97 </span>cdev
<span id="W1L98" class="LineNr"> 98 </span>.RS 4
<span id="W1L99" class="LineNr"> 99 </span><span class="DiffChange">assigned by</span><span class="DiffText"> @\fBusb_add_config\fR</span><span class="DiffChange">                                           </span>
<span id="W1L100" class="LineNr">100 </span><span class="DiffText">before calling @\fBbind\fR; this is the device associated with this configuration\&.</span>
<span class="LineNr">    </span><span class="DiffDelete">----------------------------------------------------------------------------</span>
<span id="W1L101" class="LineNr">101 </span>.RE
<span id="W1L102" class="LineNr">102 </span>.SH "DESCRIPTION"
<span id="W1L103" class="LineNr">103 </span>.PP
<span id="W1L104" class="LineNr">104 </span>Configurations are building blocks for gadget drivers structured around function drivers\&. Simple USB gadgets require only one function and one configuration, and handle dual\-speed hardware by always providing the same functionality\&. Slightly more complex gadgets may have more than one single\-function configuration at a given speed; or have configurations that only work at one speed\&.
<span id="W1L105" class="LineNr">105 </span>.PP
<span id="W1L106" class="LineNr">106 </span>Composite devices are, by definition, ones with configurations which include more than one function\&.
<span id="W1L107" class="LineNr">107 </span>.PP
<span id="W1L108" class="LineNr">108 </span><span class="DiffChange">The lifecycle of a usb_configuration includes allocation, initialization of the fields described above, and calling</span><span class="DiffText"> @\fBusb_add_config\fR</span>
<span id="W1L109" class="LineNr">109 </span><span class="DiffText">to set up internal data and bind it to a specific device\&. The configuration\*(Aqs @\fBbind\fR</span>
<span id="W1L110" class="LineNr">110 </span><span class="DiffText">method is then used to initialize all the functions and then call @\fBusb_add_function\fR</span>
<span id="W1L111" class="LineNr">111 </span><span class="DiffChange">for them\&.</span><span class="DiffChange">                                                                 </span>
<span id="W1L112" class="LineNr">112 </span>.PP
<span id="W1L113" class="LineNr">113 </span>Those functions would normally be independent of each other, but that\*(Aqs not mandatory\&. CDC WMC devices are an example where functions often depend on other functions, with some functions subsidiary to others\&. Such interdependency may be managed in any way, so long as all of the descriptors complete by the time the composite driver returns from its
<span id="W1L114" class="LineNr">114 </span>\fBbind\fR
<span id="W1L115" class="LineNr">115 </span>routine\&.
<span id="W1L116" class="LineNr">116 </span>.SH "AUTHOR"
<span id="W1L117" class="LineNr">117 </span>.PP
<span id="W1L118" class="Folded">118 </span><span class="Folded">+--  6 lines: \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>--------</span>
</pre>
</div></td>
<td valign="top"><div>
<pre>
<span id="W2L1" class="Folded">  1 </span><span class="Folded">+-- 50 lines: '\" t-------------------------------------------------------------</span>
<span id="W2L51" class="LineNr"> 51 </span>.RS 4
<span id="W2L52" class="LineNr"> 52 </span>For diagnostics, describes the configuration\&.
<span id="W2L53" class="LineNr"> 53 </span>.RE
<span id="W2L54" class="LineNr"> 54 </span>.PP
<span id="W2L55" class="LineNr"> 55 </span>strings
<span id="W2L56" class="LineNr"> 56 </span>.RS 4
<span id="W2L57" class="LineNr"> 57 </span><span class="DiffChange">Tables of strings, keyed by identifiers assigned during</span><span class="DiffChange">                     </span>
<span id="W2L58" class="LineNr"> 58 </span><span class="DiffText">\fIbind\fR() </span><span class="DiffChange">and by language IDs provided in control requests\&.            </span>
<span id="W2L59" class="LineNr"> 59 </span>.RE
<span id="W2L60" class="LineNr"> 60 </span>.PP
<span id="W2L61" class="LineNr"> 61 </span>descriptors
<span id="W2L62" class="LineNr"> 62 </span>.RS 4
<span id="W2L63" class="LineNr"> 63 </span>Table of descriptors preceding all function descriptors\&. Examples include OTG and vendor\-specific descriptors\&.
<span id="W2L64" class="LineNr"> 64 </span>.RE
<span id="W2L65" class="Folded"> 65 </span><span class="Folded">+-- 28 lines: .PP---------------------------------------------------------------</span>
<span id="W2L93" class="LineNr"> 93 </span>.RS 4
<span id="W2L94" class="LineNr"> 94 </span>Power consumtion in mA\&. Used to compute bMaxPower in the configuration descriptor after considering the bus speed\&.
<span id="W2L95" class="LineNr"> 95 </span>.RE
<span id="W2L96" class="LineNr"> 96 </span>.PP
<span id="W2L97" class="LineNr"> 97 </span>cdev
<span id="W2L98" class="LineNr"> 98 </span>.RS 4
<span id="W2L99" class="LineNr"> 99 </span><span class="DiffChange">assigned by</span><span class="DiffChange">                                                                 </span>
<span id="W2L100" class="LineNr">100 </span><span class="DiffText">\fIusb_add_config\fR() before calling</span><span class="DiffChange">                                       </span>
<span id="W2L101" class="LineNr">101 </span><span class="DiffAdd">\fIbind\fR(); this is the device associated with this configuration\&.</span><span class="DiffAdd">      </span>
<span id="W2L102" class="LineNr">102 </span>.RE
<span id="W2L103" class="LineNr">103 </span>.SH "DESCRIPTION"
<span id="W2L104" class="LineNr">104 </span>.PP
<span id="W2L105" class="LineNr">105 </span>Configurations are building blocks for gadget drivers structured around function drivers\&. Simple USB gadgets require only one function and one configuration, and handle dual\-speed hardware by always providing the same functionality\&. Slightly more complex gadgets may have more than one single\-function configuration at a given speed; or have configurations that only work at one speed\&.
<span id="W2L106" class="LineNr">106 </span>.PP
<span id="W2L107" class="LineNr">107 </span>Composite devices are, by definition, ones with configurations which include more than one function\&.
<span id="W2L108" class="LineNr">108 </span>.PP
<span id="W2L109" class="LineNr">109 </span><span class="DiffChange">The lifecycle of a usb_configuration includes allocation, initialization of the fields described above, and calling</span>
<span id="W2L110" class="LineNr">110 </span><span class="DiffText">\fIusb_add_config\fR() to set up internal data and bind it to a specific device\&. The configuration\*(Aqs</span>
<span id="W2L111" class="LineNr">111 </span><span class="DiffText">\fIbind\fR() method is then used to initialize all the functions and then call</span>
<span id="W2L112" class="LineNr">112 </span><span class="DiffText">\fIusb_add_function\fR() </span><span class="DiffChange">for them\&.                                        </span>
<span id="W2L113" class="LineNr">113 </span>.PP
<span id="W2L114" class="LineNr">114 </span>Those functions would normally be independent of each other, but that\*(Aqs not mandatory\&. CDC WMC devices are an example where functions often depend on other functions, with some functions subsidiary to others\&. Such interdependency may be managed in any way, so long as all of the descriptors complete by the time the composite driver returns from its
<span id="W2L115" class="LineNr">115 </span>\fBbind\fR
<span id="W2L116" class="LineNr">116 </span>routine\&.
<span id="W2L117" class="LineNr">117 </span>.SH "AUTHOR"
<span id="W2L118" class="LineNr">118 </span>.PP
<span id="W2L119" class="Folded">119 </span><span class="Folded">+--  6 lines: \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>--------</span>
</pre>
</div></td>
</tr>
</table>
</div>
</div>
<div class='difference'>
<div><span class='source'>struct_usb_function.9.gz</div>
<div class='difference'>
<div><span class='source'>struct_usb_function.9</div>
<table border='1' width='100%' id='vimCodeElement'>
<tr>

</tr><tr>
<td valign="top"><div>
<pre>
<span id="W1L1" class="Folded">  1 </span><span class="Folded">+-- 67 lines: '\" t-------------------------------------------------------------</span>
<span id="W1L68" class="LineNr"> 68 </span>\fBbind\fR
<span id="W1L69" class="LineNr"> 69 </span>and by language IDs provided in control requests
<span id="W1L70" class="LineNr"> 70 </span>.RE
<span id="W1L71" class="LineNr"> 71 </span>.PP
<span id="W1L72" class="LineNr"> 72 </span>fs_descriptors
<span id="W1L73" class="LineNr"> 73 </span>.RS 4
<span id="W1L74" class="LineNr"> 74 </span><span class="DiffChange">Table of full (or low) speed descriptors, using interface and string identifiers assigned during</span><span class="DiffText"> @\fBbind\fR\&. If this pointer is null, the function will not be available at full speed (or at low speed)\&.</span>
<span class="LineNr">    </span><span class="DiffDelete">----------------------------------------------------------------------------</span>
<span id="W1L75" class="LineNr"> 75 </span>.RE
<span id="W1L76" class="LineNr"> 76 </span>.PP
<span id="W1L77" class="LineNr"> 77 </span>hs_descriptors
<span id="W1L78" class="LineNr"> 78 </span>.RS 4
<span id="W1L79" class="LineNr"> 79 </span><span class="DiffChange">Table of high speed descriptors, using interface and string identifiers assigned during</span><span class="DiffText"> @\fBbind\fR\&. If this pointer is null, the function will not be available at high speed\&.</span>
<span class="LineNr">    </span><span class="DiffDelete">----------------------------------------------------------------------------</span>
<span id="W1L80" class="LineNr"> 80 </span>.RE
<span id="W1L81" class="LineNr"> 81 </span>.PP
<span id="W1L82" class="LineNr"> 82 </span>ss_descriptors
<span id="W1L83" class="LineNr"> 83 </span>.RS 4
<span id="W1L84" class="LineNr"> 84 </span><span class="DiffChange">Table of super speed descriptors, using interface and string identifiers assigned during</span><span class="DiffText"> @\fBbind\fR\&. If this pointer is null after initiation, the function will not be available at super speed\&.</span>
<span class="LineNr">    </span><span class="DiffDelete">----------------------------------------------------------------------------</span>
<span id="W1L85" class="LineNr"> 85 </span>.RE
<span id="W1L86" class="LineNr"> 86 </span>.PP
<span id="W1L87" class="LineNr"> 87 </span>config
<span id="W1L88" class="LineNr"> 88 </span>.RS 4
<span id="W1L89" class="LineNr"> 89 </span><span class="DiffChange">assigned when</span><span class="DiffText"> @\fBusb_add_function\fR</span><span class="DiffChange">                                       </span>
<span id="W1L90" class="LineNr"> 90 </span><span class="DiffChange">is called; this is the configuration with which this function is associated\&.</span>
<span id="W1L91" class="LineNr"> 91 </span>.RE
<span id="W1L92" class="LineNr"> 92 </span>.PP
<span id="W1L93" class="LineNr"> 93 </span>os_desc_table
<span id="W1L94" class="LineNr"> 94 </span>.RS 4
<span id="W1L95" class="LineNr"> 95 </span>Table of (interface id, os descriptors) pairs\&. The function can expose more than one interface\&. If an interface is a member of an IAD, only the first interface of IAD has its entry in the table\&.
<span id="W1L96" class="LineNr"> 96 </span>.RE
<span id="W1L97" class="Folded"> 97 </span><span class="Folded">+-- 66 lines: .PP---------------------------------------------------------------</span>
<span id="W1L163" class="LineNr">163 </span>func_suspend
<span id="W1L164" class="LineNr">164 </span>.RS 4
<span id="W1L165" class="LineNr">165 </span>callback to be called when SetFeature(FUNCTION_SUSPEND) is reseived
<span id="W1L166" class="LineNr">166 </span>.RE
<span id="W1L167" class="LineNr">167 </span>.SH "DESCRIPTION"
<span id="W1L168" class="LineNr">168 </span>.PP
<span id="W1L169" class="LineNr">169 </span><span class="DiffChange">A single USB function uses one or more interfaces, and should in most cases support operation at both full and high speeds\&. Each function is associated by</span><span class="DiffText"> @\fBusb_add_function\fR</span>
<span id="W1L170" class="LineNr">170 </span><span class="DiffText">with a one configuration; that function causes @\fBbind\fR</span><span class="DiffChange">                  </span>
<span id="W1L171" class="LineNr">171 </span><span class="DiffText">to be called so resources can be allocated as part of setting up a gadget driver\&. Those resources include endpoints, which should be allocated using @\fBusb_ep_autoconfig\fR\&.</span>
<span class="LineNr">    </span><span class="DiffDelete">----------------------------------------------------------------------------</span>
<span id="W1L172" class="LineNr">172 </span>.PP
<span id="W1L173" class="LineNr">173 </span>To support dual speed operation, a function driver provides descriptors for both high and full speed operation\&. Except in rare cases that don\*(Aqt involve bulk endpoints, each speed needs different endpoint descriptors\&.
<span id="W1L174" class="LineNr">174 </span>.PP
<span id="W1L175" class="LineNr">175 </span>Function drivers choose their own strategies for managing instance data\&. The simplest strategy just declares it "static\*(Aq, which means the function can only be activated once\&. If the function needs to be exposed in more than one configuration at a given speed, it needs to support multiple usb_function structures (one for each configuration)\&.
<span id="W1L176" class="LineNr">176 </span>.PP
<span id="W1L177" class="LineNr">177 </span>A more complex strategy might encapsulate a
<span id="W1L178" class="Folded">178 </span><span class="Folded">+-- 10 lines: \fIusb_function\fR------------------------------------------------</span>
</pre>
</div></td>
<td valign="top"><div>
<pre>
<span id="W2L1" class="Folded">  1 </span><span class="Folded">+-- 67 lines: '\" t-------------------------------------------------------------</span>
<span id="W2L68" class="LineNr"> 68 </span>\fBbind\fR
<span id="W2L69" class="LineNr"> 69 </span>and by language IDs provided in control requests
<span id="W2L70" class="LineNr"> 70 </span>.RE
<span id="W2L71" class="LineNr"> 71 </span>.PP
<span id="W2L72" class="LineNr"> 72 </span>fs_descriptors
<span id="W2L73" class="LineNr"> 73 </span>.RS 4
<span id="W2L74" class="LineNr"> 74 </span><span class="DiffChange">Table of full (or low) speed descriptors, using interface and string identifiers assigned during</span>
<span id="W2L75" class="LineNr"> 75 </span><span class="DiffAdd">\fIbind\fR()\&. If this pointer is null, the function will not be available at full speed (or at low speed)\&.</span>
<span id="W2L76" class="LineNr"> 76 </span>.RE
<span id="W2L77" class="LineNr"> 77 </span>.PP
<span id="W2L78" class="LineNr"> 78 </span>hs_descriptors
<span id="W2L79" class="LineNr"> 79 </span>.RS 4
<span id="W2L80" class="LineNr"> 80 </span><span class="DiffChange">Table of high speed descriptors, using interface and string identifiers assigned during</span>
<span id="W2L81" class="LineNr"> 81 </span><span class="DiffAdd">\fIbind\fR()\&. If this pointer is null, the function will not be available at high speed\&.</span>
<span id="W2L82" class="LineNr"> 82 </span>.RE
<span id="W2L83" class="LineNr"> 83 </span>.PP
<span id="W2L84" class="LineNr"> 84 </span>ss_descriptors
<span id="W2L85" class="LineNr"> 85 </span>.RS 4
<span id="W2L86" class="LineNr"> 86 </span><span class="DiffChange">Table of super speed descriptors, using interface and string identifiers assigned during</span>
<span id="W2L87" class="LineNr"> 87 </span><span class="DiffAdd">\fIbind\fR()\&. If this pointer is null after initiation, the function will not be available at super speed\&.</span>
<span id="W2L88" class="LineNr"> 88 </span>.RE
<span id="W2L89" class="LineNr"> 89 </span>.PP
<span id="W2L90" class="LineNr"> 90 </span>config
<span id="W2L91" class="LineNr"> 91 </span>.RS 4
<span id="W2L92" class="LineNr"> 92 </span><span class="DiffChange">assigned when</span><span class="DiffChange">                                                               </span>
<span id="W2L93" class="LineNr"> 93 </span><span class="DiffText">\fIusb_add_function\fR() </span><span class="DiffChange">is called; this is the configuration with which this function is associated\&.</span>
<span id="W2L94" class="LineNr"> 94 </span>.RE
<span id="W2L95" class="LineNr"> 95 </span>.PP
<span id="W2L96" class="LineNr"> 96 </span>os_desc_table
<span id="W2L97" class="LineNr"> 97 </span>.RS 4
<span id="W2L98" class="LineNr"> 98 </span>Table of (interface id, os descriptors) pairs\&. The function can expose more than one interface\&. If an interface is a member of an IAD, only the first interface of IAD has its entry in the table\&.
<span id="W2L99" class="LineNr"> 99 </span>.RE
<span id="W2L100" class="Folded">100 </span><span class="Folded">+-- 66 lines: .PP---------------------------------------------------------------</span>
<span id="W2L166" class="LineNr">166 </span>func_suspend
<span id="W2L167" class="LineNr">167 </span>.RS 4
<span id="W2L168" class="LineNr">168 </span>callback to be called when SetFeature(FUNCTION_SUSPEND) is reseived
<span id="W2L169" class="LineNr">169 </span>.RE
<span id="W2L170" class="LineNr">170 </span>.SH "DESCRIPTION"
<span id="W2L171" class="LineNr">171 </span>.PP
<span id="W2L172" class="LineNr">172 </span><span class="DiffChange">A single USB function uses one or more interfaces, and should in most cases support operation at both full and high speeds\&. Each function is associated by</span>
<span id="W2L173" class="LineNr">173 </span><span class="DiffText">\fIusb_add_function\fR() with a one configuration; that function causes</span><span class="DiffChange">     </span>
<span id="W2L174" class="LineNr">174 </span><span class="DiffText">\fIbind\fR() to be called so resources can be allocated as part of setting up a gadget driver\&. Those resources include endpoints, which should be allocated using</span>
<span id="W2L175" class="LineNr">175 </span><span class="DiffAdd">\fIusb_ep_autoconfig\fR()\&.</span><span class="DiffAdd">                                                </span>
<span id="W2L176" class="LineNr">176 </span>.PP
<span id="W2L177" class="LineNr">177 </span>To support dual speed operation, a function driver provides descriptors for both high and full speed operation\&. Except in rare cases that don\*(Aqt involve bulk endpoints, each speed needs different endpoint descriptors\&.
<span id="W2L178" class="LineNr">178 </span>.PP
<span id="W2L179" class="LineNr">179 </span>Function drivers choose their own strategies for managing instance data\&. The simplest strategy just declares it "static\*(Aq, which means the function can only be activated once\&. If the function needs to be exposed in more than one configuration at a given speed, it needs to support multiple usb_function structures (one for each configuration)\&.
<span id="W2L180" class="LineNr">180 </span>.PP
<span id="W2L181" class="LineNr">181 </span>A more complex strategy might encapsulate a
<span id="W2L182" class="Folded">182 </span><span class="Folded">+-- 10 lines: \fIusb_function\fR------------------------------------------------</span>
</pre>
</div></td>
</tr>
</table>
</div>
</div>
<div class='difference'>
<div><span class='source'>usb_add_config.9.gz</div>
<div class='difference'>
<div><span class='source'>usb_add_config.9</div>
<table border='1' width='100%' id='vimCodeElement'>
<tr>

</tr><tr>
<td valign="top"><div>
<pre>
<span id="W1L1" class="Folded"> 1 </span><span class="Folded">+-- 49 lines: '\" t-------------------------------------------------------------</span>
<span id="W1L50" class="LineNr">50 </span>.RE
<span id="W1L51" class="LineNr">51 </span>.SH "CONTEXT"
<span id="W1L52" class="LineNr">52 </span>.PP
<span id="W1L53" class="LineNr">53 </span>single threaded during gadget setup
<span id="W1L54" class="LineNr">54 </span>.SH "DESCRIPTION"
<span id="W1L55" class="LineNr">55 </span>.PP
<span id="W1L56" class="LineNr">56 </span><span class="DiffChange">One of the main tasks of a composite</span><span class="DiffChange">                                         </span>
<span id="W1L57" class="LineNr">57 </span><span class="DiffText">\fIbind\fR() </span><span class="DiffChange">routine is to add each of the configurations it supports, using this routine\&.</span>
<span id="W1L58" class="LineNr">58 </span>.PP
<span id="W1L59" class="LineNr">59 </span><span class="DiffChange">This function returns the value of the configuration\*(Aqs</span><span class="DiffChange">                   </span>
<span id="W1L60" class="LineNr">60 </span><span class="DiffAdd">\fIbind\fR(), which is zero for success else a negative errno value\&. Binding configurations assigns global resources including string IDs, and per\-configuration resources such as interface IDs and endpoints\&.</span>
<span id="W1L61" class="LineNr">61 </span>.SH "AUTHOR"
<span id="W1L62" class="LineNr">62 </span>.PP
<span id="W1L63" class="LineNr">63 </span>\fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
<span id="W1L64" class="LineNr">64 </span>.RS 4
<span id="W1L65" class="LineNr">65 </span>Author.
<span id="W1L66" class="LineNr">66 </span>.RE
<span id="W1L67" class="Folded">67 </span><span class="Folded">+--  2 lines: .SH "COPYRIGHT"---------------------------------------------------</span>
</pre>
</div></td>
<td valign="top"><div>
<pre>
<span id="W2L1" class="Folded"> 1 </span><span class="Folded">+-- 49 lines: '\" t-------------------------------------------------------------</span>
<span id="W2L50" class="LineNr">50 </span>.RE
<span id="W2L51" class="LineNr">51 </span>.SH "CONTEXT"
<span id="W2L52" class="LineNr">52 </span>.PP
<span id="W2L53" class="LineNr">53 </span>single threaded during gadget setup
<span id="W2L54" class="LineNr">54 </span>.SH "DESCRIPTION"
<span id="W2L55" class="LineNr">55 </span>.PP
<span id="W2L56" class="LineNr">56 </span><span class="DiffChange">One of the main tasks of a composite</span><span class="DiffText"> @\fBbind\fR</span><span class="DiffChange">                             </span>
<span id="W2L57" class="LineNr">57 </span><span class="DiffChange">routine is to add each of the configurations it supports, using this routine\&.</span>
<span id="W2L58" class="LineNr">58 </span>.PP
<span id="W2L59" class="LineNr">59 </span><span class="DiffChange">This function returns the value of the configuration\*(Aqs</span><span class="DiffText"> @\fBbind\fR, which is zero for success else a negative errno value\&. Binding configurations assigns global resources including string IDs, and per\-configuration resources such as interface IDs and endpoints\&.</span>
<span class="LineNr">   </span><span class="DiffDelete">-----------------------------------------------------------------------------</span>
<span id="W2L60" class="LineNr">60 </span>.SH "AUTHOR"
<span id="W2L61" class="LineNr">61 </span>.PP
<span id="W2L62" class="LineNr">62 </span>\fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
<span id="W2L63" class="LineNr">63 </span>.RS 4
<span id="W2L64" class="LineNr">64 </span>Author.
<span id="W2L65" class="LineNr">65 </span>.RE
<span id="W2L66" class="Folded">66 </span><span class="Folded">+--  2 lines: .SH "COPYRIGHT"---------------------------------------------------</span>
</pre>
</div></td>
</tr>
</table>
</div>
</div>
<div class='difference'>
<div><span class='source'>usb_add_function.9.gz</div>
<div class='difference'>
<div><span class='source'>usb_add_function.9</div>
<table border='1' width='100%' id='vimCodeElement'>
<tr>

</tr><tr>
<td valign="top"><div>
<pre>
<span id="W1L1" class="Folded"> 1 </span><span class="Folded">+-- 44 lines: '\" t-------------------------------------------------------------</span>
<span id="W1L45" class="LineNr">45 </span>.RE
<span id="W1L46" class="LineNr">46 </span>.SH "CONTEXT"
<span id="W1L47" class="LineNr">47 </span>.PP
<span id="W1L48" class="LineNr">48 </span>single threaded during gadget setup
<span id="W1L49" class="LineNr">49 </span>.SH "DESCRIPTION"
<span id="W1L50" class="LineNr">50 </span>.PP
<span id="W1L51" class="LineNr">51 </span><span class="DiffChange">After initialization, each configuration must have one or more functions added to it\&. Adding a function involves calling its</span>
<span id="W1L52" class="LineNr">52 </span><span class="DiffText">\fIbind\fR() </span><span class="DiffChange">method to allocate resources such as interface and string identifiers and endpoints\&.</span>
<span id="W1L53" class="LineNr">53 </span>.PP
<span id="W1L54" class="LineNr">54 </span>This function returns the value of the function\*(Aqs
<span id="W1L55" class="LineNr">55 </span>\fBbind\fR, which is zero for success else a negative errno value\&.
<span id="W1L56" class="LineNr">56 </span>.SH "AUTHOR"
<span id="W1L57" class="LineNr">57 </span>.PP
<span id="W1L58" class="LineNr">58 </span>\fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
<span id="W1L59" class="Folded">59 </span><span class="Folded">+--  5 lines: .RS 4-------------------------------------------------------------</span>
</pre>
</div></td>
<td valign="top"><div>
<pre>
<span id="W2L1" class="Folded"> 1 </span><span class="Folded">+-- 44 lines: '\" t-------------------------------------------------------------</span>
<span id="W2L45" class="LineNr">45 </span>.RE
<span id="W2L46" class="LineNr">46 </span>.SH "CONTEXT"
<span id="W2L47" class="LineNr">47 </span>.PP
<span id="W2L48" class="LineNr">48 </span>single threaded during gadget setup
<span id="W2L49" class="LineNr">49 </span>.SH "DESCRIPTION"
<span id="W2L50" class="LineNr">50 </span>.PP
<span id="W2L51" class="LineNr">51 </span><span class="DiffChange">After initialization, each configuration must have one or more functions added to it\&. Adding a function involves calling its</span><span class="DiffText"> @\fBbind\fR</span>
<span id="W2L52" class="LineNr">52 </span><span class="DiffChange">method to allocate resources such as interface and string identifiers and endpoints\&.</span>
<span id="W2L53" class="LineNr">53 </span>.PP
<span id="W2L54" class="LineNr">54 </span>This function returns the value of the function\*(Aqs
<span id="W2L55" class="LineNr">55 </span>\fBbind\fR, which is zero for success else a negative errno value\&.
<span id="W2L56" class="LineNr">56 </span>.SH "AUTHOR"
<span id="W2L57" class="LineNr">57 </span>.PP
<span id="W2L58" class="LineNr">58 </span>\fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
<span id="W2L59" class="Folded">59 </span><span class="Folded">+--  5 lines: .RS 4-------------------------------------------------------------</span>
</pre>
</div></td>
</tr>
</table>
</div>
</div>
<div class='difference'>
<div><span class='source'>usb_function_deactivate.9.gz</div>
<div class='difference'>
<div><span class='source'>usb_function_deactivate.9</div>
<table border='1' width='100%' id='vimCodeElement'>
<tr>

</tr><tr>
<td valign="top"><div>
<pre>
<span id="W1L1" class="Folded"> 1 </span><span class="Folded">+-- 36 lines: '\" t-------------------------------------------------------------</span>
<span id="W1L37" class="LineNr">37 </span>\fIfunction\fR
<span id="W1L38" class="LineNr">38 </span>.RS 4
<span id="W1L39" class="LineNr">39 </span>the function that isn\*(Aqt yet ready to respond
<span id="W1L40" class="LineNr">40 </span>.RE
<span id="W1L41" class="LineNr">41 </span>.SH "DESCRIPTION"
<span id="W1L42" class="LineNr">42 </span>.PP
<span id="W1L43" class="LineNr">43 </span><span class="DiffChange">Blocks response of the gadget driver to host enumeration by preventing the data line pullup from being activated\&. This is normally called during</span>
<span id="W1L44" class="LineNr">44 </span><span class="DiffText">\fIbind\fR() </span><span class="DiffChange">processing to change from the initial                           </span>
<span id="W1L45" class="LineNr">45 </span>\(lqready to respond\(rq
<span id="W1L46" class="LineNr">46 </span>state, or when a required resource becomes available\&.
<span id="W1L47" class="LineNr">47 </span>.PP
<span id="W1L48" class="LineNr">48 </span>For example, drivers that serve as a passthrough to a userspace daemon can block enumeration unless that daemon (such as an OBEX, MTP, or print server) is ready to handle host requests\&.
<span id="W1L49" class="LineNr">49 </span>.PP
<span id="W1L50" class="LineNr">50 </span>Not all systems support software control of their USB peripheral data pullups\&.
<span id="W1L51" class="Folded">51 </span><span class="Folded">+-- 10 lines: .PP---------------------------------------------------------------</span>
</pre>
</div></td>
<td valign="top"><div>
<pre>
<span id="W2L1" class="Folded"> 1 </span><span class="Folded">+-- 36 lines: '\" t-------------------------------------------------------------</span>
<span id="W2L37" class="LineNr">37 </span>\fIfunction\fR
<span id="W2L38" class="LineNr">38 </span>.RS 4
<span id="W2L39" class="LineNr">39 </span>the function that isn\*(Aqt yet ready to respond
<span id="W2L40" class="LineNr">40 </span>.RE
<span id="W2L41" class="LineNr">41 </span>.SH "DESCRIPTION"
<span id="W2L42" class="LineNr">42 </span>.PP
<span id="W2L43" class="LineNr">43 </span><span class="DiffChange">Blocks response of the gadget driver to host enumeration by preventing the data line pullup from being activated\&. This is normally called during</span><span class="DiffText"> @\fBbind\fR</span>
<span id="W2L44" class="LineNr">44 </span><span class="DiffChange">processing to change from the initial</span><span class="DiffChange">                                        </span>
<span id="W2L45" class="LineNr">45 </span>\(lqready to respond\(rq
<span id="W2L46" class="LineNr">46 </span>state, or when a required resource becomes available\&.
<span id="W2L47" class="LineNr">47 </span>.PP
<span id="W2L48" class="LineNr">48 </span>For example, drivers that serve as a passthrough to a userspace daemon can block enumeration unless that daemon (such as an OBEX, MTP, or print server) is ready to handle host requests\&.
<span id="W2L49" class="LineNr">49 </span>.PP
<span id="W2L50" class="LineNr">50 </span>Not all systems support software control of their USB peripheral data pullups\&.
<span id="W2L51" class="Folded">51 </span><span class="Folded">+-- 10 lines: .PP---------------------------------------------------------------</span>
</pre>
</div></td>
</tr>
</table>
</div>
</div>
<div class='difference'>
<div><span class='source'>usb_gadget_probe_driver.9.gz</div>
<div class='difference'>
<div><span class='source'>usb_gadget_probe_driver.9</div>
<table border='1' width='100%' id='vimCodeElement'>
<tr>

</tr><tr>
<td valign="top"><div>
<pre>
<span id="W1L1" class="Folded"> 1 </span><span class="Folded">+-- 39 lines: '\" t-------------------------------------------------------------</span>
<span id="W1L40" class="LineNr">40 </span>.RE
<span id="W1L41" class="LineNr">41 </span>.SH "CONTEXT"
<span id="W1L42" class="LineNr">42 </span>.PP
<span id="W1L43" class="LineNr">43 </span>can sleep
<span id="W1L44" class="LineNr">44 </span>.SH "DESCRIPTION"
<span id="W1L45" class="LineNr">45 </span>.PP
<span id="W1L46" class="LineNr">46 </span><span class="DiffChange">Call this in your gadget driver\*(Aqs module initialization function, to tell the underlying usb controller driver about your driver\&. The</span><span class="DiffText"> @\fBbind\fR</span>
<span id="W1L47" class="LineNr">47 </span><span class="DiffText">function will be called to bind it to a gadget before this registration call returns\&. It\*(Aqs expected that the @\fBbind\fR</span>
<span id="W1L48" class="LineNr">48 </span><span class="DiffChange">function will be in init sections\&.</span><span class="DiffChange">                                         </span>
<span id="W1L49" class="LineNr">49 </span>.SH "AUTHOR"
<span id="W1L50" class="LineNr">50 </span>.PP
<span id="W1L51" class="LineNr">51 </span>\fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
<span id="W1L52" class="LineNr">52 </span>.RS 4
<span id="W1L53" class="LineNr">53 </span>Author.
<span id="W1L54" class="LineNr">54 </span>.RE
<span id="W1L55" class="Folded">55 </span><span class="Folded">+--  2 lines: .SH "COPYRIGHT"---------------------------------------------------</span>
</pre>
</div></td>
<td valign="top"><div>
<pre>
<span id="W2L1" class="Folded"> 1 </span><span class="Folded">+-- 39 lines: '\" t-------------------------------------------------------------</span>
<span id="W2L40" class="LineNr">40 </span>.RE
<span id="W2L41" class="LineNr">41 </span>.SH "CONTEXT"
<span id="W2L42" class="LineNr">42 </span>.PP
<span id="W2L43" class="LineNr">43 </span>can sleep
<span id="W2L44" class="LineNr">44 </span>.SH "DESCRIPTION"
<span id="W2L45" class="LineNr">45 </span>.PP
<span id="W2L46" class="LineNr">46 </span><span class="DiffChange">Call this in your gadget driver\*(Aqs module initialization function, to tell the underlying usb controller driver about your driver\&. The</span>
<span id="W2L47" class="LineNr">47 </span><span class="DiffText">\fIbind\fR() function will be called to bind it to a gadget before this registration call returns\&. It\*(Aqs expected that the</span>
<span id="W2L48" class="LineNr">48 </span><span class="DiffText">\fIbind\fR() </span><span class="DiffChange">function will be in init sections\&.                            </span>
<span id="W2L49" class="LineNr">49 </span>.SH "AUTHOR"
<span id="W2L50" class="LineNr">50 </span>.PP
<span id="W2L51" class="LineNr">51 </span>\fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
<span id="W2L52" class="LineNr">52 </span>.RS 4
<span id="W2L53" class="LineNr">53 </span>Author.
<span id="W2L54" class="LineNr">54 </span>.RE
<span id="W2L55" class="Folded">55 </span><span class="Folded">+--  2 lines: .SH "COPYRIGHT"---------------------------------------------------</span>
</pre>
</div></td>
</tr>
</table>
</div>
</div>
<div class='difference'>
<div><span class='source'>usb_string_id.9.gz</div>
<div class='difference'>
<div><span class='source'>usb_string_id.9</div>
<table border='1' width='100%' id='vimCodeElement'>
<tr>

</tr><tr>
<td valign="top"><div>
<pre>
<span id="W1L1" class="Folded"> 1 </span><span class="Folded">+-- 39 lines: '\" t-------------------------------------------------------------</span>
<span id="W1L40" class="LineNr">40 </span>.RE
<span id="W1L41" class="LineNr">41 </span>.SH "CONTEXT"
<span id="W1L42" class="LineNr">42 </span>.PP
<span id="W1L43" class="LineNr">43 </span>single threaded during gadget setup
<span id="W1L44" class="LineNr">44 </span>.SH "DESCRIPTION"
<span id="W1L45" class="LineNr">45 </span>.PP
<span id="W1L46" class="LineNr">46 </span><span class="DiffText">\fIusb_string_id\fR() is called from</span><span class="DiffChange">                                         </span>
<span class="LineNr">   </span><span class="DiffDelete">-----------------------------------------------------------------------------</span>
<span id="W1L47" class="LineNr">47 </span>\fBbind\fR
<span id="W1L48" class="LineNr">48 </span>callbacks to allocate string IDs\&. Drivers for functions, configurations, or gadgets will then store that ID in the appropriate descriptors and string table\&.
<span id="W1L49" class="LineNr">49 </span>.PP
<span id="W1L50" class="LineNr">50 </span><span class="DiffChange">All string identifier should be allocated using this,</span><span class="DiffChange">                        </span>
<span id="W1L51" class="LineNr">51 </span><span class="DiffText">\fIusb_string_ids_tab\fR() or</span><span class="DiffChange">                                                </span>
<span id="W1L52" class="LineNr">52 </span><span class="DiffText">\fIusb_string_ids_n\fR() </span><span class="DiffChange">routine, to ensure that for example different functions don\*(Aqt wrongly assign different meanings to the same identifier\&.</span>
<span id="W1L53" class="LineNr">53 </span>.SH "AUTHOR"
<span id="W1L54" class="LineNr">54 </span>.PP
<span id="W1L55" class="LineNr">55 </span>\fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
<span id="W1L56" class="LineNr">56 </span>.RS 4
<span id="W1L57" class="LineNr">57 </span>Author.
<span id="W1L58" class="LineNr">58 </span>.RE
<span id="W1L59" class="Folded">59 </span><span class="Folded">+--  2 lines: .SH "COPYRIGHT"---------------------------------------------------</span>
</pre>
</div></td>
<td valign="top"><div>
<pre>
<span id="W2L1" class="Folded"> 1 </span><span class="Folded">+-- 39 lines: '\" t-------------------------------------------------------------</span>
<span id="W2L40" class="LineNr">40 </span>.RE
<span id="W2L41" class="LineNr">41 </span>.SH "CONTEXT"
<span id="W2L42" class="LineNr">42 </span>.PP
<span id="W2L43" class="LineNr">43 </span>single threaded during gadget setup
<span id="W2L44" class="LineNr">44 </span>.SH "DESCRIPTION"
<span id="W2L45" class="LineNr">45 </span>.PP
<span id="W2L46" class="LineNr">46 </span><span class="DiffText">@\fBusb_string_id\fR</span><span class="DiffChange">                                                         </span>
<span id="W2L47" class="LineNr">47 </span><span class="DiffAdd">is called from</span><span class="DiffAdd">                                                               </span>
<span id="W2L48" class="LineNr">48 </span>\fBbind\fR
<span id="W2L49" class="LineNr">49 </span>callbacks to allocate string IDs\&. Drivers for functions, configurations, or gadgets will then store that ID in the appropriate descriptors and string table\&.
<span id="W2L50" class="LineNr">50 </span>.PP
<span id="W2L51" class="LineNr">51 </span><span class="DiffChange">All string identifier should be allocated using this,</span><span class="DiffText"> @\fBusb_string_ids_tab\fR</span>
<span id="W2L52" class="LineNr">52 </span><span class="DiffText">or @\fBusb_string_ids_n\fR</span><span class="DiffChange">                                                   </span>
<span id="W2L53" class="LineNr">53 </span><span class="DiffChange">routine, to ensure that for example different functions don\*(Aqt wrongly assign different meanings to the same identifier\&.</span>
<span id="W2L54" class="LineNr">54 </span>.SH "AUTHOR"
<span id="W2L55" class="LineNr">55 </span>.PP
<span id="W2L56" class="LineNr">56 </span>\fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
<span id="W2L57" class="LineNr">57 </span>.RS 4
<span id="W2L58" class="LineNr">58 </span>Author.
<span id="W2L59" class="LineNr">59 </span>.RE
<span id="W2L60" class="Folded">60 </span><span class="Folded">+--  2 lines: .SH "COPYRIGHT"---------------------------------------------------</span>
</pre>
</div></td>
</tr>
</table>
</div>
</div>
<div class='difference'>
<div><span class='source'>usb_string_ids_n.9.gz</div>
<div class='difference'>
<div><span class='source'>usb_string_ids_n.9</div>
<table border='1' width='100%' id='vimCodeElement'>
<tr>

</tr><tr>
<td valign="top"><div>
<pre>
<span id="W1L1" class="Folded"> 1 </span><span class="Folded">+-- 49 lines: '\" t-------------------------------------------------------------</span>
<span id="W1L50" class="LineNr">50 </span>.PP
<span id="W1L51" class="LineNr">51 </span>Returns the first requested ID\&. This ID and next
<span id="W1L52" class="LineNr">52 </span>\fIn\fR\-1 IDs are now valid IDs\&. At least provided that
<span id="W1L53" class="LineNr">53 </span>\fIn\fR
<span id="W1L54" class="LineNr">54 </span>is non\-zero because if it is, returns last requested ID which is now very useful information\&.
<span id="W1L55" class="LineNr">55 </span>.PP
<span id="W1L56" class="LineNr">56 </span><span class="DiffText">\fIusb_string_ids_n\fR() is called from</span><span class="DiffChange">                                      </span>
<span class="LineNr">   </span><span class="DiffDelete">-----------------------------------------------------------------------------</span>
<span id="W1L57" class="LineNr">57 </span>\fBbind\fR
<span id="W1L58" class="LineNr">58 </span>callbacks to allocate string IDs\&. Drivers for functions, configurations, or gadgets will then store that ID in the appropriate descriptors and string table\&.
<span id="W1L59" class="LineNr">59 </span>.PP
<span id="W1L60" class="LineNr">60 </span><span class="DiffChange">All string identifier should be allocated using this,</span><span class="DiffChange">                        </span>
<span id="W1L61" class="LineNr">61 </span><span class="DiffText">\fIusb_string_id\fR() or</span><span class="DiffChange">                                                     </span>
<span id="W1L62" class="LineNr">62 </span><span class="DiffText">\fIusb_string_ids_n\fR() </span><span class="DiffChange">routine, to ensure that for example different functions don\*(Aqt wrongly assign different meanings to the same identifier\&.</span>
<span id="W1L63" class="LineNr">63 </span>.SH "AUTHOR"
<span id="W1L64" class="LineNr">64 </span>.PP
<span id="W1L65" class="LineNr">65 </span>\fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
<span id="W1L66" class="LineNr">66 </span>.RS 4
<span id="W1L67" class="LineNr">67 </span>Author.
<span id="W1L68" class="LineNr">68 </span>.RE
<span id="W1L69" class="Folded">69 </span><span class="Folded">+--  2 lines: .SH "COPYRIGHT"---------------------------------------------------</span>
</pre>
</div></td>
<td valign="top"><div>
<pre>
<span id="W2L1" class="Folded"> 1 </span><span class="Folded">+-- 49 lines: '\" t-------------------------------------------------------------</span>
<span id="W2L50" class="LineNr">50 </span>.PP
<span id="W2L51" class="LineNr">51 </span>Returns the first requested ID\&. This ID and next
<span id="W2L52" class="LineNr">52 </span>\fIn\fR\-1 IDs are now valid IDs\&. At least provided that
<span id="W2L53" class="LineNr">53 </span>\fIn\fR
<span id="W2L54" class="LineNr">54 </span>is non\-zero because if it is, returns last requested ID which is now very useful information\&.
<span id="W2L55" class="LineNr">55 </span>.PP
<span id="W2L56" class="LineNr">56 </span><span class="DiffText">@\fBusb_string_ids_n\fR</span><span class="DiffChange">                                                      </span>
<span id="W2L57" class="LineNr">57 </span><span class="DiffAdd">is called from</span><span class="DiffAdd">                                                               </span>
<span id="W2L58" class="LineNr">58 </span>\fBbind\fR
<span id="W2L59" class="LineNr">59 </span>callbacks to allocate string IDs\&. Drivers for functions, configurations, or gadgets will then store that ID in the appropriate descriptors and string table\&.
<span id="W2L60" class="LineNr">60 </span>.PP
<span id="W2L61" class="LineNr">61 </span><span class="DiffChange">All string identifier should be allocated using this,</span><span class="DiffText"> @\fBusb_string_id\fR</span><span class="DiffChange">   </span>
<span id="W2L62" class="LineNr">62 </span><span class="DiffText">or @\fBusb_string_ids_n\fR</span><span class="DiffChange">                                                   </span>
<span id="W2L63" class="LineNr">63 </span><span class="DiffChange">routine, to ensure that for example different functions don\*(Aqt wrongly assign different meanings to the same identifier\&.</span>
<span id="W2L64" class="LineNr">64 </span>.SH "AUTHOR"
<span id="W2L65" class="LineNr">65 </span>.PP
<span id="W2L66" class="LineNr">66 </span>\fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
<span id="W2L67" class="LineNr">67 </span>.RS 4
<span id="W2L68" class="LineNr">68 </span>Author.
<span id="W2L69" class="LineNr">69 </span>.RE
<span id="W2L70" class="Folded">70 </span><span class="Folded">+--  2 lines: .SH "COPYRIGHT"---------------------------------------------------</span>
</pre>
</div></td>
</tr>
</table>
</div>
</div>
<div class='difference'>
<div><span class='source'>usb_string_ids_tab.9.gz</div>
<div class='difference'>
<div><span class='source'>usb_string_ids_tab.9</div>
<table border='1' width='100%' id='vimCodeElement'>
<tr>

</tr><tr>
<td valign="top"><div>
<pre>
<span id="W1L1" class="Folded"> 1 </span><span class="Folded">+-- 44 lines: '\" t-------------------------------------------------------------</span>
<span id="W1L45" class="LineNr">45 </span>.RE
<span id="W1L46" class="LineNr">46 </span>.SH "CONTEXT"
<span id="W1L47" class="LineNr">47 </span>.PP
<span id="W1L48" class="LineNr">48 </span>single threaded during gadget setup
<span id="W1L49" class="LineNr">49 </span>.SH "DESCRIPTION"
<span id="W1L50" class="LineNr">50 </span>.PP
<span id="W1L51" class="LineNr">51 </span><span class="DiffText">\fIusb_string_ids\fR() is called from</span><span class="DiffChange">                                        </span>
<span class="LineNr">   </span><span class="DiffDelete">-----------------------------------------------------------------------------</span>
<span id="W1L52" class="LineNr">52 </span>\fBbind\fR
<span id="W1L53" class="LineNr">53 </span>callbacks to allocate string IDs\&. Drivers for functions, configurations, or gadgets will then copy IDs from the string table to the appropriate descriptors and string table for other languages\&.
<span id="W1L54" class="LineNr">54 </span>.PP
<span id="W1L55" class="LineNr">55 </span><span class="DiffChange">All string identifier should be allocated using this,</span><span class="DiffChange">                        </span>
<span id="W1L56" class="LineNr">56 </span><span class="DiffText">\fIusb_string_id\fR() or</span><span class="DiffChange">                                                     </span>
<span id="W1L57" class="LineNr">57 </span><span class="DiffText">\fIusb_string_ids_n\fR() </span><span class="DiffChange">routine, to ensure that for example different functions don\*(Aqt wrongly assign different meanings to the same identifier\&.</span>
<span id="W1L58" class="LineNr">58 </span>.SH "AUTHOR"
<span id="W1L59" class="LineNr">59 </span>.PP
<span id="W1L60" class="LineNr">60 </span>\fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
<span id="W1L61" class="LineNr">61 </span>.RS 4
<span id="W1L62" class="LineNr">62 </span>Author.
<span id="W1L63" class="LineNr">63 </span>.RE
<span id="W1L64" class="Folded">64 </span><span class="Folded">+--  2 lines: .SH "COPYRIGHT"---------------------------------------------------</span>
</pre>
</div></td>
<td valign="top"><div>
<pre>
<span id="W2L1" class="Folded"> 1 </span><span class="Folded">+-- 44 lines: '\" t-------------------------------------------------------------</span>
<span id="W2L45" class="LineNr">45 </span>.RE
<span id="W2L46" class="LineNr">46 </span>.SH "CONTEXT"
<span id="W2L47" class="LineNr">47 </span>.PP
<span id="W2L48" class="LineNr">48 </span>single threaded during gadget setup
<span id="W2L49" class="LineNr">49 </span>.SH "DESCRIPTION"
<span id="W2L50" class="LineNr">50 </span>.PP
<span id="W2L51" class="LineNr">51 </span><span class="DiffText">@\fBusb_string_ids\fR</span><span class="DiffChange">                                                        </span>
<span id="W2L52" class="LineNr">52 </span><span class="DiffAdd">is called from</span><span class="DiffAdd">                                                               </span>
<span id="W2L53" class="LineNr">53 </span>\fBbind\fR
<span id="W2L54" class="LineNr">54 </span>callbacks to allocate string IDs\&. Drivers for functions, configurations, or gadgets will then copy IDs from the string table to the appropriate descriptors and string table for other languages\&.
<span id="W2L55" class="LineNr">55 </span>.PP
<span id="W2L56" class="LineNr">56 </span><span class="DiffChange">All string identifier should be allocated using this,</span><span class="DiffText"> @\fBusb_string_id\fR</span><span class="DiffChange">   </span>
<span id="W2L57" class="LineNr">57 </span><span class="DiffText">or @\fBusb_string_ids_n\fR</span><span class="DiffChange">                                                   </span>
<span id="W2L58" class="LineNr">58 </span><span class="DiffChange">routine, to ensure that for example different functions don\*(Aqt wrongly assign different meanings to the same identifier\&.</span>
<span id="W2L59" class="LineNr">59 </span>.SH "AUTHOR"
<span id="W2L60" class="LineNr">60 </span>.PP
<span id="W2L61" class="LineNr">61 </span>\fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
<span id="W2L62" class="LineNr">62 </span>.RS 4
<span id="W2L63" class="LineNr">63 </span>Author.
<span id="W2L64" class="LineNr">64 </span>.RE
<span id="W2L65" class="Folded">65 </span><span class="Folded">+--  2 lines: .SH "COPYRIGHT"---------------------------------------------------</span>
</pre>
</div></td>
</tr>
</table>
</div>
</div>
<div class='difference'>
<div><span class='source'>vm_insert_page.9.gz</div>
<div class='difference'>
<div><span class='source'>vm_insert_page.9</div>
<table border='1' width='100%' id='vimCodeElement'>
<tr>

</tr><tr>
<td valign="top"><div>
<pre>
<span id="W1L1" class="Folded"> 1 </span><span class="Folded">+-- 51 lines: '\" t-------------------------------------------------------------</span>
<span id="W1L52" class="LineNr">52 </span>.PP
<span id="W1L53" class="LineNr">53 </span>This allows drivers to insert individual pages they\*(Aqve allocated into a user vma\&.
<span id="W1L54" class="LineNr">54 </span>.PP
<span id="W1L55" class="LineNr">55 </span>The page has to be a nice clean _individual_ kernel allocation\&. If you allocate a compound page, you need to have marked it as such (__GFP_COMP), or manually just split the page up yourself (see
<span id="W1L56" class="LineNr">56 </span>\fBsplit_page\fR)\&.
<span id="W1L57" class="LineNr">57 </span>.PP
<span id="W1L58" class="LineNr">58 </span><span class="DiffChange">NOTE! Traditionally this was done with</span><span class="DiffText"> "\fBremap_pfn_range\fR" which took an arbitrary page protection parameter\&. This doesn\*(Aqt allow that\&. Your vma protection will have to be set up correctly, which means that if you want a shared writable mapping, you\*(Aqd better ask for a shared writable mapping!</span>
<span class="LineNr">   </span><span class="DiffDelete">-----------------------------------------------------------------------------</span>
<span class="LineNr">   </span><span class="DiffDelete">-----------------------------------------------------------------------------</span>
<span id="W1L59" class="LineNr">59 </span>.PP
<span id="W1L60" class="LineNr">60 </span>The page does not need to be reserved\&.
<span id="W1L61" class="LineNr">61 </span>.PP
<span id="W1L62" class="LineNr">62 </span>Usually this function is called from f_op\->\fBmmap\fR
<span id="W1L63" class="LineNr">63 </span>handler under mm\->mmap_sem write\-lock, so it can change vma\->vm_flags\&. Caller must set VM_MIXEDMAP on vma if it wants to call this function from other places, for example from page\-fault handler\&.
<span id="W1L64" class="LineNr">64 </span>.SH "COPYRIGHT"
<span id="W1L65" class="LineNr">65 </span>.br
</pre>
</div></td>
<td valign="top"><div>
<pre>
<span id="W2L1" class="Folded"> 1 </span><span class="Folded">+-- 51 lines: '\" t-------------------------------------------------------------</span>
<span id="W2L52" class="LineNr">52 </span>.PP
<span id="W2L53" class="LineNr">53 </span>This allows drivers to insert individual pages they\*(Aqve allocated into a user vma\&.
<span id="W2L54" class="LineNr">54 </span>.PP
<span id="W2L55" class="LineNr">55 </span>The page has to be a nice clean _individual_ kernel allocation\&. If you allocate a compound page, you need to have marked it as such (__GFP_COMP), or manually just split the page up yourself (see
<span id="W2L56" class="LineNr">56 </span>\fBsplit_page\fR)\&.
<span id="W2L57" class="LineNr">57 </span>.PP
<span id="W2L58" class="LineNr">58 </span><span class="DiffChange">NOTE! Traditionally this was done with</span><span class="DiffChange">                                       </span>
<span id="W2L59" class="LineNr">59 </span><span class="DiffAdd">\(lq\fBremap_pfn_range\fR\(rq</span><span class="DiffAdd">                                                </span>
<span id="W2L60" class="LineNr">60 </span><span class="DiffAdd">which took an arbitrary page protection parameter\&. This doesn\*(Aqt allow that\&. Your vma protection will have to be set up correctly, which means that if you want a shared writable mapping, you\*(Aqd better ask for a shared writable mapping!</span>
<span id="W2L61" class="LineNr">61 </span>.PP
<span id="W2L62" class="LineNr">62 </span>The page does not need to be reserved\&.
<span id="W2L63" class="LineNr">63 </span>.PP
<span id="W2L64" class="LineNr">64 </span>Usually this function is called from f_op\->\fBmmap\fR
<span id="W2L65" class="LineNr">65 </span>handler under mm\->mmap_sem write\-lock, so it can change vma\->vm_flags\&. Caller must set VM_MIXEDMAP on vma if it wants to call this function from other places, for example from page\-fault handler\&.
<span id="W2L66" class="LineNr">66 </span>.SH "COPYRIGHT"
<span id="W2L67" class="LineNr">67 </span>.br
</pre>
</div></td>
</tr>
</table>
</div>
</div>
<div class='difference'>
<div><span class='source'>metadata</div>
<table border='1' width='100%' id='vimCodeElement'>
<tr>

</tr><tr>
<td valign="top"><div>
<pre>
<span id="W1L1" class="Folded">   1 </span><span class="Folded">+--2905 lines: -rwxr-xr-x root/root          0 2014-11-11 16:33:16 ./-----------</span>
<span id="W1L2906" class="LineNr">2906 </span>-rw-r--r-- root/root        702 2014-11-11 16:33:16 ./usr/share/man/man9/sb_end_write.9.gz
<span id="W1L2907" class="LineNr">2907 </span>-rw-r--r-- root/root        997 2014-11-11 16:33:16 ./usr/share/man/man9/sb_start_pagefault.9.gz
<span id="W1L2908" class="LineNr">2908 </span>-rw-r--r-- root/root        993 2014-11-11 16:33:16 ./usr/share/man/man9/sb_start_write.9.gz
<span id="W1L2909" class="LineNr">2909 </span>-rw-r--r-- root/root        916 2014-11-11 16:33:16 ./usr/share/man/man9/scan_read_oob.9.gz
<span id="W1L2910" class="LineNr">2910 </span>-rw-r--r-- root/root        770 2014-11-11 16:33:16 ./usr/share/man/man9/sched_setscheduler.9.gz
<span id="W1L2911" class="LineNr">2911 </span>-rw-r--r-- root/root        964 2014-11-11 16:33:16 ./usr/share/man/man9/schedule_hrtimeout.9.gz
<span id="W1L2912" class="LineNr">2912 </span><span class="DiffChange">-rw-r--r-- root/root       11</span><span class="DiffText">35</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/schedule_hrtimeout_range.9.gz</span>
<span id="W1L2913" class="LineNr">2913 </span>-rw-r--r-- root/root       1017 2014-11-11 16:33:16 ./usr/share/man/man9/schedule_timeout.9.gz
<span id="W1L2914" class="LineNr">2914 </span>-rw-r--r-- root/root        837 2014-11-11 16:33:16 ./usr/share/man/man9/scnprintf.9.gz
<span id="W1L2915" class="LineNr">2915 </span>-rw-r--r-- root/root        716 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_10_lba_len.9.gz
<span id="W1L2916" class="LineNr">2916 </span>-rw-r--r-- root/root        716 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_16_lba_len.9.gz
<span id="W1L2917" class="LineNr">2917 </span>-rw-r--r-- root/root        714 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_6_lba_len.9.gz
<span id="W1L2918" class="LineNr">2918 </span>-rw-r--r-- root/root        884 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_add_host_with_dma.9.gz
<span id="W1L2919" class="Folded">2919 </span><span class="Folded">+--500 lines: -rw-r--r-- root/root        951 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_add_lun.9.gz</span>
<span id="W1L3419" class="LineNr">3419 </span>-rw-r--r-- root/root        662 2014-11-11 16:33:16 ./usr/share/man/man9/strrchr.9.gz
<span id="W1L3420" class="LineNr">3420 </span>-rw-r--r-- root/root        819 2014-11-11 16:33:16 ./usr/share/man/man9/strsep.9.gz
<span id="W1L3421" class="LineNr">3421 </span>-rw-r--r-- root/root        687 2014-11-11 16:33:16 ./usr/share/man/man9/strspn.9.gz
<span id="W1L3422" class="LineNr">3422 </span>-rw-r--r-- root/root        659 2014-11-11 16:33:16 ./usr/share/man/man9/strstr.9.gz
<span id="W1L3423" class="LineNr">3423 </span>-rw-r--r-- root/root        770 2014-11-11 16:33:16 ./usr/share/man/man9/strtobool.9.gz
<span id="W1L3424" class="LineNr">3424 </span>-rw-r--r-- root/root        983 2014-11-11 16:33:16 ./usr/share/man/man9/struct_bss_parameters.9.gz
<span id="W1L3425" class="LineNr">3425 </span><span class="DiffChange">-rw-r--r-- root/root       172</span><span class="DiffText">8</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/struct_bus_type.9.gz</span>
<span id="W1L3426" class="LineNr">3426 </span>-rw-r--r-- root/root        798 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw1.9.gz
<span id="W1L3427" class="LineNr">3427 </span>-rw-r--r-- root/root        809 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw_dev_id.9.gz
<span id="W1L3428" class="LineNr">3428 </span>-rw-r--r-- root/root        867 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw_device.9.gz
<span id="W1L3429" class="LineNr">3429 </span>-rw-r--r-- root/root       1087 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw_driver.9.gz
<span id="W1L3430" class="LineNr">3430 </span>-rw-r--r-- root/root        823 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccwgroup_device.9.gz
<span id="W1L3431" class="LineNr">3431 </span>-rw-r--r-- root/root        930 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccwgroup_driver.9.gz
<span id="W1L3432" class="Folded">3432 </span><span class="Folded">+--166 lines: -rw-r--r-- root/root       1155 2014-11-11 16:33:16 ./usr/share/man/man9/struct_cfg80211_ap_settings.9.gz</span>
<span id="W1L3598" class="LineNr">3598 </span>-rw-r--r-- root/root       1670 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_composite_driver.9.gz
<span id="W1L3599" class="LineNr">3599 </span>-rw-r--r-- root/root       1717 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_configuration.9.gz
<span id="W1L3600" class="LineNr">3600 </span>-rw-r--r-- root/root       2489 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_device.9.gz
<span id="W1L3601" class="LineNr">3601 </span>-rw-r--r-- root/root       1158 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_device_driver.9.gz
<span id="W1L3602" class="LineNr">3602 </span>-rw-r--r-- root/root       2304 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_driver.9.gz
<span id="W1L3603" class="LineNr">3603 </span>-rw-r--r-- root/root       1420 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_ep.9.gz
<span id="W1L3604" class="LineNr">3604 </span><span class="DiffChange">-rw-r--r-- root/root       234</span><span class="DiffText">9</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_function.9.gz</span>
<span id="W1L3605" class="LineNr">3605 </span>-rw-r--r-- root/root       1939 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_gadget.9.gz
<span id="W1L3606" class="LineNr">3606 </span>-rw-r--r-- root/root       2226 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_gadget_driver.9.gz
<span id="W1L3607" class="LineNr">3607 </span>-rw-r--r-- root/root        771 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_gadget_strings.9.gz
<span id="W1L3608" class="LineNr">3608 </span>-rw-r--r-- root/root       1546 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_host_config.9.gz
<span id="W1L3609" class="LineNr">3609 </span>-rw-r--r-- root/root       1077 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_host_endpoint.9.gz
<span id="W1L3610" class="LineNr">3610 </span>-rw-r--r-- root/root       2222 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_interface.9.gz
<span id="W1L3611" class="Folded">3611 </span><span class="Folded">+--185 lines: -rw-r--r-- root/root        981 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_interface_cache.9.gz</span>
<span id="W1L3796" class="LineNr">3796 </span>-rw-r--r-- root/root        709 2014-11-11 16:33:16 ./usr/share/man/man9/unregister_sound_special.9.gz
<span id="W1L3797" class="LineNr">3797 </span>-rw-r--r-- root/root        652 2014-11-11 16:33:16 ./usr/share/man/man9/unregister_syscore_ops.9.gz
<span id="W1L3798" class="LineNr">3798 </span>-rw-r--r-- root/root        699 2014-11-11 16:33:16 ./usr/share/man/man9/update_sd_lb_stats.9.gz
<span id="W1L3799" class="LineNr">3799 </span>-rw-r--r-- root/root        827 2014-11-11 16:33:16 ./usr/share/man/man9/update_sd_pick_busiest.9.gz
<span id="W1L3800" class="LineNr">3800 </span>-rw-r--r-- root/root        801 2014-11-11 16:33:16 ./usr/share/man/man9/update_sg_lb_stats.9.gz
<span id="W1L3801" class="LineNr">3801 </span>-rw-r--r-- root/root        723 2014-11-11 16:33:16 ./usr/share/man/man9/upper_32_bits.9.gz
<span id="W1L3802" class="LineNr">3802 </span><span class="DiffChange">-rw-r--r-- root/root        97</span><span class="DiffText">4</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/usb_add_config.9.gz</span>
<span id="W1L3803" class="LineNr">3803 </span><span class="DiffChange">-rw-r--r-- root/root        91</span><span class="DiffText">2</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/usb_add_function.9.gz</span>
<span id="W1L3804" class="LineNr">3804 </span>-rw-r--r-- root/root        837 2014-11-11 16:33:16 ./usr/share/man/man9/usb_add_hcd.9.gz
<span id="W1L3805" class="LineNr">3805 </span>-rw-r--r-- root/root       1192 2014-11-11 16:33:16 ./usr/share/man/man9/usb_alloc_coherent.9.gz
<span id="W1L3806" class="LineNr">3806 </span>-rw-r--r-- root/root        945 2014-11-11 16:33:16 ./usr/share/man/man9/usb_alloc_streams.9.gz
<span id="W1L3807" class="LineNr">3807 </span>-rw-r--r-- root/root        941 2014-11-11 16:33:16 ./usr/share/man/man9/usb_alloc_urb.9.gz
<span id="W1L3808" class="LineNr">3808 </span>-rw-r--r-- root/root       1018 2014-11-11 16:33:16 ./usr/share/man/man9/usb_altnum_to_altsetting.9.gz
<span id="W1L3809" class="LineNr">3809 </span>-rw-r--r-- root/root        663 2014-11-11 16:33:16 ./usr/share/man/man9/usb_anchor_empty.9.gz
<span id="W1L3810" class="Folded">3810 </span><span class="Folded">+-- 54 lines: -rw-r--r-- root/root        711 2014-11-11 16:33:16 ./usr/share/man/man9/usb_anchor_resume_wakeups.9.gz</span>
<span id="W1L3864" class="LineNr">3864 </span>-rw-r--r-- root/root        806 2014-11-11 16:33:16 ./usr/share/man/man9/usb_for_each_dev.9.gz
<span id="W1L3865" class="LineNr">3865 </span>-rw-r--r-- root/root        832 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_coherent.9.gz
<span id="W1L3866" class="LineNr">3866 </span>-rw-r--r-- root/root        679 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_descriptors.9.gz
<span id="W1L3867" class="LineNr">3867 </span>-rw-r--r-- root/root        892 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_streams.9.gz
<span id="W1L3868" class="LineNr">3868 </span>-rw-r--r-- root/root        799 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_urb.9.gz
<span id="W1L3869" class="LineNr">3869 </span>-rw-r--r-- root/root        809 2014-11-11 16:33:16 ./usr/share/man/man9/usb_function_activate.9.gz
<span id="W1L3870" class="LineNr">3870 </span><span class="DiffChange">-rw-r--r-- root/root       103</span><span class="DiffText">3</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/usb_function_deactivate.9.gz</span>
<span id="W1L3871" class="LineNr">3871 </span>-rw-r--r-- root/root        826 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_clear_selfpowered.9.gz
<span id="W1L3872" class="LineNr">3872 </span>-rw-r--r-- root/root       1186 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_config_buf.9.gz
<span id="W1L3873" class="LineNr">3873 </span>-rw-r--r-- root/root        866 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_connect.9.gz
<span id="W1L3874" class="LineNr">3874 </span>-rw-r--r-- root/root        970 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_disconnect.9.gz
<span id="W1L3875" class="LineNr">3875 </span>-rw-r--r-- root/root        771 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_frame_number.9.gz
<span id="W1L3876" class="LineNr">3876 </span>-rw-r--r-- root/root       1086 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_get_string.9.gz
<span id="W1L3877" class="Folded">3877 </span><span class="Folded">+-- 54 lines: -rw-r--r-- root/root        847 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_probe_driver.9.gz</span>
<span id="W1L3931" class="LineNr">3931 </span>-rw-r--r-- root/root        770 2014-11-11 16:33:16 ./usr/share/man/man9/usb_sg_cancel.9.gz
<span id="W1L3932" class="LineNr">3932 </span>-rw-r--r-- root/root       1247 2014-11-11 16:33:16 ./usr/share/man/man9/usb_sg_init.9.gz
<span id="W1L3933" class="LineNr">3933 </span>-rw-r--r-- root/root       1527 2014-11-11 16:33:16 ./usr/share/man/man9/usb_sg_wait.9.gz
<span id="W1L3934" class="LineNr">3934 </span>-rw-r--r-- root/root        753 2014-11-11 16:33:16 ./usr/share/man/man9/usb_speed_string.9.gz
<span id="W1L3935" class="LineNr">3935 </span>-rw-r--r-- root/root        744 2014-11-11 16:33:16 ./usr/share/man/man9/usb_state_string.9.gz
<span id="W1L3936" class="LineNr">3936 </span>-rw-r--r-- root/root        991 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string.9.gz
<span id="W1L3937" class="LineNr">3937 </span><span class="DiffChange">-rw-r--r-- root/root        94</span><span class="DiffText">0</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string_id.9.gz</span>
<span id="W1L3938" class="LineNr">3938 </span><span class="DiffChange">-rw-r--r-- root/root       107</span><span class="DiffText">4</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string_ids_n.9.gz</span>
<span id="W1L3939" class="LineNr">3939 </span><span class="DiffChange">-rw-r--r-- root/root       100</span><span class="DiffText">3</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string_ids_tab.9.gz</span>
<span id="W1L3940" class="LineNr">3940 </span>-rw-r--r-- root/root       3415 2014-11-11 16:33:16 ./usr/share/man/man9/usb_submit_urb.9.gz
<span id="W1L3941" class="LineNr">3941 </span>-rw-r--r-- root/root        670 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unanchor_urb.9.gz
<span id="W1L3942" class="LineNr">3942 </span>-rw-r--r-- root/root        828 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unlink_anchored_urbs.9.gz
<span id="W1L3943" class="LineNr">3943 </span>-rw-r--r-- root/root       2221 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unlink_urb.9.gz
<span id="W1L3944" class="LineNr">3944 </span>-rw-r--r-- root/root        716 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unpoison_anchored_urbs.9.gz
<span id="W1L3945" class="LineNr">3945 </span>-rw-r--r-- root/root        688 2014-11-11 16:33:16 ./usr/share/man/man9/usb_urb_dir_in.9.gz
<span id="W1L3946" class="Folded">3946 </span><span class="Folded">+--  9 lines: -rw-r--r-- root/root        691 2014-11-11 16:33:16 ./usr/share/man/man9/usb_urb_dir_out.9.gz</span>
<span id="W1L3955" class="LineNr">3955 </span>-rw-r--r-- root/root        753 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_path_lookup.9.gz
<span id="W1L3956" class="LineNr">3956 </span>-rw-r--r-- root/root       1816 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_rename.9.gz
<span id="W1L3957" class="LineNr">3957 </span>-rw-r--r-- root/root       1129 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_setlease.9.gz
<span id="W1L3958" class="LineNr">3958 </span>-rw-r--r-- root/root        761 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_test_lock.9.gz
<span id="W1L3959" class="LineNr">3959 </span>-rw-r--r-- root/root        942 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_unlink.9.gz
<span id="W1L3960" class="LineNr">3960 </span>-rw-r--r-- root/root        867 2014-11-11 16:33:16 ./usr/share/man/man9/virt_to_phys.9.gz
<span id="W1L3961" class="LineNr">3961 </span><span class="DiffChange">-rw-r--r-- root/root       1</span><span class="DiffText">196</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/vm_insert_page.9.gz</span>
<span id="W1L3962" class="LineNr">3962 </span>-rw-r--r-- root/root        933 2014-11-11 16:33:16 ./usr/share/man/man9/vm_insert_pfn.9.gz
<span id="W1L3963" class="LineNr">3963 </span>-rw-r--r-- root/root        897 2014-11-11 16:33:16 ./usr/share/man/man9/vm_iomap_memory.9.gz
<span id="W1L3964" class="LineNr">3964 </span>-rw-r--r-- root/root       1044 2014-11-11 16:33:16 ./usr/share/man/man9/vm_map_ram.9.gz
<span id="W1L3965" class="LineNr">3965 </span>-rw-r--r-- root/root        930 2014-11-11 16:33:16 ./usr/share/man/man9/vm_unmap_aliases.9.gz
<span id="W1L3966" class="LineNr">3966 </span>-rw-r--r-- root/root        705 2014-11-11 16:33:16 ./usr/share/man/man9/vm_unmap_ram.9.gz
<span id="W1L3967" class="LineNr">3967 </span>-rw-r--r-- root/root        747 2014-11-11 16:33:16 ./usr/share/man/man9/vmalloc.9.gz
<span id="W1L3968" class="Folded">3968 </span><span class="Folded">+--172 lines: -rw-r--r-- root/root        731 2014-11-11 16:33:16 ./usr/share/man/man9/vmalloc_32.9.gz</span>
</pre>
</div></td>
<td valign="top"><div>
<pre>
<span id="W2L1" class="Folded">   1 </span><span class="Folded">+--2905 lines: -rwxr-xr-x root/root          0 2014-11-11 16:33:16 ./-----------</span>
<span id="W2L2906" class="LineNr">2906 </span>-rw-r--r-- root/root        702 2014-11-11 16:33:16 ./usr/share/man/man9/sb_end_write.9.gz
<span id="W2L2907" class="LineNr">2907 </span>-rw-r--r-- root/root        997 2014-11-11 16:33:16 ./usr/share/man/man9/sb_start_pagefault.9.gz
<span id="W2L2908" class="LineNr">2908 </span>-rw-r--r-- root/root        993 2014-11-11 16:33:16 ./usr/share/man/man9/sb_start_write.9.gz
<span id="W2L2909" class="LineNr">2909 </span>-rw-r--r-- root/root        916 2014-11-11 16:33:16 ./usr/share/man/man9/scan_read_oob.9.gz
<span id="W2L2910" class="LineNr">2910 </span>-rw-r--r-- root/root        770 2014-11-11 16:33:16 ./usr/share/man/man9/sched_setscheduler.9.gz
<span id="W2L2911" class="LineNr">2911 </span>-rw-r--r-- root/root        964 2014-11-11 16:33:16 ./usr/share/man/man9/schedule_hrtimeout.9.gz
<span id="W2L2912" class="LineNr">2912 </span><span class="DiffChange">-rw-r--r-- root/root       11</span><span class="DiffText">41</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/schedule_hrtimeout_range.9.gz</span>
<span id="W2L2913" class="LineNr">2913 </span>-rw-r--r-- root/root       1017 2014-11-11 16:33:16 ./usr/share/man/man9/schedule_timeout.9.gz
<span id="W2L2914" class="LineNr">2914 </span>-rw-r--r-- root/root        837 2014-11-11 16:33:16 ./usr/share/man/man9/scnprintf.9.gz
<span id="W2L2915" class="LineNr">2915 </span>-rw-r--r-- root/root        716 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_10_lba_len.9.gz
<span id="W2L2916" class="LineNr">2916 </span>-rw-r--r-- root/root        716 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_16_lba_len.9.gz
<span id="W2L2917" class="LineNr">2917 </span>-rw-r--r-- root/root        714 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_6_lba_len.9.gz
<span id="W2L2918" class="LineNr">2918 </span>-rw-r--r-- root/root        884 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_add_host_with_dma.9.gz
<span id="W2L2919" class="Folded">2919 </span><span class="Folded">+--500 lines: -rw-r--r-- root/root        951 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_add_lun.9.gz</span>
<span id="W2L3419" class="LineNr">3419 </span>-rw-r--r-- root/root        662 2014-11-11 16:33:16 ./usr/share/man/man9/strrchr.9.gz
<span id="W2L3420" class="LineNr">3420 </span>-rw-r--r-- root/root        819 2014-11-11 16:33:16 ./usr/share/man/man9/strsep.9.gz
<span id="W2L3421" class="LineNr">3421 </span>-rw-r--r-- root/root        687 2014-11-11 16:33:16 ./usr/share/man/man9/strspn.9.gz
<span id="W2L3422" class="LineNr">3422 </span>-rw-r--r-- root/root        659 2014-11-11 16:33:16 ./usr/share/man/man9/strstr.9.gz
<span id="W2L3423" class="LineNr">3423 </span>-rw-r--r-- root/root        770 2014-11-11 16:33:16 ./usr/share/man/man9/strtobool.9.gz
<span id="W2L3424" class="LineNr">3424 </span>-rw-r--r-- root/root        983 2014-11-11 16:33:16 ./usr/share/man/man9/struct_bss_parameters.9.gz
<span id="W2L3425" class="LineNr">3425 </span><span class="DiffChange">-rw-r--r-- root/root       172</span><span class="DiffText">5</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/struct_bus_type.9.gz</span>
<span id="W2L3426" class="LineNr">3426 </span>-rw-r--r-- root/root        798 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw1.9.gz
<span id="W2L3427" class="LineNr">3427 </span>-rw-r--r-- root/root        809 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw_dev_id.9.gz
<span id="W2L3428" class="LineNr">3428 </span>-rw-r--r-- root/root        867 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw_device.9.gz
<span id="W2L3429" class="LineNr">3429 </span>-rw-r--r-- root/root       1087 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw_driver.9.gz
<span id="W2L3430" class="LineNr">3430 </span>-rw-r--r-- root/root        823 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccwgroup_device.9.gz
<span id="W2L3431" class="LineNr">3431 </span>-rw-r--r-- root/root        930 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccwgroup_driver.9.gz
<span id="W2L3432" class="Folded">3432 </span><span class="Folded">+--166 lines: -rw-r--r-- root/root       1155 2014-11-11 16:33:16 ./usr/share/man/man9/struct_cfg80211_ap_settings.9.gz</span>
<span id="W2L3598" class="LineNr">3598 </span>-rw-r--r-- root/root       1670 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_composite_driver.9.gz
<span id="W2L3599" class="LineNr">3599 </span>-rw-r--r-- root/root       1717 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_configuration.9.gz
<span id="W2L3600" class="LineNr">3600 </span>-rw-r--r-- root/root       2489 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_device.9.gz
<span id="W2L3601" class="LineNr">3601 </span>-rw-r--r-- root/root       1158 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_device_driver.9.gz
<span id="W2L3602" class="LineNr">3602 </span>-rw-r--r-- root/root       2304 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_driver.9.gz
<span id="W2L3603" class="LineNr">3603 </span>-rw-r--r-- root/root       1420 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_ep.9.gz
<span id="W2L3604" class="LineNr">3604 </span><span class="DiffChange">-rw-r--r-- root/root       234</span><span class="DiffText">5</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_function.9.gz</span>
<span id="W2L3605" class="LineNr">3605 </span>-rw-r--r-- root/root       1939 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_gadget.9.gz
<span id="W2L3606" class="LineNr">3606 </span>-rw-r--r-- root/root       2226 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_gadget_driver.9.gz
<span id="W2L3607" class="LineNr">3607 </span>-rw-r--r-- root/root        771 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_gadget_strings.9.gz
<span id="W2L3608" class="LineNr">3608 </span>-rw-r--r-- root/root       1546 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_host_config.9.gz
<span id="W2L3609" class="LineNr">3609 </span>-rw-r--r-- root/root       1077 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_host_endpoint.9.gz
<span id="W2L3610" class="LineNr">3610 </span>-rw-r--r-- root/root       2222 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_interface.9.gz
<span id="W2L3611" class="Folded">3611 </span><span class="Folded">+--185 lines: -rw-r--r-- root/root        981 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_interface_cache.9.gz</span>
<span id="W2L3796" class="LineNr">3796 </span>-rw-r--r-- root/root        709 2014-11-11 16:33:16 ./usr/share/man/man9/unregister_sound_special.9.gz
<span id="W2L3797" class="LineNr">3797 </span>-rw-r--r-- root/root        652 2014-11-11 16:33:16 ./usr/share/man/man9/unregister_syscore_ops.9.gz
<span id="W2L3798" class="LineNr">3798 </span>-rw-r--r-- root/root        699 2014-11-11 16:33:16 ./usr/share/man/man9/update_sd_lb_stats.9.gz
<span id="W2L3799" class="LineNr">3799 </span>-rw-r--r-- root/root        827 2014-11-11 16:33:16 ./usr/share/man/man9/update_sd_pick_busiest.9.gz
<span id="W2L3800" class="LineNr">3800 </span>-rw-r--r-- root/root        801 2014-11-11 16:33:16 ./usr/share/man/man9/update_sg_lb_stats.9.gz
<span id="W2L3801" class="LineNr">3801 </span>-rw-r--r-- root/root        723 2014-11-11 16:33:16 ./usr/share/man/man9/upper_32_bits.9.gz
<span id="W2L3802" class="LineNr">3802 </span><span class="DiffChange">-rw-r--r-- root/root        97</span><span class="DiffText">6</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/usb_add_config.9.gz</span>
<span id="W2L3803" class="LineNr">3803 </span><span class="DiffChange">-rw-r--r-- root/root        91</span><span class="DiffText">1</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/usb_add_function.9.gz</span>
<span id="W2L3804" class="LineNr">3804 </span>-rw-r--r-- root/root        837 2014-11-11 16:33:16 ./usr/share/man/man9/usb_add_hcd.9.gz
<span id="W2L3805" class="LineNr">3805 </span>-rw-r--r-- root/root       1192 2014-11-11 16:33:16 ./usr/share/man/man9/usb_alloc_coherent.9.gz
<span id="W2L3806" class="LineNr">3806 </span>-rw-r--r-- root/root        945 2014-11-11 16:33:16 ./usr/share/man/man9/usb_alloc_streams.9.gz
<span id="W2L3807" class="LineNr">3807 </span>-rw-r--r-- root/root        941 2014-11-11 16:33:16 ./usr/share/man/man9/usb_alloc_urb.9.gz
<span id="W2L3808" class="LineNr">3808 </span>-rw-r--r-- root/root       1018 2014-11-11 16:33:16 ./usr/share/man/man9/usb_altnum_to_altsetting.9.gz
<span id="W2L3809" class="LineNr">3809 </span>-rw-r--r-- root/root        663 2014-11-11 16:33:16 ./usr/share/man/man9/usb_anchor_empty.9.gz
<span id="W2L3810" class="Folded">3810 </span><span class="Folded">+-- 54 lines: -rw-r--r-- root/root        711 2014-11-11 16:33:16 ./usr/share/man/man9/usb_anchor_resume_wakeups.9.gz</span>
<span id="W2L3864" class="LineNr">3864 </span>-rw-r--r-- root/root        806 2014-11-11 16:33:16 ./usr/share/man/man9/usb_for_each_dev.9.gz
<span id="W2L3865" class="LineNr">3865 </span>-rw-r--r-- root/root        832 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_coherent.9.gz
<span id="W2L3866" class="LineNr">3866 </span>-rw-r--r-- root/root        679 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_descriptors.9.gz
<span id="W2L3867" class="LineNr">3867 </span>-rw-r--r-- root/root        892 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_streams.9.gz
<span id="W2L3868" class="LineNr">3868 </span>-rw-r--r-- root/root        799 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_urb.9.gz
<span id="W2L3869" class="LineNr">3869 </span>-rw-r--r-- root/root        809 2014-11-11 16:33:16 ./usr/share/man/man9/usb_function_activate.9.gz
<span id="W2L3870" class="LineNr">3870 </span><span class="DiffChange">-rw-r--r-- root/root       103</span><span class="DiffText">1</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/usb_function_deactivate.9.gz</span>
<span id="W2L3871" class="LineNr">3871 </span>-rw-r--r-- root/root        826 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_clear_selfpowered.9.gz
<span id="W2L3872" class="LineNr">3872 </span>-rw-r--r-- root/root       1186 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_config_buf.9.gz
<span id="W2L3873" class="LineNr">3873 </span>-rw-r--r-- root/root        866 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_connect.9.gz
<span id="W2L3874" class="LineNr">3874 </span>-rw-r--r-- root/root        970 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_disconnect.9.gz
<span id="W2L3875" class="LineNr">3875 </span>-rw-r--r-- root/root        771 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_frame_number.9.gz
<span id="W2L3876" class="LineNr">3876 </span>-rw-r--r-- root/root       1086 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_get_string.9.gz
<span id="W2L3877" class="Folded">3877 </span><span class="Folded">+-- 54 lines: -rw-r--r-- root/root        847 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_probe_driver.9.gz</span>
<span id="W2L3931" class="LineNr">3931 </span>-rw-r--r-- root/root        770 2014-11-11 16:33:16 ./usr/share/man/man9/usb_sg_cancel.9.gz
<span id="W2L3932" class="LineNr">3932 </span>-rw-r--r-- root/root       1247 2014-11-11 16:33:16 ./usr/share/man/man9/usb_sg_init.9.gz
<span id="W2L3933" class="LineNr">3933 </span>-rw-r--r-- root/root       1527 2014-11-11 16:33:16 ./usr/share/man/man9/usb_sg_wait.9.gz
<span id="W2L3934" class="LineNr">3934 </span>-rw-r--r-- root/root        753 2014-11-11 16:33:16 ./usr/share/man/man9/usb_speed_string.9.gz
<span id="W2L3935" class="LineNr">3935 </span>-rw-r--r-- root/root        744 2014-11-11 16:33:16 ./usr/share/man/man9/usb_state_string.9.gz
<span id="W2L3936" class="LineNr">3936 </span>-rw-r--r-- root/root        991 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string.9.gz
<span id="W2L3937" class="LineNr">3937 </span><span class="DiffChange">-rw-r--r-- root/root        94</span><span class="DiffText">1</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string_id.9.gz</span>
<span id="W2L3938" class="LineNr">3938 </span><span class="DiffChange">-rw-r--r-- root/root       107</span><span class="DiffText">5</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string_ids_n.9.gz</span>
<span id="W2L3939" class="LineNr">3939 </span><span class="DiffChange">-rw-r--r-- root/root       100</span><span class="DiffText">4</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string_ids_tab.9.gz</span>
<span id="W2L3940" class="LineNr">3940 </span>-rw-r--r-- root/root       3415 2014-11-11 16:33:16 ./usr/share/man/man9/usb_submit_urb.9.gz
<span id="W2L3941" class="LineNr">3941 </span>-rw-r--r-- root/root        670 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unanchor_urb.9.gz
<span id="W2L3942" class="LineNr">3942 </span>-rw-r--r-- root/root        828 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unlink_anchored_urbs.9.gz
<span id="W2L3943" class="LineNr">3943 </span>-rw-r--r-- root/root       2221 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unlink_urb.9.gz
<span id="W2L3944" class="LineNr">3944 </span>-rw-r--r-- root/root        716 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unpoison_anchored_urbs.9.gz
<span id="W2L3945" class="LineNr">3945 </span>-rw-r--r-- root/root        688 2014-11-11 16:33:16 ./usr/share/man/man9/usb_urb_dir_in.9.gz
<span id="W2L3946" class="Folded">3946 </span><span class="Folded">+--  9 lines: -rw-r--r-- root/root        691 2014-11-11 16:33:16 ./usr/share/man/man9/usb_urb_dir_out.9.gz</span>
<span id="W2L3955" class="LineNr">3955 </span>-rw-r--r-- root/root        753 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_path_lookup.9.gz
<span id="W2L3956" class="LineNr">3956 </span>-rw-r--r-- root/root       1816 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_rename.9.gz
<span id="W2L3957" class="LineNr">3957 </span>-rw-r--r-- root/root       1129 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_setlease.9.gz
<span id="W2L3958" class="LineNr">3958 </span>-rw-r--r-- root/root        761 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_test_lock.9.gz
<span id="W2L3959" class="LineNr">3959 </span>-rw-r--r-- root/root        942 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_unlink.9.gz
<span id="W2L3960" class="LineNr">3960 </span>-rw-r--r-- root/root        867 2014-11-11 16:33:16 ./usr/share/man/man9/virt_to_phys.9.gz
<span id="W2L3961" class="LineNr">3961 </span><span class="DiffChange">-rw-r--r-- root/root       1</span><span class="DiffText">202</span><span class="DiffChange"> 2014-11-11 16:33:16 ./usr/share/man/man9/vm_insert_page.9.gz</span>
<span id="W2L3962" class="LineNr">3962 </span>-rw-r--r-- root/root        933 2014-11-11 16:33:16 ./usr/share/man/man9/vm_insert_pfn.9.gz
<span id="W2L3963" class="LineNr">3963 </span>-rw-r--r-- root/root        897 2014-11-11 16:33:16 ./usr/share/man/man9/vm_iomap_memory.9.gz
<span id="W2L3964" class="LineNr">3964 </span>-rw-r--r-- root/root       1044 2014-11-11 16:33:16 ./usr/share/man/man9/vm_map_ram.9.gz
<span id="W2L3965" class="LineNr">3965 </span>-rw-r--r-- root/root        930 2014-11-11 16:33:16 ./usr/share/man/man9/vm_unmap_aliases.9.gz
<span id="W2L3966" class="LineNr">3966 </span>-rw-r--r-- root/root        705 2014-11-11 16:33:16 ./usr/share/man/man9/vm_unmap_ram.9.gz
<span id="W2L3967" class="LineNr">3967 </span>-rw-r--r-- root/root        747 2014-11-11 16:33:16 ./usr/share/man/man9/vmalloc.9.gz
<span id="W2L3968" class="Folded">3968 </span><span class="Folded">+--172 lines: -rw-r--r-- root/root        731 2014-11-11 16:33:16 ./usr/share/man/man9/vmalloc_32.9.gz</span>
</pre>
</div></td>
</tr>
</table>
</div>
</div>
</div>
<div class='difference'>
<div><span class='source'>metadata</div>
<table border='1' width='100%' id='vimCodeElement'>
<tr>

</tr><tr>
<td valign="top"><div>
<pre>
<span id="W1L1" class="LineNr">1 </span>rw-r--r-- 0/0      4 Nov 11 16:33 2014 debian-binary
<span id="W1L2" class="LineNr">2 </span><span class="DiffChange">rw-r--r-- 0/0 1262</span><span class="DiffText">41</span><span class="DiffChange"> Nov 11 16:33 2014 control.tar.gz                         </span>
<span id="W1L3" class="LineNr">3 </span><span class="DiffChange">rw-r--r-- 0/0 346426</span><span class="DiffText">8</span><span class="DiffChange"> Nov 11 16:33 2014 data.tar.xz                           </span>
</pre>
</div></td>
<td valign="top"><div>
<pre>
<span id="W2L1" class="LineNr">1 </span>rw-r--r-- 0/0      4 Nov 11 16:33 2014 debian-binary
<span id="W2L2" class="LineNr">2 </span><span class="DiffChange">rw-r--r-- 0/0 1262</span><span class="DiffText">63</span><span class="DiffChange"> Nov 11 16:33 2014 control.tar.gz                         </span>
<span id="W2L3" class="LineNr">3 </span><span class="DiffChange">rw-r--r-- 0/0 346426</span><span class="DiffText">4</span><span class="DiffChange"> Nov 11 16:33 2014 data.tar.xz                           </span>
</pre>
</div></td>
</tr>
</table>
</div>
</div>

<div class="footer">Generated by debbindiff 4</div>
</body>
</html>