aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/DocBook
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/DocBook')
-rw-r--r--Documentation/DocBook/80211.tmpl13
-rw-r--r--Documentation/DocBook/device-drivers.tmpl6
-rw-r--r--Documentation/DocBook/drm.tmpl277
-rw-r--r--Documentation/DocBook/genericirq.tmpl13
-rw-r--r--Documentation/DocBook/kernel-locking.tmpl7
-rw-r--r--Documentation/DocBook/media/dvb/frontend.xml2
-rw-r--r--Documentation/DocBook/media/v4l/controls.xml2
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-nv12mt.xml2
-rw-r--r--Documentation/DocBook/writing_usb_driver.tmpl2
9 files changed, 254 insertions, 70 deletions
diff --git a/Documentation/DocBook/80211.tmpl b/Documentation/DocBook/80211.tmpl
index 0f6a3edcd44b..49267ea97568 100644
--- a/Documentation/DocBook/80211.tmpl
+++ b/Documentation/DocBook/80211.tmpl
@@ -127,14 +127,11 @@
127!Finclude/net/cfg80211.h cfg80211_ibss_params 127!Finclude/net/cfg80211.h cfg80211_ibss_params
128!Finclude/net/cfg80211.h cfg80211_connect_params 128!Finclude/net/cfg80211.h cfg80211_connect_params
129!Finclude/net/cfg80211.h cfg80211_pmksa 129!Finclude/net/cfg80211.h cfg80211_pmksa
130!Finclude/net/cfg80211.h cfg80211_send_rx_auth 130!Finclude/net/cfg80211.h cfg80211_rx_mlme_mgmt
131!Finclude/net/cfg80211.h cfg80211_send_auth_timeout 131!Finclude/net/cfg80211.h cfg80211_auth_timeout
132!Finclude/net/cfg80211.h cfg80211_send_rx_assoc 132!Finclude/net/cfg80211.h cfg80211_rx_assoc_resp
133!Finclude/net/cfg80211.h cfg80211_send_assoc_timeout 133!Finclude/net/cfg80211.h cfg80211_assoc_timeout
134!Finclude/net/cfg80211.h cfg80211_send_deauth 134!Finclude/net/cfg80211.h cfg80211_tx_mlme_mgmt
135!Finclude/net/cfg80211.h __cfg80211_send_deauth
136!Finclude/net/cfg80211.h cfg80211_send_disassoc
137!Finclude/net/cfg80211.h __cfg80211_send_disassoc
138!Finclude/net/cfg80211.h cfg80211_ibss_joined 135!Finclude/net/cfg80211.h cfg80211_ibss_joined
139!Finclude/net/cfg80211.h cfg80211_connect_result 136!Finclude/net/cfg80211.h cfg80211_connect_result
140!Finclude/net/cfg80211.h cfg80211_roamed 137!Finclude/net/cfg80211.h cfg80211_roamed
diff --git a/Documentation/DocBook/device-drivers.tmpl b/Documentation/DocBook/device-drivers.tmpl
index c36892c072da..cbfdf5486639 100644
--- a/Documentation/DocBook/device-drivers.tmpl
+++ b/Documentation/DocBook/device-drivers.tmpl
@@ -126,6 +126,8 @@ X!Edrivers/base/interface.c
126 </sect1> 126 </sect1>
127 <sect1><title>Device Drivers DMA Management</title> 127 <sect1><title>Device Drivers DMA Management</title>
128!Edrivers/base/dma-buf.c 128!Edrivers/base/dma-buf.c
129!Edrivers/base/reservation.c
130!Iinclude/linux/reservation.h
129!Edrivers/base/dma-coherent.c 131!Edrivers/base/dma-coherent.c
130!Edrivers/base/dma-mapping.c 132!Edrivers/base/dma-mapping.c
131 </sect1> 133 </sect1>
@@ -297,10 +299,10 @@ KAO -->
297 </sect1> 299 </sect1>
298 <sect1><title>Frame Buffer Fonts</title> 300 <sect1><title>Frame Buffer Fonts</title>
299 <para> 301 <para>
300 Refer to the file drivers/video/console/fonts.c for more information. 302 Refer to the file lib/fonts/fonts.c for more information.
301 </para> 303 </para>
302<!-- FIXME: Removed for now since no structured comments in source 304<!-- FIXME: Removed for now since no structured comments in source
303X!Idrivers/video/console/fonts.c 305X!Ilib/fonts/fonts.c
304--> 306-->
305 </sect1> 307 </sect1>
306 </chapter> 308 </chapter>
diff --git a/Documentation/DocBook/drm.tmpl b/Documentation/DocBook/drm.tmpl
index f9df3b872c16..7d1278e7a434 100644
--- a/Documentation/DocBook/drm.tmpl
+++ b/Documentation/DocBook/drm.tmpl
@@ -186,11 +186,12 @@
186 <varlistentry> 186 <varlistentry>
187 <term>DRIVER_HAVE_IRQ</term><term>DRIVER_IRQ_SHARED</term> 187 <term>DRIVER_HAVE_IRQ</term><term>DRIVER_IRQ_SHARED</term>
188 <listitem><para> 188 <listitem><para>
189 DRIVER_HAVE_IRQ indicates whether the driver has an IRQ handler. The 189 DRIVER_HAVE_IRQ indicates whether the driver has an IRQ handler
190 DRM core will automatically register an interrupt handler when the 190 managed by the DRM Core. The core will support simple IRQ handler
191 flag is set. DRIVER_IRQ_SHARED indicates whether the device &amp; 191 installation when the flag is set. The installation process is
192 handler support shared IRQs (note that this is required of PCI 192 described in <xref linkend="drm-irq-registration"/>.</para>
193 drivers). 193 <para>DRIVER_IRQ_SHARED indicates whether the device &amp; handler
194 support shared IRQs (note that this is required of PCI drivers).
194 </para></listitem> 195 </para></listitem>
195 </varlistentry> 196 </varlistentry>
196 <varlistentry> 197 <varlistentry>
@@ -344,50 +345,71 @@ char *date;</synopsis>
344 The DRM core tries to facilitate IRQ handler registration and 345 The DRM core tries to facilitate IRQ handler registration and
345 unregistration by providing <function>drm_irq_install</function> and 346 unregistration by providing <function>drm_irq_install</function> and
346 <function>drm_irq_uninstall</function> functions. Those functions only 347 <function>drm_irq_uninstall</function> functions. Those functions only
347 support a single interrupt per device. 348 support a single interrupt per device, devices that use more than one
348 </para> 349 IRQs need to be handled manually.
349 <!--!Fdrivers/char/drm/drm_irq.c drm_irq_install-->
350 <para>
351 Both functions get the device IRQ by calling
352 <function>drm_dev_to_irq</function>. This inline function will call a
353 bus-specific operation to retrieve the IRQ number. For platform devices,
354 <function>platform_get_irq</function>(..., 0) is used to retrieve the
355 IRQ number.
356 </para>
357 <para>
358 <function>drm_irq_install</function> starts by calling the
359 <methodname>irq_preinstall</methodname> driver operation. The operation
360 is optional and must make sure that the interrupt will not get fired by
361 clearing all pending interrupt flags or disabling the interrupt.
362 </para>
363 <para>
364 The IRQ will then be requested by a call to
365 <function>request_irq</function>. If the DRIVER_IRQ_SHARED driver
366 feature flag is set, a shared (IRQF_SHARED) IRQ handler will be
367 requested.
368 </para>
369 <para>
370 The IRQ handler function must be provided as the mandatory irq_handler
371 driver operation. It will get passed directly to
372 <function>request_irq</function> and thus has the same prototype as all
373 IRQ handlers. It will get called with a pointer to the DRM device as the
374 second argument.
375 </para>
376 <para>
377 Finally the function calls the optional
378 <methodname>irq_postinstall</methodname> driver operation. The operation
379 usually enables interrupts (excluding the vblank interrupt, which is
380 enabled separately), but drivers may choose to enable/disable interrupts
381 at a different time.
382 </para>
383 <para>
384 <function>drm_irq_uninstall</function> is similarly used to uninstall an
385 IRQ handler. It starts by waking up all processes waiting on a vblank
386 interrupt to make sure they don't hang, and then calls the optional
387 <methodname>irq_uninstall</methodname> driver operation. The operation
388 must disable all hardware interrupts. Finally the function frees the IRQ
389 by calling <function>free_irq</function>.
390 </para> 350 </para>
351 <sect4>
352 <title>Managed IRQ Registration</title>
353 <para>
354 Both the <function>drm_irq_install</function> and
355 <function>drm_irq_uninstall</function> functions get the device IRQ by
356 calling <function>drm_dev_to_irq</function>. This inline function will
357 call a bus-specific operation to retrieve the IRQ number. For platform
358 devices, <function>platform_get_irq</function>(..., 0) is used to
359 retrieve the IRQ number.
360 </para>
361 <para>
362 <function>drm_irq_install</function> starts by calling the
363 <methodname>irq_preinstall</methodname> driver operation. The operation
364 is optional and must make sure that the interrupt will not get fired by
365 clearing all pending interrupt flags or disabling the interrupt.
366 </para>
367 <para>
368 The IRQ will then be requested by a call to
369 <function>request_irq</function>. If the DRIVER_IRQ_SHARED driver
370 feature flag is set, a shared (IRQF_SHARED) IRQ handler will be
371 requested.
372 </para>
373 <para>
374 The IRQ handler function must be provided as the mandatory irq_handler
375 driver operation. It will get passed directly to
376 <function>request_irq</function> and thus has the same prototype as all
377 IRQ handlers. It will get called with a pointer to the DRM device as the
378 second argument.
379 </para>
380 <para>
381 Finally the function calls the optional
382 <methodname>irq_postinstall</methodname> driver operation. The operation
383 usually enables interrupts (excluding the vblank interrupt, which is
384 enabled separately), but drivers may choose to enable/disable interrupts
385 at a different time.
386 </para>
387 <para>
388 <function>drm_irq_uninstall</function> is similarly used to uninstall an
389 IRQ handler. It starts by waking up all processes waiting on a vblank
390 interrupt to make sure they don't hang, and then calls the optional
391 <methodname>irq_uninstall</methodname> driver operation. The operation
392 must disable all hardware interrupts. Finally the function frees the IRQ
393 by calling <function>free_irq</function>.
394 </para>
395 </sect4>
396 <sect4>
397 <title>Manual IRQ Registration</title>
398 <para>
399 Drivers that require multiple interrupt handlers can't use the managed
400 IRQ registration functions. In that case IRQs must be registered and
401 unregistered manually (usually with the <function>request_irq</function>
402 and <function>free_irq</function> functions, or their devm_* equivalent).
403 </para>
404 <para>
405 When manually registering IRQs, drivers must not set the DRIVER_HAVE_IRQ
406 driver feature flag, and must not provide the
407 <methodname>irq_handler</methodname> driver operation. They must set the
408 <structname>drm_device</structname> <structfield>irq_enabled</structfield>
409 field to 1 upon registration of the IRQs, and clear it to 0 after
410 unregistering the IRQs.
411 </para>
412 </sect4>
391 </sect3> 413 </sect3>
392 <sect3> 414 <sect3>
393 <title>Memory Manager Initialization</title> 415 <title>Memory Manager Initialization</title>
@@ -434,7 +456,7 @@ char *date;</synopsis>
434 The DRM core includes two memory managers, namely Translation Table Maps 456 The DRM core includes two memory managers, namely Translation Table Maps
435 (TTM) and Graphics Execution Manager (GEM). TTM was the first DRM memory 457 (TTM) and Graphics Execution Manager (GEM). TTM was the first DRM memory
436 manager to be developed and tried to be a one-size-fits-them all 458 manager to be developed and tried to be a one-size-fits-them all
437 solution. It provides a single userspace API to accomodate the need of 459 solution. It provides a single userspace API to accommodate the need of
438 all hardware, supporting both Unified Memory Architecture (UMA) devices 460 all hardware, supporting both Unified Memory Architecture (UMA) devices
439 and devices with dedicated video RAM (i.e. most discrete video cards). 461 and devices with dedicated video RAM (i.e. most discrete video cards).
440 This resulted in a large, complex piece of code that turned out to be 462 This resulted in a large, complex piece of code that turned out to be
@@ -701,7 +723,7 @@ char *date;</synopsis>
701 <para> 723 <para>
702 Similar to global names, GEM file descriptors are also used to share GEM 724 Similar to global names, GEM file descriptors are also used to share GEM
703 objects across processes. They offer additional security: as file 725 objects across processes. They offer additional security: as file
704 descriptors must be explictly sent over UNIX domain sockets to be shared 726 descriptors must be explicitly sent over UNIX domain sockets to be shared
705 between applications, they can't be guessed like the globally unique GEM 727 between applications, they can't be guessed like the globally unique GEM
706 names. 728 names.
707 </para> 729 </para>
@@ -1154,7 +1176,7 @@ int max_width, max_height;</synopsis>
1154 </para> 1176 </para>
1155 <para> 1177 <para>
1156 The <methodname>page_flip</methodname> operation schedules a page flip. 1178 The <methodname>page_flip</methodname> operation schedules a page flip.
1157 Once any pending rendering targetting the new frame buffer has 1179 Once any pending rendering targeting the new frame buffer has
1158 completed, the CRTC will be reprogrammed to display that frame buffer 1180 completed, the CRTC will be reprogrammed to display that frame buffer
1159 after the next vertical refresh. The operation must return immediately 1181 after the next vertical refresh. The operation must return immediately
1160 without waiting for rendering or page flip to complete and must block 1182 without waiting for rendering or page flip to complete and must block
@@ -1214,6 +1236,15 @@ int max_width, max_height;</synopsis>
1214 <title>Miscellaneous</title> 1236 <title>Miscellaneous</title>
1215 <itemizedlist> 1237 <itemizedlist>
1216 <listitem> 1238 <listitem>
1239 <synopsis>void (*set_property)(struct drm_crtc *crtc,
1240 struct drm_property *property, uint64_t value);</synopsis>
1241 <para>
1242 Set the value of the given CRTC property to
1243 <parameter>value</parameter>. See <xref linkend="drm-kms-properties"/>
1244 for more information about properties.
1245 </para>
1246 </listitem>
1247 <listitem>
1217 <synopsis>void (*gamma_set)(struct drm_crtc *crtc, u16 *r, u16 *g, u16 *b, 1248 <synopsis>void (*gamma_set)(struct drm_crtc *crtc, u16 *r, u16 *g, u16 *b,
1218 uint32_t start, uint32_t size);</synopsis> 1249 uint32_t start, uint32_t size);</synopsis>
1219 <para> 1250 <para>
@@ -1363,6 +1394,15 @@ int max_width, max_height;</synopsis>
1363 <xref linkend="drm-kms-init"/>. 1394 <xref linkend="drm-kms-init"/>.
1364 </para> 1395 </para>
1365 </listitem> 1396 </listitem>
1397 <listitem>
1398 <synopsis>void (*set_property)(struct drm_plane *plane,
1399 struct drm_property *property, uint64_t value);</synopsis>
1400 <para>
1401 Set the value of the given plane property to
1402 <parameter>value</parameter>. See <xref linkend="drm-kms-properties"/>
1403 for more information about properties.
1404 </para>
1405 </listitem>
1366 </itemizedlist> 1406 </itemizedlist>
1367 </sect3> 1407 </sect3>
1368 </sect2> 1408 </sect2>
@@ -1572,6 +1612,15 @@ int max_width, max_height;</synopsis>
1572 <title>Miscellaneous</title> 1612 <title>Miscellaneous</title>
1573 <itemizedlist> 1613 <itemizedlist>
1574 <listitem> 1614 <listitem>
1615 <synopsis>void (*set_property)(struct drm_connector *connector,
1616 struct drm_property *property, uint64_t value);</synopsis>
1617 <para>
1618 Set the value of the given connector property to
1619 <parameter>value</parameter>. See <xref linkend="drm-kms-properties"/>
1620 for more information about properties.
1621 </para>
1622 </listitem>
1623 <listitem>
1575 <synopsis>void (*destroy)(struct drm_connector *connector);</synopsis> 1624 <synopsis>void (*destroy)(struct drm_connector *connector);</synopsis>
1576 <para> 1625 <para>
1577 Destroy the connector when not needed anymore. See 1626 Destroy the connector when not needed anymore. See
@@ -1846,10 +1895,6 @@ void intel_crt_init(struct drm_device *dev)
1846 <synopsis>bool (*mode_fixup)(struct drm_encoder *encoder, 1895 <synopsis>bool (*mode_fixup)(struct drm_encoder *encoder,
1847 const struct drm_display_mode *mode, 1896 const struct drm_display_mode *mode,
1848 struct drm_display_mode *adjusted_mode);</synopsis> 1897 struct drm_display_mode *adjusted_mode);</synopsis>
1849 <note><para>
1850 FIXME: The mode argument be const, but the i915 driver modifies
1851 mode-&gt;clock in <function>intel_dp_mode_fixup</function>.
1852 </para></note>
1853 <para> 1898 <para>
1854 Let encoders adjust the requested mode or reject it completely. This 1899 Let encoders adjust the requested mode or reject it completely. This
1855 operation returns true if the mode is accepted (possibly after being 1900 operation returns true if the mode is accepted (possibly after being
@@ -2161,6 +2206,128 @@ void intel_crt_init(struct drm_device *dev)
2161 <title>EDID Helper Functions Reference</title> 2206 <title>EDID Helper Functions Reference</title>
2162!Edrivers/gpu/drm/drm_edid.c 2207!Edrivers/gpu/drm/drm_edid.c
2163 </sect2> 2208 </sect2>
2209 <sect2>
2210 <title>Rectangle Utilities Reference</title>
2211!Pinclude/drm/drm_rect.h rect utils
2212!Iinclude/drm/drm_rect.h
2213!Edrivers/gpu/drm/drm_rect.c
2214 </sect2>
2215 </sect1>
2216
2217 <!-- Internals: kms properties -->
2218
2219 <sect1 id="drm-kms-properties">
2220 <title>KMS Properties</title>
2221 <para>
2222 Drivers may need to expose additional parameters to applications than
2223 those described in the previous sections. KMS supports attaching
2224 properties to CRTCs, connectors and planes and offers a userspace API to
2225 list, get and set the property values.
2226 </para>
2227 <para>
2228 Properties are identified by a name that uniquely defines the property
2229 purpose, and store an associated value. For all property types except blob
2230 properties the value is a 64-bit unsigned integer.
2231 </para>
2232 <para>
2233 KMS differentiates between properties and property instances. Drivers
2234 first create properties and then create and associate individual instances
2235 of those properties to objects. A property can be instantiated multiple
2236 times and associated with different objects. Values are stored in property
2237 instances, and all other property information are stored in the propery
2238 and shared between all instances of the property.
2239 </para>
2240 <para>
2241 Every property is created with a type that influences how the KMS core
2242 handles the property. Supported property types are
2243 <variablelist>
2244 <varlistentry>
2245 <term>DRM_MODE_PROP_RANGE</term>
2246 <listitem><para>Range properties report their minimum and maximum
2247 admissible values. The KMS core verifies that values set by
2248 application fit in that range.</para></listitem>
2249 </varlistentry>
2250 <varlistentry>
2251 <term>DRM_MODE_PROP_ENUM</term>
2252 <listitem><para>Enumerated properties take a numerical value that
2253 ranges from 0 to the number of enumerated values defined by the
2254 property minus one, and associate a free-formed string name to each
2255 value. Applications can retrieve the list of defined value-name pairs
2256 and use the numerical value to get and set property instance values.
2257 </para></listitem>
2258 </varlistentry>
2259 <varlistentry>
2260 <term>DRM_MODE_PROP_BITMASK</term>
2261 <listitem><para>Bitmask properties are enumeration properties that
2262 additionally restrict all enumerated values to the 0..63 range.
2263 Bitmask property instance values combine one or more of the
2264 enumerated bits defined by the property.</para></listitem>
2265 </varlistentry>
2266 <varlistentry>
2267 <term>DRM_MODE_PROP_BLOB</term>
2268 <listitem><para>Blob properties store a binary blob without any format
2269 restriction. The binary blobs are created as KMS standalone objects,
2270 and blob property instance values store the ID of their associated
2271 blob object.</para>
2272 <para>Blob properties are only used for the connector EDID property
2273 and cannot be created by drivers.</para></listitem>
2274 </varlistentry>
2275 </variablelist>
2276 </para>
2277 <para>
2278 To create a property drivers call one of the following functions depending
2279 on the property type. All property creation functions take property flags
2280 and name, as well as type-specific arguments.
2281 <itemizedlist>
2282 <listitem>
2283 <synopsis>struct drm_property *drm_property_create_range(struct drm_device *dev, int flags,
2284 const char *name,
2285 uint64_t min, uint64_t max);</synopsis>
2286 <para>Create a range property with the given minimum and maximum
2287 values.</para>
2288 </listitem>
2289 <listitem>
2290 <synopsis>struct drm_property *drm_property_create_enum(struct drm_device *dev, int flags,
2291 const char *name,
2292 const struct drm_prop_enum_list *props,
2293 int num_values);</synopsis>
2294 <para>Create an enumerated property. The <parameter>props</parameter>
2295 argument points to an array of <parameter>num_values</parameter>
2296 value-name pairs.</para>
2297 </listitem>
2298 <listitem>
2299 <synopsis>struct drm_property *drm_property_create_bitmask(struct drm_device *dev,
2300 int flags, const char *name,
2301 const struct drm_prop_enum_list *props,
2302 int num_values);</synopsis>
2303 <para>Create a bitmask property. The <parameter>props</parameter>
2304 argument points to an array of <parameter>num_values</parameter>
2305 value-name pairs.</para>
2306 </listitem>
2307 </itemizedlist>
2308 </para>
2309 <para>
2310 Properties can additionally be created as immutable, in which case they
2311 will be read-only for applications but can be modified by the driver. To
2312 create an immutable property drivers must set the DRM_MODE_PROP_IMMUTABLE
2313 flag at property creation time.
2314 </para>
2315 <para>
2316 When no array of value-name pairs is readily available at property
2317 creation time for enumerated or range properties, drivers can create
2318 the property using the <function>drm_property_create</function> function
2319 and manually add enumeration value-name pairs by calling the
2320 <function>drm_property_add_enum</function> function. Care must be taken to
2321 properly specify the property type through the <parameter>flags</parameter>
2322 argument.
2323 </para>
2324 <para>
2325 After creating properties drivers can attach property instances to CRTC,
2326 connector and plane objects by calling the
2327 <function>drm_object_attach_property</function>. The function takes a
2328 pointer to the target object, a pointer to the previously created property
2329 and an initial instance value.
2330 </para>
2164 </sect1> 2331 </sect1>
2165 2332
2166 <!-- Internals: vertical blanking --> 2333 <!-- Internals: vertical blanking -->
diff --git a/Documentation/DocBook/genericirq.tmpl b/Documentation/DocBook/genericirq.tmpl
index b3422341d65c..d16d21b7a3b7 100644
--- a/Documentation/DocBook/genericirq.tmpl
+++ b/Documentation/DocBook/genericirq.tmpl
@@ -464,6 +464,19 @@ if (desc->irq_data.chip->irq_eoi)
464 protected via desc->lock, by the generic layer. 464 protected via desc->lock, by the generic layer.
465 </para> 465 </para>
466 </chapter> 466 </chapter>
467
468 <chapter id="genericchip">
469 <title>Generic interrupt chip</title>
470 <para>
471 To avoid copies of identical implementations of irq chips the
472 core provides a configurable generic interrupt chip
473 implementation. Developers should check carefuly whether the
474 generic chip fits their needs before implementing the same
475 functionality slightly different themself.
476 </para>
477!Ekernel/irq/generic-chip.c
478 </chapter>
479
467 <chapter id="structs"> 480 <chapter id="structs">
468 <title>Structures</title> 481 <title>Structures</title>
469 <para> 482 <para>
diff --git a/Documentation/DocBook/kernel-locking.tmpl b/Documentation/DocBook/kernel-locking.tmpl
index 67e7ab41c0a6..09e884e5b9f5 100644
--- a/Documentation/DocBook/kernel-locking.tmpl
+++ b/Documentation/DocBook/kernel-locking.tmpl
@@ -1955,12 +1955,17 @@ machines due to caching.
1955 </sect1> 1955 </sect1>
1956 </chapter> 1956 </chapter>
1957 1957
1958 <chapter id="apiref"> 1958 <chapter id="apiref-mutex">
1959 <title>Mutex API reference</title> 1959 <title>Mutex API reference</title>
1960!Iinclude/linux/mutex.h 1960!Iinclude/linux/mutex.h
1961!Ekernel/mutex.c 1961!Ekernel/mutex.c
1962 </chapter> 1962 </chapter>
1963 1963
1964 <chapter id="apiref-futex">
1965 <title>Futex API reference</title>
1966!Ikernel/futex.c
1967 </chapter>
1968
1964 <chapter id="references"> 1969 <chapter id="references">
1965 <title>Further reading</title> 1970 <title>Further reading</title>
1966 1971
diff --git a/Documentation/DocBook/media/dvb/frontend.xml b/Documentation/DocBook/media/dvb/frontend.xml
index df39ba395df0..0d6e81bd9ed2 100644
--- a/Documentation/DocBook/media/dvb/frontend.xml
+++ b/Documentation/DocBook/media/dvb/frontend.xml
@@ -233,7 +233,7 @@ typedef enum fe_status {
233<entry align="char">The frontend FEC inner coding (Viterbi, LDPC or other inner code) is stable</entry> 233<entry align="char">The frontend FEC inner coding (Viterbi, LDPC or other inner code) is stable</entry>
234</row><row> 234</row><row>
235<entry align="char">FE_HAS_SYNC</entry> 235<entry align="char">FE_HAS_SYNC</entry>
236<entry align="char">Syncronization bytes was found</entry> 236<entry align="char">Synchronization bytes was found</entry>
237</row><row> 237</row><row>
238<entry align="char">FE_HAS_LOCK</entry> 238<entry align="char">FE_HAS_LOCK</entry>
239<entry align="char">The DVB were locked and everything is working</entry> 239<entry align="char">The DVB were locked and everything is working</entry>
diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml
index 8d7a77928d49..c2fc9ec1417e 100644
--- a/Documentation/DocBook/media/v4l/controls.xml
+++ b/Documentation/DocBook/media/v4l/controls.xml
@@ -3147,7 +3147,7 @@ giving priority to the center of the metered area.</entry>
3147 <entry>A multi-zone metering. The light intensity is measured 3147 <entry>A multi-zone metering. The light intensity is measured
3148in several points of the frame and the the results are combined. The 3148in several points of the frame and the the results are combined. The
3149algorithm of the zones selection and their significance in calculating the 3149algorithm of the zones selection and their significance in calculating the
3150final value is device dependant.</entry> 3150final value is device dependent.</entry>
3151 </row> 3151 </row>
3152 </tbody> 3152 </tbody>
3153 </entrytbl> 3153 </entrytbl>
diff --git a/Documentation/DocBook/media/v4l/pixfmt-nv12mt.xml b/Documentation/DocBook/media/v4l/pixfmt-nv12mt.xml
index 2f82b1da8dfe..8a70a1707b7a 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-nv12mt.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-nv12mt.xml
@@ -24,7 +24,7 @@ into 64x32 macroblocks. The CbCr plane has the same width, in bytes, as the Y
24plane (and the image), but is half as tall in pixels. The chroma plane is also 24plane (and the image), but is half as tall in pixels. The chroma plane is also
25grouped into 64x32 macroblocks.</para> 25grouped into 64x32 macroblocks.</para>
26 <para>Width of the buffer has to be aligned to the multiple of 128, and 26 <para>Width of the buffer has to be aligned to the multiple of 128, and
27height alignment is 32. Every four adjactent buffers - two horizontally and two 27height alignment is 32. Every four adjacent buffers - two horizontally and two
28vertically are grouped together and are located in memory in Z or flipped Z 28vertically are grouped together and are located in memory in Z or flipped Z
29order. </para> 29order. </para>
30 <para>Layout of macroblocks in memory is presented in the following 30 <para>Layout of macroblocks in memory is presented in the following
diff --git a/Documentation/DocBook/writing_usb_driver.tmpl b/Documentation/DocBook/writing_usb_driver.tmpl
index bd97a13fa5ae..3210dcf741c9 100644
--- a/Documentation/DocBook/writing_usb_driver.tmpl
+++ b/Documentation/DocBook/writing_usb_driver.tmpl
@@ -83,7 +83,7 @@
83 </para> 83 </para>
84 <para> 84 <para>
85 Because each different protocol causes a new driver to be created, I have 85 Because each different protocol causes a new driver to be created, I have
86 written a generic USB driver skeleton, modeled after the pci-skeleton.c 86 written a generic USB driver skeleton, modelled after the pci-skeleton.c
87 file in the kernel source tree upon which many PCI network drivers have 87 file in the kernel source tree upon which many PCI network drivers have
88 been based. This USB skeleton can be found at drivers/usb/usb-skeleton.c 88 been based. This USB skeleton can be found at drivers/usb/usb-skeleton.c
89 in the kernel source tree. In this article I will walk through the basics 89 in the kernel source tree. In this article I will walk through the basics