diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-26 14:14:49 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-26 14:14:49 -0400 |
commit | b13bc8dda81c54a66a1c84e66f60b8feba659f28 (patch) | |
tree | 100a26eada424fa5d9b0e5eaaf4e23b8fa036fc8 /Documentation | |
parent | 9fc377799bc9bfd8d5cb35d0d1ea2e2458cbdbb3 (diff) | |
parent | 419e9266884fa853179ab726c27a63a9d3ae46e3 (diff) |
Merge tag 'staging-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
Pull staging tree patches from Greg Kroah-Hartman:
"Here's the big staging tree merge for the 3.6-rc1 merge window.
There are some patches in here outside of drivers/staging/, notibly
the iio code (which is still stradeling the staging / not staging
boundry), the pstore code, and the tracing code. All of these have
gotten acks from the various subsystem maintainers to be included in
this tree. The pstore and tracing patches are related, and are coming
here as they replace one of the android staging drivers.
Otherwise, the normal staging mess. Lots of cleanups and a few new
drivers (some iio drivers, and the large csr wireless driver
abomination.)
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
Fixed up trivial conflicts in drivers/staging/comedi/drivers/s626.h and
drivers/staging/gdm72xx/netlink_k.c
* tag 'staging-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1108 commits)
staging: csr: delete a bunch of unused library functions
staging: csr: remove csr_utf16.c
staging: csr: remove csr_pmem.h
staging: csr: remove CsrPmemAlloc
staging: csr: remove CsrPmemFree()
staging: csr: remove CsrMemAllocDma()
staging: csr: remove CsrMemCalloc()
staging: csr: remove CsrMemAlloc()
staging: csr: remove CsrMemFree() and CsrMemFreeDma()
staging: csr: remove csr_util.h
staging: csr: remove CsrOffSetOf()
stating: csr: remove unneeded #includes in csr_util.c
staging: csr: make CsrUInt16ToHex static
staging: csr: remove CsrMemCpy()
staging: csr: remove CsrStrLen()
staging: csr: remove CsrVsnprintf()
staging: csr: remove CsrStrDup
staging: csr: remove CsrStrChr()
staging: csr: remove CsrStrNCmp
staging: csr: remove CsrStrCmp
...
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/ABI/testing/sysfs-bus-iio | 54 | ||||
-rw-r--r-- | Documentation/ABI/testing/sysfs-bus-iio-frequency-ad9523 | 37 | ||||
-rw-r--r-- | Documentation/ABI/testing/sysfs-bus-iio-frequency-adf4350 | 21 | ||||
-rw-r--r-- | Documentation/ABI/testing/sysfs-bus-iio-light-lm3533-als | 61 | ||||
-rw-r--r-- | Documentation/ramoops.txt | 39 |
5 files changed, 186 insertions, 26 deletions
diff --git a/Documentation/ABI/testing/sysfs-bus-iio b/Documentation/ABI/testing/sysfs-bus-iio index cfedf63cce15..2f06d40fe07d 100644 --- a/Documentation/ABI/testing/sysfs-bus-iio +++ b/Documentation/ABI/testing/sysfs-bus-iio | |||
@@ -40,9 +40,9 @@ Contact: linux-iio@vger.kernel.org | |||
40 | Description: | 40 | Description: |
41 | Some devices have internal clocks. This parameter sets the | 41 | Some devices have internal clocks. This parameter sets the |
42 | resulting sampling frequency. In many devices this | 42 | resulting sampling frequency. In many devices this |
43 | parameter has an effect on input filters etc rather than | 43 | parameter has an effect on input filters etc. rather than |
44 | simply controlling when the input is sampled. As this | 44 | simply controlling when the input is sampled. As this |
45 | effects datardy triggers, hardware buffers and the sysfs | 45 | effects data ready triggers, hardware buffers and the sysfs |
46 | direct access interfaces, it may be found in any of the | 46 | direct access interfaces, it may be found in any of the |
47 | relevant directories. If it effects all of the above | 47 | relevant directories. If it effects all of the above |
48 | then it is to be found in the base device directory. | 48 | then it is to be found in the base device directory. |
@@ -74,7 +74,7 @@ What: /sys/bus/iio/devices/iio:deviceX/in_voltageY_supply_raw | |||
74 | KernelVersion: 2.6.35 | 74 | KernelVersion: 2.6.35 |
75 | Contact: linux-iio@vger.kernel.org | 75 | Contact: linux-iio@vger.kernel.org |
76 | Description: | 76 | Description: |
77 | Raw (unscaled no bias removal etc) voltage measurement from | 77 | Raw (unscaled no bias removal etc.) voltage measurement from |
78 | channel Y. In special cases where the channel does not | 78 | channel Y. In special cases where the channel does not |
79 | correspond to externally available input one of the named | 79 | correspond to externally available input one of the named |
80 | versions may be used. The number must always be specified and | 80 | versions may be used. The number must always be specified and |
@@ -118,11 +118,11 @@ What: /sys/bus/iio/devices/iio:deviceX/in_temp_z_raw | |||
118 | KernelVersion: 2.6.35 | 118 | KernelVersion: 2.6.35 |
119 | Contact: linux-iio@vger.kernel.org | 119 | Contact: linux-iio@vger.kernel.org |
120 | Description: | 120 | Description: |
121 | Raw (unscaled no bias removal etc) temperature measurement. | 121 | Raw (unscaled no bias removal etc.) temperature measurement. |
122 | If an axis is specified it generally means that the temperature | 122 | If an axis is specified it generally means that the temperature |
123 | sensor is associated with one part of a compound device (e.g. | 123 | sensor is associated with one part of a compound device (e.g. |
124 | a gyroscope axis). Units after application of scale and offset | 124 | a gyroscope axis). Units after application of scale and offset |
125 | are milli degrees Celsuis. | 125 | are milli degrees Celsius. |
126 | 126 | ||
127 | What: /sys/bus/iio/devices/iio:deviceX/in_tempX_input | 127 | What: /sys/bus/iio/devices/iio:deviceX/in_tempX_input |
128 | KernelVersion: 2.6.38 | 128 | KernelVersion: 2.6.38 |
@@ -148,10 +148,9 @@ KernelVersion: 2.6.35 | |||
148 | Contact: linux-iio@vger.kernel.org | 148 | Contact: linux-iio@vger.kernel.org |
149 | Description: | 149 | Description: |
150 | Angular velocity about axis x, y or z (may be arbitrarily | 150 | Angular velocity about axis x, y or z (may be arbitrarily |
151 | assigned) Data converted by application of offset then scale to | 151 | assigned). Has all the equivalent parameters as per voltageY. |
152 | radians per second. Has all the equivalent parameters as | 152 | Units after application of scale and offset are radians per |
153 | per voltageY. Units after application of scale and offset are | 153 | second. |
154 | radians per second. | ||
155 | 154 | ||
156 | What: /sys/bus/iio/devices/iio:deviceX/in_incli_x_raw | 155 | What: /sys/bus/iio/devices/iio:deviceX/in_incli_x_raw |
157 | What: /sys/bus/iio/devices/iio:deviceX/in_incli_y_raw | 156 | What: /sys/bus/iio/devices/iio:deviceX/in_incli_y_raw |
@@ -161,7 +160,7 @@ Contact: linux-iio@vger.kernel.org | |||
161 | Description: | 160 | Description: |
162 | Inclination raw reading about axis x, y or z (may be | 161 | Inclination raw reading about axis x, y or z (may be |
163 | arbitrarily assigned). Data converted by application of offset | 162 | arbitrarily assigned). Data converted by application of offset |
164 | and scale to Degrees. | 163 | and scale to degrees. |
165 | 164 | ||
166 | What: /sys/bus/iio/devices/iio:deviceX/in_magn_x_raw | 165 | What: /sys/bus/iio/devices/iio:deviceX/in_magn_x_raw |
167 | What: /sys/bus/iio/devices/iio:deviceX/in_magn_y_raw | 166 | What: /sys/bus/iio/devices/iio:deviceX/in_magn_y_raw |
@@ -203,7 +202,7 @@ Contact: linux-iio@vger.kernel.org | |||
203 | Description: | 202 | Description: |
204 | If known for a device, offset to be added to <type>[Y]_raw prior | 203 | If known for a device, offset to be added to <type>[Y]_raw prior |
205 | to scaling by <type>[Y]_scale in order to obtain value in the | 204 | to scaling by <type>[Y]_scale in order to obtain value in the |
206 | <type> units as specified in <type>[y]_raw documentation. | 205 | <type> units as specified in <type>[Y]_raw documentation. |
207 | Not present if the offset is always 0 or unknown. If Y or | 206 | Not present if the offset is always 0 or unknown. If Y or |
208 | axis <x|y|z> is not present, then the offset applies to all | 207 | axis <x|y|z> is not present, then the offset applies to all |
209 | in channels of <type>. | 208 | in channels of <type>. |
@@ -249,7 +248,7 @@ What: /sys/bus/iio/devices/iio:deviceX/in_proximity0_calibbias | |||
249 | KernelVersion: 2.6.35 | 248 | KernelVersion: 2.6.35 |
250 | Contact: linux-iio@vger.kernel.org | 249 | Contact: linux-iio@vger.kernel.org |
251 | Description: | 250 | Description: |
252 | Hardware applied calibration offset. (assumed to fix production | 251 | Hardware applied calibration offset (assumed to fix production |
253 | inaccuracies). | 252 | inaccuracies). |
254 | 253 | ||
255 | What /sys/bus/iio/devices/iio:deviceX/in_voltageY_calibscale | 254 | What /sys/bus/iio/devices/iio:deviceX/in_voltageY_calibscale |
@@ -266,7 +265,7 @@ what /sys/bus/iio/devices/iio:deviceX/in_proximity0_calibscale | |||
266 | KernelVersion: 2.6.35 | 265 | KernelVersion: 2.6.35 |
267 | Contact: linux-iio@vger.kernel.org | 266 | Contact: linux-iio@vger.kernel.org |
268 | Description: | 267 | Description: |
269 | Hardware applied calibration scale factor. (assumed to fix | 268 | Hardware applied calibration scale factor (assumed to fix |
270 | production inaccuracies). If shared across all channels, | 269 | production inaccuracies). If shared across all channels, |
271 | <type>_calibscale is used. | 270 | <type>_calibscale is used. |
272 | 271 | ||
@@ -276,10 +275,10 @@ What: /sys/.../iio:deviceX/in_voltage-voltage_scale_available | |||
276 | What: /sys/.../iio:deviceX/out_voltageX_scale_available | 275 | What: /sys/.../iio:deviceX/out_voltageX_scale_available |
277 | What: /sys/.../iio:deviceX/out_altvoltageX_scale_available | 276 | What: /sys/.../iio:deviceX/out_altvoltageX_scale_available |
278 | What: /sys/.../iio:deviceX/in_capacitance_scale_available | 277 | What: /sys/.../iio:deviceX/in_capacitance_scale_available |
279 | KernelVersion: 2.635 | 278 | KernelVersion: 2.6.35 |
280 | Contact: linux-iio@vger.kernel.org | 279 | Contact: linux-iio@vger.kernel.org |
281 | Description: | 280 | Description: |
282 | If a discrete set of scale values are available, they | 281 | If a discrete set of scale values is available, they |
283 | are listed in this attribute. | 282 | are listed in this attribute. |
284 | 283 | ||
285 | What /sys/bus/iio/devices/iio:deviceX/out_voltageY_hardwaregain | 284 | What /sys/bus/iio/devices/iio:deviceX/out_voltageY_hardwaregain |
@@ -330,9 +329,11 @@ Contact: linux-iio@vger.kernel.org | |||
330 | Description: | 329 | Description: |
331 | Specifies the output powerdown mode. | 330 | Specifies the output powerdown mode. |
332 | DAC output stage is disconnected from the amplifier and | 331 | DAC output stage is disconnected from the amplifier and |
333 | 1kohm_to_gnd: connected to ground via an 1kOhm resistor | 332 | 1kohm_to_gnd: connected to ground via an 1kOhm resistor, |
334 | 100kohm_to_gnd: connected to ground via an 100kOhm resistor | 333 | 6kohm_to_gnd: connected to ground via a 6kOhm resistor, |
335 | three_state: left floating | 334 | 20kohm_to_gnd: connected to ground via a 20kOhm resistor, |
335 | 100kohm_to_gnd: connected to ground via an 100kOhm resistor, | ||
336 | three_state: left floating. | ||
336 | For a list of available output power down options read | 337 | For a list of available output power down options read |
337 | outX_powerdown_mode_available. If Y is not present the | 338 | outX_powerdown_mode_available. If Y is not present the |
338 | mode is shared across all outputs. | 339 | mode is shared across all outputs. |
@@ -355,9 +356,10 @@ KernelVersion: 2.6.38 | |||
355 | Contact: linux-iio@vger.kernel.org | 356 | Contact: linux-iio@vger.kernel.org |
356 | Description: | 357 | Description: |
357 | Writing 1 causes output Y to enter the power down mode specified | 358 | Writing 1 causes output Y to enter the power down mode specified |
358 | by the corresponding outY_powerdown_mode. Clearing returns to | 359 | by the corresponding outY_powerdown_mode. DAC output stage is |
359 | normal operation. Y may be suppressed if all outputs are | 360 | disconnected from the amplifier. Clearing returns to normal |
360 | controlled together. | 361 | operation. Y may be suppressed if all outputs are controlled |
362 | together. | ||
361 | 363 | ||
362 | What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency | 364 | What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency |
363 | KernelVersion: 3.4.0 | 365 | KernelVersion: 3.4.0 |
@@ -421,12 +423,12 @@ Description: | |||
421 | different values, but the device can only enable both thresholds | 423 | different values, but the device can only enable both thresholds |
422 | or neither. | 424 | or neither. |
423 | Note the driver will assume the last p events requested are | 425 | Note the driver will assume the last p events requested are |
424 | to be enabled where p is however many it supports (which may | 426 | to be enabled where p is how many it supports (which may vary |
425 | vary depending on the exact set requested. So if you want to be | 427 | depending on the exact set requested. So if you want to be |
426 | sure you have set what you think you have, check the contents of | 428 | sure you have set what you think you have, check the contents of |
427 | these attributes after everything is configured. Drivers may | 429 | these attributes after everything is configured. Drivers may |
428 | have to buffer any parameters so that they are consistent when | 430 | have to buffer any parameters so that they are consistent when |
429 | a given event type is enabled a future point (and not those for | 431 | a given event type is enabled at a future point (and not those for |
430 | whatever event was previously enabled). | 432 | whatever event was previously enabled). |
431 | 433 | ||
432 | What: /sys/.../iio:deviceX/events/in_accel_x_roc_rising_en | 434 | What: /sys/.../iio:deviceX/events/in_accel_x_roc_rising_en |
@@ -702,7 +704,7 @@ What: /sys/.../buffer/scan_elements/in_anglvel_type | |||
702 | What: /sys/.../buffer/scan_elements/in_magn_type | 704 | What: /sys/.../buffer/scan_elements/in_magn_type |
703 | What: /sys/.../buffer/scan_elements/in_incli_type | 705 | What: /sys/.../buffer/scan_elements/in_incli_type |
704 | What: /sys/.../buffer/scan_elements/in_voltageY_type | 706 | What: /sys/.../buffer/scan_elements/in_voltageY_type |
705 | What: /sys/.../buffer/scan_elements/in_voltage-in_type | 707 | What: /sys/.../buffer/scan_elements/in_voltage_type |
706 | What: /sys/.../buffer/scan_elements/in_voltageY_supply_type | 708 | What: /sys/.../buffer/scan_elements/in_voltageY_supply_type |
707 | What: /sys/.../buffer/scan_elements/in_timestamp_type | 709 | What: /sys/.../buffer/scan_elements/in_timestamp_type |
708 | KernelVersion: 2.6.37 | 710 | KernelVersion: 2.6.37 |
@@ -723,7 +725,7 @@ Description: | |||
723 | the buffer output value appropriately. The storagebits value | 725 | the buffer output value appropriately. The storagebits value |
724 | also specifies the data alignment. So s48/64>>2 will be a | 726 | also specifies the data alignment. So s48/64>>2 will be a |
725 | signed 48 bit integer stored in a 64 bit location aligned to | 727 | signed 48 bit integer stored in a 64 bit location aligned to |
726 | a a64 bit boundary. To obtain the clean value, shift right 2 | 728 | a 64 bit boundary. To obtain the clean value, shift right 2 |
727 | and apply a mask to zero the top 16 bits of the result. | 729 | and apply a mask to zero the top 16 bits of the result. |
728 | For other storage combinations this attribute will be extended | 730 | For other storage combinations this attribute will be extended |
729 | appropriately. | 731 | appropriately. |
diff --git a/Documentation/ABI/testing/sysfs-bus-iio-frequency-ad9523 b/Documentation/ABI/testing/sysfs-bus-iio-frequency-ad9523 new file mode 100644 index 000000000000..2ce9c3f68eee --- /dev/null +++ b/Documentation/ABI/testing/sysfs-bus-iio-frequency-ad9523 | |||
@@ -0,0 +1,37 @@ | |||
1 | What: /sys/bus/iio/devices/iio:deviceX/pll2_feedback_clk_present | ||
2 | What: /sys/bus/iio/devices/iio:deviceX/pll2_reference_clk_present | ||
3 | What: /sys/bus/iio/devices/iio:deviceX/pll1_reference_clk_a_present | ||
4 | What: /sys/bus/iio/devices/iio:deviceX/pll1_reference_clk_b_present | ||
5 | What: /sys/bus/iio/devices/iio:deviceX/pll1_reference_clk_test_present | ||
6 | What: /sys/bus/iio/devices/iio:deviceX/vcxo_clk_present | ||
7 | KernelVersion: 3.4.0 | ||
8 | Contact: linux-iio@vger.kernel.org | ||
9 | Description: | ||
10 | Reading returns either '1' or '0'. | ||
11 | '1' means that the clock in question is present. | ||
12 | '0' means that the clock is missing. | ||
13 | |||
14 | What: /sys/bus/iio/devices/iio:deviceX/pllY_locked | ||
15 | KernelVersion: 3.4.0 | ||
16 | Contact: linux-iio@vger.kernel.org | ||
17 | Description: | ||
18 | Reading returns either '1' or '0'. '1' means that the | ||
19 | pllY is locked. | ||
20 | |||
21 | What: /sys/bus/iio/devices/iio:deviceX/store_eeprom | ||
22 | KernelVersion: 3.4.0 | ||
23 | Contact: linux-iio@vger.kernel.org | ||
24 | Description: | ||
25 | Writing '1' stores the current device configuration into | ||
26 | on-chip EEPROM. After power-up or chip reset the device will | ||
27 | automatically load the saved configuration. | ||
28 | |||
29 | What: /sys/bus/iio/devices/iio:deviceX/sync_dividers | ||
30 | KernelVersion: 3.4.0 | ||
31 | Contact: linux-iio@vger.kernel.org | ||
32 | Description: | ||
33 | Writing '1' triggers the clock distribution synchronization | ||
34 | functionality. All dividers are reset and the channels start | ||
35 | with their predefined phase offsets (out_altvoltageY_phase). | ||
36 | Writing this file has the effect as driving the external | ||
37 | /SYNC pin low. | ||
diff --git a/Documentation/ABI/testing/sysfs-bus-iio-frequency-adf4350 b/Documentation/ABI/testing/sysfs-bus-iio-frequency-adf4350 new file mode 100644 index 000000000000..d89aded01c5a --- /dev/null +++ b/Documentation/ABI/testing/sysfs-bus-iio-frequency-adf4350 | |||
@@ -0,0 +1,21 @@ | |||
1 | What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_resolution | ||
2 | KernelVersion: 3.4.0 | ||
3 | Contact: linux-iio@vger.kernel.org | ||
4 | Description: | ||
5 | Stores channel Y frequency resolution/channel spacing in Hz. | ||
6 | The value given directly influences the MODULUS used by | ||
7 | the fractional-N PLL. It is assumed that the algorithm | ||
8 | that is used to compute the various dividers, is able to | ||
9 | generate proper values for multiples of channel spacing. | ||
10 | |||
11 | What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_refin_frequency | ||
12 | KernelVersion: 3.4.0 | ||
13 | Contact: linux-iio@vger.kernel.org | ||
14 | Description: | ||
15 | Sets channel Y REFin frequency in Hz. In some clock chained | ||
16 | applications, the reference frequency used by the PLL may | ||
17 | change during runtime. This attribute allows the user to | ||
18 | adjust the reference frequency accordingly. | ||
19 | The value written has no effect until out_altvoltageY_frequency | ||
20 | is updated. Consider to use out_altvoltageY_powerdown to power | ||
21 | down the PLL and it's RFOut buffers during REFin changes. | ||
diff --git a/Documentation/ABI/testing/sysfs-bus-iio-light-lm3533-als b/Documentation/ABI/testing/sysfs-bus-iio-light-lm3533-als new file mode 100644 index 000000000000..22c5ea670971 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-bus-iio-light-lm3533-als | |||
@@ -0,0 +1,61 @@ | |||
1 | What: /sys/.../events/in_illuminance0_thresh_either_en | ||
2 | Date: April 2012 | ||
3 | KernelVersion: 3.5 | ||
4 | Contact: Johan Hovold <jhovold@gmail.com> | ||
5 | Description: | ||
6 | Event generated when channel passes one of the four thresholds | ||
7 | in each direction (rising|falling) and a zone change occurs. | ||
8 | The corresponding light zone can be read from | ||
9 | in_illuminance0_zone. | ||
10 | |||
11 | What: /sys/.../events/in_illuminance0_threshY_hysteresis | ||
12 | Date: May 2012 | ||
13 | KernelVersion: 3.5 | ||
14 | Contact: Johan Hovold <jhovold@gmail.com> | ||
15 | Description: | ||
16 | Get the hysteresis for thresholds Y, that is, | ||
17 | threshY_hysteresis = threshY_raising - threshY_falling | ||
18 | |||
19 | What: /sys/.../events/illuminance_threshY_falling_value | ||
20 | What: /sys/.../events/illuminance_threshY_raising_value | ||
21 | Date: April 2012 | ||
22 | KernelVersion: 3.5 | ||
23 | Contact: Johan Hovold <jhovold@gmail.com> | ||
24 | Description: | ||
25 | Specifies the value of threshold that the device is comparing | ||
26 | against for the events enabled by | ||
27 | in_illuminance0_thresh_either_en (0..255), where Y in 0..3. | ||
28 | |||
29 | Note that threshY_falling must be less than or equal to | ||
30 | threshY_raising. | ||
31 | |||
32 | These thresholds correspond to the eight zone-boundary | ||
33 | registers (boundaryY_{low,high}) and define the five light | ||
34 | zones. | ||
35 | |||
36 | What: /sys/bus/iio/devices/iio:deviceX/in_illuminance0_zone | ||
37 | Date: April 2012 | ||
38 | KernelVersion: 3.5 | ||
39 | Contact: Johan Hovold <jhovold@gmail.com> | ||
40 | Description: | ||
41 | Get the current light zone (0..4) as defined by the | ||
42 | in_illuminance0_threshY_{falling,rising} thresholds. | ||
43 | |||
44 | What: /sys/bus/iio/devices/iio:deviceX/out_currentY_raw | ||
45 | Date: May 2012 | ||
46 | KernelVersion: 3.5 | ||
47 | Contact: Johan Hovold <jhovold@gmail.com> | ||
48 | Description: | ||
49 | Get output current for channel Y (0..255), that is, | ||
50 | out_currentY_currentZ_raw, where Z is the current zone. | ||
51 | |||
52 | What: /sys/bus/iio/devices/iio:deviceX/out_currentY_currentZ_raw | ||
53 | Date: May 2012 | ||
54 | KernelVersion: 3.5 | ||
55 | Contact: Johan Hovold <jhovold@gmail.com> | ||
56 | Description: | ||
57 | Set the output current for channel out_currentY when in zone | ||
58 | Z (0..255), where Y in 0..2 and Z in 0..4. | ||
59 | |||
60 | These values correspond to the ALS-mapper target registers for | ||
61 | ALS-mapper Y + 1. | ||
diff --git a/Documentation/ramoops.txt b/Documentation/ramoops.txt index 4ba7db231cb2..197ad59ab9bf 100644 --- a/Documentation/ramoops.txt +++ b/Documentation/ramoops.txt | |||
@@ -40,6 +40,12 @@ corrupt, but usually it is restorable. | |||
40 | Setting the ramoops parameters can be done in 2 different manners: | 40 | Setting the ramoops parameters can be done in 2 different manners: |
41 | 1. Use the module parameters (which have the names of the variables described | 41 | 1. Use the module parameters (which have the names of the variables described |
42 | as before). | 42 | as before). |
43 | For quick debugging, you can also reserve parts of memory during boot | ||
44 | and then use the reserved memory for ramoops. For example, assuming a machine | ||
45 | with > 128 MB of memory, the following kernel command line will tell the | ||
46 | kernel to use only the first 128 MB of memory, and place ECC-protected ramoops | ||
47 | region at 128 MB boundary: | ||
48 | "mem=128M ramoops.mem_address=0x8000000 ramoops.ecc=1" | ||
43 | 2. Use a platform device and set the platform data. The parameters can then | 49 | 2. Use a platform device and set the platform data. The parameters can then |
44 | be set through that platform data. An example of doing that is: | 50 | be set through that platform data. An example of doing that is: |
45 | 51 | ||
@@ -70,6 +76,14 @@ if (ret) { | |||
70 | return ret; | 76 | return ret; |
71 | } | 77 | } |
72 | 78 | ||
79 | You can specify either RAM memory or peripheral devices' memory. However, when | ||
80 | specifying RAM, be sure to reserve the memory by issuing memblock_reserve() | ||
81 | very early in the architecture code, e.g.: | ||
82 | |||
83 | #include <linux/memblock.h> | ||
84 | |||
85 | memblock_reserve(ramoops_data.mem_address, ramoops_data.mem_size); | ||
86 | |||
73 | 3. Dump format | 87 | 3. Dump format |
74 | 88 | ||
75 | The data dump begins with a header, currently defined as "====" followed by a | 89 | The data dump begins with a header, currently defined as "====" followed by a |
@@ -80,3 +94,28 @@ timestamp and a new line. The dump then continues with the actual data. | |||
80 | The dump data can be read from the pstore filesystem. The format for these | 94 | The dump data can be read from the pstore filesystem. The format for these |
81 | files is "dmesg-ramoops-N", where N is the record number in memory. To delete | 95 | files is "dmesg-ramoops-N", where N is the record number in memory. To delete |
82 | a stored record from RAM, simply unlink the respective pstore file. | 96 | a stored record from RAM, simply unlink the respective pstore file. |
97 | |||
98 | 5. Persistent function tracing | ||
99 | |||
100 | Persistent function tracing might be useful for debugging software or hardware | ||
101 | related hangs. The functions call chain log is stored in a "ftrace-ramoops" | ||
102 | file. Here is an example of usage: | ||
103 | |||
104 | # mount -t debugfs debugfs /sys/kernel/debug/ | ||
105 | # cd /sys/kernel/debug/tracing | ||
106 | # echo function > current_tracer | ||
107 | # echo 1 > options/func_pstore | ||
108 | # reboot -f | ||
109 | [...] | ||
110 | # mount -t pstore pstore /mnt/ | ||
111 | # tail /mnt/ftrace-ramoops | ||
112 | 0 ffffffff8101ea64 ffffffff8101bcda native_apic_mem_read <- disconnect_bsp_APIC+0x6a/0xc0 | ||
113 | 0 ffffffff8101ea44 ffffffff8101bcf6 native_apic_mem_write <- disconnect_bsp_APIC+0x86/0xc0 | ||
114 | 0 ffffffff81020084 ffffffff8101a4b5 hpet_disable <- native_machine_shutdown+0x75/0x90 | ||
115 | 0 ffffffff81005f94 ffffffff8101a4bb iommu_shutdown_noop <- native_machine_shutdown+0x7b/0x90 | ||
116 | 0 ffffffff8101a6a1 ffffffff8101a437 native_machine_emergency_restart <- native_machine_restart+0x37/0x40 | ||
117 | 0 ffffffff811f9876 ffffffff8101a73a acpi_reboot <- native_machine_emergency_restart+0xaa/0x1e0 | ||
118 | 0 ffffffff8101a514 ffffffff8101a772 mach_reboot_fixups <- native_machine_emergency_restart+0xe2/0x1e0 | ||
119 | 0 ffffffff811d9c54 ffffffff8101a7a0 __const_udelay <- native_machine_emergency_restart+0x110/0x1e0 | ||
120 | 0 ffffffff811d9c34 ffffffff811d9c80 __delay <- __const_udelay+0x30/0x40 | ||
121 | 0 ffffffff811d9d14 ffffffff811d9c3f delay_tsc <- __delay+0xf/0x20 | ||