aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-01-08 00:24:38 -0500
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-01-08 00:24:38 -0500
commit24f030175d30f019be41766cdf88c2ff03de19ff (patch)
tree354232a84e82d5a721ed7b1a9af580ff2a59be8f /Documentation
parent4aa12f7b927c3cac0e0cf3503642597527d0ece0 (diff)
parent9e42d0cf5020aaf217433cad1a224745241d212a (diff)
Merge commit 'origin/master' into next
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/ABI/testing/sysfs-class-uwb_rc14
-rw-r--r--Documentation/ABI/testing/sysfs-devices-memory51
-rw-r--r--Documentation/DMA-mapping.txt2
-rw-r--r--Documentation/DocBook/networking.tmpl8
-rw-r--r--Documentation/DocBook/uio-howto.tmpl101
-rw-r--r--Documentation/PCI/pci.txt3
-rw-r--r--Documentation/blackfin/00-INDEX3
-rw-r--r--Documentation/blackfin/bfin-gpio-notes.txt71
-rw-r--r--Documentation/cpu-hotplug.txt17
-rw-r--r--Documentation/cputopology.txt48
-rw-r--r--Documentation/dell_rbu.txt4
-rw-r--r--Documentation/feature-removal-schedule.txt29
-rw-r--r--Documentation/filesystems/Locking2
-rw-r--r--Documentation/filesystems/devpts.txt132
-rw-r--r--Documentation/filesystems/ocfs2.txt3
-rw-r--r--Documentation/filesystems/proc.txt27
-rw-r--r--Documentation/filesystems/ubifs.txt3
-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.txt12
-rw-r--r--Documentation/kbuild/00-INDEX6
-rw-r--r--Documentation/kbuild/kbuild.txt133
-rw-r--r--Documentation/kbuild/kconfig.txt188
-rw-r--r--Documentation/kbuild/modules.txt4
-rw-r--r--Documentation/kernel-doc-nano-HOWTO.txt34
-rw-r--r--Documentation/kernel-parameters.txt69
-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/usb/power-management.txt22
-rw-r--r--Documentation/usb/wusb-cbaf9
-rw-r--r--Documentation/video4linux/CARDLIST.saa71341
-rw-r--r--Documentation/video4linux/si470x.txt1
-rw-r--r--Documentation/video4linux/v4l2-framework.txt19
-rw-r--r--Documentation/vm/unevictable-lru.txt63
-rw-r--r--Documentation/wimax/README.i2400m260
-rw-r--r--Documentation/wimax/README.wimax81
-rw-r--r--Documentation/x86/zero-page.txt2
59 files changed, 1668 insertions, 163 deletions
diff --git a/Documentation/ABI/testing/sysfs-class-uwb_rc b/Documentation/ABI/testing/sysfs-class-uwb_rc
index a0d18dbeb7a9..6a5fd072849d 100644
--- a/Documentation/ABI/testing/sysfs-class-uwb_rc
+++ b/Documentation/ABI/testing/sysfs-class-uwb_rc
@@ -32,14 +32,16 @@ Contact: linux-usb@vger.kernel.org
32Description: 32Description:
33 Write: 33 Write:
34 34
35 <channel> [<bpst offset>] 35 <channel>
36 36
37 to start beaconing on a specific channel, or stop 37 to force a specific channel to be used when beaconing,
38 beaconing if <channel> is -1. Valid channels depends 38 or, if <channel> is -1, to prohibit beaconing. If
39 on the radio controller's supported band groups. 39 <channel> is 0, then the default channel selection
40 algorithm will be used. Valid channels depends on the
41 radio controller's supported band groups.
40 42
41 <bpst offset> may be used to try and join a specific 43 Reading returns the currently active channel, or -1 if
42 beacon group if more than one was found during a scan. 44 the radio controller is not beaconing.
43 45
44What: /sys/class/uwb_rc/uwbN/scan 46What: /sys/class/uwb_rc/uwbN/scan
45Date: July 2008 47Date: July 2008
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/networking.tmpl b/Documentation/DocBook/networking.tmpl
index 627707a3cb9d..59ad69a9d777 100644
--- a/Documentation/DocBook/networking.tmpl
+++ b/Documentation/DocBook/networking.tmpl
@@ -74,6 +74,14 @@
74!Enet/sunrpc/rpcb_clnt.c 74!Enet/sunrpc/rpcb_clnt.c
75!Enet/sunrpc/clnt.c 75!Enet/sunrpc/clnt.c
76 </sect1> 76 </sect1>
77 <sect1><title>WiMAX</title>
78!Enet/wimax/op-msg.c
79!Enet/wimax/op-reset.c
80!Enet/wimax/op-rfkill.c
81!Enet/wimax/stack.c
82!Iinclude/net/wimax.h
83!Iinclude/linux/wimax.h
84 </sect1>
77 </chapter> 85 </chapter>
78 86
79 <chapter id="netdev"> 87 <chapter id="netdev">
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/PCI/pci.txt b/Documentation/PCI/pci.txt
index fd4907a2968c..7f6de6ea5b47 100644
--- a/Documentation/PCI/pci.txt
+++ b/Documentation/PCI/pci.txt
@@ -294,7 +294,8 @@ NOTE: pci_enable_device() can fail! Check the return value.
294 294
295pci_set_master() will enable DMA by setting the bus master bit 295pci_set_master() will enable DMA by setting the bus master bit
296in the PCI_COMMAND register. It also fixes the latency timer value if 296in the PCI_COMMAND register. It also fixes the latency timer value if
297it's set to something bogus by the BIOS. 297it's set to something bogus by the BIOS. pci_clear_master() will
298disable DMA by clearing the bus master bit.
298 299
299If the PCI device can use the PCI Memory-Write-Invalidate transaction, 300If the PCI device can use the PCI Memory-Write-Invalidate transaction,
300call pci_set_mwi(). This enables the PCI_COMMAND bit for Mem-Wr-Inval 301call pci_set_mwi(). This enables the PCI_COMMAND bit for Mem-Wr-Inval
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/cpu-hotplug.txt b/Documentation/cpu-hotplug.txt
index 94bbc27ddd4f..9d620c153b04 100644
--- a/Documentation/cpu-hotplug.txt
+++ b/Documentation/cpu-hotplug.txt
@@ -50,16 +50,17 @@ additional_cpus=n (*) Use this to limit hotpluggable cpus. This option sets
50 cpu_possible_map = cpu_present_map + additional_cpus 50 cpu_possible_map = cpu_present_map + additional_cpus
51 51
52(*) Option valid only for following architectures 52(*) Option valid only for following architectures
53- x86_64, ia64 53- ia64
54 54
55ia64 and x86_64 use the number of disabled local apics in ACPI tables MADT 55ia64 uses the number of disabled local apics in ACPI tables MADT to
56to determine the number of potentially hot-pluggable cpus. The implementation 56determine the number of potentially hot-pluggable cpus. The implementation
57should only rely on this to count the # of cpus, but *MUST* not rely on the 57should only rely on this to count the # of cpus, but *MUST* not rely
58apicid values in those tables for disabled apics. In the event BIOS doesn't 58on the apicid values in those tables for disabled apics. In the event
59mark such hot-pluggable cpus as disabled entries, one could use this 59BIOS doesn't mark such hot-pluggable cpus as disabled entries, one could
60parameter "additional_cpus=x" to represent those cpus in the cpu_possible_map. 60use this parameter "additional_cpus=x" to represent those cpus in the
61cpu_possible_map.
61 62
62possible_cpus=n [s390 only] use this to set hotpluggable cpus. 63possible_cpus=n [s390,x86_64] use this to set hotpluggable cpus.
63 This option sets possible_cpus bits in 64 This option sets possible_cpus bits in
64 cpu_possible_map. Thus keeping the numbers of bits set 65 cpu_possible_map. Thus keeping the numbers of bits set
65 constant even if the machine gets rebooted. 66 constant even if the machine gets rebooted.
diff --git a/Documentation/cputopology.txt b/Documentation/cputopology.txt
index bd699da24666..45932ec21cee 100644
--- a/Documentation/cputopology.txt
+++ b/Documentation/cputopology.txt
@@ -31,3 +31,51 @@ not defined by include/asm-XXX/topology.h:
312) core_id: 0 312) core_id: 0
323) thread_siblings: just the given CPU 323) thread_siblings: just the given CPU
334) core_siblings: just the given CPU 334) core_siblings: just the given CPU
34
35Additionally, cpu topology information is provided under
36/sys/devices/system/cpu and includes these files. The internal
37source for the output is in brackets ("[]").
38
39 kernel_max: the maximum cpu index allowed by the kernel configuration.
40 [NR_CPUS-1]
41
42 offline: cpus that are not online because they have been
43 HOTPLUGGED off (see cpu-hotplug.txt) or exceed the limit
44 of cpus allowed by the kernel configuration (kernel_max
45 above). [~cpu_online_mask + cpus >= NR_CPUS]
46
47 online: cpus that are online and being scheduled [cpu_online_mask]
48
49 possible: cpus that have been allocated resources and can be
50 brought online if they are present. [cpu_possible_mask]
51
52 present: cpus that have been identified as being present in the
53 system. [cpu_present_mask]
54
55The format for the above output is compatible with cpulist_parse()
56[see <linux/cpumask.h>]. Some examples follow.
57
58In this example, there are 64 cpus in the system but cpus 32-63 exceed
59the kernel max which is limited to 0..31 by the NR_CPUS config option
60being 32. Note also that cpus 2 and 4-31 are not online but could be
61brought online as they are both present and possible.
62
63 kernel_max: 31
64 offline: 2,4-31,32-63
65 online: 0-1,3
66 possible: 0-31
67 present: 0-31
68
69In this example, the NR_CPUS config option is 128, but the kernel was
70started with possible_cpus=144. There are 4 cpus in the system and cpu2
71was manually taken offline (and is the only cpu that can be brought
72online.)
73
74 kernel_max: 127
75 offline: 2,4-127,128-143
76 online: 0-1,3
77 possible: 0-127
78 present: 0-3
79
80See cpu-hotplug.txt for the possible_cpus=NUM kernel start parameter
81as well as more information on the various cpumask's.
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 dc7c681e532c..5ddbe350487a 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -310,17 +310,28 @@ Who: Krzysztof Piotr Oledzki <ole@ans.pl>
310 310
311--------------------------- 311---------------------------
312 312
313What: ide-scsi (BLK_DEV_IDESCSI)
314When: 2.6.29
315Why: The 2.6 kernel supports direct writing to ide CD drives, which
316 eliminates the need for ide-scsi. The new method is more
317 efficient in every way.
318Who: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
319
320---------------------------
321
322What: i2c_attach_client(), i2c_detach_client(), i2c_driver->detach_client() 313What: i2c_attach_client(), i2c_detach_client(), i2c_driver->detach_client()
323When: 2.6.29 (ideally) or 2.6.30 (more likely) 314When: 2.6.29 (ideally) or 2.6.30 (more likely)
324Why: Deprecated by the new (standard) device driver binding model. Use 315Why: Deprecated by the new (standard) device driver binding model. Use
325 i2c_driver->probe() and ->remove() instead. 316 i2c_driver->probe() and ->remove() instead.
326Who: 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/devpts.txt b/Documentation/filesystems/devpts.txt
new file mode 100644
index 000000000000..68dffd87f9b7
--- /dev/null
+++ b/Documentation/filesystems/devpts.txt
@@ -0,0 +1,132 @@
1
2To support containers, we now allow multiple instances of devpts filesystem,
3such that indices of ptys allocated in one instance are independent of indices
4allocated in other instances of devpts.
5
6To preserve backward compatibility, this support for multiple instances is
7enabled only if:
8
9 - CONFIG_DEVPTS_MULTIPLE_INSTANCES=y, and
10 - '-o newinstance' mount option is specified while mounting devpts
11
12IOW, devpts now supports both single-instance and multi-instance semantics.
13
14If CONFIG_DEVPTS_MULTIPLE_INSTANCES=n, there is no change in behavior and
15this referred to as the "legacy" mode. In this mode, the new mount options
16(-o newinstance and -o ptmxmode) will be ignored with a 'bogus option' message
17on console.
18
19If CONFIG_DEVPTS_MULTIPLE_INSTANCES=y and devpts is mounted without the
20'newinstance' option (as in current start-up scripts) the new mount binds
21to the initial kernel mount of devpts. This mode is referred to as the
22'single-instance' mode and the current, single-instance semantics are
23preserved, i.e PTYs are common across the system.
24
25The only difference between this single-instance mode and the legacy mode
26is the presence of new, '/dev/pts/ptmx' node with permissions 0000, which
27can safely be ignored.
28
29If CONFIG_DEVPTS_MULTIPLE_INSTANCES=y and 'newinstance' option is specified,
30the mount is considered to be in the multi-instance mode and a new instance
31of the devpts fs is created. Any ptys created in this instance are independent
32of ptys in other instances of devpts. Like in the single-instance mode, the
33/dev/pts/ptmx node is present. To effectively use the multi-instance mode,
34open of /dev/ptmx must be a redirected to '/dev/pts/ptmx' using a symlink or
35bind-mount.
36
37Eg: A container startup script could do the following:
38
39 $ chmod 0666 /dev/pts/ptmx
40 $ rm /dev/ptmx
41 $ ln -s pts/ptmx /dev/ptmx
42 $ ns_exec -cm /bin/bash
43
44 # We are now in new container
45
46 $ umount /dev/pts
47 $ mount -t devpts -o newinstance lxcpts /dev/pts
48 $ sshd -p 1234
49
50where 'ns_exec -cm /bin/bash' calls clone() with CLONE_NEWNS flag and execs
51/bin/bash in the child process. A pty created by the sshd is not visible in
52the original mount of /dev/pts.
53
54User-space changes
55------------------
56
57In multi-instance mode (i.e '-o newinstance' mount option is specified at least
58once), following user-space issues should be noted.
59
601. If -o newinstance mount option is never used, /dev/pts/ptmx can be ignored
61 and no change is needed to system-startup scripts.
62
632. To effectively use multi-instance mode (i.e -o newinstance is specified)
64 administrators or startup scripts should "redirect" open of /dev/ptmx to
65 /dev/pts/ptmx using either a bind mount or symlink.
66
67 $ mount -t devpts -o newinstance devpts /dev/pts
68
69 followed by either
70
71 $ rm /dev/ptmx
72 $ ln -s pts/ptmx /dev/ptmx
73 $ chmod 666 /dev/pts/ptmx
74 or
75 $ mount -o bind /dev/pts/ptmx /dev/ptmx
76
773. The '/dev/ptmx -> pts/ptmx' symlink is the preferred method since it
78 enables better error-reporting and treats both single-instance and
79 multi-instance mounts similarly.
80
81 But this method requires that system-startup scripts set the mode of
82 /dev/pts/ptmx correctly (default mode is 0000). The scripts can set the
83 mode by, either
84
85 - adding ptmxmode mount option to devpts entry in /etc/fstab, or
86 - using 'chmod 0666 /dev/pts/ptmx'
87
884. If multi-instance mode mount is needed for containers, but the system
89 startup scripts have not yet been updated, container-startup scripts
90 should bind mount /dev/ptmx to /dev/pts/ptmx to avoid breaking single-
91 instance mounts.
92
93 Or, in general, container-startup scripts should use:
94
95 mount -t devpts -o newinstance -o ptmxmode=0666 devpts /dev/pts
96 if [ ! -L /dev/ptmx ]; then
97 mount -o bind /dev/pts/ptmx /dev/ptmx
98 fi
99
100 When all devpts mounts are multi-instance, /dev/ptmx can permanently be
101 a symlink to pts/ptmx and the bind mount can be ignored.
102
1035. A multi-instance mount that is not accompanied by the /dev/ptmx to
104 /dev/pts/ptmx redirection would result in an unusable/unreachable pty.
105
106 mount -t devpts -o newinstance lxcpts /dev/pts
107
108 immediately followed by:
109
110 open("/dev/ptmx")
111
112 would create a pty, say /dev/pts/7, in the initial kernel mount.
113 But /dev/pts/7 would be invisible in the new mount.
114
1156. The permissions for /dev/pts/ptmx node should be specified when mounting
116 /dev/pts, using the '-o ptmxmode=%o' mount option (default is 0000).
117
118 mount -t devpts -o newinstance -o ptmxmode=0644 devpts /dev/pts
119
120 The permissions can be later be changed as usual with 'chmod'.
121
122 chmod 666 /dev/pts/ptmx
123
1247. A mount of devpts without the 'newinstance' option results in binding to
125 initial kernel mount. This behavior while preserving legacy semantics,
126 does not provide strict isolation in a container environment. i.e by
127 mounting devpts without the 'newinstance' option, a container could
128 get visibility into the 'host' or root container's devpts.
129
130 To workaround this and have strict isolation, all mounts of devpts,
131 including the mount in the root container, should use the newinstance
132 option.
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 71df353e367c..d105eb45282a 100644
--- a/Documentation/filesystems/proc.txt
+++ b/Documentation/filesystems/proc.txt
@@ -140,6 +140,7 @@ Table 1-1: Process specific entries in /proc
140 statm Process memory status information 140 statm Process memory status information
141 status Process status in human readable form 141 status Process status in human readable form
142 wchan If CONFIG_KALLSYMS is set, a pre-decoded wchan 142 wchan If CONFIG_KALLSYMS is set, a pre-decoded wchan
143 stack Report full stack trace, enable via CONFIG_STACKTRACE
143 smaps Extension based on maps, the rss size for each mapped file 144 smaps Extension based on maps, the rss size for each mapped file
144.............................................................................. 145..............................................................................
145 146
@@ -1385,6 +1386,15 @@ swapcache reclaim. Decreasing vfs_cache_pressure causes the kernel to prefer
1385to retain dentry and inode caches. Increasing vfs_cache_pressure beyond 100 1386to retain dentry and inode caches. Increasing vfs_cache_pressure beyond 100
1386causes the kernel to prefer to reclaim dentries and inodes. 1387causes the kernel to prefer to reclaim dentries and inodes.
1387 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
1388dirty_background_ratio 1398dirty_background_ratio
1389---------------------- 1399----------------------
1390 1400
@@ -1393,14 +1403,29 @@ pages + file cache, not including locked pages and HugePages), the number of
1393pages at which the pdflush background writeback daemon will start writing out 1403pages at which the pdflush background writeback daemon will start writing out
1394dirty data. 1404dirty data.
1395 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
1396dirty_ratio 1418dirty_ratio
1397----------------- 1419-----------
1398 1420
1399Contains, as a percentage of the dirtyable system memory (free pages + mapped 1421Contains, as a percentage of the dirtyable system memory (free pages + mapped
1400pages + file cache, not including locked pages and HugePages), the number of 1422pages + file cache, not including locked pages and HugePages), the number of
1401pages 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
1402writing out dirty data. 1424writing out dirty data.
1403 1425
1426If dirty_ratio is written, dirty_bytes becomes a function of its value
1427(dirty_ratio * the amount of dirtyable system memory).
1428
1404dirty_writeback_centisecs 1429dirty_writeback_centisecs
1405------------------------- 1430-------------------------
1406 1431
diff --git a/Documentation/filesystems/ubifs.txt b/Documentation/filesystems/ubifs.txt
index dd84ea3c10da..84da2a4ba25a 100644
--- a/Documentation/filesystems/ubifs.txt
+++ b/Documentation/filesystems/ubifs.txt
@@ -95,6 +95,9 @@ no_chk_data_crc skip checking of CRCs on data nodes in order to
95 of this option is that corruption of the contents 95 of this option is that corruption of the contents
96 of a file can go unnoticed. 96 of a file can go unnoticed.
97chk_data_crc (*) do not skip checking CRCs on data nodes 97chk_data_crc (*) do not skip checking CRCs on data nodes
98compr=none override default compressor and set it to "none"
99compr=lzo override default compressor and set it to "lzo"
100compr=zlib override default compressor and set it to "zlib"
98 101
99 102
100Quick usage instructions 103Quick usage instructions
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 b880ce5dbd33..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
@@ -97,6 +97,7 @@ Code Seq# Include File Comments
97 <http://linux01.gwdg.de/~alatham/ppdd.html> 97 <http://linux01.gwdg.de/~alatham/ppdd.html>
98'M' all linux/soundcard.h 98'M' all linux/soundcard.h
99'N' 00-1F drivers/usb/scanner.h 99'N' 00-1F drivers/usb/scanner.h
100'O' 00-02 include/mtd/ubi-user.h UBI
100'P' all linux/soundcard.h 101'P' all linux/soundcard.h
101'Q' all linux/soundcard.h 102'Q' all linux/soundcard.h
102'R' 00-1F linux/random.h 103'R' 00-1F linux/random.h
@@ -104,7 +105,7 @@ Code Seq# Include File Comments
104'S' 80-81 scsi/scsi_ioctl.h conflict! 105'S' 80-81 scsi/scsi_ioctl.h conflict!
105'S' 82-FF scsi/scsi.h conflict! 106'S' 82-FF scsi/scsi.h conflict!
106'T' all linux/soundcard.h conflict! 107'T' all linux/soundcard.h conflict!
107'T' all asm-i386/ioctls.h conflict! 108'T' all arch/x86/include/asm/ioctls.h conflict!
108'U' 00-EF linux/drivers/usb/usb.h 109'U' 00-EF linux/drivers/usb/usb.h
109'V' all linux/vt.h 110'V' all linux/vt.h
110'W' 00-1F linux/watchdog.h conflict! 111'W' 00-1F linux/watchdog.h conflict!
@@ -119,7 +120,7 @@ Code Seq# Include File Comments
119 <mailto:natalia@nikhefk.nikhef.nl> 120 <mailto:natalia@nikhefk.nikhef.nl>
120'c' 00-7F linux/comstats.h conflict! 121'c' 00-7F linux/comstats.h conflict!
121'c' 00-7F linux/coda.h conflict! 122'c' 00-7F linux/coda.h conflict!
122'c' 80-9F asm-s390/chsc.h 123'c' 80-9F arch/s390/include/asm/chsc.h
123'd' 00-FF linux/char/drm/drm/h conflict! 124'd' 00-FF linux/char/drm/drm/h conflict!
124'd' 00-DF linux/video_decoder.h conflict! 125'd' 00-DF linux/video_decoder.h conflict!
125'd' F0-FF linux/digi1.h 126'd' F0-FF linux/digi1.h
@@ -142,6 +143,9 @@ Code Seq# Include File Comments
142'n' 00-7F linux/ncp_fs.h 143'n' 00-7F linux/ncp_fs.h
143'n' E0-FF video/matrox.h matroxfb 144'n' E0-FF video/matrox.h matroxfb
144'o' 00-1F fs/ocfs2/ocfs2_fs.h OCFS2 145'o' 00-1F fs/ocfs2/ocfs2_fs.h OCFS2
146'o' 00-03 include/mtd/ubi-user.h conflict! (OCFS2 and UBI overlaps)
147'o' 40-41 include/mtd/ubi-user.h UBI
148'o' 01-A1 include/linux/dvb/*.h DVB
145'p' 00-0F linux/phantom.h conflict! (OpenHaptics needs this) 149'p' 00-0F linux/phantom.h conflict! (OpenHaptics needs this)
146'p' 00-3F linux/mc146818rtc.h conflict! 150'p' 00-3F linux/mc146818rtc.h conflict!
147'p' 40-7F linux/nvram.h 151'p' 40-7F linux/nvram.h
@@ -166,7 +170,7 @@ Code Seq# Include File Comments
166 <mailto:oe@port.de> 170 <mailto:oe@port.de>
1670x80 00-1F linux/fb.h 1710x80 00-1F linux/fb.h
1680x81 00-1F linux/videotext.h 1720x81 00-1F linux/videotext.h
1690x89 00-06 asm-i386/sockios.h 1730x89 00-06 arch/x86/include/asm/sockios.h
1700x89 0B-DF linux/sockios.h 1740x89 0B-DF linux/sockios.h
1710x89 E0-EF linux/sockios.h SIOCPROTOPRIVATE range 1750x89 E0-EF linux/sockios.h SIOCPROTOPRIVATE range
1720x89 F0-FF linux/sockios.h SIOCDEVPRIVATE range 1760x89 F0-FF linux/sockios.h SIOCDEVPRIVATE range
diff --git a/Documentation/kbuild/00-INDEX b/Documentation/kbuild/00-INDEX
index 114644285454..e8d2b6d83a3d 100644
--- a/Documentation/kbuild/00-INDEX
+++ b/Documentation/kbuild/00-INDEX
@@ -1,5 +1,9 @@
100-INDEX 100-INDEX
2 - this file: info on the kernel build process 2 - this file: info on the kernel build process
3kbuild.txt
4 - developer information on kbuild
5kconfig.txt
6 - usage help for make *config
3kconfig-language.txt 7kconfig-language.txt
4 - specification of Config Language, the language in Kconfig files 8 - specification of Config Language, the language in Kconfig files
5makefiles.txt 9makefiles.txt
diff --git a/Documentation/kbuild/kbuild.txt b/Documentation/kbuild/kbuild.txt
new file mode 100644
index 000000000000..923f9ddee8f6
--- /dev/null
+++ b/Documentation/kbuild/kbuild.txt
@@ -0,0 +1,133 @@
1Environment variables
2
3KCPPFLAGS
4--------------------------------------------------
5Additional options to pass when preprocessing. The preprocessing options
6will be used in all cases where kbuild do preprocessing including
7building C files and assembler files.
8
9KAFLAGS
10--------------------------------------------------
11Additional options to the assembler.
12
13KCFLAGS
14--------------------------------------------------
15Additional options to the C compiler.
16
17KBUILD_VERBOSE
18--------------------------------------------------
19Set the kbuild verbosity. Can be assinged same values as "V=...".
20See make help for the full list.
21Setting "V=..." takes precedence over KBUILD_VERBOSE.
22
23KBUILD_EXTMOD
24--------------------------------------------------
25Set the directory to look for the kernel source when building external
26modules.
27The directory can be specified in several ways:
281) Use "M=..." on the command line
292) Environmnet variable KBUILD_EXTMOD
303) Environmnet variable SUBDIRS
31The possibilities are listed in the order they take precedence.
32Using "M=..." will always override the others.
33
34KBUILD_OUTPUT
35--------------------------------------------------
36Specify the output directory when building the kernel.
37The output directory can also be specificed using "O=...".
38Setting "O=..." takes precedence over KBUILD_OUTPUT
39
40ARCH
41--------------------------------------------------
42Set ARCH to the architecture to be built.
43In most cases the name of the architecture is the same as the
44directory name found in the arch/ directory.
45But some architectures suach as x86 and sparc has aliases.
46x86: i386 for 32 bit, x86_64 for 64 bit
47sparc: sparc for 32 bit, sparc64 for 64 bit
48
49CROSS_COMPILE
50--------------------------------------------------
51Specify an optional fixed part of the binutils filename.
52CROSS_COMPILE can be a part of the filename or the full path.
53
54CROSS_COMPILE is also used for ccache is some setups.
55
56CF
57--------------------------------------------------
58Additional options for sparse.
59CF is often used on the command-line like this:
60
61 make CF=-Wbitwise C=2
62
63INSTALL_PATH
64--------------------------------------------------
65INSTALL_PATH specifies where to place the updated kernel and system map
66images. Default is /boot, but you can set it to other values
67
68
69MODLIB
70--------------------------------------------------
71Specify where to install modules.
72The default value is:
73
74 $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)
75
76The value can be overridden in which case the default value is ignored.
77
78INSTALL_MOD_PATH
79--------------------------------------------------
80INSTALL_MOD_PATH specifies a prefix to MODLIB for module directory
81relocations required by build roots. This is not defined in the
82makefile but the argument can be passed to make if needed.
83
84INSTALL_MOD_STRIP
85--------------------------------------------------
86INSTALL_MOD_STRIP, if defined, will cause modules to be
87stripped after they are installed. If INSTALL_MOD_STRIP is '1', then
88the default option --strip-debug will be used. Otherwise,
89INSTALL_MOD_STRIP will used as the options to the strip command.
90
91INSTALL_FW_PATH
92--------------------------------------------------
93INSTALL_FW_PATH specify where to install the firmware blobs.
94The default value is:
95
96 $(INSTALL_MOD_PATH)/lib/firmware
97
98The value can be overridden in which case the default value is ignored.
99
100INSTALL_HDR_PATH
101--------------------------------------------------
102INSTALL_HDR_PATH specify where to install user space headers when
103executing "make headers_*".
104The default value is:
105
106 $(objtree)/usr
107
108$(objtree) is the directory where output files are saved.
109The output directory is often set using "O=..." on the commandline.
110
111The value can be overridden in which case the default value is ignored.
112
113KBUILD_MODPOST_WARN
114--------------------------------------------------
115KBUILD_MODPOST_WARN can be set to avoid error out in case of undefined
116symbols in the final module linking stage.
117
118KBUILD_MODPOST_FINAL
119--------------------------------------------------
120KBUILD_MODPOST_NOFINAL can be set to skip the final link of modules.
121This is solely usefull to speed up test compiles.
122
123KBUILD_EXTRA_SYMBOLS
124--------------------------------------------------
125For modules use symbols from another modules.
126See more details in modules.txt.
127
128ALLSOURCE_ARCHS
129--------------------------------------------------
130For tags/TAGS/cscope targets, you can specify more than one archs
131to be included in the databases, separated by blankspace. e.g.
132
133 $ make ALLSOURCE_ARCHS="x86 mips arm" tags
diff --git a/Documentation/kbuild/kconfig.txt b/Documentation/kbuild/kconfig.txt
new file mode 100644
index 000000000000..26a7c0a93193
--- /dev/null
+++ b/Documentation/kbuild/kconfig.txt
@@ -0,0 +1,188 @@
1This file contains some assistance for using "make *config".
2
3Use "make help" to list all of the possible configuration targets.
4
5The xconfig ('qconf') and menuconfig ('mconf') programs also
6have embedded help text. Be sure to check it for navigation,
7search, and other general help text.
8
9======================================================================
10General
11--------------------------------------------------
12
13New kernel releases often introduce new config symbols. Often more
14important, new kernel releases may rename config symbols. When
15this happens, using a previously working .config file and running
16"make oldconfig" won't necessarily produce a working new kernel
17for you, so you may find that you need to see what NEW kernel
18symbols have been introduced.
19
20To see a list of new config symbols when using "make oldconfig", use
21
22 cp user/some/old.config .config
23 yes "" | make oldconfig >conf.new
24
25and the config program will list as (NEW) any new symbols that have
26unknown values. Of course, the .config file is also updated with
27new (default) values, so you can use:
28
29 grep "(NEW)" conf.new
30
31to see the new config symbols or you can 'diff' the previous and
32new .config files to see the differences:
33
34 diff .config.old .config | less
35
36(Yes, we need something better here.)
37
38
39======================================================================
40menuconfig
41--------------------------------------------------
42
43SEARCHING for CONFIG symbols
44
45Searching in menuconfig:
46
47 The Search function searches for kernel configuration symbol
48 names, so you have to know something close to what you are
49 looking for.
50
51 Example:
52 /hotplug
53 This lists all config symbols that contain "hotplug",
54 e.g., HOTPLUG, HOTPLUG_CPU, MEMORY_HOTPLUG.
55
56 For search help, enter / followed TAB-TAB-TAB (to highlight
57 <Help>) and Enter. This will tell you that you can also use
58 regular expressions (regexes) in the search string, so if you
59 are not interested in MEMORY_HOTPLUG, you could try
60
61 /^hotplug
62
63
64______________________________________________________________________
65Color Themes for 'menuconfig'
66
67It is possible to select different color themes using the variable
68MENUCONFIG_COLOR. To select a theme use:
69
70 make MENUCONFIG_COLOR=<theme> menuconfig
71
72Available themes are:
73 mono => selects colors suitable for monochrome displays
74 blackbg => selects a color scheme with black background
75 classic => theme with blue background. The classic look
76 bluetitle => a LCD friendly version of classic. (default)
77
78______________________________________________________________________
79Environment variables in 'menuconfig'
80
81KCONFIG_ALLCONFIG
82--------------------------------------------------
83(partially based on lkml email from/by Rob Landley, re: miniconfig)
84--------------------------------------------------
85The allyesconfig/allmodconfig/allnoconfig/randconfig variants can
86also use the environment variable KCONFIG_ALLCONFIG as a flag or a
87filename that contains config symbols that the user requires to be
88set to a specific value. If KCONFIG_ALLCONFIG is used without a
89filename, "make *config" checks for a file named
90"all{yes/mod/no/random}.config" (corresponding to the *config command
91that was used) for symbol values that are to be forced. If this file
92is not found, it checks for a file named "all.config" to contain forced
93values.
94
95This enables you to create "miniature" config (miniconfig) or custom
96config files containing just the config symbols that you are interested
97in. Then the kernel config system generates the full .config file,
98including dependencies of your miniconfig file, based on the miniconfig
99file.
100
101This 'KCONFIG_ALLCONFIG' file is a config file which contains
102(usually a subset of all) preset config symbols. These variable
103settings are still subject to normal dependency checks.
104
105Examples:
106 KCONFIG_ALLCONFIG=custom-notebook.config make allnoconfig
107or
108 KCONFIG_ALLCONFIG=mini.config make allnoconfig
109or
110 make KCONFIG_ALLCONFIG=mini.config allnoconfig
111
112These examples will disable most options (allnoconfig) but enable or
113disable the options that are explicitly listed in the specified
114mini-config files.
115
116KCONFIG_NOSILENTUPDATE
117--------------------------------------------------
118If this variable has a non-blank value, it prevents silent kernel
119config udpates (requires explicit updates).
120
121KCONFIG_CONFIG
122--------------------------------------------------
123This environment variable can be used to specify a default kernel config
124file name to override the default name of ".config".
125
126KCONFIG_OVERWRITECONFIG
127--------------------------------------------------
128If you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not
129break symlinks when .config is a symlink to somewhere else.
130
131KCONFIG_NOTIMESTAMP
132--------------------------------------------------
133If this environment variable exists and is non-null, the timestamp line
134in generated .config files is omitted.
135
136KCONFIG_AUTOCONFIG
137--------------------------------------------------
138This environment variable can be set to specify the path & name of the
139"auto.conf" file. Its default value is "include/config/auto.conf".
140
141KCONFIG_AUTOHEADER
142--------------------------------------------------
143This environment variable can be set to specify the path & name of the
144"autoconf.h" (header) file. Its default value is "include/linux/autoconf.h".
145
146______________________________________________________________________
147menuconfig User Interface Options
148----------------------------------------------------------------------
149MENUCONFIG_MODE
150--------------------------------------------------
151This mode shows all sub-menus in one large tree.
152
153Example:
154 MENUCONFIG_MODE=single_menu make menuconfig
155
156======================================================================
157xconfig
158--------------------------------------------------
159
160Searching in xconfig:
161
162 The Search function searches for kernel configuration symbol
163 names, so you have to know something close to what you are
164 looking for.
165
166 Example:
167 Ctrl-F hotplug
168 or
169 Menu: File, Search, hotplug
170
171 lists all config symbol entries that contain "hotplug" in
172 the symbol name. In this Search dialog, you may change the
173 config setting for any of the entries that are not grayed out.
174 You can also enter a different search string without having
175 to return to the main menu.
176
177
178======================================================================
179gconfig
180--------------------------------------------------
181
182Searching in gconfig:
183
184 None (gconfig isn't maintained as well as xconfig or menuconfig);
185 however, gconfig does have a few more viewing choices than
186 xconfig does.
187
188###
diff --git a/Documentation/kbuild/modules.txt b/Documentation/kbuild/modules.txt
index 1821c077b435..b1096da953c8 100644
--- a/Documentation/kbuild/modules.txt
+++ b/Documentation/kbuild/modules.txt
@@ -253,7 +253,7 @@ following files:
253 253
254 # Module specific targets 254 # Module specific targets
255 genbin: 255 genbin:
256 echo "X" > 8123_bin_shipped 256 echo "X" > 8123_bin.o_shipped
257 257
258 258
259 In example 2, we are down to two fairly simple files and for simple 259 In example 2, we are down to two fairly simple files and for simple
@@ -279,7 +279,7 @@ following files:
279 279
280 # Module specific targets 280 # Module specific targets
281 genbin: 281 genbin:
282 echo "X" > 8123_bin_shipped 282 echo "X" > 8123_bin.o_shipped
283 283
284 endif 284 endif
285 285
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..532eacbbed62 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -91,6 +91,7 @@ parameter is applicable:
91 SUSPEND System suspend states are enabled. 91 SUSPEND System suspend states are enabled.
92 FTRACE Function tracing enabled. 92 FTRACE Function tracing enabled.
93 TS Appropriate touchscreen support is enabled. 93 TS Appropriate touchscreen support is enabled.
94 UMS USB Mass Storage support is enabled.
94 USB USB support is enabled. 95 USB USB support is enabled.
95 USBHID USB Human Interface Device support is enabled. 96 USBHID USB Human Interface Device support is enabled.
96 V4L Video For Linux support is enabled. 97 V4L Video For Linux support is enabled.
@@ -469,8 +470,8 @@ and is between 256 and 4096 characters. It is defined in the file
469 470
470 clearcpuid=BITNUM [X86] 471 clearcpuid=BITNUM [X86]
471 Disable CPUID feature X for the kernel. See 472 Disable CPUID feature X for the kernel. See
472 include/asm-x86/cpufeature.h for the valid bit numbers. 473 arch/x86/include/asm/cpufeature.h for the valid bit
473 Note the Linux specific bits are not necessarily 474 numbers. Note the Linux specific bits are not necessarily
474 stable over kernel options, but the vendor specific 475 stable over kernel options, but the vendor specific
475 ones should be. 476 ones should be.
476 Also note that user programs calling CPUID directly 477 Also note that user programs calling CPUID directly
@@ -551,6 +552,11 @@ and is between 256 and 4096 characters. It is defined in the file
551 not work reliably with all consoles, but is known 552 not work reliably with all consoles, but is known
552 to work with serial and VGA consoles. 553 to work with serial and VGA consoles.
553 554
555 coredump_filter=
556 [KNL] Change the default value for
557 /proc/<pid>/coredump_filter.
558 See also Documentation/filesystems/proc.txt.
559
554 cpcihp_generic= [HW,PCI] Generic port I/O CompactPCI driver 560 cpcihp_generic= [HW,PCI] Generic port I/O CompactPCI driver
555 Format: 561 Format:
556 <first_slot>,<last_slot>,<port>,<enum_bit>[,<debug>] 562 <first_slot>,<last_slot>,<port>,<enum_bit>[,<debug>]
@@ -913,6 +919,10 @@ and is between 256 and 4096 characters. It is defined in the file
913 919
914 inttest= [IA64] 920 inttest= [IA64]
915 921
922 iomem= Disable strict checking of access to MMIO memory
923 strict regions from userspace.
924 relaxed
925
916 iommu= [x86] 926 iommu= [x86]
917 off 927 off
918 force 928 force
@@ -1117,6 +1127,8 @@ and is between 256 and 4096 characters. It is defined in the file
1117 If there are multiple matching configurations changing 1127 If there are multiple matching configurations changing
1118 the same attribute, the last one is used. 1128 the same attribute, the last one is used.
1119 1129
1130 lmb=debug [KNL] Enable lmb debug messages.
1131
1120 load_ramdisk= [RAM] List of ramdisks to load from floppy 1132 load_ramdisk= [RAM] List of ramdisks to load from floppy
1121 See Documentation/blockdev/ramdisk.txt. 1133 See Documentation/blockdev/ramdisk.txt.
1122 1134
@@ -1569,6 +1581,10 @@ and is between 256 and 4096 characters. It is defined in the file
1569 1581
1570 nr_uarts= [SERIAL] maximum number of UARTs to be registered. 1582 nr_uarts= [SERIAL] maximum number of UARTs to be registered.
1571 1583
1584 ohci1394_dma=early [HW] enable debugging via the ohci1394 driver.
1585 See Documentation/debugging-via-ohci1394.txt for more
1586 info.
1587
1572 olpc_ec_timeout= [OLPC] ms delay when issuing EC commands 1588 olpc_ec_timeout= [OLPC] ms delay when issuing EC commands
1573 Rather than timing out after 20 ms if an EC 1589 Rather than timing out after 20 ms if an EC
1574 command is not properly ACKed, override the length 1590 command is not properly ACKed, override the length
@@ -1793,10 +1809,10 @@ and is between 256 and 4096 characters. It is defined in the file
1793 autoconfiguration. 1809 autoconfiguration.
1794 Ranges are in pairs (memory base and size). 1810 Ranges are in pairs (memory base and size).
1795 1811
1796 dynamic_printk 1812 dynamic_printk Enables pr_debug()/dev_dbg() calls if
1797 Enables pr_debug()/dev_dbg() calls if 1813 CONFIG_DYNAMIC_PRINTK_DEBUG has been enabled.
1798 CONFIG_DYNAMIC_PRINTK_DEBUG has been enabled. These can also 1814 These can also be switched on/off via
1799 be switched on/off via <debugfs>/dynamic_printk/modules 1815 <debugfs>/dynamic_printk/modules
1800 1816
1801 print-fatal-signals= 1817 print-fatal-signals=
1802 [KNL] debug: print fatal signals 1818 [KNL] debug: print fatal signals
@@ -1884,7 +1900,7 @@ and is between 256 and 4096 characters. It is defined in the file
1884 1900
1885 reboot= [BUGS=X86-32,BUGS=ARM,BUGS=IA-64] Rebooting mode 1901 reboot= [BUGS=X86-32,BUGS=ARM,BUGS=IA-64] Rebooting mode
1886 Format: <reboot_mode>[,<reboot_mode2>[,...]] 1902 Format: <reboot_mode>[,<reboot_mode2>[,...]]
1887 See arch/*/kernel/reboot.c or arch/*/kernel/process.c 1903 See arch/*/kernel/reboot.c or arch/*/kernel/process.c
1888 1904
1889 relax_domain_level= 1905 relax_domain_level=
1890 [KNL, SMP] Set scheduler's default relax_domain_level. 1906 [KNL, SMP] Set scheduler's default relax_domain_level.
@@ -2372,6 +2388,41 @@ and is between 256 and 4096 characters. It is defined in the file
2372 usbhid.mousepoll= 2388 usbhid.mousepoll=
2373 [USBHID] The interval which mice are to be polled at. 2389 [USBHID] The interval which mice are to be polled at.
2374 2390
2391 usb-storage.delay_use=
2392 [UMS] The delay in seconds before a new device is
2393 scanned for Logical Units (default 5).
2394
2395 usb-storage.quirks=
2396 [UMS] A list of quirks entries to supplement or
2397 override the built-in unusual_devs list. List
2398 entries are separated by commas. Each entry has
2399 the form VID:PID:Flags where VID and PID are Vendor
2400 and Product ID values (4-digit hex numbers) and
2401 Flags is a set of characters, each corresponding
2402 to a common usb-storage quirk flag as follows:
2403 a = SANE_SENSE (collect more than 18 bytes
2404 of sense data);
2405 c = FIX_CAPACITY (decrease the reported
2406 device capacity by one sector);
2407 h = CAPACITY_HEURISTICS (decrease the
2408 reported device capacity by one
2409 sector if the number is odd);
2410 i = IGNORE_DEVICE (don't bind to this
2411 device);
2412 l = NOT_LOCKABLE (don't try to lock and
2413 unlock ejectable media);
2414 m = MAX_SECTORS_64 (don't transfer more
2415 than 64 sectors = 32 KB at a time);
2416 o = CAPACITY_OK (accept the capacity
2417 reported by the device);
2418 r = IGNORE_RESIDUE (the device reports
2419 bogus residue values);
2420 s = SINGLE_LUN (the device has only one
2421 Logical Unit);
2422 w = NO_WP_DETECT (don't test whether the
2423 medium is write-protected).
2424 Example: quirks=0419:aaf5:rl,0421:0433:rc
2425
2375 add_efi_memmap [EFI; x86-32,X86-64] Include EFI memory map in 2426 add_efi_memmap [EFI; x86-32,X86-64] Include EFI memory map in
2376 kernel's map of available physical RAM. 2427 kernel's map of available physical RAM.
2377 2428
@@ -2432,8 +2483,8 @@ and is between 256 and 4096 characters. It is defined in the file
2432 Format: 2483 Format:
2433 <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]] 2484 <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]]
2434 2485
2435 norandmaps Don't use address space randomization 2486 norandmaps Don't use address space randomization. Equivalent to
2436 Equivalent to echo 0 > /proc/sys/kernel/randomize_va_space 2487 echo 0 > /proc/sys/kernel/randomize_va_space
2437 2488
2438______________________________________________________________________ 2489______________________________________________________________________
2439 2490
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/usb/power-management.txt b/Documentation/usb/power-management.txt
index e48ea1d51010..ad642615ad4c 100644
--- a/Documentation/usb/power-management.txt
+++ b/Documentation/usb/power-management.txt
@@ -313,11 +313,13 @@ three of the methods listed above. In addition, a driver indicates
313that it supports autosuspend by setting the .supports_autosuspend flag 313that it supports autosuspend by setting the .supports_autosuspend flag
314in its usb_driver structure. It is then responsible for informing the 314in its usb_driver structure. It is then responsible for informing the
315USB core whenever one of its interfaces becomes busy or idle. The 315USB core whenever one of its interfaces becomes busy or idle. The
316driver does so by calling these three functions: 316driver does so by calling these five functions:
317 317
318 int usb_autopm_get_interface(struct usb_interface *intf); 318 int usb_autopm_get_interface(struct usb_interface *intf);
319 void usb_autopm_put_interface(struct usb_interface *intf); 319 void usb_autopm_put_interface(struct usb_interface *intf);
320 int usb_autopm_set_interface(struct usb_interface *intf); 320 int usb_autopm_set_interface(struct usb_interface *intf);
321 int usb_autopm_get_interface_async(struct usb_interface *intf);
322 void usb_autopm_put_interface_async(struct usb_interface *intf);
321 323
322The functions work by maintaining a counter in the usb_interface 324The functions work by maintaining a counter in the usb_interface
323structure. When intf->pm_usage_count is > 0 then the interface is 325structure. When intf->pm_usage_count is > 0 then the interface is
@@ -330,10 +332,12 @@ associated with the device itself rather than any of its interfaces.
330This field is used only by the USB core.) 332This field is used only by the USB core.)
331 333
332The driver owns intf->pm_usage_count; it can modify the value however 334The driver owns intf->pm_usage_count; it can modify the value however
333and whenever it likes. A nice aspect of the usb_autopm_* routines is 335and whenever it likes. A nice aspect of the non-async usb_autopm_*
334that the changes they make are protected by the usb_device structure's 336routines is that the changes they make are protected by the usb_device
335PM mutex (udev->pm_mutex); however drivers may change pm_usage_count 337structure's PM mutex (udev->pm_mutex); however drivers may change
336without holding the mutex. 338pm_usage_count without holding the mutex. Drivers using the async
339routines are responsible for their own synchronization and mutual
340exclusion.
337 341
338 usb_autopm_get_interface() increments pm_usage_count and 342 usb_autopm_get_interface() increments pm_usage_count and
339 attempts an autoresume if the new value is > 0 and the 343 attempts an autoresume if the new value is > 0 and the
@@ -348,6 +352,14 @@ without holding the mutex.
348 is suspended, and it attempts an autosuspend if the value is 352 is suspended, and it attempts an autosuspend if the value is
349 <= 0 and the device isn't suspended. 353 <= 0 and the device isn't suspended.
350 354
355 usb_autopm_get_interface_async() and
356 usb_autopm_put_interface_async() do almost the same things as
357 their non-async counterparts. The differences are: they do
358 not acquire the PM mutex, and they use a workqueue to do their
359 jobs. As a result they can be called in an atomic context,
360 such as an URB's completion handler, but when they return the
361 device will not generally not yet be in the desired state.
362
351There also are a couple of utility routines drivers can use: 363There also are a couple of utility routines drivers can use:
352 364
353 usb_autopm_enable() sets pm_usage_cnt to 0 and then calls 365 usb_autopm_enable() sets pm_usage_cnt to 0 and then calls
diff --git a/Documentation/usb/wusb-cbaf b/Documentation/usb/wusb-cbaf
index 2e78b70f3adc..426ddaaef96f 100644
--- a/Documentation/usb/wusb-cbaf
+++ b/Documentation/usb/wusb-cbaf
@@ -80,12 +80,6 @@ case $1 in
80 start) 80 start)
81 for dev in ${2:-$hdevs} 81 for dev in ${2:-$hdevs}
82 do 82 do
83 uwb_rc=$(readlink -f $dev/uwb_rc)
84 if cat $uwb_rc/beacon | grep -q -- "-1"
85 then
86 echo 13 0 > $uwb_rc/beacon
87 echo I: started beaconing on ch 13 on $(basename $uwb_rc) >&2
88 fi
89 echo $host_CHID > $dev/wusb_chid 83 echo $host_CHID > $dev/wusb_chid
90 echo I: started host $(basename $dev) >&2 84 echo I: started host $(basename $dev) >&2
91 done 85 done
@@ -95,9 +89,6 @@ case $1 in
95 do 89 do
96 echo 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > $dev/wusb_chid 90 echo 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > $dev/wusb_chid
97 echo I: stopped host $(basename $dev) >&2 91 echo I: stopped host $(basename $dev) >&2
98 uwb_rc=$(readlink -f $dev/uwb_rc)
99 echo -1 | cat > $uwb_rc/beacon
100 echo I: stopped beaconing on $(basename $uwb_rc) >&2
101 done 92 done
102 ;; 93 ;;
103 set-chid) 94 set-chid)
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134
index 335aef4dcaeb..b8d470596b0c 100644
--- a/Documentation/video4linux/CARDLIST.saa7134
+++ b/Documentation/video4linux/CARDLIST.saa7134
@@ -152,3 +152,4 @@
152151 -> ADS Tech Instant HDTV [1421:0380] 152151 -> ADS Tech Instant HDTV [1421:0380]
153152 -> Asus Tiger Rev:1.00 [1043:4857] 153152 -> Asus Tiger Rev:1.00 [1043:4857]
154153 -> Kworld Plus TV Analog Lite PCI [17de:7128] 154153 -> Kworld Plus TV Analog Lite PCI [17de:7128]
155154 -> Avermedia AVerTV GO 007 FM Plus [1461:f31d]
diff --git a/Documentation/video4linux/si470x.txt b/Documentation/video4linux/si470x.txt
index 11c5fd22a332..49679e6aaa76 100644
--- a/Documentation/video4linux/si470x.txt
+++ b/Documentation/video4linux/si470x.txt
@@ -41,6 +41,7 @@ chips are known to work:
41- 10c4:818a: Silicon Labs USB FM Radio Reference Design 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) 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) 43- 1b80:d700: KWorld USB FM Radio SnapMusic Mobile 700 (FM700)
44- 10c5:819a: DealExtreme USB Radio
44 45
45 46
46Software 47Software
diff --git a/Documentation/video4linux/v4l2-framework.txt b/Documentation/video4linux/v4l2-framework.txt
index eeae76c22a93..ff124374e9ba 100644
--- a/Documentation/video4linux/v4l2-framework.txt
+++ b/Documentation/video4linux/v4l2-framework.txt
@@ -184,7 +184,7 @@ may be NULL if the subdev driver does not support anything from that category.
184It looks like this: 184It looks like this:
185 185
186struct v4l2_subdev_core_ops { 186struct v4l2_subdev_core_ops {
187 int (*g_chip_ident)(struct v4l2_subdev *sd, struct v4l2_chip_ident *chip); 187 int (*g_chip_ident)(struct v4l2_subdev *sd, struct v4l2_dbg_chip_ident *chip);
188 int (*log_status)(struct v4l2_subdev *sd); 188 int (*log_status)(struct v4l2_subdev *sd);
189 int (*init)(struct v4l2_subdev *sd, u32 val); 189 int (*init)(struct v4l2_subdev *sd, u32 val);
190 ... 190 ...
@@ -390,16 +390,18 @@ allocated memory.
390 390
391You should also set these fields: 391You should also set these fields:
392 392
393- parent: set to the parent device (same device as was used to register 393- v4l2_dev: set to the v4l2_device parent device.
394 v4l2_device).
395- name: set to something descriptive and unique. 394- name: set to something descriptive and unique.
396- fops: set to the file_operations struct. 395- fops: set to the v4l2_file_operations struct.
397- ioctl_ops: if you use the v4l2_ioctl_ops to simplify ioctl maintenance 396- ioctl_ops: if you use the v4l2_ioctl_ops to simplify ioctl maintenance
398 (highly recommended to use this and it might become compulsory in the 397 (highly recommended to use this and it might become compulsory in the
399 future!), then set this to your v4l2_ioctl_ops struct. 398 future!), then set this to your v4l2_ioctl_ops struct.
400 399
401If you use v4l2_ioctl_ops, then you should set .unlocked_ioctl to 400If you use v4l2_ioctl_ops, then you should set either .unlocked_ioctl or
402__video_ioctl2 or .ioctl to video_ioctl2 in your file_operations struct. 401.ioctl to video_ioctl2 in your v4l2_file_operations struct.
402
403The v4l2_file_operations struct is a subset of file_operations. The main
404difference is that the inode argument is omitted since it is never used.
403 405
404 406
405video_device registration 407video_device registration
@@ -410,7 +412,7 @@ for you.
410 412
411 err = video_register_device(vdev, VFL_TYPE_GRABBER, -1); 413 err = video_register_device(vdev, VFL_TYPE_GRABBER, -1);
412 if (err) { 414 if (err) {
413 video_device_release(vdev); // or kfree(my_vdev); 415 video_device_release(vdev); /* or kfree(my_vdev); */
414 return err; 416 return err;
415 } 417 }
416 418
@@ -516,5 +518,4 @@ void *video_drvdata(struct file *file);
516 518
517You can go from a video_device struct to the v4l2_device struct using: 519You can go from a video_device struct to the v4l2_device struct using:
518 520
519struct v4l2_device *v4l2_dev = dev_get_drvdata(vdev->parent); 521struct v4l2_device *v4l2_dev = vdev->v4l2_dev;
520
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/wimax/README.i2400m b/Documentation/wimax/README.i2400m
new file mode 100644
index 000000000000..7dffd8919cb0
--- /dev/null
+++ b/Documentation/wimax/README.i2400m
@@ -0,0 +1,260 @@
1
2 Driver for the Intel Wireless Wimax Connection 2400m
3
4 (C) 2008 Intel Corporation < linux-wimax@intel.com >
5
6 This provides a driver for the Intel Wireless WiMAX Connection 2400m
7 and a basic Linux kernel WiMAX stack.
8
91. Requirements
10
11 * Linux installation with Linux kernel 2.6.22 or newer (if building
12 from a separate tree)
13 * Intel i2400m Echo Peak or Baxter Peak; this includes the Intel
14 Wireless WiMAX/WiFi Link 5x50 series.
15 * build tools:
16 + Linux kernel development package for the target kernel; to
17 build against your currently running kernel, you need to have
18 the kernel development package corresponding to the running
19 image installed (usually if your kernel is named
20 linux-VERSION, the development package is called
21 linux-dev-VERSION or linux-headers-VERSION).
22 + GNU C Compiler, make
23
242. Compilation and installation
25
262.1. Compilation of the drivers included in the kernel
27
28 Configure the kernel; to enable the WiMAX drivers select Drivers >
29 Networking Drivers > WiMAX device support. Enable all of them as
30 modules (easier).
31
32 If USB or SDIO are not enabled in the kernel configuration, the options
33 to build the i2400m USB or SDIO drivers will not show. Enable said
34 subsystems and go back to the WiMAX menu to enable the drivers.
35
36 Compile and install your kernel as usual.
37
382.2. Compilation of the drivers distributed as an standalone module
39
40 To compile
41
42$ cd source/directory
43$ make
44
45 Once built you can load and unload using the provided load.sh script;
46 load.sh will load the modules, load.sh u will unload them.
47
48 To install in the default kernel directories (and enable auto loading
49 when the device is plugged):
50
51$ make install
52$ depmod -a
53
54 If your kernel development files are located in a non standard
55 directory or if you want to build for a kernel that is not the
56 currently running one, set KDIR to the right location:
57
58$ make KDIR=/path/to/kernel/dev/tree
59
60 For more information, please contact linux-wimax@intel.com.
61
623. Installing the firmware
63
64 The firmware can be obtained from http://linuxwimax.org or might have
65 been supplied with your hardware.
66
67 It has to be installed in the target system:
68 *
69$ cp FIRMWAREFILE.sbcf /lib/firmware/i2400m-fw-BUSTYPE-1.3.sbcf
70
71 * NOTE: if your firmware came in an .rpm or .deb file, just install
72 it as normal, with the rpm (rpm -i FIRMWARE.rpm) or dpkg
73 (dpkg -i FIRMWARE.deb) commands. No further action is needed.
74 * BUSTYPE will be usb or sdio, depending on the hardware you have.
75 Each hardware type comes with its own firmware and will not work
76 with other types.
77
784. Design
79
80 This package contains two major parts: a WiMAX kernel stack and a
81 driver for the Intel i2400m.
82
83 The WiMAX stack is designed to provide for common WiMAX control
84 services to current and future WiMAX devices from any vendor; please
85 see README.wimax for details.
86
87 The i2400m kernel driver is broken up in two main parts: the bus
88 generic driver and the bus-specific drivers. The bus generic driver
89 forms the drivercore and contain no knowledge of the actual method we
90 use to connect to the device. The bus specific drivers are just the
91 glue to connect the bus-generic driver and the device. Currently only
92 USB and SDIO are supported. See drivers/net/wimax/i2400m/i2400m.h for
93 more information.
94
95 The bus generic driver is logically broken up in two parts: OS-glue and
96 hardware-glue. The OS-glue interfaces with Linux. The hardware-glue
97 interfaces with the device on using an interface provided by the
98 bus-specific driver. The reason for this breakup is to be able to
99 easily reuse the hardware-glue to write drivers for other OSes; note
100 the hardware glue part is written as a native Linux driver; no
101 abstraction layers are used, so to port to another OS, the Linux kernel
102 API calls should be replaced with the target OS's.
103
1045. Usage
105
106 To load the driver, follow the instructions in the install section;
107 once the driver is loaded, plug in the device (unless it is permanently
108 plugged in). The driver will enumerate the device, upload the firmware
109 and output messages in the kernel log (dmesg, /var/log/messages or
110 /var/log/kern.log) such as:
111
112...
113i2400m_usb 5-4:1.0: firmware interface version 8.0.0
114i2400m_usb 5-4:1.0: WiMAX interface wmx0 (00:1d:e1:01:94:2c) ready
115
116 At this point the device is ready to work.
117
118 Current versions require the Intel WiMAX Network Service in userspace
119 to make things work. See the network service's README for instructions
120 on how to scan, connect and disconnect.
121
1225.1. Module parameters
123
124 Module parameters can be set at kernel or module load time or by
125 echoing values:
126
127$ echo VALUE > /sys/module/MODULENAME/parameters/PARAMETERNAME
128
129 To make changes permanent, for example, for the i2400m module, you can
130 also create a file named /etc/modprobe.d/i2400m containing:
131
132options i2400m idle_mode_disabled=1
133
134 To find which parameters are supported by a module, run:
135
136$ modinfo path/to/module.ko
137
138 During kernel bootup (if the driver is linked in the kernel), specify
139 the following to the kernel command line:
140
141i2400m.PARAMETER=VALUE
142
1435.1.1. i2400m: idle_mode_disabled
144
145 The i2400m module supports a parameter to disable idle mode. This
146 parameter, once set, will take effect only when the device is
147 reinitialized by the driver (eg: following a reset or a reconnect).
148
1495.2. Debug operations: debugfs entries
150
151 The driver will register debugfs entries that allow the user to tweak
152 debug settings. There are three main container directories where
153 entries are placed, which correspond to the three blocks a i2400m WiMAX
154 driver has:
155 * /sys/kernel/debug/wimax:DEVNAME/ for the generic WiMAX stack
156 controls
157 * /sys/kernel/debug/wimax:DEVNAME/i2400m for the i2400m generic
158 driver controls
159 * /sys/kernel/debug/wimax:DEVNAME/i2400m-usb (or -sdio) for the
160 bus-specific i2400m-usb or i2400m-sdio controls).
161
162 Of course, if debugfs is mounted in a directory other than
163 /sys/kernel/debug, those paths will change.
164
1655.2.1. Increasing debug output
166
167 The files named *dl_* indicate knobs for controlling the debug output
168 of different submodules:
169 *
170# find /sys/kernel/debug/wimax\:wmx0 -name \*dl_\*
171/sys/kernel/debug/wimax:wmx0/i2400m-usb/dl_tx
172/sys/kernel/debug/wimax:wmx0/i2400m-usb/dl_rx
173/sys/kernel/debug/wimax:wmx0/i2400m-usb/dl_notif
174/sys/kernel/debug/wimax:wmx0/i2400m-usb/dl_fw
175/sys/kernel/debug/wimax:wmx0/i2400m-usb/dl_usb
176/sys/kernel/debug/wimax:wmx0/i2400m/dl_tx
177/sys/kernel/debug/wimax:wmx0/i2400m/dl_rx
178/sys/kernel/debug/wimax:wmx0/i2400m/dl_rfkill
179/sys/kernel/debug/wimax:wmx0/i2400m/dl_netdev
180/sys/kernel/debug/wimax:wmx0/i2400m/dl_fw
181/sys/kernel/debug/wimax:wmx0/i2400m/dl_debugfs
182/sys/kernel/debug/wimax:wmx0/i2400m/dl_driver
183/sys/kernel/debug/wimax:wmx0/i2400m/dl_control
184/sys/kernel/debug/wimax:wmx0/wimax_dl_stack
185/sys/kernel/debug/wimax:wmx0/wimax_dl_op_rfkill
186/sys/kernel/debug/wimax:wmx0/wimax_dl_op_reset
187/sys/kernel/debug/wimax:wmx0/wimax_dl_op_msg
188/sys/kernel/debug/wimax:wmx0/wimax_dl_id_table
189/sys/kernel/debug/wimax:wmx0/wimax_dl_debugfs
190
191 By reading the file you can obtain the current value of said debug
192 level; by writing to it, you can set it.
193
194 To increase the debug level of, for example, the i2400m's generic TX
195 engine, just write:
196
197$ echo 3 > /sys/kernel/debug/wimax:wmx0/i2400m/dl_tx
198
199 Increasing numbers yield increasing debug information; for details of
200 what is printed and the available levels, check the source. The code
201 uses 0 for disabled and increasing values until 8.
202
2035.2.2. RX and TX statistics
204
205 The i2400m/rx_stats and i2400m/tx_stats provide statistics about the
206 data reception/delivery from the device:
207
208$ cat /sys/kernel/debug/wimax:wmx0/i2400m/rx_stats
20945 1 3 34 3104 48 480
210
211 The numbers reported are
212 * packets/RX-buffer: total, min, max
213 * RX-buffers: total RX buffers received, accumulated RX buffer size
214 in bytes, min size received, max size received
215
216 Thus, to find the average buffer size received, divide accumulated
217 RX-buffer / total RX-buffers.
218
219 To clear the statistics back to 0, write anything to the rx_stats file:
220
221$ echo 1 > /sys/kernel/debug/wimax:wmx0/i2400m_rx_stats
222
223 Likewise for TX.
224
225 Note the packets this debug file refers to are not network packet, but
226 packets in the sense of the device-specific protocol for communication
227 to the host. See drivers/net/wimax/i2400m/tx.c.
228
2295.2.3. Tracing messages received from user space
230
231 To echo messages received from user space into the trace pipe that the
232 i2400m driver creates, set the debug file i2400m/trace_msg_from_user to
233 1:
234 *
235$ echo 1 > /sys/kernel/debug/wimax:wmx0/i2400m/trace_msg_from_user
236
2375.2.4. Performing a device reset
238
239 By writing a 0, a 1 or a 2 to the file
240 /sys/kernel/debug/wimax:wmx0/reset, the driver performs a warm (without
241 disconnecting from the bus), cold (disconnecting from the bus) or bus
242 (bus specific) reset on the device.
243
2445.2.5. Asking the device to enter power saving mode
245
246 By writing any value to the /sys/kernel/debug/wimax:wmx0 file, the
247 device will attempt to enter power saving mode.
248
2496. Troubleshooting
250
2516.1. Driver complains about 'i2400m-fw-usb-1.2.sbcf: request failed'
252
253 If upon connecting the device, the following is output in the kernel
254 log:
255
256i2400m_usb 5-4:1.0: fw i2400m-fw-usb-1.3.sbcf: request failed: -2
257
258 This means that the driver cannot locate the firmware file named
259 /lib/firmware/i2400m-fw-usb-1.2.sbcf. Check that the file is present in
260 the right location.
diff --git a/Documentation/wimax/README.wimax b/Documentation/wimax/README.wimax
new file mode 100644
index 000000000000..b78c4378084e
--- /dev/null
+++ b/Documentation/wimax/README.wimax
@@ -0,0 +1,81 @@
1
2 Linux kernel WiMAX stack
3
4 (C) 2008 Intel Corporation < linux-wimax@intel.com >
5
6 This provides a basic Linux kernel WiMAX stack to provide a common
7 control API for WiMAX devices, usable from kernel and user space.
8
91. Design
10
11 The WiMAX stack is designed to provide for common WiMAX control
12 services to current and future WiMAX devices from any vendor.
13
14 Because currently there is only one and we don't know what would be the
15 common services, the APIs it currently provides are very minimal.
16 However, it is done in such a way that it is easily extensible to
17 accommodate future requirements.
18
19 The stack works by embedding a struct wimax_dev in your device's
20 control structures. This provides a set of callbacks that the WiMAX
21 stack will call in order to implement control operations requested by
22 the user. As well, the stack provides API functions that the driver
23 calls to notify about changes of state in the device.
24
25 The stack exports the API calls needed to control the device to user
26 space using generic netlink as a marshalling mechanism. You can access
27 them using your own code or use the wrappers provided for your
28 convenience in libwimax (in the wimax-tools package).
29
30 For detailed information on the stack, please see
31 include/linux/wimax.h.
32
332. Usage
34
35 For usage in a driver (registration, API, etc) please refer to the
36 instructions in the header file include/linux/wimax.h.
37
38 When a device is registered with the WiMAX stack, a set of debugfs
39 files will appear in /sys/kernel/debug/wimax:wmxX can tweak for
40 control.
41
422.1. Obtaining debug information: debugfs entries
43
44 The WiMAX stack is compiled, by default, with debug messages that can
45 be used to diagnose issues. By default, said messages are disabled.
46
47 The drivers will register debugfs entries that allow the user to tweak
48 debug settings.
49
50 Each driver, when registering with the stack, will cause a debugfs
51 directory named wimax:DEVICENAME to be created; optionally, it might
52 create more subentries below it.
53
542.1.1. Increasing debug output
55
56 The files named *dl_* indicate knobs for controlling the debug output
57 of different submodules of the WiMAX stack:
58 *
59# find /sys/kernel/debug/wimax\:wmx0 -name \*dl_\*
60/sys/kernel/debug/wimax:wmx0/wimax_dl_stack
61/sys/kernel/debug/wimax:wmx0/wimax_dl_op_rfkill
62/sys/kernel/debug/wimax:wmx0/wimax_dl_op_reset
63/sys/kernel/debug/wimax:wmx0/wimax_dl_op_msg
64/sys/kernel/debug/wimax:wmx0/wimax_dl_id_table
65/sys/kernel/debug/wimax:wmx0/wimax_dl_debugfs
66/sys/kernel/debug/wimax:wmx0/.... # other driver specific files
67
68 NOTE: Of course, if debugfs is mounted in a directory other than
69 /sys/kernel/debug, those paths will change.
70
71 By reading the file you can obtain the current value of said debug
72 level; by writing to it, you can set it.
73
74 To increase the debug level of, for example, the id-table submodule,
75 just write:
76
77$ echo 3 > /sys/kernel/debug/wimax:wmx0/wimax_dl_id_table
78
79 Increasing numbers yield increasing debug information; for details of
80 what is printed and the available levels, check the source. The code
81 uses 0 for disabled and increasing values until 8.
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