diff options
Diffstat (limited to 'Documentation')
42 files changed, 886 insertions, 305 deletions
diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX index edef85ce1195..2a39aeba1464 100644 --- a/Documentation/00-INDEX +++ b/Documentation/00-INDEX | |||
@@ -42,14 +42,8 @@ IRQ.txt | |||
42 | - description of what an IRQ is. | 42 | - description of what an IRQ is. |
43 | ManagementStyle | 43 | ManagementStyle |
44 | - how to (attempt to) manage kernel hackers. | 44 | - how to (attempt to) manage kernel hackers. |
45 | MSI-HOWTO.txt | ||
46 | - the Message Signaled Interrupts (MSI) Driver Guide HOWTO and FAQ. | ||
47 | RCU/ | 45 | RCU/ |
48 | - directory with info on RCU (read-copy update). | 46 | - directory with info on RCU (read-copy update). |
49 | README.DAC960 | ||
50 | - info on Mylex DAC960/DAC1100 PCI RAID Controller Driver for Linux. | ||
51 | README.cycladesZ | ||
52 | - info on Cyclades-Z firmware loading. | ||
53 | SAK.txt | 47 | SAK.txt |
54 | - info on Secure Attention Keys. | 48 | - info on Secure Attention Keys. |
55 | SM501.txt | 49 | SM501.txt |
@@ -86,20 +80,16 @@ blackfin/ | |||
86 | - directory with documentation for the Blackfin arch. | 80 | - directory with documentation for the Blackfin arch. |
87 | block/ | 81 | block/ |
88 | - info on the Block I/O (BIO) layer. | 82 | - info on the Block I/O (BIO) layer. |
83 | blockdev/ | ||
84 | - info on block devices & drivers | ||
89 | cachetlb.txt | 85 | cachetlb.txt |
90 | - describes the cache/TLB flushing interfaces Linux uses. | 86 | - describes the cache/TLB flushing interfaces Linux uses. |
91 | cciss.txt | ||
92 | - info, major/minor #'s for Compaq's SMART Array Controllers. | ||
93 | cdrom/ | 87 | cdrom/ |
94 | - directory with information on the CD-ROM drivers that Linux has. | 88 | - directory with information on the CD-ROM drivers that Linux has. |
95 | computone.txt | ||
96 | - info on Computone Intelliport II/Plus Multiport Serial Driver. | ||
97 | connector/ | 89 | connector/ |
98 | - docs on the netlink based userspace<->kernel space communication mod. | 90 | - docs on the netlink based userspace<->kernel space communication mod. |
99 | console/ | 91 | console/ |
100 | - documentation on Linux console drivers. | 92 | - documentation on Linux console drivers. |
101 | cpqarray.txt | ||
102 | - info on using Compaq's SMART2 Intelligent Disk Array Controllers. | ||
103 | cpu-freq/ | 93 | cpu-freq/ |
104 | - info on CPU frequency and voltage scaling. | 94 | - info on CPU frequency and voltage scaling. |
105 | cpu-hotplug.txt | 95 | cpu-hotplug.txt |
@@ -126,8 +116,6 @@ device-mapper/ | |||
126 | - directory with info on Device Mapper. | 116 | - directory with info on Device Mapper. |
127 | devices.txt | 117 | devices.txt |
128 | - plain ASCII listing of all the nodes in /dev/ with major minor #'s. | 118 | - plain ASCII listing of all the nodes in /dev/ with major minor #'s. |
129 | digiepca.txt | ||
130 | - info on Digi Intl. {PC,PCI,EISA}Xx and Xem series cards. | ||
131 | dontdiff | 119 | dontdiff |
132 | - file containing a list of files that should never be diff'ed. | 120 | - file containing a list of files that should never be diff'ed. |
133 | driver-model/ | 121 | driver-model/ |
@@ -152,14 +140,10 @@ filesystems/ | |||
152 | - info on the vfs and the various filesystems that Linux supports. | 140 | - info on the vfs and the various filesystems that Linux supports. |
153 | firmware_class/ | 141 | firmware_class/ |
154 | - request_firmware() hotplug interface info. | 142 | - request_firmware() hotplug interface info. |
155 | floppy.txt | ||
156 | - notes and driver options for the floppy disk driver. | ||
157 | frv/ | 143 | frv/ |
158 | - Fujitsu FR-V Linux documentation. | 144 | - Fujitsu FR-V Linux documentation. |
159 | gpio.txt | 145 | gpio.txt |
160 | - overview of GPIO (General Purpose Input/Output) access conventions. | 146 | - overview of GPIO (General Purpose Input/Output) access conventions. |
161 | hayes-esp.txt | ||
162 | - info on using the Hayes ESP serial driver. | ||
163 | highuid.txt | 147 | highuid.txt |
164 | - notes on the change from 16 bit to 32 bit user/group IDs. | 148 | - notes on the change from 16 bit to 32 bit user/group IDs. |
165 | timers/ | 149 | timers/ |
@@ -186,8 +170,6 @@ io_ordering.txt | |||
186 | - info on ordering I/O writes to memory-mapped addresses. | 170 | - info on ordering I/O writes to memory-mapped addresses. |
187 | ioctl/ | 171 | ioctl/ |
188 | - directory with documents describing various IOCTL calls. | 172 | - directory with documents describing various IOCTL calls. |
189 | ioctl-number.txt | ||
190 | - how to implement and register device/driver ioctl calls. | ||
191 | iostats.txt | 173 | iostats.txt |
192 | - info on I/O statistics Linux kernel provides. | 174 | - info on I/O statistics Linux kernel provides. |
193 | irqflags-tracing.txt | 175 | irqflags-tracing.txt |
@@ -250,14 +232,10 @@ mips/ | |||
250 | - directory with info about Linux on MIPS architecture. | 232 | - directory with info about Linux on MIPS architecture. |
251 | mono.txt | 233 | mono.txt |
252 | - how to execute Mono-based .NET binaries with the help of BINFMT_MISC. | 234 | - how to execute Mono-based .NET binaries with the help of BINFMT_MISC. |
253 | moxa-smartio | ||
254 | - file with info on installing/using Moxa multiport serial driver. | ||
255 | mutex-design.txt | 235 | mutex-design.txt |
256 | - info on the generic mutex subsystem. | 236 | - info on the generic mutex subsystem. |
257 | namespaces/ | 237 | namespaces/ |
258 | - directory with various information about namespaces | 238 | - directory with various information about namespaces |
259 | nbd.txt | ||
260 | - info on a TCP implementation of a network block device. | ||
261 | netlabel/ | 239 | netlabel/ |
262 | - directory with information on the NetLabel subsystem. | 240 | - directory with information on the NetLabel subsystem. |
263 | networking/ | 241 | networking/ |
@@ -270,8 +248,6 @@ numastat.txt | |||
270 | - info on how to read Numa policy hit/miss statistics in sysfs. | 248 | - info on how to read Numa policy hit/miss statistics in sysfs. |
271 | oops-tracing.txt | 249 | oops-tracing.txt |
272 | - how to decode those nasty internal kernel error dump messages. | 250 | - how to decode those nasty internal kernel error dump messages. |
273 | paride.txt | ||
274 | - information about the parallel port IDE subsystem. | ||
275 | parisc/ | 251 | parisc/ |
276 | - directory with info on using Linux on PA-RISC architecture. | 252 | - directory with info on using Linux on PA-RISC architecture. |
277 | parport.txt | 253 | parport.txt |
@@ -290,20 +266,16 @@ powerpc/ | |||
290 | - directory with info on using Linux with the PowerPC. | 266 | - directory with info on using Linux with the PowerPC. |
291 | preempt-locking.txt | 267 | preempt-locking.txt |
292 | - info on locking under a preemptive kernel. | 268 | - info on locking under a preemptive kernel. |
269 | printk-formats.txt | ||
270 | - how to get printk format specifiers right | ||
293 | prio_tree.txt | 271 | prio_tree.txt |
294 | - info on radix-priority-search-tree use for indexing vmas. | 272 | - info on radix-priority-search-tree use for indexing vmas. |
295 | ramdisk.txt | ||
296 | - short guide on how to set up and use the RAM disk. | ||
297 | rbtree.txt | 273 | rbtree.txt |
298 | - info on what red-black trees are and what they are for. | 274 | - info on what red-black trees are and what they are for. |
299 | riscom8.txt | ||
300 | - notes on using the RISCom/8 multi-port serial driver. | ||
301 | robust-futex-ABI.txt | 275 | robust-futex-ABI.txt |
302 | - documentation of the robust futex ABI. | 276 | - documentation of the robust futex ABI. |
303 | robust-futexes.txt | 277 | robust-futexes.txt |
304 | - a description of what robust futexes are. | 278 | - a description of what robust futexes are. |
305 | rocket.txt | ||
306 | - info on the Comtrol RocketPort multiport serial driver. | ||
307 | rt-mutex-design.txt | 279 | rt-mutex-design.txt |
308 | - description of the RealTime mutex implementation design. | 280 | - description of the RealTime mutex implementation design. |
309 | rt-mutex.txt | 281 | rt-mutex.txt |
@@ -332,8 +304,6 @@ sparc/ | |||
332 | - directory with info on using Linux on Sparc architecture. | 304 | - directory with info on using Linux on Sparc architecture. |
333 | sparse.txt | 305 | sparse.txt |
334 | - info on how to obtain and use the sparse tool for typechecking. | 306 | - info on how to obtain and use the sparse tool for typechecking. |
335 | specialix.txt | ||
336 | - info on hardware/driver for specialix IO8+ multiport serial card. | ||
337 | spi/ | 307 | spi/ |
338 | - overview of Linux kernel Serial Peripheral Interface (SPI) support. | 308 | - overview of Linux kernel Serial Peripheral Interface (SPI) support. |
339 | spinlocks.txt | 309 | spinlocks.txt |
@@ -342,14 +312,10 @@ stable_api_nonsense.txt | |||
342 | - info on why the kernel does not have a stable in-kernel api or abi. | 312 | - info on why the kernel does not have a stable in-kernel api or abi. |
343 | stable_kernel_rules.txt | 313 | stable_kernel_rules.txt |
344 | - rules and procedures for the -stable kernel releases. | 314 | - rules and procedures for the -stable kernel releases. |
345 | stallion.txt | ||
346 | - info on using the Stallion multiport serial driver. | ||
347 | svga.txt | 315 | svga.txt |
348 | - short guide on selecting video modes at boot via VGA BIOS. | 316 | - short guide on selecting video modes at boot via VGA BIOS. |
349 | sysfs-rules.txt | 317 | sysfs-rules.txt |
350 | - How not to use sysfs. | 318 | - How not to use sysfs. |
351 | sx.txt | ||
352 | - info on the Specialix SX/SI multiport serial driver. | ||
353 | sysctl/ | 319 | sysctl/ |
354 | - directory with info on the /proc/sys/* files. | 320 | - directory with info on the /proc/sys/* files. |
355 | sysrq.txt | 321 | sysrq.txt |
@@ -358,8 +324,6 @@ telephony/ | |||
358 | - directory with info on telephony (e.g. voice over IP) support. | 324 | - directory with info on telephony (e.g. voice over IP) support. |
359 | time_interpolators.txt | 325 | time_interpolators.txt |
360 | - info on time interpolators. | 326 | - info on time interpolators. |
361 | tty.txt | ||
362 | - guide to the locking policies of the tty layer. | ||
363 | uml/ | 327 | uml/ |
364 | - directory with information about User Mode Linux. | 328 | - directory with information about User Mode Linux. |
365 | unicode.txt | 329 | unicode.txt |
diff --git a/Documentation/ABI/testing/sysfs-c2port b/Documentation/ABI/testing/sysfs-c2port new file mode 100644 index 000000000000..716cffc457e9 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-c2port | |||
@@ -0,0 +1,88 @@ | |||
1 | What: /sys/class/c2port/ | ||
2 | Date: October 2008 | ||
3 | Contact: Rodolfo Giometti <giometti@linux.it> | ||
4 | Description: | ||
5 | The /sys/class/c2port/ directory will contain files and | ||
6 | directories that will provide a unified interface to | ||
7 | the C2 port interface. | ||
8 | |||
9 | What: /sys/class/c2port/c2portX | ||
10 | Date: October 2008 | ||
11 | Contact: Rodolfo Giometti <giometti@linux.it> | ||
12 | Description: | ||
13 | The /sys/class/c2port/c2portX/ directory is related to X-th | ||
14 | C2 port into the system. Each directory will contain files to | ||
15 | manage and control its C2 port. | ||
16 | |||
17 | What: /sys/class/c2port/c2portX/access | ||
18 | Date: October 2008 | ||
19 | Contact: Rodolfo Giometti <giometti@linux.it> | ||
20 | Description: | ||
21 | The /sys/class/c2port/c2portX/access file enable the access | ||
22 | to the C2 port from the system. No commands can be sent | ||
23 | till this entry is set to 0. | ||
24 | |||
25 | What: /sys/class/c2port/c2portX/dev_id | ||
26 | Date: October 2008 | ||
27 | Contact: Rodolfo Giometti <giometti@linux.it> | ||
28 | Description: | ||
29 | The /sys/class/c2port/c2portX/dev_id file show the device ID | ||
30 | of the connected micro. | ||
31 | |||
32 | What: /sys/class/c2port/c2portX/flash_access | ||
33 | Date: October 2008 | ||
34 | Contact: Rodolfo Giometti <giometti@linux.it> | ||
35 | Description: | ||
36 | The /sys/class/c2port/c2portX/flash_access file enable the | ||
37 | access to the on-board flash of the connected micro. | ||
38 | No commands can be sent till this entry is set to 0. | ||
39 | |||
40 | What: /sys/class/c2port/c2portX/flash_block_size | ||
41 | Date: October 2008 | ||
42 | Contact: Rodolfo Giometti <giometti@linux.it> | ||
43 | Description: | ||
44 | The /sys/class/c2port/c2portX/flash_block_size file show | ||
45 | the on-board flash block size of the connected micro. | ||
46 | |||
47 | What: /sys/class/c2port/c2portX/flash_blocks_num | ||
48 | Date: October 2008 | ||
49 | Contact: Rodolfo Giometti <giometti@linux.it> | ||
50 | Description: | ||
51 | The /sys/class/c2port/c2portX/flash_blocks_num file show | ||
52 | the on-board flash blocks number of the connected micro. | ||
53 | |||
54 | What: /sys/class/c2port/c2portX/flash_data | ||
55 | Date: October 2008 | ||
56 | Contact: Rodolfo Giometti <giometti@linux.it> | ||
57 | Description: | ||
58 | The /sys/class/c2port/c2portX/flash_data file export | ||
59 | the content of the on-board flash of the connected micro. | ||
60 | |||
61 | What: /sys/class/c2port/c2portX/flash_erase | ||
62 | Date: October 2008 | ||
63 | Contact: Rodolfo Giometti <giometti@linux.it> | ||
64 | Description: | ||
65 | The /sys/class/c2port/c2portX/flash_erase file execute | ||
66 | the "erase" command on the on-board flash of the connected | ||
67 | micro. | ||
68 | |||
69 | What: /sys/class/c2port/c2portX/flash_erase | ||
70 | Date: October 2008 | ||
71 | Contact: Rodolfo Giometti <giometti@linux.it> | ||
72 | Description: | ||
73 | The /sys/class/c2port/c2portX/flash_erase file show the | ||
74 | on-board flash size of the connected micro. | ||
75 | |||
76 | What: /sys/class/c2port/c2portX/reset | ||
77 | Date: October 2008 | ||
78 | Contact: Rodolfo Giometti <giometti@linux.it> | ||
79 | Description: | ||
80 | The /sys/class/c2port/c2portX/reset file execute a "reset" | ||
81 | command on the connected micro. | ||
82 | |||
83 | What: /sys/class/c2port/c2portX/rev_id | ||
84 | Date: October 2008 | ||
85 | Contact: Rodolfo Giometti <giometti@linux.it> | ||
86 | Description: | ||
87 | The /sys/class/c2port/c2portX/rev_id file show the revision ID | ||
88 | of the connected micro. | ||
diff --git a/Documentation/ABI/testing/sysfs-firmware-acpi b/Documentation/ABI/testing/sysfs-firmware-acpi index f27be7d1a49f..e8ffc70ffe12 100644 --- a/Documentation/ABI/testing/sysfs-firmware-acpi +++ b/Documentation/ABI/testing/sysfs-firmware-acpi | |||
@@ -89,7 +89,7 @@ Description: | |||
89 | 89 | ||
90 | error - an interrupt that can't be accounted for above. | 90 | error - an interrupt that can't be accounted for above. |
91 | 91 | ||
92 | invalid: it's either a wakeup GPE or a GPE/Fixed Event that | 92 | invalid: it's either a GPE or a Fixed Event that |
93 | doesn't have an event handler. | 93 | doesn't have an event handler. |
94 | 94 | ||
95 | disable: the GPE/Fixed Event is valid but disabled. | 95 | disable: the GPE/Fixed Event is valid but disabled. |
@@ -117,30 +117,30 @@ Description: | |||
117 | and other user space applications so that the machine won't shutdown | 117 | and other user space applications so that the machine won't shutdown |
118 | when pressing the power button. | 118 | when pressing the power button. |
119 | # cat ff_pwr_btn | 119 | # cat ff_pwr_btn |
120 | 0 | 120 | 0 enabled |
121 | # press the power button for 3 times; | 121 | # press the power button for 3 times; |
122 | # cat ff_pwr_btn | 122 | # cat ff_pwr_btn |
123 | 3 | 123 | 3 enabled |
124 | # echo disable > ff_pwr_btn | 124 | # echo disable > ff_pwr_btn |
125 | # cat ff_pwr_btn | 125 | # cat ff_pwr_btn |
126 | disable | 126 | 3 disabled |
127 | # press the power button for 3 times; | 127 | # press the power button for 3 times; |
128 | # cat ff_pwr_btn | 128 | # cat ff_pwr_btn |
129 | disable | 129 | 3 disabled |
130 | # echo enable > ff_pwr_btn | 130 | # echo enable > ff_pwr_btn |
131 | # cat ff_pwr_btn | 131 | # cat ff_pwr_btn |
132 | 4 | 132 | 4 enabled |
133 | /* | 133 | /* |
134 | * this is because the status bit is set even if the enable bit is cleared, | 134 | * this is because the status bit is set even if the enable bit is cleared, |
135 | * and it triggers an ACPI fixed event when the enable bit is set again | 135 | * and it triggers an ACPI fixed event when the enable bit is set again |
136 | */ | 136 | */ |
137 | # press the power button for 3 times; | 137 | # press the power button for 3 times; |
138 | # cat ff_pwr_btn | 138 | # cat ff_pwr_btn |
139 | 7 | 139 | 7 enabled |
140 | # echo disable > ff_pwr_btn | 140 | # echo disable > ff_pwr_btn |
141 | # press the power button for 3 times; | 141 | # press the power button for 3 times; |
142 | # echo clear > ff_pwr_btn /* clear the status bit */ | 142 | # echo clear > ff_pwr_btn /* clear the status bit */ |
143 | # echo disable > ff_pwr_btn | 143 | # echo disable > ff_pwr_btn |
144 | # cat ff_pwr_btn | 144 | # cat ff_pwr_btn |
145 | 7 | 145 | 7 enabled |
146 | 146 | ||
diff --git a/Documentation/PCI/00-INDEX b/Documentation/PCI/00-INDEX index 49f43946c6b6..812b17fe3ed0 100644 --- a/Documentation/PCI/00-INDEX +++ b/Documentation/PCI/00-INDEX | |||
@@ -1,5 +1,7 @@ | |||
1 | 00-INDEX | 1 | 00-INDEX |
2 | - this file | 2 | - this file |
3 | MSI-HOWTO.txt | ||
4 | - the Message Signaled Interrupts (MSI) Driver Guide HOWTO and FAQ. | ||
3 | PCI-DMA-mapping.txt | 5 | PCI-DMA-mapping.txt |
4 | - info for PCI drivers using DMA portably across all platforms | 6 | - info for PCI drivers using DMA portably across all platforms |
5 | PCIEBUS-HOWTO.txt | 7 | PCIEBUS-HOWTO.txt |
diff --git a/Documentation/MSI-HOWTO.txt b/Documentation/PCI/MSI-HOWTO.txt index 256defd7e174..256defd7e174 100644 --- a/Documentation/MSI-HOWTO.txt +++ b/Documentation/PCI/MSI-HOWTO.txt | |||
diff --git a/Documentation/acpi/debug.txt b/Documentation/acpi/debug.txt new file mode 100644 index 000000000000..65bf47c46b6d --- /dev/null +++ b/Documentation/acpi/debug.txt | |||
@@ -0,0 +1,148 @@ | |||
1 | ACPI Debug Output | ||
2 | |||
3 | |||
4 | The ACPI CA, the Linux ACPI core, and some ACPI drivers can generate debug | ||
5 | output. This document describes how to use this facility. | ||
6 | |||
7 | Compile-time configuration | ||
8 | -------------------------- | ||
9 | |||
10 | ACPI debug output is globally enabled by CONFIG_ACPI_DEBUG. If this config | ||
11 | option is turned off, the debug messages are not even built into the | ||
12 | kernel. | ||
13 | |||
14 | Boot- and run-time configuration | ||
15 | -------------------------------- | ||
16 | |||
17 | When CONFIG_ACPI_DEBUG=y, you can select the component and level of messages | ||
18 | you're interested in. At boot-time, use the acpi.debug_layer and | ||
19 | acpi.debug_level kernel command line options. After boot, you can use the | ||
20 | debug_layer and debug_level files in /sys/module/acpi/parameters/ to control | ||
21 | the debug messages. | ||
22 | |||
23 | debug_layer (component) | ||
24 | ----------------------- | ||
25 | |||
26 | The "debug_layer" is a mask that selects components of interest, e.g., a | ||
27 | specific driver or part of the ACPI interpreter. To build the debug_layer | ||
28 | bitmask, look for the "#define _COMPONENT" in an ACPI source file. | ||
29 | |||
30 | You can set the debug_layer mask at boot-time using the acpi.debug_layer | ||
31 | command line argument, and you can change it after boot by writing values | ||
32 | to /sys/module/acpi/parameters/debug_layer. | ||
33 | |||
34 | The possible components are defined in include/acpi/acoutput.h and | ||
35 | include/acpi/acpi_drivers.h. Reading /sys/module/acpi/parameters/debug_layer | ||
36 | shows the supported mask values, currently these: | ||
37 | |||
38 | ACPI_UTILITIES 0x00000001 | ||
39 | ACPI_HARDWARE 0x00000002 | ||
40 | ACPI_EVENTS 0x00000004 | ||
41 | ACPI_TABLES 0x00000008 | ||
42 | ACPI_NAMESPACE 0x00000010 | ||
43 | ACPI_PARSER 0x00000020 | ||
44 | ACPI_DISPATCHER 0x00000040 | ||
45 | ACPI_EXECUTER 0x00000080 | ||
46 | ACPI_RESOURCES 0x00000100 | ||
47 | ACPI_CA_DEBUGGER 0x00000200 | ||
48 | ACPI_OS_SERVICES 0x00000400 | ||
49 | ACPI_CA_DISASSEMBLER 0x00000800 | ||
50 | ACPI_COMPILER 0x00001000 | ||
51 | ACPI_TOOLS 0x00002000 | ||
52 | ACPI_BUS_COMPONENT 0x00010000 | ||
53 | ACPI_AC_COMPONENT 0x00020000 | ||
54 | ACPI_BATTERY_COMPONENT 0x00040000 | ||
55 | ACPI_BUTTON_COMPONENT 0x00080000 | ||
56 | ACPI_SBS_COMPONENT 0x00100000 | ||
57 | ACPI_FAN_COMPONENT 0x00200000 | ||
58 | ACPI_PCI_COMPONENT 0x00400000 | ||
59 | ACPI_POWER_COMPONENT 0x00800000 | ||
60 | ACPI_CONTAINER_COMPONENT 0x01000000 | ||
61 | ACPI_SYSTEM_COMPONENT 0x02000000 | ||
62 | ACPI_THERMAL_COMPONENT 0x04000000 | ||
63 | ACPI_MEMORY_DEVICE_COMPONENT 0x08000000 | ||
64 | ACPI_VIDEO_COMPONENT 0x10000000 | ||
65 | ACPI_PROCESSOR_COMPONENT 0x20000000 | ||
66 | |||
67 | debug_level | ||
68 | ----------- | ||
69 | |||
70 | The "debug_level" is a mask that selects different types of messages, e.g., | ||
71 | those related to initialization, method execution, informational messages, etc. | ||
72 | To build debug_level, look at the level specified in an ACPI_DEBUG_PRINT() | ||
73 | statement. | ||
74 | |||
75 | The ACPI interpreter uses several different levels, but the Linux | ||
76 | ACPI core and ACPI drivers generally only use ACPI_LV_INFO. | ||
77 | |||
78 | You can set the debug_level mask at boot-time using the acpi.debug_level | ||
79 | command line argument, and you can change it after boot by writing values | ||
80 | to /sys/module/acpi/parameters/debug_level. | ||
81 | |||
82 | The possible levels are defined in include/acpi/acoutput.h. Reading | ||
83 | /sys/module/acpi/parameters/debug_level shows the supported mask values, | ||
84 | currently these: | ||
85 | |||
86 | ACPI_LV_INIT 0x00000001 | ||
87 | ACPI_LV_DEBUG_OBJECT 0x00000002 | ||
88 | ACPI_LV_INFO 0x00000004 | ||
89 | ACPI_LV_INIT_NAMES 0x00000020 | ||
90 | ACPI_LV_PARSE 0x00000040 | ||
91 | ACPI_LV_LOAD 0x00000080 | ||
92 | ACPI_LV_DISPATCH 0x00000100 | ||
93 | ACPI_LV_EXEC 0x00000200 | ||
94 | ACPI_LV_NAMES 0x00000400 | ||
95 | ACPI_LV_OPREGION 0x00000800 | ||
96 | ACPI_LV_BFIELD 0x00001000 | ||
97 | ACPI_LV_TABLES 0x00002000 | ||
98 | ACPI_LV_VALUES 0x00004000 | ||
99 | ACPI_LV_OBJECTS 0x00008000 | ||
100 | ACPI_LV_RESOURCES 0x00010000 | ||
101 | ACPI_LV_USER_REQUESTS 0x00020000 | ||
102 | ACPI_LV_PACKAGE 0x00040000 | ||
103 | ACPI_LV_ALLOCATIONS 0x00100000 | ||
104 | ACPI_LV_FUNCTIONS 0x00200000 | ||
105 | ACPI_LV_OPTIMIZATIONS 0x00400000 | ||
106 | ACPI_LV_MUTEX 0x01000000 | ||
107 | ACPI_LV_THREADS 0x02000000 | ||
108 | ACPI_LV_IO 0x04000000 | ||
109 | ACPI_LV_INTERRUPTS 0x08000000 | ||
110 | ACPI_LV_AML_DISASSEMBLE 0x10000000 | ||
111 | ACPI_LV_VERBOSE_INFO 0x20000000 | ||
112 | ACPI_LV_FULL_TABLES 0x40000000 | ||
113 | ACPI_LV_EVENTS 0x80000000 | ||
114 | |||
115 | Examples | ||
116 | -------- | ||
117 | |||
118 | For example, drivers/acpi/bus.c contains this: | ||
119 | |||
120 | #define _COMPONENT ACPI_BUS_COMPONENT | ||
121 | ... | ||
122 | ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device insertion detected\n")); | ||
123 | |||
124 | To turn on this message, set the ACPI_BUS_COMPONENT bit in acpi.debug_layer | ||
125 | and the ACPI_LV_INFO bit in acpi.debug_level. (The ACPI_DEBUG_PRINT | ||
126 | statement uses ACPI_DB_INFO, which is macro based on the ACPI_LV_INFO | ||
127 | definition.) | ||
128 | |||
129 | Enable all AML "Debug" output (stores to the Debug object while interpreting | ||
130 | AML) during boot: | ||
131 | |||
132 | acpi.debug_layer=0xffffffff acpi.debug_level=0x2 | ||
133 | |||
134 | Enable PCI and PCI interrupt routing debug messages: | ||
135 | |||
136 | acpi.debug_layer=0x400000 acpi.debug_level=0x4 | ||
137 | |||
138 | Enable all ACPI hardware-related messages: | ||
139 | |||
140 | acpi.debug_layer=0x2 acpi.debug_level=0xffffffff | ||
141 | |||
142 | Enable all ACPI_DB_INFO messages after boot: | ||
143 | |||
144 | # echo 0x4 > /sys/module/acpi/parameters/debug_level | ||
145 | |||
146 | Show all valid component values: | ||
147 | |||
148 | # cat /sys/module/acpi/parameters/debug_layer | ||
diff --git a/Documentation/blockdev/00-INDEX b/Documentation/blockdev/00-INDEX new file mode 100644 index 000000000000..86f054c47013 --- /dev/null +++ b/Documentation/blockdev/00-INDEX | |||
@@ -0,0 +1,16 @@ | |||
1 | 00-INDEX | ||
2 | - this file | ||
3 | README.DAC960 | ||
4 | - info on Mylex DAC960/DAC1100 PCI RAID Controller Driver for Linux. | ||
5 | cciss.txt | ||
6 | - info, major/minor #'s for Compaq's SMART Array Controllers. | ||
7 | cpqarray.txt | ||
8 | - info on using Compaq's SMART2 Intelligent Disk Array Controllers. | ||
9 | floppy.txt | ||
10 | - notes and driver options for the floppy disk driver. | ||
11 | nbd.txt | ||
12 | - info on a TCP implementation of a network block device. | ||
13 | paride.txt | ||
14 | - information about the parallel port IDE subsystem. | ||
15 | ramdisk.txt | ||
16 | - short guide on how to set up and use the RAM disk. | ||
diff --git a/Documentation/README.DAC960 b/Documentation/blockdev/README.DAC960 index 0e8f618ab534..0e8f618ab534 100644 --- a/Documentation/README.DAC960 +++ b/Documentation/blockdev/README.DAC960 | |||
diff --git a/Documentation/cciss.txt b/Documentation/blockdev/cciss.txt index 89698e8df7d4..89698e8df7d4 100644 --- a/Documentation/cciss.txt +++ b/Documentation/blockdev/cciss.txt | |||
diff --git a/Documentation/cpqarray.txt b/Documentation/blockdev/cpqarray.txt index c7154e20ef5e..c7154e20ef5e 100644 --- a/Documentation/cpqarray.txt +++ b/Documentation/blockdev/cpqarray.txt | |||
diff --git a/Documentation/floppy.txt b/Documentation/blockdev/floppy.txt index 6ccab88705cb..6ccab88705cb 100644 --- a/Documentation/floppy.txt +++ b/Documentation/blockdev/floppy.txt | |||
diff --git a/Documentation/nbd.txt b/Documentation/blockdev/nbd.txt index aeb93ffe6416..aeb93ffe6416 100644 --- a/Documentation/nbd.txt +++ b/Documentation/blockdev/nbd.txt | |||
diff --git a/Documentation/paride.txt b/Documentation/blockdev/paride.txt index e4312676bdda..e4312676bdda 100644 --- a/Documentation/paride.txt +++ b/Documentation/blockdev/paride.txt | |||
diff --git a/Documentation/ramdisk.txt b/Documentation/blockdev/ramdisk.txt index 6c820baa19a6..6c820baa19a6 100644 --- a/Documentation/ramdisk.txt +++ b/Documentation/blockdev/ramdisk.txt | |||
diff --git a/Documentation/c2port.txt b/Documentation/c2port.txt new file mode 100644 index 000000000000..d9bf93ea4398 --- /dev/null +++ b/Documentation/c2port.txt | |||
@@ -0,0 +1,90 @@ | |||
1 | C2 port support | ||
2 | --------------- | ||
3 | |||
4 | (C) Copyright 2007 Rodolfo Giometti <giometti@enneenne.com> | ||
5 | |||
6 | This program is free software; you can redistribute it and/or modify | ||
7 | it under the terms of the GNU General Public License as published by | ||
8 | the Free Software Foundation; either version 2 of the License, or | ||
9 | (at your option) any later version. | ||
10 | |||
11 | This program is distributed in the hope that it will be useful, | ||
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | GNU General Public License for more details. | ||
15 | |||
16 | |||
17 | |||
18 | Overview | ||
19 | -------- | ||
20 | |||
21 | This driver implements the support for Linux of Silicon Labs (Silabs) | ||
22 | C2 Interface used for in-system programming of micro controllers. | ||
23 | |||
24 | By using this driver you can reprogram the in-system flash without EC2 | ||
25 | or EC3 debug adapter. This solution is also useful in those systems | ||
26 | where the micro controller is connected via special GPIOs pins. | ||
27 | |||
28 | References | ||
29 | ---------- | ||
30 | |||
31 | The C2 Interface main references are at (http://www.silabs.com) | ||
32 | Silicon Laboratories site], see: | ||
33 | |||
34 | - AN127: FLASH Programming via the C2 Interface at | ||
35 | http://www.silabs.com/public/documents/tpub_doc/anote/Microcontrollers/Small_Form_Factor/en/an127.pdf, and | ||
36 | |||
37 | - C2 Specification at | ||
38 | http://www.silabs.com/public/documents/tpub_doc/spec/Microcontrollers/en/C2spec.pdf, | ||
39 | |||
40 | however it implements a two wire serial communication protocol (bit | ||
41 | banging) designed to enable in-system programming, debugging, and | ||
42 | boundary-scan testing on low pin-count Silicon Labs devices. Currently | ||
43 | this code supports only flash programming but extensions are easy to | ||
44 | add. | ||
45 | |||
46 | Using the driver | ||
47 | ---------------- | ||
48 | |||
49 | Once the driver is loaded you can use sysfs support to get C2port's | ||
50 | info or read/write in-system flash. | ||
51 | |||
52 | # ls /sys/class/c2port/c2port0/ | ||
53 | access flash_block_size flash_erase rev_id | ||
54 | dev_id flash_blocks_num flash_size subsystem/ | ||
55 | flash_access flash_data reset uevent | ||
56 | |||
57 | Initially the C2port access is disabled since you hardware may have | ||
58 | such lines multiplexed with other devices so, to get access to the | ||
59 | C2port, you need the command: | ||
60 | |||
61 | # echo 1 > /sys/class/c2port/c2port0/access | ||
62 | |||
63 | after that you should read the device ID and revision ID of the | ||
64 | connected micro controller: | ||
65 | |||
66 | # cat /sys/class/c2port/c2port0/dev_id | ||
67 | 8 | ||
68 | # cat /sys/class/c2port/c2port0/rev_id | ||
69 | 1 | ||
70 | |||
71 | However, for security reasons, the in-system flash access in not | ||
72 | enabled yet, to do so you need the command: | ||
73 | |||
74 | # echo 1 > /sys/class/c2port/c2port0/flash_access | ||
75 | |||
76 | After that you can read the whole flash: | ||
77 | |||
78 | # cat /sys/class/c2port/c2port0/flash_data > image | ||
79 | |||
80 | erase it: | ||
81 | |||
82 | # echo 1 > /sys/class/c2port/c2port0/flash_erase | ||
83 | |||
84 | and write it: | ||
85 | |||
86 | # cat image > /sys/class/c2port/c2port0/flash_data | ||
87 | |||
88 | after writing you have to reset the device to execute the new code: | ||
89 | |||
90 | # echo 1 > /sys/class/c2port/c2port0/reset | ||
diff --git a/Documentation/cgroups/freezer-subsystem.txt b/Documentation/cgroups/freezer-subsystem.txt index c50ab58b72eb..41f37fea1276 100644 --- a/Documentation/cgroups/freezer-subsystem.txt +++ b/Documentation/cgroups/freezer-subsystem.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | The cgroup freezer is useful to batch job management system which start | 1 | The cgroup freezer is useful to batch job management system which start |
2 | and stop sets of tasks in order to schedule the resources of a machine | 2 | and stop sets of tasks in order to schedule the resources of a machine |
3 | according to the desires of a system administrator. This sort of program | 3 | according to the desires of a system administrator. This sort of program |
4 | is often used on HPC clusters to schedule access to the cluster as a | 4 | is often used on HPC clusters to schedule access to the cluster as a |
@@ -6,7 +6,7 @@ whole. The cgroup freezer uses cgroups to describe the set of tasks to | |||
6 | be started/stopped by the batch job management system. It also provides | 6 | be started/stopped by the batch job management system. It also provides |
7 | a means to start and stop the tasks composing the job. | 7 | a means to start and stop the tasks composing the job. |
8 | 8 | ||
9 | The cgroup freezer will also be useful for checkpointing running groups | 9 | The cgroup freezer will also be useful for checkpointing running groups |
10 | of tasks. The freezer allows the checkpoint code to obtain a consistent | 10 | of tasks. The freezer allows the checkpoint code to obtain a consistent |
11 | image of the tasks by attempting to force the tasks in a cgroup into a | 11 | image of the tasks by attempting to force the tasks in a cgroup into a |
12 | quiescent state. Once the tasks are quiescent another task can | 12 | quiescent state. Once the tasks are quiescent another task can |
@@ -16,7 +16,7 @@ recoverable error occur. This also allows the checkpointed tasks to be | |||
16 | migrated between nodes in a cluster by copying the gathered information | 16 | migrated between nodes in a cluster by copying the gathered information |
17 | to another node and restarting the tasks there. | 17 | to another node and restarting the tasks there. |
18 | 18 | ||
19 | Sequences of SIGSTOP and SIGCONT are not always sufficient for stopping | 19 | Sequences of SIGSTOP and SIGCONT are not always sufficient for stopping |
20 | and resuming tasks in userspace. Both of these signals are observable | 20 | and resuming tasks in userspace. Both of these signals are observable |
21 | from within the tasks we wish to freeze. While SIGSTOP cannot be caught, | 21 | from within the tasks we wish to freeze. While SIGSTOP cannot be caught, |
22 | blocked, or ignored it can be seen by waiting or ptracing parent tasks. | 22 | blocked, or ignored it can be seen by waiting or ptracing parent tasks. |
@@ -37,26 +37,29 @@ demonstrate this problem using nested bash shells: | |||
37 | 37 | ||
38 | <at this point 16990 exits and causes 16644 to exit too> | 38 | <at this point 16990 exits and causes 16644 to exit too> |
39 | 39 | ||
40 | This happens because bash can observe both signals and choose how it | 40 | This happens because bash can observe both signals and choose how it |
41 | responds to them. | 41 | responds to them. |
42 | 42 | ||
43 | Another example of a program which catches and responds to these | 43 | Another example of a program which catches and responds to these |
44 | signals is gdb. In fact any program designed to use ptrace is likely to | 44 | signals is gdb. In fact any program designed to use ptrace is likely to |
45 | have a problem with this method of stopping and resuming tasks. | 45 | have a problem with this method of stopping and resuming tasks. |
46 | 46 | ||
47 | In contrast, the cgroup freezer uses the kernel freezer code to | 47 | In contrast, the cgroup freezer uses the kernel freezer code to |
48 | prevent the freeze/unfreeze cycle from becoming visible to the tasks | 48 | prevent the freeze/unfreeze cycle from becoming visible to the tasks |
49 | being frozen. This allows the bash example above and gdb to run as | 49 | being frozen. This allows the bash example above and gdb to run as |
50 | expected. | 50 | expected. |
51 | 51 | ||
52 | The freezer subsystem in the container filesystem defines a file named | 52 | The freezer subsystem in the container filesystem defines a file named |
53 | freezer.state. Writing "FROZEN" to the state file will freeze all tasks in the | 53 | freezer.state. Writing "FROZEN" to the state file will freeze all tasks in the |
54 | cgroup. Subsequently writing "THAWED" will unfreeze the tasks in the cgroup. | 54 | cgroup. Subsequently writing "THAWED" will unfreeze the tasks in the cgroup. |
55 | Reading will return the current state. | 55 | Reading will return the current state. |
56 | 56 | ||
57 | Note freezer.state doesn't exist in root cgroup, which means root cgroup | ||
58 | is non-freezable. | ||
59 | |||
57 | * Examples of usage : | 60 | * Examples of usage : |
58 | 61 | ||
59 | # mkdir /containers/freezer | 62 | # mkdir /containers |
60 | # mount -t cgroup -ofreezer freezer /containers | 63 | # mount -t cgroup -ofreezer freezer /containers |
61 | # mkdir /containers/0 | 64 | # mkdir /containers/0 |
62 | # echo $some_pid > /containers/0/tasks | 65 | # echo $some_pid > /containers/0/tasks |
@@ -94,6 +97,6 @@ things happens: | |||
94 | the freezer.state file | 97 | the freezer.state file |
95 | 2) Userspace retries the freezing operation by writing "FROZEN" to | 98 | 2) Userspace retries the freezing operation by writing "FROZEN" to |
96 | the freezer.state file (writing "FREEZING" is not legal | 99 | the freezer.state file (writing "FREEZING" is not legal |
97 | and returns EIO) | 100 | and returns EINVAL) |
98 | 3) The tasks that blocked the cgroup from entering the "FROZEN" | 101 | 3) The tasks that blocked the cgroup from entering the "FROZEN" |
99 | state disappear from the cgroup's set of tasks. | 102 | state disappear from the cgroup's set of tasks. |
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index 05d71b4b9430..c28a2ac88f9d 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -56,30 +56,6 @@ Who: Mauro Carvalho Chehab <mchehab@infradead.org> | |||
56 | 56 | ||
57 | --------------------------- | 57 | --------------------------- |
58 | 58 | ||
59 | What: old tuner-3036 i2c driver | ||
60 | When: 2.6.28 | ||
61 | Why: This driver is for VERY old i2c-over-parallel port teletext receiver | ||
62 | boxes. Rather then spending effort on converting this driver to V4L2, | ||
63 | and since it is extremely unlikely that anyone still uses one of these | ||
64 | devices, it was decided to drop it. | ||
65 | Who: Hans Verkuil <hverkuil@xs4all.nl> | ||
66 | Mauro Carvalho Chehab <mchehab@infradead.org> | ||
67 | |||
68 | --------------------------- | ||
69 | |||
70 | What: V4L2 dpc7146 driver | ||
71 | When: 2.6.28 | ||
72 | Why: Old driver for the dpc7146 demonstration board that is no longer | ||
73 | relevant. The last time this was tested on actual hardware was | ||
74 | probably around 2002. Since this is a driver for a demonstration | ||
75 | board the decision was made to remove it rather than spending a | ||
76 | lot of effort continually updating this driver to stay in sync | ||
77 | with the latest internal V4L2 or I2C API. | ||
78 | Who: Hans Verkuil <hverkuil@xs4all.nl> | ||
79 | Mauro Carvalho Chehab <mchehab@infradead.org> | ||
80 | |||
81 | --------------------------- | ||
82 | |||
83 | What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl]) | 59 | What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl]) |
84 | When: November 2005 | 60 | When: November 2005 |
85 | Files: drivers/pcmcia/: pcmcia_ioctl.c | 61 | Files: drivers/pcmcia/: pcmcia_ioctl.c |
diff --git a/Documentation/filesystems/xip.txt b/Documentation/filesystems/xip.txt index 3cc4010521a0..0466ee569278 100644 --- a/Documentation/filesystems/xip.txt +++ b/Documentation/filesystems/xip.txt | |||
@@ -39,10 +39,11 @@ The block device operation is optional, these block devices support it as of | |||
39 | today: | 39 | today: |
40 | - dcssblk: s390 dcss block device driver | 40 | - dcssblk: s390 dcss block device driver |
41 | 41 | ||
42 | An address space operation named get_xip_page is used to retrieve reference | 42 | An address space operation named get_xip_mem is used to retrieve references |
43 | to a struct page. To address the target page, a reference to an address_space, | 43 | to a page frame number and a kernel address. To obtain these values a reference |
44 | and a sector number is provided. A 3rd argument indicates whether the | 44 | to an address_space is provided. This function assigns values to the kmem and |
45 | function should allocate blocks if needed. | 45 | pfn parameters. The third argument indicates whether the function should allocate |
46 | blocks if needed. | ||
46 | 47 | ||
47 | This address space operation is mutually exclusive with readpage&writepage that | 48 | This address space operation is mutually exclusive with readpage&writepage that |
48 | do page cache read/write operations. | 49 | do page cache read/write operations. |
diff --git a/Documentation/ftrace.txt b/Documentation/ftrace.txt index ea5a827395dd..9cc4d685dde5 100644 --- a/Documentation/ftrace.txt +++ b/Documentation/ftrace.txt | |||
@@ -8,7 +8,7 @@ Copyright 2008 Red Hat Inc. | |||
8 | Reviewers: Elias Oltmanns, Randy Dunlap, Andrew Morton, | 8 | Reviewers: Elias Oltmanns, Randy Dunlap, Andrew Morton, |
9 | John Kacur, and David Teigland. | 9 | John Kacur, and David Teigland. |
10 | 10 | ||
11 | Written for: 2.6.27-rc1 | 11 | Written for: 2.6.28-rc2 |
12 | 12 | ||
13 | Introduction | 13 | Introduction |
14 | ------------ | 14 | ------------ |
@@ -50,26 +50,26 @@ of ftrace. Here is a list of some of the key files: | |||
50 | 50 | ||
51 | Note: all time values are in microseconds. | 51 | Note: all time values are in microseconds. |
52 | 52 | ||
53 | current_tracer : This is used to set or display the current tracer | 53 | current_tracer: This is used to set or display the current tracer |
54 | that is configured. | 54 | that is configured. |
55 | 55 | ||
56 | available_tracers : This holds the different types of tracers that | 56 | available_tracers: This holds the different types of tracers that |
57 | have been compiled into the kernel. The tracers | 57 | have been compiled into the kernel. The tracers |
58 | listed here can be configured by echoing their name | 58 | listed here can be configured by echoing their name |
59 | into current_tracer. | 59 | into current_tracer. |
60 | 60 | ||
61 | tracing_enabled : This sets or displays whether the current_tracer | 61 | tracing_enabled: This sets or displays whether the current_tracer |
62 | is activated and tracing or not. Echo 0 into this | 62 | is activated and tracing or not. Echo 0 into this |
63 | file to disable the tracer or 1 to enable it. | 63 | file to disable the tracer or 1 to enable it. |
64 | 64 | ||
65 | trace : This file holds the output of the trace in a human readable | 65 | trace: This file holds the output of the trace in a human readable |
66 | format (described below). | 66 | format (described below). |
67 | 67 | ||
68 | latency_trace : This file shows the same trace but the information | 68 | latency_trace: This file shows the same trace but the information |
69 | is organized more to display possible latencies | 69 | is organized more to display possible latencies |
70 | in the system (described below). | 70 | in the system (described below). |
71 | 71 | ||
72 | trace_pipe : The output is the same as the "trace" file but this | 72 | trace_pipe: The output is the same as the "trace" file but this |
73 | file is meant to be streamed with live tracing. | 73 | file is meant to be streamed with live tracing. |
74 | Reads from this file will block until new data | 74 | Reads from this file will block until new data |
75 | is retrieved. Unlike the "trace" and "latency_trace" | 75 | is retrieved. Unlike the "trace" and "latency_trace" |
@@ -82,11 +82,11 @@ of ftrace. Here is a list of some of the key files: | |||
82 | tracer is not adding more data, they will display | 82 | tracer is not adding more data, they will display |
83 | the same information every time they are read. | 83 | the same information every time they are read. |
84 | 84 | ||
85 | iter_ctrl : This file lets the user control the amount of data | 85 | iter_ctrl: This file lets the user control the amount of data |
86 | that is displayed in one of the above output | 86 | that is displayed in one of the above output |
87 | files. | 87 | files. |
88 | 88 | ||
89 | trace_max_latency : Some of the tracers record the max latency. | 89 | trace_max_latency: Some of the tracers record the max latency. |
90 | For example, the time interrupts are disabled. | 90 | For example, the time interrupts are disabled. |
91 | This time is saved in this file. The max trace | 91 | This time is saved in this file. The max trace |
92 | will also be stored, and displayed by either | 92 | will also be stored, and displayed by either |
@@ -94,29 +94,26 @@ of ftrace. Here is a list of some of the key files: | |||
94 | only be recorded if the latency is greater than | 94 | only be recorded if the latency is greater than |
95 | the value in this file. (in microseconds) | 95 | the value in this file. (in microseconds) |
96 | 96 | ||
97 | trace_entries : This sets or displays the number of trace | 97 | trace_entries: This sets or displays the number of bytes each CPU |
98 | entries each CPU buffer can hold. The tracer buffers | 98 | buffer can hold. The tracer buffers are the same size |
99 | are the same size for each CPU. The displayed number | 99 | for each CPU. The displayed number is the size of the |
100 | is the size of the CPU buffer and not total size. The | 100 | CPU buffer and not total size of all buffers. The |
101 | trace buffers are allocated in pages (blocks of memory | 101 | trace buffers are allocated in pages (blocks of memory |
102 | that the kernel uses for allocation, usually 4 KB in size). | 102 | that the kernel uses for allocation, usually 4 KB in size). |
103 | Since each entry is smaller than a page, if the last | 103 | If the last page allocated has room for more bytes |
104 | allocated page has room for more entries than were | 104 | than requested, the rest of the page will be used, |
105 | requested, the rest of the page is used to allocate | 105 | making the actual allocation bigger than requested. |
106 | entries. | 106 | (Note, the size may not be a multiple of the page size due |
107 | to buffer managment overhead.) | ||
107 | 108 | ||
108 | This can only be updated when the current_tracer | 109 | This can only be updated when the current_tracer |
109 | is set to "none". | 110 | is set to "nop". |
110 | 111 | ||
111 | NOTE: It is planned on changing the allocated buffers | 112 | tracing_cpumask: This is a mask that lets the user only trace |
112 | from being the number of possible CPUS to | ||
113 | the number of online CPUS. | ||
114 | |||
115 | tracing_cpumask : This is a mask that lets the user only trace | ||
116 | on specified CPUS. The format is a hex string | 113 | on specified CPUS. The format is a hex string |
117 | representing the CPUS. | 114 | representing the CPUS. |
118 | 115 | ||
119 | set_ftrace_filter : When dynamic ftrace is configured in (see the | 116 | set_ftrace_filter: When dynamic ftrace is configured in (see the |
120 | section below "dynamic ftrace"), the code is dynamically | 117 | section below "dynamic ftrace"), the code is dynamically |
121 | modified (code text rewrite) to disable calling of the | 118 | modified (code text rewrite) to disable calling of the |
122 | function profiler (mcount). This lets tracing be configured | 119 | function profiler (mcount). This lets tracing be configured |
@@ -130,14 +127,11 @@ of ftrace. Here is a list of some of the key files: | |||
130 | be traced. If a function exists in both set_ftrace_filter | 127 | be traced. If a function exists in both set_ftrace_filter |
131 | and set_ftrace_notrace, the function will _not_ be traced. | 128 | and set_ftrace_notrace, the function will _not_ be traced. |
132 | 129 | ||
133 | available_filter_functions : When a function is encountered the first | 130 | available_filter_functions: This lists the functions that ftrace |
134 | time by the dynamic tracer, it is recorded and | 131 | has processed and can trace. These are the function |
135 | later the call is converted into a nop. This file | 132 | names that you can pass to "set_ftrace_filter" or |
136 | lists the functions that have been recorded | 133 | "set_ftrace_notrace". (See the section "dynamic ftrace" |
137 | by the dynamic tracer and these functions can | 134 | below for more details.) |
138 | be used to set the ftrace filter by the above | ||
139 | "set_ftrace_filter" file. (See the section "dynamic ftrace" | ||
140 | below for more details). | ||
141 | 135 | ||
142 | 136 | ||
143 | The Tracers | 137 | The Tracers |
@@ -145,7 +139,7 @@ The Tracers | |||
145 | 139 | ||
146 | Here is the list of current tracers that may be configured. | 140 | Here is the list of current tracers that may be configured. |
147 | 141 | ||
148 | ftrace - function tracer that uses mcount to trace all functions. | 142 | function - function tracer that uses mcount to trace all functions. |
149 | 143 | ||
150 | sched_switch - traces the context switches between tasks. | 144 | sched_switch - traces the context switches between tasks. |
151 | 145 | ||
@@ -166,8 +160,8 @@ Here is the list of current tracers that may be configured. | |||
166 | the highest priority task to get scheduled after | 160 | the highest priority task to get scheduled after |
167 | it has been woken up. | 161 | it has been woken up. |
168 | 162 | ||
169 | none - This is not a tracer. To remove all tracers from tracing | 163 | nop - This is not a tracer. To remove all tracers from tracing |
170 | simply echo "none" into current_tracer. | 164 | simply echo "nop" into current_tracer. |
171 | 165 | ||
172 | 166 | ||
173 | Examples of using the tracer | 167 | Examples of using the tracer |
@@ -182,7 +176,7 @@ Output format: | |||
182 | Here is an example of the output format of the file "trace" | 176 | Here is an example of the output format of the file "trace" |
183 | 177 | ||
184 | -------- | 178 | -------- |
185 | # tracer: ftrace | 179 | # tracer: function |
186 | # | 180 | # |
187 | # TASK-PID CPU# TIMESTAMP FUNCTION | 181 | # TASK-PID CPU# TIMESTAMP FUNCTION |
188 | # | | | | | | 182 | # | | | | | |
@@ -192,7 +186,7 @@ Here is an example of the output format of the file "trace" | |||
192 | -------- | 186 | -------- |
193 | 187 | ||
194 | A header is printed with the tracer name that is represented by the trace. | 188 | A header is printed with the tracer name that is represented by the trace. |
195 | In this case the tracer is "ftrace". Then a header showing the format. Task | 189 | In this case the tracer is "function". Then a header showing the format. Task |
196 | name "bash", the task PID "4251", the CPU that it was running on | 190 | name "bash", the task PID "4251", the CPU that it was running on |
197 | "01", the timestamp in <secs>.<usecs> format, the function name that was | 191 | "01", the timestamp in <secs>.<usecs> format, the function name that was |
198 | traced "path_put" and the parent function that called this function | 192 | traced "path_put" and the parent function that called this function |
@@ -1003,22 +997,20 @@ is the stack for the hard interrupt. This hides the fact that NEED_RESCHED | |||
1003 | has been set. We do not see the 'N' until we switch back to the task's | 997 | has been set. We do not see the 'N' until we switch back to the task's |
1004 | assigned stack. | 998 | assigned stack. |
1005 | 999 | ||
1006 | ftrace | 1000 | function |
1007 | ------ | 1001 | -------- |
1008 | 1002 | ||
1009 | ftrace is not only the name of the tracing infrastructure, but it | 1003 | This tracer is the function tracer. Enabling the function tracer |
1010 | is also a name of one of the tracers. The tracer is the function | 1004 | can be done from the debug file system. Make sure the ftrace_enabled is |
1011 | tracer. Enabling the function tracer can be done from the | 1005 | set; otherwise this tracer is a nop. |
1012 | debug file system. Make sure the ftrace_enabled is set otherwise | ||
1013 | this tracer is a nop. | ||
1014 | 1006 | ||
1015 | # sysctl kernel.ftrace_enabled=1 | 1007 | # sysctl kernel.ftrace_enabled=1 |
1016 | # echo ftrace > /debug/tracing/current_tracer | 1008 | # echo function > /debug/tracing/current_tracer |
1017 | # echo 1 > /debug/tracing/tracing_enabled | 1009 | # echo 1 > /debug/tracing/tracing_enabled |
1018 | # usleep 1 | 1010 | # usleep 1 |
1019 | # echo 0 > /debug/tracing/tracing_enabled | 1011 | # echo 0 > /debug/tracing/tracing_enabled |
1020 | # cat /debug/tracing/trace | 1012 | # cat /debug/tracing/trace |
1021 | # tracer: ftrace | 1013 | # tracer: function |
1022 | # | 1014 | # |
1023 | # TASK-PID CPU# TIMESTAMP FUNCTION | 1015 | # TASK-PID CPU# TIMESTAMP FUNCTION |
1024 | # | | | | | | 1016 | # | | | | | |
@@ -1040,10 +1032,10 @@ this tracer is a nop. | |||
1040 | [...] | 1032 | [...] |
1041 | 1033 | ||
1042 | 1034 | ||
1043 | Note: ftrace uses ring buffers to store the above entries. The newest data | 1035 | Note: function tracer uses ring buffers to store the above entries. |
1044 | may overwrite the oldest data. Sometimes using echo to stop the trace | 1036 | The newest data may overwrite the oldest data. Sometimes using echo to |
1045 | is not sufficient because the tracing could have overwritten the data | 1037 | stop the trace is not sufficient because the tracing could have overwritten |
1046 | that you wanted to record. For this reason, it is sometimes better to | 1038 | the data that you wanted to record. For this reason, it is sometimes better to |
1047 | disable tracing directly from a program. This allows you to stop the | 1039 | disable tracing directly from a program. This allows you to stop the |
1048 | tracing at the point that you hit the part that you are interested in. | 1040 | tracing at the point that you hit the part that you are interested in. |
1049 | To disable the tracing directly from a C program, something like following | 1041 | To disable the tracing directly from a C program, something like following |
@@ -1077,18 +1069,31 @@ every kernel function, produced by the -pg switch in gcc), starts | |||
1077 | of pointing to a simple return. (Enabling FTRACE will include the | 1069 | of pointing to a simple return. (Enabling FTRACE will include the |
1078 | -pg switch in the compiling of the kernel.) | 1070 | -pg switch in the compiling of the kernel.) |
1079 | 1071 | ||
1080 | When dynamic ftrace is initialized, it calls kstop_machine to make | 1072 | At compile time every C file object is run through the |
1081 | the machine act like a uniprocessor so that it can freely modify code | 1073 | recordmcount.pl script (located in the scripts directory). This |
1082 | without worrying about other processors executing that same code. At | 1074 | script will process the C object using objdump to find all the |
1083 | initialization, the mcount calls are changed to call a "record_ip" | 1075 | locations in the .text section that call mcount. (Note, only |
1084 | function. After this, the first time a kernel function is called, | 1076 | the .text section is processed, since processing other sections |
1085 | it has the calling address saved in a hash table. | 1077 | like .init.text may cause races due to those sections being freed). |
1086 | 1078 | ||
1087 | Later on the ftraced kernel thread is awoken and will again call | 1079 | A new section called "__mcount_loc" is created that holds references |
1088 | kstop_machine if new functions have been recorded. The ftraced thread | 1080 | to all the mcount call sites in the .text section. This section is |
1089 | will change all calls to mcount to "nop". Just calling mcount | 1081 | compiled back into the original object. The final linker will add |
1090 | and having mcount return has shown a 10% overhead. By converting | 1082 | all these references into a single table. |
1091 | it to a nop, there is no measurable overhead to the system. | 1083 | |
1084 | On boot up, before SMP is initialized, the dynamic ftrace code | ||
1085 | scans this table and updates all the locations into nops. It also | ||
1086 | records the locations, which are added to the available_filter_functions | ||
1087 | list. Modules are processed as they are loaded and before they are | ||
1088 | executed. When a module is unloaded, it also removes its functions from | ||
1089 | the ftrace function list. This is automatic in the module unload | ||
1090 | code, and the module author does not need to worry about it. | ||
1091 | |||
1092 | When tracing is enabled, kstop_machine is called to prevent races | ||
1093 | with the CPUS executing code being modified (which can cause the | ||
1094 | CPU to do undesireable things), and the nops are patched back | ||
1095 | to calls. But this time, they do not call mcount (which is just | ||
1096 | a function stub). They now call into the ftrace infrastructure. | ||
1092 | 1097 | ||
1093 | One special side-effect to the recording of the functions being | 1098 | One special side-effect to the recording of the functions being |
1094 | traced is that we can now selectively choose which functions we | 1099 | traced is that we can now selectively choose which functions we |
@@ -1251,36 +1256,6 @@ Produces: | |||
1251 | 1256 | ||
1252 | We can see that there's no more lock or preempt tracing. | 1257 | We can see that there's no more lock or preempt tracing. |
1253 | 1258 | ||
1254 | ftraced | ||
1255 | ------- | ||
1256 | |||
1257 | As mentioned above, when dynamic ftrace is configured in, a kernel | ||
1258 | thread wakes up once a second and checks to see if there are mcount | ||
1259 | calls that need to be converted into nops. If there are not any, then | ||
1260 | it simply goes back to sleep. But if there are some, it will call | ||
1261 | kstop_machine to convert the calls to nops. | ||
1262 | |||
1263 | There may be a case in which you do not want this added latency. | ||
1264 | Perhaps you are doing some audio recording and this activity might | ||
1265 | cause skips in the playback. There is an interface to disable | ||
1266 | and enable the "ftraced" kernel thread. | ||
1267 | |||
1268 | # echo 0 > /debug/tracing/ftraced_enabled | ||
1269 | |||
1270 | This will disable the calling of kstop_machine to update the | ||
1271 | mcount calls to nops. Remember that there is a large overhead | ||
1272 | to calling mcount. Without this kernel thread, that overhead will | ||
1273 | exist. | ||
1274 | |||
1275 | If there are recorded calls to mcount, any write to the ftraced_enabled | ||
1276 | file will cause the kstop_machine to run. This means that a | ||
1277 | user can manually perform the updates when they want to by simply | ||
1278 | echoing a '0' into the ftraced_enabled file. | ||
1279 | |||
1280 | The updates are also done at the beginning of enabling a tracer | ||
1281 | that uses ftrace function recording. | ||
1282 | |||
1283 | |||
1284 | trace_pipe | 1259 | trace_pipe |
1285 | ---------- | 1260 | ---------- |
1286 | 1261 | ||
@@ -1289,14 +1264,14 @@ on the tracing is different. Every read from trace_pipe is consumed. | |||
1289 | This means that subsequent reads will be different. The trace | 1264 | This means that subsequent reads will be different. The trace |
1290 | is live. | 1265 | is live. |
1291 | 1266 | ||
1292 | # echo ftrace > /debug/tracing/current_tracer | 1267 | # echo function > /debug/tracing/current_tracer |
1293 | # cat /debug/tracing/trace_pipe > /tmp/trace.out & | 1268 | # cat /debug/tracing/trace_pipe > /tmp/trace.out & |
1294 | [1] 4153 | 1269 | [1] 4153 |
1295 | # echo 1 > /debug/tracing/tracing_enabled | 1270 | # echo 1 > /debug/tracing/tracing_enabled |
1296 | # usleep 1 | 1271 | # usleep 1 |
1297 | # echo 0 > /debug/tracing/tracing_enabled | 1272 | # echo 0 > /debug/tracing/tracing_enabled |
1298 | # cat /debug/tracing/trace | 1273 | # cat /debug/tracing/trace |
1299 | # tracer: ftrace | 1274 | # tracer: function |
1300 | # | 1275 | # |
1301 | # TASK-PID CPU# TIMESTAMP FUNCTION | 1276 | # TASK-PID CPU# TIMESTAMP FUNCTION |
1302 | # | | | | | | 1277 | # | | | | | |
@@ -1317,7 +1292,7 @@ is live. | |||
1317 | 1292 | ||
1318 | Note, reading the trace_pipe file will block until more input is added. | 1293 | Note, reading the trace_pipe file will block until more input is added. |
1319 | By changing the tracer, trace_pipe will issue an EOF. We needed | 1294 | By changing the tracer, trace_pipe will issue an EOF. We needed |
1320 | to set the ftrace tracer _before_ cating the trace_pipe file. | 1295 | to set the function tracer _before_ we "cat" the trace_pipe file. |
1321 | 1296 | ||
1322 | 1297 | ||
1323 | trace entries | 1298 | trace entries |
@@ -1334,10 +1309,10 @@ number of entries. | |||
1334 | 65620 | 1309 | 65620 |
1335 | 1310 | ||
1336 | Note, to modify this, you must have tracing completely disabled. To do that, | 1311 | Note, to modify this, you must have tracing completely disabled. To do that, |
1337 | echo "none" into the current_tracer. If the current_tracer is not set | 1312 | echo "nop" into the current_tracer. If the current_tracer is not set |
1338 | to "none", an EINVAL error will be returned. | 1313 | to "nop", an EINVAL error will be returned. |
1339 | 1314 | ||
1340 | # echo none > /debug/tracing/current_tracer | 1315 | # echo nop > /debug/tracing/current_tracer |
1341 | # echo 100000 > /debug/tracing/trace_entries | 1316 | # echo 100000 > /debug/tracing/trace_entries |
1342 | # cat /debug/tracing/trace_entries | 1317 | # cat /debug/tracing/trace_entries |
1343 | 100045 | 1318 | 100045 |
diff --git a/Documentation/hwmon/adt7462 b/Documentation/hwmon/adt7462 new file mode 100644 index 000000000000..ec660b328275 --- /dev/null +++ b/Documentation/hwmon/adt7462 | |||
@@ -0,0 +1,67 @@ | |||
1 | Kernel driver adt7462 | ||
2 | ====================== | ||
3 | |||
4 | Supported chips: | ||
5 | * Analog Devices ADT7462 | ||
6 | Prefix: 'adt7462' | ||
7 | Addresses scanned: I2C 0x58, 0x5C | ||
8 | Datasheet: Publicly available at the Analog Devices website | ||
9 | |||
10 | Author: Darrick J. Wong | ||
11 | |||
12 | Description | ||
13 | ----------- | ||
14 | |||
15 | This driver implements support for the Analog Devices ADT7462 chip family. | ||
16 | |||
17 | This chip is a bit of a beast. It has 8 counters for measuring fan speed. It | ||
18 | can also measure 13 voltages or 4 temperatures, or various combinations of the | ||
19 | two. See the chip documentation for more details about the exact set of | ||
20 | configurations. This driver does not allow one to configure the chip; that is | ||
21 | left to the system designer. | ||
22 | |||
23 | A sophisticated control system for the PWM outputs is designed into the ADT7462 | ||
24 | that allows fan speed to be adjusted automatically based on any of the three | ||
25 | temperature sensors. Each PWM output is individually adjustable and | ||
26 | programmable. Once configured, the ADT7462 will adjust the PWM outputs in | ||
27 | response to the measured temperatures without further host intervention. This | ||
28 | feature can also be disabled for manual control of the PWM's. | ||
29 | |||
30 | Each of the measured inputs (voltage, temperature, fan speed) has | ||
31 | corresponding high/low limit values. The ADT7462 will signal an ALARM if | ||
32 | any measured value exceeds either limit. | ||
33 | |||
34 | The ADT7462 samples all inputs continuously. The driver will not read | ||
35 | the registers more often than once every other second. Further, | ||
36 | configuration data is only read once per minute. | ||
37 | |||
38 | Special Features | ||
39 | ---------------- | ||
40 | |||
41 | The ADT7462 have a 10-bit ADC and can therefore measure temperatures | ||
42 | with 0.25 degC resolution. | ||
43 | |||
44 | The Analog Devices datasheet is very detailed and describes a procedure for | ||
45 | determining an optimal configuration for the automatic PWM control. | ||
46 | |||
47 | The driver will report sensor labels when it is able to determine that | ||
48 | information from the configuration registers. | ||
49 | |||
50 | Configuration Notes | ||
51 | ------------------- | ||
52 | |||
53 | Besides standard interfaces driver adds the following: | ||
54 | |||
55 | * PWM Control | ||
56 | |||
57 | * pwm#_auto_point1_pwm and temp#_auto_point1_temp and | ||
58 | * pwm#_auto_point2_pwm and temp#_auto_point2_temp - | ||
59 | |||
60 | point1: Set the pwm speed at a lower temperature bound. | ||
61 | point2: Set the pwm speed at a higher temperature bound. | ||
62 | |||
63 | The ADT7462 will scale the pwm between the lower and higher pwm speed when | ||
64 | the temperature is between the two temperature boundaries. PWM values range | ||
65 | from 0 (off) to 255 (full speed). Fan speed will be set to maximum when the | ||
66 | temperature sensor associated with the PWM control exceeds temp#_max. | ||
67 | |||
diff --git a/Documentation/hwmon/lis3lv02d b/Documentation/hwmon/lis3lv02d new file mode 100644 index 000000000000..65dfb0c0fd67 --- /dev/null +++ b/Documentation/hwmon/lis3lv02d | |||
@@ -0,0 +1,49 @@ | |||
1 | Kernel driver lis3lv02d | ||
2 | ================== | ||
3 | |||
4 | Supported chips: | ||
5 | |||
6 | * STMicroelectronics LIS3LV02DL and LIS3LV02DQ | ||
7 | |||
8 | Author: | ||
9 | Yan Burman <burman.yan@gmail.com> | ||
10 | Eric Piel <eric.piel@tremplin-utc.net> | ||
11 | |||
12 | |||
13 | Description | ||
14 | ----------- | ||
15 | |||
16 | This driver provides support for the accelerometer found in various HP laptops | ||
17 | sporting the feature officially called "HP Mobile Data Protection System 3D" or | ||
18 | "HP 3D DriveGuard". It detect automatically laptops with this sensor. Known models | ||
19 | (for now the HP 2133, nc6420, nc2510, nc8510, nc84x0, nw9440 and nx9420) will | ||
20 | have their axis automatically oriented on standard way (eg: you can directly | ||
21 | play neverball). The accelerometer data is readable via | ||
22 | /sys/devices/platform/lis3lv02d. | ||
23 | |||
24 | Sysfs attributes under /sys/devices/platform/lis3lv02d/: | ||
25 | position - 3D position that the accelerometer reports. Format: "(x,y,z)" | ||
26 | calibrate - read: values (x, y, z) that are used as the base for input class device operation. | ||
27 | write: forces the base to be recalibrated with the current position. | ||
28 | rate - reports the sampling rate of the accelerometer device in HZ | ||
29 | |||
30 | This driver also provides an absolute input class device, allowing | ||
31 | the laptop to act as a pinball machine-esque joystick. | ||
32 | |||
33 | Axes orientation | ||
34 | ---------------- | ||
35 | |||
36 | For better compatibility between the various laptops. The values reported by | ||
37 | the accelerometer are converted into a "standard" organisation of the axes | ||
38 | (aka "can play neverball out of the box"): | ||
39 | * When the laptop is horizontal the position reported is about 0 for X and Y | ||
40 | and a positive value for Z | ||
41 | * If the left side is elevated, X increases (becomes positive) | ||
42 | * If the front side (where the touchpad is) is elevated, Y decreases (becomes negative) | ||
43 | * If the laptop is put upside-down, Z becomes negative | ||
44 | |||
45 | If your laptop model is not recognized (cf "dmesg"), you can send an email to the | ||
46 | authors to add it to the database. When reporting a new laptop, please include | ||
47 | the output of "dmidecode" plus the value of /sys/devices/platform/lis3lv02d/position | ||
48 | in these four cases. | ||
49 | |||
diff --git a/Documentation/ics932s401 b/Documentation/ics932s401 new file mode 100644 index 000000000000..07a739f406d8 --- /dev/null +++ b/Documentation/ics932s401 | |||
@@ -0,0 +1,31 @@ | |||
1 | Kernel driver ics932s401 | ||
2 | ====================== | ||
3 | |||
4 | Supported chips: | ||
5 | * IDT ICS932S401 | ||
6 | Prefix: 'ics932s401' | ||
7 | Addresses scanned: I2C 0x69 | ||
8 | Datasheet: Publically available at the IDT website | ||
9 | |||
10 | Author: Darrick J. Wong | ||
11 | |||
12 | Description | ||
13 | ----------- | ||
14 | |||
15 | This driver implements support for the IDT ICS932S401 chip family. | ||
16 | |||
17 | This chip has 4 clock outputs--a base clock for the CPU (which is likely | ||
18 | multiplied to get the real CPU clock), a system clock, a PCI clock, a USB | ||
19 | clock, and a reference clock. The driver reports selected and actual | ||
20 | frequency. If spread spectrum mode is enabled, the driver also reports by what | ||
21 | percent the clock signal is being spread, which should be between 0 and -0.5%. | ||
22 | All frequencies are reported in KHz. | ||
23 | |||
24 | The ICS932S401 monitors all inputs continuously. The driver will not read | ||
25 | the registers more often than once every other second. | ||
26 | |||
27 | Special Features | ||
28 | ---------------- | ||
29 | |||
30 | The clocks could be reprogrammed to increase system speed. I will not help you | ||
31 | do this, as you risk damaging your system! | ||
diff --git a/Documentation/ioctl/00-INDEX b/Documentation/ioctl/00-INDEX new file mode 100644 index 000000000000..d2fe4d4729ef --- /dev/null +++ b/Documentation/ioctl/00-INDEX | |||
@@ -0,0 +1,10 @@ | |||
1 | 00-INDEX | ||
2 | - this file | ||
3 | cdrom.txt | ||
4 | - summary of CDROM ioctl calls | ||
5 | hdio.txt | ||
6 | - summary of HDIO_ ioctl calls | ||
7 | ioctl-decoding.txt | ||
8 | - how to decode the bits of an IOCTL code | ||
9 | ioctl-number.txt | ||
10 | - how to implement and register device/driver ioctl calls | ||
diff --git a/Documentation/ioctl-number.txt b/Documentation/ioctl/ioctl-number.txt index b880ce5dbd33..b880ce5dbd33 100644 --- a/Documentation/ioctl-number.txt +++ b/Documentation/ioctl/ioctl-number.txt | |||
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index c86c07459712..9fa6508892c2 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -198,59 +198,42 @@ and is between 256 and 4096 characters. It is defined in the file | |||
198 | that require a timer override, but don't have | 198 | that require a timer override, but don't have |
199 | HPET | 199 | HPET |
200 | 200 | ||
201 | acpi.debug_layer= [HW,ACPI] | 201 | acpi_backlight= [HW,ACPI] |
202 | acpi_backlight=vendor | ||
203 | acpi_backlight=video | ||
204 | If set to vendor, prefer vendor specific driver | ||
205 | (e.g. thinkpad_acpi, sony_acpi, etc.) instead | ||
206 | of the ACPI video.ko driver. | ||
207 | |||
208 | acpi_display_output= [HW,ACPI] | ||
209 | acpi_display_output=vendor | ||
210 | acpi_display_output=video | ||
211 | See above. | ||
212 | |||
213 | acpi.debug_layer= [HW,ACPI,ACPI_DEBUG] | ||
214 | acpi.debug_level= [HW,ACPI,ACPI_DEBUG] | ||
202 | Format: <int> | 215 | Format: <int> |
203 | Each bit of the <int> indicates an ACPI debug layer, | 216 | CONFIG_ACPI_DEBUG must be enabled to produce any ACPI |
204 | 1: enable, 0: disable. It is useful for boot time | 217 | debug output. Bits in debug_layer correspond to a |
205 | debugging. After system has booted up, it can be set | 218 | _COMPONENT in an ACPI source file, e.g., |
206 | via /sys/module/acpi/parameters/debug_layer. | 219 | #define _COMPONENT ACPI_PCI_COMPONENT |
207 | CONFIG_ACPI_DEBUG must be enabled for this to produce any output. | 220 | Bits in debug_level correspond to a level in |
208 | Available bits (add the numbers together) to enable debug output | 221 | ACPI_DEBUG_PRINT statements, e.g., |
209 | for specific parts of the ACPI subsystem: | 222 | ACPI_DEBUG_PRINT((ACPI_DB_INFO, ... |
210 | 0x01 utilities 0x02 hardware 0x04 events 0x08 tables | 223 | See Documentation/acpi/debug.txt for more information |
211 | 0x10 namespace 0x20 parser 0x40 dispatcher | 224 | about debug layers and levels. |
212 | 0x80 executer 0x100 resources 0x200 acpica debugger | 225 | |
213 | 0x400 os services 0x800 acpica disassembler. | 226 | Enable AML "Debug" output, i.e., stores to the Debug |
214 | The number can be in decimal or prefixed with 0x in hex. | 227 | object while interpreting AML: |
215 | Warning: Many of these options can produce a lot of | 228 | acpi.debug_layer=0xffffffff acpi.debug_level=0x2 |
216 | output and make your system unusable. Be very careful. | 229 | Enable PCI/PCI interrupt routing info messages: |
217 | 230 | acpi.debug_layer=0x400000 acpi.debug_level=0x4 | |
218 | acpi.debug_level= [HW,ACPI] | 231 | Enable all messages related to ACPI hardware: |
219 | Format: <int> | 232 | acpi.debug_layer=0x2 acpi.debug_level=0xffffffff |
220 | Each bit of the <int> indicates an ACPI debug level, | 233 | |
221 | which corresponds to the level in an ACPI_DEBUG_PRINT | 234 | Some values produce so much output that the system is |
222 | statement. After system has booted up, this mask | 235 | unusable. The "log_buf_len" parameter may be useful |
223 | can be set via /sys/module/acpi/parameters/debug_level. | 236 | if you need to capture more output. |
224 | |||
225 | CONFIG_ACPI_DEBUG must be enabled for this to produce | ||
226 | any output. The number can be in decimal or prefixed | ||
227 | with 0x in hex. Some of these options produce so much | ||
228 | output that the system is unusable. | ||
229 | |||
230 | The following global components are defined by the | ||
231 | ACPI CA: | ||
232 | 0x01 error | ||
233 | 0x02 warn | ||
234 | 0x04 init | ||
235 | 0x08 debug object | ||
236 | 0x10 info | ||
237 | 0x20 init names | ||
238 | 0x40 parse | ||
239 | 0x80 load | ||
240 | 0x100 dispatch | ||
241 | 0x200 execute | ||
242 | 0x400 names | ||
243 | 0x800 operation region | ||
244 | 0x1000 bfield | ||
245 | 0x2000 tables | ||
246 | 0x4000 values | ||
247 | 0x8000 objects | ||
248 | 0x10000 resources | ||
249 | 0x20000 user requests | ||
250 | 0x40000 package | ||
251 | The number can be in decimal or prefixed with 0x in hex. | ||
252 | Warning: Many of these options can produce a lot of | ||
253 | output and make your system unusable. Be very careful. | ||
254 | 237 | ||
255 | acpi.power_nocheck= [HW,ACPI] | 238 | acpi.power_nocheck= [HW,ACPI] |
256 | Format: 1/0 enable/disable the check of power state. | 239 | Format: 1/0 enable/disable the check of power state. |
@@ -646,7 +629,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
646 | 629 | ||
647 | digiepca= [HW,SERIAL] | 630 | digiepca= [HW,SERIAL] |
648 | See drivers/char/README.epca and | 631 | See drivers/char/README.epca and |
649 | Documentation/digiepca.txt. | 632 | Documentation/serial/digiepca.txt. |
650 | 633 | ||
651 | disable_mtrr_cleanup [X86] | 634 | disable_mtrr_cleanup [X86] |
652 | enable_mtrr_cleanup [X86] | 635 | enable_mtrr_cleanup [X86] |
@@ -757,7 +740,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
757 | See header of drivers/scsi/fdomain.c. | 740 | See header of drivers/scsi/fdomain.c. |
758 | 741 | ||
759 | floppy= [HW] | 742 | floppy= [HW] |
760 | See Documentation/floppy.txt. | 743 | See Documentation/blockdev/floppy.txt. |
761 | 744 | ||
762 | force_pal_cache_flush | 745 | force_pal_cache_flush |
763 | [IA-64] Avoid check_sal_cache_flush which may hang on | 746 | [IA-64] Avoid check_sal_cache_flush which may hang on |
@@ -1118,7 +1101,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1118 | the same attribute, the last one is used. | 1101 | the same attribute, the last one is used. |
1119 | 1102 | ||
1120 | load_ramdisk= [RAM] List of ramdisks to load from floppy | 1103 | load_ramdisk= [RAM] List of ramdisks to load from floppy |
1121 | See Documentation/ramdisk.txt. | 1104 | See Documentation/blockdev/ramdisk.txt. |
1122 | 1105 | ||
1123 | lockd.nlm_grace_period=P [NFS] Assign grace period. | 1106 | lockd.nlm_grace_period=P [NFS] Assign grace period. |
1124 | Format: <integer> | 1107 | Format: <integer> |
@@ -1613,7 +1596,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1613 | 1596 | ||
1614 | pcd. [PARIDE] | 1597 | pcd. [PARIDE] |
1615 | See header of drivers/block/paride/pcd.c. | 1598 | See header of drivers/block/paride/pcd.c. |
1616 | See also Documentation/paride.txt. | 1599 | See also Documentation/blockdev/paride.txt. |
1617 | 1600 | ||
1618 | pci=option[,option...] [PCI] various PCI subsystem options: | 1601 | pci=option[,option...] [PCI] various PCI subsystem options: |
1619 | off [X86] don't probe for the PCI bus | 1602 | off [X86] don't probe for the PCI bus |
@@ -1714,7 +1697,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1714 | pcmv= [HW,PCMCIA] BadgePAD 4 | 1697 | pcmv= [HW,PCMCIA] BadgePAD 4 |
1715 | 1698 | ||
1716 | pd. [PARIDE] | 1699 | pd. [PARIDE] |
1717 | See Documentation/paride.txt. | 1700 | See Documentation/blockdev/paride.txt. |
1718 | 1701 | ||
1719 | pdcchassis= [PARISC,HW] Disable/Enable PDC Chassis Status codes at | 1702 | pdcchassis= [PARISC,HW] Disable/Enable PDC Chassis Status codes at |
1720 | boot time. | 1703 | boot time. |
@@ -1722,10 +1705,10 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1722 | See arch/parisc/kernel/pdc_chassis.c | 1705 | See arch/parisc/kernel/pdc_chassis.c |
1723 | 1706 | ||
1724 | pf. [PARIDE] | 1707 | pf. [PARIDE] |
1725 | See Documentation/paride.txt. | 1708 | See Documentation/blockdev/paride.txt. |
1726 | 1709 | ||
1727 | pg. [PARIDE] | 1710 | pg. [PARIDE] |
1728 | See Documentation/paride.txt. | 1711 | See Documentation/blockdev/paride.txt. |
1729 | 1712 | ||
1730 | pirq= [SMP,APIC] Manual mp-table setup | 1713 | pirq= [SMP,APIC] Manual mp-table setup |
1731 | See Documentation/x86/i386/IO-APIC.txt. | 1714 | See Documentation/x86/i386/IO-APIC.txt. |
@@ -1795,7 +1778,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1795 | 1778 | ||
1796 | prompt_ramdisk= [RAM] List of RAM disks to prompt for floppy disk | 1779 | prompt_ramdisk= [RAM] List of RAM disks to prompt for floppy disk |
1797 | before loading. | 1780 | before loading. |
1798 | See Documentation/ramdisk.txt. | 1781 | See Documentation/blockdev/ramdisk.txt. |
1799 | 1782 | ||
1800 | psmouse.proto= [HW,MOUSE] Highest PS2 mouse protocol extension to | 1783 | psmouse.proto= [HW,MOUSE] Highest PS2 mouse protocol extension to |
1801 | probe for; one of (bare|imps|exps|lifebook|any). | 1784 | probe for; one of (bare|imps|exps|lifebook|any). |
@@ -1815,7 +1798,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1815 | <io>,<mss_io>,<mss_irq>,<mss_dma>,<mpu_io>,<mpu_irq> | 1798 | <io>,<mss_io>,<mss_irq>,<mss_dma>,<mpu_io>,<mpu_irq> |
1816 | 1799 | ||
1817 | pt. [PARIDE] | 1800 | pt. [PARIDE] |
1818 | See Documentation/paride.txt. | 1801 | See Documentation/blockdev/paride.txt. |
1819 | 1802 | ||
1820 | pty.legacy_count= | 1803 | pty.legacy_count= |
1821 | [KNL] Number of legacy pty's. Overwrites compiled-in | 1804 | [KNL] Number of legacy pty's. Overwrites compiled-in |
@@ -1829,10 +1812,10 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1829 | See Documentation/md.txt. | 1812 | See Documentation/md.txt. |
1830 | 1813 | ||
1831 | ramdisk_blocksize= [RAM] | 1814 | ramdisk_blocksize= [RAM] |
1832 | See Documentation/ramdisk.txt. | 1815 | See Documentation/blockdev/ramdisk.txt. |
1833 | 1816 | ||
1834 | ramdisk_size= [RAM] Sizes of RAM disks in kilobytes | 1817 | ramdisk_size= [RAM] Sizes of RAM disks in kilobytes |
1835 | See Documentation/ramdisk.txt. | 1818 | See Documentation/blockdev/ramdisk.txt. |
1836 | 1819 | ||
1837 | rcupdate.blimit= [KNL,BOOT] | 1820 | rcupdate.blimit= [KNL,BOOT] |
1838 | Set maximum number of finished RCU callbacks to process | 1821 | Set maximum number of finished RCU callbacks to process |
@@ -2164,7 +2147,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
2164 | See Documentation/sonypi.txt | 2147 | See Documentation/sonypi.txt |
2165 | 2148 | ||
2166 | specialix= [HW,SERIAL] Specialix multi-serial port adapter | 2149 | specialix= [HW,SERIAL] Specialix multi-serial port adapter |
2167 | See Documentation/specialix.txt. | 2150 | See Documentation/serial/specialix.txt. |
2168 | 2151 | ||
2169 | spia_io_base= [HW,MTD] | 2152 | spia_io_base= [HW,MTD] |
2170 | spia_fio_base= | 2153 | spia_fio_base= |
diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt index 02ea9a971b8e..0ab0230cbcb0 100644 --- a/Documentation/powerpc/booting-without-of.txt +++ b/Documentation/powerpc/booting-without-of.txt | |||
@@ -41,25 +41,14 @@ Table of Contents | |||
41 | VI - System-on-a-chip devices and nodes | 41 | VI - System-on-a-chip devices and nodes |
42 | 1) Defining child nodes of an SOC | 42 | 1) Defining child nodes of an SOC |
43 | 2) Representing devices without a current OF specification | 43 | 2) Representing devices without a current OF specification |
44 | a) MDIO IO device | 44 | a) PHY nodes |
45 | b) Gianfar-compatible ethernet nodes | 45 | b) Interrupt controllers |
46 | c) PHY nodes | 46 | c) CFI or JEDEC memory-mapped NOR flash |
47 | d) Interrupt controllers | 47 | d) 4xx/Axon EMAC ethernet nodes |
48 | e) I2C | 48 | e) Xilinx IP cores |
49 | f) Freescale SOC USB controllers | 49 | f) USB EHCI controllers |
50 | g) Freescale SOC SEC Security Engines | 50 | g) MDIO on GPIOs |
51 | h) Board Control and Status (BCSR) | 51 | h) SPI busses |
52 | i) Freescale QUICC Engine module (QE) | ||
53 | j) CFI or JEDEC memory-mapped NOR flash | ||
54 | k) Global Utilities Block | ||
55 | l) Freescale Communications Processor Module | ||
56 | m) Chipselect/Local Bus | ||
57 | n) 4xx/Axon EMAC ethernet nodes | ||
58 | o) Xilinx IP cores | ||
59 | p) Freescale Synchronous Serial Interface | ||
60 | q) USB EHCI controllers | ||
61 | r) MDIO on GPIOs | ||
62 | s) SPI busses | ||
63 | 52 | ||
64 | VII - Marvell Discovery mv64[345]6x System Controller chips | 53 | VII - Marvell Discovery mv64[345]6x System Controller chips |
65 | 1) The /system-controller node | 54 | 1) The /system-controller node |
@@ -1830,41 +1819,7 @@ platforms are moved over to use the flattened-device-tree model. | |||
1830 | big-endian; | 1819 | big-endian; |
1831 | }; | 1820 | }; |
1832 | 1821 | ||
1833 | r) Freescale Display Interface Unit | 1822 | g) MDIO on GPIOs |
1834 | |||
1835 | The Freescale DIU is a LCD controller, with proper hardware, it can also | ||
1836 | drive DVI monitors. | ||
1837 | |||
1838 | Required properties: | ||
1839 | - compatible : should be "fsl-diu". | ||
1840 | - reg : should contain at least address and length of the DIU register | ||
1841 | set. | ||
1842 | - Interrupts : one DIU interrupt should be describe here. | ||
1843 | |||
1844 | Example (MPC8610HPCD) | ||
1845 | display@2c000 { | ||
1846 | compatible = "fsl,diu"; | ||
1847 | reg = <0x2c000 100>; | ||
1848 | interrupts = <72 2>; | ||
1849 | interrupt-parent = <&mpic>; | ||
1850 | }; | ||
1851 | |||
1852 | s) Freescale on board FPGA | ||
1853 | |||
1854 | This is the memory-mapped registers for on board FPGA. | ||
1855 | |||
1856 | Required properities: | ||
1857 | - compatible : should be "fsl,fpga-pixis". | ||
1858 | - reg : should contain the address and the lenght of the FPPGA register | ||
1859 | set. | ||
1860 | |||
1861 | Example (MPC8610HPCD) | ||
1862 | board-control@e8000000 { | ||
1863 | compatible = "fsl,fpga-pixis"; | ||
1864 | reg = <0xe8000000 32>; | ||
1865 | }; | ||
1866 | |||
1867 | r) MDIO on GPIOs | ||
1868 | 1823 | ||
1869 | Currently defined compatibles: | 1824 | Currently defined compatibles: |
1870 | - virtual,gpio-mdio | 1825 | - virtual,gpio-mdio |
@@ -1884,7 +1839,7 @@ platforms are moved over to use the flattened-device-tree model. | |||
1884 | &qe_pio_c 6>; | 1839 | &qe_pio_c 6>; |
1885 | }; | 1840 | }; |
1886 | 1841 | ||
1887 | s) SPI (Serial Peripheral Interface) busses | 1842 | h) SPI (Serial Peripheral Interface) busses |
1888 | 1843 | ||
1889 | SPI busses can be described with a node for the SPI master device | 1844 | SPI busses can be described with a node for the SPI master device |
1890 | and a set of child nodes for each SPI slave on the bus. For this | 1845 | and a set of child nodes for each SPI slave on the bus. For this |
diff --git a/Documentation/printk-formats.txt b/Documentation/printk-formats.txt new file mode 100644 index 000000000000..1b5a5ddbc3ef --- /dev/null +++ b/Documentation/printk-formats.txt | |||
@@ -0,0 +1,35 @@ | |||
1 | If variable is of Type, use printk format specifier: | ||
2 | --------------------------------------------------------- | ||
3 | int %d or %x | ||
4 | unsigned int %u or %x | ||
5 | long %ld or %lx | ||
6 | unsigned long %lu or %lx | ||
7 | long long %lld or %llx | ||
8 | unsigned long long %llu or %llx | ||
9 | size_t %zu or %zx | ||
10 | ssize_t %zd or %zx | ||
11 | |||
12 | Raw pointer value SHOULD be printed with %p. | ||
13 | |||
14 | u64 SHOULD be printed with %llu/%llx, (unsigned long long): | ||
15 | |||
16 | printk("%llu", (unsigned long long)u64_var); | ||
17 | |||
18 | s64 SHOULD be printed with %lld/%llx, (long long): | ||
19 | |||
20 | printk("%lld", (long long)s64_var); | ||
21 | |||
22 | If <type> is dependent on a config option for its size (e.g., sector_t, | ||
23 | blkcnt_t, phys_addr_t, resource_size_t) or is architecture-dependent | ||
24 | for its size (e.g., tcflag_t), use a format specifier of its largest | ||
25 | possible type and explicitly cast to it. Example: | ||
26 | |||
27 | printk("test: sector number/total blocks: %llu/%llu\n", | ||
28 | (unsigned long long)sector, (unsigned long long)blockcount); | ||
29 | |||
30 | Reminder: sizeof() result is of type size_t. | ||
31 | |||
32 | Thank you for your cooperation and attention. | ||
33 | |||
34 | |||
35 | By Randy Dunlap <rdunlap@xenotime.net> | ||
diff --git a/Documentation/serial/00-INDEX b/Documentation/serial/00-INDEX new file mode 100644 index 000000000000..07dcdb0d2a36 --- /dev/null +++ b/Documentation/serial/00-INDEX | |||
@@ -0,0 +1,24 @@ | |||
1 | 00-INDEX | ||
2 | - this file. | ||
3 | README.cycladesZ | ||
4 | - info on Cyclades-Z firmware loading. | ||
5 | computone.txt | ||
6 | - info on Computone Intelliport II/Plus Multiport Serial Driver. | ||
7 | digiepca.txt | ||
8 | - info on Digi Intl. {PC,PCI,EISA}Xx and Xem series cards. | ||
9 | hayes-esp.txt | ||
10 | - info on using the Hayes ESP serial driver. | ||
11 | moxa-smartio | ||
12 | - file with info on installing/using Moxa multiport serial driver. | ||
13 | riscom8.txt | ||
14 | - notes on using the RISCom/8 multi-port serial driver. | ||
15 | rocket.txt | ||
16 | - info on the Comtrol RocketPort multiport serial driver. | ||
17 | specialix.txt | ||
18 | - info on hardware/driver for specialix IO8+ multiport serial card. | ||
19 | stallion.txt | ||
20 | - info on using the Stallion multiport serial driver. | ||
21 | sx.txt | ||
22 | - info on the Specialix SX/SI multiport serial driver. | ||
23 | tty.txt | ||
24 | - guide to the locking policies of the tty layer. | ||
diff --git a/Documentation/README.cycladesZ b/Documentation/serial/README.cycladesZ index 024a69443cc2..024a69443cc2 100644 --- a/Documentation/README.cycladesZ +++ b/Documentation/serial/README.cycladesZ | |||
diff --git a/Documentation/computone.txt b/Documentation/serial/computone.txt index 5e2a0c76bfa0..c57ea4781e5d 100644 --- a/Documentation/computone.txt +++ b/Documentation/serial/computone.txt | |||
@@ -247,7 +247,7 @@ shar archive to make it easier to extract the script from the documentation. | |||
247 | To create the ip2mkdev shell script change to a convenient directory (/tmp | 247 | To create the ip2mkdev shell script change to a convenient directory (/tmp |
248 | works just fine) and run the following command: | 248 | works just fine) and run the following command: |
249 | 249 | ||
250 | unshar Documentation/computone.txt | 250 | unshar Documentation/serial/computone.txt |
251 | (This file) | 251 | (This file) |
252 | 252 | ||
253 | You should now have a file ip2mkdev in your current working directory with | 253 | You should now have a file ip2mkdev in your current working directory with |
diff --git a/Documentation/digiepca.txt b/Documentation/serial/digiepca.txt index f2560e22f2c9..f2560e22f2c9 100644 --- a/Documentation/digiepca.txt +++ b/Documentation/serial/digiepca.txt | |||
diff --git a/Documentation/hayes-esp.txt b/Documentation/serial/hayes-esp.txt index 09b5d5856758..09b5d5856758 100644 --- a/Documentation/hayes-esp.txt +++ b/Documentation/serial/hayes-esp.txt | |||
diff --git a/Documentation/moxa-smartio b/Documentation/serial/moxa-smartio index 5337e80a5b96..5337e80a5b96 100644 --- a/Documentation/moxa-smartio +++ b/Documentation/serial/moxa-smartio | |||
diff --git a/Documentation/riscom8.txt b/Documentation/serial/riscom8.txt index 14f61fdad7ca..14f61fdad7ca 100644 --- a/Documentation/riscom8.txt +++ b/Documentation/serial/riscom8.txt | |||
diff --git a/Documentation/rocket.txt b/Documentation/serial/rocket.txt index 1d8582990435..1d8582990435 100644 --- a/Documentation/rocket.txt +++ b/Documentation/serial/rocket.txt | |||
diff --git a/Documentation/specialix.txt b/Documentation/serial/specialix.txt index 6eb6f3a3331c..6eb6f3a3331c 100644 --- a/Documentation/specialix.txt +++ b/Documentation/serial/specialix.txt | |||
diff --git a/Documentation/stallion.txt b/Documentation/serial/stallion.txt index 5c4902d9a5be..5c4902d9a5be 100644 --- a/Documentation/stallion.txt +++ b/Documentation/serial/stallion.txt | |||
diff --git a/Documentation/sx.txt b/Documentation/serial/sx.txt index cb4efa0fb5cc..cb4efa0fb5cc 100644 --- a/Documentation/sx.txt +++ b/Documentation/serial/sx.txt | |||
diff --git a/Documentation/tty.txt b/Documentation/serial/tty.txt index 8e65c4498c52..8e65c4498c52 100644 --- a/Documentation/tty.txt +++ b/Documentation/serial/tty.txt | |||
diff --git a/Documentation/video4linux/README.cx88 b/Documentation/video4linux/README.cx88 index 06a33a4f52fd..166d5960b1a9 100644 --- a/Documentation/video4linux/README.cx88 +++ b/Documentation/video4linux/README.cx88 | |||
@@ -27,8 +27,8 @@ audio | |||
27 | sound card) should be possible, but there is no code yet ... | 27 | sound card) should be possible, but there is no code yet ... |
28 | 28 | ||
29 | vbi | 29 | vbi |
30 | - some code present. Doesn't crash any more, but also doesn't | 30 | - Code present. Works for NTSC closed caption. PAL and other |
31 | work yet ... | 31 | TV norms may or may not work. |
32 | 32 | ||
33 | 33 | ||
34 | how to add support for new cards | 34 | how to add support for new cards |
diff --git a/Documentation/video4linux/si470x.txt b/Documentation/video4linux/si470x.txt new file mode 100644 index 000000000000..11c5fd22a332 --- /dev/null +++ b/Documentation/video4linux/si470x.txt | |||
@@ -0,0 +1,118 @@ | |||
1 | Driver for USB radios for the Silicon Labs Si470x FM Radio Receivers | ||
2 | |||
3 | Copyright (c) 2008 Tobias Lorenz <tobias.lorenz@gmx.net> | ||
4 | |||
5 | |||
6 | Information from Silicon Labs | ||
7 | ============================= | ||
8 | Silicon Laboratories is the manufacturer of the radio ICs, that nowadays are the | ||
9 | most often used radio receivers in cell phones. Usually they are connected with | ||
10 | I2C. But SiLabs also provides a reference design, which integrates this IC, | ||
11 | together with a small microcontroller C8051F321, to form a USB radio. | ||
12 | Part of this reference design is also a radio application in binary and source | ||
13 | code. The software also contains an automatic firmware upgrade to the most | ||
14 | current version. Information on these can be downloaded here: | ||
15 | http://www.silabs.com/usbradio | ||
16 | |||
17 | |||
18 | Supported ICs | ||
19 | ============= | ||
20 | The following ICs have a very similar register set, so that they are or will be | ||
21 | supported somewhen by the driver: | ||
22 | - Si4700: FM radio receiver | ||
23 | - Si4701: FM radio receiver, RDS Support | ||
24 | - Si4702: FM radio receiver | ||
25 | - Si4703: FM radio receiver, RDS Support | ||
26 | - Si4704: FM radio receiver, no external antenna required | ||
27 | - Si4705: FM radio receiver, no external antenna required, RDS support, Dig I/O | ||
28 | - Si4706: Enhanced FM RDS/TMC radio receiver, no external antenna required, RDS | ||
29 | Support | ||
30 | - Si4707: Dedicated weather band radio receiver with SAME decoder, RDS Support | ||
31 | - Si4708: Smallest FM receivers | ||
32 | - Si4709: Smallest FM receivers, RDS Support | ||
33 | More information on these can be downloaded here: | ||
34 | http://www.silabs.com/products/mcu/Pages/USBFMRadioRD.aspx | ||
35 | |||
36 | |||
37 | Supported USB devices | ||
38 | ===================== | ||
39 | Currently the following USB radios (vendor:product) with the Silicon Labs si470x | ||
40 | chips are known to work: | ||
41 | - 10c4:818a: Silicon Labs USB FM Radio Reference Design | ||
42 | - 06e1:a155: ADS/Tech FM Radio Receiver (formerly Instant FM Music) (RDX-155-EF) | ||
43 | - 1b80:d700: KWorld USB FM Radio SnapMusic Mobile 700 (FM700) | ||
44 | |||
45 | |||
46 | Software | ||
47 | ======== | ||
48 | Testing is usually done with most application under Debian/testing: | ||
49 | - fmtools - Utility for managing FM tuner cards | ||
50 | - gnomeradio - FM-radio tuner for the GNOME desktop | ||
51 | - gradio - GTK FM radio tuner | ||
52 | - kradio - Comfortable Radio Application for KDE | ||
53 | - radio - ncurses-based radio application | ||
54 | |||
55 | There is also a library libv4l, which can be used. It's going to have a function | ||
56 | for frequency seeking, either by using hardware functionality as in radio-si470x | ||
57 | or by implementing a function as we currently have in every of the mentioned | ||
58 | programs. Somewhen the radio programs should make use of libv4l. | ||
59 | |||
60 | For processing RDS information, there is a project ongoing at: | ||
61 | http://rdsd.berlios.de/ | ||
62 | |||
63 | There is currently no project for making TMC sentences human readable. | ||
64 | |||
65 | |||
66 | Audio Listing | ||
67 | ============= | ||
68 | USB Audio is provided by the ALSA snd_usb_audio module. It is recommended to | ||
69 | also select SND_USB_AUDIO, as this is required to get sound from the radio. For | ||
70 | listing you have to redirect the sound, for example using one of the following | ||
71 | commands. | ||
72 | |||
73 | If you just want to test audio (very poor quality): | ||
74 | cat /dev/dsp1 > /dev/dsp | ||
75 | |||
76 | If you use OSS try: | ||
77 | sox -2 --endian little -r 96000 -t oss /dev/dsp1 -t oss /dev/dsp | ||
78 | |||
79 | If you use arts try: | ||
80 | arecord -D hw:1,0 -r96000 -c2 -f S16_LE | artsdsp aplay -B - | ||
81 | |||
82 | |||
83 | Module Parameters | ||
84 | ================= | ||
85 | After loading the module, you still have access to some of them in the sysfs | ||
86 | mount under /sys/module/radio_si470x/parameters. The contents of read-only files | ||
87 | (0444) are not updated, even if space, band and de are changed using private | ||
88 | video controls. The others are runtime changeable. | ||
89 | |||
90 | |||
91 | Errors | ||
92 | ====== | ||
93 | Increase tune_timeout, if you often get -EIO errors. | ||
94 | |||
95 | When timed out or band limit is reached, hw_freq_seek returns -EAGAIN. | ||
96 | |||
97 | If you get any errors from snd_usb_audio, please report them to the ALSA people. | ||
98 | |||
99 | |||
100 | Open Issues | ||
101 | =========== | ||
102 | V4L minor device allocation and parameter setting is not perfect. A solution is | ||
103 | currently under discussion. | ||
104 | |||
105 | There is an USB interface for downloading/uploading new firmware images. Support | ||
106 | for it can be implemented using the request_firmware interface. | ||
107 | |||
108 | There is a RDS interrupt mode. The driver is already using the same interface | ||
109 | for polling RDS information, but is currently not using the interrupt mode. | ||
110 | |||
111 | There is a LED interface, which can be used to override the LED control | ||
112 | programmed in the firmware. This can be made available using the LED support | ||
113 | functions in the kernel. | ||
114 | |||
115 | |||
116 | Other useful information and links | ||
117 | ================================== | ||
118 | http://www.silabs.com/usbradio | ||
diff --git a/Documentation/w1/masters/omap-hdq b/Documentation/w1/masters/omap-hdq new file mode 100644 index 000000000000..ca722e09b6a1 --- /dev/null +++ b/Documentation/w1/masters/omap-hdq | |||
@@ -0,0 +1,46 @@ | |||
1 | Kernel driver for omap HDQ/1-wire module. | ||
2 | ======================================== | ||
3 | |||
4 | Supported chips: | ||
5 | ================ | ||
6 | HDQ/1-wire controller on the TI OMAP 2430/3430 platforms. | ||
7 | |||
8 | A useful link about HDQ basics: | ||
9 | =============================== | ||
10 | http://focus.ti.com/lit/an/slua408/slua408.pdf | ||
11 | |||
12 | Description: | ||
13 | ============ | ||
14 | The HDQ/1-Wire module of TI OMAP2430/3430 platforms implement the hardware | ||
15 | protocol of the master functions of the Benchmark HDQ and the Dallas | ||
16 | Semiconductor 1-Wire protocols. These protocols use a single wire for | ||
17 | communication between the master (HDQ/1-Wire controller) and the slave | ||
18 | (HDQ/1-Wire external compliant device). | ||
19 | |||
20 | A typical application of the HDQ/1-Wire module is the communication with battery | ||
21 | monitor (gas gauge) integrated circuits. | ||
22 | |||
23 | The controller supports operation in both HDQ and 1-wire mode. The essential | ||
24 | difference between the HDQ and 1-wire mode is how the slave device responds to | ||
25 | initialization pulse.In HDQ mode, the firmware does not require the host to | ||
26 | create an initialization pulse to the slave.However, the slave can be reset by | ||
27 | using an initialization pulse (also referred to as a break pulse).The slave | ||
28 | does not respond with a presence pulse as it does in the 1-Wire protocol. | ||
29 | |||
30 | Remarks: | ||
31 | ======== | ||
32 | The driver (drivers/w1/masters/omap_hdq.c) supports the HDQ mode of the | ||
33 | controller. In this mode, as we can not read the ID which obeys the W1 | ||
34 | spec(family:id:crc), a module parameter can be passed to the driver which will | ||
35 | be used to calculate the CRC and pass back an appropriate slave ID to the W1 | ||
36 | core. | ||
37 | |||
38 | By default the master driver and the BQ slave i/f | ||
39 | driver(drivers/w1/slaves/w1_bq27000.c) sets the ID to 1. | ||
40 | Please note to load both the modules with a different ID if required, but note | ||
41 | that the ID used should be same for both master and slave driver loading. | ||
42 | |||
43 | e.g: | ||
44 | insmod omap_hdq.ko W1_ID=2 | ||
45 | inamod w1_bq27000.ko F_ID=2 | ||
46 | |||