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. | ||