diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/accounting/getdelays.c | 6 | ||||
-rw-r--r-- | Documentation/aoe/mkdevs.sh | 2 | ||||
-rw-r--r-- | Documentation/aoe/udev-install.sh | 5 | ||||
-rw-r--r-- | Documentation/aoe/udev.txt | 16 | ||||
-rw-r--r-- | Documentation/feature-removal-schedule.txt | 19 | ||||
-rw-r--r-- | Documentation/filesystems/isofs.txt | 1 | ||||
-rw-r--r-- | Documentation/filesystems/vfs.txt | 50 | ||||
-rw-r--r-- | Documentation/kernel-parameters.txt | 3 | ||||
-rw-r--r-- | Documentation/mn10300/ABI.txt | 149 | ||||
-rw-r--r-- | Documentation/mn10300/compartmentalisation.txt | 60 | ||||
-rw-r--r-- | Documentation/thermal/sysfs-api.txt | 23 |
11 files changed, 286 insertions, 48 deletions
diff --git a/Documentation/accounting/getdelays.c b/Documentation/accounting/getdelays.c index d6cb1a86fd6..40121b5cca1 100644 --- a/Documentation/accounting/getdelays.c +++ b/Documentation/accounting/getdelays.c | |||
@@ -168,7 +168,7 @@ int get_family_id(int sd) | |||
168 | char buf[256]; | 168 | char buf[256]; |
169 | } ans; | 169 | } ans; |
170 | 170 | ||
171 | int id, rc; | 171 | int id = 0, rc; |
172 | struct nlattr *na; | 172 | struct nlattr *na; |
173 | int rep_len; | 173 | int rep_len; |
174 | 174 | ||
@@ -209,7 +209,7 @@ void print_delayacct(struct taskstats *t) | |||
209 | void task_context_switch_counts(struct taskstats *t) | 209 | void task_context_switch_counts(struct taskstats *t) |
210 | { | 210 | { |
211 | printf("\n\nTask %15s%15s\n" | 211 | printf("\n\nTask %15s%15s\n" |
212 | " %15lu%15lu\n", | 212 | " %15llu%15llu\n", |
213 | "voluntary", "nonvoluntary", | 213 | "voluntary", "nonvoluntary", |
214 | t->nvcsw, t->nivcsw); | 214 | t->nvcsw, t->nivcsw); |
215 | } | 215 | } |
@@ -399,7 +399,7 @@ int main(int argc, char *argv[]) | |||
399 | goto done; | 399 | goto done; |
400 | } | 400 | } |
401 | 401 | ||
402 | PRINTF("nlmsghdr size=%d, nlmsg_len=%d, rep_len=%d\n", | 402 | PRINTF("nlmsghdr size=%zu, nlmsg_len=%d, rep_len=%d\n", |
403 | sizeof(struct nlmsghdr), msg.n.nlmsg_len, rep_len); | 403 | sizeof(struct nlmsghdr), msg.n.nlmsg_len, rep_len); |
404 | 404 | ||
405 | 405 | ||
diff --git a/Documentation/aoe/mkdevs.sh b/Documentation/aoe/mkdevs.sh index 97374aacacb..44c0ab70243 100644 --- a/Documentation/aoe/mkdevs.sh +++ b/Documentation/aoe/mkdevs.sh | |||
@@ -29,6 +29,8 @@ rm -f $dir/interfaces | |||
29 | mknod -m 0200 $dir/interfaces c $MAJOR 4 | 29 | mknod -m 0200 $dir/interfaces c $MAJOR 4 |
30 | rm -f $dir/revalidate | 30 | rm -f $dir/revalidate |
31 | mknod -m 0200 $dir/revalidate c $MAJOR 5 | 31 | mknod -m 0200 $dir/revalidate c $MAJOR 5 |
32 | rm -f $dir/flush | ||
33 | mknod -m 0200 $dir/flush c $MAJOR 6 | ||
32 | 34 | ||
33 | export n_partitions | 35 | export n_partitions |
34 | mkshelf=`echo $0 | sed 's!mkdevs!mkshelf!'` | 36 | mkshelf=`echo $0 | sed 's!mkdevs!mkshelf!'` |
diff --git a/Documentation/aoe/udev-install.sh b/Documentation/aoe/udev-install.sh index 6449911c6a7..15e86f58c03 100644 --- a/Documentation/aoe/udev-install.sh +++ b/Documentation/aoe/udev-install.sh | |||
@@ -23,7 +23,10 @@ fi | |||
23 | # /etc/udev/rules.d | 23 | # /etc/udev/rules.d |
24 | # | 24 | # |
25 | rules_d="`sed -n '/^udev_rules=/{ s!udev_rules=!!; s!\"!!g; p; }' $conf`" | 25 | rules_d="`sed -n '/^udev_rules=/{ s!udev_rules=!!; s!\"!!g; p; }' $conf`" |
26 | if test -z "$rules_d" || test ! -d "$rules_d"; then | 26 | if test -z "$rules_d" ; then |
27 | rules_d=/etc/udev/rules.d | ||
28 | fi | ||
29 | if test ! -d "$rules_d"; then | ||
27 | echo "$me Error: cannot find udev rules directory" 1>&2 | 30 | echo "$me Error: cannot find udev rules directory" 1>&2 |
28 | exit 1 | 31 | exit 1 |
29 | fi | 32 | fi |
diff --git a/Documentation/aoe/udev.txt b/Documentation/aoe/udev.txt index a7ed1dc4f33..8686e789542 100644 --- a/Documentation/aoe/udev.txt +++ b/Documentation/aoe/udev.txt | |||
@@ -1,6 +1,7 @@ | |||
1 | # These rules tell udev what device nodes to create for aoe support. | 1 | # These rules tell udev what device nodes to create for aoe support. |
2 | # They may be installed along the following lines (adjusted to what | 2 | # They may be installed along the following lines. Check the section |
3 | # you see on your system). | 3 | # 8 udev manpage to see whether your udev supports SUBSYSTEM, and |
4 | # whether it uses one or two equal signs for SUBSYSTEM and KERNEL. | ||
4 | # | 5 | # |
5 | # ecashin@makki ~$ su | 6 | # ecashin@makki ~$ su |
6 | # Password: | 7 | # Password: |
@@ -15,10 +16,11 @@ | |||
15 | # | 16 | # |
16 | 17 | ||
17 | # aoe char devices | 18 | # aoe char devices |
18 | SUBSYSTEM="aoe", KERNEL="discover", NAME="etherd/%k", GROUP="disk", MODE="0220" | 19 | SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k", GROUP="disk", MODE="0220" |
19 | SUBSYSTEM="aoe", KERNEL="err", NAME="etherd/%k", GROUP="disk", MODE="0440" | 20 | SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k", GROUP="disk", MODE="0440" |
20 | SUBSYSTEM="aoe", KERNEL="interfaces", NAME="etherd/%k", GROUP="disk", MODE="0220" | 21 | SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k", GROUP="disk", MODE="0220" |
21 | SUBSYSTEM="aoe", KERNEL="revalidate", NAME="etherd/%k", GROUP="disk", MODE="0220" | 22 | SUBSYSTEM=="aoe", KERNEL=="revalidate", NAME="etherd/%k", GROUP="disk", MODE="0220" |
23 | SUBSYSTEM=="aoe", KERNEL=="flush", NAME="etherd/%k", GROUP="disk", MODE="0220" | ||
22 | 24 | ||
23 | # aoe block devices | 25 | # aoe block devices |
24 | KERNEL="etherd*", NAME="%k", GROUP="disk" | 26 | KERNEL=="etherd*", NAME="%k", GROUP="disk" |
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index 17b1659bd3f..ce9503c892b 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -99,17 +99,6 @@ Who: Eric Biederman <ebiederm@xmission.com> | |||
99 | 99 | ||
100 | --------------------------- | 100 | --------------------------- |
101 | 101 | ||
102 | What: a.out interpreter support for ELF executables | ||
103 | When: 2.6.25 | ||
104 | Files: fs/binfmt_elf.c | ||
105 | Why: Using a.out interpreters for ELF executables was a feature for | ||
106 | transition from a.out to ELF. But now it is unlikely to be still | ||
107 | needed anymore and removing it would simplify the hairy ELF | ||
108 | loader code. | ||
109 | Who: Andi Kleen <ak@suse.de> | ||
110 | |||
111 | --------------------------- | ||
112 | |||
113 | What: remove EXPORT_SYMBOL(kernel_thread) | 102 | What: remove EXPORT_SYMBOL(kernel_thread) |
114 | When: August 2006 | 103 | When: August 2006 |
115 | Files: arch/*/kernel/*_ksyms.c | 104 | Files: arch/*/kernel/*_ksyms.c |
@@ -192,14 +181,6 @@ Who: Len Brown <len.brown@intel.com> | |||
192 | 181 | ||
193 | --------------------------- | 182 | --------------------------- |
194 | 183 | ||
195 | What: 'time' kernel boot parameter | ||
196 | When: January 2008 | ||
197 | Why: replaced by 'printk.time=<value>' so that printk timestamps can be | ||
198 | enabled or disabled as needed | ||
199 | Who: Randy Dunlap <randy.dunlap@oracle.com> | ||
200 | |||
201 | --------------------------- | ||
202 | |||
203 | What: libata spindown skipping and warning | 184 | What: libata spindown skipping and warning |
204 | When: Dec 2008 | 185 | When: Dec 2008 |
205 | Why: Some halt(8) implementations synchronize caches for and spin | 186 | Why: Some halt(8) implementations synchronize caches for and spin |
diff --git a/Documentation/filesystems/isofs.txt b/Documentation/filesystems/isofs.txt index 758e50401c1..6973b980ca2 100644 --- a/Documentation/filesystems/isofs.txt +++ b/Documentation/filesystems/isofs.txt | |||
@@ -24,6 +24,7 @@ Mount options unique to the isofs filesystem. | |||
24 | map=normal Map non-Rock Ridge filenames to lower case | 24 | map=normal Map non-Rock Ridge filenames to lower case |
25 | map=acorn As map=normal but also apply Acorn extensions if present | 25 | map=acorn As map=normal but also apply Acorn extensions if present |
26 | mode=xxx Sets the permissions on files to xxx | 26 | mode=xxx Sets the permissions on files to xxx |
27 | dmode=xxx Sets the permissions on directories to xxx | ||
27 | nojoliet Ignore Joliet extensions if they are present. | 28 | nojoliet Ignore Joliet extensions if they are present. |
28 | norock Ignore Rock Ridge extensions if they are present. | 29 | norock Ignore Rock Ridge extensions if they are present. |
29 | hide Completely strip hidden files from the file system. | 30 | hide Completely strip hidden files from the file system. |
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt index bd55038b56f..81e5be6e6e3 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt | |||
@@ -151,7 +151,7 @@ The get_sb() method has the following arguments: | |||
151 | const char *dev_name: the device name we are mounting. | 151 | const char *dev_name: the device name we are mounting. |
152 | 152 | ||
153 | void *data: arbitrary mount options, usually comes as an ASCII | 153 | void *data: arbitrary mount options, usually comes as an ASCII |
154 | string | 154 | string (see "Mount Options" section) |
155 | 155 | ||
156 | struct vfsmount *mnt: a vfs-internal representation of a mount point | 156 | struct vfsmount *mnt: a vfs-internal representation of a mount point |
157 | 157 | ||
@@ -182,7 +182,7 @@ A fill_super() method implementation has the following arguments: | |||
182 | must initialize this properly. | 182 | must initialize this properly. |
183 | 183 | ||
184 | void *data: arbitrary mount options, usually comes as an ASCII | 184 | void *data: arbitrary mount options, usually comes as an ASCII |
185 | string | 185 | string (see "Mount Options" section) |
186 | 186 | ||
187 | int silent: whether or not to be silent on error | 187 | int silent: whether or not to be silent on error |
188 | 188 | ||
@@ -291,7 +291,8 @@ or bottom half). | |||
291 | 291 | ||
292 | umount_begin: called when the VFS is unmounting a filesystem. | 292 | umount_begin: called when the VFS is unmounting a filesystem. |
293 | 293 | ||
294 | show_options: called by the VFS to show mount options for /proc/<pid>/mounts. | 294 | show_options: called by the VFS to show mount options for |
295 | /proc/<pid>/mounts. (see "Mount Options" section) | ||
295 | 296 | ||
296 | quota_read: called by the VFS to read from filesystem quota file. | 297 | quota_read: called by the VFS to read from filesystem quota file. |
297 | 298 | ||
@@ -969,6 +970,49 @@ manipulate dentries: | |||
969 | For further information on dentry locking, please refer to the document | 970 | For further information on dentry locking, please refer to the document |
970 | Documentation/filesystems/dentry-locking.txt. | 971 | Documentation/filesystems/dentry-locking.txt. |
971 | 972 | ||
973 | Mount Options | ||
974 | ============= | ||
975 | |||
976 | Parsing options | ||
977 | --------------- | ||
978 | |||
979 | On mount and remount the filesystem is passed a string containing a | ||
980 | comma separated list of mount options. The options can have either of | ||
981 | these forms: | ||
982 | |||
983 | option | ||
984 | option=value | ||
985 | |||
986 | The <linux/parser.h> header defines an API that helps parse these | ||
987 | options. There are plenty of examples on how to use it in existing | ||
988 | filesystems. | ||
989 | |||
990 | Showing options | ||
991 | --------------- | ||
992 | |||
993 | If a filesystem accepts mount options, it must define show_options() | ||
994 | to show all the currently active options. The rules are: | ||
995 | |||
996 | - options MUST be shown which are not default or their values differ | ||
997 | from the default | ||
998 | |||
999 | - options MAY be shown which are enabled by default or have their | ||
1000 | default value | ||
1001 | |||
1002 | Options used only internally between a mount helper and the kernel | ||
1003 | (such as file descriptors), or which only have an effect during the | ||
1004 | mounting (such as ones controlling the creation of a journal) are exempt | ||
1005 | from the above rules. | ||
1006 | |||
1007 | The underlying reason for the above rules is to make sure, that a | ||
1008 | mount can be accurately replicated (e.g. umounting and mounting again) | ||
1009 | based on the information found in /proc/mounts. | ||
1010 | |||
1011 | A simple method of saving options at mount/remount time and showing | ||
1012 | them is provided with the save_mount_options() and | ||
1013 | generic_show_options() helper functions. Please note, that using | ||
1014 | these may have drawbacks. For more info see header comments for these | ||
1015 | functions in fs/namespace.c. | ||
972 | 1016 | ||
973 | Resources | 1017 | Resources |
974 | ========= | 1018 | ========= |
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 0dcbd266b44..a4fc7fc2143 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -1973,9 +1973,6 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1973 | <deci-seconds>: poll all this frequency | 1973 | <deci-seconds>: poll all this frequency |
1974 | 0: no polling (default) | 1974 | 0: no polling (default) |
1975 | 1975 | ||
1976 | time Show timing data prefixed to each printk message line | ||
1977 | [deprecated, see 'printk.time'] | ||
1978 | |||
1979 | tipar.timeout= [HW,PPT] | 1976 | tipar.timeout= [HW,PPT] |
1980 | Set communications timeout in tenths of a second | 1977 | Set communications timeout in tenths of a second |
1981 | (default 15). | 1978 | (default 15). |
diff --git a/Documentation/mn10300/ABI.txt b/Documentation/mn10300/ABI.txt new file mode 100644 index 00000000000..1fef1f06dfd --- /dev/null +++ b/Documentation/mn10300/ABI.txt | |||
@@ -0,0 +1,149 @@ | |||
1 | ========================= | ||
2 | MN10300 FUNCTION CALL ABI | ||
3 | ========================= | ||
4 | |||
5 | ======= | ||
6 | GENERAL | ||
7 | ======= | ||
8 | |||
9 | The MN10300/AM33 kernel runs in little-endian mode; big-endian mode is not | ||
10 | supported. | ||
11 | |||
12 | The stack grows downwards, and should always be 32-bit aligned. There are | ||
13 | separate stack pointer registers for userspace and the kernel. | ||
14 | |||
15 | |||
16 | ================ | ||
17 | ARGUMENT PASSING | ||
18 | ================ | ||
19 | |||
20 | The first two arguments (assuming up to 32-bits per argument) to a function are | ||
21 | passed in the D0 and D1 registers respectively; all other arguments are passed | ||
22 | on the stack. | ||
23 | |||
24 | If 64-bit arguments are being passed, then they are never split between | ||
25 | registers and the stack. If the first argument is a 64-bit value, it will be | ||
26 | passed in D0:D1. If the first argument is not a 64-bit value, but the second | ||
27 | is, the second will be passed entirely on the stack and D1 will be unused. | ||
28 | |||
29 | Arguments smaller than 32-bits are not coelesced within a register or a stack | ||
30 | word. For example, two byte-sized arguments will always be passed in separate | ||
31 | registers or word-sized stack slots. | ||
32 | |||
33 | |||
34 | ================= | ||
35 | CALLING FUNCTIONS | ||
36 | ================= | ||
37 | |||
38 | The caller must allocate twelve bytes on the stack for the callee's use before | ||
39 | it inserts a CALL instruction. The CALL instruction will write into the TOS | ||
40 | word, but won't actually modify the stack pointer; similarly, the RET | ||
41 | instruction reads from the TOS word of the stack, but doesn't move the stack | ||
42 | pointer beyond it. | ||
43 | |||
44 | |||
45 | Stack: | ||
46 | | | | ||
47 | | | | ||
48 | |---------------| SP+20 | ||
49 | | 4th Arg | | ||
50 | |---------------| SP+16 | ||
51 | | 3rd Arg | | ||
52 | |---------------| SP+12 | ||
53 | | D1 Save Slot | | ||
54 | |---------------| SP+8 | ||
55 | | D0 Save Slot | | ||
56 | |---------------| SP+4 | ||
57 | | Return Addr | | ||
58 | |---------------| SP | ||
59 | | | | ||
60 | | | | ||
61 | |||
62 | |||
63 | The caller must leave space on the stack (hence an allocation of twelve bytes) | ||
64 | in which the callee may store the first two arguments. | ||
65 | |||
66 | |||
67 | ============ | ||
68 | RETURN VALUE | ||
69 | ============ | ||
70 | |||
71 | The return value is passed in D0 for an integer (or D0:D1 for a 64-bit value), | ||
72 | or A0 for a pointer. | ||
73 | |||
74 | If the return value is a value larger than 64-bits, or is a structure or an | ||
75 | array, then a hidden first argument will be passed to the callee by the caller: | ||
76 | this will point to a piece of memory large enough to hold the result of the | ||
77 | function. In this case, the callee will return the value in that piece of | ||
78 | memory, and no value will be returned in D0 or A0. | ||
79 | |||
80 | |||
81 | =================== | ||
82 | REGISTER CLOBBERING | ||
83 | =================== | ||
84 | |||
85 | The values in certain registers may be clobbered by the callee, and other | ||
86 | values must be saved: | ||
87 | |||
88 | Clobber: D0-D1, A0-A1, E0-E3 | ||
89 | Save: D2-D3, A2-A3, E4-E7, SP | ||
90 | |||
91 | All other non-supervisor-only registers are clobberable (such as MDR, MCRL, | ||
92 | MCRH). | ||
93 | |||
94 | |||
95 | ================= | ||
96 | SPECIAL REGISTERS | ||
97 | ================= | ||
98 | |||
99 | Certain ordinary registers may carry special usage for the compiler: | ||
100 | |||
101 | A3: Frame pointer | ||
102 | E2: TLS pointer | ||
103 | |||
104 | |||
105 | ========== | ||
106 | KERNEL ABI | ||
107 | ========== | ||
108 | |||
109 | The kernel may use a slightly different ABI internally. | ||
110 | |||
111 | (*) E2 | ||
112 | |||
113 | If CONFIG_MN10300_CURRENT_IN_E2 is defined, then the current task pointer | ||
114 | will be kept in the E2 register, and that register will be marked | ||
115 | unavailable for the compiler to use as a scratch register. | ||
116 | |||
117 | Normally the kernel uses something like: | ||
118 | |||
119 | MOV SP,An | ||
120 | AND 0xFFFFE000,An | ||
121 | MOV (An),Rm // Rm holds current | ||
122 | MOV (yyy,Rm) // Access current->yyy | ||
123 | |||
124 | To find the address of current; but since this option permits current to | ||
125 | be carried globally in an register, it can use: | ||
126 | |||
127 | MOV (yyy,E2) // Access current->yyy | ||
128 | |||
129 | instead. | ||
130 | |||
131 | |||
132 | =============== | ||
133 | SYSTEM CALL ABI | ||
134 | =============== | ||
135 | |||
136 | System calls are called with the following convention: | ||
137 | |||
138 | REGISTER ENTRY EXIT | ||
139 | =============== ======================= ======================= | ||
140 | D0 Syscall number Return value | ||
141 | A0 1st syscall argument Saved | ||
142 | D1 2nd syscall argument Saved | ||
143 | A3 3rd syscall argument Saved | ||
144 | A2 4th syscall argument Saved | ||
145 | D3 5th syscall argument Saved | ||
146 | D2 6th syscall argument Saved | ||
147 | |||
148 | All other registers are saved. The layout is a consequence of the way the MOVM | ||
149 | instruction stores registers onto the stack. | ||
diff --git a/Documentation/mn10300/compartmentalisation.txt b/Documentation/mn10300/compartmentalisation.txt new file mode 100644 index 00000000000..8958b51dac4 --- /dev/null +++ b/Documentation/mn10300/compartmentalisation.txt | |||
@@ -0,0 +1,60 @@ | |||
1 | ========================================= | ||
2 | PART-SPECIFIC SOURCE COMPARTMENTALISATION | ||
3 | ========================================= | ||
4 | |||
5 | The sources for various parts are compartmentalised at two different levels: | ||
6 | |||
7 | (1) Processor level | ||
8 | |||
9 | The "processor level" is a CPU core plus the other on-silicon | ||
10 | peripherals. | ||
11 | |||
12 | Processor-specific header files are divided among directories in a similar | ||
13 | way to the CPU level: | ||
14 | |||
15 | (*) include/asm-mn10300/proc-mn103e010/ | ||
16 | |||
17 | Support for the AM33v2 CPU core. | ||
18 | |||
19 | The appropriate processor is selected by a CONFIG_MN10300_PROC_YYYY option | ||
20 | from the "Processor support" choice menu in the arch/mn10300/Kconfig file. | ||
21 | |||
22 | |||
23 | (2) Unit level | ||
24 | |||
25 | The "unit level" is a processor plus all the external peripherals | ||
26 | controlled by that processor. | ||
27 | |||
28 | Unit-specific header files are divided among directories in a similar way | ||
29 | to the CPU level; not only that, but specific sources may also be | ||
30 | segregated into separate directories under the arch directory: | ||
31 | |||
32 | (*) include/asm-mn10300/unit-asb2303/ | ||
33 | (*) arch/mn10300/unit-asb2303/ | ||
34 | |||
35 | Support for the ASB2303 board with an ASB2308 daughter board. | ||
36 | |||
37 | (*) include/asm-mn10300/unit-asb2305/ | ||
38 | (*) arch/mn10300/unit-asb2305/ | ||
39 | |||
40 | Support for the ASB2305 board. | ||
41 | |||
42 | The appropriate processor is selected by a CONFIG_MN10300_UNIT_ZZZZ option | ||
43 | from the "Unit type" choice menu in the arch/mn10300/Kconfig file. | ||
44 | |||
45 | |||
46 | ============ | ||
47 | COMPILE TIME | ||
48 | ============ | ||
49 | |||
50 | When the kernel is compiled, symbolic links will be made in the asm header file | ||
51 | directory for this arch: | ||
52 | |||
53 | include/asm-mn10300/proc => include/asm-mn10300/proc-YYYY/ | ||
54 | include/asm-mn10300/unit => include/asm-mn10300/unit-ZZZZ/ | ||
55 | |||
56 | So that the header files contained in those directories can be accessed without | ||
57 | lots of #ifdef-age. | ||
58 | |||
59 | The appropriate arch/mn10300/unit-ZZZZ directory will also be entered by the | ||
60 | compilation process; all other unit-specific directories will be ignored. | ||
diff --git a/Documentation/thermal/sysfs-api.txt b/Documentation/thermal/sysfs-api.txt index 5776e090359..ba9c2da5a8c 100644 --- a/Documentation/thermal/sysfs-api.txt +++ b/Documentation/thermal/sysfs-api.txt | |||
@@ -14,7 +14,7 @@ The generic thermal sysfs provides a set of interfaces for thermal zone devices | |||
14 | and thermal cooling devices (fan, processor...) to register with the thermal management | 14 | and thermal cooling devices (fan, processor...) to register with the thermal management |
15 | solution and to be a part of it. | 15 | solution and to be a part of it. |
16 | 16 | ||
17 | This how-to focusses on enabling new thermal zone and cooling devices to participate | 17 | This how-to focuses on enabling new thermal zone and cooling devices to participate |
18 | in thermal management. | 18 | in thermal management. |
19 | This solution is platform independent and any type of thermal zone devices and | 19 | This solution is platform independent and any type of thermal zone devices and |
20 | cooling devices should be able to make use of the infrastructure. | 20 | cooling devices should be able to make use of the infrastructure. |
@@ -41,9 +41,9 @@ and throttle appropriate devices. | |||
41 | name: the thermal zone name. | 41 | name: the thermal zone name. |
42 | trips: the total number of trip points this thermal zone supports. | 42 | trips: the total number of trip points this thermal zone supports. |
43 | devdata: device private data | 43 | devdata: device private data |
44 | ops: thermal zone device callbacks. | 44 | ops: thermal zone device call-backs. |
45 | .bind: bind the thermal zone device with a thermal cooling device. | 45 | .bind: bind the thermal zone device with a thermal cooling device. |
46 | .unbind: unbing the thermal zone device with a thermal cooling device. | 46 | .unbind: unbind the thermal zone device with a thermal cooling device. |
47 | .get_temp: get the current temperature of the thermal zone. | 47 | .get_temp: get the current temperature of the thermal zone. |
48 | .get_mode: get the current mode (user/kernel) of the thermal zone. | 48 | .get_mode: get the current mode (user/kernel) of the thermal zone. |
49 | "kernel" means thermal management is done in kernel. | 49 | "kernel" means thermal management is done in kernel. |
@@ -69,7 +69,7 @@ and throttle appropriate devices. | |||
69 | It tries to bind itself to all the thermal zone devices register at the same time. | 69 | It tries to bind itself to all the thermal zone devices register at the same time. |
70 | name: the cooling device name. | 70 | name: the cooling device name. |
71 | devdata: device private data. | 71 | devdata: device private data. |
72 | ops: thermal cooling devices callbacks. | 72 | ops: thermal cooling devices call-backs. |
73 | .get_max_state: get the Maximum throttle state of the cooling device. | 73 | .get_max_state: get the Maximum throttle state of the cooling device. |
74 | .get_cur_state: get the Current throttle state of the cooling device. | 74 | .get_cur_state: get the Current throttle state of the cooling device. |
75 | .set_cur_state: set the Current throttle state of the cooling device. | 75 | .set_cur_state: set the Current throttle state of the cooling device. |
@@ -109,7 +109,6 @@ RO read only value | |||
109 | RW read/write value | 109 | RW read/write value |
110 | 110 | ||
111 | All thermal sysfs attributes will be represented under /sys/class/thermal | 111 | All thermal sysfs attributes will be represented under /sys/class/thermal |
112 | /sys/class/thermal/ | ||
113 | 112 | ||
114 | Thermal zone device sys I/F, created once it's registered: | 113 | Thermal zone device sys I/F, created once it's registered: |
115 | |thermal_zone[0-*]: | 114 | |thermal_zone[0-*]: |
@@ -129,7 +128,7 @@ Thermal cooling device sys I/F, created once it's registered: | |||
129 | These two dynamic attributes are created/removed in pairs. | 128 | These two dynamic attributes are created/removed in pairs. |
130 | They represent the relationship between a thermal zone and its associated cooling device. | 129 | They represent the relationship between a thermal zone and its associated cooling device. |
131 | They are created/removed for each | 130 | They are created/removed for each |
132 | thermal_zone_bind_cooling_device/thermal_zone_unbind_cooling_device successful exection. | 131 | thermal_zone_bind_cooling_device/thermal_zone_unbind_cooling_device successful execution. |
133 | 132 | ||
134 | |thermal_zone[0-*] | 133 | |thermal_zone[0-*] |
135 | |-----cdev[0-*]: The [0-*]th cooling device in the current thermal zone | 134 | |-----cdev[0-*]: The [0-*]th cooling device in the current thermal zone |
@@ -147,11 +146,11 @@ type Strings which represent the thermal zone type. | |||
147 | Optional | 146 | Optional |
148 | 147 | ||
149 | temp Current temperature as reported by thermal zone (sensor) | 148 | temp Current temperature as reported by thermal zone (sensor) |
150 | Unit: degree celsius | 149 | Unit: degree Celsius |
151 | RO | 150 | RO |
152 | Required | 151 | Required |
153 | 152 | ||
154 | mode One of the predifned values in [kernel, user] | 153 | mode One of the predefined values in [kernel, user] |
155 | This file gives information about the algorithm | 154 | This file gives information about the algorithm |
156 | that is currently managing the thermal zone. | 155 | that is currently managing the thermal zone. |
157 | It can be either default kernel based algorithm | 156 | It can be either default kernel based algorithm |
@@ -164,12 +163,12 @@ mode One of the predifned values in [kernel, user] | |||
164 | charge of the thermal management. | 163 | charge of the thermal management. |
165 | 164 | ||
166 | trip_point_[0-*]_temp The temperature above which trip point will be fired | 165 | trip_point_[0-*]_temp The temperature above which trip point will be fired |
167 | Unit: degree celsius | 166 | Unit: degree Celsius |
168 | RO | 167 | RO |
169 | Optional | 168 | Optional |
170 | 169 | ||
171 | trip_point_[0-*]_type Strings which indicate the type of the trip point | 170 | trip_point_[0-*]_type Strings which indicate the type of the trip point |
172 | Eg. it can be one of critical, hot, passive, | 171 | E.g. it can be one of critical, hot, passive, |
173 | active[0-*] for ACPI thermal zone. | 172 | active[0-*] for ACPI thermal zone. |
174 | RO | 173 | RO |
175 | Optional | 174 | Optional |
@@ -179,7 +178,7 @@ cdev[0-*] Sysfs link to the thermal cooling device node where the sys I/F | |||
179 | RO | 178 | RO |
180 | Optional | 179 | Optional |
181 | 180 | ||
182 | cdev[0-*]_trip_point The trip point with which cdev[0-*] is assocated in this thermal zone | 181 | cdev[0-*]_trip_point The trip point with which cdev[0-*] is associated in this thermal zone |
183 | -1 means the cooling device is not associated with any trip point. | 182 | -1 means the cooling device is not associated with any trip point. |
184 | RO | 183 | RO |
185 | Optional | 184 | Optional |
@@ -211,7 +210,7 @@ cur_state The current cooling state of this cooling device. | |||
211 | 210 | ||
212 | ACPI thermal zone may support multiple trip points like critical/hot/passive/active. | 211 | ACPI thermal zone may support multiple trip points like critical/hot/passive/active. |
213 | If an ACPI thermal zone supports critical, passive, active[0] and active[1] at the same time, | 212 | If an ACPI thermal zone supports critical, passive, active[0] and active[1] at the same time, |
214 | it may register itself as a thermale_zone_device (thermal_zone1) with 4 trip points in all. | 213 | it may register itself as a thermal_zone_device (thermal_zone1) with 4 trip points in all. |
215 | It has one processor and one fan, which are both registered as thermal_cooling_device. | 214 | It has one processor and one fan, which are both registered as thermal_cooling_device. |
216 | If the processor is listed in _PSL method, and the fan is listed in _AL0 method, | 215 | If the processor is listed in _PSL method, and the fan is listed in _AL0 method, |
217 | the sys I/F structure will be built like this: | 216 | the sys I/F structure will be built like this: |