diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-11-12 06:39:21 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-11-12 06:39:21 -0500 |
commit | 708b8eae0fd532af73ea8350e6dcc10255ff7376 (patch) | |
tree | f336436934fd79bc91aff7112a9beb10bc4e839f /Documentation | |
parent | d98d38f2014ab79f28c126ff175d034891f7aefc (diff) | |
parent | f21f237cf55494c3a4209de323281a3b0528da10 (diff) |
Merge branch 'linus' into core/locking
Diffstat (limited to 'Documentation')
50 files changed, 842 insertions, 353 deletions
diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX index 7286ad090db7..edef85ce1195 100644 --- a/Documentation/00-INDEX +++ b/Documentation/00-INDEX | |||
@@ -172,7 +172,7 @@ i2c/ | |||
172 | - directory with info about the I2C bus/protocol (2 wire, kHz speed). | 172 | - directory with info about the I2C bus/protocol (2 wire, kHz speed). |
173 | i2o/ | 173 | i2o/ |
174 | - directory with info about the Linux I2O subsystem. | 174 | - directory with info about the Linux I2O subsystem. |
175 | i386/ | 175 | x86/i386/ |
176 | - directory with info about Linux on Intel 32 bit architecture. | 176 | - directory with info about Linux on Intel 32 bit architecture. |
177 | ia64/ | 177 | ia64/ |
178 | - directory with info about Linux on Intel 64 bit architecture. | 178 | - directory with info about Linux on Intel 64 bit architecture. |
@@ -382,7 +382,7 @@ w1/ | |||
382 | - directory with documents regarding the 1-wire (w1) subsystem. | 382 | - directory with documents regarding the 1-wire (w1) subsystem. |
383 | watchdog/ | 383 | watchdog/ |
384 | - how to auto-reboot Linux if it has "fallen and can't get up". ;-) | 384 | - how to auto-reboot Linux if it has "fallen and can't get up". ;-) |
385 | x86_64/ | 385 | x86/x86_64/ |
386 | - directory with info on Linux support for AMD x86-64 (Hammer) machines. | 386 | - directory with info on Linux support for AMD x86-64 (Hammer) machines. |
387 | zorro.txt | 387 | zorro.txt |
388 | - info on writing drivers for Zorro bus devices found on Amigas. | 388 | - info on writing drivers for Zorro bus devices found on Amigas. |
diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile index fabc06466b93..9b1f6ca100d1 100644 --- a/Documentation/DocBook/Makefile +++ b/Documentation/DocBook/Makefile | |||
@@ -136,7 +136,7 @@ quiet_cmd_db2ps = PS $@ | |||
136 | %.ps : %.xml | 136 | %.ps : %.xml |
137 | $(call cmd,db2ps) | 137 | $(call cmd,db2ps) |
138 | 138 | ||
139 | quiet_cmd_db2pdf = PDF $@ | 139 | quiet_cmd_db2pdf = PDF $@ |
140 | cmd_db2pdf = $(subst TYPE,pdf, $($(PDF_METHOD)template)) | 140 | cmd_db2pdf = $(subst TYPE,pdf, $($(PDF_METHOD)template)) |
141 | %.pdf : %.xml | 141 | %.pdf : %.xml |
142 | $(call cmd,db2pdf) | 142 | $(call cmd,db2pdf) |
@@ -148,7 +148,7 @@ build_main_index = rm -rf $(main_idx) && \ | |||
148 | echo '<h2>Kernel Version: $(KERNELVERSION)</h2>' >> $(main_idx) && \ | 148 | echo '<h2>Kernel Version: $(KERNELVERSION)</h2>' >> $(main_idx) && \ |
149 | cat $(HTML) >> $(main_idx) | 149 | cat $(HTML) >> $(main_idx) |
150 | 150 | ||
151 | quiet_cmd_db2html = HTML $@ | 151 | quiet_cmd_db2html = HTML $@ |
152 | cmd_db2html = xmlto xhtml $(XMLTOFLAGS) -o $(patsubst %.html,%,$@) $< && \ | 152 | cmd_db2html = xmlto xhtml $(XMLTOFLAGS) -o $(patsubst %.html,%,$@) $< && \ |
153 | echo '<a HREF="$(patsubst %.html,%,$(notdir $@))/index.html"> \ | 153 | echo '<a HREF="$(patsubst %.html,%,$(notdir $@))/index.html"> \ |
154 | $(patsubst %.html,%,$(notdir $@))</a><p>' > $@ | 154 | $(patsubst %.html,%,$(notdir $@))</a><p>' > $@ |
diff --git a/Documentation/DocBook/deviceiobook.tmpl b/Documentation/DocBook/deviceiobook.tmpl index 9ee6f3cbb414..3ed88126ab8f 100644 --- a/Documentation/DocBook/deviceiobook.tmpl +++ b/Documentation/DocBook/deviceiobook.tmpl | |||
@@ -24,7 +24,7 @@ | |||
24 | <surname>Cox</surname> | 24 | <surname>Cox</surname> |
25 | <affiliation> | 25 | <affiliation> |
26 | <address> | 26 | <address> |
27 | <email>alan@redhat.com</email> | 27 | <email>alan@lxorguk.ukuu.org.uk</email> |
28 | </address> | 28 | </address> |
29 | </affiliation> | 29 | </affiliation> |
30 | </author> | 30 | </author> |
@@ -316,7 +316,7 @@ CPU B: spin_unlock_irqrestore(&dev_lock, flags) | |||
316 | 316 | ||
317 | <chapter id="pubfunctions"> | 317 | <chapter id="pubfunctions"> |
318 | <title>Public Functions Provided</title> | 318 | <title>Public Functions Provided</title> |
319 | !Iinclude/asm-x86/io_32.h | 319 | !Iarch/x86/include/asm/io_32.h |
320 | !Elib/iomap.c | 320 | !Elib/iomap.c |
321 | </chapter> | 321 | </chapter> |
322 | 322 | ||
diff --git a/Documentation/DocBook/kernel-api.tmpl b/Documentation/DocBook/kernel-api.tmpl index 9d0058e788e5..5818ff75786a 100644 --- a/Documentation/DocBook/kernel-api.tmpl +++ b/Documentation/DocBook/kernel-api.tmpl | |||
@@ -45,8 +45,8 @@ | |||
45 | </sect1> | 45 | </sect1> |
46 | 46 | ||
47 | <sect1><title>Atomic and pointer manipulation</title> | 47 | <sect1><title>Atomic and pointer manipulation</title> |
48 | !Iinclude/asm-x86/atomic_32.h | 48 | !Iarch/x86/include/asm/atomic_32.h |
49 | !Iinclude/asm-x86/unaligned.h | 49 | !Iarch/x86/include/asm/unaligned.h |
50 | </sect1> | 50 | </sect1> |
51 | 51 | ||
52 | <sect1><title>Delaying, scheduling, and timer routines</title> | 52 | <sect1><title>Delaying, scheduling, and timer routines</title> |
@@ -119,7 +119,7 @@ X!Ilib/string.c | |||
119 | !Elib/string.c | 119 | !Elib/string.c |
120 | </sect1> | 120 | </sect1> |
121 | <sect1><title>Bit Operations</title> | 121 | <sect1><title>Bit Operations</title> |
122 | !Iinclude/asm-x86/bitops.h | 122 | !Iarch/x86/include/asm/bitops.h |
123 | </sect1> | 123 | </sect1> |
124 | </chapter> | 124 | </chapter> |
125 | 125 | ||
@@ -155,7 +155,7 @@ X!Ilib/string.c | |||
155 | !Emm/slab.c | 155 | !Emm/slab.c |
156 | </sect1> | 156 | </sect1> |
157 | <sect1><title>User Space Memory Access</title> | 157 | <sect1><title>User Space Memory Access</title> |
158 | !Iinclude/asm-x86/uaccess_32.h | 158 | !Iarch/x86/include/asm/uaccess_32.h |
159 | !Earch/x86/lib/usercopy_32.c | 159 | !Earch/x86/lib/usercopy_32.c |
160 | </sect1> | 160 | </sect1> |
161 | <sect1><title>More Memory Management Functions</title> | 161 | <sect1><title>More Memory Management Functions</title> |
@@ -265,7 +265,7 @@ X!Earch/x86/kernel/mca_32.c | |||
265 | --> | 265 | --> |
266 | </sect2> | 266 | </sect2> |
267 | <sect2><title>MCA Bus DMA</title> | 267 | <sect2><title>MCA Bus DMA</title> |
268 | !Iinclude/asm-x86/mca_dma.h | 268 | !Iarch/x86/include/asm/mca_dma.h |
269 | </sect2> | 269 | </sect2> |
270 | </sect1> | 270 | </sect1> |
271 | </chapter> | 271 | </chapter> |
diff --git a/Documentation/DocBook/kernel-hacking.tmpl b/Documentation/DocBook/kernel-hacking.tmpl index ae15d55350ec..a50d6cd58573 100644 --- a/Documentation/DocBook/kernel-hacking.tmpl +++ b/Documentation/DocBook/kernel-hacking.tmpl | |||
@@ -1239,7 +1239,7 @@ static struct block_device_operations opt_fops = { | |||
1239 | </para> | 1239 | </para> |
1240 | 1240 | ||
1241 | <para> | 1241 | <para> |
1242 | <filename>include/asm-x86/delay_32.h:</filename> | 1242 | <filename>arch/x86/include/asm/delay.h:</filename> |
1243 | </para> | 1243 | </para> |
1244 | <programlisting> | 1244 | <programlisting> |
1245 | #define ndelay(n) (__builtin_constant_p(n) ? \ | 1245 | #define ndelay(n) (__builtin_constant_p(n) ? \ |
@@ -1265,7 +1265,7 @@ static struct block_device_operations opt_fops = { | |||
1265 | </programlisting> | 1265 | </programlisting> |
1266 | 1266 | ||
1267 | <para> | 1267 | <para> |
1268 | <filename>include/asm-x86/uaccess_32.h:</filename> | 1268 | <filename>arch/x86/include/asm/uaccess_32.h:</filename> |
1269 | </para> | 1269 | </para> |
1270 | 1270 | ||
1271 | <programlisting> | 1271 | <programlisting> |
diff --git a/Documentation/DocBook/mcabook.tmpl b/Documentation/DocBook/mcabook.tmpl index 529a53dc1389..467ccac6ec50 100644 --- a/Documentation/DocBook/mcabook.tmpl +++ b/Documentation/DocBook/mcabook.tmpl | |||
@@ -12,7 +12,7 @@ | |||
12 | <surname>Cox</surname> | 12 | <surname>Cox</surname> |
13 | <affiliation> | 13 | <affiliation> |
14 | <address> | 14 | <address> |
15 | <email>alan@redhat.com</email> | 15 | <email>alan@lxorguk.ukuu.org.uk</email> |
16 | </address> | 16 | </address> |
17 | </affiliation> | 17 | </affiliation> |
18 | </author> | 18 | </author> |
@@ -101,7 +101,7 @@ | |||
101 | 101 | ||
102 | <chapter id="dmafunctions"> | 102 | <chapter id="dmafunctions"> |
103 | <title>DMA Functions Provided</title> | 103 | <title>DMA Functions Provided</title> |
104 | !Iinclude/asm-x86/mca_dma.h | 104 | !Iarch/x86/include/asm/mca_dma.h |
105 | </chapter> | 105 | </chapter> |
106 | 106 | ||
107 | </book> | 107 | </book> |
diff --git a/Documentation/DocBook/wanbook.tmpl b/Documentation/DocBook/wanbook.tmpl index 9eebcc304de4..8c93db122f04 100644 --- a/Documentation/DocBook/wanbook.tmpl +++ b/Documentation/DocBook/wanbook.tmpl | |||
@@ -12,7 +12,7 @@ | |||
12 | <surname>Cox</surname> | 12 | <surname>Cox</surname> |
13 | <affiliation> | 13 | <affiliation> |
14 | <address> | 14 | <address> |
15 | <email>alan@redhat.com</email> | 15 | <email>alan@lxorguk.ukuu.org.uk</email> |
16 | </address> | 16 | </address> |
17 | </affiliation> | 17 | </affiliation> |
18 | </author> | 18 | </author> |
diff --git a/Documentation/DocBook/z8530book.tmpl b/Documentation/DocBook/z8530book.tmpl index a42a8a4c7689..6f3883be877e 100644 --- a/Documentation/DocBook/z8530book.tmpl +++ b/Documentation/DocBook/z8530book.tmpl | |||
@@ -12,7 +12,7 @@ | |||
12 | <surname>Cox</surname> | 12 | <surname>Cox</surname> |
13 | <affiliation> | 13 | <affiliation> |
14 | <address> | 14 | <address> |
15 | <email>alan@redhat.com</email> | 15 | <email>alan@lxorguk.ukuu.org.uk</email> |
16 | </address> | 16 | </address> |
17 | </affiliation> | 17 | </affiliation> |
18 | </author> | 18 | </author> |
diff --git a/Documentation/ManagementStyle b/Documentation/ManagementStyle index 49a8efa5afeb..a5f0ea58c788 100644 --- a/Documentation/ManagementStyle +++ b/Documentation/ManagementStyle | |||
@@ -17,7 +17,7 @@ companies. If you sign purchase orders or you have any clue about the | |||
17 | budget of your group, you're almost certainly not a kernel manager. | 17 | budget of your group, you're almost certainly not a kernel manager. |
18 | These suggestions may or may not apply to you. | 18 | These suggestions may or may not apply to you. |
19 | 19 | ||
20 | First off, I'd suggest buying "Seven Habits of Highly Successful | 20 | First off, I'd suggest buying "Seven Habits of Highly Effective |
21 | People", and NOT read it. Burn it, it's a great symbolic gesture. | 21 | People", and NOT read it. Burn it, it's a great symbolic gesture. |
22 | 22 | ||
23 | (*) This document does so not so much by answering the question, but by | 23 | (*) This document does so not so much by answering the question, but by |
diff --git a/Documentation/accounting/.gitignore b/Documentation/accounting/.gitignore new file mode 100644 index 000000000000..86485203c4ae --- /dev/null +++ b/Documentation/accounting/.gitignore | |||
@@ -0,0 +1 @@ | |||
getdelays | |||
diff --git a/Documentation/arm/empeg/README b/Documentation/arm/empeg/README deleted file mode 100644 index 09cc8d03ae58..000000000000 --- a/Documentation/arm/empeg/README +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | Empeg, Ltd's Empeg MP3 Car Audio Player | ||
2 | |||
3 | The initial design is to go in your car, but you can use it at home, on a | ||
4 | boat... almost anywhere. The principle is to store CD-quality music using | ||
5 | MPEG technology onto a hard disk in the unit, and use the power of the | ||
6 | embedded computer to serve up the music you want. | ||
7 | |||
8 | For more details, see: | ||
9 | |||
10 | http://www.empeg.com | ||
11 | |||
12 | |||
13 | |||
diff --git a/Documentation/arm/empeg/ir.txt b/Documentation/arm/empeg/ir.txt deleted file mode 100644 index 10a297450164..000000000000 --- a/Documentation/arm/empeg/ir.txt +++ /dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | Infra-red driver documentation. | ||
2 | |||
3 | Mike Crowe <mac@empeg.com> | ||
4 | (C) Empeg Ltd 1999 | ||
5 | |||
6 | Not a lot here yet :-) | ||
7 | |||
8 | The Kenwood KCA-R6A remote control generates a sequence like the following: | ||
9 | |||
10 | Go low for approx 16T (Around 9000us) | ||
11 | Go high for approx 8T (Around 4000us) | ||
12 | Go low for less than 2T (Around 750us) | ||
13 | |||
14 | For each of the 32 bits | ||
15 | Go high for more than 2T (Around 1500us) == 1 | ||
16 | Go high for less than T (Around 400us) == 0 | ||
17 | Go low for less than 2T (Around 750us) | ||
18 | |||
19 | Rather than repeat a signal when the button is held down certain buttons | ||
20 | generate the following code to indicate repetition. | ||
21 | |||
22 | Go low for approx 16T | ||
23 | Go high for approx 4T | ||
24 | Go low for less than 2T | ||
25 | |||
26 | (By removing the <2T from the start of the sequence and placing at the end | ||
27 | it can be considered a stop bit but I found it easier to deal with it at | ||
28 | the start). | ||
29 | |||
30 | The 32 bits are encoded as XxYy where x and y are the actual data values | ||
31 | while X and Y are the logical inverses of the associated data values. Using | ||
32 | LSB first yields sensible codes for the numbers. | ||
33 | |||
34 | All codes are of the form b9xx | ||
35 | |||
36 | The numeric keys generate the code 0x where x is the number pressed. | ||
37 | |||
38 | Tuner 1c | ||
39 | Tape 1d | ||
40 | CD 1e | ||
41 | CD-MD-CH 1f | ||
42 | Track- 0a | ||
43 | Track+ 0b | ||
44 | Rewind 0c | ||
45 | FF 0d | ||
46 | DNPP 5e | ||
47 | Play/Pause 0e | ||
48 | Vol+ 14 | ||
49 | Vol- 15 | ||
diff --git a/Documentation/arm/empeg/mkdevs b/Documentation/arm/empeg/mkdevs deleted file mode 100644 index 7a85e28d14f3..000000000000 --- a/Documentation/arm/empeg/mkdevs +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | #!/bin/sh | ||
2 | mknod /dev/display c 244 0 | ||
3 | mknod /dev/ir c 242 0 | ||
4 | mknod /dev/usb0 c 243 0 | ||
5 | mknod /dev/audio c 245 4 | ||
6 | mknod /dev/dsp c 245 3 | ||
7 | mknod /dev/mixer c 245 0 | ||
8 | mknod /dev/empeg_state c 246 0 | ||
9 | mknod /dev/radio0 c 81 64 | ||
10 | ln -sf radio0 radio | ||
11 | ln -sf usb0 usb | ||
diff --git a/Documentation/auxdisplay/.gitignore b/Documentation/auxdisplay/.gitignore new file mode 100644 index 000000000000..7af222860a96 --- /dev/null +++ b/Documentation/auxdisplay/.gitignore | |||
@@ -0,0 +1 @@ | |||
cfag12864b-example | |||
diff --git a/Documentation/cciss.txt b/Documentation/cciss.txt index 8244c6442faa..89698e8df7d4 100644 --- a/Documentation/cciss.txt +++ b/Documentation/cciss.txt | |||
@@ -21,11 +21,14 @@ This driver is known to work with the following cards: | |||
21 | * SA E200 | 21 | * SA E200 |
22 | * SA E200i | 22 | * SA E200i |
23 | * SA E500 | 23 | * SA E500 |
24 | * SA P700m | ||
24 | * SA P212 | 25 | * SA P212 |
25 | * SA P410 | 26 | * SA P410 |
26 | * SA P410i | 27 | * SA P410i |
27 | * SA P411 | 28 | * SA P411 |
28 | * SA P812 | 29 | * SA P812 |
30 | * SA P712m | ||
31 | * SA P711m | ||
29 | 32 | ||
30 | Detecting drive failures: | 33 | Detecting drive failures: |
31 | ------------------------- | 34 | ------------------------- |
diff --git a/Documentation/connector/.gitignore b/Documentation/connector/.gitignore new file mode 100644 index 000000000000..d2b9c32accd4 --- /dev/null +++ b/Documentation/connector/.gitignore | |||
@@ -0,0 +1 @@ | |||
ucon | |||
diff --git a/Documentation/email-clients.txt b/Documentation/email-clients.txt index 2ebb94d6ed8e..a618efab7b15 100644 --- a/Documentation/email-clients.txt +++ b/Documentation/email-clients.txt | |||
@@ -213,4 +213,29 @@ TkRat (GUI) | |||
213 | 213 | ||
214 | Works. Use "Insert file..." or external editor. | 214 | Works. Use "Insert file..." or external editor. |
215 | 215 | ||
216 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
217 | Gmail (Web GUI) | ||
218 | |||
219 | If you just have to use Gmail to send patches, it CAN be made to work. It | ||
220 | requires a bit of external help, though. | ||
221 | |||
222 | The first problem is that Gmail converts tabs to spaces. This will | ||
223 | totally break your patches. To prevent this, you have to use a different | ||
224 | editor. There is a firefox extension called "ViewSourceWith" | ||
225 | (https://addons.mozilla.org/en-US/firefox/addon/394) which allows you to | ||
226 | edit any text box in the editor of your choice. Configure it to launch | ||
227 | your favorite editor. When you want to send a patch, use this technique. | ||
228 | Once you have crafted your messsage + patch, save and exit the editor, | ||
229 | which should reload the Gmail edit box. GMAIL WILL PRESERVE THE TABS. | ||
230 | Hoorah. Apparently you can cut-n-paste literal tabs, but Gmail will | ||
231 | convert those to spaces upon sending! | ||
232 | |||
233 | The second problem is that Gmail converts tabs to spaces on replies. If | ||
234 | you reply to a patch, don't expect to be able to apply it as a patch. | ||
235 | |||
236 | The last problem is that Gmail will base64-encode any message that has a | ||
237 | non-ASCII character. That includes things like European names. Be aware. | ||
238 | |||
239 | Gmail is not convenient for lkml patches, but CAN be made to work. | ||
240 | |||
216 | ### | 241 | ### |
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index 05d71b4b9430..c28a2ac88f9d 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -56,30 +56,6 @@ Who: Mauro Carvalho Chehab <mchehab@infradead.org> | |||
56 | 56 | ||
57 | --------------------------- | 57 | --------------------------- |
58 | 58 | ||
59 | What: old tuner-3036 i2c driver | ||
60 | When: 2.6.28 | ||
61 | Why: This driver is for VERY old i2c-over-parallel port teletext receiver | ||
62 | boxes. Rather then spending effort on converting this driver to V4L2, | ||
63 | and since it is extremely unlikely that anyone still uses one of these | ||
64 | devices, it was decided to drop it. | ||
65 | Who: Hans Verkuil <hverkuil@xs4all.nl> | ||
66 | Mauro Carvalho Chehab <mchehab@infradead.org> | ||
67 | |||
68 | --------------------------- | ||
69 | |||
70 | What: V4L2 dpc7146 driver | ||
71 | When: 2.6.28 | ||
72 | Why: Old driver for the dpc7146 demonstration board that is no longer | ||
73 | relevant. The last time this was tested on actual hardware was | ||
74 | probably around 2002. Since this is a driver for a demonstration | ||
75 | board the decision was made to remove it rather than spending a | ||
76 | lot of effort continually updating this driver to stay in sync | ||
77 | with the latest internal V4L2 or I2C API. | ||
78 | Who: Hans Verkuil <hverkuil@xs4all.nl> | ||
79 | Mauro Carvalho Chehab <mchehab@infradead.org> | ||
80 | |||
81 | --------------------------- | ||
82 | |||
83 | What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl]) | 59 | What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl]) |
84 | When: November 2005 | 60 | When: November 2005 |
85 | Files: drivers/pcmcia/: pcmcia_ioctl.c | 61 | Files: drivers/pcmcia/: pcmcia_ioctl.c |
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking index 8362860e21a7..23d2f4460deb 100644 --- a/Documentation/filesystems/Locking +++ b/Documentation/filesystems/Locking | |||
@@ -161,8 +161,12 @@ prototypes: | |||
161 | int (*set_page_dirty)(struct page *page); | 161 | int (*set_page_dirty)(struct page *page); |
162 | int (*readpages)(struct file *filp, struct address_space *mapping, | 162 | int (*readpages)(struct file *filp, struct address_space *mapping, |
163 | struct list_head *pages, unsigned nr_pages); | 163 | struct list_head *pages, unsigned nr_pages); |
164 | int (*prepare_write)(struct file *, struct page *, unsigned, unsigned); | 164 | int (*write_begin)(struct file *, struct address_space *mapping, |
165 | int (*commit_write)(struct file *, struct page *, unsigned, unsigned); | 165 | loff_t pos, unsigned len, unsigned flags, |
166 | struct page **pagep, void **fsdata); | ||
167 | int (*write_end)(struct file *, struct address_space *mapping, | ||
168 | loff_t pos, unsigned len, unsigned copied, | ||
169 | struct page *page, void *fsdata); | ||
166 | sector_t (*bmap)(struct address_space *, sector_t); | 170 | sector_t (*bmap)(struct address_space *, sector_t); |
167 | int (*invalidatepage) (struct page *, unsigned long); | 171 | int (*invalidatepage) (struct page *, unsigned long); |
168 | int (*releasepage) (struct page *, int); | 172 | int (*releasepage) (struct page *, int); |
@@ -180,8 +184,6 @@ sync_page: no maybe | |||
180 | writepages: no | 184 | writepages: no |
181 | set_page_dirty no no | 185 | set_page_dirty no no |
182 | readpages: no | 186 | readpages: no |
183 | prepare_write: no yes yes | ||
184 | commit_write: no yes yes | ||
185 | write_begin: no locks the page yes | 187 | write_begin: no locks the page yes |
186 | write_end: no yes, unlocks yes | 188 | write_end: no yes, unlocks yes |
187 | perform_write: no n/a yes | 189 | perform_write: no n/a yes |
@@ -191,7 +193,7 @@ releasepage: no yes | |||
191 | direct_IO: no | 193 | direct_IO: no |
192 | launder_page: no yes | 194 | launder_page: no yes |
193 | 195 | ||
194 | ->prepare_write(), ->commit_write(), ->sync_page() and ->readpage() | 196 | ->write_begin(), ->write_end(), ->sync_page() and ->readpage() |
195 | may be called from the request handler (/dev/loop). | 197 | may be called from the request handler (/dev/loop). |
196 | 198 | ||
197 | ->readpage() unlocks the page, either synchronously or via I/O | 199 | ->readpage() unlocks the page, either synchronously or via I/O |
diff --git a/Documentation/filesystems/vfat.txt b/Documentation/filesystems/vfat.txt index bbac4f1d9056..3a5ddc96901a 100644 --- a/Documentation/filesystems/vfat.txt +++ b/Documentation/filesystems/vfat.txt | |||
@@ -8,6 +8,12 @@ if you want to format from within Linux. | |||
8 | 8 | ||
9 | VFAT MOUNT OPTIONS | 9 | VFAT MOUNT OPTIONS |
10 | ---------------------------------------------------------------------- | 10 | ---------------------------------------------------------------------- |
11 | uid=### -- Set the owner of all files on this filesystem. | ||
12 | The default is the uid of current process. | ||
13 | |||
14 | gid=### -- Set the group of all files on this filesystem. | ||
15 | The default is the gid of current process. | ||
16 | |||
11 | umask=### -- The permission mask (for files and directories, see umask(1)). | 17 | umask=### -- The permission mask (for files and directories, see umask(1)). |
12 | The default is the umask of current process. | 18 | The default is the umask of current process. |
13 | 19 | ||
@@ -36,7 +42,7 @@ codepage=### -- Sets the codepage number for converting to shortname | |||
36 | characters on FAT filesystem. | 42 | characters on FAT filesystem. |
37 | By default, FAT_DEFAULT_CODEPAGE setting is used. | 43 | By default, FAT_DEFAULT_CODEPAGE setting is used. |
38 | 44 | ||
39 | iocharset=name -- Character set to use for converting between the | 45 | iocharset=<name> -- Character set to use for converting between the |
40 | encoding is used for user visible filename and 16 bit | 46 | encoding is used for user visible filename and 16 bit |
41 | Unicode characters. Long filenames are stored on disk | 47 | Unicode characters. Long filenames are stored on disk |
42 | in Unicode format, but Unix for the most part doesn't | 48 | in Unicode format, but Unix for the most part doesn't |
@@ -86,6 +92,8 @@ check=s|r|n -- Case sensitivity checking setting. | |||
86 | r: relaxed, case insensitive | 92 | r: relaxed, case insensitive |
87 | n: normal, default setting, currently case insensitive | 93 | n: normal, default setting, currently case insensitive |
88 | 94 | ||
95 | nocase -- This was deprecated for vfat. Use shortname=win95 instead. | ||
96 | |||
89 | shortname=lower|win95|winnt|mixed | 97 | shortname=lower|win95|winnt|mixed |
90 | -- Shortname display/create setting. | 98 | -- Shortname display/create setting. |
91 | lower: convert to lowercase for display, | 99 | lower: convert to lowercase for display, |
@@ -99,11 +107,31 @@ shortname=lower|win95|winnt|mixed | |||
99 | tz=UTC -- Interpret timestamps as UTC rather than local time. | 107 | tz=UTC -- Interpret timestamps as UTC rather than local time. |
100 | This option disables the conversion of timestamps | 108 | This option disables the conversion of timestamps |
101 | between local time (as used by Windows on FAT) and UTC | 109 | between local time (as used by Windows on FAT) and UTC |
102 | (which Linux uses internally). This is particuluarly | 110 | (which Linux uses internally). This is particularly |
103 | useful when mounting devices (like digital cameras) | 111 | useful when mounting devices (like digital cameras) |
104 | that are set to UTC in order to avoid the pitfalls of | 112 | that are set to UTC in order to avoid the pitfalls of |
105 | local time. | 113 | local time. |
106 | 114 | ||
115 | showexec -- If set, the execute permission bits of the file will be | ||
116 | allowed only if the extension part of the name is .EXE, | ||
117 | .COM, or .BAT. Not set by default. | ||
118 | |||
119 | debug -- Can be set, but unused by the current implementation. | ||
120 | |||
121 | sys_immutable -- If set, ATTR_SYS attribute on FAT is handled as | ||
122 | IMMUTABLE flag on Linux. Not set by default. | ||
123 | |||
124 | flush -- If set, the filesystem will try to flush to disk more | ||
125 | early than normal. Not set by default. | ||
126 | |||
127 | rodir -- FAT has the ATTR_RO (read-only) attribute. But on Windows, | ||
128 | the ATTR_RO of the directory will be just ignored actually, | ||
129 | and is used by only applications as flag. E.g. it's setted | ||
130 | for the customized folder. | ||
131 | |||
132 | If you want to use ATTR_RO as read-only flag even for | ||
133 | the directory, set this option. | ||
134 | |||
107 | <bool>: 0,1,yes,no,true,false | 135 | <bool>: 0,1,yes,no,true,false |
108 | 136 | ||
109 | TODO | 137 | TODO |
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt index c4d348dabe94..5579bda58a6d 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt | |||
@@ -492,7 +492,7 @@ written-back to storage typically in whole pages, however the | |||
492 | address_space has finer control of write sizes. | 492 | address_space has finer control of write sizes. |
493 | 493 | ||
494 | The read process essentially only requires 'readpage'. The write | 494 | The read process essentially only requires 'readpage'. The write |
495 | process is more complicated and uses prepare_write/commit_write or | 495 | process is more complicated and uses write_begin/write_end or |
496 | set_page_dirty to write data into the address_space, and writepage, | 496 | set_page_dirty to write data into the address_space, and writepage, |
497 | sync_page, and writepages to writeback data to storage. | 497 | sync_page, and writepages to writeback data to storage. |
498 | 498 | ||
@@ -521,8 +521,6 @@ struct address_space_operations { | |||
521 | int (*set_page_dirty)(struct page *page); | 521 | int (*set_page_dirty)(struct page *page); |
522 | int (*readpages)(struct file *filp, struct address_space *mapping, | 522 | int (*readpages)(struct file *filp, struct address_space *mapping, |
523 | struct list_head *pages, unsigned nr_pages); | 523 | struct list_head *pages, unsigned nr_pages); |
524 | int (*prepare_write)(struct file *, struct page *, unsigned, unsigned); | ||
525 | int (*commit_write)(struct file *, struct page *, unsigned, unsigned); | ||
526 | int (*write_begin)(struct file *, struct address_space *mapping, | 524 | int (*write_begin)(struct file *, struct address_space *mapping, |
527 | loff_t pos, unsigned len, unsigned flags, | 525 | loff_t pos, unsigned len, unsigned flags, |
528 | struct page **pagep, void **fsdata); | 526 | struct page **pagep, void **fsdata); |
@@ -598,37 +596,7 @@ struct address_space_operations { | |||
598 | readpages is only used for read-ahead, so read errors are | 596 | readpages is only used for read-ahead, so read errors are |
599 | ignored. If anything goes wrong, feel free to give up. | 597 | ignored. If anything goes wrong, feel free to give up. |
600 | 598 | ||
601 | prepare_write: called by the generic write path in VM to set up a write | 599 | write_begin: |
602 | request for a page. This indicates to the address space that | ||
603 | the given range of bytes is about to be written. The | ||
604 | address_space should check that the write will be able to | ||
605 | complete, by allocating space if necessary and doing any other | ||
606 | internal housekeeping. If the write will update parts of | ||
607 | any basic-blocks on storage, then those blocks should be | ||
608 | pre-read (if they haven't been read already) so that the | ||
609 | updated blocks can be written out properly. | ||
610 | The page will be locked. | ||
611 | |||
612 | Note: the page _must not_ be marked uptodate in this function | ||
613 | (or anywhere else) unless it actually is uptodate right now. As | ||
614 | soon as a page is marked uptodate, it is possible for a concurrent | ||
615 | read(2) to copy it to userspace. | ||
616 | |||
617 | commit_write: If prepare_write succeeds, new data will be copied | ||
618 | into the page and then commit_write will be called. It will | ||
619 | typically update the size of the file (if appropriate) and | ||
620 | mark the inode as dirty, and do any other related housekeeping | ||
621 | operations. It should avoid returning an error if possible - | ||
622 | errors should have been handled by prepare_write. | ||
623 | |||
624 | write_begin: This is intended as a replacement for prepare_write. The | ||
625 | key differences being that: | ||
626 | - it returns a locked page (in *pagep) rather than being | ||
627 | given a pre locked page; | ||
628 | - it must be able to cope with short writes (where the | ||
629 | length passed to write_begin is greater than the number | ||
630 | of bytes copied into the page). | ||
631 | |||
632 | Called by the generic buffered write code to ask the filesystem to | 600 | Called by the generic buffered write code to ask the filesystem to |
633 | prepare to write len bytes at the given offset in the file. The | 601 | prepare to write len bytes at the given offset in the file. The |
634 | address_space should check that the write will be able to complete, | 602 | address_space should check that the write will be able to complete, |
@@ -640,6 +608,9 @@ struct address_space_operations { | |||
640 | The filesystem must return the locked pagecache page for the specified | 608 | The filesystem must return the locked pagecache page for the specified |
641 | offset, in *pagep, for the caller to write into. | 609 | offset, in *pagep, for the caller to write into. |
642 | 610 | ||
611 | It must be able to cope with short writes (where the length passed to | ||
612 | write_begin is greater than the number of bytes copied into the page). | ||
613 | |||
643 | flags is a field for AOP_FLAG_xxx flags, described in | 614 | flags is a field for AOP_FLAG_xxx flags, described in |
644 | include/linux/fs.h. | 615 | include/linux/fs.h. |
645 | 616 | ||
diff --git a/Documentation/ftrace.txt b/Documentation/ftrace.txt index d330fe3103da..9cc4d685dde5 100644 --- a/Documentation/ftrace.txt +++ b/Documentation/ftrace.txt | |||
@@ -8,7 +8,7 @@ Copyright 2008 Red Hat Inc. | |||
8 | Reviewers: Elias Oltmanns, Randy Dunlap, Andrew Morton, | 8 | Reviewers: Elias Oltmanns, Randy Dunlap, Andrew Morton, |
9 | John Kacur, and David Teigland. | 9 | John Kacur, and David Teigland. |
10 | 10 | ||
11 | Written for: 2.6.27-rc1 | 11 | Written for: 2.6.28-rc2 |
12 | 12 | ||
13 | Introduction | 13 | Introduction |
14 | ------------ | 14 | ------------ |
@@ -50,26 +50,26 @@ of ftrace. Here is a list of some of the key files: | |||
50 | 50 | ||
51 | Note: all time values are in microseconds. | 51 | Note: all time values are in microseconds. |
52 | 52 | ||
53 | current_tracer : This is used to set or display the current tracer | 53 | current_tracer: This is used to set or display the current tracer |
54 | that is configured. | 54 | that is configured. |
55 | 55 | ||
56 | available_tracers : This holds the different types of tracers that | 56 | available_tracers: This holds the different types of tracers that |
57 | have been compiled into the kernel. The tracers | 57 | have been compiled into the kernel. The tracers |
58 | listed here can be configured by echoing their name | 58 | listed here can be configured by echoing their name |
59 | into current_tracer. | 59 | into current_tracer. |
60 | 60 | ||
61 | tracing_enabled : This sets or displays whether the current_tracer | 61 | tracing_enabled: This sets or displays whether the current_tracer |
62 | is activated and tracing or not. Echo 0 into this | 62 | is activated and tracing or not. Echo 0 into this |
63 | file to disable the tracer or 1 to enable it. | 63 | file to disable the tracer or 1 to enable it. |
64 | 64 | ||
65 | trace : This file holds the output of the trace in a human readable | 65 | trace: This file holds the output of the trace in a human readable |
66 | format (described below). | 66 | format (described below). |
67 | 67 | ||
68 | latency_trace : This file shows the same trace but the information | 68 | latency_trace: This file shows the same trace but the information |
69 | is organized more to display possible latencies | 69 | is organized more to display possible latencies |
70 | in the system (described below). | 70 | in the system (described below). |
71 | 71 | ||
72 | trace_pipe : The output is the same as the "trace" file but this | 72 | trace_pipe: The output is the same as the "trace" file but this |
73 | file is meant to be streamed with live tracing. | 73 | file is meant to be streamed with live tracing. |
74 | Reads from this file will block until new data | 74 | Reads from this file will block until new data |
75 | is retrieved. Unlike the "trace" and "latency_trace" | 75 | is retrieved. Unlike the "trace" and "latency_trace" |
@@ -82,11 +82,11 @@ of ftrace. Here is a list of some of the key files: | |||
82 | tracer is not adding more data, they will display | 82 | tracer is not adding more data, they will display |
83 | the same information every time they are read. | 83 | the same information every time they are read. |
84 | 84 | ||
85 | iter_ctrl : This file lets the user control the amount of data | 85 | iter_ctrl: This file lets the user control the amount of data |
86 | that is displayed in one of the above output | 86 | that is displayed in one of the above output |
87 | files. | 87 | files. |
88 | 88 | ||
89 | trace_max_latency : Some of the tracers record the max latency. | 89 | trace_max_latency: Some of the tracers record the max latency. |
90 | For example, the time interrupts are disabled. | 90 | For example, the time interrupts are disabled. |
91 | This time is saved in this file. The max trace | 91 | This time is saved in this file. The max trace |
92 | will also be stored, and displayed by either | 92 | will also be stored, and displayed by either |
@@ -94,29 +94,26 @@ of ftrace. Here is a list of some of the key files: | |||
94 | only be recorded if the latency is greater than | 94 | only be recorded if the latency is greater than |
95 | the value in this file. (in microseconds) | 95 | the value in this file. (in microseconds) |
96 | 96 | ||
97 | trace_entries : This sets or displays the number of trace | 97 | trace_entries: This sets or displays the number of bytes each CPU |
98 | entries each CPU buffer can hold. The tracer buffers | 98 | buffer can hold. The tracer buffers are the same size |
99 | are the same size for each CPU. The displayed number | 99 | for each CPU. The displayed number is the size of the |
100 | is the size of the CPU buffer and not total size. The | 100 | CPU buffer and not total size of all buffers. The |
101 | trace buffers are allocated in pages (blocks of memory | 101 | trace buffers are allocated in pages (blocks of memory |
102 | that the kernel uses for allocation, usually 4 KB in size). | 102 | that the kernel uses for allocation, usually 4 KB in size). |
103 | Since each entry is smaller than a page, if the last | 103 | If the last page allocated has room for more bytes |
104 | allocated page has room for more entries than were | 104 | than requested, the rest of the page will be used, |
105 | requested, the rest of the page is used to allocate | 105 | making the actual allocation bigger than requested. |
106 | entries. | 106 | (Note, the size may not be a multiple of the page size due |
107 | to buffer managment overhead.) | ||
107 | 108 | ||
108 | This can only be updated when the current_tracer | 109 | This can only be updated when the current_tracer |
109 | is set to "none". | 110 | is set to "nop". |
110 | 111 | ||
111 | NOTE: It is planned on changing the allocated buffers | 112 | tracing_cpumask: This is a mask that lets the user only trace |
112 | from being the number of possible CPUS to | ||
113 | the number of online CPUS. | ||
114 | |||
115 | tracing_cpumask : This is a mask that lets the user only trace | ||
116 | on specified CPUS. The format is a hex string | 113 | on specified CPUS. The format is a hex string |
117 | representing the CPUS. | 114 | representing the CPUS. |
118 | 115 | ||
119 | set_ftrace_filter : When dynamic ftrace is configured in (see the | 116 | set_ftrace_filter: When dynamic ftrace is configured in (see the |
120 | section below "dynamic ftrace"), the code is dynamically | 117 | section below "dynamic ftrace"), the code is dynamically |
121 | modified (code text rewrite) to disable calling of the | 118 | modified (code text rewrite) to disable calling of the |
122 | function profiler (mcount). This lets tracing be configured | 119 | function profiler (mcount). This lets tracing be configured |
@@ -130,14 +127,11 @@ of ftrace. Here is a list of some of the key files: | |||
130 | be traced. If a function exists in both set_ftrace_filter | 127 | be traced. If a function exists in both set_ftrace_filter |
131 | and set_ftrace_notrace, the function will _not_ be traced. | 128 | and set_ftrace_notrace, the function will _not_ be traced. |
132 | 129 | ||
133 | available_filter_functions : When a function is encountered the first | 130 | available_filter_functions: This lists the functions that ftrace |
134 | time by the dynamic tracer, it is recorded and | 131 | has processed and can trace. These are the function |
135 | later the call is converted into a nop. This file | 132 | names that you can pass to "set_ftrace_filter" or |
136 | lists the functions that have been recorded | 133 | "set_ftrace_notrace". (See the section "dynamic ftrace" |
137 | by the dynamic tracer and these functions can | 134 | below for more details.) |
138 | be used to set the ftrace filter by the above | ||
139 | "set_ftrace_filter" file. (See the section "dynamic ftrace" | ||
140 | below for more details). | ||
141 | 135 | ||
142 | 136 | ||
143 | The Tracers | 137 | The Tracers |
@@ -145,7 +139,7 @@ The Tracers | |||
145 | 139 | ||
146 | Here is the list of current tracers that may be configured. | 140 | Here is the list of current tracers that may be configured. |
147 | 141 | ||
148 | ftrace - function tracer that uses mcount to trace all functions. | 142 | function - function tracer that uses mcount to trace all functions. |
149 | 143 | ||
150 | sched_switch - traces the context switches between tasks. | 144 | sched_switch - traces the context switches between tasks. |
151 | 145 | ||
@@ -166,8 +160,8 @@ Here is the list of current tracers that may be configured. | |||
166 | the highest priority task to get scheduled after | 160 | the highest priority task to get scheduled after |
167 | it has been woken up. | 161 | it has been woken up. |
168 | 162 | ||
169 | none - This is not a tracer. To remove all tracers from tracing | 163 | nop - This is not a tracer. To remove all tracers from tracing |
170 | simply echo "none" into current_tracer. | 164 | simply echo "nop" into current_tracer. |
171 | 165 | ||
172 | 166 | ||
173 | Examples of using the tracer | 167 | Examples of using the tracer |
@@ -182,7 +176,7 @@ Output format: | |||
182 | Here is an example of the output format of the file "trace" | 176 | Here is an example of the output format of the file "trace" |
183 | 177 | ||
184 | -------- | 178 | -------- |
185 | # tracer: ftrace | 179 | # tracer: function |
186 | # | 180 | # |
187 | # TASK-PID CPU# TIMESTAMP FUNCTION | 181 | # TASK-PID CPU# TIMESTAMP FUNCTION |
188 | # | | | | | | 182 | # | | | | | |
@@ -192,7 +186,7 @@ Here is an example of the output format of the file "trace" | |||
192 | -------- | 186 | -------- |
193 | 187 | ||
194 | A header is printed with the tracer name that is represented by the trace. | 188 | A header is printed with the tracer name that is represented by the trace. |
195 | In this case the tracer is "ftrace". Then a header showing the format. Task | 189 | In this case the tracer is "function". Then a header showing the format. Task |
196 | name "bash", the task PID "4251", the CPU that it was running on | 190 | name "bash", the task PID "4251", the CPU that it was running on |
197 | "01", the timestamp in <secs>.<usecs> format, the function name that was | 191 | "01", the timestamp in <secs>.<usecs> format, the function name that was |
198 | traced "path_put" and the parent function that called this function | 192 | traced "path_put" and the parent function that called this function |
@@ -291,6 +285,9 @@ explains which is which. | |||
291 | CPU#: The CPU which the process was running on. | 285 | CPU#: The CPU which the process was running on. |
292 | 286 | ||
293 | irqs-off: 'd' interrupts are disabled. '.' otherwise. | 287 | irqs-off: 'd' interrupts are disabled. '.' otherwise. |
288 | Note: If the architecture does not support a way to | ||
289 | read the irq flags variable, an 'X' will always | ||
290 | be printed here. | ||
294 | 291 | ||
295 | need-resched: 'N' task need_resched is set, '.' otherwise. | 292 | need-resched: 'N' task need_resched is set, '.' otherwise. |
296 | 293 | ||
@@ -1000,22 +997,20 @@ is the stack for the hard interrupt. This hides the fact that NEED_RESCHED | |||
1000 | has been set. We do not see the 'N' until we switch back to the task's | 997 | has been set. We do not see the 'N' until we switch back to the task's |
1001 | assigned stack. | 998 | assigned stack. |
1002 | 999 | ||
1003 | ftrace | 1000 | function |
1004 | ------ | 1001 | -------- |
1005 | 1002 | ||
1006 | ftrace is not only the name of the tracing infrastructure, but it | 1003 | This tracer is the function tracer. Enabling the function tracer |
1007 | is also a name of one of the tracers. The tracer is the function | 1004 | can be done from the debug file system. Make sure the ftrace_enabled is |
1008 | tracer. Enabling the function tracer can be done from the | 1005 | set; otherwise this tracer is a nop. |
1009 | debug file system. Make sure the ftrace_enabled is set otherwise | ||
1010 | this tracer is a nop. | ||
1011 | 1006 | ||
1012 | # sysctl kernel.ftrace_enabled=1 | 1007 | # sysctl kernel.ftrace_enabled=1 |
1013 | # echo ftrace > /debug/tracing/current_tracer | 1008 | # echo function > /debug/tracing/current_tracer |
1014 | # echo 1 > /debug/tracing/tracing_enabled | 1009 | # echo 1 > /debug/tracing/tracing_enabled |
1015 | # usleep 1 | 1010 | # usleep 1 |
1016 | # echo 0 > /debug/tracing/tracing_enabled | 1011 | # echo 0 > /debug/tracing/tracing_enabled |
1017 | # cat /debug/tracing/trace | 1012 | # cat /debug/tracing/trace |
1018 | # tracer: ftrace | 1013 | # tracer: function |
1019 | # | 1014 | # |
1020 | # TASK-PID CPU# TIMESTAMP FUNCTION | 1015 | # TASK-PID CPU# TIMESTAMP FUNCTION |
1021 | # | | | | | | 1016 | # | | | | | |
@@ -1037,10 +1032,10 @@ this tracer is a nop. | |||
1037 | [...] | 1032 | [...] |
1038 | 1033 | ||
1039 | 1034 | ||
1040 | Note: ftrace uses ring buffers to store the above entries. The newest data | 1035 | Note: function tracer uses ring buffers to store the above entries. |
1041 | may overwrite the oldest data. Sometimes using echo to stop the trace | 1036 | The newest data may overwrite the oldest data. Sometimes using echo to |
1042 | is not sufficient because the tracing could have overwritten the data | 1037 | stop the trace is not sufficient because the tracing could have overwritten |
1043 | that you wanted to record. For this reason, it is sometimes better to | 1038 | the data that you wanted to record. For this reason, it is sometimes better to |
1044 | disable tracing directly from a program. This allows you to stop the | 1039 | disable tracing directly from a program. This allows you to stop the |
1045 | tracing at the point that you hit the part that you are interested in. | 1040 | tracing at the point that you hit the part that you are interested in. |
1046 | To disable the tracing directly from a C program, something like following | 1041 | To disable the tracing directly from a C program, something like following |
@@ -1074,18 +1069,31 @@ every kernel function, produced by the -pg switch in gcc), starts | |||
1074 | of pointing to a simple return. (Enabling FTRACE will include the | 1069 | of pointing to a simple return. (Enabling FTRACE will include the |
1075 | -pg switch in the compiling of the kernel.) | 1070 | -pg switch in the compiling of the kernel.) |
1076 | 1071 | ||
1077 | When dynamic ftrace is initialized, it calls kstop_machine to make | 1072 | At compile time every C file object is run through the |
1078 | the machine act like a uniprocessor so that it can freely modify code | 1073 | recordmcount.pl script (located in the scripts directory). This |
1079 | without worrying about other processors executing that same code. At | 1074 | script will process the C object using objdump to find all the |
1080 | initialization, the mcount calls are changed to call a "record_ip" | 1075 | locations in the .text section that call mcount. (Note, only |
1081 | function. After this, the first time a kernel function is called, | 1076 | the .text section is processed, since processing other sections |
1082 | it has the calling address saved in a hash table. | 1077 | like .init.text may cause races due to those sections being freed). |
1083 | 1078 | ||
1084 | Later on the ftraced kernel thread is awoken and will again call | 1079 | A new section called "__mcount_loc" is created that holds references |
1085 | kstop_machine if new functions have been recorded. The ftraced thread | 1080 | to all the mcount call sites in the .text section. This section is |
1086 | will change all calls to mcount to "nop". Just calling mcount | 1081 | compiled back into the original object. The final linker will add |
1087 | and having mcount return has shown a 10% overhead. By converting | 1082 | all these references into a single table. |
1088 | it to a nop, there is no measurable overhead to the system. | 1083 | |
1084 | On boot up, before SMP is initialized, the dynamic ftrace code | ||
1085 | scans this table and updates all the locations into nops. It also | ||
1086 | records the locations, which are added to the available_filter_functions | ||
1087 | list. Modules are processed as they are loaded and before they are | ||
1088 | executed. When a module is unloaded, it also removes its functions from | ||
1089 | the ftrace function list. This is automatic in the module unload | ||
1090 | code, and the module author does not need to worry about it. | ||
1091 | |||
1092 | When tracing is enabled, kstop_machine is called to prevent races | ||
1093 | with the CPUS executing code being modified (which can cause the | ||
1094 | CPU to do undesireable things), and the nops are patched back | ||
1095 | to calls. But this time, they do not call mcount (which is just | ||
1096 | a function stub). They now call into the ftrace infrastructure. | ||
1089 | 1097 | ||
1090 | One special side-effect to the recording of the functions being | 1098 | One special side-effect to the recording of the functions being |
1091 | traced is that we can now selectively choose which functions we | 1099 | traced is that we can now selectively choose which functions we |
@@ -1248,36 +1256,6 @@ Produces: | |||
1248 | 1256 | ||
1249 | We can see that there's no more lock or preempt tracing. | 1257 | We can see that there's no more lock or preempt tracing. |
1250 | 1258 | ||
1251 | ftraced | ||
1252 | ------- | ||
1253 | |||
1254 | As mentioned above, when dynamic ftrace is configured in, a kernel | ||
1255 | thread wakes up once a second and checks to see if there are mcount | ||
1256 | calls that need to be converted into nops. If there are not any, then | ||
1257 | it simply goes back to sleep. But if there are some, it will call | ||
1258 | kstop_machine to convert the calls to nops. | ||
1259 | |||
1260 | There may be a case in which you do not want this added latency. | ||
1261 | Perhaps you are doing some audio recording and this activity might | ||
1262 | cause skips in the playback. There is an interface to disable | ||
1263 | and enable the "ftraced" kernel thread. | ||
1264 | |||
1265 | # echo 0 > /debug/tracing/ftraced_enabled | ||
1266 | |||
1267 | This will disable the calling of kstop_machine to update the | ||
1268 | mcount calls to nops. Remember that there is a large overhead | ||
1269 | to calling mcount. Without this kernel thread, that overhead will | ||
1270 | exist. | ||
1271 | |||
1272 | If there are recorded calls to mcount, any write to the ftraced_enabled | ||
1273 | file will cause the kstop_machine to run. This means that a | ||
1274 | user can manually perform the updates when they want to by simply | ||
1275 | echoing a '0' into the ftraced_enabled file. | ||
1276 | |||
1277 | The updates are also done at the beginning of enabling a tracer | ||
1278 | that uses ftrace function recording. | ||
1279 | |||
1280 | |||
1281 | trace_pipe | 1259 | trace_pipe |
1282 | ---------- | 1260 | ---------- |
1283 | 1261 | ||
@@ -1286,14 +1264,14 @@ on the tracing is different. Every read from trace_pipe is consumed. | |||
1286 | This means that subsequent reads will be different. The trace | 1264 | This means that subsequent reads will be different. The trace |
1287 | is live. | 1265 | is live. |
1288 | 1266 | ||
1289 | # echo ftrace > /debug/tracing/current_tracer | 1267 | # echo function > /debug/tracing/current_tracer |
1290 | # cat /debug/tracing/trace_pipe > /tmp/trace.out & | 1268 | # cat /debug/tracing/trace_pipe > /tmp/trace.out & |
1291 | [1] 4153 | 1269 | [1] 4153 |
1292 | # echo 1 > /debug/tracing/tracing_enabled | 1270 | # echo 1 > /debug/tracing/tracing_enabled |
1293 | # usleep 1 | 1271 | # usleep 1 |
1294 | # echo 0 > /debug/tracing/tracing_enabled | 1272 | # echo 0 > /debug/tracing/tracing_enabled |
1295 | # cat /debug/tracing/trace | 1273 | # cat /debug/tracing/trace |
1296 | # tracer: ftrace | 1274 | # tracer: function |
1297 | # | 1275 | # |
1298 | # TASK-PID CPU# TIMESTAMP FUNCTION | 1276 | # TASK-PID CPU# TIMESTAMP FUNCTION |
1299 | # | | | | | | 1277 | # | | | | | |
@@ -1314,7 +1292,7 @@ is live. | |||
1314 | 1292 | ||
1315 | Note, reading the trace_pipe file will block until more input is added. | 1293 | Note, reading the trace_pipe file will block until more input is added. |
1316 | By changing the tracer, trace_pipe will issue an EOF. We needed | 1294 | By changing the tracer, trace_pipe will issue an EOF. We needed |
1317 | to set the ftrace tracer _before_ cating the trace_pipe file. | 1295 | to set the function tracer _before_ we "cat" the trace_pipe file. |
1318 | 1296 | ||
1319 | 1297 | ||
1320 | trace entries | 1298 | trace entries |
@@ -1331,10 +1309,10 @@ number of entries. | |||
1331 | 65620 | 1309 | 65620 |
1332 | 1310 | ||
1333 | Note, to modify this, you must have tracing completely disabled. To do that, | 1311 | Note, to modify this, you must have tracing completely disabled. To do that, |
1334 | echo "none" into the current_tracer. If the current_tracer is not set | 1312 | echo "nop" into the current_tracer. If the current_tracer is not set |
1335 | to "none", an EINVAL error will be returned. | 1313 | to "nop", an EINVAL error will be returned. |
1336 | 1314 | ||
1337 | # echo none > /debug/tracing/current_tracer | 1315 | # echo nop > /debug/tracing/current_tracer |
1338 | # echo 100000 > /debug/tracing/trace_entries | 1316 | # echo 100000 > /debug/tracing/trace_entries |
1339 | # cat /debug/tracing/trace_entries | 1317 | # cat /debug/tracing/trace_entries |
1340 | 100045 | 1318 | 100045 |
diff --git a/Documentation/i2c/busses/i2c-sis96x b/Documentation/i2c/busses/i2c-sis96x index 266481fd26e2..70e6a0cc1e15 100644 --- a/Documentation/i2c/busses/i2c-sis96x +++ b/Documentation/i2c/busses/i2c-sis96x | |||
@@ -42,7 +42,7 @@ I suspect that this driver could be made to work for the following SiS | |||
42 | chipsets as well: 635, and 635T. If anyone owns a board with those chips | 42 | chipsets as well: 635, and 635T. If anyone owns a board with those chips |
43 | AND is willing to risk crashing & burning an otherwise well-behaved kernel | 43 | AND is willing to risk crashing & burning an otherwise well-behaved kernel |
44 | in the name of progress... please contact me at <mhoffman@lightlink.com> or | 44 | in the name of progress... please contact me at <mhoffman@lightlink.com> or |
45 | via the project's mailing list: <i2c@lm-sensors.org>. Please send bug | 45 | via the linux-i2c mailing list: <linux-i2c@vger.kernel.org>. Please send bug |
46 | reports and/or success stories as well. | 46 | reports and/or success stories as well. |
47 | 47 | ||
48 | 48 | ||
diff --git a/Documentation/ia64/.gitignore b/Documentation/ia64/.gitignore new file mode 100644 index 000000000000..ab806edc8732 --- /dev/null +++ b/Documentation/ia64/.gitignore | |||
@@ -0,0 +1 @@ | |||
aliasing-test | |||
diff --git a/Documentation/input/elantech.txt b/Documentation/input/elantech.txt new file mode 100644 index 000000000000..a10c3b6ba7c4 --- /dev/null +++ b/Documentation/input/elantech.txt | |||
@@ -0,0 +1,405 @@ | |||
1 | Elantech Touchpad Driver | ||
2 | ======================== | ||
3 | |||
4 | Copyright (C) 2007-2008 Arjan Opmeer <arjan@opmeer.net> | ||
5 | |||
6 | Extra information for hardware version 1 found and | ||
7 | provided by Steve Havelka | ||
8 | |||
9 | Version 2 (EeePC) hardware support based on patches | ||
10 | received from Woody at Xandros and forwarded to me | ||
11 | by user StewieGriffin at the eeeuser.com forum | ||
12 | |||
13 | |||
14 | Contents | ||
15 | ~~~~~~~~ | ||
16 | |||
17 | 1. Introduction | ||
18 | 2. Extra knobs | ||
19 | 3. Hardware version 1 | ||
20 | 3.1 Registers | ||
21 | 3.2 Native relative mode 4 byte packet format | ||
22 | 3.3 Native absolute mode 4 byte packet format | ||
23 | 4. Hardware version 2 | ||
24 | 4.1 Registers | ||
25 | 4.2 Native absolute mode 6 byte packet format | ||
26 | 4.2.1 One finger touch | ||
27 | 4.2.2 Two finger touch | ||
28 | |||
29 | |||
30 | |||
31 | 1. Introduction | ||
32 | ~~~~~~~~~~~~ | ||
33 | |||
34 | Currently the Linux Elantech touchpad driver is aware of two different | ||
35 | hardware versions unimaginatively called version 1 and version 2. Version 1 | ||
36 | is found in "older" laptops and uses 4 bytes per packet. Version 2 seems to | ||
37 | be introduced with the EeePC and uses 6 bytes per packet. | ||
38 | |||
39 | The driver tries to support both hardware versions and should be compatible | ||
40 | with the Xorg Synaptics touchpad driver and its graphical configuration | ||
41 | utilities. | ||
42 | |||
43 | Additionally the operation of the touchpad can be altered by adjusting the | ||
44 | contents of some of its internal registers. These registers are represented | ||
45 | by the driver as sysfs entries under /sys/bus/serio/drivers/psmouse/serio? | ||
46 | that can be read from and written to. | ||
47 | |||
48 | Currently only the registers for hardware version 1 are somewhat understood. | ||
49 | Hardware version 2 seems to use some of the same registers but it is not | ||
50 | known whether the bits in the registers represent the same thing or might | ||
51 | have changed their meaning. | ||
52 | |||
53 | On top of that, some register settings have effect only when the touchpad is | ||
54 | in relative mode and not in absolute mode. As the Linux Elantech touchpad | ||
55 | driver always puts the hardware into absolute mode not all information | ||
56 | mentioned below can be used immediately. But because there is no freely | ||
57 | available Elantech documentation the information is provided here anyway for | ||
58 | completeness sake. | ||
59 | |||
60 | |||
61 | ///////////////////////////////////////////////////////////////////////////// | ||
62 | |||
63 | |||
64 | 2. Extra knobs | ||
65 | ~~~~~~~~~~~ | ||
66 | |||
67 | Currently the Linux Elantech touchpad driver provides two extra knobs under | ||
68 | /sys/bus/serio/drivers/psmouse/serio? for the user. | ||
69 | |||
70 | * debug | ||
71 | |||
72 | Turn different levels of debugging ON or OFF. | ||
73 | |||
74 | By echoing "0" to this file all debugging will be turned OFF. | ||
75 | |||
76 | Currently a value of "1" will turn on some basic debugging and a value of | ||
77 | "2" will turn on packet debugging. For hardware version 1 the default is | ||
78 | OFF. For version 2 the default is "1". | ||
79 | |||
80 | Turning packet debugging on will make the driver dump every packet | ||
81 | received to the syslog before processing it. Be warned that this can | ||
82 | generate quite a lot of data! | ||
83 | |||
84 | * paritycheck | ||
85 | |||
86 | Turns parity checking ON or OFF. | ||
87 | |||
88 | By echoing "0" to this file parity checking will be turned OFF. Any | ||
89 | non-zero value will turn it ON. For hardware version 1 the default is ON. | ||
90 | For version 2 the default it is OFF. | ||
91 | |||
92 | Hardware version 1 provides basic data integrity verification by | ||
93 | calculating a parity bit for the last 3 bytes of each packet. The driver | ||
94 | can check these bits and reject any packet that appears corrupted. Using | ||
95 | this knob you can bypass that check. | ||
96 | |||
97 | It is not known yet whether hardware version 2 provides the same parity | ||
98 | bits. Hence checking is disabled by default. Currently even turning it on | ||
99 | will do nothing. | ||
100 | |||
101 | |||
102 | ///////////////////////////////////////////////////////////////////////////// | ||
103 | |||
104 | |||
105 | 3. Hardware version 1 | ||
106 | ================== | ||
107 | |||
108 | 3.1 Registers | ||
109 | ~~~~~~~~~ | ||
110 | |||
111 | By echoing a hexadecimal value to a register it contents can be altered. | ||
112 | |||
113 | For example: | ||
114 | |||
115 | echo -n 0x16 > reg_10 | ||
116 | |||
117 | * reg_10 | ||
118 | |||
119 | bit 7 6 5 4 3 2 1 0 | ||
120 | B C T D L A S E | ||
121 | |||
122 | E: 1 = enable smart edges unconditionally | ||
123 | S: 1 = enable smart edges only when dragging | ||
124 | A: 1 = absolute mode (needs 4 byte packets, see reg_11) | ||
125 | L: 1 = enable drag lock (see reg_22) | ||
126 | D: 1 = disable dynamic resolution | ||
127 | T: 1 = disable tapping | ||
128 | C: 1 = enable corner tap | ||
129 | B: 1 = swap left and right button | ||
130 | |||
131 | * reg_11 | ||
132 | |||
133 | bit 7 6 5 4 3 2 1 0 | ||
134 | 1 0 0 H V 1 F P | ||
135 | |||
136 | P: 1 = enable parity checking for relative mode | ||
137 | F: 1 = enable native 4 byte packet mode | ||
138 | V: 1 = enable vertical scroll area | ||
139 | H: 1 = enable horizontal scroll area | ||
140 | |||
141 | * reg_20 | ||
142 | |||
143 | single finger width? | ||
144 | |||
145 | * reg_21 | ||
146 | |||
147 | scroll area width (small: 0x40 ... wide: 0xff) | ||
148 | |||
149 | * reg_22 | ||
150 | |||
151 | drag lock time out (short: 0x14 ... long: 0xfe; | ||
152 | 0xff = tap again to release) | ||
153 | |||
154 | * reg_23 | ||
155 | |||
156 | tap make timeout? | ||
157 | |||
158 | * reg_24 | ||
159 | |||
160 | tap release timeout? | ||
161 | |||
162 | * reg_25 | ||
163 | |||
164 | smart edge cursor speed (0x02 = slow, 0x03 = medium, 0x04 = fast) | ||
165 | |||
166 | * reg_26 | ||
167 | |||
168 | smart edge activation area width? | ||
169 | |||
170 | |||
171 | 3.2 Native relative mode 4 byte packet format | ||
172 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
173 | |||
174 | byte 0: | ||
175 | bit 7 6 5 4 3 2 1 0 | ||
176 | c c p2 p1 1 M R L | ||
177 | |||
178 | L, R, M = 1 when Left, Right, Middle mouse button pressed | ||
179 | some models have M as byte 3 odd parity bit | ||
180 | when parity checking is enabled (reg_11, P = 1): | ||
181 | p1..p2 = byte 1 and 2 odd parity bit | ||
182 | c = 1 when corner tap detected | ||
183 | |||
184 | byte 1: | ||
185 | bit 7 6 5 4 3 2 1 0 | ||
186 | dx7 dx6 dx5 dx4 dx3 dx2 dx1 dx0 | ||
187 | |||
188 | dx7..dx0 = x movement; positive = right, negative = left | ||
189 | byte 1 = 0xf0 when corner tap detected | ||
190 | |||
191 | byte 2: | ||
192 | bit 7 6 5 4 3 2 1 0 | ||
193 | dy7 dy6 dy5 dy4 dy3 dy2 dy1 dy0 | ||
194 | |||
195 | dy7..dy0 = y movement; positive = up, negative = down | ||
196 | |||
197 | byte 3: | ||
198 | parity checking enabled (reg_11, P = 1): | ||
199 | |||
200 | bit 7 6 5 4 3 2 1 0 | ||
201 | w h n1 n0 ds3 ds2 ds1 ds0 | ||
202 | |||
203 | normally: | ||
204 | ds3..ds0 = scroll wheel amount and direction | ||
205 | positive = down or left | ||
206 | negative = up or right | ||
207 | when corner tap detected: | ||
208 | ds0 = 1 when top right corner tapped | ||
209 | ds1 = 1 when bottom right corner tapped | ||
210 | ds2 = 1 when bottom left corner tapped | ||
211 | ds3 = 1 when top left corner tapped | ||
212 | n1..n0 = number of fingers on touchpad | ||
213 | only models with firmware 2.x report this, models with | ||
214 | firmware 1.x seem to map one, two and three finger taps | ||
215 | directly to L, M and R mouse buttons | ||
216 | h = 1 when horizontal scroll action | ||
217 | w = 1 when wide finger touch? | ||
218 | |||
219 | otherwise (reg_11, P = 0): | ||
220 | |||
221 | bit 7 6 5 4 3 2 1 0 | ||
222 | ds7 ds6 ds5 ds4 ds3 ds2 ds1 ds0 | ||
223 | |||
224 | ds7..ds0 = vertical scroll amount and direction | ||
225 | negative = up | ||
226 | positive = down | ||
227 | |||
228 | |||
229 | 3.3 Native absolute mode 4 byte packet format | ||
230 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
231 | |||
232 | byte 0: | ||
233 | firmware version 1.x: | ||
234 | |||
235 | bit 7 6 5 4 3 2 1 0 | ||
236 | D U p1 p2 1 p3 R L | ||
237 | |||
238 | L, R = 1 when Left, Right mouse button pressed | ||
239 | p1..p3 = byte 1..3 odd parity bit | ||
240 | D, U = 1 when rocker switch pressed Up, Down | ||
241 | |||
242 | firmware version 2.x: | ||
243 | |||
244 | bit 7 6 5 4 3 2 1 0 | ||
245 | n1 n0 p2 p1 1 p3 R L | ||
246 | |||
247 | L, R = 1 when Left, Right mouse button pressed | ||
248 | p1..p3 = byte 1..3 odd parity bit | ||
249 | n1..n0 = number of fingers on touchpad | ||
250 | |||
251 | byte 1: | ||
252 | firmware version 1.x: | ||
253 | |||
254 | bit 7 6 5 4 3 2 1 0 | ||
255 | f 0 th tw x9 x8 y9 y8 | ||
256 | |||
257 | tw = 1 when two finger touch | ||
258 | th = 1 when three finger touch | ||
259 | f = 1 when finger touch | ||
260 | |||
261 | firmware version 2.x: | ||
262 | |||
263 | bit 7 6 5 4 3 2 1 0 | ||
264 | . . . . x9 x8 y9 y8 | ||
265 | |||
266 | byte 2: | ||
267 | bit 7 6 5 4 3 2 1 0 | ||
268 | x7 x6 x5 x4 x3 x2 x1 x0 | ||
269 | |||
270 | x9..x0 = absolute x value (horizontal) | ||
271 | |||
272 | byte 3: | ||
273 | bit 7 6 5 4 3 2 1 0 | ||
274 | y7 y6 y5 y4 y3 y2 y1 y0 | ||
275 | |||
276 | y9..y0 = absolute y value (vertical) | ||
277 | |||
278 | |||
279 | ///////////////////////////////////////////////////////////////////////////// | ||
280 | |||
281 | |||
282 | 4. Hardware version 2 | ||
283 | ================== | ||
284 | |||
285 | |||
286 | 4.1 Registers | ||
287 | ~~~~~~~~~ | ||
288 | |||
289 | By echoing a hexadecimal value to a register it contents can be altered. | ||
290 | |||
291 | For example: | ||
292 | |||
293 | echo -n 0x56 > reg_10 | ||
294 | |||
295 | * reg_10 | ||
296 | |||
297 | bit 7 6 5 4 3 2 1 0 | ||
298 | 0 1 0 1 0 1 D 0 | ||
299 | |||
300 | D: 1 = enable drag and drop | ||
301 | |||
302 | * reg_11 | ||
303 | |||
304 | bit 7 6 5 4 3 2 1 0 | ||
305 | 1 0 0 0 S 0 1 0 | ||
306 | |||
307 | S: 1 = enable vertical scroll | ||
308 | |||
309 | * reg_21 | ||
310 | |||
311 | unknown (0x00) | ||
312 | |||
313 | * reg_22 | ||
314 | |||
315 | drag and drop release time out (short: 0x70 ... long 0x7e; | ||
316 | 0x7f = never i.e. tap again to release) | ||
317 | |||
318 | |||
319 | 4.2 Native absolute mode 6 byte packet format | ||
320 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
321 | |||
322 | 4.2.1 One finger touch | ||
323 | ~~~~~~~~~~~~~~~~ | ||
324 | |||
325 | byte 0: | ||
326 | |||
327 | bit 7 6 5 4 3 2 1 0 | ||
328 | n1 n0 . . . . R L | ||
329 | |||
330 | L, R = 1 when Left, Right mouse button pressed | ||
331 | n1..n0 = numbers of fingers on touchpad | ||
332 | |||
333 | byte 1: | ||
334 | |||
335 | bit 7 6 5 4 3 2 1 0 | ||
336 | x15 x14 x13 x12 x11 x10 x9 x8 | ||
337 | |||
338 | byte 2: | ||
339 | |||
340 | bit 7 6 5 4 3 2 1 0 | ||
341 | x7 x6 x5 x4 x4 x2 x1 x0 | ||
342 | |||
343 | x15..x0 = absolute x value (horizontal) | ||
344 | |||
345 | byte 3: | ||
346 | |||
347 | bit 7 6 5 4 3 2 1 0 | ||
348 | . . . . . . . . | ||
349 | |||
350 | byte 4: | ||
351 | |||
352 | bit 7 6 5 4 3 2 1 0 | ||
353 | y15 y14 y13 y12 y11 y10 y8 y8 | ||
354 | |||
355 | byte 5: | ||
356 | |||
357 | bit 7 6 5 4 3 2 1 0 | ||
358 | y7 y6 y5 y4 y3 y2 y1 y0 | ||
359 | |||
360 | y15..y0 = absolute y value (vertical) | ||
361 | |||
362 | |||
363 | 4.2.2 Two finger touch | ||
364 | ~~~~~~~~~~~~~~~~ | ||
365 | |||
366 | byte 0: | ||
367 | |||
368 | bit 7 6 5 4 3 2 1 0 | ||
369 | n1 n0 ay8 ax8 . . R L | ||
370 | |||
371 | L, R = 1 when Left, Right mouse button pressed | ||
372 | n1..n0 = numbers of fingers on touchpad | ||
373 | |||
374 | byte 1: | ||
375 | |||
376 | bit 7 6 5 4 3 2 1 0 | ||
377 | ax7 ax6 ax5 ax4 ax3 ax2 ax1 ax0 | ||
378 | |||
379 | ax8..ax0 = first finger absolute x value | ||
380 | |||
381 | byte 2: | ||
382 | |||
383 | bit 7 6 5 4 3 2 1 0 | ||
384 | ay7 ay6 ay5 ay4 ay3 ay2 ay1 ay0 | ||
385 | |||
386 | ay8..ay0 = first finger absolute y value | ||
387 | |||
388 | byte 3: | ||
389 | |||
390 | bit 7 6 5 4 3 2 1 0 | ||
391 | . . by8 bx8 . . . . | ||
392 | |||
393 | byte 4: | ||
394 | |||
395 | bit 7 6 5 4 3 2 1 0 | ||
396 | bx7 bx6 bx5 bx4 bx3 bx2 bx1 bx0 | ||
397 | |||
398 | bx8..bx0 = second finger absolute x value | ||
399 | |||
400 | byte 5: | ||
401 | |||
402 | bit 7 6 5 4 3 2 1 0 | ||
403 | by7 by8 by5 by4 by3 by2 by1 by0 | ||
404 | |||
405 | by8..by0 = second finger absolute y value | ||
diff --git a/Documentation/io-mapping.txt b/Documentation/io-mapping.txt new file mode 100644 index 000000000000..473e43b2d588 --- /dev/null +++ b/Documentation/io-mapping.txt | |||
@@ -0,0 +1,82 @@ | |||
1 | The io_mapping functions in linux/io-mapping.h provide an abstraction for | ||
2 | efficiently mapping small regions of an I/O device to the CPU. The initial | ||
3 | usage is to support the large graphics aperture on 32-bit processors where | ||
4 | ioremap_wc cannot be used to statically map the entire aperture to the CPU | ||
5 | as it would consume too much of the kernel address space. | ||
6 | |||
7 | A mapping object is created during driver initialization using | ||
8 | |||
9 | struct io_mapping *io_mapping_create_wc(unsigned long base, | ||
10 | unsigned long size) | ||
11 | |||
12 | 'base' is the bus address of the region to be made | ||
13 | mappable, while 'size' indicates how large a mapping region to | ||
14 | enable. Both are in bytes. | ||
15 | |||
16 | This _wc variant provides a mapping which may only be used | ||
17 | with the io_mapping_map_atomic_wc or io_mapping_map_wc. | ||
18 | |||
19 | With this mapping object, individual pages can be mapped either atomically | ||
20 | or not, depending on the necessary scheduling environment. Of course, atomic | ||
21 | maps are more efficient: | ||
22 | |||
23 | void *io_mapping_map_atomic_wc(struct io_mapping *mapping, | ||
24 | unsigned long offset) | ||
25 | |||
26 | 'offset' is the offset within the defined mapping region. | ||
27 | Accessing addresses beyond the region specified in the | ||
28 | creation function yields undefined results. Using an offset | ||
29 | which is not page aligned yields an undefined result. The | ||
30 | return value points to a single page in CPU address space. | ||
31 | |||
32 | This _wc variant returns a write-combining map to the | ||
33 | page and may only be used with mappings created by | ||
34 | io_mapping_create_wc | ||
35 | |||
36 | Note that the task may not sleep while holding this page | ||
37 | mapped. | ||
38 | |||
39 | void io_mapping_unmap_atomic(void *vaddr) | ||
40 | |||
41 | 'vaddr' must be the the value returned by the last | ||
42 | io_mapping_map_atomic_wc call. This unmaps the specified | ||
43 | page and allows the task to sleep once again. | ||
44 | |||
45 | If you need to sleep while holding the lock, you can use the non-atomic | ||
46 | variant, although they may be significantly slower. | ||
47 | |||
48 | void *io_mapping_map_wc(struct io_mapping *mapping, | ||
49 | unsigned long offset) | ||
50 | |||
51 | This works like io_mapping_map_atomic_wc except it allows | ||
52 | the task to sleep while holding the page mapped. | ||
53 | |||
54 | void io_mapping_unmap(void *vaddr) | ||
55 | |||
56 | This works like io_mapping_unmap_atomic, except it is used | ||
57 | for pages mapped with io_mapping_map_wc. | ||
58 | |||
59 | At driver close time, the io_mapping object must be freed: | ||
60 | |||
61 | void io_mapping_free(struct io_mapping *mapping) | ||
62 | |||
63 | Current Implementation: | ||
64 | |||
65 | The initial implementation of these functions uses existing mapping | ||
66 | mechanisms and so provides only an abstraction layer and no new | ||
67 | functionality. | ||
68 | |||
69 | On 64-bit processors, io_mapping_create_wc calls ioremap_wc for the whole | ||
70 | range, creating a permanent kernel-visible mapping to the resource. The | ||
71 | map_atomic and map functions add the requested offset to the base of the | ||
72 | virtual address returned by ioremap_wc. | ||
73 | |||
74 | On 32-bit processors with HIGHMEM defined, io_mapping_map_atomic_wc uses | ||
75 | kmap_atomic_pfn to map the specified page in an atomic fashion; | ||
76 | kmap_atomic_pfn isn't really supposed to be used with device pages, but it | ||
77 | provides an efficient mapping for this usage. | ||
78 | |||
79 | On 32-bit processors without HIGHMEM defined, io_mapping_map_atomic_wc and | ||
80 | io_mapping_map_wc both use ioremap_wc, a terribly inefficient function which | ||
81 | performs an IPI to inform all processors about the new mapping. This results | ||
82 | in a significant performance penalty. | ||
diff --git a/Documentation/isdn/CREDITS b/Documentation/isdn/CREDITS index 8cac6c2f23ee..c1679e913fca 100644 --- a/Documentation/isdn/CREDITS +++ b/Documentation/isdn/CREDITS | |||
@@ -5,7 +5,7 @@ I want to thank all who contributed to this project and especially to: | |||
5 | Thomas Bogendörfer (tsbogend@bigbug.franken.de) | 5 | Thomas Bogendörfer (tsbogend@bigbug.franken.de) |
6 | Tester, lots of bugfixes and hints. | 6 | Tester, lots of bugfixes and hints. |
7 | 7 | ||
8 | Alan Cox (alan@redhat.com) | 8 | Alan Cox (alan@lxorguk.ukuu.org.uk) |
9 | For help getting into standard-kernel. | 9 | For help getting into standard-kernel. |
10 | 10 | ||
11 | Henner Eisen (eis@baty.hanse.de) | 11 | Henner Eisen (eis@baty.hanse.de) |
diff --git a/Documentation/ja_JP/HOWTO b/Documentation/ja_JP/HOWTO index 0775cf4798b2..55476982b5ca 100644 --- a/Documentation/ja_JP/HOWTO +++ b/Documentation/ja_JP/HOWTO | |||
@@ -11,14 +11,14 @@ for non English (read: Japanese) speakers and is not intended as a | |||
11 | fork. So if you have any comments or updates for this file, please try | 11 | fork. So if you have any comments or updates for this file, please try |
12 | to update the original English file first. | 12 | to update the original English file first. |
13 | 13 | ||
14 | Last Updated: 2008/08/21 | 14 | Last Updated: 2008/10/24 |
15 | ================================== | 15 | ================================== |
16 | ã“ã‚Œã¯ã€ | 16 | ã“ã‚Œã¯ã€ |
17 | linux-2.6.27/Documentation/HOWTO | 17 | linux-2.6.28/Documentation/HOWTO |
18 | ã®å’Œè¨³ã§ã™ã€‚ | 18 | ã®å’Œè¨³ã§ã™ã€‚ |
19 | 19 | ||
20 | 翻訳団体: JF プãƒã‚¸ã‚§ã‚¯ãƒˆ < http://www.linux.or.jp/JF/ > | 20 | 翻訳団体: JF プãƒã‚¸ã‚§ã‚¯ãƒˆ < http://www.linux.or.jp/JF/ > |
21 | 翻訳日: 2008/8/5 | 21 | 翻訳日: 2008/10/24 |
22 | 翻訳者: Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com> | 22 | 翻訳者: Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com> |
23 | æ ¡æ£è€…: æ¾å€‰ã•ã‚“ <nbh--mats at nifty dot com> | 23 | æ ¡æ£è€…: æ¾å€‰ã•ã‚“ <nbh--mats at nifty dot com> |
24 | å°æž— é›…å…¸ã•ã‚“ (Masanori Kobayasi) <zap03216 at nifty dot ne dot jp> | 24 | å°æž— é›…å…¸ã•ã‚“ (Masanori Kobayasi) <zap03216 at nifty dot ne dot jp> |
@@ -110,8 +110,8 @@ Linux カーãƒãƒ«ã‚½ãƒ¼ã‚¹ãƒ„リーã¯å¹…広ã„範囲ã®ãƒ‰ã‚ュメントをå | |||
110 | æ–°ã—ã„ドã‚ãƒ¥ãƒ¡ãƒ³ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã‚‚è¿½åŠ ã™ã‚‹ã“ã¨ã‚’勧ã‚ã¾ã™ã€‚ | 110 | æ–°ã—ã„ドã‚ãƒ¥ãƒ¡ãƒ³ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã‚‚è¿½åŠ ã™ã‚‹ã“ã¨ã‚’勧ã‚ã¾ã™ã€‚ |
111 | カーãƒãƒ«ã®å¤‰æ›´ãŒã€ã‚«ãƒ¼ãƒãƒ«ãŒãƒ¦ãƒ¼ã‚¶ç©ºé–“ã«å…¬é–‹ã—ã¦ã„るインターフェイス㮠| 111 | カーãƒãƒ«ã®å¤‰æ›´ãŒã€ã‚«ãƒ¼ãƒãƒ«ãŒãƒ¦ãƒ¼ã‚¶ç©ºé–“ã«å…¬é–‹ã—ã¦ã„るインターフェイス㮠|
112 | 変更を引ãèµ·ã“ã™å ´åˆã€ãã®å¤‰æ›´ã‚’説明ã™ã‚‹ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãƒšãƒ¼ã‚¸ã®ãƒ‘ッãƒã‚„æƒ…å ± | 112 | 変更を引ãèµ·ã“ã™å ´åˆã€ãã®å¤‰æ›´ã‚’説明ã™ã‚‹ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãƒšãƒ¼ã‚¸ã®ãƒ‘ッãƒã‚„æƒ…å ± |
113 | をマニュアルページã®ãƒ¡ãƒ³ãƒ†ãƒŠ mtk.manpages@gmail.com ã«é€ã‚‹ã“ã¨ã‚’勧ã‚ã¾ | 113 | をマニュアルページã®ãƒ¡ãƒ³ãƒ†ãƒŠ mtk.manpages@gmail.com ã«é€ã‚Šã€CC ã‚’ |
114 | ã™ã€‚ | 114 | linux-api@ver.kernel.org ã«é€ã‚‹ã“ã¨ã‚’勧ã‚ã¾ã™ã€‚ |
115 | 115 | ||
116 | 以下ã¯ã‚«ãƒ¼ãƒãƒ«ã‚½ãƒ¼ã‚¹ãƒ„リーã«å«ã¾ã‚Œã¦ã„ã‚‹èªã‚“ã§ãŠãã¹ãファイルã®ä¸€è¦§ã§ | 116 | 以下ã¯ã‚«ãƒ¼ãƒãƒ«ã‚½ãƒ¼ã‚¹ãƒ„リーã«å«ã¾ã‚Œã¦ã„ã‚‹èªã‚“ã§ãŠãã¹ãファイルã®ä¸€è¦§ã§ |
117 | ã™- | 117 | ã™- |
@@ -149,7 +149,7 @@ Linux カーãƒãƒ«ã‚½ãƒ¼ã‚¹ãƒ„リーã¯å¹…広ã„範囲ã®ãƒ‰ã‚ュメントをå | |||
149 | ã“ã®ä»–ã«ãƒ‘ッãƒã‚’作る方法ã«ã¤ã„ã¦ã®ã‚ˆãã§ããŸè¨˜è¿°ã¯- | 149 | ã“ã®ä»–ã«ãƒ‘ッãƒã‚’作る方法ã«ã¤ã„ã¦ã®ã‚ˆãã§ããŸè¨˜è¿°ã¯- |
150 | 150 | ||
151 | "The Perfect Patch" | 151 | "The Perfect Patch" |
152 | http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt | 152 | http://userweb.kernel.org/~akpm/stuff/tpp.txt |
153 | "Linux kernel patch submission format" | 153 | "Linux kernel patch submission format" |
154 | http://linux.yyz.us/patch-format.html | 154 | http://linux.yyz.us/patch-format.html |
155 | 155 | ||
@@ -664,7 +664,7 @@ Linux カーãƒãƒ«ã‚³ãƒŸãƒ¥ãƒ‹ãƒ†ã‚£ã¯ã€ä¸€åº¦ã«å¤§é‡ã®ã‚³ãƒ¼ãƒ‰ã®å¡Šã‚’å– | |||
664 | ã“ã‚Œã«ã¤ã„ã¦å…¨ã¦ãŒã©ã®ã‚ˆã†ã«ã‚ã‚‹ã¹ãã‹ã«ã¤ã„ã¦ã®è©³ç´°ã¯ã€ä»¥ä¸‹ã®ãƒ‰ã‚ュメ | 664 | ã“ã‚Œã«ã¤ã„ã¦å…¨ã¦ãŒã©ã®ã‚ˆã†ã«ã‚ã‚‹ã¹ãã‹ã«ã¤ã„ã¦ã®è©³ç´°ã¯ã€ä»¥ä¸‹ã®ãƒ‰ã‚ュメ |
665 | ント㮠ChangeLog セクションを見ã¦ãã ã•ã„- | 665 | ント㮠ChangeLog セクションを見ã¦ãã ã•ã„- |
666 | "The Perfect Patch" | 666 | "The Perfect Patch" |
667 | http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt | 667 | http://userweb.kernel.org/~akpm/stuff/tpp.txt |
668 | 668 | ||
669 | ã“れらã®ã©ã‚Œã‚‚ãŒã€æ™‚ã«ã¯ã¨ã¦ã‚‚困難ã§ã™ã€‚ã“れらã®æ…£ä¾‹ã‚’完璧ã«å®Ÿæ–½ã™ã‚‹ã« | 669 | ã“れらã®ã©ã‚Œã‚‚ãŒã€æ™‚ã«ã¯ã¨ã¦ã‚‚困難ã§ã™ã€‚ã“れらã®æ…£ä¾‹ã‚’完璧ã«å®Ÿæ–½ã™ã‚‹ã« |
670 | ã¯æ•°å¹´ã‹ã‹ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。ã“ã‚Œã¯ç¶™ç¶šçš„ãªæ”¹å–„ã®ãƒ—ãƒã‚»ã‚¹ã§ã‚ã‚Šã€ãã®ãŸ | 670 | ã¯æ•°å¹´ã‹ã‹ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。ã“ã‚Œã¯ç¶™ç¶šçš„ãªæ”¹å–„ã®ãƒ—ãƒã‚»ã‚¹ã§ã‚ã‚Šã€ãã®ãŸ |
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 343e0f0f84b6..c86c07459712 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -100,7 +100,7 @@ parameter is applicable: | |||
100 | X86-32 X86-32, aka i386 architecture is enabled. | 100 | X86-32 X86-32, aka i386 architecture is enabled. |
101 | X86-64 X86-64 architecture is enabled. | 101 | X86-64 X86-64 architecture is enabled. |
102 | More X86-64 boot options can be found in | 102 | More X86-64 boot options can be found in |
103 | Documentation/x86_64/boot-options.txt . | 103 | Documentation/x86/x86_64/boot-options.txt . |
104 | X86 Either 32bit or 64bit x86 (same as X86-32+X86-64) | 104 | X86 Either 32bit or 64bit x86 (same as X86-32+X86-64) |
105 | 105 | ||
106 | In addition, the following text indicates that the option: | 106 | In addition, the following text indicates that the option: |
@@ -112,10 +112,10 @@ In addition, the following text indicates that the option: | |||
112 | Parameters denoted with BOOT are actually interpreted by the boot | 112 | Parameters denoted with BOOT are actually interpreted by the boot |
113 | loader, and have no meaning to the kernel directly. | 113 | loader, and have no meaning to the kernel directly. |
114 | Do not modify the syntax of boot loader parameters without extreme | 114 | Do not modify the syntax of boot loader parameters without extreme |
115 | need or coordination with <Documentation/i386/boot.txt>. | 115 | need or coordination with <Documentation/x86/i386/boot.txt>. |
116 | 116 | ||
117 | There are also arch-specific kernel-parameters not documented here. | 117 | There are also arch-specific kernel-parameters not documented here. |
118 | See for example <Documentation/x86_64/boot-options.txt>. | 118 | See for example <Documentation/x86/x86_64/boot-options.txt>. |
119 | 119 | ||
120 | Note that ALL kernel parameters listed below are CASE SENSITIVE, and that | 120 | Note that ALL kernel parameters listed below are CASE SENSITIVE, and that |
121 | a trailing = on the name of any parameter states that that parameter will | 121 | a trailing = on the name of any parameter states that that parameter will |
@@ -995,13 +995,15 @@ and is between 256 and 4096 characters. It is defined in the file | |||
995 | Format: | 995 | Format: |
996 | <cpu number>,...,<cpu number> | 996 | <cpu number>,...,<cpu number> |
997 | or | 997 | or |
998 | <cpu number>-<cpu number> (must be a positive range in ascending order) | 998 | <cpu number>-<cpu number> |
999 | (must be a positive range in ascending order) | ||
999 | or a mixture | 1000 | or a mixture |
1000 | <cpu number>,...,<cpu number>-<cpu number> | 1001 | <cpu number>,...,<cpu number>-<cpu number> |
1002 | |||
1001 | This option can be used to specify one or more CPUs | 1003 | This option can be used to specify one or more CPUs |
1002 | to isolate from the general SMP balancing and scheduling | 1004 | to isolate from the general SMP balancing and scheduling |
1003 | algorithms. The only way to move a process onto or off | 1005 | algorithms. You can move a process onto or off an |
1004 | an "isolated" CPU is via the CPU affinity syscalls. | 1006 | "isolated" CPU via the CPU affinity syscalls or cpuset. |
1005 | <cpu number> begins at 0 and the maximum value is | 1007 | <cpu number> begins at 0 and the maximum value is |
1006 | "number of CPUs in system - 1". | 1008 | "number of CPUs in system - 1". |
1007 | 1009 | ||
@@ -1222,7 +1224,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1222 | 1224 | ||
1223 | mce [X86-32] Machine Check Exception | 1225 | mce [X86-32] Machine Check Exception |
1224 | 1226 | ||
1225 | mce=option [X86-64] See Documentation/x86_64/boot-options.txt | 1227 | mce=option [X86-64] See Documentation/x86/x86_64/boot-options.txt |
1226 | 1228 | ||
1227 | md= [HW] RAID subsystems devices and level | 1229 | md= [HW] RAID subsystems devices and level |
1228 | See Documentation/md.txt. | 1230 | See Documentation/md.txt. |
@@ -1470,8 +1472,6 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1470 | Valid arguments: on, off | 1472 | Valid arguments: on, off |
1471 | Default: on | 1473 | Default: on |
1472 | 1474 | ||
1473 | noirqbalance [X86-32,SMP,KNL] Disable kernel irq balancing | ||
1474 | |||
1475 | noirqdebug [X86-32] Disables the code which attempts to detect and | 1475 | noirqdebug [X86-32] Disables the code which attempts to detect and |
1476 | disable unhandled interrupt sources. | 1476 | disable unhandled interrupt sources. |
1477 | 1477 | ||
@@ -1728,7 +1728,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1728 | See Documentation/paride.txt. | 1728 | See Documentation/paride.txt. |
1729 | 1729 | ||
1730 | pirq= [SMP,APIC] Manual mp-table setup | 1730 | pirq= [SMP,APIC] Manual mp-table setup |
1731 | See Documentation/i386/IO-APIC.txt. | 1731 | See Documentation/x86/i386/IO-APIC.txt. |
1732 | 1732 | ||
1733 | plip= [PPT,NET] Parallel port network link | 1733 | plip= [PPT,NET] Parallel port network link |
1734 | Format: { parport<nr> | timid | 0 } | 1734 | Format: { parport<nr> | timid | 0 } |
@@ -2343,7 +2343,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
2343 | See Documentation/fb/modedb.txt. | 2343 | See Documentation/fb/modedb.txt. |
2344 | 2344 | ||
2345 | vga= [BOOT,X86-32] Select a particular video mode | 2345 | vga= [BOOT,X86-32] Select a particular video mode |
2346 | See Documentation/i386/boot.txt and | 2346 | See Documentation/x86/i386/boot.txt and |
2347 | Documentation/svga.txt. | 2347 | Documentation/svga.txt. |
2348 | Use vga=ask for menu. | 2348 | Use vga=ask for menu. |
2349 | This is actually a boot loader parameter; the value is | 2349 | This is actually a boot loader parameter; the value is |
diff --git a/Documentation/lguest/Makefile b/Documentation/lguest/Makefile index bac037eb1cda..725eef81cd48 100644 --- a/Documentation/lguest/Makefile +++ b/Documentation/lguest/Makefile | |||
@@ -1,5 +1,5 @@ | |||
1 | # This creates the demonstration utility "lguest" which runs a Linux guest. | 1 | # This creates the demonstration utility "lguest" which runs a Linux guest. |
2 | CFLAGS:=-Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include | 2 | CFLAGS:=-Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include |
3 | LDLIBS:=-lz | 3 | LDLIBS:=-lz |
4 | 4 | ||
5 | all: lguest | 5 | all: lguest |
diff --git a/Documentation/lguest/lguest.c b/Documentation/lguest/lguest.c index 7228369d1014..804520633fcf 100644 --- a/Documentation/lguest/lguest.c +++ b/Documentation/lguest/lguest.c | |||
@@ -44,7 +44,7 @@ | |||
44 | #include "linux/virtio_console.h" | 44 | #include "linux/virtio_console.h" |
45 | #include "linux/virtio_rng.h" | 45 | #include "linux/virtio_rng.h" |
46 | #include "linux/virtio_ring.h" | 46 | #include "linux/virtio_ring.h" |
47 | #include "asm-x86/bootparam.h" | 47 | #include "asm/bootparam.h" |
48 | /*L:110 We can ignore the 39 include files we need for this program, but I do | 48 | /*L:110 We can ignore the 39 include files we need for this program, but I do |
49 | * want to draw attention to the use of kernel-style types. | 49 | * want to draw attention to the use of kernel-style types. |
50 | * | 50 | * |
@@ -402,7 +402,7 @@ static unsigned long load_bzimage(int fd) | |||
402 | void *p = from_guest_phys(0x100000); | 402 | void *p = from_guest_phys(0x100000); |
403 | 403 | ||
404 | /* Go back to the start of the file and read the header. It should be | 404 | /* Go back to the start of the file and read the header. It should be |
405 | * a Linux boot header (see Documentation/i386/boot.txt) */ | 405 | * a Linux boot header (see Documentation/x86/i386/boot.txt) */ |
406 | lseek(fd, 0, SEEK_SET); | 406 | lseek(fd, 0, SEEK_SET); |
407 | read(fd, &boot, sizeof(boot)); | 407 | read(fd, &boot, sizeof(boot)); |
408 | 408 | ||
diff --git a/Documentation/networking/.gitignore b/Documentation/networking/.gitignore new file mode 100644 index 000000000000..286a5680f490 --- /dev/null +++ b/Documentation/networking/.gitignore | |||
@@ -0,0 +1 @@ | |||
ifenslave | |||
diff --git a/Documentation/networking/dmfe.txt b/Documentation/networking/dmfe.txt index b1b7499dd9d3..8006c227fda2 100644 --- a/Documentation/networking/dmfe.txt +++ b/Documentation/networking/dmfe.txt | |||
@@ -60,6 +60,6 @@ Tobias Ringstrom <tori@unhappy.mine.nu> : Current Maintainer | |||
60 | Contributors: | 60 | Contributors: |
61 | 61 | ||
62 | Marcelo Tosatti <marcelo@conectiva.com.br> | 62 | Marcelo Tosatti <marcelo@conectiva.com.br> |
63 | Alan Cox <alan@redhat.com> | 63 | Alan Cox <alan@lxorguk.ukuu.org.uk> |
64 | Jeff Garzik <jgarzik@pobox.com> | 64 | Jeff Garzik <jgarzik@pobox.com> |
65 | Vojtech Pavlik <vojtech@suse.cz> | 65 | Vojtech Pavlik <vojtech@suse.cz> |
diff --git a/Documentation/pcmcia/.gitignore b/Documentation/pcmcia/.gitignore new file mode 100644 index 000000000000..53d081336757 --- /dev/null +++ b/Documentation/pcmcia/.gitignore | |||
@@ -0,0 +1 @@ | |||
crc32hash | |||
diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt index 02ea9a971b8e..0ab0230cbcb0 100644 --- a/Documentation/powerpc/booting-without-of.txt +++ b/Documentation/powerpc/booting-without-of.txt | |||
@@ -41,25 +41,14 @@ Table of Contents | |||
41 | VI - System-on-a-chip devices and nodes | 41 | VI - System-on-a-chip devices and nodes |
42 | 1) Defining child nodes of an SOC | 42 | 1) Defining child nodes of an SOC |
43 | 2) Representing devices without a current OF specification | 43 | 2) Representing devices without a current OF specification |
44 | a) MDIO IO device | 44 | a) PHY nodes |
45 | b) Gianfar-compatible ethernet nodes | 45 | b) Interrupt controllers |
46 | c) PHY nodes | 46 | c) CFI or JEDEC memory-mapped NOR flash |
47 | d) Interrupt controllers | 47 | d) 4xx/Axon EMAC ethernet nodes |
48 | e) I2C | 48 | e) Xilinx IP cores |
49 | f) Freescale SOC USB controllers | 49 | f) USB EHCI controllers |
50 | g) Freescale SOC SEC Security Engines | 50 | g) MDIO on GPIOs |
51 | h) Board Control and Status (BCSR) | 51 | h) SPI busses |
52 | i) Freescale QUICC Engine module (QE) | ||
53 | j) CFI or JEDEC memory-mapped NOR flash | ||
54 | k) Global Utilities Block | ||
55 | l) Freescale Communications Processor Module | ||
56 | m) Chipselect/Local Bus | ||
57 | n) 4xx/Axon EMAC ethernet nodes | ||
58 | o) Xilinx IP cores | ||
59 | p) Freescale Synchronous Serial Interface | ||
60 | q) USB EHCI controllers | ||
61 | r) MDIO on GPIOs | ||
62 | s) SPI busses | ||
63 | 52 | ||
64 | VII - Marvell Discovery mv64[345]6x System Controller chips | 53 | VII - Marvell Discovery mv64[345]6x System Controller chips |
65 | 1) The /system-controller node | 54 | 1) The /system-controller node |
@@ -1830,41 +1819,7 @@ platforms are moved over to use the flattened-device-tree model. | |||
1830 | big-endian; | 1819 | big-endian; |
1831 | }; | 1820 | }; |
1832 | 1821 | ||
1833 | r) Freescale Display Interface Unit | 1822 | g) MDIO on GPIOs |
1834 | |||
1835 | The Freescale DIU is a LCD controller, with proper hardware, it can also | ||
1836 | drive DVI monitors. | ||
1837 | |||
1838 | Required properties: | ||
1839 | - compatible : should be "fsl-diu". | ||
1840 | - reg : should contain at least address and length of the DIU register | ||
1841 | set. | ||
1842 | - Interrupts : one DIU interrupt should be describe here. | ||
1843 | |||
1844 | Example (MPC8610HPCD) | ||
1845 | display@2c000 { | ||
1846 | compatible = "fsl,diu"; | ||
1847 | reg = <0x2c000 100>; | ||
1848 | interrupts = <72 2>; | ||
1849 | interrupt-parent = <&mpic>; | ||
1850 | }; | ||
1851 | |||
1852 | s) Freescale on board FPGA | ||
1853 | |||
1854 | This is the memory-mapped registers for on board FPGA. | ||
1855 | |||
1856 | Required properities: | ||
1857 | - compatible : should be "fsl,fpga-pixis". | ||
1858 | - reg : should contain the address and the lenght of the FPPGA register | ||
1859 | set. | ||
1860 | |||
1861 | Example (MPC8610HPCD) | ||
1862 | board-control@e8000000 { | ||
1863 | compatible = "fsl,fpga-pixis"; | ||
1864 | reg = <0xe8000000 32>; | ||
1865 | }; | ||
1866 | |||
1867 | r) MDIO on GPIOs | ||
1868 | 1823 | ||
1869 | Currently defined compatibles: | 1824 | Currently defined compatibles: |
1870 | - virtual,gpio-mdio | 1825 | - virtual,gpio-mdio |
@@ -1884,7 +1839,7 @@ platforms are moved over to use the flattened-device-tree model. | |||
1884 | &qe_pio_c 6>; | 1839 | &qe_pio_c 6>; |
1885 | }; | 1840 | }; |
1886 | 1841 | ||
1887 | s) SPI (Serial Peripheral Interface) busses | 1842 | h) SPI (Serial Peripheral Interface) busses |
1888 | 1843 | ||
1889 | SPI busses can be described with a node for the SPI master device | 1844 | SPI busses can be described with a node for the SPI master device |
1890 | and a set of child nodes for each SPI slave on the bus. For this | 1845 | and a set of child nodes for each SPI slave on the bus. For this |
diff --git a/Documentation/scheduler/00-INDEX b/Documentation/scheduler/00-INDEX index fc234d093fbf..aabcc3a089ba 100644 --- a/Documentation/scheduler/00-INDEX +++ b/Documentation/scheduler/00-INDEX | |||
@@ -4,8 +4,6 @@ sched-arch.txt | |||
4 | - CPU Scheduler implementation hints for architecture specific code. | 4 | - CPU Scheduler implementation hints for architecture specific code. |
5 | sched-coding.txt | 5 | sched-coding.txt |
6 | - reference for various scheduler-related methods in the O(1) scheduler. | 6 | - reference for various scheduler-related methods in the O(1) scheduler. |
7 | sched-design.txt | ||
8 | - goals, design and implementation of the Linux O(1) scheduler. | ||
9 | sched-design-CFS.txt | 7 | sched-design-CFS.txt |
10 | - goals, design and implementation of the Complete Fair Scheduler. | 8 | - goals, design and implementation of the Complete Fair Scheduler. |
11 | sched-domains.txt | 9 | sched-domains.txt |
diff --git a/Documentation/scheduler/sched-design-CFS.txt b/Documentation/scheduler/sched-design-CFS.txt index 9d8eb553884c..eb471c7a905e 100644 --- a/Documentation/scheduler/sched-design-CFS.txt +++ b/Documentation/scheduler/sched-design-CFS.txt | |||
@@ -92,7 +92,7 @@ other HZ detail. Thus the CFS scheduler has no notion of "timeslices" in the | |||
92 | way the previous scheduler had, and has no heuristics whatsoever. There is | 92 | way the previous scheduler had, and has no heuristics whatsoever. There is |
93 | only one central tunable (you have to switch on CONFIG_SCHED_DEBUG): | 93 | only one central tunable (you have to switch on CONFIG_SCHED_DEBUG): |
94 | 94 | ||
95 | /proc/sys/kernel/sched_granularity_ns | 95 | /proc/sys/kernel/sched_min_granularity_ns |
96 | 96 | ||
97 | which can be used to tune the scheduler from "desktop" (i.e., low latencies) to | 97 | which can be used to tune the scheduler from "desktop" (i.e., low latencies) to |
98 | "server" (i.e., good batching) workloads. It defaults to a setting suitable | 98 | "server" (i.e., good batching) workloads. It defaults to a setting suitable |
diff --git a/Documentation/scsi/aacraid.txt b/Documentation/scsi/aacraid.txt index 709ca991a451..ddace3afc83b 100644 --- a/Documentation/scsi/aacraid.txt +++ b/Documentation/scsi/aacraid.txt | |||
@@ -128,7 +128,7 @@ Supported Cards/Chipsets | |||
128 | 128 | ||
129 | People | 129 | People |
130 | ------------------------- | 130 | ------------------------- |
131 | Alan Cox <alan@redhat.com> | 131 | Alan Cox <alan@lxorguk.ukuu.org.uk> |
132 | Christoph Hellwig <hch@infradead.org> (updates for new-style PCI probing and SCSI host registration, | 132 | Christoph Hellwig <hch@infradead.org> (updates for new-style PCI probing and SCSI host registration, |
133 | small cleanups/fixes) | 133 | small cleanups/fixes) |
134 | Matt Domsch <matt_domsch@dell.com> (revision ioctl, adapter messages) | 134 | Matt Domsch <matt_domsch@dell.com> (revision ioctl, adapter messages) |
diff --git a/Documentation/sh/new-machine.txt b/Documentation/sh/new-machine.txt index 5482bf5d005b..f0354164cb0e 100644 --- a/Documentation/sh/new-machine.txt +++ b/Documentation/sh/new-machine.txt | |||
@@ -47,9 +47,7 @@ Next, for companion chips: | |||
47 | `-- sh | 47 | `-- sh |
48 | `-- cchips | 48 | `-- cchips |
49 | `-- hd6446x | 49 | `-- hd6446x |
50 | |-- hd64461 | 50 | `-- hd64461 |
51 | | `-- cchip-specific files | ||
52 | `-- hd64465 | ||
53 | `-- cchip-specific files | 51 | `-- cchip-specific files |
54 | 52 | ||
55 | ... and so on. Headers for the companion chips are treated the same way as | 53 | ... and so on. Headers for the companion chips are treated the same way as |
diff --git a/Documentation/spi/.gitignore b/Documentation/spi/.gitignore new file mode 100644 index 000000000000..4280576397e8 --- /dev/null +++ b/Documentation/spi/.gitignore | |||
@@ -0,0 +1,2 @@ | |||
1 | spidev_fdx | ||
2 | spidev_test | ||
diff --git a/Documentation/stable_kernel_rules.txt b/Documentation/stable_kernel_rules.txt index 4cfc78835bc1..a452227361b1 100644 --- a/Documentation/stable_kernel_rules.txt +++ b/Documentation/stable_kernel_rules.txt | |||
@@ -12,6 +12,7 @@ Rules on what kind of patches are accepted, and which ones are not, into the | |||
12 | marked CONFIG_BROKEN), an oops, a hang, data corruption, a real | 12 | marked CONFIG_BROKEN), an oops, a hang, data corruption, a real |
13 | security issue, or some "oh, that's not good" issue. In short, something | 13 | security issue, or some "oh, that's not good" issue. In short, something |
14 | critical. | 14 | critical. |
15 | - New device IDs and quirks are also accepted. | ||
15 | - No "theoretical race condition" issues, unless an explanation of how the | 16 | - No "theoretical race condition" issues, unless an explanation of how the |
16 | race can be exploited is also provided. | 17 | race can be exploited is also provided. |
17 | - It cannot contain any "trivial" fixes in it (spelling changes, | 18 | - It cannot contain any "trivial" fixes in it (spelling changes, |
diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt index bde799e06598..a4ccdd1981cf 100644 --- a/Documentation/sysctl/kernel.txt +++ b/Documentation/sysctl/kernel.txt | |||
@@ -363,11 +363,21 @@ tainted: | |||
363 | Non-zero if the kernel has been tainted. Numeric values, which | 363 | Non-zero if the kernel has been tainted. Numeric values, which |
364 | can be ORed together: | 364 | can be ORed together: |
365 | 365 | ||
366 | 1 - A module with a non-GPL license has been loaded, this | 366 | 1 - A module with a non-GPL license has been loaded, this |
367 | includes modules with no license. | 367 | includes modules with no license. |
368 | Set by modutils >= 2.4.9 and module-init-tools. | 368 | Set by modutils >= 2.4.9 and module-init-tools. |
369 | 2 - A module was force loaded by insmod -f. | 369 | 2 - A module was force loaded by insmod -f. |
370 | Set by modutils >= 2.4.9 and module-init-tools. | 370 | Set by modutils >= 2.4.9 and module-init-tools. |
371 | 4 - Unsafe SMP processors: SMP with CPUs not designed for SMP. | 371 | 4 - Unsafe SMP processors: SMP with CPUs not designed for SMP. |
372 | 64 - A module from drivers/staging was loaded. | 372 | 8 - A module was forcibly unloaded from the system by rmmod -f. |
373 | 16 - A hardware machine check error occurred on the system. | ||
374 | 32 - A bad page was discovered on the system. | ||
375 | 64 - The user has asked that the system be marked "tainted". This | ||
376 | could be because they are running software that directly modifies | ||
377 | the hardware, or for other reasons. | ||
378 | 128 - The system has died. | ||
379 | 256 - The ACPI DSDT has been overridden with one supplied by the user | ||
380 | instead of using the one provided by the hardware. | ||
381 | 512 - A kernel warning has occurred. | ||
382 | 1024 - A module from drivers/staging was loaded. | ||
373 | 383 | ||
diff --git a/Documentation/video4linux/.gitignore b/Documentation/video4linux/.gitignore new file mode 100644 index 000000000000..952703943e8e --- /dev/null +++ b/Documentation/video4linux/.gitignore | |||
@@ -0,0 +1 @@ | |||
v4lgrab | |||
diff --git a/Documentation/video4linux/README.cx88 b/Documentation/video4linux/README.cx88 index 06a33a4f52fd..166d5960b1a9 100644 --- a/Documentation/video4linux/README.cx88 +++ b/Documentation/video4linux/README.cx88 | |||
@@ -27,8 +27,8 @@ audio | |||
27 | sound card) should be possible, but there is no code yet ... | 27 | sound card) should be possible, but there is no code yet ... |
28 | 28 | ||
29 | vbi | 29 | vbi |
30 | - some code present. Doesn't crash any more, but also doesn't | 30 | - Code present. Works for NTSC closed caption. PAL and other |
31 | work yet ... | 31 | TV norms may or may not work. |
32 | 32 | ||
33 | 33 | ||
34 | how to add support for new cards | 34 | how to add support for new cards |
diff --git a/Documentation/video4linux/bttv/CONTRIBUTORS b/Documentation/video4linux/bttv/CONTRIBUTORS index 8aad6dd93d6b..eb41b2650860 100644 --- a/Documentation/video4linux/bttv/CONTRIBUTORS +++ b/Documentation/video4linux/bttv/CONTRIBUTORS | |||
@@ -3,7 +3,7 @@ Contributors to bttv: | |||
3 | Michael Chu <mmchu@pobox.com> | 3 | Michael Chu <mmchu@pobox.com> |
4 | AverMedia fix and more flexible card recognition | 4 | AverMedia fix and more flexible card recognition |
5 | 5 | ||
6 | Alan Cox <alan@redhat.com> | 6 | Alan Cox <alan@lxorguk.ukuu.org.uk> |
7 | Video4Linux interface and 2.1.x kernel adaptation | 7 | Video4Linux interface and 2.1.x kernel adaptation |
8 | 8 | ||
9 | Chris Kleitsch | 9 | Chris Kleitsch |
diff --git a/Documentation/video4linux/si470x.txt b/Documentation/video4linux/si470x.txt new file mode 100644 index 000000000000..11c5fd22a332 --- /dev/null +++ b/Documentation/video4linux/si470x.txt | |||
@@ -0,0 +1,118 @@ | |||
1 | Driver for USB radios for the Silicon Labs Si470x FM Radio Receivers | ||
2 | |||
3 | Copyright (c) 2008 Tobias Lorenz <tobias.lorenz@gmx.net> | ||
4 | |||
5 | |||
6 | Information from Silicon Labs | ||
7 | ============================= | ||
8 | Silicon Laboratories is the manufacturer of the radio ICs, that nowadays are the | ||
9 | most often used radio receivers in cell phones. Usually they are connected with | ||
10 | I2C. But SiLabs also provides a reference design, which integrates this IC, | ||
11 | together with a small microcontroller C8051F321, to form a USB radio. | ||
12 | Part of this reference design is also a radio application in binary and source | ||
13 | code. The software also contains an automatic firmware upgrade to the most | ||
14 | current version. Information on these can be downloaded here: | ||
15 | http://www.silabs.com/usbradio | ||
16 | |||
17 | |||
18 | Supported ICs | ||
19 | ============= | ||
20 | The following ICs have a very similar register set, so that they are or will be | ||
21 | supported somewhen by the driver: | ||
22 | - Si4700: FM radio receiver | ||
23 | - Si4701: FM radio receiver, RDS Support | ||
24 | - Si4702: FM radio receiver | ||
25 | - Si4703: FM radio receiver, RDS Support | ||
26 | - Si4704: FM radio receiver, no external antenna required | ||
27 | - Si4705: FM radio receiver, no external antenna required, RDS support, Dig I/O | ||
28 | - Si4706: Enhanced FM RDS/TMC radio receiver, no external antenna required, RDS | ||
29 | Support | ||
30 | - Si4707: Dedicated weather band radio receiver with SAME decoder, RDS Support | ||
31 | - Si4708: Smallest FM receivers | ||
32 | - Si4709: Smallest FM receivers, RDS Support | ||
33 | More information on these can be downloaded here: | ||
34 | http://www.silabs.com/products/mcu/Pages/USBFMRadioRD.aspx | ||
35 | |||
36 | |||
37 | Supported USB devices | ||
38 | ===================== | ||
39 | Currently the following USB radios (vendor:product) with the Silicon Labs si470x | ||
40 | chips are known to work: | ||
41 | - 10c4:818a: Silicon Labs USB FM Radio Reference Design | ||
42 | - 06e1:a155: ADS/Tech FM Radio Receiver (formerly Instant FM Music) (RDX-155-EF) | ||
43 | - 1b80:d700: KWorld USB FM Radio SnapMusic Mobile 700 (FM700) | ||
44 | |||
45 | |||
46 | Software | ||
47 | ======== | ||
48 | Testing is usually done with most application under Debian/testing: | ||
49 | - fmtools - Utility for managing FM tuner cards | ||
50 | - gnomeradio - FM-radio tuner for the GNOME desktop | ||
51 | - gradio - GTK FM radio tuner | ||
52 | - kradio - Comfortable Radio Application for KDE | ||
53 | - radio - ncurses-based radio application | ||
54 | |||
55 | There is also a library libv4l, which can be used. It's going to have a function | ||
56 | for frequency seeking, either by using hardware functionality as in radio-si470x | ||
57 | or by implementing a function as we currently have in every of the mentioned | ||
58 | programs. Somewhen the radio programs should make use of libv4l. | ||
59 | |||
60 | For processing RDS information, there is a project ongoing at: | ||
61 | http://rdsd.berlios.de/ | ||
62 | |||
63 | There is currently no project for making TMC sentences human readable. | ||
64 | |||
65 | |||
66 | Audio Listing | ||
67 | ============= | ||
68 | USB Audio is provided by the ALSA snd_usb_audio module. It is recommended to | ||
69 | also select SND_USB_AUDIO, as this is required to get sound from the radio. For | ||
70 | listing you have to redirect the sound, for example using one of the following | ||
71 | commands. | ||
72 | |||
73 | If you just want to test audio (very poor quality): | ||
74 | cat /dev/dsp1 > /dev/dsp | ||
75 | |||
76 | If you use OSS try: | ||
77 | sox -2 --endian little -r 96000 -t oss /dev/dsp1 -t oss /dev/dsp | ||
78 | |||
79 | If you use arts try: | ||
80 | arecord -D hw:1,0 -r96000 -c2 -f S16_LE | artsdsp aplay -B - | ||
81 | |||
82 | |||
83 | Module Parameters | ||
84 | ================= | ||
85 | After loading the module, you still have access to some of them in the sysfs | ||
86 | mount under /sys/module/radio_si470x/parameters. The contents of read-only files | ||
87 | (0444) are not updated, even if space, band and de are changed using private | ||
88 | video controls. The others are runtime changeable. | ||
89 | |||
90 | |||
91 | Errors | ||
92 | ====== | ||
93 | Increase tune_timeout, if you often get -EIO errors. | ||
94 | |||
95 | When timed out or band limit is reached, hw_freq_seek returns -EAGAIN. | ||
96 | |||
97 | If you get any errors from snd_usb_audio, please report them to the ALSA people. | ||
98 | |||
99 | |||
100 | Open Issues | ||
101 | =========== | ||
102 | V4L minor device allocation and parameter setting is not perfect. A solution is | ||
103 | currently under discussion. | ||
104 | |||
105 | There is an USB interface for downloading/uploading new firmware images. Support | ||
106 | for it can be implemented using the request_firmware interface. | ||
107 | |||
108 | There is a RDS interrupt mode. The driver is already using the same interface | ||
109 | for polling RDS information, but is currently not using the interrupt mode. | ||
110 | |||
111 | There is a LED interface, which can be used to override the LED control | ||
112 | programmed in the firmware. This can be made available using the LED support | ||
113 | functions in the kernel. | ||
114 | |||
115 | |||
116 | Other useful information and links | ||
117 | ================================== | ||
118 | http://www.silabs.com/usbradio | ||
diff --git a/Documentation/vm/.gitignore b/Documentation/vm/.gitignore new file mode 100644 index 000000000000..33e8a023df02 --- /dev/null +++ b/Documentation/vm/.gitignore | |||
@@ -0,0 +1 @@ | |||
slabinfo | |||
diff --git a/Documentation/watchdog/src/.gitignore b/Documentation/watchdog/src/.gitignore new file mode 100644 index 000000000000..ac90997dba93 --- /dev/null +++ b/Documentation/watchdog/src/.gitignore | |||
@@ -0,0 +1,2 @@ | |||
1 | watchdog-simple | ||
2 | watchdog-test | ||
diff --git a/Documentation/x86/x86_64/boot-options.txt b/Documentation/x86/x86_64/boot-options.txt index 72ffb5373ec7..f6d561a1a9b2 100644 --- a/Documentation/x86/x86_64/boot-options.txt +++ b/Documentation/x86/x86_64/boot-options.txt | |||
@@ -35,7 +35,7 @@ APICs | |||
35 | 35 | ||
36 | nolapic Don't use the local APIC (alias for i386 compatibility) | 36 | nolapic Don't use the local APIC (alias for i386 compatibility) |
37 | 37 | ||
38 | pirq=... See Documentation/i386/IO-APIC.txt | 38 | pirq=... See Documentation/x86/i386/IO-APIC.txt |
39 | 39 | ||
40 | noapictimer Don't set up the APIC timer | 40 | noapictimer Don't set up the APIC timer |
41 | 41 | ||
@@ -139,7 +139,7 @@ Non Executable Mappings | |||
139 | SMP | 139 | SMP |
140 | 140 | ||
141 | additional_cpus=NUM Allow NUM more CPUs for hotplug | 141 | additional_cpus=NUM Allow NUM more CPUs for hotplug |
142 | (defaults are specified by the BIOS, see Documentation/x86_64/cpu-hotplug-spec) | 142 | (defaults are specified by the BIOS, see Documentation/x86/x86_64/cpu-hotplug-spec) |
143 | 143 | ||
144 | NUMA | 144 | NUMA |
145 | 145 | ||
diff --git a/Documentation/x86/x86_64/fake-numa-for-cpusets b/Documentation/x86/x86_64/fake-numa-for-cpusets index d1a985c5b00a..33bb56655991 100644 --- a/Documentation/x86/x86_64/fake-numa-for-cpusets +++ b/Documentation/x86/x86_64/fake-numa-for-cpusets | |||
@@ -10,7 +10,7 @@ amount of system memory that are available to a certain class of tasks. | |||
10 | For more information on the features of cpusets, see Documentation/cpusets.txt. | 10 | For more information on the features of cpusets, see Documentation/cpusets.txt. |
11 | There are a number of different configurations you can use for your needs. For | 11 | There are a number of different configurations you can use for your needs. For |
12 | more information on the numa=fake command line option and its various ways of | 12 | more information on the numa=fake command line option and its various ways of |
13 | configuring fake nodes, see Documentation/x86_64/boot-options.txt. | 13 | configuring fake nodes, see Documentation/x86/x86_64/boot-options.txt. |
14 | 14 | ||
15 | For the purposes of this introduction, we'll assume a very primitive NUMA | 15 | For the purposes of this introduction, we'll assume a very primitive NUMA |
16 | emulation setup of "numa=fake=4*512,". This will split our system memory into | 16 | emulation setup of "numa=fake=4*512,". This will split our system memory into |