aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorPekka Enberg <penberg@kernel.org>2011-09-19 10:46:07 -0400
committerPekka Enberg <penberg@kernel.org>2011-09-19 10:46:07 -0400
commitd20bbfab01802e195a50435940f7e4aa747c217c (patch)
tree82b0007e33c083050a4e60a49dbb2f5477b4c99d /Documentation
parenta37933c37c14b64e81c7c9cc44a5d3f5e0c91412 (diff)
parent136333d104bd3a62d783b0ac3d0f32ac0108c5d0 (diff)
Merge branch 'slab/urgent' into slab/next
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/ABI/testing/pstore6
-rw-r--r--Documentation/ABI/testing/sysfs-platform-ideapad-laptop17
-rw-r--r--Documentation/CodingStyle23
-rw-r--r--Documentation/acpi/apei/einj.txt11
-rw-r--r--Documentation/device-mapper/dm-crypt.txt21
-rw-r--r--Documentation/device-mapper/dm-flakey.txt48
-rw-r--r--Documentation/device-mapper/dm-raid.txt138
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio_keys.txt2
-rw-r--r--Documentation/devicetree/bindings/input/fsl-mma8450.txt11
-rw-r--r--Documentation/dmaengine.txt234
-rw-r--r--Documentation/fault-injection/fault-injection.txt3
-rw-r--r--Documentation/feature-removal-schedule.txt20
-rw-r--r--Documentation/frv/booting.txt13
-rw-r--r--Documentation/ioctl/ioctl-number.txt1
-rw-r--r--Documentation/kernel-parameters.txt11
-rw-r--r--Documentation/m68k/kernel-options.txt14
-rw-r--r--Documentation/networking/bonding.txt2
-rw-r--r--Documentation/power/runtime_pm.txt10
18 files changed, 419 insertions, 166 deletions
diff --git a/Documentation/ABI/testing/pstore b/Documentation/ABI/testing/pstore
index ddf451ee2a08..ff1df4e3b059 100644
--- a/Documentation/ABI/testing/pstore
+++ b/Documentation/ABI/testing/pstore
@@ -39,3 +39,9 @@ Description: Generic interface to platform dependent persistent storage.
39 multiple) files based on the record size of the underlying 39 multiple) files based on the record size of the underlying
40 persistent storage until at least this amount is reached. 40 persistent storage until at least this amount is reached.
41 Default is 10 Kbytes. 41 Default is 10 Kbytes.
42
43 Pstore only supports one backend at a time. If multiple
44 backends are available, the preferred backend may be
45 set by passing the pstore.backend= argument to the kernel at
46 boot time.
47
diff --git a/Documentation/ABI/testing/sysfs-platform-ideapad-laptop b/Documentation/ABI/testing/sysfs-platform-ideapad-laptop
index 807fca2ae2a4..ff53183c3848 100644
--- a/Documentation/ABI/testing/sysfs-platform-ideapad-laptop
+++ b/Documentation/ABI/testing/sysfs-platform-ideapad-laptop
@@ -4,3 +4,20 @@ KernelVersion: 2.6.37
4Contact: "Ike Panhc <ike.pan@canonical.com>" 4Contact: "Ike Panhc <ike.pan@canonical.com>"
5Description: 5Description:
6 Control the power of camera module. 1 means on, 0 means off. 6 Control the power of camera module. 1 means on, 0 means off.
7
8What: /sys/devices/platform/ideapad/cfg
9Date: Jun 2011
10KernelVersion: 3.1
11Contact: "Ike Panhc <ike.pan@canonical.com>"
12Description:
13 Ideapad capability bits.
14 Bit 8-10: 1 - Intel graphic only
15 2 - ATI graphic only
16 3 - Nvidia graphic only
17 4 - Intel and ATI graphic
18 5 - Intel and Nvidia graphic
19 Bit 16: Bluetooth exist (1 for exist)
20 Bit 17: 3G exist (1 for exist)
21 Bit 18: Wifi exist (1 for exist)
22 Bit 19: Camera exist (1 for exist)
23
diff --git a/Documentation/CodingStyle b/Documentation/CodingStyle
index fa6e25b94a54..c940239d9678 100644
--- a/Documentation/CodingStyle
+++ b/Documentation/CodingStyle
@@ -80,22 +80,13 @@ available tools.
80The limit on the length of lines is 80 columns and this is a strongly 80The limit on the length of lines is 80 columns and this is a strongly
81preferred limit. 81preferred limit.
82 82
83Statements longer than 80 columns will be broken into sensible chunks. 83Statements longer than 80 columns will be broken into sensible chunks, unless
84Descendants are always substantially shorter than the parent and are placed 84exceeding 80 columns significantly increases readability and does not hide
85substantially to the right. The same applies to function headers with a long 85information. Descendants are always substantially shorter than the parent and
86argument list. Long strings are as well broken into shorter strings. The 86are placed substantially to the right. The same applies to function headers
87only exception to this is where exceeding 80 columns significantly increases 87with a long argument list. However, never break user-visible strings such as
88readability and does not hide information. 88printk messages, because that breaks the ability to grep for them.
89 89
90void fun(int a, int b, int c)
91{
92 if (condition)
93 printk(KERN_WARNING "Warning this is a long printk with "
94 "3 parameters a: %u b: %u "
95 "c: %u \n", a, b, c);
96 else
97 next_statement;
98}
99 90
100 Chapter 3: Placing Braces and Spaces 91 Chapter 3: Placing Braces and Spaces
101 92
diff --git a/Documentation/acpi/apei/einj.txt b/Documentation/acpi/apei/einj.txt
index dfab71848dc8..5cc699ba5453 100644
--- a/Documentation/acpi/apei/einj.txt
+++ b/Documentation/acpi/apei/einj.txt
@@ -48,12 +48,19 @@ directory apei/einj. The following files are provided.
48- param1 48- param1
49 This file is used to set the first error parameter value. Effect of 49 This file is used to set the first error parameter value. Effect of
50 parameter depends on error_type specified. For memory error, this is 50 parameter depends on error_type specified. For memory error, this is
51 physical memory address. 51 physical memory address. Only available if param_extension module
52 parameter is specified.
52 53
53- param2 54- param2
54 This file is used to set the second error parameter value. Effect of 55 This file is used to set the second error parameter value. Effect of
55 parameter depends on error_type specified. For memory error, this is 56 parameter depends on error_type specified. For memory error, this is
56 physical memory address mask. 57 physical memory address mask. Only available if param_extension
58 module parameter is specified.
59
60Injecting parameter support is a BIOS version specific extension, that
61is, it only works on some BIOS version. If you want to use it, please
62make sure your BIOS version has the proper support and specify
63"param_extension=y" in module parameter.
57 64
58For more information about EINJ, please refer to ACPI specification 65For more information about EINJ, please refer to ACPI specification
59version 4.0, section 17.5. 66version 4.0, section 17.5.
diff --git a/Documentation/device-mapper/dm-crypt.txt b/Documentation/device-mapper/dm-crypt.txt
index 6b5c42dbbe84..2c656ae43ba7 100644
--- a/Documentation/device-mapper/dm-crypt.txt
+++ b/Documentation/device-mapper/dm-crypt.txt
@@ -4,7 +4,8 @@ dm-crypt
4Device-Mapper's "crypt" target provides transparent encryption of block devices 4Device-Mapper's "crypt" target provides transparent encryption of block devices
5using the kernel crypto API. 5using the kernel crypto API.
6 6
7Parameters: <cipher> <key> <iv_offset> <device path> <offset> 7Parameters: <cipher> <key> <iv_offset> <device path> \
8 <offset> [<#opt_params> <opt_params>]
8 9
9<cipher> 10<cipher>
10 Encryption cipher and an optional IV generation mode. 11 Encryption cipher and an optional IV generation mode.
@@ -37,6 +38,24 @@ Parameters: <cipher> <key> <iv_offset> <device path> <offset>
37<offset> 38<offset>
38 Starting sector within the device where the encrypted data begins. 39 Starting sector within the device where the encrypted data begins.
39 40
41<#opt_params>
42 Number of optional parameters. If there are no optional parameters,
43 the optional paramaters section can be skipped or #opt_params can be zero.
44 Otherwise #opt_params is the number of following arguments.
45
46 Example of optional parameters section:
47 1 allow_discards
48
49allow_discards
50 Block discard requests (a.k.a. TRIM) are passed through the crypt device.
51 The default is to ignore discard requests.
52
53 WARNING: Assess the specific security risks carefully before enabling this
54 option. For example, allowing discards on encrypted devices may lead to
55 the leak of information about the ciphertext device (filesystem type,
56 used space etc.) if the discarded blocks can be located easily on the
57 device later.
58
40Example scripts 59Example scripts
41=============== 60===============
42LUKS (Linux Unified Key Setup) is now the preferred way to set up disk 61LUKS (Linux Unified Key Setup) is now the preferred way to set up disk
diff --git a/Documentation/device-mapper/dm-flakey.txt b/Documentation/device-mapper/dm-flakey.txt
index c8efdfd19a65..6ff5c2327227 100644
--- a/Documentation/device-mapper/dm-flakey.txt
+++ b/Documentation/device-mapper/dm-flakey.txt
@@ -1,17 +1,53 @@
1dm-flakey 1dm-flakey
2========= 2=========
3 3
4This target is the same as the linear target except that it returns I/O 4This target is the same as the linear target except that it exhibits
5errors periodically. It's been found useful in simulating failing 5unreliable behaviour periodically. It's been found useful in simulating
6devices for testing purposes. 6failing devices for testing purposes.
7 7
8Starting from the time the table is loaded, the device is available for 8Starting from the time the table is loaded, the device is available for
9<up interval> seconds, then returns errors for <down interval> seconds, 9<up interval> seconds, then exhibits unreliable behaviour for <down
10and then this cycle repeats. 10interval> seconds, and then this cycle repeats.
11 11
12Parameters: <dev path> <offset> <up interval> <down interval> 12Also, consider using this in combination with the dm-delay target too,
13which can delay reads and writes and/or send them to different
14underlying devices.
15
16Table parameters
17----------------
18 <dev path> <offset> <up interval> <down interval> \
19 [<num_features> [<feature arguments>]]
20
21Mandatory parameters:
13 <dev path>: Full pathname to the underlying block-device, or a 22 <dev path>: Full pathname to the underlying block-device, or a
14 "major:minor" device-number. 23 "major:minor" device-number.
15 <offset>: Starting sector within the device. 24 <offset>: Starting sector within the device.
16 <up interval>: Number of seconds device is available. 25 <up interval>: Number of seconds device is available.
17 <down interval>: Number of seconds device returns errors. 26 <down interval>: Number of seconds device returns errors.
27
28Optional feature parameters:
29 If no feature parameters are present, during the periods of
30 unreliability, all I/O returns errors.
31
32 drop_writes:
33 All write I/O is silently ignored.
34 Read I/O is handled correctly.
35
36 corrupt_bio_byte <Nth_byte> <direction> <value> <flags>:
37 During <down interval>, replace <Nth_byte> of the data of
38 each matching bio with <value>.
39
40 <Nth_byte>: The offset of the byte to replace.
41 Counting starts at 1, to replace the first byte.
42 <direction>: Either 'r' to corrupt reads or 'w' to corrupt writes.
43 'w' is incompatible with drop_writes.
44 <value>: The value (from 0-255) to write.
45 <flags>: Perform the replacement only if bio->bi_rw has all the
46 selected flags set.
47
48Examples:
49 corrupt_bio_byte 32 r 1 0
50 - replaces the 32nd byte of READ bios with the value 1
51
52 corrupt_bio_byte 224 w 0 32
53 - replaces the 224th byte of REQ_META (=32) bios with the value 0
diff --git a/Documentation/device-mapper/dm-raid.txt b/Documentation/device-mapper/dm-raid.txt
index 33b6b7071ac8..2a8c11331d2d 100644
--- a/Documentation/device-mapper/dm-raid.txt
+++ b/Documentation/device-mapper/dm-raid.txt
@@ -1,70 +1,108 @@
1Device-mapper RAID (dm-raid) is a bridge from DM to MD. It 1dm-raid
2provides a way to use device-mapper interfaces to access the MD RAID 2-------
3drivers.
4 3
5As with all device-mapper targets, the nominal public interfaces are the 4The device-mapper RAID (dm-raid) target provides a bridge from DM to MD.
6constructor (CTR) tables and the status outputs (both STATUSTYPE_INFO 5It allows the MD RAID drivers to be accessed using a device-mapper
7and STATUSTYPE_TABLE). The CTR table looks like the following: 6interface.
8 7
91: <s> <l> raid \ 8The target is named "raid" and it accepts the following parameters:
102: <raid_type> <#raid_params> <raid_params> \ 9
113: <#raid_devs> <meta_dev1> <dev1> .. <meta_devN> <devN> 10 <raid_type> <#raid_params> <raid_params> \
12 11 <#raid_devs> <metadata_dev0> <dev0> [.. <metadata_devN> <devN>]
13Line 1 contains the standard first three arguments to any device-mapper 12
14target - the start, length, and target type fields. The target type in 13<raid_type>:
15this case is "raid". 14 raid1 RAID1 mirroring
16 15 raid4 RAID4 dedicated parity disk
17Line 2 contains the arguments that define the particular raid 16 raid5_la RAID5 left asymmetric
18type/personality/level, the required arguments for that raid type, and 17 - rotating parity 0 with data continuation
19any optional arguments. Possible raid types include: raid4, raid5_la, 18 raid5_ra RAID5 right asymmetric
20raid5_ls, raid5_rs, raid6_zr, raid6_nr, and raid6_nc. (raid1 is 19 - rotating parity N with data continuation
21planned for the future.) The list of required and optional parameters 20 raid5_ls RAID5 left symmetric
22is the same for all the current raid types. The required parameters are 21 - rotating parity 0 with data restart
23positional, while the optional parameters are given as key/value pairs. 22 raid5_rs RAID5 right symmetric
24The possible parameters are as follows: 23 - rotating parity N with data restart
25 <chunk_size> Chunk size in sectors. 24 raid6_zr RAID6 zero restart
26 [[no]sync] Force/Prevent RAID initialization 25 - rotating parity zero (left-to-right) with data restart
27 [rebuild <idx>] Rebuild the drive indicated by the index 26 raid6_nr RAID6 N restart
28 [daemon_sleep <ms>] Time between bitmap daemon work to clear bits 27 - rotating parity N (right-to-left) with data restart
29 [min_recovery_rate <kB/sec/disk>] Throttle RAID initialization 28 raid6_nc RAID6 N continue
30 [max_recovery_rate <kB/sec/disk>] Throttle RAID initialization 29 - rotating parity N (right-to-left) with data continuation
31 [max_write_behind <sectors>] See '-write-behind=' (man mdadm) 30
32 [stripe_cache <sectors>] Stripe cache size for higher RAIDs 31 Refererence: Chapter 4 of
33 32 http://www.snia.org/sites/default/files/SNIA_DDF_Technical_Position_v2.0.pdf
34Line 3 contains the list of devices that compose the array in 33
35metadata/data device pairs. If the metadata is stored separately, a '-' 34<#raid_params>: The number of parameters that follow.
36is given for the metadata device position. If a drive has failed or is 35
37missing at creation time, a '-' can be given for both the metadata and 36<raid_params> consists of
38data drives for a given position. 37 Mandatory parameters:
39 38 <chunk_size>: Chunk size in sectors. This parameter is often known as
40NB. Currently all metadata devices must be specified as '-'. 39 "stripe size". It is the only mandatory parameter and
41 40 is placed first.
42Examples: 41
43# RAID4 - 4 data drives, 1 parity 42 followed by optional parameters (in any order):
43 [sync|nosync] Force or prevent RAID initialization.
44
45 [rebuild <idx>] Rebuild drive number idx (first drive is 0).
46
47 [daemon_sleep <ms>]
48 Interval between runs of the bitmap daemon that
49 clear bits. A longer interval means less bitmap I/O but
50 resyncing after a failure is likely to take longer.
51
52 [min_recovery_rate <kB/sec/disk>] Throttle RAID initialization
53 [max_recovery_rate <kB/sec/disk>] Throttle RAID initialization
54 [write_mostly <idx>] Drive index is write-mostly
55 [max_write_behind <sectors>] See '-write-behind=' (man mdadm)
56 [stripe_cache <sectors>] Stripe cache size (higher RAIDs only)
57 [region_size <sectors>]
58 The region_size multiplied by the number of regions is the
59 logical size of the array. The bitmap records the device
60 synchronisation state for each region.
61
62<#raid_devs>: The number of devices composing the array.
63 Each device consists of two entries. The first is the device
64 containing the metadata (if any); the second is the one containing the
65 data.
66
67 If a drive has failed or is missing at creation time, a '-' can be
68 given for both the metadata and data drives for a given position.
69
70
71Example tables
72--------------
73# RAID4 - 4 data drives, 1 parity (no metadata devices)
44# No metadata devices specified to hold superblock/bitmap info 74# No metadata devices specified to hold superblock/bitmap info
45# Chunk size of 1MiB 75# Chunk size of 1MiB
46# (Lines separated for easy reading) 76# (Lines separated for easy reading)
77
470 1960893648 raid \ 780 1960893648 raid \
48 raid4 1 2048 \ 79 raid4 1 2048 \
49 5 - 8:17 - 8:33 - 8:49 - 8:65 - 8:81 80 5 - 8:17 - 8:33 - 8:49 - 8:65 - 8:81
50 81
51# RAID4 - 4 data drives, 1 parity (no metadata devices) 82# RAID4 - 4 data drives, 1 parity (with metadata devices)
52# Chunk size of 1MiB, force RAID initialization, 83# Chunk size of 1MiB, force RAID initialization,
53# min recovery rate at 20 kiB/sec/disk 84# min recovery rate at 20 kiB/sec/disk
85
540 1960893648 raid \ 860 1960893648 raid \
55 raid4 4 2048 min_recovery_rate 20 sync\ 87 raid4 4 2048 sync min_recovery_rate 20 \
56 5 - 8:17 - 8:33 - 8:49 - 8:65 - 8:81 88 5 8:17 8:18 8:33 8:34 8:49 8:50 8:65 8:66 8:81 8:82
57 89
58Performing a 'dmsetup table' should display the CTR table used to 90'dmsetup table' displays the table used to construct the mapping.
59construct the mapping (with possible reordering of optional 91The optional parameters are always printed in the order listed
60parameters). 92above with "sync" or "nosync" always output ahead of the other
93arguments, regardless of the order used when originally loading the table.
94Arguments that can be repeated are ordered by value.
61 95
62Performing a 'dmsetup status' will yield information on the state and 96'dmsetup status' yields information on the state and health of the
63health of the array. The output is as follows: 97array.
98The output is as follows:
641: <s> <l> raid \ 991: <s> <l> raid \
652: <raid_type> <#devices> <1 health char for each dev> <resync_ratio> 1002: <raid_type> <#devices> <1 health char for each dev> <resync_ratio>
66 101
67Line 1 is standard DM output. Line 2 is best shown by example: 102Line 1 is the standard output produced by device-mapper.
103Line 2 is produced by the raid target, and best explained by example:
68 0 1960893648 raid raid4 5 AAAAA 2/490221568 104 0 1960893648 raid raid4 5 AAAAA 2/490221568
69Here we can see the RAID type is raid4, there are 5 devices - all of 105Here we can see the RAID type is raid4, there are 5 devices - all of
70which are 'A'live, and the array is 2/490221568 complete with recovery. 106which are 'A'live, and the array is 2/490221568 complete with recovery.
107Faulty or missing devices are marked 'D'. Devices that are out-of-sync
108are marked 'a'.
diff --git a/Documentation/devicetree/bindings/gpio/gpio_keys.txt b/Documentation/devicetree/bindings/gpio/gpio_keys.txt
index 7190c99d7611..5c2c02140a62 100644
--- a/Documentation/devicetree/bindings/gpio/gpio_keys.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio_keys.txt
@@ -10,7 +10,7 @@ Optional properties:
10Each button (key) is represented as a sub-node of "gpio-keys": 10Each button (key) is represented as a sub-node of "gpio-keys":
11Subnode properties: 11Subnode properties:
12 12
13 - gpios: OF devcie-tree gpio specificatin. 13 - gpios: OF device-tree gpio specification.
14 - label: Descriptive name of the key. 14 - label: Descriptive name of the key.
15 - linux,code: Keycode to emit. 15 - linux,code: Keycode to emit.
16 16
diff --git a/Documentation/devicetree/bindings/input/fsl-mma8450.txt b/Documentation/devicetree/bindings/input/fsl-mma8450.txt
new file mode 100644
index 000000000000..a00c94ccbdee
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/fsl-mma8450.txt
@@ -0,0 +1,11 @@
1* Freescale MMA8450 3-Axis Accelerometer
2
3Required properties:
4- compatible : "fsl,mma8450".
5
6Example:
7
8accelerometer: mma8450@1c {
9 compatible = "fsl,mma8450";
10 reg = <0x1c>;
11};
diff --git a/Documentation/dmaengine.txt b/Documentation/dmaengine.txt
index 5a0cb1ef6164..94b7e0f96b38 100644
--- a/Documentation/dmaengine.txt
+++ b/Documentation/dmaengine.txt
@@ -10,87 +10,181 @@ NOTE: For DMA Engine usage in async_tx please see:
10Below is a guide to device driver writers on how to use the Slave-DMA API of the 10Below is a guide to device driver writers on how to use the Slave-DMA API of the
11DMA Engine. This is applicable only for slave DMA usage only. 11DMA Engine. This is applicable only for slave DMA usage only.
12 12
13The slave DMA usage consists of following steps 13The slave DMA usage consists of following steps:
141. Allocate a DMA slave channel 141. Allocate a DMA slave channel
152. Set slave and controller specific parameters 152. Set slave and controller specific parameters
163. Get a descriptor for transaction 163. Get a descriptor for transaction
174. Submit the transaction and wait for callback notification 174. Submit the transaction
185. Issue pending requests and wait for callback notification
18 19
191. Allocate a DMA slave channel 201. Allocate a DMA slave channel
20Channel allocation is slightly different in the slave DMA context, client 21
21drivers typically need a channel from a particular DMA controller only and even 22 Channel allocation is slightly different in the slave DMA context,
22in some cases a specific channel is desired. To request a channel 23 client drivers typically need a channel from a particular DMA
23dma_request_channel() API is used. 24 controller only and even in some cases a specific channel is desired.
24 25 To request a channel dma_request_channel() API is used.
25Interface: 26
26struct dma_chan *dma_request_channel(dma_cap_mask_t mask, 27 Interface:
27 dma_filter_fn filter_fn, 28 struct dma_chan *dma_request_channel(dma_cap_mask_t mask,
28 void *filter_param); 29 dma_filter_fn filter_fn,
29where dma_filter_fn is defined as: 30 void *filter_param);
30typedef bool (*dma_filter_fn)(struct dma_chan *chan, void *filter_param); 31 where dma_filter_fn is defined as:
31 32 typedef bool (*dma_filter_fn)(struct dma_chan *chan, void *filter_param);
32When the optional 'filter_fn' parameter is set to NULL dma_request_channel 33
33simply returns the first channel that satisfies the capability mask. Otherwise, 34 The 'filter_fn' parameter is optional, but highly recommended for
34when the mask parameter is insufficient for specifying the necessary channel, 35 slave and cyclic channels as they typically need to obtain a specific
35the filter_fn routine can be used to disposition the available channels in the 36 DMA channel.
36system. The filter_fn routine is called once for each free channel in the 37
37system. Upon seeing a suitable channel filter_fn returns DMA_ACK which flags 38 When the optional 'filter_fn' parameter is NULL, dma_request_channel()
38that channel to be the return value from dma_request_channel. A channel 39 simply returns the first channel that satisfies the capability mask.
39allocated via this interface is exclusive to the caller, until 40
40dma_release_channel() is called. 41 Otherwise, the 'filter_fn' routine will be called once for each free
42 channel which has a capability in 'mask'. 'filter_fn' is expected to
43 return 'true' when the desired DMA channel is found.
44
45 A channel allocated via this interface is exclusive to the caller,
46 until dma_release_channel() is called.
41 47
422. Set slave and controller specific parameters 482. Set slave and controller specific parameters
43Next step is always to pass some specific information to the DMA driver. Most of 49
44the generic information which a slave DMA can use is in struct dma_slave_config. 50 Next step is always to pass some specific information to the DMA
45It allows the clients to specify DMA direction, DMA addresses, bus widths, DMA 51 driver. Most of the generic information which a slave DMA can use
46burst lengths etc. If some DMA controllers have more parameters to be sent then 52 is in struct dma_slave_config. This allows the clients to specify
47they should try to embed struct dma_slave_config in their controller specific 53 DMA direction, DMA addresses, bus widths, DMA burst lengths etc
48structure. That gives flexibility to client to pass more parameters, if 54 for the peripheral.
49required. 55
50 56 If some DMA controllers have more parameters to be sent then they
51Interface: 57 should try to embed struct dma_slave_config in their controller
52int dmaengine_slave_config(struct dma_chan *chan, 58 specific structure. That gives flexibility to client to pass more
53 struct dma_slave_config *config) 59 parameters, if required.
60
61 Interface:
62 int dmaengine_slave_config(struct dma_chan *chan,
63 struct dma_slave_config *config)
64
65 Please see the dma_slave_config structure definition in dmaengine.h
66 for a detailed explaination of the struct members. Please note
67 that the 'direction' member will be going away as it duplicates the
68 direction given in the prepare call.
54 69
553. Get a descriptor for transaction 703. Get a descriptor for transaction
56For slave usage the various modes of slave transfers supported by the 71
57DMA-engine are: 72 For slave usage the various modes of slave transfers supported by the
58slave_sg - DMA a list of scatter gather buffers from/to a peripheral 73 DMA-engine are:
59dma_cyclic - Perform a cyclic DMA operation from/to a peripheral till the 74
75 slave_sg - DMA a list of scatter gather buffers from/to a peripheral
76 dma_cyclic - Perform a cyclic DMA operation from/to a peripheral till the
60 operation is explicitly stopped. 77 operation is explicitly stopped.
61The non NULL return of this transfer API represents a "descriptor" for the given 78
62transaction. 79 A non-NULL return of this transfer API represents a "descriptor" for
63 80 the given transaction.
64Interface: 81
65struct dma_async_tx_descriptor *(*chan->device->device_prep_dma_sg)( 82 Interface:
66 struct dma_chan *chan, 83 struct dma_async_tx_descriptor *(*chan->device->device_prep_slave_sg)(
67 struct scatterlist *dst_sg, unsigned int dst_nents, 84 struct dma_chan *chan, struct scatterlist *sgl,
68 struct scatterlist *src_sg, unsigned int src_nents, 85 unsigned int sg_len, enum dma_data_direction direction,
69 unsigned long flags); 86 unsigned long flags);
70struct dma_async_tx_descriptor *(*chan->device->device_prep_dma_cyclic)( 87
88 struct dma_async_tx_descriptor *(*chan->device->device_prep_dma_cyclic)(
71 struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, 89 struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len,
72 size_t period_len, enum dma_data_direction direction); 90 size_t period_len, enum dma_data_direction direction);
73 91
744. Submit the transaction and wait for callback notification 92 The peripheral driver is expected to have mapped the scatterlist for
75To schedule the transaction to be scheduled by dma device, the "descriptor" 93 the DMA operation prior to calling device_prep_slave_sg, and must
76returned in above (3) needs to be submitted. 94 keep the scatterlist mapped until the DMA operation has completed.
77To tell the dma driver that a transaction is ready to be serviced, the 95 The scatterlist must be mapped using the DMA struct device. So,
78descriptor->submit() callback needs to be invoked. This chains the descriptor to 96 normal setup should look like this:
79the pending queue. 97
80The transactions in the pending queue can be activated by calling the 98 nr_sg = dma_map_sg(chan->device->dev, sgl, sg_len);
81issue_pending API. If channel is idle then the first transaction in queue is 99 if (nr_sg == 0)
82started and subsequent ones queued up. 100 /* error */
83On completion of the DMA operation the next in queue is submitted and a tasklet 101
84triggered. The tasklet would then call the client driver completion callback 102 desc = chan->device->device_prep_slave_sg(chan, sgl, nr_sg,
85routine for notification, if set. 103 direction, flags);
86Interface: 104
87void dma_async_issue_pending(struct dma_chan *chan); 105 Once a descriptor has been obtained, the callback information can be
88 106 added and the descriptor must then be submitted. Some DMA engine
89============================================================================== 107 drivers may hold a spinlock between a successful preparation and
90 108 submission so it is important that these two operations are closely
91Additional usage notes for dma driver writers 109 paired.
921/ Although DMA engine specifies that completion callback routines cannot submit 110
93any new operations, but typically for slave DMA subsequent transaction may not 111 Note:
94be available for submit prior to callback routine being called. This requirement 112 Although the async_tx API specifies that completion callback
95is not a requirement for DMA-slave devices. But they should take care to drop 113 routines cannot submit any new operations, this is not the
96the spin-lock they might be holding before calling the callback routine 114 case for slave/cyclic DMA.
115
116 For slave DMA, the subsequent transaction may not be available
117 for submission prior to callback function being invoked, so
118 slave DMA callbacks are permitted to prepare and submit a new
119 transaction.
120
121 For cyclic DMA, a callback function may wish to terminate the
122 DMA via dmaengine_terminate_all().
123
124 Therefore, it is important that DMA engine drivers drop any
125 locks before calling the callback function which may cause a
126 deadlock.
127
128 Note that callbacks will always be invoked from the DMA
129 engines tasklet, never from interrupt context.
130
1314. Submit the transaction
132
133 Once the descriptor has been prepared and the callback information
134 added, it must be placed on the DMA engine drivers pending queue.
135
136 Interface:
137 dma_cookie_t dmaengine_submit(struct dma_async_tx_descriptor *desc)
138
139 This returns a cookie can be used to check the progress of DMA engine
140 activity via other DMA engine calls not covered in this document.
141
142 dmaengine_submit() will not start the DMA operation, it merely adds
143 it to the pending queue. For this, see step 5, dma_async_issue_pending.
144
1455. Issue pending DMA requests and wait for callback notification
146
147 The transactions in the pending queue can be activated by calling the
148 issue_pending API. If channel is idle then the first transaction in
149 queue is started and subsequent ones queued up.
150
151 On completion of each DMA operation, the next in queue is started and
152 a tasklet triggered. The tasklet will then call the client driver
153 completion callback routine for notification, if set.
154
155 Interface:
156 void dma_async_issue_pending(struct dma_chan *chan);
157
158Further APIs:
159
1601. int dmaengine_terminate_all(struct dma_chan *chan)
161
162 This causes all activity for the DMA channel to be stopped, and may
163 discard data in the DMA FIFO which hasn't been fully transferred.
164 No callback functions will be called for any incomplete transfers.
165
1662. int dmaengine_pause(struct dma_chan *chan)
167
168 This pauses activity on the DMA channel without data loss.
169
1703. int dmaengine_resume(struct dma_chan *chan)
171
172 Resume a previously paused DMA channel. It is invalid to resume a
173 channel which is not currently paused.
174
1754. enum dma_status dma_async_is_tx_complete(struct dma_chan *chan,
176 dma_cookie_t cookie, dma_cookie_t *last, dma_cookie_t *used)
177
178 This can be used to check the status of the channel. Please see
179 the documentation in include/linux/dmaengine.h for a more complete
180 description of this API.
181
182 This can be used in conjunction with dma_async_is_complete() and
183 the cookie returned from 'descriptor->submit()' to check for
184 completion of a specific DMA transaction.
185
186 Note:
187 Not all DMA engine drivers can return reliable information for
188 a running DMA channel. It is recommended that DMA engine users
189 pause or stop (via dmaengine_terminate_all) the channel before
190 using this API.
diff --git a/Documentation/fault-injection/fault-injection.txt b/Documentation/fault-injection/fault-injection.txt
index 7be15e44d481..82a5d250d75e 100644
--- a/Documentation/fault-injection/fault-injection.txt
+++ b/Documentation/fault-injection/fault-injection.txt
@@ -143,8 +143,7 @@ o provide a way to configure fault attributes
143 failslab, fail_page_alloc, and fail_make_request use this way. 143 failslab, fail_page_alloc, and fail_make_request use this way.
144 Helper functions: 144 Helper functions:
145 145
146 init_fault_attr_dentries(entries, attr, name); 146 fault_create_debugfs_attr(name, parent, attr);
147 void cleanup_fault_attr_dentries(entries);
148 147
149- module parameters 148- module parameters
150 149
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index ea0bace0124a..c4a6e148732a 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -296,15 +296,6 @@ Who: Ravikiran Thirumalai <kiran@scalex86.org>
296 296
297--------------------------- 297---------------------------
298 298
299What: CONFIG_THERMAL_HWMON
300When: January 2009
301Why: This option was introduced just to allow older lm-sensors userspace
302 to keep working over the upgrade to 2.6.26. At the scheduled time of
303 removal fixed lm-sensors (2.x or 3.x) should be readily available.
304Who: Rene Herman <rene.herman@gmail.com>
305
306---------------------------
307
308What: Code that is now under CONFIG_WIRELESS_EXT_SYSFS 299What: Code that is now under CONFIG_WIRELESS_EXT_SYSFS
309 (in net/core/net-sysfs.c) 300 (in net/core/net-sysfs.c)
310When: After the only user (hal) has seen a release with the patches 301When: After the only user (hal) has seen a release with the patches
@@ -590,3 +581,14 @@ Why: This driver has been superseded by g_mass_storage.
590Who: Alan Stern <stern@rowland.harvard.edu> 581Who: Alan Stern <stern@rowland.harvard.edu>
591 582
592---------------------------- 583----------------------------
584
585What: threeg and interface sysfs files in /sys/devices/platform/acer-wmi
586When: 2012
587Why: In 3.0, we can now autodetect internal 3G device and already have
588 the threeg rfkill device. So, we plan to remove threeg sysfs support
589 for it's no longer necessary.
590
591 We also plan to remove interface sysfs file that exposed which ACPI-WMI
592 interface that was used by acer-wmi driver. It will replaced by
593 information log when acer-wmi initial.
594Who: Lee, Chun-Yi <jlee@novell.com>
diff --git a/Documentation/frv/booting.txt b/Documentation/frv/booting.txt
index ace200b7c214..37c4d84a0e57 100644
--- a/Documentation/frv/booting.txt
+++ b/Documentation/frv/booting.txt
@@ -106,13 +106,20 @@ separated by spaces:
106 To use the first on-chip serial port at baud rate 115200, no parity, 8 106 To use the first on-chip serial port at baud rate 115200, no parity, 8
107 bits, and no flow control. 107 bits, and no flow control.
108 108
109 (*) root=/dev/<xxxx> 109 (*) root=<xxxx>
110 110
111 This specifies the device upon which the root filesystem resides. For 111 This specifies the device upon which the root filesystem resides. It
112 example: 112 may be specified by major and minor number, device path, or even
113 partition uuid, if supported. For example:
113 114
114 /dev/nfs NFS root filesystem 115 /dev/nfs NFS root filesystem
115 /dev/mtdblock3 Fourth RedBoot partition on the System Flash 116 /dev/mtdblock3 Fourth RedBoot partition on the System Flash
117 PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF/PARTNROFF=1
118 first partition after the partition with the given UUID
119 253:0 Device with major 253 and minor 0
120
121 Authoritative information can be found in
122 "Documentation/kernel-parameters.txt".
116 123
117 (*) rw 124 (*) rw
118 125
diff --git a/Documentation/ioctl/ioctl-number.txt b/Documentation/ioctl/ioctl-number.txt
index 72ba8d51dbc1..845a191004b1 100644
--- a/Documentation/ioctl/ioctl-number.txt
+++ b/Documentation/ioctl/ioctl-number.txt
@@ -292,6 +292,7 @@ Code Seq#(hex) Include File Comments
292 <mailto:buk@buks.ipn.de> 292 <mailto:buk@buks.ipn.de>
2930xA0 all linux/sdp/sdp.h Industrial Device Project 2930xA0 all linux/sdp/sdp.h Industrial Device Project
294 <mailto:kenji@bitgate.com> 294 <mailto:kenji@bitgate.com>
2950xA2 00-0F arch/tile/include/asm/hardwall.h
2950xA3 80-8F Port ACL in development: 2960xA3 80-8F Port ACL in development:
296 <mailto:tlewis@mindspring.com> 297 <mailto:tlewis@mindspring.com>
2970xA3 90-9F linux/dtlk.h 2980xA3 90-9F linux/dtlk.h
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 4ca93898fbd3..e279b7242912 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -163,6 +163,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
163 163
164 See also Documentation/power/pm.txt, pci=noacpi 164 See also Documentation/power/pm.txt, pci=noacpi
165 165
166 acpi_rsdp= [ACPI,EFI,KEXEC]
167 Pass the RSDP address to the kernel, mostly used
168 on machines running EFI runtime service to boot the
169 second kernel for kdump.
170
166 acpi_apic_instance= [ACPI, IOAPIC] 171 acpi_apic_instance= [ACPI, IOAPIC]
167 Format: <int> 172 Format: <int>
168 2: use 2nd APIC table, if available 173 2: use 2nd APIC table, if available
@@ -546,6 +551,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
546 /proc/<pid>/coredump_filter. 551 /proc/<pid>/coredump_filter.
547 See also Documentation/filesystems/proc.txt. 552 See also Documentation/filesystems/proc.txt.
548 553
554 cpuidle.off=1 [CPU_IDLE]
555 disable the cpuidle sub-system
556
549 cpcihp_generic= [HW,PCI] Generic port I/O CompactPCI driver 557 cpcihp_generic= [HW,PCI] Generic port I/O CompactPCI driver
550 Format: 558 Format:
551 <first_slot>,<last_slot>,<port>,<enum_bit>[,<debug>] 559 <first_slot>,<last_slot>,<port>,<enum_bit>[,<debug>]
@@ -2153,6 +2161,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
2153 [HW,MOUSE] Controls Logitech smartscroll autorepeat. 2161 [HW,MOUSE] Controls Logitech smartscroll autorepeat.
2154 0 = disabled, 1 = enabled (default). 2162 0 = disabled, 1 = enabled (default).
2155 2163
2164 pstore.backend= Specify the name of the pstore backend to use
2165
2156 pt. [PARIDE] 2166 pt. [PARIDE]
2157 See Documentation/blockdev/paride.txt. 2167 See Documentation/blockdev/paride.txt.
2158 2168
@@ -2238,6 +2248,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
2238 ro [KNL] Mount root device read-only on boot 2248 ro [KNL] Mount root device read-only on boot
2239 2249
2240 root= [KNL] Root filesystem 2250 root= [KNL] Root filesystem
2251 See name_to_dev_t comment in init/do_mounts.c.
2241 2252
2242 rootdelay= [KNL] Delay (in seconds) to pause before attempting to 2253 rootdelay= [KNL] Delay (in seconds) to pause before attempting to
2243 mount the root filesystem 2254 mount the root filesystem
diff --git a/Documentation/m68k/kernel-options.txt b/Documentation/m68k/kernel-options.txt
index c93bed66e25d..97d45f276fe6 100644
--- a/Documentation/m68k/kernel-options.txt
+++ b/Documentation/m68k/kernel-options.txt
@@ -129,6 +129,20 @@ decimal 11 is the major of SCSI CD-ROMs, and the minor 0 stands for
129the first of these. You can find out all valid major numbers by 129the first of these. You can find out all valid major numbers by
130looking into include/linux/major.h. 130looking into include/linux/major.h.
131 131
132In addition to major and minor numbers, if the device containing your
133root partition uses a partition table format with unique partition
134identifiers, then you may use them. For instance,
135"root=PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF". It is also
136possible to reference another partition on the same device using a
137known partition UUID as the starting point. For example,
138if partition 5 of the device has the UUID of
13900112233-4455-6677-8899-AABBCCDDEEFF then partition 3 may be found as
140follows:
141 PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF/PARTNROFF=-2
142
143Authoritative information can be found in
144"Documentation/kernel-parameters.txt".
145
132 146
1332.2) ro, rw 1472.2) ro, rw
134----------- 148-----------
diff --git a/Documentation/networking/bonding.txt b/Documentation/networking/bonding.txt
index 675612ff41ae..5dd960d75174 100644
--- a/Documentation/networking/bonding.txt
+++ b/Documentation/networking/bonding.txt
@@ -599,7 +599,7 @@ num_unsol_na
599 affect only the active-backup mode. These options were added for 599 affect only the active-backup mode. These options were added for
600 bonding versions 3.3.0 and 3.4.0 respectively. 600 bonding versions 3.3.0 and 3.4.0 respectively.
601 601
602 From Linux 2.6.40 and bonding version 3.7.1, these notifications 602 From Linux 3.0 and bonding version 3.7.1, these notifications
603 are generated by the ipv4 and ipv6 code and the numbers of 603 are generated by the ipv4 and ipv6 code and the numbers of
604 repetitions cannot be set independently. 604 repetitions cannot be set independently.
605 605
diff --git a/Documentation/power/runtime_pm.txt b/Documentation/power/runtime_pm.txt
index 14dd3c6ad97e..4ce5450ab6e8 100644
--- a/Documentation/power/runtime_pm.txt
+++ b/Documentation/power/runtime_pm.txt
@@ -54,11 +54,10 @@ referred to as subsystem-level callbacks in what follows.
54By default, the callbacks are always invoked in process context with interrupts 54By default, the callbacks are always invoked in process context with interrupts
55enabled. However, subsystems can use the pm_runtime_irq_safe() helper function 55enabled. However, subsystems can use the pm_runtime_irq_safe() helper function
56to tell the PM core that a device's ->runtime_suspend() and ->runtime_resume() 56to tell the PM core that a device's ->runtime_suspend() and ->runtime_resume()
57callbacks should be invoked in atomic context with interrupts disabled 57callbacks should be invoked in atomic context with interrupts disabled.
58(->runtime_idle() is still invoked the default way). This implies that these 58This implies that these callback routines must not block or sleep, but it also
59callback routines must not block or sleep, but it also means that the 59means that the synchronous helper functions listed at the end of Section 4 can
60synchronous helper functions listed at the end of Section 4 can be used within 60be used within an interrupt handler or in an atomic context.
61an interrupt handler or in an atomic context.
62 61
63The subsystem-level suspend callback is _entirely_ _responsible_ for handling 62The subsystem-level suspend callback is _entirely_ _responsible_ for handling
64the suspend of the device as appropriate, which may, but need not include 63the suspend of the device as appropriate, which may, but need not include
@@ -483,6 +482,7 @@ pm_runtime_suspend()
483pm_runtime_autosuspend() 482pm_runtime_autosuspend()
484pm_runtime_resume() 483pm_runtime_resume()
485pm_runtime_get_sync() 484pm_runtime_get_sync()
485pm_runtime_put_sync()
486pm_runtime_put_sync_suspend() 486pm_runtime_put_sync_suspend()
487 487
4885. Runtime PM Initialization, Device Probing and Removal 4885. Runtime PM Initialization, Device Probing and Removal