aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/DocBook
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-02-23 14:02:19 -0500
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-02-23 14:02:19 -0500
commit99a85b901eb54f62ff0c3fd6eb56e60b7b9f15c8 (patch)
tree0c6637b7d2172e079c30e966847326767cbaf45c /Documentation/DocBook
parent135f9be9194cf7778eb73594aa55791b229cf27c (diff)
parentc517d838eb7d07bbe9507871fab3931deccff539 (diff)
Merge tag 'v4.0-rc1' into patchwork
Linux 34.0-rc1 * tag 'v4.0-rc1': (8947 commits) Linux 4.0-rc1 autofs4 copy_dev_ioctl(): keep the value of ->size we'd used for allocation procfs: fix race between symlink removals and traversals debugfs: leave freeing a symlink body until inode eviction Documentation/filesystems/Locking: ->get_sb() is long gone trylock_super(): replacement for grab_super_passive() fanotify: Fix up scripted S_ISDIR/S_ISREG/S_ISLNK conversions Cachefiles: Fix up scripted S_ISDIR/S_ISREG/S_ISLNK conversions VFS: (Scripted) Convert S_ISLNK/DIR/REG(dentry->d_inode) to d_is_*(dentry) SELinux: Use d_is_positive() rather than testing dentry->d_inode Smack: Use d_is_positive() rather than testing dentry->d_inode TOMOYO: Use d_is_dir() rather than d_inode and S_ISDIR() Apparmor: Use d_is_positive/negative() rather than testing dentry->d_inode Apparmor: mediated_filesystem() should use dentry->d_sb not inode->i_sb VFS: Split DCACHE_FILE_TYPE into regular and special types VFS: Add a fallthrough flag for marking virtual dentries VFS: Add a whiteout dentry type VFS: Introduce inode-getting helpers for layered/unioned fs environments kernel: make READ_ONCE() valid on const arguments blk-throttle: check stats_cpu before reading it from sysfs ...
Diffstat (limited to 'Documentation/DocBook')
-rw-r--r--Documentation/DocBook/80211.tmpl5
-rw-r--r--Documentation/DocBook/Makefile2
-rw-r--r--Documentation/DocBook/crypto-API.tmpl2
-rw-r--r--Documentation/DocBook/device-drivers.tmpl17
-rw-r--r--Documentation/DocBook/drm.tmpl126
-rw-r--r--Documentation/DocBook/kgdb.tmpl87
-rw-r--r--Documentation/DocBook/uio-howto.tmpl14
7 files changed, 177 insertions, 76 deletions
diff --git a/Documentation/DocBook/80211.tmpl b/Documentation/DocBook/80211.tmpl
index d9b9416c989f..aac9357d4866 100644
--- a/Documentation/DocBook/80211.tmpl
+++ b/Documentation/DocBook/80211.tmpl
@@ -113,7 +113,6 @@
113!Finclude/net/cfg80211.h cfg80211_beacon_data 113!Finclude/net/cfg80211.h cfg80211_beacon_data
114!Finclude/net/cfg80211.h cfg80211_ap_settings 114!Finclude/net/cfg80211.h cfg80211_ap_settings
115!Finclude/net/cfg80211.h station_parameters 115!Finclude/net/cfg80211.h station_parameters
116!Finclude/net/cfg80211.h station_info_flags
117!Finclude/net/cfg80211.h rate_info_flags 116!Finclude/net/cfg80211.h rate_info_flags
118!Finclude/net/cfg80211.h rate_info 117!Finclude/net/cfg80211.h rate_info
119!Finclude/net/cfg80211.h station_info 118!Finclude/net/cfg80211.h station_info
@@ -435,7 +434,6 @@
435 <section id="ps-client"> 434 <section id="ps-client">
436 <title>support for powersaving clients</title> 435 <title>support for powersaving clients</title>
437!Pinclude/net/mac80211.h AP support for powersaving clients 436!Pinclude/net/mac80211.h AP support for powersaving clients
438 </section>
439!Finclude/net/mac80211.h ieee80211_get_buffered_bc 437!Finclude/net/mac80211.h ieee80211_get_buffered_bc
440!Finclude/net/mac80211.h ieee80211_beacon_get 438!Finclude/net/mac80211.h ieee80211_beacon_get
441!Finclude/net/mac80211.h ieee80211_sta_eosp 439!Finclude/net/mac80211.h ieee80211_sta_eosp
@@ -444,6 +442,7 @@
444!Finclude/net/mac80211.h ieee80211_sta_ps_transition_ni 442!Finclude/net/mac80211.h ieee80211_sta_ps_transition_ni
445!Finclude/net/mac80211.h ieee80211_sta_set_buffered 443!Finclude/net/mac80211.h ieee80211_sta_set_buffered
446!Finclude/net/mac80211.h ieee80211_sta_block_awake 444!Finclude/net/mac80211.h ieee80211_sta_block_awake
445 </section>
447 </chapter> 446 </chapter>
448 447
449 <chapter id="multi-iface"> 448 <chapter id="multi-iface">
@@ -488,8 +487,8 @@
488 <title>RX A-MPDU aggregation</title> 487 <title>RX A-MPDU aggregation</title>
489!Pnet/mac80211/agg-rx.c RX A-MPDU aggregation 488!Pnet/mac80211/agg-rx.c RX A-MPDU aggregation
490!Cnet/mac80211/agg-rx.c 489!Cnet/mac80211/agg-rx.c
491 </sect1>
492!Finclude/net/mac80211.h ieee80211_ampdu_mlme_action 490!Finclude/net/mac80211.h ieee80211_ampdu_mlme_action
491 </sect1>
493 </chapter> 492 </chapter>
494 493
495 <chapter id="smps"> 494 <chapter id="smps">
diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
index 9c7d92d03f62..b6a6a2e0dd3b 100644
--- a/Documentation/DocBook/Makefile
+++ b/Documentation/DocBook/Makefile
@@ -56,7 +56,7 @@ htmldocs: $(HTML)
56 56
57MAN := $(patsubst %.xml, %.9, $(BOOKS)) 57MAN := $(patsubst %.xml, %.9, $(BOOKS))
58mandocs: $(MAN) 58mandocs: $(MAN)
59 $(if $(wildcard $(obj)/man/*.9),gzip -f $(obj)/man/*.9) 59 find $(obj)/man -name '*.9' | xargs gzip -f
60 60
61installmandocs: mandocs 61installmandocs: mandocs
62 mkdir -p /usr/local/man/man9/ 62 mkdir -p /usr/local/man/man9/
diff --git a/Documentation/DocBook/crypto-API.tmpl b/Documentation/DocBook/crypto-API.tmpl
index c763d30f4893..04a8c24ead47 100644
--- a/Documentation/DocBook/crypto-API.tmpl
+++ b/Documentation/DocBook/crypto-API.tmpl
@@ -111,7 +111,7 @@
111 <para> 111 <para>
112 This specification is intended for consumers of the kernel crypto 112 This specification is intended for consumers of the kernel crypto
113 API as well as for developers implementing ciphers. This API 113 API as well as for developers implementing ciphers. This API
114 specification, however, does not discusses all API calls available 114 specification, however, does not discuss all API calls available
115 to data transformation implementations (i.e. implementations of 115 to data transformation implementations (i.e. implementations of
116 ciphers and other transformations (such as CRC or even compression 116 ciphers and other transformations (such as CRC or even compression
117 algorithms) that can register with the kernel crypto API). 117 algorithms) that can register with the kernel crypto API).
diff --git a/Documentation/DocBook/device-drivers.tmpl b/Documentation/DocBook/device-drivers.tmpl
index f2130586ef5d..faf09d4a0ea8 100644
--- a/Documentation/DocBook/device-drivers.tmpl
+++ b/Documentation/DocBook/device-drivers.tmpl
@@ -190,23 +190,6 @@ X!Edrivers/pnp/system.c
190!Idrivers/message/fusion/mptfc.c 190!Idrivers/message/fusion/mptfc.c
191!Idrivers/message/fusion/mptlan.c 191!Idrivers/message/fusion/mptlan.c
192 </sect1> 192 </sect1>
193 <sect1><title>I2O message devices</title>
194!Iinclude/linux/i2o.h
195!Idrivers/message/i2o/core.h
196!Edrivers/message/i2o/iop.c
197!Idrivers/message/i2o/iop.c
198!Idrivers/message/i2o/config-osm.c
199!Edrivers/message/i2o/exec-osm.c
200!Idrivers/message/i2o/exec-osm.c
201!Idrivers/message/i2o/bus-osm.c
202!Edrivers/message/i2o/device.c
203!Idrivers/message/i2o/device.c
204!Idrivers/message/i2o/driver.c
205!Idrivers/message/i2o/pci.c
206!Idrivers/message/i2o/i2o_block.c
207!Idrivers/message/i2o/i2o_scsi.c
208!Idrivers/message/i2o/i2o_proc.c
209 </sect1>
210 </chapter> 193 </chapter>
211 194
212 <chapter id="snddev"> 195 <chapter id="snddev">
diff --git a/Documentation/DocBook/drm.tmpl b/Documentation/DocBook/drm.tmpl
index 4b592ffbafee..03f1985a4bd1 100644
--- a/Documentation/DocBook/drm.tmpl
+++ b/Documentation/DocBook/drm.tmpl
@@ -239,6 +239,14 @@
239 Driver supports dedicated render nodes. 239 Driver supports dedicated render nodes.
240 </para></listitem> 240 </para></listitem>
241 </varlistentry> 241 </varlistentry>
242 <varlistentry>
243 <term>DRIVER_ATOMIC</term>
244 <listitem><para>
245 Driver supports atomic properties. In this case the driver
246 must implement appropriate obj->atomic_get_property() vfuncs
247 for any modeset objects with driver specific properties.
248 </para></listitem>
249 </varlistentry>
242 </variablelist> 250 </variablelist>
243 </sect3> 251 </sect3>
244 <sect3> 252 <sect3>
@@ -1377,7 +1385,7 @@ int max_width, max_height;</synopsis>
1377 <itemizedlist> 1385 <itemizedlist>
1378 <listitem> 1386 <listitem>
1379 DRM_PLANE_TYPE_PRIMARY represents a "main" plane for a CRTC. Primary 1387 DRM_PLANE_TYPE_PRIMARY represents a "main" plane for a CRTC. Primary
1380 planes are the planes operated upon by by CRTC modesetting and flipping 1388 planes are the planes operated upon by CRTC modesetting and flipping
1381 operations described in <xref linkend="drm-kms-crtcops"/>. 1389 operations described in <xref linkend="drm-kms-crtcops"/>.
1382 </listitem> 1390 </listitem>
1383 <listitem> 1391 <listitem>
@@ -2362,6 +2370,7 @@ void intel_crt_init(struct drm_device *dev)
2362 </sect2> 2370 </sect2>
2363 <sect2> 2371 <sect2>
2364 <title>Modeset Helper Functions Reference</title> 2372 <title>Modeset Helper Functions Reference</title>
2373!Iinclude/drm/drm_crtc_helper.h
2365!Edrivers/gpu/drm/drm_crtc_helper.c 2374!Edrivers/gpu/drm/drm_crtc_helper.c
2366!Pdrivers/gpu/drm/drm_crtc_helper.c overview 2375!Pdrivers/gpu/drm/drm_crtc_helper.c overview
2367 </sect2> 2376 </sect2>
@@ -2564,8 +2573,8 @@ void intel_crt_init(struct drm_device *dev)
2564 <td valign="top" >Description/Restrictions</td> 2573 <td valign="top" >Description/Restrictions</td>
2565 </tr> 2574 </tr>
2566 <tr> 2575 <tr>
2567 <td rowspan="25" valign="top" >DRM</td> 2576 <td rowspan="36" valign="top" >DRM</td>
2568 <td rowspan="4" valign="top" >Generic</td> 2577 <td rowspan="5" valign="top" >Connector</td>
2569 <td valign="top" >“EDID”</td> 2578 <td valign="top" >“EDID”</td>
2570 <td valign="top" >BLOB | IMMUTABLE</td> 2579 <td valign="top" >BLOB | IMMUTABLE</td>
2571 <td valign="top" >0</td> 2580 <td valign="top" >0</td>
@@ -2594,7 +2603,14 @@ void intel_crt_init(struct drm_device *dev)
2594 <td valign="top" >Contains tiling information for a connector.</td> 2603 <td valign="top" >Contains tiling information for a connector.</td>
2595 </tr> 2604 </tr>
2596 <tr> 2605 <tr>
2597 <td rowspan="1" valign="top" >Plane</td> 2606 <td valign="top" >“CRTC_ID”</td>
2607 <td valign="top" >OBJECT</td>
2608 <td valign="top" >DRM_MODE_OBJECT_CRTC</td>
2609 <td valign="top" >Connector</td>
2610 <td valign="top" >CRTC that connector is attached to (atomic)</td>
2611 </tr>
2612 <tr>
2613 <td rowspan="11" valign="top" >Plane</td>
2598 <td valign="top" >“type”</td> 2614 <td valign="top" >“type”</td>
2599 <td valign="top" >ENUM | IMMUTABLE</td> 2615 <td valign="top" >ENUM | IMMUTABLE</td>
2600 <td valign="top" >{ "Overlay", "Primary", "Cursor" }</td> 2616 <td valign="top" >{ "Overlay", "Primary", "Cursor" }</td>
@@ -2602,6 +2618,76 @@ void intel_crt_init(struct drm_device *dev)
2602 <td valign="top" >Plane type</td> 2618 <td valign="top" >Plane type</td>
2603 </tr> 2619 </tr>
2604 <tr> 2620 <tr>
2621 <td valign="top" >“SRC_X”</td>
2622 <td valign="top" >RANGE</td>
2623 <td valign="top" >Min=0, Max=UINT_MAX</td>
2624 <td valign="top" >Plane</td>
2625 <td valign="top" >Scanout source x coordinate in 16.16 fixed point (atomic)</td>
2626 </tr>
2627 <tr>
2628 <td valign="top" >“SRC_Y”</td>
2629 <td valign="top" >RANGE</td>
2630 <td valign="top" >Min=0, Max=UINT_MAX</td>
2631 <td valign="top" >Plane</td>
2632 <td valign="top" >Scanout source y coordinate in 16.16 fixed point (atomic)</td>
2633 </tr>
2634 <tr>
2635 <td valign="top" >“SRC_W”</td>
2636 <td valign="top" >RANGE</td>
2637 <td valign="top" >Min=0, Max=UINT_MAX</td>
2638 <td valign="top" >Plane</td>
2639 <td valign="top" >Scanout source width in 16.16 fixed point (atomic)</td>
2640 </tr>
2641 <tr>
2642 <td valign="top" >“SRC_H”</td>
2643 <td valign="top" >RANGE</td>
2644 <td valign="top" >Min=0, Max=UINT_MAX</td>
2645 <td valign="top" >Plane</td>
2646 <td valign="top" >Scanout source height in 16.16 fixed point (atomic)</td>
2647 </tr>
2648 <tr>
2649 <td valign="top" >“CRTC_X”</td>
2650 <td valign="top" >SIGNED_RANGE</td>
2651 <td valign="top" >Min=INT_MIN, Max=INT_MAX</td>
2652 <td valign="top" >Plane</td>
2653 <td valign="top" >Scanout CRTC (destination) x coordinate (atomic)</td>
2654 </tr>
2655 <tr>
2656 <td valign="top" >“CRTC_Y”</td>
2657 <td valign="top" >SIGNED_RANGE</td>
2658 <td valign="top" >Min=INT_MIN, Max=INT_MAX</td>
2659 <td valign="top" >Plane</td>
2660 <td valign="top" >Scanout CRTC (destination) y coordinate (atomic)</td>
2661 </tr>
2662 <tr>
2663 <td valign="top" >“CRTC_W”</td>
2664 <td valign="top" >RANGE</td>
2665 <td valign="top" >Min=0, Max=UINT_MAX</td>
2666 <td valign="top" >Plane</td>
2667 <td valign="top" >Scanout CRTC (destination) width (atomic)</td>
2668 </tr>
2669 <tr>
2670 <td valign="top" >“CRTC_H”</td>
2671 <td valign="top" >RANGE</td>
2672 <td valign="top" >Min=0, Max=UINT_MAX</td>
2673 <td valign="top" >Plane</td>
2674 <td valign="top" >Scanout CRTC (destination) height (atomic)</td>
2675 </tr>
2676 <tr>
2677 <td valign="top" >“FB_ID”</td>
2678 <td valign="top" >OBJECT</td>
2679 <td valign="top" >DRM_MODE_OBJECT_FB</td>
2680 <td valign="top" >Plane</td>
2681 <td valign="top" >Scanout framebuffer (atomic)</td>
2682 </tr>
2683 <tr>
2684 <td valign="top" >“CRTC_ID”</td>
2685 <td valign="top" >OBJECT</td>
2686 <td valign="top" >DRM_MODE_OBJECT_CRTC</td>
2687 <td valign="top" >Plane</td>
2688 <td valign="top" >CRTC that plane is attached to (atomic)</td>
2689 </tr>
2690 <tr>
2605 <td rowspan="2" valign="top" >DVI-I</td> 2691 <td rowspan="2" valign="top" >DVI-I</td>
2606 <td valign="top" >“subconnector”</td> 2692 <td valign="top" >“subconnector”</td>
2607 <td valign="top" >ENUM</td> 2693 <td valign="top" >ENUM</td>
@@ -3883,6 +3969,7 @@ int num_ioctls;</synopsis>
3883 <title>Runtime Power Management</title> 3969 <title>Runtime Power Management</title>
3884!Pdrivers/gpu/drm/i915/intel_runtime_pm.c runtime pm 3970!Pdrivers/gpu/drm/i915/intel_runtime_pm.c runtime pm
3885!Idrivers/gpu/drm/i915/intel_runtime_pm.c 3971!Idrivers/gpu/drm/i915/intel_runtime_pm.c
3972!Idrivers/gpu/drm/i915/intel_uncore.c
3886 </sect2> 3973 </sect2>
3887 <sect2> 3974 <sect2>
3888 <title>Interrupt Handling</title> 3975 <title>Interrupt Handling</title>
@@ -3932,6 +4019,11 @@ int num_ioctls;</synopsis>
3932 </para> 4019 </para>
3933 </sect2> 4020 </sect2>
3934 <sect2> 4021 <sect2>
4022 <title>Atomic Plane Helpers</title>
4023!Pdrivers/gpu/drm/i915/intel_atomic_plane.c atomic plane helpers
4024!Idrivers/gpu/drm/i915/intel_atomic_plane.c
4025 </sect2>
4026 <sect2>
3935 <title>Output Probing</title> 4027 <title>Output Probing</title>
3936 <para> 4028 <para>
3937 This section covers output probing and related infrastructure like the 4029 This section covers output probing and related infrastructure like the
@@ -3951,6 +4043,11 @@ int num_ioctls;</synopsis>
3951!Idrivers/gpu/drm/i915/intel_psr.c 4043!Idrivers/gpu/drm/i915/intel_psr.c
3952 </sect2> 4044 </sect2>
3953 <sect2> 4045 <sect2>
4046 <title>Frame Buffer Compression (FBC)</title>
4047!Pdrivers/gpu/drm/i915/intel_fbc.c Frame Buffer Compression (FBC)
4048!Idrivers/gpu/drm/i915/intel_fbc.c
4049 </sect2>
4050 <sect2>
3954 <title>DPIO</title> 4051 <title>DPIO</title>
3955!Pdrivers/gpu/drm/i915/i915_reg.h DPIO 4052!Pdrivers/gpu/drm/i915/i915_reg.h DPIO
3956 <table id="dpiox2"> 4053 <table id="dpiox2">
@@ -4054,10 +4151,31 @@ int num_ioctls;</synopsis>
4054!Idrivers/gpu/drm/i915/i915_cmd_parser.c 4151!Idrivers/gpu/drm/i915/i915_cmd_parser.c
4055 </sect2> 4152 </sect2>
4056 <sect2> 4153 <sect2>
4154 <title>Batchbuffer Pools</title>
4155!Pdrivers/gpu/drm/i915/i915_gem_batch_pool.c batch pool
4156!Idrivers/gpu/drm/i915/i915_gem_batch_pool.c
4157 </sect2>
4158 <sect2>
4057 <title>Logical Rings, Logical Ring Contexts and Execlists</title> 4159 <title>Logical Rings, Logical Ring Contexts and Execlists</title>
4058!Pdrivers/gpu/drm/i915/intel_lrc.c Logical Rings, Logical Ring Contexts and Execlists 4160!Pdrivers/gpu/drm/i915/intel_lrc.c Logical Rings, Logical Ring Contexts and Execlists
4059!Idrivers/gpu/drm/i915/intel_lrc.c 4161!Idrivers/gpu/drm/i915/intel_lrc.c
4060 </sect2> 4162 </sect2>
4163 <sect2>
4164 <title>Global GTT views</title>
4165!Pdrivers/gpu/drm/i915/i915_gem_gtt.c Global GTT views
4166!Idrivers/gpu/drm/i915/i915_gem_gtt.c
4167 </sect2>
4168 <sect2>
4169 <title>Buffer Object Eviction</title>
4170 <para>
4171 This section documents the interface function for evicting buffer
4172 objects to make space available in the virtual gpu address spaces.
4173 Note that this is mostly orthogonal to shrinking buffer objects
4174 caches, which has the goal to make main memory (shared with the gpu
4175 through the unified memory architecture) available.
4176 </para>
4177!Idrivers/gpu/drm/i915/i915_gem_evict.c
4178 </sect2>
4061 </sect1> 4179 </sect1>
4062 4180
4063 <sect1> 4181 <sect1>
diff --git a/Documentation/DocBook/kgdb.tmpl b/Documentation/DocBook/kgdb.tmpl
index f77358f96930..f3abca7ec53d 100644
--- a/Documentation/DocBook/kgdb.tmpl
+++ b/Documentation/DocBook/kgdb.tmpl
@@ -75,7 +75,7 @@
75 a development machine and the other is the target machine. The 75 a development machine and the other is the target machine. The
76 kernel to be debugged runs on the target machine. The development 76 kernel to be debugged runs on the target machine. The development
77 machine runs an instance of gdb against the vmlinux file which 77 machine runs an instance of gdb against the vmlinux file which
78 contains the symbols (not boot image such as bzImage, zImage, 78 contains the symbols (not a boot image such as bzImage, zImage,
79 uImage...). In gdb the developer specifies the connection 79 uImage...). In gdb the developer specifies the connection
80 parameters and connects to kgdb. The type of connection a 80 parameters and connects to kgdb. The type of connection a
81 developer makes with gdb depends on the availability of kgdb I/O 81 developer makes with gdb depends on the availability of kgdb I/O
@@ -95,7 +95,7 @@
95 <title>Kernel config options for kgdb</title> 95 <title>Kernel config options for kgdb</title>
96 <para> 96 <para>
97 To enable <symbol>CONFIG_KGDB</symbol> you should look under 97 To enable <symbol>CONFIG_KGDB</symbol> you should look under
98 "Kernel debugging" and select "KGDB: kernel debugger". 98 "Kernel hacking" / "Kernel debugging" and select "KGDB: kernel debugger".
99 </para> 99 </para>
100 <para> 100 <para>
101 While it is not a hard requirement that you have symbols in your 101 While it is not a hard requirement that you have symbols in your
@@ -105,7 +105,7 @@
105 kernel with debug info" in the config menu. 105 kernel with debug info" in the config menu.
106 </para> 106 </para>
107 <para> 107 <para>
108 It is advised, but not required that you turn on the 108 It is advised, but not required, that you turn on the
109 <symbol>CONFIG_FRAME_POINTER</symbol> kernel option which is called "Compile the 109 <symbol>CONFIG_FRAME_POINTER</symbol> kernel option which is called "Compile the
110 kernel with frame pointers" in the config menu. This option 110 kernel with frame pointers" in the config menu. This option
111 inserts code to into the compiled executable which saves the frame 111 inserts code to into the compiled executable which saves the frame
@@ -181,7 +181,7 @@
181 <para>This section describes the various runtime kernel 181 <para>This section describes the various runtime kernel
182 parameters that affect the configuration of the kernel debugger. 182 parameters that affect the configuration of the kernel debugger.
183 The following chapter covers using kdb and kgdb as well as 183 The following chapter covers using kdb and kgdb as well as
184 provides some examples of the configuration parameters.</para> 184 providing some examples of the configuration parameters.</para>
185 <sect1 id="kgdboc"> 185 <sect1 id="kgdboc">
186 <title>Kernel parameter: kgdboc</title> 186 <title>Kernel parameter: kgdboc</title>
187 <para>The kgdboc driver was originally an abbreviation meant to 187 <para>The kgdboc driver was originally an abbreviation meant to
@@ -197,6 +197,7 @@
197 may be configured as a kernel built-in or a kernel loadable module. 197 may be configured as a kernel built-in or a kernel loadable module.
198 You can only make use of <constant>kgdbwait</constant> and early 198 You can only make use of <constant>kgdbwait</constant> and early
199 debugging if you build kgdboc into the kernel as a built-in. 199 debugging if you build kgdboc into the kernel as a built-in.
200 </para>
200 <para>Optionally you can elect to activate kms (Kernel Mode 201 <para>Optionally you can elect to activate kms (Kernel Mode
201 Setting) integration. When you use kms with kgdboc and you have a 202 Setting) integration. When you use kms with kgdboc and you have a
202 video driver that has atomic mode setting hooks, it is possible to 203 video driver that has atomic mode setting hooks, it is possible to
@@ -206,7 +207,6 @@
206 crashes or doing analysis of memory with kdb while allowing the 207 crashes or doing analysis of memory with kdb while allowing the
207 full graphics console applications to run. 208 full graphics console applications to run.
208 </para> 209 </para>
209 </para>
210 <sect2 id="kgdbocArgs"> 210 <sect2 id="kgdbocArgs">
211 <title>kgdboc arguments</title> 211 <title>kgdboc arguments</title>
212 <para>Usage: <constant>kgdboc=[kms][[,]kbd][[,]serial_device][,baud]</constant></para> 212 <para>Usage: <constant>kgdboc=[kms][[,]kbd][[,]serial_device][,baud]</constant></para>
@@ -219,8 +219,8 @@
219 <listitem><para>kbd = Keyboard</para></listitem> 219 <listitem><para>kbd = Keyboard</para></listitem>
220 </itemizedlist> 220 </itemizedlist>
221 </para> 221 </para>
222 <para>You can configure kgdboc to use the keyboard, and or a serial 222 <para>You can configure kgdboc to use the keyboard, and/or a serial
223 device depending on if you are using kdb and or kgdb, in one of the 223 device depending on if you are using kdb and/or kgdb, in one of the
224 following scenarios. The order listed above must be observed if 224 following scenarios. The order listed above must be observed if
225 you use any of the optional configurations together. Using kms + 225 you use any of the optional configurations together. Using kms +
226 only gdb is generally not a useful combination.</para> 226 only gdb is generally not a useful combination.</para>
@@ -261,11 +261,8 @@
261 </sect3> 261 </sect3>
262 <sect3 id="kgdbocArgs3"> 262 <sect3 id="kgdbocArgs3">
263 <title>More examples</title> 263 <title>More examples</title>
264 <para>You can configure kgdboc to use the keyboard, and or a serial 264 <para>You can configure kgdboc to use the keyboard, and/or a serial device
265 device depending on if you are using kdb and or kgdb, in one of the 265 depending on if you are using kdb and/or kgdb, in one of the
266 following scenarios.</para>
267 <para>You can configure kgdboc to use the keyboard, and or a serial device
268 depending on if you are using kdb and or kgdb, in one of the
269 following scenarios. 266 following scenarios.
270 <orderedlist> 267 <orderedlist>
271 <listitem><para>kdb and kgdb over only a serial port</para> 268 <listitem><para>kdb and kgdb over only a serial port</para>
@@ -287,7 +284,6 @@
287 </listitem> 284 </listitem>
288 </orderedlist> 285 </orderedlist>
289 </para> 286 </para>
290 </sect3>
291 <para>NOTE: Kgdboc does not support interrupting the target via the 287 <para>NOTE: Kgdboc does not support interrupting the target via the
292 gdb remote protocol. You must manually send a sysrq-g unless you 288 gdb remote protocol. You must manually send a sysrq-g unless you
293 have a proxy that splits console output to a terminal program. 289 have a proxy that splits console output to a terminal program.
@@ -308,6 +304,7 @@
308 as well as on the initial connect, or to use a debugger proxy that 304 as well as on the initial connect, or to use a debugger proxy that
309 allows an unmodified gdb to do the debugging. 305 allows an unmodified gdb to do the debugging.
310 </para> 306 </para>
307 </sect3>
311 </sect2> 308 </sect2>
312 </sect1> 309 </sect1>
313 <sect1 id="kgdbwait"> 310 <sect1 id="kgdbwait">
@@ -315,7 +312,7 @@
315 <para> 312 <para>
316 The Kernel command line option <constant>kgdbwait</constant> makes 313 The Kernel command line option <constant>kgdbwait</constant> makes
317 kgdb wait for a debugger connection during booting of a kernel. You 314 kgdb wait for a debugger connection during booting of a kernel. You
318 can only use this option you compiled a kgdb I/O driver into the 315 can only use this option if you compiled a kgdb I/O driver into the
319 kernel and you specified the I/O driver configuration as a kernel 316 kernel and you specified the I/O driver configuration as a kernel
320 command line option. The kgdbwait parameter should always follow the 317 command line option. The kgdbwait parameter should always follow the
321 configuration parameter for the kgdb I/O driver in the kernel 318 configuration parameter for the kgdb I/O driver in the kernel
@@ -353,12 +350,12 @@
353 </para> 350 </para>
354 </listitem> 351 </listitem>
355 </orderedlist> 352 </orderedlist>
353 </para>
356 <para>IMPORTANT NOTE: You cannot use kgdboc + kgdbcon on a tty that is an 354 <para>IMPORTANT NOTE: You cannot use kgdboc + kgdbcon on a tty that is an
357 active system console. An example incorrect usage is <constant>console=ttyS0,115200 kgdboc=ttyS0 kgdbcon</constant> 355 active system console. An example of incorrect usage is <constant>console=ttyS0,115200 kgdboc=ttyS0 kgdbcon</constant>
358 </para> 356 </para>
359 <para>It is possible to use this option with kgdboc on a tty that is not a system console. 357 <para>It is possible to use this option with kgdboc on a tty that is not a system console.
360 </para> 358 </para>
361 </para>
362 </sect1> 359 </sect1>
363 <sect1 id="kgdbreboot"> 360 <sect1 id="kgdbreboot">
364 <title>Run time parameter: kgdbreboot</title> 361 <title>Run time parameter: kgdbreboot</title>
@@ -386,12 +383,12 @@
386 <title>Quick start for kdb on a serial port</title> 383 <title>Quick start for kdb on a serial port</title>
387 <para>This is a quick example of how to use kdb.</para> 384 <para>This is a quick example of how to use kdb.</para>
388 <para><orderedlist> 385 <para><orderedlist>
389 <listitem><para>Boot kernel with arguments: 386 <listitem><para>Configure kgdboc at boot using kernel parameters:
390 <itemizedlist> 387 <itemizedlist>
391 <listitem><para><constant>console=ttyS0,115200 kgdboc=ttyS0,115200</constant></para></listitem> 388 <listitem><para><constant>console=ttyS0,115200 kgdboc=ttyS0,115200</constant></para></listitem>
392 </itemizedlist></para> 389 </itemizedlist></para>
393 <para>OR</para> 390 <para>OR</para>
394 <para>Configure kgdboc after the kernel booted; assuming you are using a serial port console: 391 <para>Configure kgdboc after the kernel has booted; assuming you are using a serial port console:
395 <itemizedlist> 392 <itemizedlist>
396 <listitem><para><constant>echo ttyS0 &gt; /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem> 393 <listitem><para><constant>echo ttyS0 &gt; /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem>
397 </itemizedlist> 394 </itemizedlist>
@@ -442,12 +439,12 @@
442 <title>Quick start for kdb using a keyboard connected console</title> 439 <title>Quick start for kdb using a keyboard connected console</title>
443 <para>This is a quick example of how to use kdb with a keyboard.</para> 440 <para>This is a quick example of how to use kdb with a keyboard.</para>
444 <para><orderedlist> 441 <para><orderedlist>
445 <listitem><para>Boot kernel with arguments: 442 <listitem><para>Configure kgdboc at boot using kernel parameters:
446 <itemizedlist> 443 <itemizedlist>
447 <listitem><para><constant>kgdboc=kbd</constant></para></listitem> 444 <listitem><para><constant>kgdboc=kbd</constant></para></listitem>
448 </itemizedlist></para> 445 </itemizedlist></para>
449 <para>OR</para> 446 <para>OR</para>
450 <para>Configure kgdboc after the kernel booted: 447 <para>Configure kgdboc after the kernel has booted:
451 <itemizedlist> 448 <itemizedlist>
452 <listitem><para><constant>echo kbd &gt; /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem> 449 <listitem><para><constant>echo kbd &gt; /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem>
453 </itemizedlist> 450 </itemizedlist>
@@ -501,12 +498,12 @@
501 <title>Connecting with gdb to a serial port</title> 498 <title>Connecting with gdb to a serial port</title>
502 <orderedlist> 499 <orderedlist>
503 <listitem><para>Configure kgdboc</para> 500 <listitem><para>Configure kgdboc</para>
504 <para>Boot kernel with arguments: 501 <para>Configure kgdboc at boot using kernel parameters:
505 <itemizedlist> 502 <itemizedlist>
506 <listitem><para><constant>kgdboc=ttyS0,115200</constant></para></listitem> 503 <listitem><para><constant>kgdboc=ttyS0,115200</constant></para></listitem>
507 </itemizedlist></para> 504 </itemizedlist></para>
508 <para>OR</para> 505 <para>OR</para>
509 <para>Configure kgdboc after the kernel booted: 506 <para>Configure kgdboc after the kernel has booted:
510 <itemizedlist> 507 <itemizedlist>
511 <listitem><para><constant>echo ttyS0 &gt; /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem> 508 <listitem><para><constant>echo ttyS0 &gt; /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem>
512 </itemizedlist></para> 509 </itemizedlist></para>
@@ -536,7 +533,7 @@
536 </para> 533 </para>
537 </listitem> 534 </listitem>
538 <listitem> 535 <listitem>
539 <para>Connect from from gdb</para> 536 <para>Connect from gdb</para>
540 <para> 537 <para>
541 Example (using a directly connected port): 538 Example (using a directly connected port):
542 </para> 539 </para>
@@ -584,7 +581,7 @@
584 <para> 581 <para>
585 There are two ways to switch from kgdb to kdb: you can use gdb to 582 There are two ways to switch from kgdb to kdb: you can use gdb to
586 issue a maintenance packet, or you can blindly type the command $3#33. 583 issue a maintenance packet, or you can blindly type the command $3#33.
587 Whenever kernel debugger stops in kgdb mode it will print the 584 Whenever the kernel debugger stops in kgdb mode it will print the
588 message <constant>KGDB or $3#33 for KDB</constant>. It is important 585 message <constant>KGDB or $3#33 for KDB</constant>. It is important
589 to note that you have to type the sequence correctly in one pass. 586 to note that you have to type the sequence correctly in one pass.
590 You cannot type a backspace or delete because kgdb will interpret 587 You cannot type a backspace or delete because kgdb will interpret
@@ -704,7 +701,7 @@ Task Addr Pid Parent [*] cpu State Thread Command
704 <listitem><para>Registration and unregistration of architecture specific trap hooks</para></listitem> 701 <listitem><para>Registration and unregistration of architecture specific trap hooks</para></listitem>
705 <listitem><para>Any special exception handling and cleanup</para></listitem> 702 <listitem><para>Any special exception handling and cleanup</para></listitem>
706 <listitem><para>NMI exception handling and cleanup</para></listitem> 703 <listitem><para>NMI exception handling and cleanup</para></listitem>
707 <listitem><para>(optional)HW breakpoints</para></listitem> 704 <listitem><para>(optional) HW breakpoints</para></listitem>
708 </itemizedlist> 705 </itemizedlist>
709 </para> 706 </para>
710 </listitem> 707 </listitem>
@@ -760,7 +757,7 @@ Task Addr Pid Parent [*] cpu State Thread Command
760 a kgdb I/O driver for characters when it needs input. The I/O 757 a kgdb I/O driver for characters when it needs input. The I/O
761 driver is expected to return immediately if there is no data 758 driver is expected to return immediately if there is no data
762 available. Doing so allows for the future possibility to touch 759 available. Doing so allows for the future possibility to touch
763 watch dog hardware in such a way as to have a target system not 760 watchdog hardware in such a way as to have a target system not
764 reset when these are enabled. 761 reset when these are enabled.
765 </para> 762 </para>
766 </listitem> 763 </listitem>
@@ -779,21 +776,25 @@ Task Addr Pid Parent [*] cpu State Thread Command
779 their &lt;asm/kgdb.h&gt; file. These are: 776 their &lt;asm/kgdb.h&gt; file. These are:
780 <itemizedlist> 777 <itemizedlist>
781 <listitem> 778 <listitem>
782 <para> 779 <para>
783 NUMREGBYTES: The size in bytes of all of the registers, so 780 NUMREGBYTES: The size in bytes of all of the registers, so
784 that we can ensure they will all fit into a packet. 781 that we can ensure they will all fit into a packet.
785 </para> 782 </para>
786 <para> 783 </listitem>
787 BUFMAX: The size in bytes of the buffer GDB will read into. 784 <listitem>
788 This must be larger than NUMREGBYTES. 785 <para>
789 </para> 786 BUFMAX: The size in bytes of the buffer GDB will read into.
790 <para> 787 This must be larger than NUMREGBYTES.
791 CACHE_FLUSH_IS_SAFE: Set to 1 if it is always safe to call 788 </para>
792 flush_cache_range or flush_icache_range. On some architectures, 789 </listitem>
793 these functions may not be safe to call on SMP since we keep other 790 <listitem>
794 CPUs in a holding pattern. 791 <para>
795 </para> 792 CACHE_FLUSH_IS_SAFE: Set to 1 if it is always safe to call
796 </listitem> 793 flush_cache_range or flush_icache_range. On some architectures,
794 these functions may not be safe to call on SMP since we keep other
795 CPUs in a holding pattern.
796 </para>
797 </listitem>
797 </itemizedlist> 798 </itemizedlist>
798 </para> 799 </para>
799 <para> 800 <para>
@@ -812,8 +813,8 @@ Task Addr Pid Parent [*] cpu State Thread Command
812 <para> 813 <para>
813 The kgdboc driver is actually a very thin driver that relies on the 814 The kgdboc driver is actually a very thin driver that relies on the
814 underlying low level to the hardware driver having "polling hooks" 815 underlying low level to the hardware driver having "polling hooks"
815 which the to which the tty driver is attached. In the initial 816 to which the tty driver is attached. In the initial
816 implementation of kgdboc it the serial_core was changed to expose a 817 implementation of kgdboc the serial_core was changed to expose a
817 low level UART hook for doing polled mode reading and writing of a 818 low level UART hook for doing polled mode reading and writing of a
818 single character while in an atomic context. When kgdb makes an I/O 819 single character while in an atomic context. When kgdb makes an I/O
819 request to the debugger, kgdboc invokes a callback in the serial 820 request to the debugger, kgdboc invokes a callback in the serial
diff --git a/Documentation/DocBook/uio-howto.tmpl b/Documentation/DocBook/uio-howto.tmpl
index 1fdc246e4256..cd0e452dfed5 100644
--- a/Documentation/DocBook/uio-howto.tmpl
+++ b/Documentation/DocBook/uio-howto.tmpl
@@ -719,7 +719,7 @@ framework to set up sysfs files for this region. Simply leave it alone.
719 </para> 719 </para>
720</sect1> 720</sect1>
721 721
722<sect1 id="using uio_dmem_genirq"> 722<sect1 id="using-uio_dmem_genirq">
723<title>Using uio_dmem_genirq for platform devices</title> 723<title>Using uio_dmem_genirq for platform devices</title>
724 <para> 724 <para>
725 In addition to statically allocated memory ranges, they may also be 725 In addition to statically allocated memory ranges, they may also be
@@ -746,16 +746,16 @@ framework to set up sysfs files for this region. Simply leave it alone.
746 following elements: 746 following elements:
747 </para> 747 </para>
748 <itemizedlist> 748 <itemizedlist>
749 <listitem><varname>struct uio_info uioinfo</varname>: The same 749 <listitem><para><varname>struct uio_info uioinfo</varname>: The same
750 structure used as the <varname>uio_pdrv_genirq</varname> platform 750 structure used as the <varname>uio_pdrv_genirq</varname> platform
751 data</listitem> 751 data</para></listitem>
752 <listitem><varname>unsigned int *dynamic_region_sizes</varname>: 752 <listitem><para><varname>unsigned int *dynamic_region_sizes</varname>:
753 Pointer to list of sizes of dynamic memory regions to be mapped into 753 Pointer to list of sizes of dynamic memory regions to be mapped into
754 user space. 754 user space.
755 </listitem> 755 </para></listitem>
756 <listitem><varname>unsigned int num_dynamic_regions</varname>: 756 <listitem><para><varname>unsigned int num_dynamic_regions</varname>:
757 Number of elements in <varname>dynamic_region_sizes</varname> array. 757 Number of elements in <varname>dynamic_region_sizes</varname> array.
758 </listitem> 758 </para></listitem>
759 </itemizedlist> 759 </itemizedlist>
760 <para> 760 <para>
761 The dynamic regions defined in the platform data will be appended to 761 The dynamic regions defined in the platform data will be appended to