aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-12-12 17:42:48 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2014-12-12 17:42:48 -0500
commit823e334ecd247dd49ca2c5c90414435d77135340 (patch)
tree3e015dacfcf51fc0d0dba5541084363843e64358
parent6ce4436c9cbe903af935291aa219fd6f4c85722d (diff)
parent9b64c09bb960b4ccae2a42e204cd70f83b115e3d (diff)
Merge tag 'docs-for-linus' of git://git.lwn.net/linux-2.6
Pull documentation update from Jonathan Corbet: "Here's my set of accumulated documentation changes for 3.19. It includes a couple of additions to the coding style document, some fixes for minor build problems within the documentation tree, the relocation of the kselftest docs, and various tweaks and additions. A couple of changes reach outside of Documentation/; they only make trivial comment changes and I did my best to get the required acks. Complete with a shiny signed tag this time around" * tag 'docs-for-linus' of git://git.lwn.net/linux-2.6: kobject: grammar fix Input: xpad - update docs to reflect current state Documentation: Build mic/mpssd only for x86_64 cgroups: Documentation: fix wrong cgroupfs paths Documentation/email-clients.txt: add info about Claws Mail CodingStyle: add some more error handling guidelines kselftest: Move the docs to the Documentation dir Documentation: fix formatting to make 's' happy Documentation: power: Fix typo in Documentation/power Documentation: vm: Add 1GB large page support information ipv4: add kernel parameter tcpmhash_entries Documentation: Fix a typo in mailbox.txt treewide: Fix typo in Documentation/DocBook/device-drivers CodingStyle: Add a chapter on conditional compilation
-rw-r--r--Documentation/CodingStyle70
-rw-r--r--Documentation/cgroups/cgroups.txt4
-rw-r--r--Documentation/email-clients.txt11
-rw-r--r--Documentation/filesystems/proc.txt2
-rw-r--r--Documentation/input/xpad.txt123
-rw-r--r--Documentation/kernel-parameters.txt7
-rw-r--r--Documentation/kobject.txt2
-rw-r--r--Documentation/kselftest.txt (renamed from tools/testing/selftests/README.txt)30
-rw-r--r--Documentation/mailbox.txt2
-rw-r--r--Documentation/mic/mpssd/Makefile2
-rw-r--r--Documentation/power/runtime_pm.txt6
-rw-r--r--Documentation/power/suspend-and-interrupts.txt2
-rw-r--r--Documentation/power/userland-swsusp.txt2
-rw-r--r--Documentation/vm/hugetlbpage.txt4
-rw-r--r--drivers/dma-buf/fence.c2
-rw-r--r--include/linux/fence.h4
-rw-r--r--include/linux/i2c.h2
17 files changed, 202 insertions, 73 deletions
diff --git a/Documentation/CodingStyle b/Documentation/CodingStyle
index 3171822c22a5..618a33c940df 100644
--- a/Documentation/CodingStyle
+++ b/Documentation/CodingStyle
@@ -392,7 +392,12 @@ The goto statement comes in handy when a function exits from multiple
392locations and some common work such as cleanup has to be done. If there is no 392locations and some common work such as cleanup has to be done. If there is no
393cleanup needed then just return directly. 393cleanup needed then just return directly.
394 394
395The rationale is: 395Choose label names which say what the goto does or why the goto exists. An
396example of a good name could be "out_buffer:" if the goto frees "buffer". Avoid
397using GW-BASIC names like "err1:" and "err2:". Also don't name them after the
398goto location like "err_kmalloc_failed:"
399
400The rationale for using gotos is:
396 401
397- unconditional statements are easier to understand and follow 402- unconditional statements are easier to understand and follow
398- nesting is reduced 403- nesting is reduced
@@ -403,9 +408,10 @@ The rationale is:
403int fun(int a) 408int fun(int a)
404{ 409{
405 int result = 0; 410 int result = 0;
406 char *buffer = kmalloc(SIZE); 411 char *buffer;
407 412
408 if (buffer == NULL) 413 buffer = kmalloc(SIZE, GFP_KERNEL);
414 if (!buffer)
409 return -ENOMEM; 415 return -ENOMEM;
410 416
411 if (condition1) { 417 if (condition1) {
@@ -413,14 +419,25 @@ int fun(int a)
413 ... 419 ...
414 } 420 }
415 result = 1; 421 result = 1;
416 goto out; 422 goto out_buffer;
417 } 423 }
418 ... 424 ...
419out: 425out_buffer:
420 kfree(buffer); 426 kfree(buffer);
421 return result; 427 return result;
422} 428}
423 429
430A common type of bug to be aware of it "one err bugs" which look like this:
431
432err:
433 kfree(foo->bar);
434 kfree(foo);
435 return ret;
436
437The bug in this code is that on some exit paths "foo" is NULL. Normally the
438fix for this is to split it up into two error labels "err_bar:" and "err_foo:".
439
440
424 Chapter 8: Commenting 441 Chapter 8: Commenting
425 442
426Comments are good, but there is also a danger of over-commenting. NEVER 443Comments are good, but there is also a danger of over-commenting. NEVER
@@ -845,6 +862,49 @@ next instruction in the assembly output:
845 : /* outputs */ : /* inputs */ : /* clobbers */); 862 : /* outputs */ : /* inputs */ : /* clobbers */);
846 863
847 864
865 Chapter 20: Conditional Compilation
866
867Wherever possible, don't use preprocessor conditionals (#if, #ifdef) in .c
868files; doing so makes code harder to read and logic harder to follow. Instead,
869use such conditionals in a header file defining functions for use in those .c
870files, providing no-op stub versions in the #else case, and then call those
871functions unconditionally from .c files. The compiler will avoid generating
872any code for the stub calls, producing identical results, but the logic will
873remain easy to follow.
874
875Prefer to compile out entire functions, rather than portions of functions or
876portions of expressions. Rather than putting an ifdef in an expression, factor
877out part or all of the expression into a separate helper function and apply the
878conditional to that function.
879
880If you have a function or variable which may potentially go unused in a
881particular configuration, and the compiler would warn about its definition
882going unused, mark the definition as __maybe_unused rather than wrapping it in
883a preprocessor conditional. (However, if a function or variable *always* goes
884unused, delete it.)
885
886Within code, where possible, use the IS_ENABLED macro to convert a Kconfig
887symbol into a C boolean expression, and use it in a normal C conditional:
888
889 if (IS_ENABLED(CONFIG_SOMETHING)) {
890 ...
891 }
892
893The compiler will constant-fold the conditional away, and include or exclude
894the block of code just as with an #ifdef, so this will not add any runtime
895overhead. However, this approach still allows the C compiler to see the code
896inside the block, and check it for correctness (syntax, types, symbol
897references, etc). Thus, you still have to use an #ifdef if the code inside the
898block references symbols that will not exist if the condition is not met.
899
900At the end of any non-trivial #if or #ifdef block (more than a few lines),
901place a comment after the #endif on the same line, noting the conditional
902expression used. For instance:
903
904#ifdef CONFIG_SOMETHING
905...
906#endif /* CONFIG_SOMETHING */
907
848 908
849 Appendix I: References 909 Appendix I: References
850 910
diff --git a/Documentation/cgroups/cgroups.txt b/Documentation/cgroups/cgroups.txt
index 10c949b293e4..f935fac1e73b 100644
--- a/Documentation/cgroups/cgroups.txt
+++ b/Documentation/cgroups/cgroups.txt
@@ -312,10 +312,10 @@ the "cpuset" cgroup subsystem, the steps are something like:
312 2) mkdir /sys/fs/cgroup/cpuset 312 2) mkdir /sys/fs/cgroup/cpuset
313 3) mount -t cgroup -ocpuset cpuset /sys/fs/cgroup/cpuset 313 3) mount -t cgroup -ocpuset cpuset /sys/fs/cgroup/cpuset
314 4) Create the new cgroup by doing mkdir's and write's (or echo's) in 314 4) Create the new cgroup by doing mkdir's and write's (or echo's) in
315 the /sys/fs/cgroup virtual file system. 315 the /sys/fs/cgroup/cpuset virtual file system.
316 5) Start a task that will be the "founding father" of the new job. 316 5) Start a task that will be the "founding father" of the new job.
317 6) Attach that task to the new cgroup by writing its PID to the 317 6) Attach that task to the new cgroup by writing its PID to the
318 /sys/fs/cgroup/cpuset/tasks file for that cgroup. 318 /sys/fs/cgroup/cpuset tasks file for that cgroup.
319 7) fork, exec or clone the job tasks from this founding father task. 319 7) fork, exec or clone the job tasks from this founding father task.
320 320
321For example, the following sequence of commands will setup a cgroup 321For example, the following sequence of commands will setup a cgroup
diff --git a/Documentation/email-clients.txt b/Documentation/email-clients.txt
index 9af538be3751..eede6088f978 100644
--- a/Documentation/email-clients.txt
+++ b/Documentation/email-clients.txt
@@ -77,6 +77,17 @@ should appear, and then pressing CTRL-R let you specify the patch file
77to insert into the message. 77to insert into the message.
78 78
79~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 79~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80Claws Mail (GUI)
81
82Works. Some people use this successfully for patches.
83
84To insert a patch use Message->Insert File (CTRL+i) or an external editor.
85
86If the inserted patch has to be edited in the Claws composition window
87"Auto wrapping" in Configuration->Preferences->Compose->Wrapping should be
88disabled.
89
90~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80Evolution (GUI) 91Evolution (GUI)
81 92
82Some people use this successfully for patches. 93Some people use this successfully for patches.
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt
index eb8a10e22f7c..aae9dd13c91f 100644
--- a/Documentation/filesystems/proc.txt
+++ b/Documentation/filesystems/proc.txt
@@ -1272,7 +1272,7 @@ softirq.
1272 1272
1273 1273
12741.9 Ext4 file system parameters 12741.9 Ext4 file system parameters
1275------------------------------ 1275-------------------------------
1276 1276
1277Information about mounted ext4 file systems can be found in 1277Information about mounted ext4 file systems can be found in
1278/proc/fs/ext4. Each mounted filesystem will have a directory in 1278/proc/fs/ext4. Each mounted filesystem will have a directory in
diff --git a/Documentation/input/xpad.txt b/Documentation/input/xpad.txt
index 7cc9a436e6a1..d1b23f295db4 100644
--- a/Documentation/input/xpad.txt
+++ b/Documentation/input/xpad.txt
@@ -1,18 +1,22 @@
1xpad - Linux USB driver for X-Box gamepads 1xpad - Linux USB driver for Xbox compatible controllers
2 2
3This is the very first release of a driver for X-Box gamepads. 3This driver exposes all first-party and third-party Xbox compatible
4Basically, this was hacked away in just a few hours, so don't expect 4controllers. It has a long history and has enjoyed considerable usage
5miracles. 5as Window's xinput library caused most PC games to focus on Xbox
6controller compatibility.
6 7
7In particular, there is currently NO support for the rumble pack. 8Due to backwards compatibility all buttons are reported as digital.
8You won't find many ff-aware linux applications anyway. 9This only effects Original Xbox controllers. All later controller models
10have only digital face buttons.
11
12Rumble is supported on some models of Xbox 360 controllers but not of
13Original Xbox controllers nor on Xbox One controllers. As of writing
14the Xbox One's rumble protocol has not been reverse engineered but in
15the future could be supported.
9 16
10 17
110. Notes 180. Notes
12-------- 19--------
13
14Driver updated for kernel 2.6.17.11. (Based on a patch for 2.6.11.4.)
15
16The number of buttons/axes reported varies based on 3 things: 20The number of buttons/axes reported varies based on 3 things:
17- if you are using a known controller 21- if you are using a known controller
18- if you are using a known dance pad 22- if you are using a known dance pad
@@ -20,12 +24,16 @@ The number of buttons/axes reported varies based on 3 things:
20 module configuration for "Map D-PAD to buttons rather than axes for unknown 24 module configuration for "Map D-PAD to buttons rather than axes for unknown
21 pads" (module option dpad_to_buttons) 25 pads" (module option dpad_to_buttons)
22 26
23If you set dpad_to_buttons to 0 and you are using an unknown device (one 27If you set dpad_to_buttons to N and you are using an unknown device
24not listed below), the driver will map the directional pad to axes (X/Y), 28the driver will map the directional pad to axes (X/Y).
25if you said N it will map the d-pad to buttons, which is needed for dance 29If you said Y it will map the d-pad to buttons, which is needed for dance
26style games to function correctly. The default is Y. 30style games to function correctly. The default is Y.
31
32dpad_to_buttons has no effect for known pads. A erroneous commit message
33claimed dpad_to_buttons could be used to force behavior on known devices.
34This is not true. Both dpad_to_buttons and triggers_to_buttons only affect
35unknown controllers.
27 36
28dpad_to_buttons has no effect for known pads.
29 37
300.1 Normal Controllers 380.1 Normal Controllers
31---------------------- 39----------------------
@@ -80,17 +88,29 @@ to the list of supported devices, ensuring that it will work out of the
80box in the future. 88box in the future.
81 89
82 90
831. USB adapter 911. USB adapters
84-------------- 92--------------
93All generations of Xbox controllers speak USB over the wire.
94- Original Xbox controllers use a proprietary connector and require adapters.
95- Wireless Xbox 360 controllers require a 'Xbox 360 Wireless Gaming Receiver
96 for Windows'
97- Wired Xbox 360 controllers use standard USB connectors.
98- Xbox One controllers can be wireless but speak Wi-Fi Direct and are not
99 yet supported.
100- Xbox One controllers can be wired and use standard Micro-USB connectors.
101
85 102
86Before you can actually use the driver, you need to get yourself an 103
87adapter cable to connect the X-Box controller to your Linux-Box. You 1041.1 Original Xbox USB adapters
88can buy these online fairly cheap, or build your own. 105--------------
106Using this driver with an Original Xbox controller requires an
107adapter cable to break out the proprietary connector's pins to USB.
108You can buy these online fairly cheap, or build your own.
89 109
90Such a cable is pretty easy to build. The Controller itself is a USB 110Such a cable is pretty easy to build. The Controller itself is a USB
91compound device (a hub with three ports for two expansion slots and 111compound device (a hub with three ports for two expansion slots and
92the controller device) with the only difference in a nonstandard connector 112the controller device) with the only difference in a nonstandard connector
93(5 pins vs. 4 on standard USB connector). 113(5 pins vs. 4 on standard USB 1.0 connectors).
94 114
95You just need to solder a USB connector onto the cable and keep the 115You just need to solder a USB connector onto the cable and keep the
96yellow wire unconnected. The other pins have the same order on both 116yellow wire unconnected. The other pins have the same order on both
@@ -102,26 +122,41 @@ original one. You can buy an extension cable and cut that instead. That way,
102you can still use the controller with your X-Box, if you have one ;) 122you can still use the controller with your X-Box, if you have one ;)
103 123
104 124
125
1052. Driver Installation 1262. Driver Installation
106---------------------- 127----------------------
107 128
108Once you have the adapter cable and the controller is connected, you need 129Once you have the adapter cable, if needed, and the controller connected
109to load your USB subsystem and should cat /proc/bus/usb/devices. 130the xpad module should be auto loaded. To confirm you can cat
110There should be an entry like the one at the end [4]. 131/proc/bus/usb/devices. There should be an entry like the one at the end [4].
132
133
111 134
112Currently (as of version 0.0.6), the following devices are included: 1353. Supported Controllers
113 original Microsoft XBOX controller (US), vendor=0x045e, product=0x0202 136------------------------
114 smaller Microsoft XBOX controller (US), vendor=0x045e, product=0x0289 137For a full list of supported controllers and associated vendor and product
138IDs see the xpad_device[] array[6].
139
140As of the historic version 0.0.6 (2006-10-10) the following devices
141were supported:
142 original Microsoft XBOX controller (US), vendor=0x045e, product=0x0202
143 smaller Microsoft XBOX controller (US), vendor=0x045e, product=0x0289
115 original Microsoft XBOX controller (Japan), vendor=0x045e, product=0x0285 144 original Microsoft XBOX controller (Japan), vendor=0x045e, product=0x0285
116 InterAct PowerPad Pro (Germany), vendor=0x05fd, product=0x107a 145 InterAct PowerPad Pro (Germany), vendor=0x05fd, product=0x107a
117 RedOctane Xbox Dance Pad (US), vendor=0x0c12, product=0x8809 146 RedOctane Xbox Dance Pad (US), vendor=0x0c12, product=0x8809
147
148Unrecognized models of Xbox controllers should function as Generic
149Xbox controllers. Unrecognized Dance Pad controllers require setting
150the module option 'dpad_to_buttons'.
151
152If you have an unrecognized controller please see 0.3 - Unknown Controllers
118 153
119The driver should work with xbox pads not listed above as well, however
120you will need to do something extra for dance pads to work.
121 154
122If you have a controller not listed above, see 0.3 - Unknown Controllers 1554. Manual Testing
156-----------------
157To test this driver's functionality you may use 'jstest'.
123 158
124If you compiled and installed the driver, test the functionality: 159For example:
125> modprobe xpad 160> modprobe xpad
126> modprobe joydev 161> modprobe joydev
127> jstest /dev/js0 162> jstest /dev/js0
@@ -134,7 +169,8 @@ show 20 inputs (6 axes, 14 buttons).
134It works? Voila, you're done ;) 169It works? Voila, you're done ;)
135 170
136 171
1373. Thanks 172
1735. Thanks
138--------- 174---------
139 175
140I have to thank ITO Takayuki for the detailed info on his site 176I have to thank ITO Takayuki for the detailed info on his site
@@ -145,14 +181,14 @@ His useful info and both the usb-skeleton as well as the iforce input driver
145the basic functionality. 181the basic functionality.
146 182
147 183
1484. References
149-------------
150 184
1511. http://euc.jp/periphs/xbox-controller.ja.html (ITO Takayuki) 1856. References
1522. http://xpad.xbox-scene.com/ 186-------------
1533. http://www.markosweb.com/www/xboxhackz.com/
154 187
1554. /proc/bus/usb/devices - dump from InterAct PowerPad Pro (Germany): 188[1]: http://euc.jp/periphs/xbox-controller.ja.html (ITO Takayuki)
189[2]: http://xpad.xbox-scene.com/
190[3]: http://www.markosweb.com/www/xboxhackz.com/
191[4]: /proc/bus/usb/devices - dump from InterAct PowerPad Pro (Germany):
156 192
157T: Bus=01 Lev=03 Prnt=04 Port=00 Cnt=01 Dev#= 5 Spd=12 MxCh= 0 193T: Bus=01 Lev=03 Prnt=04 Port=00 Cnt=01 Dev#= 5 Spd=12 MxCh= 0
158D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=32 #Cfgs= 1 194D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=32 #Cfgs= 1
@@ -162,7 +198,7 @@ I: If#= 0 Alt= 0 #EPs= 2 Cls=58(unk. ) Sub=42 Prot=00 Driver=(none)
162E: Ad=81(I) Atr=03(Int.) MxPS= 32 Ivl= 10ms 198E: Ad=81(I) Atr=03(Int.) MxPS= 32 Ivl= 10ms
163E: Ad=02(O) Atr=03(Int.) MxPS= 32 Ivl= 10ms 199E: Ad=02(O) Atr=03(Int.) MxPS= 32 Ivl= 10ms
164 200
1655. /proc/bus/usb/devices - dump from Redoctane Xbox Dance Pad (US): 201[5]: /proc/bus/usb/devices - dump from Redoctane Xbox Dance Pad (US):
166 202
167T: Bus=01 Lev=02 Prnt=09 Port=00 Cnt=01 Dev#= 10 Spd=12 MxCh= 0 203T: Bus=01 Lev=02 Prnt=09 Port=00 Cnt=01 Dev#= 10 Spd=12 MxCh= 0
168D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 204D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
@@ -173,7 +209,12 @@ I: If#= 0 Alt= 0 #EPs= 2 Cls=58(unk. ) Sub=42 Prot=00 Driver=xpad
173E: Ad=82(I) Atr=03(Int.) MxPS= 32 Ivl=4ms 209E: Ad=82(I) Atr=03(Int.) MxPS= 32 Ivl=4ms
174E: Ad=02(O) Atr=03(Int.) MxPS= 32 Ivl=4ms 210E: Ad=02(O) Atr=03(Int.) MxPS= 32 Ivl=4ms
175 211
176-- 212[6]: http://lxr.free-electrons.com/ident?i=xpad_device
213
214
215
2167. Historic Edits
217-----------------
177Marko Friedemann <mfr@bmx-chemnitz.de> 218Marko Friedemann <mfr@bmx-chemnitz.de>
1782002-07-16 2192002-07-16
179 - original doc 220 - original doc
@@ -181,3 +222,5 @@ Marko Friedemann <mfr@bmx-chemnitz.de>
181Dominic Cerquetti <binary1230@yahoo.com> 222Dominic Cerquetti <binary1230@yahoo.com>
1822005-03-19 2232005-03-19
183 - added stuff for dance pads, new d-pad->axes mappings 224 - added stuff for dance pads, new d-pad->axes mappings
225
226Later changes may be viewed with 'git log Documentation/input/xpad.txt'
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index eacb2e0397ae..43ecdcd39df2 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -3434,6 +3434,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
3434 neutralize any effect of /proc/sys/kernel/sysrq. 3434 neutralize any effect of /proc/sys/kernel/sysrq.
3435 Useful for debugging. 3435 Useful for debugging.
3436 3436
3437 tcpmhash_entries= [KNL,NET]
3438 Set the number of tcp_metrics_hash slots.
3439 Default value is 8192 or 16384 depending on total
3440 ram pages. This is used to specify the TCP metrics
3441 cache size. See Documentation/networking/ip-sysctl.txt
3442 "tcp_no_metrics_save" section for more details.
3443
3437 tdfx= [HW,DRM] 3444 tdfx= [HW,DRM]
3438 3445
3439 test_suspend= [SUSPEND][,N] 3446 test_suspend= [SUSPEND][,N]
diff --git a/Documentation/kobject.txt b/Documentation/kobject.txt
index f87241dfed87..1be59a3a521c 100644
--- a/Documentation/kobject.txt
+++ b/Documentation/kobject.txt
@@ -173,7 +173,7 @@ This should be done only after any attributes or children of the kobject
173have been initialized properly, as userspace will instantly start to look 173have been initialized properly, as userspace will instantly start to look
174for them when this call happens. 174for them when this call happens.
175 175
176When the kobject is removed from the kernel (details on how to do that is 176When the kobject is removed from the kernel (details on how to do that are
177below), the uevent for KOBJ_REMOVE will be automatically created by the 177below), the uevent for KOBJ_REMOVE will be automatically created by the
178kobject core, so the caller does not have to worry about doing that by 178kobject core, so the caller does not have to worry about doing that by
179hand. 179hand.
diff --git a/tools/testing/selftests/README.txt b/Documentation/kselftest.txt
index 2660d5ff9179..a87d840bacfe 100644
--- a/tools/testing/selftests/README.txt
+++ b/Documentation/kselftest.txt
@@ -15,37 +15,45 @@ Running the selftests (hotplug tests are run in limited mode)
15============================================================= 15=============================================================
16 16
17To build the tests: 17To build the tests:
18
19 $ make -C tools/testing/selftests 18 $ make -C tools/testing/selftests
20 19
21 20
22To run the tests: 21To run the tests:
23
24 $ make -C tools/testing/selftests run_tests 22 $ make -C tools/testing/selftests run_tests
25 23
24To build and run the tests with a single command, use:
25 $ make kselftest
26
26- note that some tests will require root privileges. 27- note that some tests will require root privileges.
27 28
28To run only tests targeted for a single subsystem: (including
29hotplug targets in limited mode)
30 29
31 $ make -C tools/testing/selftests TARGETS=cpu-hotplug run_tests 30Running a subset of selftests
31========================================
32You can use the "TARGETS" variable on the make command line to specify
33single test to run, or a list of tests to run.
34
35To run only tests targeted for a single subsystem:
36 $ make -C tools/testing/selftests TARGETS=ptrace run_tests
37
38You can specify multiple tests to build and run:
39 $ make TARGETS="size timers" kselftest
40
41See the top-level tools/testing/selftests/Makefile for the list of all
42possible targets.
32 43
33See the top-level tools/testing/selftests/Makefile for the list of all possible
34targets.
35 44
36Running the full range hotplug selftests 45Running the full range hotplug selftests
37======================================== 46========================================
38 47
39To build the tests: 48To build the hotplug tests:
40
41 $ make -C tools/testing/selftests hotplug 49 $ make -C tools/testing/selftests hotplug
42 50
43To run the tests: 51To run the hotplug tests:
44
45 $ make -C tools/testing/selftests run_hotplug 52 $ make -C tools/testing/selftests run_hotplug
46 53
47- note that some tests will require root privileges. 54- note that some tests will require root privileges.
48 55
56
49Contributing new tests 57Contributing new tests
50====================== 58======================
51 59
diff --git a/Documentation/mailbox.txt b/Documentation/mailbox.txt
index 60f43ff629aa..1092ad9578da 100644
--- a/Documentation/mailbox.txt
+++ b/Documentation/mailbox.txt
@@ -53,7 +53,7 @@ static void message_from_remote(struct mbox_client *cl, void *mssg)
53{ 53{
54 struct demo_client *dc = container_of(mbox_client, 54 struct demo_client *dc = container_of(mbox_client,
55 struct demo_client, cl); 55 struct demo_client, cl);
56 if (dc->aysnc) { 56 if (dc->async) {
57 if (is_an_ack(mssg)) { 57 if (is_an_ack(mssg)) {
58 /* An ACK to our last sample sent */ 58 /* An ACK to our last sample sent */
59 return; /* Or do something else here */ 59 return; /* Or do something else here */
diff --git a/Documentation/mic/mpssd/Makefile b/Documentation/mic/mpssd/Makefile
index 0f3156888048..f47fe6ba7300 100644
--- a/Documentation/mic/mpssd/Makefile
+++ b/Documentation/mic/mpssd/Makefile
@@ -1,5 +1,5 @@
1# List of programs to build 1# List of programs to build
2hostprogs-y := mpssd 2hostprogs-$(CONFIG_X86_64) := mpssd
3 3
4mpssd-objs := mpssd.o sysfs.o 4mpssd-objs := mpssd.o sysfs.o
5 5
diff --git a/Documentation/power/runtime_pm.txt b/Documentation/power/runtime_pm.txt
index f32ce5419573..0e5ea26b255a 100644
--- a/Documentation/power/runtime_pm.txt
+++ b/Documentation/power/runtime_pm.txt
@@ -229,13 +229,13 @@ defined in include/linux/pm.h:
229 - if set, the value of child_count is ignored (but still updated) 229 - if set, the value of child_count is ignored (but still updated)
230 230
231 unsigned int disable_depth; 231 unsigned int disable_depth;
232 - used for disabling the helper funcions (they work normally if this is 232 - used for disabling the helper functions (they work normally if this is
233 equal to zero); the initial value of it is 1 (i.e. runtime PM is 233 equal to zero); the initial value of it is 1 (i.e. runtime PM is
234 initially disabled for all devices) 234 initially disabled for all devices)
235 235
236 int runtime_error; 236 int runtime_error;
237 - if set, there was a fatal error (one of the callbacks returned error code 237 - if set, there was a fatal error (one of the callbacks returned error code
238 as described in Section 2), so the helper funtions will not work until 238 as described in Section 2), so the helper functions will not work until
239 this flag is cleared; this is the error code returned by the failing 239 this flag is cleared; this is the error code returned by the failing
240 callback 240 callback
241 241
@@ -524,7 +524,7 @@ pm_runtime_put_sync_autosuspend()
5245. Runtime PM Initialization, Device Probing and Removal 5245. Runtime PM Initialization, Device Probing and Removal
525 525
526Initially, the runtime PM is disabled for all devices, which means that the 526Initially, the runtime PM is disabled for all devices, which means that the
527majority of the runtime PM helper funtions described in Section 4 will return 527majority of the runtime PM helper functions described in Section 4 will return
528-EAGAIN until pm_runtime_enable() is called for the device. 528-EAGAIN until pm_runtime_enable() is called for the device.
529 529
530In addition to that, the initial runtime PM status of all devices is 530In addition to that, the initial runtime PM status of all devices is
diff --git a/Documentation/power/suspend-and-interrupts.txt b/Documentation/power/suspend-and-interrupts.txt
index 69663640dea5..2f9c5a5fcb25 100644
--- a/Documentation/power/suspend-and-interrupts.txt
+++ b/Documentation/power/suspend-and-interrupts.txt
@@ -77,7 +77,7 @@ Calling enable_irq_wake() causes suspend_device_irqs() to treat the given IRQ
77in a special way. Namely, the IRQ remains enabled, by on the first interrupt 77in a special way. Namely, the IRQ remains enabled, by on the first interrupt
78it will be disabled, marked as pending and "suspended" so that it will be 78it will be disabled, marked as pending and "suspended" so that it will be
79re-enabled by resume_device_irqs() during the subsequent system resume. Also 79re-enabled by resume_device_irqs() during the subsequent system resume. Also
80the PM core is notified about the event which casues the system suspend in 80the PM core is notified about the event which causes the system suspend in
81progress to be aborted (that doesn't have to happen immediately, but at one 81progress to be aborted (that doesn't have to happen immediately, but at one
82of the points where the suspend thread looks for pending wakeup events). 82of the points where the suspend thread looks for pending wakeup events).
83 83
diff --git a/Documentation/power/userland-swsusp.txt b/Documentation/power/userland-swsusp.txt
index 0e870825c1b9..bbfcd1bbedc5 100644
--- a/Documentation/power/userland-swsusp.txt
+++ b/Documentation/power/userland-swsusp.txt
@@ -99,7 +99,7 @@ SNAPSHOT_S2RAM - suspend to RAM; using this call causes the kernel to
99The device's read() operation can be used to transfer the snapshot image from 99The device's read() operation can be used to transfer the snapshot image from
100the kernel. It has the following limitations: 100the kernel. It has the following limitations:
101- you cannot read() more than one virtual memory page at a time 101- you cannot read() more than one virtual memory page at a time
102- read()s across page boundaries are impossible (ie. if ypu read() 1/2 of 102- read()s across page boundaries are impossible (ie. if you read() 1/2 of
103 a page in the previous call, you will only be able to read() 103 a page in the previous call, you will only be able to read()
104 _at_ _most_ 1/2 of the page in the next call) 104 _at_ _most_ 1/2 of the page in the next call)
105 105
diff --git a/Documentation/vm/hugetlbpage.txt b/Documentation/vm/hugetlbpage.txt
index b64e0af9cc56..f2d3a100fe38 100644
--- a/Documentation/vm/hugetlbpage.txt
+++ b/Documentation/vm/hugetlbpage.txt
@@ -1,8 +1,8 @@
1 1
2The intent of this file is to give a brief summary of hugetlbpage support in 2The intent of this file is to give a brief summary of hugetlbpage support in
3the Linux kernel. This support is built on top of multiple page size support 3the Linux kernel. This support is built on top of multiple page size support
4that is provided by most modern architectures. For example, i386 4that is provided by most modern architectures. For example, x86 CPUs normally
5architecture supports 4K and 4M (2M in PAE mode) page sizes, ia64 5support 4K and 2M (1G if architecturally supported) page sizes, ia64
6architecture supports multiple page sizes 4K, 8K, 64K, 256K, 1M, 4M, 16M, 6architecture supports multiple page sizes 4K, 8K, 64K, 256K, 1M, 4M, 16M,
7256M and ppc64 supports 4K and 16M. A TLB is a cache of virtual-to-physical 7256M and ppc64 supports 4K and 16M. A TLB is a cache of virtual-to-physical
8translations. Typically this is a very scarce resource on processor. 8translations. Typically this is a very scarce resource on processor.
diff --git a/drivers/dma-buf/fence.c b/drivers/dma-buf/fence.c
index 7bb9d65d9a2c..e5541117b3e9 100644
--- a/drivers/dma-buf/fence.c
+++ b/drivers/dma-buf/fence.c
@@ -283,7 +283,7 @@ EXPORT_SYMBOL(fence_add_callback);
283 * @cb: [in] the callback to remove 283 * @cb: [in] the callback to remove
284 * 284 *
285 * Remove a previously queued callback from the fence. This function returns 285 * Remove a previously queued callback from the fence. This function returns
286 * true if the callback is succesfully removed, or false if the fence has 286 * true if the callback is successfully removed, or false if the fence has
287 * already been signaled. 287 * already been signaled.
288 * 288 *
289 * *WARNING*: 289 * *WARNING*:
diff --git a/include/linux/fence.h b/include/linux/fence.h
index d174585b874b..39efee130d2b 100644
--- a/include/linux/fence.h
+++ b/include/linux/fence.h
@@ -128,8 +128,8 @@ struct fence_cb {
128 * from irq context, so normal spinlocks can be used. 128 * from irq context, so normal spinlocks can be used.
129 * 129 *
130 * A return value of false indicates the fence already passed, 130 * A return value of false indicates the fence already passed,
131 * or some failure occured that made it impossible to enable 131 * or some failure occurred that made it impossible to enable
132 * signaling. True indicates succesful enabling. 132 * signaling. True indicates successful enabling.
133 * 133 *
134 * fence->status may be set in enable_signaling, but only when false is 134 * fence->status may be set in enable_signaling, but only when false is
135 * returned. 135 * returned.
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index b556e0ab946f..70ee0d3a2be3 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -359,7 +359,7 @@ i2c_register_board_info(int busnum, struct i2c_board_info const *info,
359 * to name two of the most common. 359 * to name two of the most common.
360 * 360 *
361 * The return codes from the @master_xfer field should indicate the type of 361 * The return codes from the @master_xfer field should indicate the type of
362 * error code that occured during the transfer, as documented in the kernel 362 * error code that occurred during the transfer, as documented in the kernel
363 * Documentation file Documentation/i2c/fault-codes. 363 * Documentation file Documentation/i2c/fault-codes.
364 */ 364 */
365struct i2c_algorithm { 365struct i2c_algorithm {