diff options
| author | Greg Kroah-Hartman <gregkh@suse.de> | 2011-05-10 16:30:45 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-05-10 16:30:45 -0400 |
| commit | 8a1629c771b1a60bc6d73394d869fe69b13200dc (patch) | |
| tree | 12f68138d95b70d450ab418fdfb300ebdcd2f003 /Documentation | |
| parent | 04aebcbb1b6dccadc8862b2765265f65a946db57 (diff) | |
| parent | 693d92a1bbc9e42681c42ed190bd42b636ca876f (diff) | |
Merge branch 2.6.39-rc7 into usb-linus
This was needed to resolve a conflict in:
drivers/usb/host/isp1760-hcd.c
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'Documentation')
| -rw-r--r-- | Documentation/DocBook/media-entities.tmpl | 1 | ||||
| -rw-r--r-- | Documentation/DocBook/v4l/media-ioc-setup-link.xml | 2 | ||||
| -rw-r--r-- | Documentation/DocBook/v4l/pixfmt-y12.xml | 79 | ||||
| -rw-r--r-- | Documentation/DocBook/v4l/pixfmt.xml | 1 | ||||
| -rw-r--r-- | Documentation/DocBook/v4l/subdev-formats.xml | 59 | ||||
| -rw-r--r-- | Documentation/cgroups/memory.txt | 15 | ||||
| -rw-r--r-- | Documentation/flexible-arrays.txt | 4 | ||||
| -rw-r--r-- | Documentation/hwmon/adm1021 | 36 | ||||
| -rw-r--r-- | Documentation/hwmon/lm90 | 29 | ||||
| -rw-r--r-- | Documentation/hwmon/max16064 | 62 | ||||
| -rw-r--r-- | Documentation/hwmon/max34440 | 79 | ||||
| -rw-r--r-- | Documentation/hwmon/max8688 | 69 | ||||
| -rw-r--r-- | Documentation/hwmon/pmbus | 34 | ||||
| -rw-r--r-- | Documentation/hwmon/smm665 | 8 | ||||
| -rw-r--r-- | Documentation/hwmon/submitting-patches | 109 | ||||
| -rw-r--r-- | Documentation/md.txt | 10 | ||||
| -rw-r--r-- | Documentation/sound/alsa/SB-Live-mixer.txt | 6 | ||||
| -rw-r--r-- | Documentation/video4linux/sh_mobile_ceu_camera.txt | 6 | ||||
| -rw-r--r-- | Documentation/workqueue.txt | 40 |
19 files changed, 582 insertions, 67 deletions
diff --git a/Documentation/DocBook/media-entities.tmpl b/Documentation/DocBook/media-entities.tmpl index 5d259c632cdf..fea63b45471a 100644 --- a/Documentation/DocBook/media-entities.tmpl +++ b/Documentation/DocBook/media-entities.tmpl | |||
| @@ -294,6 +294,7 @@ | |||
| 294 | <!ENTITY sub-srggb10 SYSTEM "v4l/pixfmt-srggb10.xml"> | 294 | <!ENTITY sub-srggb10 SYSTEM "v4l/pixfmt-srggb10.xml"> |
| 295 | <!ENTITY sub-srggb8 SYSTEM "v4l/pixfmt-srggb8.xml"> | 295 | <!ENTITY sub-srggb8 SYSTEM "v4l/pixfmt-srggb8.xml"> |
| 296 | <!ENTITY sub-y10 SYSTEM "v4l/pixfmt-y10.xml"> | 296 | <!ENTITY sub-y10 SYSTEM "v4l/pixfmt-y10.xml"> |
| 297 | <!ENTITY sub-y12 SYSTEM "v4l/pixfmt-y12.xml"> | ||
| 297 | <!ENTITY sub-pixfmt SYSTEM "v4l/pixfmt.xml"> | 298 | <!ENTITY sub-pixfmt SYSTEM "v4l/pixfmt.xml"> |
| 298 | <!ENTITY sub-cropcap SYSTEM "v4l/vidioc-cropcap.xml"> | 299 | <!ENTITY sub-cropcap SYSTEM "v4l/vidioc-cropcap.xml"> |
| 299 | <!ENTITY sub-dbg-g-register SYSTEM "v4l/vidioc-dbg-g-register.xml"> | 300 | <!ENTITY sub-dbg-g-register SYSTEM "v4l/vidioc-dbg-g-register.xml"> |
diff --git a/Documentation/DocBook/v4l/media-ioc-setup-link.xml b/Documentation/DocBook/v4l/media-ioc-setup-link.xml index 2331e76ded17..cec97af4dab4 100644 --- a/Documentation/DocBook/v4l/media-ioc-setup-link.xml +++ b/Documentation/DocBook/v4l/media-ioc-setup-link.xml | |||
| @@ -34,7 +34,7 @@ | |||
| 34 | <varlistentry> | 34 | <varlistentry> |
| 35 | <term><parameter>request</parameter></term> | 35 | <term><parameter>request</parameter></term> |
| 36 | <listitem> | 36 | <listitem> |
| 37 | <para>MEDIA_IOC_ENUM_LINKS</para> | 37 | <para>MEDIA_IOC_SETUP_LINK</para> |
| 38 | </listitem> | 38 | </listitem> |
| 39 | </varlistentry> | 39 | </varlistentry> |
| 40 | <varlistentry> | 40 | <varlistentry> |
diff --git a/Documentation/DocBook/v4l/pixfmt-y12.xml b/Documentation/DocBook/v4l/pixfmt-y12.xml new file mode 100644 index 000000000000..ff417b858cc9 --- /dev/null +++ b/Documentation/DocBook/v4l/pixfmt-y12.xml | |||
| @@ -0,0 +1,79 @@ | |||
| 1 | <refentry id="V4L2-PIX-FMT-Y12"> | ||
| 2 | <refmeta> | ||
| 3 | <refentrytitle>V4L2_PIX_FMT_Y12 ('Y12 ')</refentrytitle> | ||
| 4 | &manvol; | ||
| 5 | </refmeta> | ||
| 6 | <refnamediv> | ||
| 7 | <refname><constant>V4L2_PIX_FMT_Y12</constant></refname> | ||
| 8 | <refpurpose>Grey-scale image</refpurpose> | ||
| 9 | </refnamediv> | ||
| 10 | <refsect1> | ||
| 11 | <title>Description</title> | ||
| 12 | |||
| 13 | <para>This is a grey-scale image with a depth of 12 bits per pixel. Pixels | ||
| 14 | are stored in 16-bit words with unused high bits padded with 0. The least | ||
| 15 | significant byte is stored at lower memory addresses (little-endian).</para> | ||
| 16 | |||
| 17 | <example> | ||
| 18 | <title><constant>V4L2_PIX_FMT_Y12</constant> 4 × 4 | ||
| 19 | pixel image</title> | ||
| 20 | |||
| 21 | <formalpara> | ||
| 22 | <title>Byte Order.</title> | ||
| 23 | <para>Each cell is one byte. | ||
| 24 | <informaltable frame="none"> | ||
| 25 | <tgroup cols="9" align="center"> | ||
| 26 | <colspec align="left" colwidth="2*" /> | ||
| 27 | <tbody valign="top"> | ||
| 28 | <row> | ||
| 29 | <entry>start + 0:</entry> | ||
| 30 | <entry>Y'<subscript>00low</subscript></entry> | ||
| 31 | <entry>Y'<subscript>00high</subscript></entry> | ||
| 32 | <entry>Y'<subscript>01low</subscript></entry> | ||
| 33 | <entry>Y'<subscript>01high</subscript></entry> | ||
| 34 | <entry>Y'<subscript>02low</subscript></entry> | ||
| 35 | <entry>Y'<subscript>02high</subscript></entry> | ||
| 36 | <entry>Y'<subscript>03low</subscript></entry> | ||
| 37 | <entry>Y'<subscript>03high</subscript></entry> | ||
| 38 | </row> | ||
| 39 | <row> | ||
| 40 | <entry>start + 8:</entry> | ||
| 41 | <entry>Y'<subscript>10low</subscript></entry> | ||
| 42 | <entry>Y'<subscript>10high</subscript></entry> | ||
| 43 | <entry>Y'<subscript>11low</subscript></entry> | ||
| 44 | <entry>Y'<subscript>11high</subscript></entry> | ||
| 45 | <entry>Y'<subscript>12low</subscript></entry> | ||
| 46 | <entry>Y'<subscript>12high</subscript></entry> | ||
| 47 | <entry>Y'<subscript>13low</subscript></entry> | ||
| 48 | <entry>Y'<subscript>13high</subscript></entry> | ||
| 49 | </row> | ||
| 50 | <row> | ||
| 51 | <entry>start + 16:</entry> | ||
| 52 | <entry>Y'<subscript>20low</subscript></entry> | ||
| 53 | <entry>Y'<subscript>20high</subscript></entry> | ||
| 54 | <entry>Y'<subscript>21low</subscript></entry> | ||
| 55 | <entry>Y'<subscript>21high</subscript></entry> | ||
| 56 | <entry>Y'<subscript>22low</subscript></entry> | ||
| 57 | <entry>Y'<subscript>22high</subscript></entry> | ||
| 58 | <entry>Y'<subscript>23low</subscript></entry> | ||
| 59 | <entry>Y'<subscript>23high</subscript></entry> | ||
| 60 | </row> | ||
| 61 | <row> | ||
| 62 | <entry>start + 24:</entry> | ||
| 63 | <entry>Y'<subscript>30low</subscript></entry> | ||
| 64 | <entry>Y'<subscript>30high</subscript></entry> | ||
| 65 | <entry>Y'<subscript>31low</subscript></entry> | ||
| 66 | <entry>Y'<subscript>31high</subscript></entry> | ||
| 67 | <entry>Y'<subscript>32low</subscript></entry> | ||
| 68 | <entry>Y'<subscript>32high</subscript></entry> | ||
| 69 | <entry>Y'<subscript>33low</subscript></entry> | ||
| 70 | <entry>Y'<subscript>33high</subscript></entry> | ||
| 71 | </row> | ||
| 72 | </tbody> | ||
| 73 | </tgroup> | ||
| 74 | </informaltable> | ||
| 75 | </para> | ||
| 76 | </formalpara> | ||
| 77 | </example> | ||
| 78 | </refsect1> | ||
| 79 | </refentry> | ||
diff --git a/Documentation/DocBook/v4l/pixfmt.xml b/Documentation/DocBook/v4l/pixfmt.xml index c6fdcbbd1b41..40af4beb48b9 100644 --- a/Documentation/DocBook/v4l/pixfmt.xml +++ b/Documentation/DocBook/v4l/pixfmt.xml | |||
| @@ -696,6 +696,7 @@ information.</para> | |||
| 696 | &sub-packed-yuv; | 696 | &sub-packed-yuv; |
| 697 | &sub-grey; | 697 | &sub-grey; |
| 698 | &sub-y10; | 698 | &sub-y10; |
| 699 | &sub-y12; | ||
| 699 | &sub-y16; | 700 | &sub-y16; |
| 700 | &sub-yuyv; | 701 | &sub-yuyv; |
| 701 | &sub-uyvy; | 702 | &sub-uyvy; |
diff --git a/Documentation/DocBook/v4l/subdev-formats.xml b/Documentation/DocBook/v4l/subdev-formats.xml index 7041127d6dfc..d7ccd25edcc1 100644 --- a/Documentation/DocBook/v4l/subdev-formats.xml +++ b/Documentation/DocBook/v4l/subdev-formats.xml | |||
| @@ -456,6 +456,23 @@ | |||
| 456 | <entry>b<subscript>1</subscript></entry> | 456 | <entry>b<subscript>1</subscript></entry> |
| 457 | <entry>b<subscript>0</subscript></entry> | 457 | <entry>b<subscript>0</subscript></entry> |
| 458 | </row> | 458 | </row> |
| 459 | <row id="V4L2-MBUS-FMT-SGBRG8-1X8"> | ||
| 460 | <entry>V4L2_MBUS_FMT_SGBRG8_1X8</entry> | ||
| 461 | <entry>0x3013</entry> | ||
| 462 | <entry></entry> | ||
| 463 | <entry>-</entry> | ||
| 464 | <entry>-</entry> | ||
| 465 | <entry>-</entry> | ||
| 466 | <entry>-</entry> | ||
| 467 | <entry>g<subscript>7</subscript></entry> | ||
| 468 | <entry>g<subscript>6</subscript></entry> | ||
| 469 | <entry>g<subscript>5</subscript></entry> | ||
| 470 | <entry>g<subscript>4</subscript></entry> | ||
| 471 | <entry>g<subscript>3</subscript></entry> | ||
| 472 | <entry>g<subscript>2</subscript></entry> | ||
| 473 | <entry>g<subscript>1</subscript></entry> | ||
| 474 | <entry>g<subscript>0</subscript></entry> | ||
| 475 | </row> | ||
| 459 | <row id="V4L2-MBUS-FMT-SGRBG8-1X8"> | 476 | <row id="V4L2-MBUS-FMT-SGRBG8-1X8"> |
| 460 | <entry>V4L2_MBUS_FMT_SGRBG8_1X8</entry> | 477 | <entry>V4L2_MBUS_FMT_SGRBG8_1X8</entry> |
| 461 | <entry>0x3002</entry> | 478 | <entry>0x3002</entry> |
| @@ -473,6 +490,23 @@ | |||
| 473 | <entry>g<subscript>1</subscript></entry> | 490 | <entry>g<subscript>1</subscript></entry> |
| 474 | <entry>g<subscript>0</subscript></entry> | 491 | <entry>g<subscript>0</subscript></entry> |
| 475 | </row> | 492 | </row> |
| 493 | <row id="V4L2-MBUS-FMT-SRGGB8-1X8"> | ||
| 494 | <entry>V4L2_MBUS_FMT_SRGGB8_1X8</entry> | ||
| 495 | <entry>0x3014</entry> | ||
| 496 | <entry></entry> | ||
| 497 | <entry>-</entry> | ||
| 498 | <entry>-</entry> | ||
| 499 | <entry>-</entry> | ||
| 500 | <entry>-</entry> | ||
| 501 | <entry>r<subscript>7</subscript></entry> | ||
| 502 | <entry>r<subscript>6</subscript></entry> | ||
| 503 | <entry>r<subscript>5</subscript></entry> | ||
| 504 | <entry>r<subscript>4</subscript></entry> | ||
| 505 | <entry>r<subscript>3</subscript></entry> | ||
| 506 | <entry>r<subscript>2</subscript></entry> | ||
| 507 | <entry>r<subscript>1</subscript></entry> | ||
| 508 | <entry>r<subscript>0</subscript></entry> | ||
| 509 | </row> | ||
| 476 | <row id="V4L2-MBUS-FMT-SBGGR10-DPCM8-1X8"> | 510 | <row id="V4L2-MBUS-FMT-SBGGR10-DPCM8-1X8"> |
| 477 | <entry>V4L2_MBUS_FMT_SBGGR10_DPCM8_1X8</entry> | 511 | <entry>V4L2_MBUS_FMT_SBGGR10_DPCM8_1X8</entry> |
| 478 | <entry>0x300b</entry> | 512 | <entry>0x300b</entry> |
| @@ -2159,6 +2193,31 @@ | |||
| 2159 | <entry>u<subscript>1</subscript></entry> | 2193 | <entry>u<subscript>1</subscript></entry> |
| 2160 | <entry>u<subscript>0</subscript></entry> | 2194 | <entry>u<subscript>0</subscript></entry> |
| 2161 | </row> | 2195 | </row> |
| 2196 | <row id="V4L2-MBUS-FMT-Y12-1X12"> | ||
| 2197 | <entry>V4L2_MBUS_FMT_Y12_1X12</entry> | ||
| 2198 | <entry>0x2013</entry> | ||
| 2199 | <entry></entry> | ||
| 2200 | <entry>-</entry> | ||
| 2201 | <entry>-</entry> | ||
| 2202 | <entry>-</entry> | ||
| 2203 | <entry>-</entry> | ||
| 2204 | <entry>-</entry> | ||
| 2205 | <entry>-</entry> | ||
| 2206 | <entry>-</entry> | ||
| 2207 | <entry>-</entry> | ||
| 2208 | <entry>y<subscript>11</subscript></entry> | ||
| 2209 | <entry>y<subscript>10</subscript></entry> | ||
| 2210 | <entry>y<subscript>9</subscript></entry> | ||
| 2211 | <entry>y<subscript>8</subscript></entry> | ||
| 2212 | <entry>y<subscript>7</subscript></entry> | ||
| 2213 | <entry>y<subscript>6</subscript></entry> | ||
| 2214 | <entry>y<subscript>5</subscript></entry> | ||
| 2215 | <entry>y<subscript>4</subscript></entry> | ||
| 2216 | <entry>y<subscript>3</subscript></entry> | ||
| 2217 | <entry>y<subscript>2</subscript></entry> | ||
| 2218 | <entry>y<subscript>1</subscript></entry> | ||
| 2219 | <entry>y<subscript>0</subscript></entry> | ||
| 2220 | </row> | ||
| 2162 | <row id="V4L2-MBUS-FMT-UYVY8-1X16"> | 2221 | <row id="V4L2-MBUS-FMT-UYVY8-1X16"> |
| 2163 | <entry>V4L2_MBUS_FMT_UYVY8_1X16</entry> | 2222 | <entry>V4L2_MBUS_FMT_UYVY8_1X16</entry> |
| 2164 | <entry>0x200f</entry> | 2223 | <entry>0x200f</entry> |
diff --git a/Documentation/cgroups/memory.txt b/Documentation/cgroups/memory.txt index b6ed61c95856..7c163477fcd8 100644 --- a/Documentation/cgroups/memory.txt +++ b/Documentation/cgroups/memory.txt | |||
| @@ -52,8 +52,10 @@ Brief summary of control files. | |||
| 52 | tasks # attach a task(thread) and show list of threads | 52 | tasks # attach a task(thread) and show list of threads |
| 53 | cgroup.procs # show list of processes | 53 | cgroup.procs # show list of processes |
| 54 | cgroup.event_control # an interface for event_fd() | 54 | cgroup.event_control # an interface for event_fd() |
| 55 | memory.usage_in_bytes # show current memory(RSS+Cache) usage. | 55 | memory.usage_in_bytes # show current res_counter usage for memory |
| 56 | memory.memsw.usage_in_bytes # show current memory+Swap usage | 56 | (See 5.5 for details) |
| 57 | memory.memsw.usage_in_bytes # show current res_counter usage for memory+Swap | ||
| 58 | (See 5.5 for details) | ||
| 57 | memory.limit_in_bytes # set/show limit of memory usage | 59 | memory.limit_in_bytes # set/show limit of memory usage |
| 58 | memory.memsw.limit_in_bytes # set/show limit of memory+Swap usage | 60 | memory.memsw.limit_in_bytes # set/show limit of memory+Swap usage |
| 59 | memory.failcnt # show the number of memory usage hits limits | 61 | memory.failcnt # show the number of memory usage hits limits |
| @@ -453,6 +455,15 @@ memory under it will be reclaimed. | |||
| 453 | You can reset failcnt by writing 0 to failcnt file. | 455 | You can reset failcnt by writing 0 to failcnt file. |
| 454 | # echo 0 > .../memory.failcnt | 456 | # echo 0 > .../memory.failcnt |
| 455 | 457 | ||
| 458 | 5.5 usage_in_bytes | ||
| 459 | |||
| 460 | For efficiency, as other kernel components, memory cgroup uses some optimization | ||
| 461 | to avoid unnecessary cacheline false sharing. usage_in_bytes is affected by the | ||
| 462 | method and doesn't show 'exact' value of memory(and swap) usage, it's an fuzz | ||
| 463 | value for efficient access. (Of course, when necessary, it's synchronized.) | ||
| 464 | If you want to know more exact memory usage, you should use RSS+CACHE(+SWAP) | ||
| 465 | value in memory.stat(see 5.2). | ||
| 466 | |||
| 456 | 6. Hierarchy support | 467 | 6. Hierarchy support |
| 457 | 468 | ||
| 458 | The memory controller supports a deep hierarchy and hierarchical accounting. | 469 | The memory controller supports a deep hierarchy and hierarchical accounting. |
diff --git a/Documentation/flexible-arrays.txt b/Documentation/flexible-arrays.txt index cb8a3a00cc92..df904aec9904 100644 --- a/Documentation/flexible-arrays.txt +++ b/Documentation/flexible-arrays.txt | |||
| @@ -66,10 +66,10 @@ trick is to ensure that any needed memory allocations are done before | |||
| 66 | entering atomic context, using: | 66 | entering atomic context, using: |
| 67 | 67 | ||
| 68 | int flex_array_prealloc(struct flex_array *array, unsigned int start, | 68 | int flex_array_prealloc(struct flex_array *array, unsigned int start, |
| 69 | unsigned int end, gfp_t flags); | 69 | unsigned int nr_elements, gfp_t flags); |
| 70 | 70 | ||
| 71 | This function will ensure that memory for the elements indexed in the range | 71 | This function will ensure that memory for the elements indexed in the range |
| 72 | defined by start and end has been allocated. Thereafter, a | 72 | defined by start and nr_elements has been allocated. Thereafter, a |
| 73 | flex_array_put() call on an element in that range is guaranteed not to | 73 | flex_array_put() call on an element in that range is guaranteed not to |
| 74 | block. | 74 | block. |
| 75 | 75 | ||
diff --git a/Documentation/hwmon/adm1021 b/Documentation/hwmon/adm1021 index 03d02bfb3df1..02ad96cf9b2b 100644 --- a/Documentation/hwmon/adm1021 +++ b/Documentation/hwmon/adm1021 | |||
| @@ -14,10 +14,6 @@ Supported chips: | |||
| 14 | Prefix: 'gl523sm' | 14 | Prefix: 'gl523sm' |
| 15 | Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e | 15 | Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e |
| 16 | Datasheet: | 16 | Datasheet: |
| 17 | * Intel Xeon Processor | ||
| 18 | Prefix: - any other - may require 'force_adm1021' parameter | ||
| 19 | Addresses scanned: none | ||
| 20 | Datasheet: Publicly available at Intel website | ||
| 21 | * Maxim MAX1617 | 17 | * Maxim MAX1617 |
| 22 | Prefix: 'max1617' | 18 | Prefix: 'max1617' |
| 23 | Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e | 19 | Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e |
| @@ -91,21 +87,27 @@ will do no harm, but will return 'old' values. It is possible to make | |||
| 91 | ADM1021-clones do faster measurements, but there is really no good reason | 87 | ADM1021-clones do faster measurements, but there is really no good reason |
| 92 | for that. | 88 | for that. |
| 93 | 89 | ||
| 94 | Xeon support | ||
| 95 | ------------ | ||
| 96 | 90 | ||
| 97 | Some Xeon processors have real max1617, adm1021, or compatible chips | 91 | Netburst-based Xeon support |
| 98 | within them, with two temperature sensors. | 92 | --------------------------- |
| 99 | 93 | ||
| 100 | Other Xeons have chips with only one sensor. | 94 | Some Xeon processors based on the Netburst (early Pentium 4, from 2001 to |
| 95 | 2003) microarchitecture had real MAX1617, ADM1021, or compatible chips | ||
| 96 | within them, with two temperature sensors. Other Xeon processors of this | ||
| 97 | era (with 400 MHz FSB) had chips with only one temperature sensor. | ||
| 101 | 98 | ||
| 102 | If you have a Xeon, and the adm1021 module loads, and both temperatures | 99 | If you have such an old Xeon, and you get two valid temperatures when |
| 103 | appear valid, then things are good. | 100 | loading the adm1021 module, then things are good. |
| 104 | 101 | ||
| 105 | If the adm1021 module doesn't load, you should try this: | 102 | If nothing happens when loading the adm1021 module, and you are certain |
| 106 | modprobe adm1021 force_adm1021=BUS,ADDRESS | 103 | that your specific Xeon processor model includes compatible sensors, you |
| 107 | ADDRESS can only be 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e. | 104 | will have to explicitly instantiate the sensor chips from user-space. See |
| 105 | method 4 in Documentation/i2c/instantiating-devices. Possible slave | ||
| 106 | addresses are 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e. It is likely that | ||
| 107 | only temp2 will be correct and temp1 will have to be ignored. | ||
| 108 | 108 | ||
| 109 | If you have dual Xeons you may have appear to have two separate | 109 | Previous generations of the Xeon processor (based on Pentium II/III) |
| 110 | adm1021-compatible chips, or two single-temperature sensors, at distinct | 110 | didn't have these sensors. Next generations of Xeon processors (533 MHz |
| 111 | addresses. | 111 | FSB and faster) lost them, until the Core-based generation which |
| 112 | introduced integrated digital thermal sensors. These are supported by | ||
| 113 | the coretemp driver. | ||
diff --git a/Documentation/hwmon/lm90 b/Documentation/hwmon/lm90 index fa475c0a48a3..f3efd18e87f4 100644 --- a/Documentation/hwmon/lm90 +++ b/Documentation/hwmon/lm90 | |||
| @@ -32,6 +32,16 @@ Supported chips: | |||
| 32 | Addresses scanned: I2C 0x4c and 0x4d | 32 | Addresses scanned: I2C 0x4c and 0x4d |
| 33 | Datasheet: Publicly available at the ON Semiconductor website | 33 | Datasheet: Publicly available at the ON Semiconductor website |
| 34 | http://www.onsemi.com/PowerSolutions/product.do?id=ADT7461 | 34 | http://www.onsemi.com/PowerSolutions/product.do?id=ADT7461 |
| 35 | * Analog Devices ADT7461A | ||
| 36 | Prefix: 'adt7461a' | ||
| 37 | Addresses scanned: I2C 0x4c and 0x4d | ||
| 38 | Datasheet: Publicly available at the ON Semiconductor website | ||
| 39 | http://www.onsemi.com/PowerSolutions/product.do?id=ADT7461A | ||
| 40 | * ON Semiconductor NCT1008 | ||
| 41 | Prefix: 'nct1008' | ||
| 42 | Addresses scanned: I2C 0x4c and 0x4d | ||
| 43 | Datasheet: Publicly available at the ON Semiconductor website | ||
| 44 | http://www.onsemi.com/PowerSolutions/product.do?id=NCT1008 | ||
| 35 | * Maxim MAX6646 | 45 | * Maxim MAX6646 |
| 36 | Prefix: 'max6646' | 46 | Prefix: 'max6646' |
| 37 | Addresses scanned: I2C 0x4d | 47 | Addresses scanned: I2C 0x4d |
| @@ -149,7 +159,7 @@ ADM1032: | |||
| 149 | * ALERT is triggered by open remote sensor. | 159 | * ALERT is triggered by open remote sensor. |
| 150 | * SMBus PEC support for Write Byte and Receive Byte transactions. | 160 | * SMBus PEC support for Write Byte and Receive Byte transactions. |
| 151 | 161 | ||
| 152 | ADT7461: | 162 | ADT7461, ADT7461A, NCT1008: |
| 153 | * Extended temperature range (breaks compatibility) | 163 | * Extended temperature range (breaks compatibility) |
| 154 | * Lower resolution for remote temperature | 164 | * Lower resolution for remote temperature |
| 155 | 165 | ||
| @@ -195,9 +205,9 @@ are exported, one for each channel, but these values are of course linked. | |||
| 195 | Only the local hysteresis can be set from user-space, and the same delta | 205 | Only the local hysteresis can be set from user-space, and the same delta |
| 196 | applies to the remote hysteresis. | 206 | applies to the remote hysteresis. |
| 197 | 207 | ||
| 198 | The lm90 driver will not update its values more frequently than every | 208 | The lm90 driver will not update its values more frequently than configured with |
| 199 | other second; reading them more often will do no harm, but will return | 209 | the update_interval attribute; reading them more often will do no harm, but will |
| 200 | 'old' values. | 210 | return 'old' values. |
| 201 | 211 | ||
| 202 | SMBus Alert Support | 212 | SMBus Alert Support |
| 203 | ------------------- | 213 | ------------------- |
| @@ -205,11 +215,12 @@ SMBus Alert Support | |||
| 205 | This driver has basic support for SMBus alert. When an alert is received, | 215 | This driver has basic support for SMBus alert. When an alert is received, |
| 206 | the status register is read and the faulty temperature channel is logged. | 216 | the status register is read and the faulty temperature channel is logged. |
| 207 | 217 | ||
| 208 | The Analog Devices chips (ADM1032 and ADT7461) do not implement the SMBus | 218 | The Analog Devices chips (ADM1032, ADT7461 and ADT7461A) and ON |
| 209 | alert protocol properly so additional care is needed: the ALERT output is | 219 | Semiconductor chips (NCT1008) do not implement the SMBus alert protocol |
| 210 | disabled when an alert is received, and is re-enabled only when the alarm | 220 | properly so additional care is needed: the ALERT output is disabled when |
| 211 | is gone. Otherwise the chip would block alerts from other chips in the bus | 221 | an alert is received, and is re-enabled only when the alarm is gone. |
| 212 | as long as the alarm is active. | 222 | Otherwise the chip would block alerts from other chips in the bus as long |
| 223 | as the alarm is active. | ||
| 213 | 224 | ||
| 214 | PEC Support | 225 | PEC Support |
| 215 | ----------- | 226 | ----------- |
diff --git a/Documentation/hwmon/max16064 b/Documentation/hwmon/max16064 new file mode 100644 index 000000000000..41728999e142 --- /dev/null +++ b/Documentation/hwmon/max16064 | |||
| @@ -0,0 +1,62 @@ | |||
| 1 | Kernel driver max16064 | ||
| 2 | ====================== | ||
| 3 | |||
| 4 | Supported chips: | ||
| 5 | * Maxim MAX16064 | ||
| 6 | Prefix: 'max16064' | ||
| 7 | Addresses scanned: - | ||
| 8 | Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX16064.pdf | ||
| 9 | |||
| 10 | Author: Guenter Roeck <guenter.roeck@ericsson.com> | ||
| 11 | |||
| 12 | |||
| 13 | Description | ||
| 14 | ----------- | ||
| 15 | |||
| 16 | This driver supports hardware montoring for Maxim MAX16064 Quad Power-Supply | ||
| 17 | Controller with Active-Voltage Output Control and PMBus Interface. | ||
| 18 | |||
| 19 | The driver is a client driver to the core PMBus driver. | ||
| 20 | Please see Documentation/hwmon/pmbus for details on PMBus client drivers. | ||
| 21 | |||
| 22 | |||
| 23 | Usage Notes | ||
| 24 | ----------- | ||
| 25 | |||
| 26 | This driver does not auto-detect devices. You will have to instantiate the | ||
| 27 | devices explicitly. Please see Documentation/i2c/instantiating-devices for | ||
| 28 | details. | ||
| 29 | |||
| 30 | |||
| 31 | Platform data support | ||
| 32 | --------------------- | ||
| 33 | |||
| 34 | The driver supports standard PMBus driver platform data. | ||
| 35 | |||
| 36 | |||
| 37 | Sysfs entries | ||
| 38 | ------------- | ||
| 39 | |||
| 40 | The following attributes are supported. Limits are read-write; all other | ||
| 41 | attributes are read-only. | ||
| 42 | |||
| 43 | in[1-4]_label "vout[1-4]" | ||
| 44 | in[1-4]_input Measured voltage. From READ_VOUT register. | ||
| 45 | in[1-4]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register. | ||
| 46 | in[1-4]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register. | ||
| 47 | in[1-4]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register. | ||
| 48 | in[1-4]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register. | ||
| 49 | in[1-4]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status. | ||
| 50 | in[1-4]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status. | ||
| 51 | in[1-4]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status. | ||
| 52 | in[1-4]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status. | ||
| 53 | |||
| 54 | temp1_input Measured temperature. From READ_TEMPERATURE_1 register. | ||
| 55 | temp1_max Maximum temperature. From OT_WARN_LIMIT register. | ||
| 56 | temp1_crit Critical high temperature. From OT_FAULT_LIMIT register. | ||
| 57 | temp1_max_alarm Chip temperature high alarm. Set by comparing | ||
| 58 | READ_TEMPERATURE_1 with OT_WARN_LIMIT if TEMP_OT_WARNING | ||
| 59 | status is set. | ||
| 60 | temp1_crit_alarm Chip temperature critical high alarm. Set by comparing | ||
| 61 | READ_TEMPERATURE_1 with OT_FAULT_LIMIT if TEMP_OT_FAULT | ||
| 62 | status is set. | ||
diff --git a/Documentation/hwmon/max34440 b/Documentation/hwmon/max34440 new file mode 100644 index 000000000000..6c525dd07d59 --- /dev/null +++ b/Documentation/hwmon/max34440 | |||
| @@ -0,0 +1,79 @@ | |||
| 1 | Kernel driver max34440 | ||
| 2 | ====================== | ||
| 3 | |||
| 4 | Supported chips: | ||
| 5 | * Maxim MAX34440 | ||
| 6 | Prefixes: 'max34440' | ||
| 7 | Addresses scanned: - | ||
| 8 | Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX34440.pdf | ||
| 9 | * Maxim MAX34441 | ||
| 10 | PMBus 5-Channel Power-Supply Manager and Intelligent Fan Controller | ||
| 11 | Prefixes: 'max34441' | ||
| 12 | Addresses scanned: - | ||
| 13 | Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX34441.pdf | ||
| 14 | |||
| 15 | Author: Guenter Roeck <guenter.roeck@ericsson.com> | ||
| 16 | |||
| 17 | |||
| 18 | Description | ||
| 19 | ----------- | ||
| 20 | |||
| 21 | This driver supports hardware montoring for Maxim MAX34440 PMBus 6-Channel | ||
| 22 | Power-Supply Manager and MAX34441 PMBus 5-Channel Power-Supply Manager | ||
| 23 | and Intelligent Fan Controller. | ||
| 24 | |||
| 25 | The driver is a client driver to the core PMBus driver. Please see | ||
| 26 | Documentation/hwmon/pmbus for details on PMBus client drivers. | ||
| 27 | |||
| 28 | |||
| 29 | Usage Notes | ||
| 30 | ----------- | ||
| 31 | |||
| 32 | This driver does not auto-detect devices. You will have to instantiate the | ||
| 33 | devices explicitly. Please see Documentation/i2c/instantiating-devices for | ||
| 34 | details. | ||
| 35 | |||
| 36 | |||
| 37 | Platform data support | ||
| 38 | --------------------- | ||
| 39 | |||
| 40 | The driver supports standard PMBus driver platform data. | ||
| 41 | |||
| 42 | |||
| 43 | Sysfs entries | ||
| 44 | ------------- | ||
| 45 | |||
| 46 | The following attributes are supported. Limits are read-write; all other | ||
| 47 | attributes are read-only. | ||
| 48 | |||
| 49 | in[1-6]_label "vout[1-6]". | ||
| 50 | in[1-6]_input Measured voltage. From READ_VOUT register. | ||
| 51 | in[1-6]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register. | ||
| 52 | in[1-6]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register. | ||
| 53 | in[1-6]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register. | ||
| 54 | in[1-6]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register. | ||
| 55 | in[1-6]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status. | ||
| 56 | in[1-6]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status. | ||
| 57 | in[1-6]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status. | ||
| 58 | in[1-6]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status. | ||
| 59 | |||
| 60 | curr[1-6]_label "iout[1-6]". | ||
| 61 | curr[1-6]_input Measured current. From READ_IOUT register. | ||
| 62 | curr[1-6]_max Maximum current. From IOUT_OC_WARN_LIMIT register. | ||
| 63 | curr[1-6]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register. | ||
| 64 | curr[1-6]_max_alarm Current high alarm. From IOUT_OC_WARNING status. | ||
| 65 | curr[1-6]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status. | ||
| 66 | |||
| 67 | in6 and curr6 attributes only exist for MAX34440. | ||
| 68 | |||
| 69 | temp[1-8]_input Measured temperatures. From READ_TEMPERATURE_1 register. | ||
| 70 | temp1 is the chip's internal temperature. temp2..temp5 | ||
| 71 | are remote I2C temperature sensors. For MAX34441, temp6 | ||
| 72 | is a remote thermal-diode sensor. For MAX34440, temp6..8 | ||
| 73 | are remote I2C temperature sensors. | ||
| 74 | temp[1-8]_max Maximum temperature. From OT_WARN_LIMIT register. | ||
| 75 | temp[1-8]_crit Critical high temperature. From OT_FAULT_LIMIT register. | ||
| 76 | temp[1-8]_max_alarm Temperature high alarm. | ||
| 77 | temp[1-8]_crit_alarm Temperature critical high alarm. | ||
| 78 | |||
| 79 | temp7 and temp8 attributes only exist for MAX34440. | ||
diff --git a/Documentation/hwmon/max8688 b/Documentation/hwmon/max8688 new file mode 100644 index 000000000000..0ddd3a412030 --- /dev/null +++ b/Documentation/hwmon/max8688 | |||
| @@ -0,0 +1,69 @@ | |||
| 1 | Kernel driver max8688 | ||
| 2 | ===================== | ||
| 3 | |||
| 4 | Supported chips: | ||
| 5 | * Maxim MAX8688 | ||
| 6 | Prefix: 'max8688' | ||
| 7 | Addresses scanned: - | ||
| 8 | Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX8688.pdf | ||
| 9 | |||
| 10 | Author: Guenter Roeck <guenter.roeck@ericsson.com> | ||
| 11 | |||
| 12 | |||
| 13 | Description | ||
| 14 | ----------- | ||
| 15 | |||
| 16 | This driver supports hardware montoring for Maxim MAX8688 Digital Power-Supply | ||
| 17 | Controller/Monitor with PMBus Interface. | ||
| 18 | |||
| 19 | The driver is a client driver to the core PMBus driver. Please see | ||
| 20 | Documentation/hwmon/pmbus for details on PMBus client drivers. | ||
| 21 | |||
| 22 | |||
| 23 | Usage Notes | ||
| 24 | ----------- | ||
| 25 | |||
| 26 | This driver does not auto-detect devices. You will have to instantiate the | ||
| 27 | devices explicitly. Please see Documentation/i2c/instantiating-devices for | ||
| 28 | details. | ||
| 29 | |||
| 30 | |||
| 31 | Platform data support | ||
| 32 | --------------------- | ||
| 33 | |||
| 34 | The driver supports standard PMBus driver platform data. | ||
| 35 | |||
| 36 | |||
| 37 | Sysfs entries | ||
| 38 | ------------- | ||
| 39 | |||
| 40 | The following attributes are supported. Limits are read-write; all other | ||
| 41 | attributes are read-only. | ||
| 42 | |||
| 43 | in1_label "vout1" | ||
| 44 | in1_input Measured voltage. From READ_VOUT register. | ||
| 45 | in1_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register. | ||
| 46 | in1_max Maximum voltage. From VOUT_OV_WARN_LIMIT register. | ||
| 47 | in1_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register. | ||
| 48 | in1_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register. | ||
| 49 | in1_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status. | ||
| 50 | in1_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status. | ||
| 51 | in1_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status. | ||
| 52 | in1_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status. | ||
| 53 | |||
| 54 | curr1_label "iout1" | ||
| 55 | curr1_input Measured current. From READ_IOUT register. | ||
| 56 | curr1_max Maximum current. From IOUT_OC_WARN_LIMIT register. | ||
| 57 | curr1_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register. | ||
| 58 | curr1_max_alarm Current high alarm. From IOUT_OC_WARN_LIMIT register. | ||
| 59 | curr1_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status. | ||
| 60 | |||
| 61 | temp1_input Measured temperature. From READ_TEMPERATURE_1 register. | ||
| 62 | temp1_max Maximum temperature. From OT_WARN_LIMIT register. | ||
| 63 | temp1_crit Critical high temperature. From OT_FAULT_LIMIT register. | ||
| 64 | temp1_max_alarm Chip temperature high alarm. Set by comparing | ||
| 65 | READ_TEMPERATURE_1 with OT_WARN_LIMIT if TEMP_OT_WARNING | ||
| 66 | status is set. | ||
| 67 | temp1_crit_alarm Chip temperature critical high alarm. Set by comparing | ||
| 68 | READ_TEMPERATURE_1 with OT_FAULT_LIMIT if TEMP_OT_FAULT | ||
| 69 | status is set. | ||
diff --git a/Documentation/hwmon/pmbus b/Documentation/hwmon/pmbus index dc4933e96344..5e462fc7f99b 100644 --- a/Documentation/hwmon/pmbus +++ b/Documentation/hwmon/pmbus | |||
| @@ -13,26 +13,6 @@ Supported chips: | |||
| 13 | Prefix: 'ltc2978' | 13 | Prefix: 'ltc2978' |
| 14 | Addresses scanned: - | 14 | Addresses scanned: - |
| 15 | Datasheet: http://cds.linear.com/docs/Datasheet/2978fa.pdf | 15 | Datasheet: http://cds.linear.com/docs/Datasheet/2978fa.pdf |
| 16 | * Maxim MAX16064 | ||
| 17 | Quad Power-Supply Controller | ||
| 18 | Prefix: 'max16064' | ||
| 19 | Addresses scanned: - | ||
| 20 | Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX16064.pdf | ||
| 21 | * Maxim MAX34440 | ||
| 22 | PMBus 6-Channel Power-Supply Manager | ||
| 23 | Prefixes: 'max34440' | ||
| 24 | Addresses scanned: - | ||
| 25 | Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX34440.pdf | ||
| 26 | * Maxim MAX34441 | ||
| 27 | PMBus 5-Channel Power-Supply Manager and Intelligent Fan Controller | ||
| 28 | Prefixes: 'max34441' | ||
| 29 | Addresses scanned: - | ||
| 30 | Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX34441.pdf | ||
| 31 | * Maxim MAX8688 | ||
| 32 | Digital Power-Supply Controller/Monitor | ||
| 33 | Prefix: 'max8688' | ||
| 34 | Addresses scanned: - | ||
| 35 | Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX8688.pdf | ||
| 36 | * Generic PMBus devices | 16 | * Generic PMBus devices |
| 37 | Prefix: 'pmbus' | 17 | Prefix: 'pmbus' |
| 38 | Addresses scanned: - | 18 | Addresses scanned: - |
| @@ -175,11 +155,13 @@ currX_crit Critical maximum current. | |||
| 175 | From IIN_OC_FAULT_LIMIT or IOUT_OC_FAULT_LIMIT register. | 155 | From IIN_OC_FAULT_LIMIT or IOUT_OC_FAULT_LIMIT register. |
| 176 | currX_alarm Current high alarm. | 156 | currX_alarm Current high alarm. |
| 177 | From IIN_OC_WARNING or IOUT_OC_WARNING status. | 157 | From IIN_OC_WARNING or IOUT_OC_WARNING status. |
| 158 | currX_max_alarm Current high alarm. | ||
| 159 | From IIN_OC_WARN_LIMIT or IOUT_OC_WARN_LIMIT status. | ||
| 178 | currX_lcrit_alarm Output current critical low alarm. | 160 | currX_lcrit_alarm Output current critical low alarm. |
| 179 | From IOUT_UC_FAULT status. | 161 | From IOUT_UC_FAULT status. |
| 180 | currX_crit_alarm Current critical high alarm. | 162 | currX_crit_alarm Current critical high alarm. |
| 181 | From IIN_OC_FAULT or IOUT_OC_FAULT status. | 163 | From IIN_OC_FAULT or IOUT_OC_FAULT status. |
| 182 | currX_label "iin" or "vinY" | 164 | currX_label "iin" or "ioutY" |
| 183 | 165 | ||
| 184 | powerX_input Measured power. From READ_PIN or READ_POUT register. | 166 | powerX_input Measured power. From READ_PIN or READ_POUT register. |
| 185 | powerX_cap Output power cap. From POUT_MAX register. | 167 | powerX_cap Output power cap. From POUT_MAX register. |
| @@ -193,13 +175,13 @@ powerX_crit_alarm Output power critical high alarm. | |||
| 193 | From POUT_OP_FAULT status. | 175 | From POUT_OP_FAULT status. |
| 194 | powerX_label "pin" or "poutY" | 176 | powerX_label "pin" or "poutY" |
| 195 | 177 | ||
| 196 | tempX_input Measured tempererature. | 178 | tempX_input Measured temperature. |
| 197 | From READ_TEMPERATURE_X register. | 179 | From READ_TEMPERATURE_X register. |
| 198 | tempX_min Mimimum tempererature. From UT_WARN_LIMIT register. | 180 | tempX_min Mimimum temperature. From UT_WARN_LIMIT register. |
| 199 | tempX_max Maximum tempererature. From OT_WARN_LIMIT register. | 181 | tempX_max Maximum temperature. From OT_WARN_LIMIT register. |
| 200 | tempX_lcrit Critical low tempererature. | 182 | tempX_lcrit Critical low temperature. |
| 201 | From UT_FAULT_LIMIT register. | 183 | From UT_FAULT_LIMIT register. |
| 202 | tempX_crit Critical high tempererature. | 184 | tempX_crit Critical high temperature. |
| 203 | From OT_FAULT_LIMIT register. | 185 | From OT_FAULT_LIMIT register. |
| 204 | tempX_min_alarm Chip temperature low alarm. Set by comparing | 186 | tempX_min_alarm Chip temperature low alarm. Set by comparing |
| 205 | READ_TEMPERATURE_X with UT_WARN_LIMIT if | 187 | READ_TEMPERATURE_X with UT_WARN_LIMIT if |
diff --git a/Documentation/hwmon/smm665 b/Documentation/hwmon/smm665 index 3820fc9ca52d..59e316140542 100644 --- a/Documentation/hwmon/smm665 +++ b/Documentation/hwmon/smm665 | |||
| @@ -150,8 +150,8 @@ in8_crit_alarm Channel F critical alarm | |||
| 150 | in9_crit_alarm AIN1 critical alarm | 150 | in9_crit_alarm AIN1 critical alarm |
| 151 | in10_crit_alarm AIN2 critical alarm | 151 | in10_crit_alarm AIN2 critical alarm |
| 152 | 152 | ||
| 153 | temp1_input Chip tempererature | 153 | temp1_input Chip temperature |
| 154 | temp1_min Mimimum chip tempererature | 154 | temp1_min Mimimum chip temperature |
| 155 | temp1_max Maximum chip tempererature | 155 | temp1_max Maximum chip temperature |
| 156 | temp1_crit Critical chip tempererature | 156 | temp1_crit Critical chip temperature |
| 157 | temp1_crit_alarm Temperature critical alarm | 157 | temp1_crit_alarm Temperature critical alarm |
diff --git a/Documentation/hwmon/submitting-patches b/Documentation/hwmon/submitting-patches new file mode 100644 index 000000000000..86f42e8e9e49 --- /dev/null +++ b/Documentation/hwmon/submitting-patches | |||
| @@ -0,0 +1,109 @@ | |||
| 1 | How to Get Your Patch Accepted Into the Hwmon Subsystem | ||
| 2 | ------------------------------------------------------- | ||
| 3 | |||
| 4 | This text is is a collection of suggestions for people writing patches or | ||
| 5 | drivers for the hwmon subsystem. Following these suggestions will greatly | ||
| 6 | increase the chances of your change being accepted. | ||
| 7 | |||
| 8 | |||
| 9 | 1. General | ||
| 10 | ---------- | ||
| 11 | |||
| 12 | * It should be unnecessary to mention, but please read and follow | ||
| 13 | Documentation/SubmitChecklist | ||
| 14 | Documentation/SubmittingDrivers | ||
| 15 | Documentation/SubmittingPatches | ||
| 16 | Documentation/CodingStyle | ||
| 17 | |||
| 18 | * If your patch generates checkpatch warnings, please refrain from explanations | ||
| 19 | such as "I don't like that coding style". Keep in mind that each unnecessary | ||
| 20 | warning helps hiding a real problem. If you don't like the kernel coding | ||
| 21 | style, don't write kernel drivers. | ||
| 22 | |||
| 23 | * Please test your patch thoroughly. We are not your test group. | ||
| 24 | Sometimes a patch can not or not completely be tested because of missing | ||
| 25 | hardware. In such cases, you should test-build the code on at least one | ||
| 26 | architecture. If run-time testing was not achieved, it should be written | ||
| 27 | explicitly below the patch header. | ||
| 28 | |||
| 29 | * If your patch (or the driver) is affected by configuration options such as | ||
| 30 | CONFIG_SMP or CONFIG_HOTPLUG, make sure it compiles for all configuration | ||
| 31 | variants. | ||
| 32 | |||
| 33 | |||
| 34 | 2. Adding functionality to existing drivers | ||
| 35 | ------------------------------------------- | ||
| 36 | |||
| 37 | * Make sure the documentation in Documentation/hwmon/<driver_name> is up to | ||
| 38 | date. | ||
| 39 | |||
| 40 | * Make sure the information in Kconfig is up to date. | ||
| 41 | |||
| 42 | * If the added functionality requires some cleanup or structural changes, split | ||
| 43 | your patch into a cleanup part and the actual addition. This makes it easier | ||
| 44 | to review your changes, and to bisect any resulting problems. | ||
| 45 | |||
| 46 | * Never mix bug fixes, cleanup, and functional enhancements in a single patch. | ||
| 47 | |||
| 48 | |||
| 49 | 3. New drivers | ||
| 50 | -------------- | ||
| 51 | |||
| 52 | * Running your patch or driver file(s) through checkpatch does not mean its | ||
| 53 | formatting is clean. If unsure about formatting in your new driver, run it | ||
| 54 | through Lindent. Lindent is not perfect, and you may have to do some minor | ||
| 55 | cleanup, but it is a good start. | ||
| 56 | |||
| 57 | * Consider adding yourself to MAINTAINERS. | ||
| 58 | |||
| 59 | * Document the driver in Documentation/hwmon/<driver_name>. | ||
| 60 | |||
| 61 | * Add the driver to Kconfig and Makefile in alphabetical order. | ||
| 62 | |||
| 63 | * Make sure that all dependencies are listed in Kconfig. For new drivers, it | ||
| 64 | is most likely prudent to add a dependency on EXPERIMENTAL. | ||
| 65 | |||
| 66 | * Avoid forward declarations if you can. Rearrange the code if necessary. | ||
| 67 | |||
| 68 | * Avoid calculations in macros and macro-generated functions. While such macros | ||
| 69 | may save a line or so in the source, it obfuscates the code and makes code | ||
| 70 | review more difficult. It may also result in code which is more complicated | ||
| 71 | than necessary. Use inline functions or just regular functions instead. | ||
| 72 | |||
| 73 | * If the driver has a detect function, make sure it is silent. Debug messages | ||
| 74 | and messages printed after a successful detection are acceptable, but it | ||
| 75 | must not print messages such as "Chip XXX not found/supported". | ||
| 76 | |||
| 77 | Keep in mind that the detect function will run for all drivers supporting an | ||
| 78 | address if a chip is detected on that address. Unnecessary messages will just | ||
| 79 | pollute the kernel log and not provide any value. | ||
| 80 | |||
| 81 | * Provide a detect function if and only if a chip can be detected reliably. | ||
| 82 | |||
| 83 | * Avoid writing to chip registers in the detect function. If you have to write, | ||
| 84 | only do it after you have already gathered enough data to be certain that the | ||
| 85 | detection is going to be successful. | ||
| 86 | |||
| 87 | Keep in mind that the chip might not be what your driver believes it is, and | ||
| 88 | writing to it might cause a bad misconfiguration. | ||
| 89 | |||
| 90 | * Make sure there are no race conditions in the probe function. Specifically, | ||
| 91 | completely initialize your chip first, then create sysfs entries and register | ||
| 92 | with the hwmon subsystem. | ||
| 93 | |||
| 94 | * Do not provide support for deprecated sysfs attributes. | ||
| 95 | |||
| 96 | * Do not create non-standard attributes unless really needed. If you have to use | ||
| 97 | non-standard attributes, or you believe you do, discuss it on the mailing list | ||
| 98 | first. Either case, provide a detailed explanation why you need the | ||
| 99 | non-standard attribute(s). | ||
| 100 | Standard attributes are specified in Documentation/hwmon/sysfs-interface. | ||
| 101 | |||
| 102 | * When deciding which sysfs attributes to support, look at the chip's | ||
| 103 | capabilities. While we do not expect your driver to support everything the | ||
| 104 | chip may offer, it should at least support all limits and alarms. | ||
| 105 | |||
| 106 | * Last but not least, please check if a driver for your chip already exists | ||
| 107 | before starting to write a new driver. Especially for temperature sensors, | ||
| 108 | new chips are often variants of previously released chips. In some cases, | ||
| 109 | a presumably new chip may simply have been relabeled. | ||
diff --git a/Documentation/md.txt b/Documentation/md.txt index a81c7b4790f2..2366b1c8cf19 100644 --- a/Documentation/md.txt +++ b/Documentation/md.txt | |||
| @@ -552,6 +552,16 @@ also have | |||
| 552 | within the array where IO will be blocked. This is currently | 552 | within the array where IO will be blocked. This is currently |
| 553 | only supported for raid4/5/6. | 553 | only supported for raid4/5/6. |
| 554 | 554 | ||
| 555 | sync_min | ||
| 556 | sync_max | ||
| 557 | The two values, given as numbers of sectors, indicate a range | ||
| 558 | withing the array where 'check'/'repair' will operate. Must be | ||
| 559 | a multiple of chunk_size. When it reaches "sync_max" it will | ||
| 560 | pause, rather than complete. | ||
| 561 | You can use 'select' or 'poll' on "sync_completed" to wait for | ||
| 562 | that number to reach sync_max. Then you can either increase | ||
| 563 | "sync_max", or can write 'idle' to "sync_action". | ||
| 564 | |||
| 555 | 565 | ||
| 556 | Each active md device may also have attributes specific to the | 566 | Each active md device may also have attributes specific to the |
| 557 | personality module that manages it. | 567 | personality module that manages it. |
diff --git a/Documentation/sound/alsa/SB-Live-mixer.txt b/Documentation/sound/alsa/SB-Live-mixer.txt index f5639d40521d..f4b5988f450c 100644 --- a/Documentation/sound/alsa/SB-Live-mixer.txt +++ b/Documentation/sound/alsa/SB-Live-mixer.txt | |||
| @@ -87,14 +87,14 @@ accumulator. ALSA uses accumulators 0 and 1 for left and right PCM. | |||
| 87 | The result is forwarded to the ADC capture FIFO (thus to the standard capture | 87 | The result is forwarded to the ADC capture FIFO (thus to the standard capture |
| 88 | PCM device). | 88 | PCM device). |
| 89 | 89 | ||
| 90 | name='Music Playback Volume',index=0 | 90 | name='Synth Playback Volume',index=0 |
| 91 | 91 | ||
| 92 | This control is used to attenuate samples for left and right MIDI FX-bus | 92 | This control is used to attenuate samples for left and right MIDI FX-bus |
| 93 | accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples. | 93 | accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples. |
| 94 | The result samples are forwarded to the front DAC PCM slots of the AC97 codec. | 94 | The result samples are forwarded to the front DAC PCM slots of the AC97 codec. |
| 95 | 95 | ||
| 96 | name='Music Capture Volume',index=0 | 96 | name='Synth Capture Volume',index=0 |
| 97 | name='Music Capture Switch',index=0 | 97 | name='Synth Capture Switch',index=0 |
| 98 | 98 | ||
| 99 | These controls are used to attenuate samples for left and right MIDI FX-bus | 99 | These controls are used to attenuate samples for left and right MIDI FX-bus |
| 100 | accumulator. ALSA uses accumulators 4 and 5 for left and right PCM. | 100 | accumulator. ALSA uses accumulators 4 and 5 for left and right PCM. |
diff --git a/Documentation/video4linux/sh_mobile_ceu_camera.txt b/Documentation/video4linux/sh_mobile_ceu_camera.txt index cb47e723af74..1e96ce6e2d2f 100644 --- a/Documentation/video4linux/sh_mobile_ceu_camera.txt +++ b/Documentation/video4linux/sh_mobile_ceu_camera.txt | |||
| @@ -37,7 +37,7 @@ Generic scaling / cropping scheme | |||
| 37 | -1'- | 37 | -1'- |
| 38 | 38 | ||
| 39 | In the above chart minuses and slashes represent "real" data amounts, points and | 39 | In the above chart minuses and slashes represent "real" data amounts, points and |
| 40 | accents represent "useful" data, basically, CEU scaled amd cropped output, | 40 | accents represent "useful" data, basically, CEU scaled and cropped output, |
| 41 | mapped back onto the client's source plane. | 41 | mapped back onto the client's source plane. |
| 42 | 42 | ||
| 43 | Such a configuration can be produced by user requests: | 43 | Such a configuration can be produced by user requests: |
| @@ -65,7 +65,7 @@ Do not touch input rectangle - it is already optimal. | |||
| 65 | 65 | ||
| 66 | 1. Calculate current sensor scales: | 66 | 1. Calculate current sensor scales: |
| 67 | 67 | ||
| 68 | scale_s = ((3') - (3)) / ((2') - (2)) | 68 | scale_s = ((2') - (2)) / ((3') - (3)) |
| 69 | 69 | ||
| 70 | 2. Calculate "effective" input crop (sensor subwindow) - CEU crop scaled back at | 70 | 2. Calculate "effective" input crop (sensor subwindow) - CEU crop scaled back at |
| 71 | current sensor scales onto input window - this is user S_CROP: | 71 | current sensor scales onto input window - this is user S_CROP: |
| @@ -80,7 +80,7 @@ window: | |||
| 80 | 4. Calculate sensor output window by applying combined scales to real input | 80 | 4. Calculate sensor output window by applying combined scales to real input |
| 81 | window: | 81 | window: |
| 82 | 82 | ||
| 83 | width_s_out = ((2') - (2)) / scale_comb | 83 | width_s_out = ((7') - (7)) = ((2') - (2)) / scale_comb |
| 84 | 84 | ||
| 85 | 5. Apply iterative sensor S_FMT for sensor output window. | 85 | 5. Apply iterative sensor S_FMT for sensor output window. |
| 86 | 86 | ||
diff --git a/Documentation/workqueue.txt b/Documentation/workqueue.txt index 01c513fac40e..a0b577de918f 100644 --- a/Documentation/workqueue.txt +++ b/Documentation/workqueue.txt | |||
| @@ -12,6 +12,7 @@ CONTENTS | |||
| 12 | 4. Application Programming Interface (API) | 12 | 4. Application Programming Interface (API) |
| 13 | 5. Example Execution Scenarios | 13 | 5. Example Execution Scenarios |
| 14 | 6. Guidelines | 14 | 6. Guidelines |
| 15 | 7. Debugging | ||
| 15 | 16 | ||
| 16 | 17 | ||
| 17 | 1. Introduction | 18 | 1. Introduction |
| @@ -379,3 +380,42 @@ If q1 has WQ_CPU_INTENSIVE set, | |||
| 379 | * Unless work items are expected to consume a huge amount of CPU | 380 | * Unless work items are expected to consume a huge amount of CPU |
| 380 | cycles, using a bound wq is usually beneficial due to the increased | 381 | cycles, using a bound wq is usually beneficial due to the increased |
| 381 | level of locality in wq operations and work item execution. | 382 | level of locality in wq operations and work item execution. |
| 383 | |||
| 384 | |||
| 385 | 7. Debugging | ||
| 386 | |||
| 387 | Because the work functions are executed by generic worker threads | ||
| 388 | there are a few tricks needed to shed some light on misbehaving | ||
| 389 | workqueue users. | ||
| 390 | |||
| 391 | Worker threads show up in the process list as: | ||
| 392 | |||
| 393 | root 5671 0.0 0.0 0 0 ? S 12:07 0:00 [kworker/0:1] | ||
| 394 | root 5672 0.0 0.0 0 0 ? S 12:07 0:00 [kworker/1:2] | ||
| 395 | root 5673 0.0 0.0 0 0 ? S 12:12 0:00 [kworker/0:0] | ||
| 396 | root 5674 0.0 0.0 0 0 ? S 12:13 0:00 [kworker/1:0] | ||
| 397 | |||
| 398 | If kworkers are going crazy (using too much cpu), there are two types | ||
| 399 | of possible problems: | ||
| 400 | |||
| 401 | 1. Something beeing scheduled in rapid succession | ||
| 402 | 2. A single work item that consumes lots of cpu cycles | ||
| 403 | |||
| 404 | The first one can be tracked using tracing: | ||
| 405 | |||
| 406 | $ echo workqueue:workqueue_queue_work > /sys/kernel/debug/tracing/set_event | ||
| 407 | $ cat /sys/kernel/debug/tracing/trace_pipe > out.txt | ||
| 408 | (wait a few secs) | ||
| 409 | ^C | ||
| 410 | |||
| 411 | If something is busy looping on work queueing, it would be dominating | ||
| 412 | the output and the offender can be determined with the work item | ||
| 413 | function. | ||
| 414 | |||
| 415 | For the second type of problems it should be possible to just check | ||
| 416 | the stack trace of the offending worker thread. | ||
| 417 | |||
| 418 | $ cat /proc/THE_OFFENDING_KWORKER/stack | ||
| 419 | |||
| 420 | The work item's function should be trivially visible in the stack | ||
| 421 | trace. | ||
