aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/00-INDEX44
-rw-r--r--Documentation/ABI/testing/sysfs-c2port88
-rw-r--r--Documentation/ABI/testing/sysfs-firmware-acpi16
-rw-r--r--Documentation/DMA-API.txt8
-rw-r--r--Documentation/PCI/00-INDEX2
-rw-r--r--Documentation/PCI/MSI-HOWTO.txt (renamed from Documentation/MSI-HOWTO.txt)0
-rw-r--r--Documentation/acpi/debug.txt148
-rw-r--r--Documentation/arm/mem_alignment2
-rw-r--r--Documentation/blockdev/00-INDEX16
-rw-r--r--Documentation/blockdev/README.DAC960 (renamed from Documentation/README.DAC960)0
-rw-r--r--Documentation/blockdev/cciss.txt (renamed from Documentation/cciss.txt)3
-rw-r--r--Documentation/blockdev/cpqarray.txt (renamed from Documentation/cpqarray.txt)0
-rw-r--r--Documentation/blockdev/floppy.txt (renamed from Documentation/floppy.txt)0
-rw-r--r--Documentation/blockdev/nbd.txt (renamed from Documentation/nbd.txt)0
-rw-r--r--Documentation/blockdev/paride.txt (renamed from Documentation/paride.txt)0
-rw-r--r--Documentation/blockdev/ramdisk.txt (renamed from Documentation/ramdisk.txt)0
-rw-r--r--Documentation/c2port.txt90
-rw-r--r--Documentation/cgroups/freezer-subsystem.txt21
-rw-r--r--Documentation/cpu-freq/user-guide.txt12
-rw-r--r--Documentation/email-clients.txt25
-rw-r--r--Documentation/feature-removal-schedule.txt24
-rw-r--r--Documentation/filesystems/ocfs2.txt3
-rw-r--r--Documentation/filesystems/proc.txt27
-rw-r--r--Documentation/filesystems/ramfs-rootfs-initramfs.txt12
-rw-r--r--Documentation/filesystems/vfat.txt32
-rw-r--r--Documentation/filesystems/xip.txt9
-rw-r--r--Documentation/ftrace.txt171
-rw-r--r--Documentation/hwmon/adt746267
-rw-r--r--Documentation/hwmon/lis3lv02d49
-rw-r--r--Documentation/ics932s40131
-rw-r--r--Documentation/input/input-programming.txt3
-rw-r--r--Documentation/io-mapping.txt82
-rw-r--r--Documentation/ioctl/00-INDEX10
-rw-r--r--Documentation/ioctl/ioctl-number.txt (renamed from Documentation/ioctl-number.txt)0
-rw-r--r--Documentation/kernel-parameters.txt132
-rw-r--r--Documentation/local_ops.txt2
-rw-r--r--Documentation/networking/phy.txt2
-rw-r--r--Documentation/powerpc/booting-without-of.txt65
-rw-r--r--Documentation/printk-formats.txt35
-rw-r--r--Documentation/serial/00-INDEX24
-rw-r--r--Documentation/serial/README.cycladesZ (renamed from Documentation/README.cycladesZ)0
-rw-r--r--Documentation/serial/computone.txt (renamed from Documentation/computone.txt)2
-rw-r--r--Documentation/serial/digiepca.txt (renamed from Documentation/digiepca.txt)0
-rw-r--r--Documentation/serial/hayes-esp.txt (renamed from Documentation/hayes-esp.txt)0
-rw-r--r--Documentation/serial/moxa-smartio (renamed from Documentation/moxa-smartio)0
-rw-r--r--Documentation/serial/riscom8.txt (renamed from Documentation/riscom8.txt)0
-rw-r--r--Documentation/serial/rocket.txt (renamed from Documentation/rocket.txt)0
-rw-r--r--Documentation/serial/specialix.txt (renamed from Documentation/specialix.txt)0
-rw-r--r--Documentation/serial/stallion.txt (renamed from Documentation/stallion.txt)0
-rw-r--r--Documentation/serial/sx.txt (renamed from Documentation/sx.txt)0
-rw-r--r--Documentation/serial/tty.txt (renamed from Documentation/tty.txt)0
-rw-r--r--Documentation/sound/alsa/ALSA-Configuration.txt5
-rw-r--r--Documentation/spi/spi-summary2
-rw-r--r--Documentation/tracers/mmiotrace.txt6
-rw-r--r--Documentation/usb/gadget_serial.txt4
-rw-r--r--Documentation/usb/proc_usb_info.txt6
-rw-r--r--Documentation/usb/usbmon.txt12
-rw-r--r--Documentation/video4linux/README.cx884
-rw-r--r--Documentation/video4linux/si470x.txt118
-rw-r--r--Documentation/w1/masters/omap-hdq46
60 files changed, 1114 insertions, 346 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.
43ManagementStyle 43ManagementStyle
44 - how to (attempt to) manage kernel hackers. 44 - how to (attempt to) manage kernel hackers.
45MSI-HOWTO.txt
46 - the Message Signaled Interrupts (MSI) Driver Guide HOWTO and FAQ.
47RCU/ 45RCU/
48 - directory with info on RCU (read-copy update). 46 - directory with info on RCU (read-copy update).
49README.DAC960
50 - info on Mylex DAC960/DAC1100 PCI RAID Controller Driver for Linux.
51README.cycladesZ
52 - info on Cyclades-Z firmware loading.
53SAK.txt 47SAK.txt
54 - info on Secure Attention Keys. 48 - info on Secure Attention Keys.
55SM501.txt 49SM501.txt
@@ -86,20 +80,16 @@ blackfin/
86 - directory with documentation for the Blackfin arch. 80 - directory with documentation for the Blackfin arch.
87block/ 81block/
88 - info on the Block I/O (BIO) layer. 82 - info on the Block I/O (BIO) layer.
83blockdev/
84 - info on block devices & drivers
89cachetlb.txt 85cachetlb.txt
90 - describes the cache/TLB flushing interfaces Linux uses. 86 - describes the cache/TLB flushing interfaces Linux uses.
91cciss.txt
92 - info, major/minor #'s for Compaq's SMART Array Controllers.
93cdrom/ 87cdrom/
94 - directory with information on the CD-ROM drivers that Linux has. 88 - directory with information on the CD-ROM drivers that Linux has.
95computone.txt
96 - info on Computone Intelliport II/Plus Multiport Serial Driver.
97connector/ 89connector/
98 - docs on the netlink based userspace<->kernel space communication mod. 90 - docs on the netlink based userspace<->kernel space communication mod.
99console/ 91console/
100 - documentation on Linux console drivers. 92 - documentation on Linux console drivers.
101cpqarray.txt
102 - info on using Compaq's SMART2 Intelligent Disk Array Controllers.
103cpu-freq/ 93cpu-freq/
104 - info on CPU frequency and voltage scaling. 94 - info on CPU frequency and voltage scaling.
105cpu-hotplug.txt 95cpu-hotplug.txt
@@ -126,8 +116,6 @@ device-mapper/
126 - directory with info on Device Mapper. 116 - directory with info on Device Mapper.
127devices.txt 117devices.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.
129digiepca.txt
130 - info on Digi Intl. {PC,PCI,EISA}Xx and Xem series cards.
131dontdiff 119dontdiff
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.
133driver-model/ 121driver-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.
153firmware_class/ 141firmware_class/
154 - request_firmware() hotplug interface info. 142 - request_firmware() hotplug interface info.
155floppy.txt
156 - notes and driver options for the floppy disk driver.
157frv/ 143frv/
158 - Fujitsu FR-V Linux documentation. 144 - Fujitsu FR-V Linux documentation.
159gpio.txt 145gpio.txt
160 - overview of GPIO (General Purpose Input/Output) access conventions. 146 - overview of GPIO (General Purpose Input/Output) access conventions.
161hayes-esp.txt
162 - info on using the Hayes ESP serial driver.
163highuid.txt 147highuid.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.
165timers/ 149timers/
@@ -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.
187ioctl/ 171ioctl/
188 - directory with documents describing various IOCTL calls. 172 - directory with documents describing various IOCTL calls.
189ioctl-number.txt
190 - how to implement and register device/driver ioctl calls.
191iostats.txt 173iostats.txt
192 - info on I/O statistics Linux kernel provides. 174 - info on I/O statistics Linux kernel provides.
193irqflags-tracing.txt 175irqflags-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.
251mono.txt 233mono.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.
253moxa-smartio
254 - file with info on installing/using Moxa multiport serial driver.
255mutex-design.txt 235mutex-design.txt
256 - info on the generic mutex subsystem. 236 - info on the generic mutex subsystem.
257namespaces/ 237namespaces/
258 - directory with various information about namespaces 238 - directory with various information about namespaces
259nbd.txt
260 - info on a TCP implementation of a network block device.
261netlabel/ 239netlabel/
262 - directory with information on the NetLabel subsystem. 240 - directory with information on the NetLabel subsystem.
263networking/ 241networking/
@@ -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.
271oops-tracing.txt 249oops-tracing.txt
272 - how to decode those nasty internal kernel error dump messages. 250 - how to decode those nasty internal kernel error dump messages.
273paride.txt
274 - information about the parallel port IDE subsystem.
275parisc/ 251parisc/
276 - directory with info on using Linux on PA-RISC architecture. 252 - directory with info on using Linux on PA-RISC architecture.
277parport.txt 253parport.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.
291preempt-locking.txt 267preempt-locking.txt
292 - info on locking under a preemptive kernel. 268 - info on locking under a preemptive kernel.
269printk-formats.txt
270 - how to get printk format specifiers right
293prio_tree.txt 271prio_tree.txt
294 - info on radix-priority-search-tree use for indexing vmas. 272 - info on radix-priority-search-tree use for indexing vmas.
295ramdisk.txt
296 - short guide on how to set up and use the RAM disk.
297rbtree.txt 273rbtree.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.
299riscom8.txt
300 - notes on using the RISCom/8 multi-port serial driver.
301robust-futex-ABI.txt 275robust-futex-ABI.txt
302 - documentation of the robust futex ABI. 276 - documentation of the robust futex ABI.
303robust-futexes.txt 277robust-futexes.txt
304 - a description of what robust futexes are. 278 - a description of what robust futexes are.
305rocket.txt
306 - info on the Comtrol RocketPort multiport serial driver.
307rt-mutex-design.txt 279rt-mutex-design.txt
308 - description of the RealTime mutex implementation design. 280 - description of the RealTime mutex implementation design.
309rt-mutex.txt 281rt-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.
333sparse.txt 305sparse.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.
335specialix.txt
336 - info on hardware/driver for specialix IO8+ multiport serial card.
337spi/ 307spi/
338 - overview of Linux kernel Serial Peripheral Interface (SPI) support. 308 - overview of Linux kernel Serial Peripheral Interface (SPI) support.
339spinlocks.txt 309spinlocks.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.
343stable_kernel_rules.txt 313stable_kernel_rules.txt
344 - rules and procedures for the -stable kernel releases. 314 - rules and procedures for the -stable kernel releases.
345stallion.txt
346 - info on using the Stallion multiport serial driver.
347svga.txt 315svga.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.
349sysfs-rules.txt 317sysfs-rules.txt
350 - How not to use sysfs. 318 - How not to use sysfs.
351sx.txt
352 - info on the Specialix SX/SI multiport serial driver.
353sysctl/ 319sysctl/
354 - directory with info on the /proc/sys/* files. 320 - directory with info on the /proc/sys/* files.
355sysrq.txt 321sysrq.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.
359time_interpolators.txt 325time_interpolators.txt
360 - info on time interpolators. 326 - info on time interpolators.
361tty.txt
362 - guide to the locking policies of the tty layer.
363uml/ 327uml/
364 - directory with information about User Mode Linux. 328 - directory with information about User Mode Linux.
365unicode.txt 329unicode.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 @@
1What: /sys/class/c2port/
2Date: October 2008
3Contact: Rodolfo Giometti <giometti@linux.it>
4Description:
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
9What: /sys/class/c2port/c2portX
10Date: October 2008
11Contact: Rodolfo Giometti <giometti@linux.it>
12Description:
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
17What: /sys/class/c2port/c2portX/access
18Date: October 2008
19Contact: Rodolfo Giometti <giometti@linux.it>
20Description:
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
25What: /sys/class/c2port/c2portX/dev_id
26Date: October 2008
27Contact: Rodolfo Giometti <giometti@linux.it>
28Description:
29 The /sys/class/c2port/c2portX/dev_id file show the device ID
30 of the connected micro.
31
32What: /sys/class/c2port/c2portX/flash_access
33Date: October 2008
34Contact: Rodolfo Giometti <giometti@linux.it>
35Description:
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
40What: /sys/class/c2port/c2portX/flash_block_size
41Date: October 2008
42Contact: Rodolfo Giometti <giometti@linux.it>
43Description:
44 The /sys/class/c2port/c2portX/flash_block_size file show
45 the on-board flash block size of the connected micro.
46
47What: /sys/class/c2port/c2portX/flash_blocks_num
48Date: October 2008
49Contact: Rodolfo Giometti <giometti@linux.it>
50Description:
51 The /sys/class/c2port/c2portX/flash_blocks_num file show
52 the on-board flash blocks number of the connected micro.
53
54What: /sys/class/c2port/c2portX/flash_data
55Date: October 2008
56Contact: Rodolfo Giometti <giometti@linux.it>
57Description:
58 The /sys/class/c2port/c2portX/flash_data file export
59 the content of the on-board flash of the connected micro.
60
61What: /sys/class/c2port/c2portX/flash_erase
62Date: October 2008
63Contact: Rodolfo Giometti <giometti@linux.it>
64Description:
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
69What: /sys/class/c2port/c2portX/flash_erase
70Date: October 2008
71Contact: Rodolfo Giometti <giometti@linux.it>
72Description:
73 The /sys/class/c2port/c2portX/flash_erase file show the
74 on-board flash size of the connected micro.
75
76What: /sys/class/c2port/c2portX/reset
77Date: October 2008
78Contact: Rodolfo Giometti <giometti@linux.it>
79Description:
80 The /sys/class/c2port/c2portX/reset file execute a "reset"
81 command on the connected micro.
82
83What: /sys/class/c2port/c2portX/rev_id
84Date: October 2008
85Contact: Rodolfo Giometti <giometti@linux.it>
86Description:
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/DMA-API.txt b/Documentation/DMA-API.txt
index b8e86460046e..b462bb149543 100644
--- a/Documentation/DMA-API.txt
+++ b/Documentation/DMA-API.txt
@@ -316,12 +316,10 @@ reduce current DMA mapping usage or delay and try again later).
316 pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg, 316 pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg,
317 int nents, int direction) 317 int nents, int direction)
318 318
319Maps a scatter gather list from the block layer.
320
321Returns: the number of physical segments mapped (this may be shorter 319Returns: the number of physical segments mapped (this may be shorter
322than <nents> passed in if the block layer determines that some 320than <nents> passed in if some elements of the scatter/gather list are
323elements of the scatter/gather list are physically adjacent and thus 321physically or virtually adjacent and an IOMMU maps them with a single
324may be mapped with a single entry). 322entry).
325 323
326Please note that the sg cannot be mapped again if it has been mapped once. 324Please note that the sg cannot be mapped again if it has been mapped once.
327The mapping process is allowed to destroy information in the sg. 325The mapping process is allowed to destroy information in the sg.
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 @@
100-INDEX 100-INDEX
2 - this file 2 - this file
3MSI-HOWTO.txt
4 - the Message Signaled Interrupts (MSI) Driver Guide HOWTO and FAQ.
3PCI-DMA-mapping.txt 5PCI-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
5PCIEBUS-HOWTO.txt 7PCIEBUS-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
4The ACPI CA, the Linux ACPI core, and some ACPI drivers can generate debug
5output. This document describes how to use this facility.
6
7Compile-time configuration
8--------------------------
9
10ACPI debug output is globally enabled by CONFIG_ACPI_DEBUG. If this config
11option is turned off, the debug messages are not even built into the
12kernel.
13
14Boot- and run-time configuration
15--------------------------------
16
17When CONFIG_ACPI_DEBUG=y, you can select the component and level of messages
18you're interested in. At boot-time, use the acpi.debug_layer and
19acpi.debug_level kernel command line options. After boot, you can use the
20debug_layer and debug_level files in /sys/module/acpi/parameters/ to control
21the debug messages.
22
23debug_layer (component)
24-----------------------
25
26The "debug_layer" is a mask that selects components of interest, e.g., a
27specific driver or part of the ACPI interpreter. To build the debug_layer
28bitmask, look for the "#define _COMPONENT" in an ACPI source file.
29
30You can set the debug_layer mask at boot-time using the acpi.debug_layer
31command line argument, and you can change it after boot by writing values
32to /sys/module/acpi/parameters/debug_layer.
33
34The possible components are defined in include/acpi/acoutput.h and
35include/acpi/acpi_drivers.h. Reading /sys/module/acpi/parameters/debug_layer
36shows 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
67debug_level
68-----------
69
70The "debug_level" is a mask that selects different types of messages, e.g.,
71those related to initialization, method execution, informational messages, etc.
72To build debug_level, look at the level specified in an ACPI_DEBUG_PRINT()
73statement.
74
75The ACPI interpreter uses several different levels, but the Linux
76ACPI core and ACPI drivers generally only use ACPI_LV_INFO.
77
78You can set the debug_level mask at boot-time using the acpi.debug_level
79command line argument, and you can change it after boot by writing values
80to /sys/module/acpi/parameters/debug_level.
81
82The possible levels are defined in include/acpi/acoutput.h. Reading
83/sys/module/acpi/parameters/debug_level shows the supported mask values,
84currently 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
115Examples
116--------
117
118For 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
124To turn on this message, set the ACPI_BUS_COMPONENT bit in acpi.debug_layer
125and the ACPI_LV_INFO bit in acpi.debug_level. (The ACPI_DEBUG_PRINT
126statement uses ACPI_DB_INFO, which is macro based on the ACPI_LV_INFO
127definition.)
128
129Enable all AML "Debug" output (stores to the Debug object while interpreting
130AML) during boot:
131
132 acpi.debug_layer=0xffffffff acpi.debug_level=0x2
133
134Enable PCI and PCI interrupt routing debug messages:
135
136 acpi.debug_layer=0x400000 acpi.debug_level=0x4
137
138Enable all ACPI hardware-related messages:
139
140 acpi.debug_layer=0x2 acpi.debug_level=0xffffffff
141
142Enable all ACPI_DB_INFO messages after boot:
143
144 # echo 0x4 > /sys/module/acpi/parameters/debug_level
145
146Show all valid component values:
147
148 # cat /sys/module/acpi/parameters/debug_layer
diff --git a/Documentation/arm/mem_alignment b/Documentation/arm/mem_alignment
index d145ccca169a..c7c7a114c78c 100644
--- a/Documentation/arm/mem_alignment
+++ b/Documentation/arm/mem_alignment
@@ -24,7 +24,7 @@ real bad - it changes the behaviour of all unaligned instructions in user
24space, and might cause programs to fail unexpectedly. 24space, and might cause programs to fail unexpectedly.
25 25
26To change the alignment trap behavior, simply echo a number into 26To change the alignment trap behavior, simply echo a number into
27/proc/sys/debug/alignment. The number is made up from various bits: 27/proc/cpu/alignment. The number is made up from various bits:
28 28
29bit behavior when set 29bit behavior when set
30--- ----------------- 30--- -----------------
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 @@
100-INDEX
2 - this file
3README.DAC960
4 - info on Mylex DAC960/DAC1100 PCI RAID Controller Driver for Linux.
5cciss.txt
6 - info, major/minor #'s for Compaq's SMART Array Controllers.
7cpqarray.txt
8 - info on using Compaq's SMART2 Intelligent Disk Array Controllers.
9floppy.txt
10 - notes and driver options for the floppy disk driver.
11nbd.txt
12 - info on a TCP implementation of a network block device.
13paride.txt
14 - information about the parallel port IDE subsystem.
15ramdisk.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 8244c6442faa..89698e8df7d4 100644
--- a/Documentation/cciss.txt
+++ b/Documentation/blockdev/cciss.txt
@@ -21,11 +21,14 @@ This driver is known to work with the following cards:
21 * SA E200 21 * SA E200
22 * SA E200i 22 * SA E200i
23 * SA E500 23 * SA E500
24 * SA P700m
24 * SA P212 25 * SA P212
25 * SA P410 26 * SA P410
26 * SA P410i 27 * SA P410i
27 * SA P411 28 * SA P411
28 * SA P812 29 * SA P812
30 * SA P712m
31 * SA P711m
29 32
30Detecting drive failures: 33Detecting drive failures:
31------------------------- 34-------------------------
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
6This program is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2 of the License, or
9(at your option) any later version.
10
11This program is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16
17
18Overview
19--------
20
21This driver implements the support for Linux of Silicon Labs (Silabs)
22C2 Interface used for in-system programming of micro controllers.
23
24By using this driver you can reprogram the in-system flash without EC2
25or EC3 debug adapter. This solution is also useful in those systems
26where the micro controller is connected via special GPIOs pins.
27
28References
29----------
30
31The C2 Interface main references are at (http://www.silabs.com)
32Silicon Laboratories site], see:
33
34- AN127: FLASH Programming via the C2 Interface at
35http://www.silabs.com/public/documents/tpub_doc/anote/Microcontrollers/Small_Form_Factor/en/an127.pdf, and
36
37- C2 Specification at
38http://www.silabs.com/public/documents/tpub_doc/spec/Microcontrollers/en/C2spec.pdf,
39
40however it implements a two wire serial communication protocol (bit
41banging) designed to enable in-system programming, debugging, and
42boundary-scan testing on low pin-count Silicon Labs devices. Currently
43this code supports only flash programming but extensions are easy to
44add.
45
46Using the driver
47----------------
48
49Once the driver is loaded you can use sysfs support to get C2port's
50info or read/write in-system flash.
51
52# ls /sys/class/c2port/c2port0/
53access flash_block_size flash_erase rev_id
54dev_id flash_blocks_num flash_size subsystem/
55flash_access flash_data reset uevent
56
57Initially the C2port access is disabled since you hardware may have
58such lines multiplexed with other devices so, to get access to the
59C2port, you need the command:
60
61# echo 1 > /sys/class/c2port/c2port0/access
62
63after that you should read the device ID and revision ID of the
64connected micro controller:
65
66# cat /sys/class/c2port/c2port0/dev_id
678
68# cat /sys/class/c2port/c2port0/rev_id
691
70
71However, for security reasons, the in-system flash access in not
72enabled yet, to do so you need the command:
73
74# echo 1 > /sys/class/c2port/c2port0/flash_access
75
76After that you can read the whole flash:
77
78# cat /sys/class/c2port/c2port0/flash_data > image
79
80erase it:
81
82# echo 1 > /sys/class/c2port/c2port0/flash_erase
83
84and write it:
85
86# cat image > /sys/class/c2port/c2port0/flash_data
87
88after 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 1The cgroup freezer is useful to batch job management system which start
2and stop sets of tasks in order to schedule the resources of a machine 2and stop sets of tasks in order to schedule the resources of a machine
3according to the desires of a system administrator. This sort of program 3according to the desires of a system administrator. This sort of program
4is often used on HPC clusters to schedule access to the cluster as a 4is 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
6be started/stopped by the batch job management system. It also provides 6be started/stopped by the batch job management system. It also provides
7a means to start and stop the tasks composing the job. 7a means to start and stop the tasks composing the job.
8 8
9 The cgroup freezer will also be useful for checkpointing running groups 9The cgroup freezer will also be useful for checkpointing running groups
10of tasks. The freezer allows the checkpoint code to obtain a consistent 10of tasks. The freezer allows the checkpoint code to obtain a consistent
11image of the tasks by attempting to force the tasks in a cgroup into a 11image of the tasks by attempting to force the tasks in a cgroup into a
12quiescent state. Once the tasks are quiescent another task can 12quiescent state. Once the tasks are quiescent another task can
@@ -16,7 +16,7 @@ recoverable error occur. This also allows the checkpointed tasks to be
16migrated between nodes in a cluster by copying the gathered information 16migrated between nodes in a cluster by copying the gathered information
17to another node and restarting the tasks there. 17to another node and restarting the tasks there.
18 18
19 Sequences of SIGSTOP and SIGCONT are not always sufficient for stopping 19Sequences of SIGSTOP and SIGCONT are not always sufficient for stopping
20and resuming tasks in userspace. Both of these signals are observable 20and resuming tasks in userspace. Both of these signals are observable
21from within the tasks we wish to freeze. While SIGSTOP cannot be caught, 21from within the tasks we wish to freeze. While SIGSTOP cannot be caught,
22blocked, or ignored it can be seen by waiting or ptracing parent tasks. 22blocked, 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 40This happens because bash can observe both signals and choose how it
41responds to them. 41responds to them.
42 42
43 Another example of a program which catches and responds to these 43Another example of a program which catches and responds to these
44signals is gdb. In fact any program designed to use ptrace is likely to 44signals is gdb. In fact any program designed to use ptrace is likely to
45have a problem with this method of stopping and resuming tasks. 45have a problem with this method of stopping and resuming tasks.
46 46
47 In contrast, the cgroup freezer uses the kernel freezer code to 47In contrast, the cgroup freezer uses the kernel freezer code to
48prevent the freeze/unfreeze cycle from becoming visible to the tasks 48prevent the freeze/unfreeze cycle from becoming visible to the tasks
49being frozen. This allows the bash example above and gdb to run as 49being frozen. This allows the bash example above and gdb to run as
50expected. 50expected.
51 51
52 The freezer subsystem in the container filesystem defines a file named 52The freezer subsystem in the container filesystem defines a file named
53freezer.state. Writing "FROZEN" to the state file will freeze all tasks in the 53freezer.state. Writing "FROZEN" to the state file will freeze all tasks in the
54cgroup. Subsequently writing "THAWED" will unfreeze the tasks in the cgroup. 54cgroup. Subsequently writing "THAWED" will unfreeze the tasks in the cgroup.
55Reading will return the current state. 55Reading will return the current state.
56 56
57Note freezer.state doesn't exist in root cgroup, which means root cgroup
58is 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/cpu-freq/user-guide.txt b/Documentation/cpu-freq/user-guide.txt
index 6c442d8426b5..4f3f3840320e 100644
--- a/Documentation/cpu-freq/user-guide.txt
+++ b/Documentation/cpu-freq/user-guide.txt
@@ -23,6 +23,7 @@ Contents:
231.3 sparc64 231.3 sparc64
241.4 ppc 241.4 ppc
251.5 SuperH 251.5 SuperH
261.6 Blackfin
26 27
272. "Policy" / "Governor"? 282. "Policy" / "Governor"?
282.1 Policy 292.1 Policy
@@ -97,6 +98,17 @@ The following SuperH processors are supported by cpufreq:
97SH-3 98SH-3
98SH-4 99SH-4
99 100
1011.6 Blackfin
102------------
103
104The following Blackfin processors are supported by cpufreq:
105
106BF522, BF523, BF524, BF525, BF526, BF527, Rev 0.1 or higher
107BF531, BF532, BF533, Rev 0.3 or higher
108BF534, BF536, BF537, Rev 0.2 or higher
109BF561, Rev 0.3 or higher
110BF542, BF544, BF547, BF548, BF549, Rev 0.1 or higher
111
100 112
1012. "Policy" / "Governor" ? 1132. "Policy" / "Governor" ?
102========================== 114==========================
diff --git a/Documentation/email-clients.txt b/Documentation/email-clients.txt
index 2ebb94d6ed8e..a618efab7b15 100644
--- a/Documentation/email-clients.txt
+++ b/Documentation/email-clients.txt
@@ -213,4 +213,29 @@ TkRat (GUI)
213 213
214Works. Use "Insert file..." or external editor. 214Works. Use "Insert file..." or external editor.
215 215
216~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
217Gmail (Web GUI)
218
219If you just have to use Gmail to send patches, it CAN be made to work. It
220requires a bit of external help, though.
221
222The first problem is that Gmail converts tabs to spaces. This will
223totally break your patches. To prevent this, you have to use a different
224editor. There is a firefox extension called "ViewSourceWith"
225(https://addons.mozilla.org/en-US/firefox/addon/394) which allows you to
226edit any text box in the editor of your choice. Configure it to launch
227your favorite editor. When you want to send a patch, use this technique.
228Once you have crafted your messsage + patch, save and exit the editor,
229which should reload the Gmail edit box. GMAIL WILL PRESERVE THE TABS.
230Hoorah. Apparently you can cut-n-paste literal tabs, but Gmail will
231convert those to spaces upon sending!
232
233The second problem is that Gmail converts tabs to spaces on replies. If
234you reply to a patch, don't expect to be able to apply it as a patch.
235
236The last problem is that Gmail will base64-encode any message that has a
237non-ASCII character. That includes things like European names. Be aware.
238
239Gmail is not convenient for lkml patches, but CAN be made to work.
240
216 ### 241 ###
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
59What: old tuner-3036 i2c driver
60When: 2.6.28
61Why: 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.
65Who: Hans Verkuil <hverkuil@xs4all.nl>
66 Mauro Carvalho Chehab <mchehab@infradead.org>
67
68 ---------------------------
69
70What: V4L2 dpc7146 driver
71When: 2.6.28
72Why: 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.
78Who: Hans Verkuil <hverkuil@xs4all.nl>
79 Mauro Carvalho Chehab <mchehab@infradead.org>
80
81---------------------------
82
83What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl]) 59What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl])
84When: November 2005 60When: November 2005
85Files: drivers/pcmcia/: pcmcia_ioctl.c 61Files: drivers/pcmcia/: pcmcia_ioctl.c
diff --git a/Documentation/filesystems/ocfs2.txt b/Documentation/filesystems/ocfs2.txt
index 4340cc825796..67310fbbb7df 100644
--- a/Documentation/filesystems/ocfs2.txt
+++ b/Documentation/filesystems/ocfs2.txt
@@ -28,10 +28,7 @@ Manish Singh <manish.singh@oracle.com>
28Caveats 28Caveats
29======= 29=======
30Features which OCFS2 does not support yet: 30Features which OCFS2 does not support yet:
31 - extended attributes
32 - quotas 31 - quotas
33 - cluster aware flock
34 - cluster aware lockf
35 - Directory change notification (F_NOTIFY) 32 - Directory change notification (F_NOTIFY)
36 - Distributed Caching (F_SETLEASE/F_GETLEASE/break_lease) 33 - Distributed Caching (F_SETLEASE/F_GETLEASE/break_lease)
37 - POSIX ACLs 34 - POSIX ACLs
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt
index bcceb99b81dd..bb1b0dd3bfcb 100644
--- a/Documentation/filesystems/proc.txt
+++ b/Documentation/filesystems/proc.txt
@@ -44,6 +44,7 @@ Table of Contents
44 2.14 /proc/<pid>/io - Display the IO accounting fields 44 2.14 /proc/<pid>/io - Display the IO accounting fields
45 2.15 /proc/<pid>/coredump_filter - Core dump filtering settings 45 2.15 /proc/<pid>/coredump_filter - Core dump filtering settings
46 2.16 /proc/<pid>/mountinfo - Information about mounts 46 2.16 /proc/<pid>/mountinfo - Information about mounts
47 2.17 /proc/sys/fs/epoll - Configuration options for the epoll interface
47 48
48------------------------------------------------------------------------------ 49------------------------------------------------------------------------------
49Preface 50Preface
@@ -2483,4 +2484,30 @@ For more information on mount propagation see:
2483 2484
2484 Documentation/filesystems/sharedsubtree.txt 2485 Documentation/filesystems/sharedsubtree.txt
2485 2486
24872.17 /proc/sys/fs/epoll - Configuration options for the epoll interface
2488--------------------------------------------------------
2489
2490This directory contains configuration options for the epoll(7) interface.
2491
2492max_user_instances
2493------------------
2494
2495This is the maximum number of epoll file descriptors that a single user can
2496have open at a given time. The default value is 128, and should be enough
2497for normal users.
2498
2499max_user_watches
2500----------------
2501
2502Every epoll file descriptor can store a number of files to be monitored
2503for event readiness. Each one of these monitored files constitutes a "watch".
2504This configuration option sets the maximum number of "watches" that are
2505allowed for each user.
2506Each "watch" costs roughly 90 bytes on a 32bit kernel, and roughly 160 bytes
2507on a 64bit one.
2508The current default value for max_user_watches is the 1/32 of the available
2509low memory, divided for the "watch" cost in bytes.
2510
2511
2486------------------------------------------------------------------------------ 2512------------------------------------------------------------------------------
2513
diff --git a/Documentation/filesystems/ramfs-rootfs-initramfs.txt b/Documentation/filesystems/ramfs-rootfs-initramfs.txt
index 62fe9b1e0890..a8273d5fad20 100644
--- a/Documentation/filesystems/ramfs-rootfs-initramfs.txt
+++ b/Documentation/filesystems/ramfs-rootfs-initramfs.txt
@@ -130,12 +130,12 @@ The 2.6 kernel build process always creates a gzipped cpio format initramfs
130archive and links it into the resulting kernel binary. By default, this 130archive and links it into the resulting kernel binary. By default, this
131archive is empty (consuming 134 bytes on x86). 131archive is empty (consuming 134 bytes on x86).
132 132
133The config option CONFIG_INITRAMFS_SOURCE (for some reason buried under 133The config option CONFIG_INITRAMFS_SOURCE (in General Setup in menuconfig,
134devices->block devices in menuconfig, and living in usr/Kconfig) can be used 134and living in usr/Kconfig) can be used to specify a source for the
135to specify a source for the initramfs archive, which will automatically be 135initramfs archive, which will automatically be incorporated into the
136incorporated into the resulting binary. This option can point to an existing 136resulting binary. This option can point to an existing gzipped cpio
137gzipped cpio archive, a directory containing files to be archived, or a text 137archive, a directory containing files to be archived, or a text file
138file specification such as the following example: 138specification such as the following example:
139 139
140 dir /dev 755 0 0 140 dir /dev 755 0 0
141 nod /dev/console 644 0 0 c 5 1 141 nod /dev/console 644 0 0 c 5 1
diff --git a/Documentation/filesystems/vfat.txt b/Documentation/filesystems/vfat.txt
index bbac4f1d9056..3a5ddc96901a 100644
--- a/Documentation/filesystems/vfat.txt
+++ b/Documentation/filesystems/vfat.txt
@@ -8,6 +8,12 @@ if you want to format from within Linux.
8 8
9VFAT MOUNT OPTIONS 9VFAT MOUNT OPTIONS
10---------------------------------------------------------------------- 10----------------------------------------------------------------------
11uid=### -- Set the owner of all files on this filesystem.
12 The default is the uid of current process.
13
14gid=### -- Set the group of all files on this filesystem.
15 The default is the gid of current process.
16
11umask=### -- The permission mask (for files and directories, see umask(1)). 17umask=### -- The permission mask (for files and directories, see umask(1)).
12 The default is the umask of current process. 18 The default is the umask of current process.
13 19
@@ -36,7 +42,7 @@ codepage=### -- Sets the codepage number for converting to shortname
36 characters on FAT filesystem. 42 characters on FAT filesystem.
37 By default, FAT_DEFAULT_CODEPAGE setting is used. 43 By default, FAT_DEFAULT_CODEPAGE setting is used.
38 44
39iocharset=name -- Character set to use for converting between the 45iocharset=<name> -- Character set to use for converting between the
40 encoding is used for user visible filename and 16 bit 46 encoding is used for user visible filename and 16 bit
41 Unicode characters. Long filenames are stored on disk 47 Unicode characters. Long filenames are stored on disk
42 in Unicode format, but Unix for the most part doesn't 48 in Unicode format, but Unix for the most part doesn't
@@ -86,6 +92,8 @@ check=s|r|n -- Case sensitivity checking setting.
86 r: relaxed, case insensitive 92 r: relaxed, case insensitive
87 n: normal, default setting, currently case insensitive 93 n: normal, default setting, currently case insensitive
88 94
95nocase -- This was deprecated for vfat. Use shortname=win95 instead.
96
89shortname=lower|win95|winnt|mixed 97shortname=lower|win95|winnt|mixed
90 -- Shortname display/create setting. 98 -- Shortname display/create setting.
91 lower: convert to lowercase for display, 99 lower: convert to lowercase for display,
@@ -99,11 +107,31 @@ shortname=lower|win95|winnt|mixed
99tz=UTC -- Interpret timestamps as UTC rather than local time. 107tz=UTC -- Interpret timestamps as UTC rather than local time.
100 This option disables the conversion of timestamps 108 This option disables the conversion of timestamps
101 between local time (as used by Windows on FAT) and UTC 109 between local time (as used by Windows on FAT) and UTC
102 (which Linux uses internally). This is particuluarly 110 (which Linux uses internally). This is particularly
103 useful when mounting devices (like digital cameras) 111 useful when mounting devices (like digital cameras)
104 that are set to UTC in order to avoid the pitfalls of 112 that are set to UTC in order to avoid the pitfalls of
105 local time. 113 local time.
106 114
115showexec -- If set, the execute permission bits of the file will be
116 allowed only if the extension part of the name is .EXE,
117 .COM, or .BAT. Not set by default.
118
119debug -- Can be set, but unused by the current implementation.
120
121sys_immutable -- If set, ATTR_SYS attribute on FAT is handled as
122 IMMUTABLE flag on Linux. Not set by default.
123
124flush -- If set, the filesystem will try to flush to disk more
125 early than normal. Not set by default.
126
127rodir -- FAT has the ATTR_RO (read-only) attribute. But on Windows,
128 the ATTR_RO of the directory will be just ignored actually,
129 and is used by only applications as flag. E.g. it's setted
130 for the customized folder.
131
132 If you want to use ATTR_RO as read-only flag even for
133 the directory, set this option.
134
107<bool>: 0,1,yes,no,true,false 135<bool>: 0,1,yes,no,true,false
108 136
109TODO 137TODO
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
39today: 39today:
40- dcssblk: s390 dcss block device driver 40- dcssblk: s390 dcss block device driver
41 41
42An address space operation named get_xip_page is used to retrieve reference 42An address space operation named get_xip_mem is used to retrieve references
43to a struct page. To address the target page, a reference to an address_space, 43to a page frame number and a kernel address. To obtain these values a reference
44and a sector number is provided. A 3rd argument indicates whether the 44to an address_space is provided. This function assigns values to the kmem and
45function should allocate blocks if needed. 45pfn parameters. The third argument indicates whether the function should allocate
46blocks if needed.
46 47
47This address space operation is mutually exclusive with readpage&writepage that 48This address space operation is mutually exclusive with readpage&writepage that
48do page cache read/write operations. 49do 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.
8Reviewers: Elias Oltmanns, Randy Dunlap, Andrew Morton, 8Reviewers: Elias Oltmanns, Randy Dunlap, Andrew Morton,
9 John Kacur, and David Teigland. 9 John Kacur, and David Teigland.
10 10
11Written for: 2.6.27-rc1 11Written for: 2.6.28-rc2
12 12
13Introduction 13Introduction
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
143The Tracers 137The Tracers
@@ -145,7 +139,7 @@ The Tracers
145 139
146Here is the list of current tracers that may be configured. 140Here 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
173Examples of using the tracer 167Examples of using the tracer
@@ -182,7 +176,7 @@ Output format:
182Here is an example of the output format of the file "trace" 176Here 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
194A header is printed with the tracer name that is represented by the trace. 188A header is printed with the tracer name that is represented by the trace.
195In this case the tracer is "ftrace". Then a header showing the format. Task 189In this case the tracer is "function". Then a header showing the format. Task
196name "bash", the task PID "4251", the CPU that it was running on 190name "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
198traced "path_put" and the parent function that called this function 192traced "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
1003has been set. We do not see the 'N' until we switch back to the task's 997has been set. We do not see the 'N' until we switch back to the task's
1004assigned stack. 998assigned stack.
1005 999
1006ftrace 1000function
1007------ 1001--------
1008 1002
1009ftrace is not only the name of the tracing infrastructure, but it 1003This tracer is the function tracer. Enabling the function tracer
1010is also a name of one of the tracers. The tracer is the function 1004can be done from the debug file system. Make sure the ftrace_enabled is
1011tracer. Enabling the function tracer can be done from the 1005set; otherwise this tracer is a nop.
1012debug file system. Make sure the ftrace_enabled is set otherwise
1013this 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
1043Note: ftrace uses ring buffers to store the above entries. The newest data 1035Note: function tracer uses ring buffers to store the above entries.
1044may overwrite the oldest data. Sometimes using echo to stop the trace 1036The newest data may overwrite the oldest data. Sometimes using echo to
1045is not sufficient because the tracing could have overwritten the data 1037stop the trace is not sufficient because the tracing could have overwritten
1046that you wanted to record. For this reason, it is sometimes better to 1038the data that you wanted to record. For this reason, it is sometimes better to
1047disable tracing directly from a program. This allows you to stop the 1039disable tracing directly from a program. This allows you to stop the
1048tracing at the point that you hit the part that you are interested in. 1040tracing at the point that you hit the part that you are interested in.
1049To disable the tracing directly from a C program, something like following 1041To 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
1077of pointing to a simple return. (Enabling FTRACE will include the 1069of 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
1080When dynamic ftrace is initialized, it calls kstop_machine to make 1072At compile time every C file object is run through the
1081the machine act like a uniprocessor so that it can freely modify code 1073recordmcount.pl script (located in the scripts directory). This
1082without worrying about other processors executing that same code. At 1074script will process the C object using objdump to find all the
1083initialization, the mcount calls are changed to call a "record_ip" 1075locations in the .text section that call mcount. (Note, only
1084function. After this, the first time a kernel function is called, 1076the .text section is processed, since processing other sections
1085it has the calling address saved in a hash table. 1077like .init.text may cause races due to those sections being freed).
1086 1078
1087Later on the ftraced kernel thread is awoken and will again call 1079A new section called "__mcount_loc" is created that holds references
1088kstop_machine if new functions have been recorded. The ftraced thread 1080to all the mcount call sites in the .text section. This section is
1089will change all calls to mcount to "nop". Just calling mcount 1081compiled back into the original object. The final linker will add
1090and having mcount return has shown a 10% overhead. By converting 1082all these references into a single table.
1091it to a nop, there is no measurable overhead to the system. 1083
1084On boot up, before SMP is initialized, the dynamic ftrace code
1085scans this table and updates all the locations into nops. It also
1086records the locations, which are added to the available_filter_functions
1087list. Modules are processed as they are loaded and before they are
1088executed. When a module is unloaded, it also removes its functions from
1089the ftrace function list. This is automatic in the module unload
1090code, and the module author does not need to worry about it.
1091
1092When tracing is enabled, kstop_machine is called to prevent races
1093with the CPUS executing code being modified (which can cause the
1094CPU to do undesireable things), and the nops are patched back
1095to calls. But this time, they do not call mcount (which is just
1096a function stub). They now call into the ftrace infrastructure.
1092 1097
1093One special side-effect to the recording of the functions being 1098One special side-effect to the recording of the functions being
1094traced is that we can now selectively choose which functions we 1099traced is that we can now selectively choose which functions we
@@ -1251,36 +1256,6 @@ Produces:
1251 1256
1252We can see that there's no more lock or preempt tracing. 1257We can see that there's no more lock or preempt tracing.
1253 1258
1254ftraced
1255-------
1256
1257As mentioned above, when dynamic ftrace is configured in, a kernel
1258thread wakes up once a second and checks to see if there are mcount
1259calls that need to be converted into nops. If there are not any, then
1260it simply goes back to sleep. But if there are some, it will call
1261kstop_machine to convert the calls to nops.
1262
1263There may be a case in which you do not want this added latency.
1264Perhaps you are doing some audio recording and this activity might
1265cause skips in the playback. There is an interface to disable
1266and enable the "ftraced" kernel thread.
1267
1268 # echo 0 > /debug/tracing/ftraced_enabled
1269
1270This will disable the calling of kstop_machine to update the
1271mcount calls to nops. Remember that there is a large overhead
1272to calling mcount. Without this kernel thread, that overhead will
1273exist.
1274
1275If there are recorded calls to mcount, any write to the ftraced_enabled
1276file will cause the kstop_machine to run. This means that a
1277user can manually perform the updates when they want to by simply
1278echoing a '0' into the ftraced_enabled file.
1279
1280The updates are also done at the beginning of enabling a tracer
1281that uses ftrace function recording.
1282
1283
1284trace_pipe 1259trace_pipe
1285---------- 1260----------
1286 1261
@@ -1289,14 +1264,14 @@ on the tracing is different. Every read from trace_pipe is consumed.
1289This means that subsequent reads will be different. The trace 1264This means that subsequent reads will be different. The trace
1290is live. 1265is 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
1318Note, reading the trace_pipe file will block until more input is added. 1293Note, reading the trace_pipe file will block until more input is added.
1319By changing the tracer, trace_pipe will issue an EOF. We needed 1294By changing the tracer, trace_pipe will issue an EOF. We needed
1320to set the ftrace tracer _before_ cating the trace_pipe file. 1295to set the function tracer _before_ we "cat" the trace_pipe file.
1321 1296
1322 1297
1323trace entries 1298trace entries
@@ -1334,10 +1309,10 @@ number of entries.
133465620 130965620
1335 1310
1336Note, to modify this, you must have tracing completely disabled. To do that, 1311Note, to modify this, you must have tracing completely disabled. To do that,
1337echo "none" into the current_tracer. If the current_tracer is not set 1312echo "nop" into the current_tracer. If the current_tracer is not set
1338to "none", an EINVAL error will be returned. 1313to "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
1343100045 1318100045
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 @@
1Kernel driver adt7462
2======================
3
4Supported chips:
5 * Analog Devices ADT7462
6 Prefix: 'adt7462'
7 Addresses scanned: I2C 0x58, 0x5C
8 Datasheet: Publicly available at the Analog Devices website
9
10Author: Darrick J. Wong
11
12Description
13-----------
14
15This driver implements support for the Analog Devices ADT7462 chip family.
16
17This chip is a bit of a beast. It has 8 counters for measuring fan speed. It
18can also measure 13 voltages or 4 temperatures, or various combinations of the
19two. See the chip documentation for more details about the exact set of
20configurations. This driver does not allow one to configure the chip; that is
21left to the system designer.
22
23A sophisticated control system for the PWM outputs is designed into the ADT7462
24that allows fan speed to be adjusted automatically based on any of the three
25temperature sensors. Each PWM output is individually adjustable and
26programmable. Once configured, the ADT7462 will adjust the PWM outputs in
27response to the measured temperatures without further host intervention. This
28feature can also be disabled for manual control of the PWM's.
29
30Each of the measured inputs (voltage, temperature, fan speed) has
31corresponding high/low limit values. The ADT7462 will signal an ALARM if
32any measured value exceeds either limit.
33
34The ADT7462 samples all inputs continuously. The driver will not read
35the registers more often than once every other second. Further,
36configuration data is only read once per minute.
37
38Special Features
39----------------
40
41The ADT7462 have a 10-bit ADC and can therefore measure temperatures
42with 0.25 degC resolution.
43
44The Analog Devices datasheet is very detailed and describes a procedure for
45determining an optimal configuration for the automatic PWM control.
46
47The driver will report sensor labels when it is able to determine that
48information from the configuration registers.
49
50Configuration Notes
51-------------------
52
53Besides 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
60point1: Set the pwm speed at a lower temperature bound.
61point2: Set the pwm speed at a higher temperature bound.
62
63The ADT7462 will scale the pwm between the lower and higher pwm speed when
64the temperature is between the two temperature boundaries. PWM values range
65from 0 (off) to 255 (full speed). Fan speed will be set to maximum when the
66temperature 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 @@
1Kernel driver lis3lv02d
2==================
3
4Supported chips:
5
6 * STMicroelectronics LIS3LV02DL and LIS3LV02DQ
7
8Author:
9 Yan Burman <burman.yan@gmail.com>
10 Eric Piel <eric.piel@tremplin-utc.net>
11
12
13Description
14-----------
15
16This driver provides support for the accelerometer found in various HP laptops
17sporting 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
20have their axis automatically oriented on standard way (eg: you can directly
21play neverball). The accelerometer data is readable via
22/sys/devices/platform/lis3lv02d.
23
24Sysfs attributes under /sys/devices/platform/lis3lv02d/:
25position - 3D position that the accelerometer reports. Format: "(x,y,z)"
26calibrate - 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.
28rate - reports the sampling rate of the accelerometer device in HZ
29
30This driver also provides an absolute input class device, allowing
31the laptop to act as a pinball machine-esque joystick.
32
33Axes orientation
34----------------
35
36For better compatibility between the various laptops. The values reported by
37the 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
40and 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
45If your laptop model is not recognized (cf "dmesg"), you can send an email to the
46authors to add it to the database. When reporting a new laptop, please include
47the output of "dmidecode" plus the value of /sys/devices/platform/lis3lv02d/position
48in 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 @@
1Kernel driver ics932s401
2======================
3
4Supported chips:
5 * IDT ICS932S401
6 Prefix: 'ics932s401'
7 Addresses scanned: I2C 0x69
8 Datasheet: Publically available at the IDT website
9
10Author: Darrick J. Wong
11
12Description
13-----------
14
15This driver implements support for the IDT ICS932S401 chip family.
16
17This chip has 4 clock outputs--a base clock for the CPU (which is likely
18multiplied to get the real CPU clock), a system clock, a PCI clock, a USB
19clock, and a reference clock. The driver reports selected and actual
20frequency. If spread spectrum mode is enabled, the driver also reports by what
21percent the clock signal is being spread, which should be between 0 and -0.5%.
22All frequencies are reported in KHz.
23
24The ICS932S401 monitors all inputs continuously. The driver will not read
25the registers more often than once every other second.
26
27Special Features
28----------------
29
30The clocks could be reprogrammed to increase system speed. I will not help you
31do this, as you risk damaging your system!
diff --git a/Documentation/input/input-programming.txt b/Documentation/input/input-programming.txt
index 81905e81585e..7f8b9d97bc47 100644
--- a/Documentation/input/input-programming.txt
+++ b/Documentation/input/input-programming.txt
@@ -20,10 +20,11 @@ pressed or released a BUTTON_IRQ happens. The driver could look like:
20 20
21static struct input_dev *button_dev; 21static struct input_dev *button_dev;
22 22
23static void button_interrupt(int irq, void *dummy, struct pt_regs *fp) 23static irqreturn_t button_interrupt(int irq, void *dummy)
24{ 24{
25 input_report_key(button_dev, BTN_0, inb(BUTTON_PORT) & 1); 25 input_report_key(button_dev, BTN_0, inb(BUTTON_PORT) & 1);
26 input_sync(button_dev); 26 input_sync(button_dev);
27 return IRQ_HANDLED;
27} 28}
28 29
29static int __init button_init(void) 30static int __init button_init(void)
diff --git a/Documentation/io-mapping.txt b/Documentation/io-mapping.txt
new file mode 100644
index 000000000000..473e43b2d588
--- /dev/null
+++ b/Documentation/io-mapping.txt
@@ -0,0 +1,82 @@
1The io_mapping functions in linux/io-mapping.h provide an abstraction for
2efficiently mapping small regions of an I/O device to the CPU. The initial
3usage is to support the large graphics aperture on 32-bit processors where
4ioremap_wc cannot be used to statically map the entire aperture to the CPU
5as it would consume too much of the kernel address space.
6
7A mapping object is created during driver initialization using
8
9 struct io_mapping *io_mapping_create_wc(unsigned long base,
10 unsigned long size)
11
12 'base' is the bus address of the region to be made
13 mappable, while 'size' indicates how large a mapping region to
14 enable. Both are in bytes.
15
16 This _wc variant provides a mapping which may only be used
17 with the io_mapping_map_atomic_wc or io_mapping_map_wc.
18
19With this mapping object, individual pages can be mapped either atomically
20or not, depending on the necessary scheduling environment. Of course, atomic
21maps are more efficient:
22
23 void *io_mapping_map_atomic_wc(struct io_mapping *mapping,
24 unsigned long offset)
25
26 'offset' is the offset within the defined mapping region.
27 Accessing addresses beyond the region specified in the
28 creation function yields undefined results. Using an offset
29 which is not page aligned yields an undefined result. The
30 return value points to a single page in CPU address space.
31
32 This _wc variant returns a write-combining map to the
33 page and may only be used with mappings created by
34 io_mapping_create_wc
35
36 Note that the task may not sleep while holding this page
37 mapped.
38
39 void io_mapping_unmap_atomic(void *vaddr)
40
41 'vaddr' must be the the value returned by the last
42 io_mapping_map_atomic_wc call. This unmaps the specified
43 page and allows the task to sleep once again.
44
45If you need to sleep while holding the lock, you can use the non-atomic
46variant, although they may be significantly slower.
47
48 void *io_mapping_map_wc(struct io_mapping *mapping,
49 unsigned long offset)
50
51 This works like io_mapping_map_atomic_wc except it allows
52 the task to sleep while holding the page mapped.
53
54 void io_mapping_unmap(void *vaddr)
55
56 This works like io_mapping_unmap_atomic, except it is used
57 for pages mapped with io_mapping_map_wc.
58
59At driver close time, the io_mapping object must be freed:
60
61 void io_mapping_free(struct io_mapping *mapping)
62
63Current Implementation:
64
65The initial implementation of these functions uses existing mapping
66mechanisms and so provides only an abstraction layer and no new
67functionality.
68
69On 64-bit processors, io_mapping_create_wc calls ioremap_wc for the whole
70range, creating a permanent kernel-visible mapping to the resource. The
71map_atomic and map functions add the requested offset to the base of the
72virtual address returned by ioremap_wc.
73
74On 32-bit processors with HIGHMEM defined, io_mapping_map_atomic_wc uses
75kmap_atomic_pfn to map the specified page in an atomic fashion;
76kmap_atomic_pfn isn't really supposed to be used with device pages, but it
77provides an efficient mapping for this usage.
78
79On 32-bit processors without HIGHMEM defined, io_mapping_map_atomic_wc and
80io_mapping_map_wc both use ioremap_wc, a terribly inefficient function which
81performs an IPI to inform all processors about the new mapping. This results
82in a significant performance penalty.
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 @@
100-INDEX
2 - this file
3cdrom.txt
4 - summary of CDROM ioctl calls
5hdio.txt
6 - summary of HDIO_ ioctl calls
7ioctl-decoding.txt
8 - how to decode the bits of an IOCTL code
9ioctl-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 1bbcaa8982b6..e0f346d201ed 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.
@@ -311,7 +294,9 @@ and is between 256 and 4096 characters. It is defined in the file
311 Possible values are: 294 Possible values are:
312 isolate - enable device isolation (each device, as far 295 isolate - enable device isolation (each device, as far
313 as possible, will get its own protection 296 as possible, will get its own protection
314 domain) 297 domain) [default]
298 share - put every device behind one IOMMU into the
299 same protection domain
315 fullflush - enable flushing of IO/TLB entries when 300 fullflush - enable flushing of IO/TLB entries when
316 they are unmapped. Otherwise they are 301 they are unmapped. Otherwise they are
317 flushed before they will be reused, which 302 flushed before they will be reused, which
@@ -646,7 +631,7 @@ and is between 256 and 4096 characters. It is defined in the file
646 631
647 digiepca= [HW,SERIAL] 632 digiepca= [HW,SERIAL]
648 See drivers/char/README.epca and 633 See drivers/char/README.epca and
649 Documentation/digiepca.txt. 634 Documentation/serial/digiepca.txt.
650 635
651 disable_mtrr_cleanup [X86] 636 disable_mtrr_cleanup [X86]
652 enable_mtrr_cleanup [X86] 637 enable_mtrr_cleanup [X86]
@@ -757,7 +742,7 @@ and is between 256 and 4096 characters. It is defined in the file
757 See header of drivers/scsi/fdomain.c. 742 See header of drivers/scsi/fdomain.c.
758 743
759 floppy= [HW] 744 floppy= [HW]
760 See Documentation/floppy.txt. 745 See Documentation/blockdev/floppy.txt.
761 746
762 force_pal_cache_flush 747 force_pal_cache_flush
763 [IA-64] Avoid check_sal_cache_flush which may hang on 748 [IA-64] Avoid check_sal_cache_flush which may hang on
@@ -995,13 +980,15 @@ and is between 256 and 4096 characters. It is defined in the file
995 Format: 980 Format:
996 <cpu number>,...,<cpu number> 981 <cpu number>,...,<cpu number>
997 or 982 or
998 <cpu number>-<cpu number> (must be a positive range in ascending order) 983 <cpu number>-<cpu number>
984 (must be a positive range in ascending order)
999 or a mixture 985 or a mixture
1000 <cpu number>,...,<cpu number>-<cpu number> 986 <cpu number>,...,<cpu number>-<cpu number>
987
1001 This option can be used to specify one or more CPUs 988 This option can be used to specify one or more CPUs
1002 to isolate from the general SMP balancing and scheduling 989 to isolate from the general SMP balancing and scheduling
1003 algorithms. The only way to move a process onto or off 990 algorithms. You can move a process onto or off an
1004 an "isolated" CPU is via the CPU affinity syscalls. 991 "isolated" CPU via the CPU affinity syscalls or cpuset.
1005 <cpu number> begins at 0 and the maximum value is 992 <cpu number> begins at 0 and the maximum value is
1006 "number of CPUs in system - 1". 993 "number of CPUs in system - 1".
1007 994
@@ -1116,7 +1103,7 @@ and is between 256 and 4096 characters. It is defined in the file
1116 the same attribute, the last one is used. 1103 the same attribute, the last one is used.
1117 1104
1118 load_ramdisk= [RAM] List of ramdisks to load from floppy 1105 load_ramdisk= [RAM] List of ramdisks to load from floppy
1119 See Documentation/ramdisk.txt. 1106 See Documentation/blockdev/ramdisk.txt.
1120 1107
1121 lockd.nlm_grace_period=P [NFS] Assign grace period. 1108 lockd.nlm_grace_period=P [NFS] Assign grace period.
1122 Format: <integer> 1109 Format: <integer>
@@ -1208,8 +1195,8 @@ and is between 256 and 4096 characters. It is defined in the file
1208 it is equivalent to "nosmp", which also disables 1195 it is equivalent to "nosmp", which also disables
1209 the IO APIC. 1196 the IO APIC.
1210 1197
1211 max_addr=[KMG] [KNL,BOOT,ia64] All physical memory greater than or 1198 max_addr=nn[KMG] [KNL,BOOT,ia64] All physical memory greater than
1212 equal to this physical address is ignored. 1199 or equal to this physical address is ignored.
1213 1200
1214 max_luns= [SCSI] Maximum number of LUNs to probe. 1201 max_luns= [SCSI] Maximum number of LUNs to probe.
1215 Should be between 1 and 2^32-1. 1202 Should be between 1 and 2^32-1.
@@ -1309,6 +1296,9 @@ and is between 256 and 4096 characters. It is defined in the file
1309 1296
1310 mga= [HW,DRM] 1297 mga= [HW,DRM]
1311 1298
1299 min_addr=nn[KMG] [KNL,BOOT,ia64] All physical memory below this
1300 physical address is ignored.
1301
1312 mminit_loglevel= 1302 mminit_loglevel=
1313 [KNL] When CONFIG_DEBUG_MEMORY_INIT is set, this 1303 [KNL] When CONFIG_DEBUG_MEMORY_INIT is set, this
1314 parameter allows control of the logging verbosity for 1304 parameter allows control of the logging verbosity for
@@ -1470,8 +1460,6 @@ and is between 256 and 4096 characters. It is defined in the file
1470 Valid arguments: on, off 1460 Valid arguments: on, off
1471 Default: on 1461 Default: on
1472 1462
1473 noirqbalance [X86-32,SMP,KNL] Disable kernel irq balancing
1474
1475 noirqdebug [X86-32] Disables the code which attempts to detect and 1463 noirqdebug [X86-32] Disables the code which attempts to detect and
1476 disable unhandled interrupt sources. 1464 disable unhandled interrupt sources.
1477 1465
@@ -1613,7 +1601,7 @@ and is between 256 and 4096 characters. It is defined in the file
1613 1601
1614 pcd. [PARIDE] 1602 pcd. [PARIDE]
1615 See header of drivers/block/paride/pcd.c. 1603 See header of drivers/block/paride/pcd.c.
1616 See also Documentation/paride.txt. 1604 See also Documentation/blockdev/paride.txt.
1617 1605
1618 pci=option[,option...] [PCI] various PCI subsystem options: 1606 pci=option[,option...] [PCI] various PCI subsystem options:
1619 off [X86] don't probe for the PCI bus 1607 off [X86] don't probe for the PCI bus
@@ -1714,7 +1702,7 @@ and is between 256 and 4096 characters. It is defined in the file
1714 pcmv= [HW,PCMCIA] BadgePAD 4 1702 pcmv= [HW,PCMCIA] BadgePAD 4
1715 1703
1716 pd. [PARIDE] 1704 pd. [PARIDE]
1717 See Documentation/paride.txt. 1705 See Documentation/blockdev/paride.txt.
1718 1706
1719 pdcchassis= [PARISC,HW] Disable/Enable PDC Chassis Status codes at 1707 pdcchassis= [PARISC,HW] Disable/Enable PDC Chassis Status codes at
1720 boot time. 1708 boot time.
@@ -1722,10 +1710,10 @@ and is between 256 and 4096 characters. It is defined in the file
1722 See arch/parisc/kernel/pdc_chassis.c 1710 See arch/parisc/kernel/pdc_chassis.c
1723 1711
1724 pf. [PARIDE] 1712 pf. [PARIDE]
1725 See Documentation/paride.txt. 1713 See Documentation/blockdev/paride.txt.
1726 1714
1727 pg. [PARIDE] 1715 pg. [PARIDE]
1728 See Documentation/paride.txt. 1716 See Documentation/blockdev/paride.txt.
1729 1717
1730 pirq= [SMP,APIC] Manual mp-table setup 1718 pirq= [SMP,APIC] Manual mp-table setup
1731 See Documentation/x86/i386/IO-APIC.txt. 1719 See Documentation/x86/i386/IO-APIC.txt.
@@ -1795,7 +1783,7 @@ and is between 256 and 4096 characters. It is defined in the file
1795 1783
1796 prompt_ramdisk= [RAM] List of RAM disks to prompt for floppy disk 1784 prompt_ramdisk= [RAM] List of RAM disks to prompt for floppy disk
1797 before loading. 1785 before loading.
1798 See Documentation/ramdisk.txt. 1786 See Documentation/blockdev/ramdisk.txt.
1799 1787
1800 psmouse.proto= [HW,MOUSE] Highest PS2 mouse protocol extension to 1788 psmouse.proto= [HW,MOUSE] Highest PS2 mouse protocol extension to
1801 probe for; one of (bare|imps|exps|lifebook|any). 1789 probe for; one of (bare|imps|exps|lifebook|any).
@@ -1815,7 +1803,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> 1803 <io>,<mss_io>,<mss_irq>,<mss_dma>,<mpu_io>,<mpu_irq>
1816 1804
1817 pt. [PARIDE] 1805 pt. [PARIDE]
1818 See Documentation/paride.txt. 1806 See Documentation/blockdev/paride.txt.
1819 1807
1820 pty.legacy_count= 1808 pty.legacy_count=
1821 [KNL] Number of legacy pty's. Overwrites compiled-in 1809 [KNL] Number of legacy pty's. Overwrites compiled-in
@@ -1829,10 +1817,10 @@ and is between 256 and 4096 characters. It is defined in the file
1829 See Documentation/md.txt. 1817 See Documentation/md.txt.
1830 1818
1831 ramdisk_blocksize= [RAM] 1819 ramdisk_blocksize= [RAM]
1832 See Documentation/ramdisk.txt. 1820 See Documentation/blockdev/ramdisk.txt.
1833 1821
1834 ramdisk_size= [RAM] Sizes of RAM disks in kilobytes 1822 ramdisk_size= [RAM] Sizes of RAM disks in kilobytes
1835 See Documentation/ramdisk.txt. 1823 See Documentation/blockdev/ramdisk.txt.
1836 1824
1837 rcupdate.blimit= [KNL,BOOT] 1825 rcupdate.blimit= [KNL,BOOT]
1838 Set maximum number of finished RCU callbacks to process 1826 Set maximum number of finished RCU callbacks to process
@@ -2164,7 +2152,7 @@ and is between 256 and 4096 characters. It is defined in the file
2164 See Documentation/sonypi.txt 2152 See Documentation/sonypi.txt
2165 2153
2166 specialix= [HW,SERIAL] Specialix multi-serial port adapter 2154 specialix= [HW,SERIAL] Specialix multi-serial port adapter
2167 See Documentation/specialix.txt. 2155 See Documentation/serial/specialix.txt.
2168 2156
2169 spia_io_base= [HW,MTD] 2157 spia_io_base= [HW,MTD]
2170 spia_fio_base= 2158 spia_fio_base=
diff --git a/Documentation/local_ops.txt b/Documentation/local_ops.txt
index f4f8b1c6c8ba..23045b8b50f0 100644
--- a/Documentation/local_ops.txt
+++ b/Documentation/local_ops.txt
@@ -149,7 +149,7 @@ static void do_test_timer(unsigned long data)
149 int cpu; 149 int cpu;
150 150
151 /* Increment the counters */ 151 /* Increment the counters */
152 on_each_cpu(test_each, NULL, 0, 1); 152 on_each_cpu(test_each, NULL, 1);
153 /* Read all the counters */ 153 /* Read all the counters */
154 printk("Counters read from CPU %d\n", smp_processor_id()); 154 printk("Counters read from CPU %d\n", smp_processor_id());
155 for_each_online_cpu(cpu) { 155 for_each_online_cpu(cpu) {
diff --git a/Documentation/networking/phy.txt b/Documentation/networking/phy.txt
index 8df6a7b0e66c..88bb71b46da4 100644
--- a/Documentation/networking/phy.txt
+++ b/Documentation/networking/phy.txt
@@ -96,7 +96,7 @@ Letting the PHY Abstraction Layer do Everything
96 static void adjust_link(struct net_device *dev); 96 static void adjust_link(struct net_device *dev);
97 97
98 Next, you need to know the device name of the PHY connected to this device. 98 Next, you need to know the device name of the PHY connected to this device.
99 The name will look something like, "phy0:0", where the first number is the 99 The name will look something like, "0:00", where the first number is the
100 bus id, and the second is the PHY's address on that bus. Typically, 100 bus id, and the second is the PHY's address on that bus. Typically,
101 the bus is responsible for making its ID unique. 101 the bus is responsible for making its ID unique.
102 102
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 @@
1If 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
12Raw pointer value SHOULD be printed with %p.
13
14u64 SHOULD be printed with %llu/%llx, (unsigned long long):
15
16 printk("%llu", (unsigned long long)u64_var);
17
18s64 SHOULD be printed with %lld/%llx, (long long):
19
20 printk("%lld", (long long)s64_var);
21
22If <type> is dependent on a config option for its size (e.g., sector_t,
23blkcnt_t, phys_addr_t, resource_size_t) or is architecture-dependent
24for its size (e.g., tcflag_t), use a format specifier of its largest
25possible 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
30Reminder: sizeof() result is of type size_t.
31
32Thank you for your cooperation and attention.
33
34
35By 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 @@
100-INDEX
2 - this file.
3README.cycladesZ
4 - info on Cyclades-Z firmware loading.
5computone.txt
6 - info on Computone Intelliport II/Plus Multiport Serial Driver.
7digiepca.txt
8 - info on Digi Intl. {PC,PCI,EISA}Xx and Xem series cards.
9hayes-esp.txt
10 - info on using the Hayes ESP serial driver.
11moxa-smartio
12 - file with info on installing/using Moxa multiport serial driver.
13riscom8.txt
14 - notes on using the RISCom/8 multi-port serial driver.
15rocket.txt
16 - info on the Comtrol RocketPort multiport serial driver.
17specialix.txt
18 - info on hardware/driver for specialix IO8+ multiport serial card.
19stallion.txt
20 - info on using the Stallion multiport serial driver.
21sx.txt
22 - info on the Specialix SX/SI multiport serial driver.
23tty.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.
247To create the ip2mkdev shell script change to a convenient directory (/tmp 247To create the ip2mkdev shell script change to a convenient directory (/tmp
248works just fine) and run the following command: 248works 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
253You should now have a file ip2mkdev in your current working directory with 253You 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/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt
index e0e54a27fc10..3cd2ad958176 100644
--- a/Documentation/sound/alsa/ALSA-Configuration.txt
+++ b/Documentation/sound/alsa/ALSA-Configuration.txt
@@ -1072,10 +1072,13 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
1072 ref Reference board 1072 ref Reference board
1073 dell-m4-1 Dell desktops 1073 dell-m4-1 Dell desktops
1074 dell-m4-2 Dell desktops 1074 dell-m4-2 Dell desktops
1075 dell-m4-3 Dell desktops
1075 1076
1076 STAC92HD73* 1077 STAC92HD73*
1077 ref Reference board 1078 ref Reference board
1078 dell-m6 Dell desktops 1079 dell-m6-amic Dell desktops/laptops with analog mics
1080 dell-m6-dmic Dell desktops/laptops with digital mics
1081 dell-m6 Dell desktops/laptops with both type of mics
1079 1082
1080 STAC9872 1083 STAC9872
1081 vaio Setup for VAIO FE550G/SZ110 1084 vaio Setup for VAIO FE550G/SZ110
diff --git a/Documentation/spi/spi-summary b/Documentation/spi/spi-summary
index 8bae2f018d34..0f5122eb282b 100644
--- a/Documentation/spi/spi-summary
+++ b/Documentation/spi/spi-summary
@@ -215,7 +215,7 @@ So for example arch/.../mach-*/board-*.c files might have code like:
215 /* if your mach-* infrastructure doesn't support kernels that can 215 /* if your mach-* infrastructure doesn't support kernels that can
216 * run on multiple boards, pdata wouldn't benefit from "__init". 216 * run on multiple boards, pdata wouldn't benefit from "__init".
217 */ 217 */
218 static struct mysoc_spi_data __init pdata = { ... }; 218 static struct mysoc_spi_data __initdata pdata = { ... };
219 219
220 static __init board_init(void) 220 static __init board_init(void)
221 { 221 {
diff --git a/Documentation/tracers/mmiotrace.txt b/Documentation/tracers/mmiotrace.txt
index 5bbbe2096223..cde23b4a12a1 100644
--- a/Documentation/tracers/mmiotrace.txt
+++ b/Documentation/tracers/mmiotrace.txt
@@ -37,7 +37,7 @@ $ echo mmiotrace > /debug/tracing/current_tracer
37$ cat /debug/tracing/trace_pipe > mydump.txt & 37$ cat /debug/tracing/trace_pipe > mydump.txt &
38Start X or whatever. 38Start X or whatever.
39$ echo "X is up" > /debug/tracing/trace_marker 39$ echo "X is up" > /debug/tracing/trace_marker
40$ echo none > /debug/tracing/current_tracer 40$ echo nop > /debug/tracing/current_tracer
41Check for lost events. 41Check for lost events.
42 42
43 43
@@ -66,7 +66,7 @@ which action. It is recommended to place descriptive markers about what you
66do. 66do.
67 67
68Shut down mmiotrace (requires root privileges): 68Shut down mmiotrace (requires root privileges):
69$ echo none > /debug/tracing/current_tracer 69$ echo nop > /debug/tracing/current_tracer
70The 'cat' process exits. If it does not, kill it by issuing 'fg' command and 70The 'cat' process exits. If it does not, kill it by issuing 'fg' command and
71pressing ctrl+c. 71pressing ctrl+c.
72 72
@@ -81,7 +81,9 @@ are:
81$ cat /debug/tracing/trace_entries 81$ cat /debug/tracing/trace_entries
82gives you a number. Approximately double this number and write it back, for 82gives you a number. Approximately double this number and write it back, for
83instance: 83instance:
84$ echo 0 > /debug/tracing/tracing_enabled
84$ echo 128000 > /debug/tracing/trace_entries 85$ echo 128000 > /debug/tracing/trace_entries
86$ echo 1 > /debug/tracing/tracing_enabled
85Then start again from the top. 87Then start again from the top.
86 88
87If you are doing a trace for a driver project, e.g. Nouveau, you should also 89If you are doing a trace for a driver project, e.g. Nouveau, you should also
diff --git a/Documentation/usb/gadget_serial.txt b/Documentation/usb/gadget_serial.txt
index 9b22bd14c348..eac7df94d8e3 100644
--- a/Documentation/usb/gadget_serial.txt
+++ b/Documentation/usb/gadget_serial.txt
@@ -114,11 +114,11 @@ modules.
114Then you must load the gadget serial driver. To load it as an 114Then you must load the gadget serial driver. To load it as an
115ACM device (recommended for interoperability), do this: 115ACM device (recommended for interoperability), do this:
116 116
117 modprobe g_serial use_acm=1 117 modprobe g_serial
118 118
119To load it as a vendor specific bulk in/out device, do this: 119To load it as a vendor specific bulk in/out device, do this:
120 120
121 modprobe g_serial 121 modprobe g_serial use_acm=0
122 122
123This will also automatically load the underlying gadget peripheral 123This will also automatically load the underlying gadget peripheral
124controller driver. This must be done each time you reboot the gadget 124controller driver. This must be done each time you reboot the gadget
diff --git a/Documentation/usb/proc_usb_info.txt b/Documentation/usb/proc_usb_info.txt
index 077e9032d0cd..fafcd4723260 100644
--- a/Documentation/usb/proc_usb_info.txt
+++ b/Documentation/usb/proc_usb_info.txt
@@ -49,8 +49,10 @@ it and 002/048 sometime later.
49 49
50These files can be read as binary data. The binary data consists 50These files can be read as binary data. The binary data consists
51of first the device descriptor, then the descriptors for each 51of first the device descriptor, then the descriptors for each
52configuration of the device. That information is also shown in 52configuration of the device. Multi-byte fields in the device and
53text form by the /proc/bus/usb/devices file, described later. 53configuration descriptors, but not other descriptors, are converted
54to host endianness by the kernel. This information is also shown
55in text form by the /proc/bus/usb/devices file, described later.
54 56
55These files may also be used to write user-level drivers for the USB 57These files may also be used to write user-level drivers for the USB
56devices. You would open the /proc/bus/usb/BBB/DDD file read/write, 58devices. You would open the /proc/bus/usb/BBB/DDD file read/write,
diff --git a/Documentation/usb/usbmon.txt b/Documentation/usb/usbmon.txt
index 2917ce4ffdc4..270481906dc8 100644
--- a/Documentation/usb/usbmon.txt
+++ b/Documentation/usb/usbmon.txt
@@ -34,11 +34,12 @@ if usbmon is built into the kernel.
34Verify that bus sockets are present. 34Verify that bus sockets are present.
35 35
36# ls /sys/kernel/debug/usbmon 36# ls /sys/kernel/debug/usbmon
370s 0t 0u 1s 1t 1u 2s 2t 2u 3s 3t 3u 4s 4t 4u 370s 0u 1s 1t 1u 2s 2t 2u 3s 3t 3u 4s 4t 4u
38# 38#
39 39
40Now you can choose to either use the sockets numbered '0' (to capture packets on 40Now you can choose to either use the socket '0u' (to capture packets on all
41all buses), and skip to step #3, or find the bus used by your device with step #2. 41buses), and skip to step #3, or find the bus used by your device with step #2.
42This allows to filter away annoying devices that talk continuously.
42 43
432. Find which bus connects to the desired device 442. Find which bus connects to the desired device
44 45
@@ -99,8 +100,9 @@ on the event type, but there is a set of words, common for all types.
99 100
100Here is the list of words, from left to right: 101Here is the list of words, from left to right:
101 102
102- URB Tag. This is used to identify URBs is normally a kernel mode address 103- URB Tag. This is used to identify URBs, and is normally an in-kernel address
103 of the URB structure in hexadecimal. 104 of the URB structure in hexadecimal, but can be a sequence number or any
105 other unique string, within reason.
104 106
105- Timestamp in microseconds, a decimal number. The timestamp's resolution 107- Timestamp in microseconds, a decimal number. The timestamp's resolution
106 depends on available clock, and so it can be much worse than a microsecond 108 depends on available clock, and so it can be much worse than a microsecond
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
29vbi 29vbi
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
34how to add support for new cards 34how 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 @@
1Driver for USB radios for the Silicon Labs Si470x FM Radio Receivers
2
3Copyright (c) 2008 Tobias Lorenz <tobias.lorenz@gmx.net>
4
5
6Information from Silicon Labs
7=============================
8Silicon Laboratories is the manufacturer of the radio ICs, that nowadays are the
9most often used radio receivers in cell phones. Usually they are connected with
10I2C. But SiLabs also provides a reference design, which integrates this IC,
11together with a small microcontroller C8051F321, to form a USB radio.
12Part of this reference design is also a radio application in binary and source
13code. The software also contains an automatic firmware upgrade to the most
14current version. Information on these can be downloaded here:
15http://www.silabs.com/usbradio
16
17
18Supported ICs
19=============
20The following ICs have a very similar register set, so that they are or will be
21supported 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
33More information on these can be downloaded here:
34http://www.silabs.com/products/mcu/Pages/USBFMRadioRD.aspx
35
36
37Supported USB devices
38=====================
39Currently the following USB radios (vendor:product) with the Silicon Labs si470x
40chips 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
46Software
47========
48Testing 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
55There is also a library libv4l, which can be used. It's going to have a function
56for frequency seeking, either by using hardware functionality as in radio-si470x
57or by implementing a function as we currently have in every of the mentioned
58programs. Somewhen the radio programs should make use of libv4l.
59
60For processing RDS information, there is a project ongoing at:
61http://rdsd.berlios.de/
62
63There is currently no project for making TMC sentences human readable.
64
65
66Audio Listing
67=============
68USB Audio is provided by the ALSA snd_usb_audio module. It is recommended to
69also select SND_USB_AUDIO, as this is required to get sound from the radio. For
70listing you have to redirect the sound, for example using one of the following
71commands.
72
73If you just want to test audio (very poor quality):
74cat /dev/dsp1 > /dev/dsp
75
76If you use OSS try:
77sox -2 --endian little -r 96000 -t oss /dev/dsp1 -t oss /dev/dsp
78
79If you use arts try:
80arecord -D hw:1,0 -r96000 -c2 -f S16_LE | artsdsp aplay -B -
81
82
83Module Parameters
84=================
85After loading the module, you still have access to some of them in the sysfs
86mount 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
88video controls. The others are runtime changeable.
89
90
91Errors
92======
93Increase tune_timeout, if you often get -EIO errors.
94
95When timed out or band limit is reached, hw_freq_seek returns -EAGAIN.
96
97If you get any errors from snd_usb_audio, please report them to the ALSA people.
98
99
100Open Issues
101===========
102V4L minor device allocation and parameter setting is not perfect. A solution is
103currently under discussion.
104
105There is an USB interface for downloading/uploading new firmware images. Support
106for it can be implemented using the request_firmware interface.
107
108There is a RDS interrupt mode. The driver is already using the same interface
109for polling RDS information, but is currently not using the interrupt mode.
110
111There is a LED interface, which can be used to override the LED control
112programmed in the firmware. This can be made available using the LED support
113functions in the kernel.
114
115
116Other useful information and links
117==================================
118http://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 @@
1Kernel driver for omap HDQ/1-wire module.
2========================================
3
4Supported chips:
5================
6 HDQ/1-wire controller on the TI OMAP 2430/3430 platforms.
7
8A useful link about HDQ basics:
9===============================
10http://focus.ti.com/lit/an/slua408/slua408.pdf
11
12Description:
13============
14The HDQ/1-Wire module of TI OMAP2430/3430 platforms implement the hardware
15protocol of the master functions of the Benchmark HDQ and the Dallas
16Semiconductor 1-Wire protocols. These protocols use a single wire for
17communication between the master (HDQ/1-Wire controller) and the slave
18(HDQ/1-Wire external compliant device).
19
20A typical application of the HDQ/1-Wire module is the communication with battery
21monitor (gas gauge) integrated circuits.
22
23The controller supports operation in both HDQ and 1-wire mode. The essential
24difference between the HDQ and 1-wire mode is how the slave device responds to
25initialization pulse.In HDQ mode, the firmware does not require the host to
26create an initialization pulse to the slave.However, the slave can be reset by
27using an initialization pulse (also referred to as a break pulse).The slave
28does not respond with a presence pulse as it does in the 1-Wire protocol.
29
30Remarks:
31========
32The driver (drivers/w1/masters/omap_hdq.c) supports the HDQ mode of the
33controller. In this mode, as we can not read the ID which obeys the W1
34spec(family:id:crc), a module parameter can be passed to the driver which will
35be used to calculate the CRC and pass back an appropriate slave ID to the W1
36core.
37
38By default the master driver and the BQ slave i/f
39driver(drivers/w1/slaves/w1_bq27000.c) sets the ID to 1.
40Please note to load both the modules with a different ID if required, but note
41that the ID used should be same for both master and slave driver loading.
42
43e.g:
44insmod omap_hdq.ko W1_ID=2
45inamod w1_bq27000.ko F_ID=2
46