aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/ABI/testing/sysfs-devices-memory51
-rw-r--r--Documentation/DMA-mapping.txt2
-rw-r--r--Documentation/DocBook/uio-howto.tmpl101
-rw-r--r--Documentation/blackfin/00-INDEX3
-rw-r--r--Documentation/blackfin/bfin-gpio-notes.txt71
-rw-r--r--Documentation/dell_rbu.txt4
-rw-r--r--Documentation/feature-removal-schedule.txt20
-rw-r--r--Documentation/filesystems/Locking2
-rw-r--r--Documentation/filesystems/ocfs2.txt3
-rw-r--r--Documentation/filesystems/proc.txt26
-rw-r--r--Documentation/hwmon/abituguru-datasheet6
-rw-r--r--Documentation/hwmon/adt747019
-rw-r--r--Documentation/hwmon/f71882fg89
-rw-r--r--Documentation/hwmon/it8720
-rw-r--r--Documentation/hwmon/lm7012
-rw-r--r--Documentation/hwmon/lm852
-rw-r--r--Documentation/hwmon/ltc424581
-rw-r--r--Documentation/ide/warm-plug-howto.txt5
-rw-r--r--Documentation/input/walkera0701.txt109
-rw-r--r--Documentation/ioctl/ioctl-number.txt8
-rw-r--r--Documentation/kernel-doc-nano-HOWTO.txt34
-rw-r--r--Documentation/kernel-parameters.txt29
-rw-r--r--Documentation/kobject.txt4
-rw-r--r--Documentation/kprobes.txt5
-rw-r--r--Documentation/laptops/thinkpad-acpi.txt2
-rw-r--r--Documentation/magic-number.txt6
-rw-r--r--Documentation/memory-hotplug.txt16
-rw-r--r--Documentation/mips/AU1xxx_IDE.README2
-rw-r--r--Documentation/networking/rxrpc.txt2
-rw-r--r--Documentation/networking/tuntap.txt2
-rw-r--r--Documentation/powerpc/cpu_features.txt2
-rw-r--r--Documentation/s390/Debugging390.txt2
-rw-r--r--Documentation/s390/cds.txt2
-rw-r--r--Documentation/s390/s390dbf.txt2
-rw-r--r--Documentation/scsi/ChangeLog.lpfc2
-rw-r--r--Documentation/scsi/ChangeLog.ncr53c8xx2
-rw-r--r--Documentation/scsi/ChangeLog.sym53c8xx2
-rw-r--r--Documentation/spi/spi-lm70llp10
-rw-r--r--Documentation/sysctl/vm.txt3
-rw-r--r--Documentation/vm/unevictable-lru.txt63
-rw-r--r--Documentation/x86/zero-page.txt2
41 files changed, 715 insertions, 113 deletions
diff --git a/Documentation/ABI/testing/sysfs-devices-memory b/Documentation/ABI/testing/sysfs-devices-memory
index 7a16fe1e2270..9fe91c02ee40 100644
--- a/Documentation/ABI/testing/sysfs-devices-memory
+++ b/Documentation/ABI/testing/sysfs-devices-memory
@@ -6,7 +6,6 @@ Description:
6 internal state of the kernel memory blocks. Files could be 6 internal state of the kernel memory blocks. Files could be
7 added or removed dynamically to represent hot-add/remove 7 added or removed dynamically to represent hot-add/remove
8 operations. 8 operations.
9
10Users: hotplug memory add/remove tools 9Users: hotplug memory add/remove tools
11 https://w3.opensource.ibm.com/projects/powerpc-utils/ 10 https://w3.opensource.ibm.com/projects/powerpc-utils/
12 11
@@ -19,6 +18,56 @@ Description:
19 This is useful for a user-level agent to determine 18 This is useful for a user-level agent to determine
20 identify removable sections of the memory before attempting 19 identify removable sections of the memory before attempting
21 potentially expensive hot-remove memory operation 20 potentially expensive hot-remove memory operation
21Users: hotplug memory remove tools
22 https://w3.opensource.ibm.com/projects/powerpc-utils/
23
24What: /sys/devices/system/memory/memoryX/phys_device
25Date: September 2008
26Contact: Badari Pulavarty <pbadari@us.ibm.com>
27Description:
28 The file /sys/devices/system/memory/memoryX/phys_device
29 is read-only and is designed to show the name of physical
30 memory device. Implementation is currently incomplete.
22 31
32What: /sys/devices/system/memory/memoryX/phys_index
33Date: September 2008
34Contact: Badari Pulavarty <pbadari@us.ibm.com>
35Description:
36 The file /sys/devices/system/memory/memoryX/phys_index
37 is read-only and contains the section ID in hexadecimal
38 which is equivalent to decimal X contained in the
39 memory section directory name.
40
41What: /sys/devices/system/memory/memoryX/state
42Date: September 2008
43Contact: Badari Pulavarty <pbadari@us.ibm.com>
44Description:
45 The file /sys/devices/system/memory/memoryX/state
46 is read-write. When read, it's contents show the
47 online/offline state of the memory section. When written,
48 root can toggle the the online/offline state of a removable
49 memory section (see removable file description above)
50 using the following commands.
51 # echo online > /sys/devices/system/memory/memoryX/state
52 # echo offline > /sys/devices/system/memory/memoryX/state
53
54 For example, if /sys/devices/system/memory/memory22/removable
55 contains a value of 1 and
56 /sys/devices/system/memory/memory22/state contains the
57 string "online" the following command can be executed by
58 by root to offline that section.
59 # echo offline > /sys/devices/system/memory/memory22/state
23Users: hotplug memory remove tools 60Users: hotplug memory remove tools
24 https://w3.opensource.ibm.com/projects/powerpc-utils/ 61 https://w3.opensource.ibm.com/projects/powerpc-utils/
62
63What: /sys/devices/system/node/nodeX/memoryY
64Date: September 2008
65Contact: Gary Hade <garyhade@us.ibm.com>
66Description:
67 When CONFIG_NUMA is enabled
68 /sys/devices/system/node/nodeX/memoryY is a symbolic link that
69 points to the corresponding /sys/devices/system/memory/memoryY
70 memory section directory. For example, the following symbolic
71 link is created for memory section 9 on node0.
72 /sys/devices/system/node/node0/memory9 -> ../../memory/memory9
73
diff --git a/Documentation/DMA-mapping.txt b/Documentation/DMA-mapping.txt
index c74fec8c2351..b2a4d6d244d9 100644
--- a/Documentation/DMA-mapping.txt
+++ b/Documentation/DMA-mapping.txt
@@ -26,7 +26,7 @@ mapped only for the time they are actually used and unmapped after the DMA
26transfer. 26transfer.
27 27
28The following API will work of course even on platforms where no such 28The following API will work of course even on platforms where no such
29hardware exists, see e.g. include/asm-i386/pci.h for how it is implemented on 29hardware exists, see e.g. arch/x86/include/asm/pci.h for how it is implemented on
30top of the virt_to_bus interface. 30top of the virt_to_bus interface.
31 31
32First of all, you should make sure 32First of all, you should make sure
diff --git a/Documentation/DocBook/uio-howto.tmpl b/Documentation/DocBook/uio-howto.tmpl
index df87d1b93605..b787e4721c90 100644
--- a/Documentation/DocBook/uio-howto.tmpl
+++ b/Documentation/DocBook/uio-howto.tmpl
@@ -42,6 +42,12 @@ GPL version 2.
42 42
43<revhistory> 43<revhistory>
44 <revision> 44 <revision>
45 <revnumber>0.6</revnumber>
46 <date>2008-12-05</date>
47 <authorinitials>hjk</authorinitials>
48 <revremark>Added description of portio sysfs attributes.</revremark>
49 </revision>
50 <revision>
45 <revnumber>0.5</revnumber> 51 <revnumber>0.5</revnumber>
46 <date>2008-05-22</date> 52 <date>2008-05-22</date>
47 <authorinitials>hjk</authorinitials> 53 <authorinitials>hjk</authorinitials>
@@ -318,6 +324,54 @@ interested in translating it, please email me
318offset = N * getpagesize(); 324offset = N * getpagesize();
319</programlisting> 325</programlisting>
320 326
327<para>
328 Sometimes there is hardware with memory-like regions that can not be
329 mapped with the technique described here, but there are still ways to
330 access them from userspace. The most common example are x86 ioports.
331 On x86 systems, userspace can access these ioports using
332 <function>ioperm()</function>, <function>iopl()</function>,
333 <function>inb()</function>, <function>outb()</function>, and similar
334 functions.
335</para>
336<para>
337 Since these ioport regions can not be mapped, they will not appear under
338 <filename>/sys/class/uio/uioX/maps/</filename> like the normal memory
339 described above. Without information about the port regions a hardware
340 has to offer, it becomes difficult for the userspace part of the
341 driver to find out which ports belong to which UIO device.
342</para>
343<para>
344 To address this situation, the new directory
345 <filename>/sys/class/uio/uioX/portio/</filename> was added. It only
346 exists if the driver wants to pass information about one or more port
347 regions to userspace. If that is the case, subdirectories named
348 <filename>port0</filename>, <filename>port1</filename>, and so on,
349 will appear underneath
350 <filename>/sys/class/uio/uioX/portio/</filename>.
351</para>
352<para>
353 Each <filename>portX/</filename> directory contains three read-only
354 files that show start, size, and type of the port region:
355</para>
356<itemizedlist>
357<listitem>
358 <para>
359 <filename>start</filename>: The first port of this region.
360 </para>
361</listitem>
362<listitem>
363 <para>
364 <filename>size</filename>: The number of ports in this region.
365 </para>
366</listitem>
367<listitem>
368 <para>
369 <filename>porttype</filename>: A string describing the type of port.
370 </para>
371</listitem>
372</itemizedlist>
373
374
321</sect1> 375</sect1>
322</chapter> 376</chapter>
323 377
@@ -339,12 +393,12 @@ offset = N * getpagesize();
339 393
340<itemizedlist> 394<itemizedlist>
341<listitem><para> 395<listitem><para>
342<varname>char *name</varname>: Required. The name of your driver as 396<varname>const char *name</varname>: Required. The name of your driver as
343it will appear in sysfs. I recommend using the name of your module for this. 397it will appear in sysfs. I recommend using the name of your module for this.
344</para></listitem> 398</para></listitem>
345 399
346<listitem><para> 400<listitem><para>
347<varname>char *version</varname>: Required. This string appears in 401<varname>const char *version</varname>: Required. This string appears in
348<filename>/sys/class/uio/uioX/version</filename>. 402<filename>/sys/class/uio/uioX/version</filename>.
349</para></listitem> 403</para></listitem>
350 404
@@ -356,6 +410,13 @@ See the description below for details.
356</para></listitem> 410</para></listitem>
357 411
358<listitem><para> 412<listitem><para>
413<varname>struct uio_port port[ MAX_UIO_PORTS_REGIONS ]</varname>: Required
414if you want to pass information about ioports to userspace. For each port
415region you need to fill one of the <varname>uio_port</varname> structures.
416See the description below for details.
417</para></listitem>
418
419<listitem><para>
359<varname>long irq</varname>: Required. If your hardware generates an 420<varname>long irq</varname>: Required. If your hardware generates an
360interrupt, it's your modules task to determine the irq number during 421interrupt, it's your modules task to determine the irq number during
361initialization. If you don't have a hardware generated interrupt but 422initialization. If you don't have a hardware generated interrupt but
@@ -448,6 +509,42 @@ Please do not touch the <varname>kobj</varname> element of
448<varname>struct uio_mem</varname>! It is used by the UIO framework 509<varname>struct uio_mem</varname>! It is used by the UIO framework
449to set up sysfs files for this mapping. Simply leave it alone. 510to set up sysfs files for this mapping. Simply leave it alone.
450</para> 511</para>
512
513<para>
514Sometimes, your device can have one or more port regions which can not be
515mapped to userspace. But if there are other possibilities for userspace to
516access these ports, it makes sense to make information about the ports
517available in sysfs. For each region, you have to set up a
518<varname>struct uio_port</varname> in the <varname>port[]</varname> array.
519Here's a description of the fields of <varname>struct uio_port</varname>:
520</para>
521
522<itemizedlist>
523<listitem><para>
524<varname>char *porttype</varname>: Required. Set this to one of the predefined
525constants. Use <varname>UIO_PORT_X86</varname> for the ioports found in x86
526architectures.
527</para></listitem>
528
529<listitem><para>
530<varname>unsigned long start</varname>: Required if the port region is used.
531Fill in the number of the first port of this region.
532</para></listitem>
533
534<listitem><para>
535<varname>unsigned long size</varname>: Fill in the number of ports in this
536region. If <varname>size</varname> is zero, the region is considered unused.
537Note that you <emphasis>must</emphasis> initialize <varname>size</varname>
538with zero for all unused regions.
539</para></listitem>
540</itemizedlist>
541
542<para>
543Please do not touch the <varname>portio</varname> element of
544<varname>struct uio_port</varname>! It is used internally by the UIO
545framework to set up sysfs files for this region. Simply leave it alone.
546</para>
547
451</sect1> 548</sect1>
452 549
453<sect1 id="adding_irq_handler"> 550<sect1 id="adding_irq_handler">
diff --git a/Documentation/blackfin/00-INDEX b/Documentation/blackfin/00-INDEX
index 7cb3b356b249..d6840a91e1e1 100644
--- a/Documentation/blackfin/00-INDEX
+++ b/Documentation/blackfin/00-INDEX
@@ -9,3 +9,6 @@ cachefeatures.txt
9 9
10Filesystems 10Filesystems
11 - Requirements for mounting the root file system. 11 - Requirements for mounting the root file system.
12
13bfin-gpio-note.txt
14 - Notes in developing/using bfin-gpio driver.
diff --git a/Documentation/blackfin/bfin-gpio-notes.txt b/Documentation/blackfin/bfin-gpio-notes.txt
new file mode 100644
index 000000000000..9898c7ded7d3
--- /dev/null
+++ b/Documentation/blackfin/bfin-gpio-notes.txt
@@ -0,0 +1,71 @@
1/*
2 * File: Documentation/blackfin/bfin-gpio-note.txt
3 * Based on:
4 * Author:
5 *
6 * Created: $Id: bfin-gpio-note.txt 2008-11-24 16:42 grafyang $
7 * Description: This file contains the notes in developing/using bfin-gpio.
8 *
9 *
10 * Rev:
11 *
12 * Modified:
13 * Copyright 2004-2008 Analog Devices Inc.
14 *
15 * Bugs: Enter bugs at http://blackfin.uclinux.org/
16 *
17 */
18
19
201. Blackfin GPIO introduction
21
22 There are many GPIO pins on Blackfin. Most of these pins are muxed to
23 multi-functions. They can be configured as peripheral, or just as GPIO,
24 configured to input with interrupt enabled, or output.
25
26 For detailed information, please see "arch/blackfin/kernel/bfin_gpio.c",
27 or the relevant HRM.
28
29
302. Avoiding resource conflict
31
32 Followed function groups are used to avoiding resource conflict,
33 - Use the pin as peripheral,
34 int peripheral_request(unsigned short per, const char *label);
35 int peripheral_request_list(const unsigned short per[], const char *label);
36 void peripheral_free(unsigned short per);
37 void peripheral_free_list(const unsigned short per[]);
38 - Use the pin as GPIO,
39 int bfin_gpio_request(unsigned gpio, const char *label);
40 void bfin_gpio_free(unsigned gpio);
41 - Use the pin as GPIO interrupt,
42 int bfin_gpio_irq_request(unsigned gpio, const char *label);
43 void bfin_gpio_irq_free(unsigned gpio);
44
45 The request functions will record the function state for a certain pin,
46 the free functions will clear it's function state.
47 Once a pin is requested, it can't be requested again before it is freed by
48 previous caller, otherwise kernel will dump stacks, and the request
49 function fail.
50 These functions are wrapped by other functions, most of the users need not
51 care.
52
53
543. But there are some exceptions
55 - Kernel permit the identical GPIO be requested both as GPIO and GPIO
56 interrut.
57 Some drivers, like gpio-keys, need this behavior. Kernel only print out
58 warning messages like,
59 bfin-gpio: GPIO 24 is already reserved by gpio-keys: BTN0, and you are
60configuring it as IRQ!
61
62 Note: Consider the case that, if there are two drivers need the
63 identical GPIO, one of them use it as GPIO, the other use it as
64 GPIO interrupt. This will really cause resource conflict. So if
65 there is any abnormal driver behavior, please check the bfin-gpio
66 warning messages.
67
68 - Kernel permit the identical GPIO be requested from the same driver twice.
69
70
71
diff --git a/Documentation/dell_rbu.txt b/Documentation/dell_rbu.txt
index 2c0d631de0cf..c11b931f8f98 100644
--- a/Documentation/dell_rbu.txt
+++ b/Documentation/dell_rbu.txt
@@ -81,8 +81,8 @@ Until this step is completed the driver cannot be unloaded.
81Also echoing either mono ,packet or init in to image_type will free up the 81Also echoing either mono ,packet or init in to image_type will free up the
82memory allocated by the driver. 82memory allocated by the driver.
83 83
84If an user by accident executes steps 1 and 3 above without executing step 2; 84If a user by accident executes steps 1 and 3 above without executing step 2;
85it will make the /sys/class/firmware/dell_rbu/ entries to disappear. 85it will make the /sys/class/firmware/dell_rbu/ entries disappear.
86The entries can be recreated by doing the following 86The entries can be recreated by doing the following
87echo init > /sys/devices/platform/dell_rbu/image_type 87echo init > /sys/devices/platform/dell_rbu/image_type
88NOTE: echoing init in image_type does not change it original value. 88NOTE: echoing init in image_type does not change it original value.
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index df18d87c4837..5ddbe350487a 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -315,3 +315,23 @@ When: 2.6.29 (ideally) or 2.6.30 (more likely)
315Why: Deprecated by the new (standard) device driver binding model. Use 315Why: Deprecated by the new (standard) device driver binding model. Use
316 i2c_driver->probe() and ->remove() instead. 316 i2c_driver->probe() and ->remove() instead.
317Who: Jean Delvare <khali@linux-fr.org> 317Who: Jean Delvare <khali@linux-fr.org>
318
319---------------------------
320
321What: fscher and fscpos drivers
322When: June 2009
323Why: Deprecated by the new fschmd driver.
324Who: Hans de Goede <hdegoede@redhat.com>
325 Jean Delvare <khali@linux-fr.org>
326
327---------------------------
328
329What: SELinux "compat_net" functionality
330When: 2.6.30 at the earliest
331Why: In 2.6.18 the Secmark concept was introduced to replace the "compat_net"
332 network access control functionality of SELinux. Secmark offers both
333 better performance and greater flexibility than the "compat_net"
334 mechanism. Now that the major Linux distributions have moved to
335 Secmark, it is time to deprecate the older mechanism and start the
336 process of removing the old code.
337Who: Paul Moore <paul.moore@hp.com>
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking
index ccec55394380..cfbfa15a46ba 100644
--- a/Documentation/filesystems/Locking
+++ b/Documentation/filesystems/Locking
@@ -397,7 +397,7 @@ prototypes:
397}; 397};
398 398
399locking rules: 399locking rules:
400 All except ->poll() may block. 400 All may block.
401 BKL 401 BKL
402llseek: no (see below) 402llseek: no (see below)
403read: no 403read: no
diff --git a/Documentation/filesystems/ocfs2.txt b/Documentation/filesystems/ocfs2.txt
index 67310fbbb7df..c2a0871280a0 100644
--- a/Documentation/filesystems/ocfs2.txt
+++ b/Documentation/filesystems/ocfs2.txt
@@ -31,7 +31,6 @@ Features which OCFS2 does not support yet:
31 - quotas 31 - quotas
32 - Directory change notification (F_NOTIFY) 32 - Directory change notification (F_NOTIFY)
33 - Distributed Caching (F_SETLEASE/F_GETLEASE/break_lease) 33 - Distributed Caching (F_SETLEASE/F_GETLEASE/break_lease)
34 - POSIX ACLs
35 34
36Mount options 35Mount options
37============= 36=============
@@ -79,3 +78,5 @@ inode64 Indicates that Ocfs2 is allowed to create inodes at
79 bits of significance. 78 bits of significance.
80user_xattr (*) Enables Extended User Attributes. 79user_xattr (*) Enables Extended User Attributes.
81nouser_xattr Disables Extended User Attributes. 80nouser_xattr Disables Extended User Attributes.
81acl Enables POSIX Access Control Lists support.
82noacl (*) Disables POSIX Access Control Lists support.
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt
index 334ef2f983fa..d105eb45282a 100644
--- a/Documentation/filesystems/proc.txt
+++ b/Documentation/filesystems/proc.txt
@@ -1386,6 +1386,15 @@ swapcache reclaim. Decreasing vfs_cache_pressure causes the kernel to prefer
1386to retain dentry and inode caches. Increasing vfs_cache_pressure beyond 100 1386to retain dentry and inode caches. Increasing vfs_cache_pressure beyond 100
1387causes the kernel to prefer to reclaim dentries and inodes. 1387causes the kernel to prefer to reclaim dentries and inodes.
1388 1388
1389dirty_background_bytes
1390----------------------
1391
1392Contains the amount of dirty memory at which the pdflush background writeback
1393daemon will start writeback.
1394
1395If dirty_background_bytes is written, dirty_background_ratio becomes a function
1396of its value (dirty_background_bytes / the amount of dirtyable system memory).
1397
1389dirty_background_ratio 1398dirty_background_ratio
1390---------------------- 1399----------------------
1391 1400
@@ -1394,14 +1403,29 @@ pages + file cache, not including locked pages and HugePages), the number of
1394pages at which the pdflush background writeback daemon will start writing out 1403pages at which the pdflush background writeback daemon will start writing out
1395dirty data. 1404dirty data.
1396 1405
1406If dirty_background_ratio is written, dirty_background_bytes becomes a function
1407of its value (dirty_background_ratio * the amount of dirtyable system memory).
1408
1409dirty_bytes
1410-----------
1411
1412Contains the amount of dirty memory at which a process generating disk writes
1413will itself start writeback.
1414
1415If dirty_bytes is written, dirty_ratio becomes a function of its value
1416(dirty_bytes / the amount of dirtyable system memory).
1417
1397dirty_ratio 1418dirty_ratio
1398----------------- 1419-----------
1399 1420
1400Contains, as a percentage of the dirtyable system memory (free pages + mapped 1421Contains, as a percentage of the dirtyable system memory (free pages + mapped
1401pages + file cache, not including locked pages and HugePages), the number of 1422pages + file cache, not including locked pages and HugePages), the number of
1402pages at which a process which is generating disk writes will itself start 1423pages at which a process which is generating disk writes will itself start
1403writing out dirty data. 1424writing out dirty data.
1404 1425
1426If dirty_ratio is written, dirty_bytes becomes a function of its value
1427(dirty_ratio * the amount of dirtyable system memory).
1428
1405dirty_writeback_centisecs 1429dirty_writeback_centisecs
1406------------------------- 1430-------------------------
1407 1431
diff --git a/Documentation/hwmon/abituguru-datasheet b/Documentation/hwmon/abituguru-datasheet
index aef5a9b36846..4d184f2db0ea 100644
--- a/Documentation/hwmon/abituguru-datasheet
+++ b/Documentation/hwmon/abituguru-datasheet
@@ -74,7 +74,7 @@ a sensor.
74Notice that some banks have both a read and a write address this is how the 74Notice that some banks have both a read and a write address this is how the
75uGuru determines if a read from or a write to the bank is taking place, thus 75uGuru determines if a read from or a write to the bank is taking place, thus
76when reading you should always use the read address and when writing the 76when reading you should always use the read address and when writing the
77write address. The write address is always one (1) more then the read address. 77write address. The write address is always one (1) more than the read address.
78 78
79 79
80uGuru ready 80uGuru ready
@@ -224,7 +224,7 @@ Bit 3: Beep if alarm (RW)
224Bit 4: 1 if alarm cause measured temp is over the warning threshold (R) 224Bit 4: 1 if alarm cause measured temp is over the warning threshold (R)
225Bit 5: 1 if alarm cause measured volt is over the max threshold (R) 225Bit 5: 1 if alarm cause measured volt is over the max threshold (R)
226Bit 6: 1 if alarm cause measured volt is under the min threshold (R) 226Bit 6: 1 if alarm cause measured volt is under the min threshold (R)
227Bit 7: Volt sensor: Shutdown if alarm persist for more then 4 seconds (RW) 227Bit 7: Volt sensor: Shutdown if alarm persist for more than 4 seconds (RW)
228 Temp sensor: Shutdown if temp is over the shutdown threshold (RW) 228 Temp sensor: Shutdown if temp is over the shutdown threshold (RW)
229 229
230* This bit is only honored/used by the uGuru if a temp sensor is connected 230* This bit is only honored/used by the uGuru if a temp sensor is connected
@@ -293,7 +293,7 @@ Byte 0:
293Alarm behaviour for the selected sensor. A 1 enables the described behaviour. 293Alarm behaviour for the selected sensor. A 1 enables the described behaviour.
294Bit 0: Give an alarm if measured rpm is under the min threshold (RW) 294Bit 0: Give an alarm if measured rpm is under the min threshold (RW)
295Bit 3: Beep if alarm (RW) 295Bit 3: Beep if alarm (RW)
296Bit 7: Shutdown if alarm persist for more then 4 seconds (RW) 296Bit 7: Shutdown if alarm persist for more than 4 seconds (RW)
297 297
298Byte 1: 298Byte 1:
299min threshold (scale as bank 0x26) 299min threshold (scale as bank 0x26)
diff --git a/Documentation/hwmon/adt7470 b/Documentation/hwmon/adt7470
index 75d13ca147cc..8ce4aa0a0f55 100644
--- a/Documentation/hwmon/adt7470
+++ b/Documentation/hwmon/adt7470
@@ -31,15 +31,11 @@ Each of the measured inputs (temperature, fan speed) has corresponding high/low
31limit values. The ADT7470 will signal an ALARM if any measured value exceeds 31limit values. The ADT7470 will signal an ALARM if any measured value exceeds
32either limit. 32either limit.
33 33
34The ADT7470 DOES NOT sample all inputs continuously. A single pin on the 34The ADT7470 samples all inputs continuously. A kernel thread is started up for
35ADT7470 is connected to a multitude of thermal diodes, but the chip must be 35the purpose of periodically querying the temperature sensors, thus allowing the
36instructed explicitly to read the multitude of diodes. If you want to use 36automatic fan pwm control to set the fan speed. The driver will not read the
37automatic fan control mode, you must manually read any of the temperature 37registers more often than once every 5 seconds. Further, configuration data is
38sensors or the fan control algorithm will not run. The chip WILL NOT DO THIS 38only read once per minute.
39AUTOMATICALLY; this must be done from userspace. This may be a bug in the chip
40design, given that many other AD chips take care of this. The driver will not
41read the registers more often than once every 5 seconds. Further,
42configuration data is only read once per minute.
43 39
44Special Features 40Special Features
45---------------- 41----------------
@@ -72,5 +68,6 @@ pwm#_auto_point2_temp.
72Notes 68Notes
73----- 69-----
74 70
75As stated above, the temperature inputs must be read periodically from 71The temperature inputs no longer need to be read periodically from userspace in
76userspace in order for the automatic pwm algorithm to run. 72order for the automatic pwm algorithm to run. This was the case for earlier
73versions of the driver.
diff --git a/Documentation/hwmon/f71882fg b/Documentation/hwmon/f71882fg
new file mode 100644
index 000000000000..a8321267b5b6
--- /dev/null
+++ b/Documentation/hwmon/f71882fg
@@ -0,0 +1,89 @@
1Kernel driver f71882fg
2======================
3
4Supported chips:
5 * Fintek F71882FG and F71883FG
6 Prefix: 'f71882fg'
7 Addresses scanned: none, address read from Super I/O config space
8 Datasheet: Available from the Fintek website
9 * Fintek F71862FG and F71863FG
10 Prefix: 'f71862fg'
11 Addresses scanned: none, address read from Super I/O config space
12 Datasheet: Available from the Fintek website
13 * Fintek F8000
14 Prefix: 'f8000'
15 Addresses scanned: none, address read from Super I/O config space
16 Datasheet: Not public
17
18Author: Hans de Goede <hdegoede@redhat.com>
19
20
21Description
22-----------
23
24Fintek F718xxFG/F8000 Super I/O chips include complete hardware monitoring
25capabilities. They can monitor up to 9 voltages (3 for the F8000), 4 fans and
263 temperature sensors.
27
28These chips also have fan controlling features, using either DC or PWM, in
29three different modes (one manual, two automatic).
30
31The driver assumes that no more than one chip is present, which seems
32reasonable.
33
34
35Monitoring
36----------
37
38The Voltage, Fan and Temperature Monitoring uses the standard sysfs
39interface as documented in sysfs-interface, without any exceptions.
40
41
42Fan Control
43-----------
44
45Both PWM (pulse-width modulation) and DC fan speed control methods are
46supported. The right one to use depends on external circuitry on the
47motherboard, so the driver assumes that the BIOS set the method
48properly.
49
50There are 2 modes to specify the speed of the fan, PWM duty cycle (or DC
51voltage) mode, where 0-100% duty cycle (0-100% of 12V) is specified. And RPM
52mode where the actual RPM of the fan (as measured) is controlled and the speed
53gets specified as 0-100% of the fan#_full_speed file.
54
55Since both modes work in a 0-100% (mapped to 0-255) scale, there isn't a
56whole lot of a difference when modifying fan control settings. The only
57important difference is that in RPM mode the 0-100% controls the fan speed
58between 0-100% of fan#_full_speed. It is assumed that if the BIOS programs
59RPM mode, it will also set fan#_full_speed properly, if it does not then
60fan control will not work properly, unless you set a sane fan#_full_speed
61value yourself.
62
63Switching between these modes requires re-initializing a whole bunch of
64registers, so the mode which the BIOS has set is kept. The mode is
65printed when loading the driver.
66
67Three different fan control modes are supported; the mode number is written
68to the pwm#_enable file. Note that not all modes are supported on all
69chips, and some modes may only be available in RPM / PWM mode on the F8000.
70Writing an unsupported mode will result in an invalid parameter error.
71
72* 1: Manual mode
73 You ask for a specific PWM duty cycle / DC voltage or a specific % of
74 fan#_full_speed by writing to the pwm# file. This mode is only
75 available on the F8000 if the fan channel is in RPM mode.
76
77* 2: Normal auto mode
78 You can define a number of temperature/fan speed trip points, which % the
79 fan should run at at this temp and which temp a fan should follow using the
80 standard sysfs interface. The number and type of trip points is chip
81 depended, see which files are available in sysfs.
82 Fan/PWM channel 3 of the F8000 is always in this mode!
83
84* 3: Thermostat mode (Only available on the F8000 when in duty cycle mode)
85 The fan speed is regulated to keep the temp the fan is mapped to between
86 temp#_auto_point2_temp and temp#_auto_point3_temp.
87
88Both of the automatic modes require that pwm1 corresponds to fan1, pwm2 to
89fan2 and pwm3 to fan3.
diff --git a/Documentation/hwmon/it87 b/Documentation/hwmon/it87
index 042c0415140b..659315d98e00 100644
--- a/Documentation/hwmon/it87
+++ b/Documentation/hwmon/it87
@@ -26,6 +26,10 @@ Supported chips:
26 Datasheet: Publicly available at the ITE website 26 Datasheet: Publicly available at the ITE website
27 http://www.ite.com.tw/product_info/file/pc/IT8718F_V0.2.zip 27 http://www.ite.com.tw/product_info/file/pc/IT8718F_V0.2.zip
28 http://www.ite.com.tw/product_info/file/pc/IT8718F_V0%203_(for%20C%20version).zip 28 http://www.ite.com.tw/product_info/file/pc/IT8718F_V0%203_(for%20C%20version).zip
29 * IT8720F
30 Prefix: 'it8720'
31 Addresses scanned: from Super I/O config space (8 I/O ports)
32 Datasheet: Not yet publicly available.
29 * SiS950 [clone of IT8705F] 33 * SiS950 [clone of IT8705F]
30 Prefix: 'it87' 34 Prefix: 'it87'
31 Addresses scanned: from Super I/O config space (8 I/O ports) 35 Addresses scanned: from Super I/O config space (8 I/O ports)
@@ -71,7 +75,7 @@ Description
71----------- 75-----------
72 76
73This driver implements support for the IT8705F, IT8712F, IT8716F, 77This driver implements support for the IT8705F, IT8712F, IT8716F,
74IT8718F, IT8726F and SiS950 chips. 78IT8718F, IT8720F, IT8726F and SiS950 chips.
75 79
76These chips are 'Super I/O chips', supporting floppy disks, infrared ports, 80These chips are 'Super I/O chips', supporting floppy disks, infrared ports,
77joysticks and other miscellaneous stuff. For hardware monitoring, they 81joysticks and other miscellaneous stuff. For hardware monitoring, they
@@ -84,19 +88,19 @@ the IT8716F and late IT8712F have 6. They are shared with other functions
84though, so the functionality may not be available on a given system. 88though, so the functionality may not be available on a given system.
85The driver dumbly assume it is there. 89The driver dumbly assume it is there.
86 90
87The IT8718F also features VID inputs (up to 8 pins) but the value is 91The IT8718F and IT8720F also features VID inputs (up to 8 pins) but the value
88stored in the Super-I/O configuration space. Due to technical limitations, 92is stored in the Super-I/O configuration space. Due to technical limitations,
89this value can currently only be read once at initialization time, so 93this value can currently only be read once at initialization time, so
90the driver won't notice and report changes in the VID value. The two 94the driver won't notice and report changes in the VID value. The two
91upper VID bits share their pins with voltage inputs (in5 and in6) so you 95upper VID bits share their pins with voltage inputs (in5 and in6) so you
92can't have both on a given board. 96can't have both on a given board.
93 97
94The IT8716F, IT8718F and later IT8712F revisions have support for 98The IT8716F, IT8718F, IT8720F and later IT8712F revisions have support for
952 additional fans. The additional fans are supported by the driver. 992 additional fans. The additional fans are supported by the driver.
96 100
97The IT8716F and IT8718F, and late IT8712F and IT8705F also have optional 101The IT8716F, IT8718F and IT8720F, and late IT8712F and IT8705F also have
9816-bit tachometer counters for fans 1 to 3. This is better (no more fan 102optional 16-bit tachometer counters for fans 1 to 3. This is better (no more
99clock divider mess) but not compatible with the older chips and 103fan clock divider mess) but not compatible with the older chips and
100revisions. The 16-bit tachometer mode is enabled by the driver when one 104revisions. The 16-bit tachometer mode is enabled by the driver when one
101of the above chips is detected. 105of the above chips is detected.
102 106
@@ -122,7 +126,7 @@ zero'; this is important for negative voltage measurements. All voltage
122inputs can measure voltages between 0 and 4.08 volts, with a resolution of 126inputs can measure voltages between 0 and 4.08 volts, with a resolution of
1230.016 volt. The battery voltage in8 does not have limit registers. 1270.016 volt. The battery voltage in8 does not have limit registers.
124 128
125The VID lines (IT8712F/IT8716F/IT8718F) encode the core voltage value: 129The VID lines (IT8712F/IT8716F/IT8718F/IT8720F) encode the core voltage value:
126the voltage level your processor should work with. This is hardcoded by 130the voltage level your processor should work with. This is hardcoded by
127the mainboard and/or processor itself. It is a value in volts. 131the mainboard and/or processor itself. It is a value in volts.
128 132
diff --git a/Documentation/hwmon/lm70 b/Documentation/hwmon/lm70
index 2bdd3feebf53..0d240291e3cc 100644
--- a/Documentation/hwmon/lm70
+++ b/Documentation/hwmon/lm70
@@ -1,9 +1,11 @@
1Kernel driver lm70 1Kernel driver lm70
2================== 2==================
3 3
4Supported chip: 4Supported chips:
5 * National Semiconductor LM70 5 * National Semiconductor LM70
6 Datasheet: http://www.national.com/pf/LM/LM70.html 6 Datasheet: http://www.national.com/pf/LM/LM70.html
7 * Texas Instruments TMP121/TMP123
8 Information: http://focus.ti.com/docs/prod/folders/print/tmp121.html
7 9
8Author: 10Author:
9 Kaiwan N Billimoria <kaiwan@designergraphix.com> 11 Kaiwan N Billimoria <kaiwan@designergraphix.com>
@@ -25,6 +27,14 @@ complement digital temperature (sent via the SIO line), is available in the
25driver for interpretation. This driver makes use of the kernel's in-core 27driver for interpretation. This driver makes use of the kernel's in-core
26SPI support. 28SPI support.
27 29
30As a real (in-tree) example of this "SPI protocol driver" interfacing
31with a "SPI master controller driver", see drivers/spi/spi_lm70llp.c
32and its associated documentation.
33
34The TMP121/TMP123 are very similar; main differences are 4 wire SPI inter-
35face (read only) and 13-bit temperature data (0.0625 degrees celsius reso-
36lution).
37
28Thanks to 38Thanks to
29--------- 39---------
30Jean Delvare <khali@linux-fr.org> for mentoring the hwmon-side driver 40Jean Delvare <khali@linux-fr.org> for mentoring the hwmon-side driver
diff --git a/Documentation/hwmon/lm85 b/Documentation/hwmon/lm85
index 400620741290..a13680871bc7 100644
--- a/Documentation/hwmon/lm85
+++ b/Documentation/hwmon/lm85
@@ -164,7 +164,7 @@ configured individually according to the following options.
164 temperature. (PWM value from 0 to 255) 164 temperature. (PWM value from 0 to 255)
165 165
166* pwm#_auto_pwm_minctl - this flags selects for temp#_auto_temp_off temperature 166* pwm#_auto_pwm_minctl - this flags selects for temp#_auto_temp_off temperature
167 the bahaviour of fans. Write 1 to let fans spinning at 167 the behaviour of fans. Write 1 to let fans spinning at
168 pwm#_auto_pwm_min or write 0 to let them off. 168 pwm#_auto_pwm_min or write 0 to let them off.
169 169
170NOTE: It has been reported that there is a bug in the LM85 that causes the flag 170NOTE: It has been reported that there is a bug in the LM85 that causes the flag
diff --git a/Documentation/hwmon/ltc4245 b/Documentation/hwmon/ltc4245
new file mode 100644
index 000000000000..bae7a3adc5d8
--- /dev/null
+++ b/Documentation/hwmon/ltc4245
@@ -0,0 +1,81 @@
1Kernel driver ltc4245
2=====================
3
4Supported chips:
5 * Linear Technology LTC4245
6 Prefix: 'ltc4245'
7 Addresses scanned: 0x20-0x3f
8 Datasheet:
9 http://www.linear.com/pc/downloadDocument.do?navId=H0,C1,C1003,C1006,C1140,P19392,D13517
10
11Author: Ira W. Snyder <iws@ovro.caltech.edu>
12
13
14Description
15-----------
16
17The LTC4245 controller allows a board to be safely inserted and removed
18from a live backplane in multiple supply systems such as CompactPCI and
19PCI Express.
20
21
22Usage Notes
23-----------
24
25This driver does not probe for LTC4245 devices, due to the fact that some
26of the possible addresses are unfriendly to probing. You will need to use
27the "force" parameter to tell the driver where to find the device.
28
29Example: the following will load the driver for an LTC4245 at address 0x23
30on I2C bus #1:
31$ modprobe ltc4245 force=1,0x23
32
33
34Sysfs entries
35-------------
36
37The LTC4245 has built-in limits for over and under current warnings. This
38makes it very likely that the reference circuit will be used.
39
40This driver uses the values in the datasheet to change the register values
41into the values specified in the sysfs-interface document. The current readings
42rely on the sense resistors listed in Table 2: "Sense Resistor Values".
43
44in1_input 12v input voltage (mV)
45in2_input 5v input voltage (mV)
46in3_input 3v input voltage (mV)
47in4_input Vee (-12v) input voltage (mV)
48
49in1_min_alarm 12v input undervoltage alarm
50in2_min_alarm 5v input undervoltage alarm
51in3_min_alarm 3v input undervoltage alarm
52in4_min_alarm Vee (-12v) input undervoltage alarm
53
54curr1_input 12v current (mA)
55curr2_input 5v current (mA)
56curr3_input 3v current (mA)
57curr4_input Vee (-12v) current (mA)
58
59curr1_max_alarm 12v overcurrent alarm
60curr2_max_alarm 5v overcurrent alarm
61curr3_max_alarm 3v overcurrent alarm
62curr4_max_alarm Vee (-12v) overcurrent alarm
63
64in5_input 12v output voltage (mV)
65in6_input 5v output voltage (mV)
66in7_input 3v output voltage (mV)
67in8_input Vee (-12v) output voltage (mV)
68
69in5_min_alarm 12v output undervoltage alarm
70in6_min_alarm 5v output undervoltage alarm
71in7_min_alarm 3v output undervoltage alarm
72in8_min_alarm Vee (-12v) output undervoltage alarm
73
74in9_input GPIO #1 voltage data
75in10_input GPIO #2 voltage data
76in11_input GPIO #3 voltage data
77
78power1_input 12v power usage (mW)
79power2_input 5v power usage (mW)
80power3_input 3v power usage (mW)
81power4_input Vee (-12v) power usage (mW)
diff --git a/Documentation/ide/warm-plug-howto.txt b/Documentation/ide/warm-plug-howto.txt
index d5885468b072..98152bcd515a 100644
--- a/Documentation/ide/warm-plug-howto.txt
+++ b/Documentation/ide/warm-plug-howto.txt
@@ -11,3 +11,8 @@ unplug old device(s) and plug new device(s)
11# echo -n "1" > /sys/class/ide_port/idex/scan 11# echo -n "1" > /sys/class/ide_port/idex/scan
12 12
13done 13done
14
15NOTE: please make sure that partitions are unmounted and that there are
16no other active references to devices before doing "delete_devices" step,
17also do not attempt "scan" step on devices currently in use -- otherwise
18results may be unpredictable and lead to data loss if you're unlucky
diff --git a/Documentation/input/walkera0701.txt b/Documentation/input/walkera0701.txt
new file mode 100644
index 000000000000..8f4289efc5c4
--- /dev/null
+++ b/Documentation/input/walkera0701.txt
@@ -0,0 +1,109 @@
1
2Walkera WK-0701 transmitter is supplied with a ready to fly Walkera
3helicopters such as HM36, HM37, HM60. The walkera0701 module enables to use
4this transmitter as joystick
5
6Devel homepage and download:
7http://zub.fei.tuke.sk/walkera-wk0701/
8
9or use cogito:
10cg-clone http://zub.fei.tuke.sk/GIT/walkera0701-joystick
11
12
13Connecting to PC:
14
15At back side of transmitter S-video connector can be found. Modulation
16pulses from processor to HF part can be found at pin 2 of this connector,
17pin 3 is GND. Between pin 3 and CPU 5k6 resistor can be found. To get
18modulation pulses to PC, signal pulses must be amplified.
19
20Cable: (walkera TX to parport)
21
22Walkera WK-0701 TX S-VIDEO connector:
23 (back side of TX)
24 __ __ S-video: canon25
25 / |_| \ pin 2 (signal) NPN parport
26 / O 4 3 O \ pin 3 (GND) LED ________________ 10 ACK
27 ( O 2 1 O ) | C
28 \ ___ / 2 ________________________|\|_____|/
29 | [___] | |/| B |\
30 ------- 3 __________________________________|________________ 25 GND
31 E
32
33
34I use green LED and BC109 NPN transistor.
35
36Software:
37
38Build kernel with walkera0701 module. Module walkera0701 need exclusive
39access to parport, modules like lp must be unloaded before loading
40walkera0701 module, check dmesg for error messages. Connect TX to PC by
41cable and run jstest /dev/input/js0 to see values from TX. If no value can
42be changed by TX "joystick", check output from /proc/interrupts. Value for
43(usually irq7) parport must increase if TX is on.
44
45
46
47Technical details:
48
49Driver use interrupt from parport ACK input bit to measure pulse length
50using hrtimers.
51
52Frame format:
53Based on walkera WK-0701 PCM Format description by Shaul Eizikovich.
54(downloaded from http://www.smartpropoplus.com/Docs/Walkera_Wk-0701_PCM.pdf)
55
56Signal pulses:
57 (ANALOG)
58 SYNC BIN OCT
59 +---------+ +------+
60 | | | |
61--+ +------+ +---
62
63Frame:
64 SYNC , BIN1, OCT1, BIN2, OCT2 ... BIN24, OCT24, BIN25, next frame SYNC ..
65
66pulse length:
67 Binary values: Analog octal values:
68
69 288 uS Binary 0 318 uS 000
70 438 uS Binary 1 398 uS 001
71 478 uS 010
72 558 uS 011
73 638 uS 100
74 1306 uS SYNC 718 uS 101
75 798 uS 110
76 878 uS 111
77
7824 bin+oct values + 1 bin value = 24*4+1 bits = 97 bits
79
80(Warning, pulses on ACK ar inverted by transistor, irq is rised up on sync
81to bin change or octal value to bin change).
82
83Binary data representations:
84
85One binary and octal value can be grouped to nibble. 24 nibbles + one binary
86values can be sampled between sync pulses.
87
88Values for first four channels (analog joystick values) can be found in
89first 10 nibbles. Analog value is represented by one sign bit and 9 bit
90absolute binary value. (10 bits per channel). Next nibble is checksum for
91first ten nibbles.
92
93Next nibbles 12 .. 21 represents four channels (not all channels can be
94directly controlled from TX). Binary representations ar the same as in first
95four channels. In nibbles 22 and 23 is a special magic number. Nibble 24 is
96checksum for nibbles 12..23.
97
98After last octal value for nibble 24 and next sync pulse one additional
99binary value can be sampled. This bit and magic number is not used in
100software driver. Some details about this magic numbers can be found in
101Walkera_Wk-0701_PCM.pdf.
102
103Checksum calculation:
104
105Summary of octal values in nibbles must be same as octal value in checksum
106nibble (only first 3 bits are used). Binary value for checksum nibble is
107calculated by sum of binary values in checked nibbles + sum of octal values
108in checked nibbles divided by 8. Only bit 0 of this sum is used.
109
diff --git a/Documentation/ioctl/ioctl-number.txt b/Documentation/ioctl/ioctl-number.txt
index 824699174436..f1d639903325 100644
--- a/Documentation/ioctl/ioctl-number.txt
+++ b/Documentation/ioctl/ioctl-number.txt
@@ -84,7 +84,7 @@ Code Seq# Include File Comments
84'B' C0-FF advanced bbus 84'B' C0-FF advanced bbus
85 <mailto:maassen@uni-freiburg.de> 85 <mailto:maassen@uni-freiburg.de>
86'C' all linux/soundcard.h 86'C' all linux/soundcard.h
87'D' all asm-s390/dasd.h 87'D' all arch/s390/include/asm/dasd.h
88'E' all linux/input.h 88'E' all linux/input.h
89'F' all linux/fb.h 89'F' all linux/fb.h
90'H' all linux/hiddev.h 90'H' all linux/hiddev.h
@@ -105,7 +105,7 @@ Code Seq# Include File Comments
105'S' 80-81 scsi/scsi_ioctl.h conflict! 105'S' 80-81 scsi/scsi_ioctl.h conflict!
106'S' 82-FF scsi/scsi.h conflict! 106'S' 82-FF scsi/scsi.h conflict!
107'T' all linux/soundcard.h conflict! 107'T' all linux/soundcard.h conflict!
108'T' all asm-i386/ioctls.h conflict! 108'T' all arch/x86/include/asm/ioctls.h conflict!
109'U' 00-EF linux/drivers/usb/usb.h 109'U' 00-EF linux/drivers/usb/usb.h
110'V' all linux/vt.h 110'V' all linux/vt.h
111'W' 00-1F linux/watchdog.h conflict! 111'W' 00-1F linux/watchdog.h conflict!
@@ -120,7 +120,7 @@ Code Seq# Include File Comments
120 <mailto:natalia@nikhefk.nikhef.nl> 120 <mailto:natalia@nikhefk.nikhef.nl>
121'c' 00-7F linux/comstats.h conflict! 121'c' 00-7F linux/comstats.h conflict!
122'c' 00-7F linux/coda.h conflict! 122'c' 00-7F linux/coda.h conflict!
123'c' 80-9F asm-s390/chsc.h 123'c' 80-9F arch/s390/include/asm/chsc.h
124'd' 00-FF linux/char/drm/drm/h conflict! 124'd' 00-FF linux/char/drm/drm/h conflict!
125'd' 00-DF linux/video_decoder.h conflict! 125'd' 00-DF linux/video_decoder.h conflict!
126'd' F0-FF linux/digi1.h 126'd' F0-FF linux/digi1.h
@@ -170,7 +170,7 @@ Code Seq# Include File Comments
170 <mailto:oe@port.de> 170 <mailto:oe@port.de>
1710x80 00-1F linux/fb.h 1710x80 00-1F linux/fb.h
1720x81 00-1F linux/videotext.h 1720x81 00-1F linux/videotext.h
1730x89 00-06 asm-i386/sockios.h 1730x89 00-06 arch/x86/include/asm/sockios.h
1740x89 0B-DF linux/sockios.h 1740x89 0B-DF linux/sockios.h
1750x89 E0-EF linux/sockios.h SIOCPROTOPRIVATE range 1750x89 E0-EF linux/sockios.h SIOCPROTOPRIVATE range
1760x89 F0-FF linux/sockios.h SIOCDEVPRIVATE range 1760x89 F0-FF linux/sockios.h SIOCDEVPRIVATE range
diff --git a/Documentation/kernel-doc-nano-HOWTO.txt b/Documentation/kernel-doc-nano-HOWTO.txt
index c6841eee9598..d73fbd2b2b45 100644
--- a/Documentation/kernel-doc-nano-HOWTO.txt
+++ b/Documentation/kernel-doc-nano-HOWTO.txt
@@ -71,6 +71,11 @@ The @argument descriptions must begin on the very next line following
71this opening short function description line, with no intervening 71this opening short function description line, with no intervening
72empty comment lines. 72empty comment lines.
73 73
74If a function parameter is "..." (varargs), it should be listed in
75kernel-doc notation as:
76 * @...: description
77
78
74Example kernel-doc data structure comment. 79Example kernel-doc data structure comment.
75 80
76/** 81/**
@@ -282,6 +287,32 @@ struct my_struct {
282}; 287};
283 288
284 289
290Including documentation blocks in source files
291----------------------------------------------
292
293To facilitate having source code and comments close together, you can
294include kernel-doc documentation blocks that are free-form comments
295instead of being kernel-doc for functions, structures, unions,
296enums, or typedefs. This could be used for something like a
297theory of operation for a driver or library code, for example.
298
299This is done by using a DOC: section keyword with a section title. E.g.:
300
301/**
302 * DOC: Theory of Operation
303 *
304 * The whizbang foobar is a dilly of a gizmo. It can do whatever you
305 * want it to do, at any time. It reads your mind. Here's how it works.
306 *
307 * foo bar splat
308 *
309 * The only drawback to this gizmo is that is can sometimes damage
310 * hardware, software, or its subject(s).
311 */
312
313DOC: sections are used in SGML templates files as indicated below.
314
315
285How to make new SGML template files 316How to make new SGML template files
286----------------------------------- 317-----------------------------------
287 318
@@ -302,6 +333,9 @@ exported using EXPORT_SYMBOL.
302!F<filename> <function [functions...]> is replaced by the 333!F<filename> <function [functions...]> is replaced by the
303documentation, in <filename>, for the functions listed. 334documentation, in <filename>, for the functions listed.
304 335
336!P<filename> <section title> is replaced by the contents of the DOC:
337section titled <section title> from <filename>.
338Spaces are allowed in <section title>; do not quote the <section title>.
305 339
306Tim. 340Tim.
307*/ <twaugh@redhat.com> 341*/ <twaugh@redhat.com>
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index a2d8805c03d5..0b3f6711d2f1 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -469,8 +469,8 @@ and is between 256 and 4096 characters. It is defined in the file
469 469
470 clearcpuid=BITNUM [X86] 470 clearcpuid=BITNUM [X86]
471 Disable CPUID feature X for the kernel. See 471 Disable CPUID feature X for the kernel. See
472 include/asm-x86/cpufeature.h for the valid bit numbers. 472 arch/x86/include/asm/cpufeature.h for the valid bit
473 Note the Linux specific bits are not necessarily 473 numbers. Note the Linux specific bits are not necessarily
474 stable over kernel options, but the vendor specific 474 stable over kernel options, but the vendor specific
475 ones should be. 475 ones should be.
476 Also note that user programs calling CPUID directly 476 Also note that user programs calling CPUID directly
@@ -551,6 +551,11 @@ and is between 256 and 4096 characters. It is defined in the file
551 not work reliably with all consoles, but is known 551 not work reliably with all consoles, but is known
552 to work with serial and VGA consoles. 552 to work with serial and VGA consoles.
553 553
554 coredump_filter=
555 [KNL] Change the default value for
556 /proc/<pid>/coredump_filter.
557 See also Documentation/filesystems/proc.txt.
558
554 cpcihp_generic= [HW,PCI] Generic port I/O CompactPCI driver 559 cpcihp_generic= [HW,PCI] Generic port I/O CompactPCI driver
555 Format: 560 Format:
556 <first_slot>,<last_slot>,<port>,<enum_bit>[,<debug>] 561 <first_slot>,<last_slot>,<port>,<enum_bit>[,<debug>]
@@ -1117,6 +1122,8 @@ and is between 256 and 4096 characters. It is defined in the file
1117 If there are multiple matching configurations changing 1122 If there are multiple matching configurations changing
1118 the same attribute, the last one is used. 1123 the same attribute, the last one is used.
1119 1124
1125 lmb=debug [KNL] Enable lmb debug messages.
1126
1120 load_ramdisk= [RAM] List of ramdisks to load from floppy 1127 load_ramdisk= [RAM] List of ramdisks to load from floppy
1121 See Documentation/blockdev/ramdisk.txt. 1128 See Documentation/blockdev/ramdisk.txt.
1122 1129
@@ -1569,6 +1576,10 @@ and is between 256 and 4096 characters. It is defined in the file
1569 1576
1570 nr_uarts= [SERIAL] maximum number of UARTs to be registered. 1577 nr_uarts= [SERIAL] maximum number of UARTs to be registered.
1571 1578
1579 ohci1394_dma=early [HW] enable debugging via the ohci1394 driver.
1580 See Documentation/debugging-via-ohci1394.txt for more
1581 info.
1582
1572 olpc_ec_timeout= [OLPC] ms delay when issuing EC commands 1583 olpc_ec_timeout= [OLPC] ms delay when issuing EC commands
1573 Rather than timing out after 20 ms if an EC 1584 Rather than timing out after 20 ms if an EC
1574 command is not properly ACKed, override the length 1585 command is not properly ACKed, override the length
@@ -1793,10 +1804,10 @@ and is between 256 and 4096 characters. It is defined in the file
1793 autoconfiguration. 1804 autoconfiguration.
1794 Ranges are in pairs (memory base and size). 1805 Ranges are in pairs (memory base and size).
1795 1806
1796 dynamic_printk 1807 dynamic_printk Enables pr_debug()/dev_dbg() calls if
1797 Enables pr_debug()/dev_dbg() calls if 1808 CONFIG_DYNAMIC_PRINTK_DEBUG has been enabled.
1798 CONFIG_DYNAMIC_PRINTK_DEBUG has been enabled. These can also 1809 These can also be switched on/off via
1799 be switched on/off via <debugfs>/dynamic_printk/modules 1810 <debugfs>/dynamic_printk/modules
1800 1811
1801 print-fatal-signals= 1812 print-fatal-signals=
1802 [KNL] debug: print fatal signals 1813 [KNL] debug: print fatal signals
@@ -1884,7 +1895,7 @@ and is between 256 and 4096 characters. It is defined in the file
1884 1895
1885 reboot= [BUGS=X86-32,BUGS=ARM,BUGS=IA-64] Rebooting mode 1896 reboot= [BUGS=X86-32,BUGS=ARM,BUGS=IA-64] Rebooting mode
1886 Format: <reboot_mode>[,<reboot_mode2>[,...]] 1897 Format: <reboot_mode>[,<reboot_mode2>[,...]]
1887 See arch/*/kernel/reboot.c or arch/*/kernel/process.c 1898 See arch/*/kernel/reboot.c or arch/*/kernel/process.c
1888 1899
1889 relax_domain_level= 1900 relax_domain_level=
1890 [KNL, SMP] Set scheduler's default relax_domain_level. 1901 [KNL, SMP] Set scheduler's default relax_domain_level.
@@ -2432,8 +2443,8 @@ and is between 256 and 4096 characters. It is defined in the file
2432 Format: 2443 Format:
2433 <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]] 2444 <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]]
2434 2445
2435 norandmaps Don't use address space randomization 2446 norandmaps Don't use address space randomization. Equivalent to
2436 Equivalent to echo 0 > /proc/sys/kernel/randomize_va_space 2447 echo 0 > /proc/sys/kernel/randomize_va_space
2437 2448
2438______________________________________________________________________ 2449______________________________________________________________________
2439 2450
diff --git a/Documentation/kobject.txt b/Documentation/kobject.txt
index f5d2aad65a67..b2e374586bd8 100644
--- a/Documentation/kobject.txt
+++ b/Documentation/kobject.txt
@@ -118,8 +118,8 @@ the name of the kobject, call kobject_rename():
118 118
119 int kobject_rename(struct kobject *kobj, const char *new_name); 119 int kobject_rename(struct kobject *kobj, const char *new_name);
120 120
121Note kobject_rename does perform any locking or have a solid notion of 121kobject_rename does not perform any locking or have a solid notion of
122what names are valid so the provide must provide their own sanity checking 122what names are valid so the caller must provide their own sanity checking
123and serialization. 123and serialization.
124 124
125There is a function called kobject_set_name() but that is legacy cruft and 125There is a function called kobject_set_name() but that is legacy cruft and
diff --git a/Documentation/kprobes.txt b/Documentation/kprobes.txt
index a79633d702bf..48b3de90eb1e 100644
--- a/Documentation/kprobes.txt
+++ b/Documentation/kprobes.txt
@@ -497,7 +497,10 @@ The first column provides the kernel address where the probe is inserted.
497The second column identifies the type of probe (k - kprobe, r - kretprobe 497The second column identifies the type of probe (k - kprobe, r - kretprobe
498and j - jprobe), while the third column specifies the symbol+offset of 498and j - jprobe), while the third column specifies the symbol+offset of
499the probe. If the probed function belongs to a module, the module name 499the probe. If the probed function belongs to a module, the module name
500is also specified. 500is also specified. Following columns show probe status. If the probe is on
501a virtual address that is no longer valid (module init sections, module
502virtual addresses that correspond to modules that've been unloaded),
503such probes are marked with [GONE].
501 504
502/debug/kprobes/enabled: Turn kprobes ON/OFF 505/debug/kprobes/enabled: Turn kprobes ON/OFF
503 506
diff --git a/Documentation/laptops/thinkpad-acpi.txt b/Documentation/laptops/thinkpad-acpi.txt
index 71f0fe1fc1b0..898b4987bb80 100644
--- a/Documentation/laptops/thinkpad-acpi.txt
+++ b/Documentation/laptops/thinkpad-acpi.txt
@@ -1475,7 +1475,7 @@ Sysfs interface changelog:
1475 1475
14760x020100: Marker for thinkpad-acpi with hot key NVRAM polling 14760x020100: Marker for thinkpad-acpi with hot key NVRAM polling
1477 support. If you must, use it to know you should not 1477 support. If you must, use it to know you should not
1478 start an userspace NVRAM poller (allows to detect when 1478 start a userspace NVRAM poller (allows to detect when
1479 NVRAM is compiled out by the user because it is 1479 NVRAM is compiled out by the user because it is
1480 unneeded/undesired in the first place). 1480 unneeded/undesired in the first place).
14810x020101: Marker for thinkpad-acpi with hot key NVRAM polling 14810x020101: Marker for thinkpad-acpi with hot key NVRAM polling
diff --git a/Documentation/magic-number.txt b/Documentation/magic-number.txt
index 95070028d15e..505f19607542 100644
--- a/Documentation/magic-number.txt
+++ b/Documentation/magic-number.txt
@@ -125,14 +125,14 @@ TRIDENT_CARD_MAGIC 0x5072696E trident_card sound/oss/trident.c
125ROUTER_MAGIC 0x524d4157 wan_device include/linux/wanrouter.h 125ROUTER_MAGIC 0x524d4157 wan_device include/linux/wanrouter.h
126SCC_MAGIC 0x52696368 gs_port drivers/char/scc.h 126SCC_MAGIC 0x52696368 gs_port drivers/char/scc.h
127SAVEKMSG_MAGIC1 0x53415645 savekmsg arch/*/amiga/config.c 127SAVEKMSG_MAGIC1 0x53415645 savekmsg arch/*/amiga/config.c
128GDA_MAGIC 0x58464552 gda include/asm-mips64/sn/gda.h 128GDA_MAGIC 0x58464552 gda arch/mips/include/asm/sn/gda.h
129RED_MAGIC1 0x5a2cf071 (any) mm/slab.c 129RED_MAGIC1 0x5a2cf071 (any) mm/slab.c
130STL_PORTMAGIC 0x5a7182c9 stlport include/linux/stallion.h 130STL_PORTMAGIC 0x5a7182c9 stlport include/linux/stallion.h
131EEPROM_MAGIC_VALUE 0x5ab478d2 lanai_dev drivers/atm/lanai.c 131EEPROM_MAGIC_VALUE 0x5ab478d2 lanai_dev drivers/atm/lanai.c
132HDLCDRV_MAGIC 0x5ac6e778 hdlcdrv_state include/linux/hdlcdrv.h 132HDLCDRV_MAGIC 0x5ac6e778 hdlcdrv_state include/linux/hdlcdrv.h
133EPCA_MAGIC 0x5c6df104 channel include/linux/epca.h 133EPCA_MAGIC 0x5c6df104 channel include/linux/epca.h
134PCXX_MAGIC 0x5c6df104 channel drivers/char/pcxx.h 134PCXX_MAGIC 0x5c6df104 channel drivers/char/pcxx.h
135KV_MAGIC 0x5f4b565f kernel_vars_s include/asm-mips64/sn/klkernvars.h 135KV_MAGIC 0x5f4b565f kernel_vars_s arch/mips/include/asm/sn/klkernvars.h
136I810_STATE_MAGIC 0x63657373 i810_state sound/oss/i810_audio.c 136I810_STATE_MAGIC 0x63657373 i810_state sound/oss/i810_audio.c
137TRIDENT_STATE_MAGIC 0x63657373 trient_state sound/oss/trident.c 137TRIDENT_STATE_MAGIC 0x63657373 trient_state sound/oss/trident.c
138M3_CARD_MAGIC 0x646e6f50 m3_card sound/oss/maestro3.c 138M3_CARD_MAGIC 0x646e6f50 m3_card sound/oss/maestro3.c
@@ -158,7 +158,7 @@ CCB_MAGIC 0xf2691ad2 ccb drivers/scsi/ncr53c8xx.c
158QUEUE_MAGIC_FREE 0xf7e1c9a3 queue_entry drivers/scsi/arm/queue.c 158QUEUE_MAGIC_FREE 0xf7e1c9a3 queue_entry drivers/scsi/arm/queue.c
159QUEUE_MAGIC_USED 0xf7e1cc33 queue_entry drivers/scsi/arm/queue.c 159QUEUE_MAGIC_USED 0xf7e1cc33 queue_entry drivers/scsi/arm/queue.c
160HTB_CMAGIC 0xFEFAFEF1 htb_class net/sched/sch_htb.c 160HTB_CMAGIC 0xFEFAFEF1 htb_class net/sched/sch_htb.c
161NMI_MAGIC 0x48414d4d455201 nmi_s include/asm-mips64/sn/nmi.h 161NMI_MAGIC 0x48414d4d455201 nmi_s arch/mips/include/asm/sn/nmi.h
162 162
163Note that there are also defined special per-driver magic numbers in sound 163Note that there are also defined special per-driver magic numbers in sound
164memory management. See include/sound/sndmagic.h for complete list of them. Many 164memory management. See include/sound/sndmagic.h for complete list of them. Many
diff --git a/Documentation/memory-hotplug.txt b/Documentation/memory-hotplug.txt
index 168117bd6ee8..4c2ecf537a4a 100644
--- a/Documentation/memory-hotplug.txt
+++ b/Documentation/memory-hotplug.txt
@@ -124,7 +124,7 @@ config options.
124 This option can be kernel module too. 124 This option can be kernel module too.
125 125
126-------------------------------- 126--------------------------------
1273 sysfs files for memory hotplug 1274 sysfs files for memory hotplug
128-------------------------------- 128--------------------------------
129All sections have their device information under /sys/devices/system/memory as 129All sections have their device information under /sys/devices/system/memory as
130 130
@@ -138,11 +138,12 @@ For example, assume 1GiB section size. A device for a memory starting at
138(0x100000000 / 1Gib = 4) 138(0x100000000 / 1Gib = 4)
139This device covers address range [0x100000000 ... 0x140000000) 139This device covers address range [0x100000000 ... 0x140000000)
140 140
141Under each section, you can see 3 files. 141Under each section, you can see 4 files.
142 142
143/sys/devices/system/memory/memoryXXX/phys_index 143/sys/devices/system/memory/memoryXXX/phys_index
144/sys/devices/system/memory/memoryXXX/phys_device 144/sys/devices/system/memory/memoryXXX/phys_device
145/sys/devices/system/memory/memoryXXX/state 145/sys/devices/system/memory/memoryXXX/state
146/sys/devices/system/memory/memoryXXX/removable
146 147
147'phys_index' : read-only and contains section id, same as XXX. 148'phys_index' : read-only and contains section id, same as XXX.
148'state' : read-write 149'state' : read-write
@@ -150,10 +151,20 @@ Under each section, you can see 3 files.
150 at write: user can specify "online", "offline" command 151 at write: user can specify "online", "offline" command
151'phys_device': read-only: designed to show the name of physical memory device. 152'phys_device': read-only: designed to show the name of physical memory device.
152 This is not well implemented now. 153 This is not well implemented now.
154'removable' : read-only: contains an integer value indicating
155 whether the memory section is removable or not
156 removable. A value of 1 indicates that the memory
157 section is removable and a value of 0 indicates that
158 it is not removable.
153 159
154NOTE: 160NOTE:
155 These directories/files appear after physical memory hotplug phase. 161 These directories/files appear after physical memory hotplug phase.
156 162
163If CONFIG_NUMA is enabled the
164/sys/devices/system/memory/memoryXXX memory section
165directories can also be accessed via symbolic links located in
166the /sys/devices/system/node/node* directories. For example:
167/sys/devices/system/node/node0/memory9 -> ../../memory/memory9
157 168
158-------------------------------- 169--------------------------------
1594. Physical memory hot-add phase 1704. Physical memory hot-add phase
@@ -365,7 +376,6 @@ node if necessary.
365 - allowing memory hot-add to ZONE_MOVABLE. maybe we need some switch like 376 - allowing memory hot-add to ZONE_MOVABLE. maybe we need some switch like
366 sysctl or new control file. 377 sysctl or new control file.
367 - showing memory section and physical device relationship. 378 - showing memory section and physical device relationship.
368 - showing memory section and node relationship (maybe good for NUMA)
369 - showing memory section is under ZONE_MOVABLE or not 379 - showing memory section is under ZONE_MOVABLE or not
370 - test and make it better memory offlining. 380 - test and make it better memory offlining.
371 - support HugeTLB page migration and offlining. 381 - support HugeTLB page migration and offlining.
diff --git a/Documentation/mips/AU1xxx_IDE.README b/Documentation/mips/AU1xxx_IDE.README
index 25a6ed1aaa5b..f54962aea84d 100644
--- a/Documentation/mips/AU1xxx_IDE.README
+++ b/Documentation/mips/AU1xxx_IDE.README
@@ -44,7 +44,7 @@ FILES, CONFIGS AND COMPATABILITY
44 44
45Two files are introduced: 45Two files are introduced:
46 46
47 a) 'include/asm-mips/mach-au1x00/au1xxx_ide.h' 47 a) 'arch/mips/include/asm/mach-au1x00/au1xxx_ide.h'
48 containes : struct _auide_hwif 48 containes : struct _auide_hwif
49 timing parameters for PIO mode 0/1/2/3/4 49 timing parameters for PIO mode 0/1/2/3/4
50 timing parameters for MWDMA 0/1/2 50 timing parameters for MWDMA 0/1/2
diff --git a/Documentation/networking/rxrpc.txt b/Documentation/networking/rxrpc.txt
index c3669a3fb4af..60d05eb77c64 100644
--- a/Documentation/networking/rxrpc.txt
+++ b/Documentation/networking/rxrpc.txt
@@ -540,7 +540,7 @@ A client would issue an operation by:
540 MSG_MORE should be set in msghdr::msg_flags on all but the last part of 540 MSG_MORE should be set in msghdr::msg_flags on all but the last part of
541 the request. Multiple requests may be made simultaneously. 541 the request. Multiple requests may be made simultaneously.
542 542
543 If a call is intended to go to a destination other then the default 543 If a call is intended to go to a destination other than the default
544 specified through connect(), then msghdr::msg_name should be set on the 544 specified through connect(), then msghdr::msg_name should be set on the
545 first request message of that call. 545 first request message of that call.
546 546
diff --git a/Documentation/networking/tuntap.txt b/Documentation/networking/tuntap.txt
index 839cbb71388b..c0aab985bad9 100644
--- a/Documentation/networking/tuntap.txt
+++ b/Documentation/networking/tuntap.txt
@@ -118,7 +118,7 @@ As mentioned above, main purpose of TUN/TAP driver is tunneling.
118It is used by VTun (http://vtun.sourceforge.net). 118It is used by VTun (http://vtun.sourceforge.net).
119 119
120Another interesting application using TUN/TAP is pipsecd 120Another interesting application using TUN/TAP is pipsecd
121(http://perso.enst.fr/~beyssac/pipsec/), an userspace IPSec 121(http://perso.enst.fr/~beyssac/pipsec/), a userspace IPSec
122implementation that can use complete kernel routing (unlike FreeS/WAN). 122implementation that can use complete kernel routing (unlike FreeS/WAN).
123 123
1243. How does Virtual network device actually work ? 1243. How does Virtual network device actually work ?
diff --git a/Documentation/powerpc/cpu_features.txt b/Documentation/powerpc/cpu_features.txt
index 472739880e87..ffa4183fdb8b 100644
--- a/Documentation/powerpc/cpu_features.txt
+++ b/Documentation/powerpc/cpu_features.txt
@@ -31,7 +31,7 @@ anyways).
31 31
32After detecting the processor type, the kernel patches out sections of code 32After detecting the processor type, the kernel patches out sections of code
33that shouldn't be used by writing nop's over it. Using cpufeatures requires 33that shouldn't be used by writing nop's over it. Using cpufeatures requires
34just 2 macros (found in include/asm-ppc/cputable.h), as seen in head.S 34just 2 macros (found in arch/powerpc/include/asm/cputable.h), as seen in head.S
35transfer_to_handler: 35transfer_to_handler:
36 36
37 #ifdef CONFIG_ALTIVEC 37 #ifdef CONFIG_ALTIVEC
diff --git a/Documentation/s390/Debugging390.txt b/Documentation/s390/Debugging390.txt
index d30a281c570f..10711d9f0788 100644
--- a/Documentation/s390/Debugging390.txt
+++ b/Documentation/s390/Debugging390.txt
@@ -1402,7 +1402,7 @@ Syscalls are implemented on Linux for S390 by the Supervisor call instruction (S
1402possibilities of these as the instruction is made up of a 0xA opcode & the second byte being 1402possibilities of these as the instruction is made up of a 0xA opcode & the second byte being
1403the syscall number. They are traced using the simple command. 1403the syscall number. They are traced using the simple command.
1404TR SVC <Optional value or range> 1404TR SVC <Optional value or range>
1405the syscalls are defined in linux/include/asm-s390/unistd.h 1405the syscalls are defined in linux/arch/s390/include/asm/unistd.h
1406e.g. to trace all file opens just do 1406e.g. to trace all file opens just do
1407TR SVC 5 ( as this is the syscall number of open ) 1407TR SVC 5 ( as this is the syscall number of open )
1408 1408
diff --git a/Documentation/s390/cds.txt b/Documentation/s390/cds.txt
index c4b7b2bd369a..480a78ef5a1e 100644
--- a/Documentation/s390/cds.txt
+++ b/Documentation/s390/cds.txt
@@ -98,7 +98,7 @@ platform. Some of the interface routines are specific to Linux/390 and some
98of them can be found on other Linux platforms implementations too. 98of them can be found on other Linux platforms implementations too.
99Miscellaneous function prototypes, data declarations, and macro definitions 99Miscellaneous function prototypes, data declarations, and macro definitions
100can be found in the architecture specific C header file 100can be found in the architecture specific C header file
101linux/include/asm-s390/irq.h. 101linux/arch/s390/include/asm/irq.h.
102 102
103Overview of CDS interface concepts 103Overview of CDS interface concepts
104 104
diff --git a/Documentation/s390/s390dbf.txt b/Documentation/s390/s390dbf.txt
index e05420973698..2d10053dd97e 100644
--- a/Documentation/s390/s390dbf.txt
+++ b/Documentation/s390/s390dbf.txt
@@ -2,7 +2,7 @@ S390 Debug Feature
2================== 2==================
3 3
4files: arch/s390/kernel/debug.c 4files: arch/s390/kernel/debug.c
5 include/asm-s390/debug.h 5 arch/s390/include/asm/debug.h
6 6
7Description: 7Description:
8------------ 8------------
diff --git a/Documentation/scsi/ChangeLog.lpfc b/Documentation/scsi/ChangeLog.lpfc
index ae3f962a7cfc..ff19a52fe004 100644
--- a/Documentation/scsi/ChangeLog.lpfc
+++ b/Documentation/scsi/ChangeLog.lpfc
@@ -733,7 +733,7 @@ Changes from 20040920 to 20041018
733 I/O completion path a little more, especially taking care of 733 I/O completion path a little more, especially taking care of
734 fast-pathing the non-error case. Also removes tons of dead 734 fast-pathing the non-error case. Also removes tons of dead
735 members and defines from lpfc_scsi.h - e.g. lpfc_target is down 735 members and defines from lpfc_scsi.h - e.g. lpfc_target is down
736 to nothing more then the lpfc_nodelist pointer. 736 to nothing more than the lpfc_nodelist pointer.
737 * Added binary sysfs file to issue mbox commands 737 * Added binary sysfs file to issue mbox commands
738 * Replaced #if __BIG_ENDIAN with #if __BIG_ENDIAN_BITFIELD for 738 * Replaced #if __BIG_ENDIAN with #if __BIG_ENDIAN_BITFIELD for
739 compatibility with the user space applications. 739 compatibility with the user space applications.
diff --git a/Documentation/scsi/ChangeLog.ncr53c8xx b/Documentation/scsi/ChangeLog.ncr53c8xx
index a9f721aeb11c..8b278c10edfd 100644
--- a/Documentation/scsi/ChangeLog.ncr53c8xx
+++ b/Documentation/scsi/ChangeLog.ncr53c8xx
@@ -19,7 +19,7 @@ Sun Sep 24 21:30 2000 Gerard Roudier (groudier@club-internet.fr)
19 19
20Wed Jul 26 23:30 2000 Gerard Roudier (groudier@club-internet.fr) 20Wed Jul 26 23:30 2000 Gerard Roudier (groudier@club-internet.fr)
21 * version ncr53c8xx-3.4.1 21 * version ncr53c8xx-3.4.1
22 - Provide OpenFirmare path through the proc FS on PPC. 22 - Provide OpenFirmware path through the proc FS on PPC.
23 - Remove trailing argument #2 from a couple of #undefs. 23 - Remove trailing argument #2 from a couple of #undefs.
24 24
25Sun Jul 09 16:30 2000 Gerard Roudier (groudier@club-internet.fr) 25Sun Jul 09 16:30 2000 Gerard Roudier (groudier@club-internet.fr)
diff --git a/Documentation/scsi/ChangeLog.sym53c8xx b/Documentation/scsi/ChangeLog.sym53c8xx
index ef985ec348e6..02ffbc1e8a84 100644
--- a/Documentation/scsi/ChangeLog.sym53c8xx
+++ b/Documentation/scsi/ChangeLog.sym53c8xx
@@ -81,7 +81,7 @@ Sun Sep 24 21:30 2000 Gerard Roudier (groudier@club-internet.fr)
81 81
82Wed Jul 26 23:30 2000 Gerard Roudier (groudier@club-internet.fr) 82Wed Jul 26 23:30 2000 Gerard Roudier (groudier@club-internet.fr)
83 * version sym53c8xx-1.7.1 83 * version sym53c8xx-1.7.1
84 - Provide OpenFirmare path through the proc FS on PPC. 84 - Provide OpenFirmware path through the proc FS on PPC.
85 - Download of on-chip SRAM using memcpy_toio() doesn't work 85 - Download of on-chip SRAM using memcpy_toio() doesn't work
86 on PPC. Restore previous method (MEMORY MOVE from SCRIPTS). 86 on PPC. Restore previous method (MEMORY MOVE from SCRIPTS).
87 - Remove trailing argument #2 from a couple of #undefs. 87 - Remove trailing argument #2 from a couple of #undefs.
diff --git a/Documentation/spi/spi-lm70llp b/Documentation/spi/spi-lm70llp
index 154bd02220b9..34a9cfd746bd 100644
--- a/Documentation/spi/spi-lm70llp
+++ b/Documentation/spi/spi-lm70llp
@@ -13,10 +13,20 @@ Description
13This driver provides glue code connecting a National Semiconductor LM70 LLP 13This driver provides glue code connecting a National Semiconductor LM70 LLP
14temperature sensor evaluation board to the kernel's SPI core subsystem. 14temperature sensor evaluation board to the kernel's SPI core subsystem.
15 15
16This is a SPI master controller driver. It can be used in conjunction with
17(layered under) the LM70 logical driver (a "SPI protocol driver").
16In effect, this driver turns the parallel port interface on the eval board 18In effect, this driver turns the parallel port interface on the eval board
17into a SPI bus with a single device, which will be driven by the generic 19into a SPI bus with a single device, which will be driven by the generic
18LM70 driver (drivers/hwmon/lm70.c). 20LM70 driver (drivers/hwmon/lm70.c).
19 21
22
23Hardware Interfacing
24--------------------
25The schematic for this particular board (the LM70EVAL-LLP) is
26available (on page 4) here:
27
28 http://www.national.com/appinfo/tempsensors/files/LM70LLPEVALmanual.pdf
29
20The hardware interfacing on the LM70 LLP eval board is as follows: 30The hardware interfacing on the LM70 LLP eval board is as follows:
21 31
22 Parallel LM70 LLP 32 Parallel LM70 LLP
diff --git a/Documentation/sysctl/vm.txt b/Documentation/sysctl/vm.txt
index d79eeda7a699..cd05994a49e6 100644
--- a/Documentation/sysctl/vm.txt
+++ b/Documentation/sysctl/vm.txt
@@ -41,7 +41,8 @@ Currently, these files are in /proc/sys/vm:
41 41
42============================================================== 42==============================================================
43 43
44dirty_ratio, dirty_background_ratio, dirty_expire_centisecs, 44dirty_bytes, dirty_ratio, dirty_background_bytes,
45dirty_background_ratio, dirty_expire_centisecs,
45dirty_writeback_centisecs, highmem_is_dirtyable, 46dirty_writeback_centisecs, highmem_is_dirtyable,
46vfs_cache_pressure, laptop_mode, block_dump, swap_token_timeout, 47vfs_cache_pressure, laptop_mode, block_dump, swap_token_timeout,
47drop-caches, hugepages_treat_as_movable: 48drop-caches, hugepages_treat_as_movable:
diff --git a/Documentation/vm/unevictable-lru.txt b/Documentation/vm/unevictable-lru.txt
index 125eed560e5a..0706a7282a8c 100644
--- a/Documentation/vm/unevictable-lru.txt
+++ b/Documentation/vm/unevictable-lru.txt
@@ -137,13 +137,6 @@ shrink_page_list() where they will be detected when vmscan walks the reverse
137map in try_to_unmap(). If try_to_unmap() returns SWAP_MLOCK, shrink_page_list() 137map in try_to_unmap(). If try_to_unmap() returns SWAP_MLOCK, shrink_page_list()
138will cull the page at that point. 138will cull the page at that point.
139 139
140Note that for anonymous pages, shrink_page_list() attempts to add the page to
141the swap cache before it tries to unmap the page. To avoid this unnecessary
142consumption of swap space, shrink_page_list() calls try_to_munlock() to check
143whether any VM_LOCKED vmas map the page without attempting to unmap the page.
144If try_to_munlock() returns SWAP_MLOCK, shrink_page_list() will cull the page
145without consuming swap space. try_to_munlock() will be described below.
146
147To "cull" an unevictable page, vmscan simply puts the page back on the lru 140To "cull" an unevictable page, vmscan simply puts the page back on the lru
148list using putback_lru_page()--the inverse operation to isolate_lru_page()-- 141list using putback_lru_page()--the inverse operation to isolate_lru_page()--
149after dropping the page lock. Because the condition which makes the page 142after dropping the page lock. Because the condition which makes the page
@@ -190,8 +183,8 @@ several places:
190 in the VM_LOCKED flag being set for the vma. 183 in the VM_LOCKED flag being set for the vma.
1913) in the fault path, if mlocked pages are "culled" in the fault path, 1843) in the fault path, if mlocked pages are "culled" in the fault path,
192 and when a VM_LOCKED stack segment is expanded. 185 and when a VM_LOCKED stack segment is expanded.
1934) as mentioned above, in vmscan:shrink_page_list() with attempting to 1864) as mentioned above, in vmscan:shrink_page_list() when attempting to
194 reclaim a page in a VM_LOCKED vma--via try_to_unmap() or try_to_munlock(). 187 reclaim a page in a VM_LOCKED vma via try_to_unmap().
195 188
196Mlocked pages become unlocked and rescued from the unevictable list when: 189Mlocked pages become unlocked and rescued from the unevictable list when:
197 190
@@ -260,9 +253,9 @@ mlock_fixup() filters several classes of "special" vmas:
260 253
2612) vmas mapping hugetlbfs page are already effectively pinned into memory. 2542) vmas mapping hugetlbfs page are already effectively pinned into memory.
262 We don't need nor want to mlock() these pages. However, to preserve the 255 We don't need nor want to mlock() these pages. However, to preserve the
263 prior behavior of mlock()--before the unevictable/mlock changes--mlock_fixup() 256 prior behavior of mlock()--before the unevictable/mlock changes--
264 will call make_pages_present() in the hugetlbfs vma range to allocate the 257 mlock_fixup() will call make_pages_present() in the hugetlbfs vma range
265 huge pages and populate the ptes. 258 to allocate the huge pages and populate the ptes.
266 259
2673) vmas with VM_DONTEXPAND|VM_RESERVED are generally user space mappings of 2603) vmas with VM_DONTEXPAND|VM_RESERVED are generally user space mappings of
268 kernel pages, such as the vdso page, relay channel pages, etc. These pages 261 kernel pages, such as the vdso page, relay channel pages, etc. These pages
@@ -322,7 +315,7 @@ __mlock_vma_pages_range()--the same function used to mlock a vma range--
322passing a flag to indicate that munlock() is being performed. 315passing a flag to indicate that munlock() is being performed.
323 316
324Because the vma access protections could have been changed to PROT_NONE after 317Because the vma access protections could have been changed to PROT_NONE after
325faulting in and mlocking some pages, get_user_pages() was unreliable for visiting 318faulting in and mlocking pages, get_user_pages() was unreliable for visiting
326these pages for munlocking. Because we don't want to leave pages mlocked(), 319these pages for munlocking. Because we don't want to leave pages mlocked(),
327get_user_pages() was enhanced to accept a flag to ignore the permissions when 320get_user_pages() was enhanced to accept a flag to ignore the permissions when
328fetching the pages--all of which should be resident as a result of previous 321fetching the pages--all of which should be resident as a result of previous
@@ -416,8 +409,8 @@ Mlocked Pages: munmap()/exit()/exec() System Call Handling
416When unmapping an mlocked region of memory, whether by an explicit call to 409When unmapping an mlocked region of memory, whether by an explicit call to
417munmap() or via an internal unmap from exit() or exec() processing, we must 410munmap() or via an internal unmap from exit() or exec() processing, we must
418munlock the pages if we're removing the last VM_LOCKED vma that maps the pages. 411munlock the pages if we're removing the last VM_LOCKED vma that maps the pages.
419Before the unevictable/mlock changes, mlocking did not mark the pages in any way, 412Before the unevictable/mlock changes, mlocking did not mark the pages in any
420so unmapping them required no processing. 413way, so unmapping them required no processing.
421 414
422To munlock a range of memory under the unevictable/mlock infrastructure, the 415To munlock a range of memory under the unevictable/mlock infrastructure, the
423munmap() hander and task address space tear down function call 416munmap() hander and task address space tear down function call
@@ -517,12 +510,10 @@ couldn't be mlocked.
517Mlocked pages: try_to_munlock() Reverse Map Scan 510Mlocked pages: try_to_munlock() Reverse Map Scan
518 511
519TODO/FIXME: a better name might be page_mlocked()--analogous to the 512TODO/FIXME: a better name might be page_mlocked()--analogous to the
520page_referenced() reverse map walker--especially if we continue to call this 513page_referenced() reverse map walker.
521from shrink_page_list(). See related TODO/FIXME below.
522 514
523When munlock_vma_page()--see "Mlocked Pages: munlock()/munlockall() System 515When munlock_vma_page()--see "Mlocked Pages: munlock()/munlockall()
524Call Handling" above--tries to munlock a page, or when shrink_page_list() 516System Call Handling" above--tries to munlock a page, it needs to
525encounters an anonymous page that is not yet in the swap cache, they need to
526determine whether or not the page is mapped by any VM_LOCKED vma, without 517determine whether or not the page is mapped by any VM_LOCKED vma, without
527actually attempting to unmap all ptes from the page. For this purpose, the 518actually attempting to unmap all ptes from the page. For this purpose, the
528unevictable/mlock infrastructure introduced a variant of try_to_unmap() called 519unevictable/mlock infrastructure introduced a variant of try_to_unmap() called
@@ -535,10 +526,7 @@ for VM_LOCKED vmas. When such a vma is found for anonymous pages and file
535pages mapped in linear VMAs, as in the try_to_unmap() case, the functions 526pages mapped in linear VMAs, as in the try_to_unmap() case, the functions
536attempt to acquire the associated mmap semphore, mlock the page via 527attempt to acquire the associated mmap semphore, mlock the page via
537mlock_vma_page() and return SWAP_MLOCK. This effectively undoes the 528mlock_vma_page() and return SWAP_MLOCK. This effectively undoes the
538pre-clearing of the page's PG_mlocked done by munlock_vma_page() and informs 529pre-clearing of the page's PG_mlocked done by munlock_vma_page.
539shrink_page_list() that the anonymous page should be culled rather than added
540to the swap cache in preparation for a try_to_unmap() that will almost
541certainly fail.
542 530
543If try_to_unmap() is unable to acquire a VM_LOCKED vma's associated mmap 531If try_to_unmap() is unable to acquire a VM_LOCKED vma's associated mmap
544semaphore, it will return SWAP_AGAIN. This will allow shrink_page_list() 532semaphore, it will return SWAP_AGAIN. This will allow shrink_page_list()
@@ -557,10 +545,7 @@ However, the scan can terminate when it encounters a VM_LOCKED vma and can
557successfully acquire the vma's mmap semphore for read and mlock the page. 545successfully acquire the vma's mmap semphore for read and mlock the page.
558Although try_to_munlock() can be called many [very many!] times when 546Although try_to_munlock() can be called many [very many!] times when
559munlock()ing a large region or tearing down a large address space that has been 547munlock()ing a large region or tearing down a large address space that has been
560mlocked via mlockall(), overall this is a fairly rare event. In addition, 548mlocked via mlockall(), overall this is a fairly rare event.
561although shrink_page_list() calls try_to_munlock() for every anonymous page that
562it handles that is not yet in the swap cache, on average anonymous pages will
563have very short reverse map lists.
564 549
565Mlocked Page: Page Reclaim in shrink_*_list() 550Mlocked Page: Page Reclaim in shrink_*_list()
566 551
@@ -588,8 +573,8 @@ Some examples of these unevictable pages on the LRU lists are:
588 munlock_vma_page() was forced to let the page back on to the normal 573 munlock_vma_page() was forced to let the page back on to the normal
589 LRU list for vmscan to handle. 574 LRU list for vmscan to handle.
590 575
591shrink_inactive_list() also culls any unevictable pages that it finds 576shrink_inactive_list() also culls any unevictable pages that it finds on
592on the inactive lists, again diverting them to the appropriate zone's unevictable 577the inactive lists, again diverting them to the appropriate zone's unevictable
593lru list. shrink_inactive_list() should only see SHM_LOCKed pages that became 578lru list. shrink_inactive_list() should only see SHM_LOCKed pages that became
594SHM_LOCKed after shrink_active_list() had moved them to the inactive list, or 579SHM_LOCKed after shrink_active_list() had moved them to the inactive list, or
595pages mapped into VM_LOCKED vmas that munlock_vma_page() couldn't isolate from 580pages mapped into VM_LOCKED vmas that munlock_vma_page() couldn't isolate from
@@ -597,19 +582,7 @@ the lru to recheck via try_to_munlock(). shrink_inactive_list() won't notice
597the latter, but will pass on to shrink_page_list(). 582the latter, but will pass on to shrink_page_list().
598 583
599shrink_page_list() again culls obviously unevictable pages that it could 584shrink_page_list() again culls obviously unevictable pages that it could
600encounter for similar reason to shrink_inactive_list(). As already discussed, 585encounter for similar reason to shrink_inactive_list(). Pages mapped into
601shrink_page_list() proactively looks for anonymous pages that should have
602PG_mlocked set but don't--these would not be detected by page_evictable()--to
603avoid adding them to the swap cache unnecessarily. File pages mapped into
604VM_LOCKED vmas but without PG_mlocked set will make it all the way to 586VM_LOCKED vmas but without PG_mlocked set will make it all the way to
605try_to_unmap(). shrink_page_list() will divert them to the unevictable list when 587try_to_unmap(). shrink_page_list() will divert them to the unevictable list
606try_to_unmap() returns SWAP_MLOCK, as discussed above. 588when try_to_unmap() returns SWAP_MLOCK, as discussed above.
607
608TODO/FIXME: If we can enhance the swap cache to reliably remove entries
609with page_count(page) > 2, as long as all ptes are mapped to the page and
610not the swap entry, we can probably remove the call to try_to_munlock() in
611shrink_page_list() and just remove the page from the swap cache when
612try_to_unmap() returns SWAP_MLOCK. Currently, remove_exclusive_swap_page()
613doesn't seem to allow that.
614
615
diff --git a/Documentation/x86/zero-page.txt b/Documentation/x86/zero-page.txt
index 169ad423a3d1..4f913857b8a2 100644
--- a/Documentation/x86/zero-page.txt
+++ b/Documentation/x86/zero-page.txt
@@ -3,7 +3,7 @@ protocol of kernel. These should be filled by bootloader or 16-bit
3real-mode setup code of the kernel. References/settings to it mainly 3real-mode setup code of the kernel. References/settings to it mainly
4are in: 4are in:
5 5
6 include/asm-x86/bootparam.h 6 arch/x86/include/asm/bootparam.h
7 7
8 8
9Offset Proto Name Meaning 9Offset Proto Name Meaning