diff options
Diffstat (limited to 'Documentation')
212 files changed, 665 insertions, 2960 deletions
diff --git a/Documentation/DMA-mapping.txt b/Documentation/DMA-mapping.txt index 63392c9132b4..028614cdd062 100644 --- a/Documentation/DMA-mapping.txt +++ b/Documentation/DMA-mapping.txt | |||
@@ -107,7 +107,7 @@ The query is performed via a call to pci_set_dma_mask(): | |||
107 | 107 | ||
108 | int pci_set_dma_mask(struct pci_dev *pdev, u64 device_mask); | 108 | int pci_set_dma_mask(struct pci_dev *pdev, u64 device_mask); |
109 | 109 | ||
110 | The query for consistent allocations is performed via a a call to | 110 | The query for consistent allocations is performed via a call to |
111 | pci_set_consistent_dma_mask(): | 111 | pci_set_consistent_dma_mask(): |
112 | 112 | ||
113 | int pci_set_consistent_dma_mask(struct pci_dev *pdev, u64 device_mask); | 113 | int pci_set_consistent_dma_mask(struct pci_dev *pdev, u64 device_mask); |
@@ -117,7 +117,7 @@ device_mask is a bit mask describing which bits of a PCI address your | |||
117 | device supports. It returns zero if your card can perform DMA | 117 | device supports. It returns zero if your card can perform DMA |
118 | properly on the machine given the address mask you provided. | 118 | properly on the machine given the address mask you provided. |
119 | 119 | ||
120 | If it returns non-zero, your device can not perform DMA properly on | 120 | If it returns non-zero, your device cannot perform DMA properly on |
121 | this platform, and attempting to do so will result in undefined | 121 | this platform, and attempting to do so will result in undefined |
122 | behavior. You must either use a different mask, or not use DMA. | 122 | behavior. You must either use a different mask, or not use DMA. |
123 | 123 | ||
diff --git a/Documentation/DocBook/kernel-api.tmpl b/Documentation/DocBook/kernel-api.tmpl index 49c745720f47..2b5ac604948c 100644 --- a/Documentation/DocBook/kernel-api.tmpl +++ b/Documentation/DocBook/kernel-api.tmpl | |||
@@ -158,6 +158,7 @@ X!Ilib/string.c | |||
158 | !Emm/filemap.c | 158 | !Emm/filemap.c |
159 | !Emm/memory.c | 159 | !Emm/memory.c |
160 | !Emm/vmalloc.c | 160 | !Emm/vmalloc.c |
161 | !Imm/page_alloc.c | ||
161 | !Emm/mempool.c | 162 | !Emm/mempool.c |
162 | !Emm/page-writeback.c | 163 | !Emm/page-writeback.c |
163 | !Emm/truncate.c | 164 | !Emm/truncate.c |
diff --git a/Documentation/DocBook/libata.tmpl b/Documentation/DocBook/libata.tmpl index 065e8dc23e3a..07a635590b36 100644 --- a/Documentation/DocBook/libata.tmpl +++ b/Documentation/DocBook/libata.tmpl | |||
@@ -14,7 +14,7 @@ | |||
14 | </authorgroup> | 14 | </authorgroup> |
15 | 15 | ||
16 | <copyright> | 16 | <copyright> |
17 | <year>2003-2005</year> | 17 | <year>2003-2006</year> |
18 | <holder>Jeff Garzik</holder> | 18 | <holder>Jeff Garzik</holder> |
19 | </copyright> | 19 | </copyright> |
20 | 20 | ||
@@ -1400,7 +1400,7 @@ and other resources, etc. | |||
1400 | <listitem> | 1400 | <listitem> |
1401 | <para> | 1401 | <para> |
1402 | When it's known that HBA is in ready state but ATA/ATAPI | 1402 | When it's known that HBA is in ready state but ATA/ATAPI |
1403 | device in in unknown state, reset only device. | 1403 | device is in unknown state, reset only device. |
1404 | </para> | 1404 | </para> |
1405 | </listitem> | 1405 | </listitem> |
1406 | 1406 | ||
diff --git a/Documentation/DocBook/usb.tmpl b/Documentation/DocBook/usb.tmpl index 3608472d7b74..143e5ff7deb8 100644 --- a/Documentation/DocBook/usb.tmpl +++ b/Documentation/DocBook/usb.tmpl | |||
@@ -314,8 +314,7 @@ | |||
314 | <emphasis>usbdevfs</emphasis> although it wasn't solving what | 314 | <emphasis>usbdevfs</emphasis> although it wasn't solving what |
315 | <emphasis>devfs</emphasis> was. | 315 | <emphasis>devfs</emphasis> was. |
316 | Every USB device will appear in usbfs, regardless of whether or | 316 | Every USB device will appear in usbfs, regardless of whether or |
317 | not it has a kernel driver; but only devices with kernel drivers | 317 | not it has a kernel driver. |
318 | show up in devfs. | ||
319 | </para> | 318 | </para> |
320 | 319 | ||
321 | <sect1> | 320 | <sect1> |
@@ -741,7 +740,7 @@ usbdev_ioctl (int fd, int ifno, unsigned request, void *param) | |||
741 | <title>Synchronous I/O Support</title> | 740 | <title>Synchronous I/O Support</title> |
742 | 741 | ||
743 | <para>Synchronous requests involve the kernel blocking | 742 | <para>Synchronous requests involve the kernel blocking |
744 | until until the user mode request completes, either by | 743 | until the user mode request completes, either by |
745 | finishing successfully or by reporting an error. | 744 | finishing successfully or by reporting an error. |
746 | In most cases this is the simplest way to use usbfs, | 745 | In most cases this is the simplest way to use usbfs, |
747 | although as noted above it does prevent performing I/O | 746 | although as noted above it does prevent performing I/O |
diff --git a/Documentation/DocBook/writing_usb_driver.tmpl b/Documentation/DocBook/writing_usb_driver.tmpl index 008a341234d0..07cd34c1940b 100644 --- a/Documentation/DocBook/writing_usb_driver.tmpl +++ b/Documentation/DocBook/writing_usb_driver.tmpl | |||
@@ -224,13 +224,8 @@ static int skel_probe(struct usb_interface *interface, | |||
224 | Conversely, when the device is removed from the USB bus, the disconnect | 224 | Conversely, when the device is removed from the USB bus, the disconnect |
225 | function is called with the device pointer. The driver needs to clean any | 225 | function is called with the device pointer. The driver needs to clean any |
226 | private data that has been allocated at this time and to shut down any | 226 | private data that has been allocated at this time and to shut down any |
227 | pending urbs that are in the USB system. The driver also unregisters | 227 | pending urbs that are in the USB system. |
228 | itself from the devfs subsystem with the call: | ||
229 | </para> | 228 | </para> |
230 | <programlisting> | ||
231 | /* remove our devfs node */ | ||
232 | devfs_unregister(skel->devfs); | ||
233 | </programlisting> | ||
234 | <para> | 229 | <para> |
235 | Now that the device is plugged into the system and the driver is bound to | 230 | Now that the device is plugged into the system and the driver is bound to |
236 | the device, any of the functions in the file_operations structure that | 231 | the device, any of the functions in the file_operations structure that |
diff --git a/Documentation/IPMI.txt b/Documentation/IPMI.txt index 9f08d73d90bf..0e3924ecd76b 100644 --- a/Documentation/IPMI.txt +++ b/Documentation/IPMI.txt | |||
@@ -468,12 +468,12 @@ BMCs specified on the smb_addr line will be detected. | |||
468 | Setting smb_dbg_probe to 1 will enable debugging of the probing and | 468 | Setting smb_dbg_probe to 1 will enable debugging of the probing and |
469 | detection process for BMCs on the SMBusses. | 469 | detection process for BMCs on the SMBusses. |
470 | 470 | ||
471 | Discovering the IPMI compilant BMC on the SMBus can cause devices | 471 | Discovering the IPMI compliant BMC on the SMBus can cause devices |
472 | on the I2C bus to fail. The SMBus driver writes a "Get Device ID" IPMI | 472 | on the I2C bus to fail. The SMBus driver writes a "Get Device ID" IPMI |
473 | message as a block write to the I2C bus and waits for a response. | 473 | message as a block write to the I2C bus and waits for a response. |
474 | This action can be detrimental to some I2C devices. It is highly recommended | 474 | This action can be detrimental to some I2C devices. It is highly recommended |
475 | that the known I2c address be given to the SMBus driver in the smb_addr | 475 | that the known I2c address be given to the SMBus driver in the smb_addr |
476 | parameter. The default adrress range will not be used when a smb_addr | 476 | parameter. The default address range will not be used when a smb_addr |
477 | parameter is provided. | 477 | parameter is provided. |
478 | 478 | ||
479 | When compiled into the kernel, the addresses can be specified on the | 479 | When compiled into the kernel, the addresses can be specified on the |
diff --git a/Documentation/MSI-HOWTO.txt b/Documentation/MSI-HOWTO.txt index 3ec6c720b016..c70306abb7b2 100644 --- a/Documentation/MSI-HOWTO.txt +++ b/Documentation/MSI-HOWTO.txt | |||
@@ -267,7 +267,7 @@ y = The number of MSI capable devices populated in the system. | |||
267 | vector reserved to avoid the case where some MSI-X capable | 267 | vector reserved to avoid the case where some MSI-X capable |
268 | drivers may attempt to claim all available vector resources. | 268 | drivers may attempt to claim all available vector resources. |
269 | 269 | ||
270 | z = The number of MSI-X capable devices pupulated in the system. | 270 | z = The number of MSI-X capable devices populated in the system. |
271 | This policy ensures that maximum (x - y) is distributed | 271 | This policy ensures that maximum (x - y) is distributed |
272 | evenly among MSI-X capable devices. | 272 | evenly among MSI-X capable devices. |
273 | 273 | ||
diff --git a/Documentation/RCU/checklist.txt b/Documentation/RCU/checklist.txt index 1d50cf0c905e..f4dffadbcb00 100644 --- a/Documentation/RCU/checklist.txt +++ b/Documentation/RCU/checklist.txt | |||
@@ -221,3 +221,41 @@ over a rather long period of time, but improvements are always welcome! | |||
221 | disable irq on a given acquisition of that lock will result in | 221 | disable irq on a given acquisition of that lock will result in |
222 | deadlock as soon as the RCU callback happens to interrupt that | 222 | deadlock as soon as the RCU callback happens to interrupt that |
223 | acquisition's critical section. | 223 | acquisition's critical section. |
224 | |||
225 | 13. SRCU (srcu_read_lock(), srcu_read_unlock(), and synchronize_srcu()) | ||
226 | may only be invoked from process context. Unlike other forms of | ||
227 | RCU, it -is- permissible to block in an SRCU read-side critical | ||
228 | section (demarked by srcu_read_lock() and srcu_read_unlock()), | ||
229 | hence the "SRCU": "sleepable RCU". Please note that if you | ||
230 | don't need to sleep in read-side critical sections, you should | ||
231 | be using RCU rather than SRCU, because RCU is almost always | ||
232 | faster and easier to use than is SRCU. | ||
233 | |||
234 | Also unlike other forms of RCU, explicit initialization | ||
235 | and cleanup is required via init_srcu_struct() and | ||
236 | cleanup_srcu_struct(). These are passed a "struct srcu_struct" | ||
237 | that defines the scope of a given SRCU domain. Once initialized, | ||
238 | the srcu_struct is passed to srcu_read_lock(), srcu_read_unlock() | ||
239 | and synchronize_srcu(). A given synchronize_srcu() waits only | ||
240 | for SRCU read-side critical sections governed by srcu_read_lock() | ||
241 | and srcu_read_unlock() calls that have been passd the same | ||
242 | srcu_struct. This property is what makes sleeping read-side | ||
243 | critical sections tolerable -- a given subsystem delays only | ||
244 | its own updates, not those of other subsystems using SRCU. | ||
245 | Therefore, SRCU is less prone to OOM the system than RCU would | ||
246 | be if RCU's read-side critical sections were permitted to | ||
247 | sleep. | ||
248 | |||
249 | The ability to sleep in read-side critical sections does not | ||
250 | come for free. First, corresponding srcu_read_lock() and | ||
251 | srcu_read_unlock() calls must be passed the same srcu_struct. | ||
252 | Second, grace-period-detection overhead is amortized only | ||
253 | over those updates sharing a given srcu_struct, rather than | ||
254 | being globally amortized as they are for other forms of RCU. | ||
255 | Therefore, SRCU should be used in preference to rw_semaphore | ||
256 | only in extremely read-intensive situations, or in situations | ||
257 | requiring SRCU's read-side deadlock immunity or low read-side | ||
258 | realtime latency. | ||
259 | |||
260 | Note that, rcu_assign_pointer() and rcu_dereference() relate to | ||
261 | SRCU just as they do to other forms of RCU. | ||
diff --git a/Documentation/RCU/rcu.txt b/Documentation/RCU/rcu.txt index 02e27bf1d365..f84407cba816 100644 --- a/Documentation/RCU/rcu.txt +++ b/Documentation/RCU/rcu.txt | |||
@@ -45,7 +45,8 @@ o How can I see where RCU is currently used in the Linux kernel? | |||
45 | 45 | ||
46 | Search for "rcu_read_lock", "rcu_read_unlock", "call_rcu", | 46 | Search for "rcu_read_lock", "rcu_read_unlock", "call_rcu", |
47 | "rcu_read_lock_bh", "rcu_read_unlock_bh", "call_rcu_bh", | 47 | "rcu_read_lock_bh", "rcu_read_unlock_bh", "call_rcu_bh", |
48 | "synchronize_rcu", and "synchronize_net". | 48 | "srcu_read_lock", "srcu_read_unlock", "synchronize_rcu", |
49 | "synchronize_net", and "synchronize_srcu". | ||
49 | 50 | ||
50 | o What guidelines should I follow when writing code that uses RCU? | 51 | o What guidelines should I follow when writing code that uses RCU? |
51 | 52 | ||
diff --git a/Documentation/RCU/torture.txt b/Documentation/RCU/torture.txt index a4948591607d..25a3c3f7d378 100644 --- a/Documentation/RCU/torture.txt +++ b/Documentation/RCU/torture.txt | |||
@@ -28,6 +28,15 @@ nreaders This is the number of RCU reading threads supported. | |||
28 | To properly exercise RCU implementations with preemptible | 28 | To properly exercise RCU implementations with preemptible |
29 | read-side critical sections. | 29 | read-side critical sections. |
30 | 30 | ||
31 | nfakewriters This is the number of RCU fake writer threads to run. Fake | ||
32 | writer threads repeatedly use the synchronous "wait for | ||
33 | current readers" function of the interface selected by | ||
34 | torture_type, with a delay between calls to allow for various | ||
35 | different numbers of writers running in parallel. | ||
36 | nfakewriters defaults to 4, which provides enough parallelism | ||
37 | to trigger special cases caused by multiple writers, such as | ||
38 | the synchronize_srcu() early return optimization. | ||
39 | |||
31 | stat_interval The number of seconds between output of torture | 40 | stat_interval The number of seconds between output of torture |
32 | statistics (via printk()). Regardless of the interval, | 41 | statistics (via printk()). Regardless of the interval, |
33 | statistics are printed when the module is unloaded. | 42 | statistics are printed when the module is unloaded. |
@@ -44,9 +53,12 @@ test_no_idle_hz Whether or not to test the ability of RCU to operate in | |||
44 | a kernel that disables the scheduling-clock interrupt to | 53 | a kernel that disables the scheduling-clock interrupt to |
45 | idle CPUs. Boolean parameter, "1" to test, "0" otherwise. | 54 | idle CPUs. Boolean parameter, "1" to test, "0" otherwise. |
46 | 55 | ||
47 | torture_type The type of RCU to test: "rcu" for the rcu_read_lock() | 56 | torture_type The type of RCU to test: "rcu" for the rcu_read_lock() API, |
48 | API, "rcu_bh" for the rcu_read_lock_bh() API, and "srcu" | 57 | "rcu_sync" for rcu_read_lock() with synchronous reclamation, |
49 | for the "srcu_read_lock()" API. | 58 | "rcu_bh" for the rcu_read_lock_bh() API, "rcu_bh_sync" for |
59 | rcu_read_lock_bh() with synchronous reclamation, "srcu" for | ||
60 | the "srcu_read_lock()" API, and "sched" for the use of | ||
61 | preempt_disable() together with synchronize_sched(). | ||
50 | 62 | ||
51 | verbose Enable debug printk()s. Default is disabled. | 63 | verbose Enable debug printk()s. Default is disabled. |
52 | 64 | ||
@@ -118,6 +130,21 @@ o "Free-Block Circulation": Shows the number of torture structures | |||
118 | as it is only incremented if a torture structure's counter | 130 | as it is only incremented if a torture structure's counter |
119 | somehow gets incremented farther than it should. | 131 | somehow gets incremented farther than it should. |
120 | 132 | ||
133 | Different implementations of RCU can provide implementation-specific | ||
134 | additional information. For example, SRCU provides the following: | ||
135 | |||
136 | srcu-torture: rtc: f8cf46a8 ver: 355 tfle: 0 rta: 356 rtaf: 0 rtf: 346 rtmbe: 0 | ||
137 | srcu-torture: Reader Pipe: 559738 939 0 0 0 0 0 0 0 0 0 | ||
138 | srcu-torture: Reader Batch: 560434 243 0 0 0 0 0 0 0 0 | ||
139 | srcu-torture: Free-Block Circulation: 355 354 353 352 351 350 349 348 347 346 0 | ||
140 | srcu-torture: per-CPU(idx=1): 0(0,1) 1(0,1) 2(0,0) 3(0,1) | ||
141 | |||
142 | The first four lines are similar to those for RCU. The last line shows | ||
143 | the per-CPU counter state. The numbers in parentheses are the values | ||
144 | of the "old" and "current" counters for the corresponding CPU. The | ||
145 | "idx" value maps the "old" and "current" values to the underlying array, | ||
146 | and is useful for debugging. | ||
147 | |||
121 | 148 | ||
122 | USAGE | 149 | USAGE |
123 | 150 | ||
diff --git a/Documentation/RCU/whatisRCU.txt b/Documentation/RCU/whatisRCU.txt index 318df44259b3..e0d6d99b8f9b 100644 --- a/Documentation/RCU/whatisRCU.txt +++ b/Documentation/RCU/whatisRCU.txt | |||
@@ -582,7 +582,7 @@ The rcu_read_lock() and rcu_read_unlock() primitive read-acquire | |||
582 | and release a global reader-writer lock. The synchronize_rcu() | 582 | and release a global reader-writer lock. The synchronize_rcu() |
583 | primitive write-acquires this same lock, then immediately releases | 583 | primitive write-acquires this same lock, then immediately releases |
584 | it. This means that once synchronize_rcu() exits, all RCU read-side | 584 | it. This means that once synchronize_rcu() exits, all RCU read-side |
585 | critical sections that were in progress before synchonize_rcu() was | 585 | critical sections that were in progress before synchronize_rcu() was |
586 | called are guaranteed to have completed -- there is no way that | 586 | called are guaranteed to have completed -- there is no way that |
587 | synchronize_rcu() would have been able to write-acquire the lock | 587 | synchronize_rcu() would have been able to write-acquire the lock |
588 | otherwise. | 588 | otherwise. |
@@ -750,7 +750,7 @@ Or, for those who prefer a side-by-side listing: | |||
750 | 750 | ||
751 | Either way, the differences are quite small. Read-side locking moves | 751 | Either way, the differences are quite small. Read-side locking moves |
752 | to rcu_read_lock() and rcu_read_unlock, update-side locking moves from | 752 | to rcu_read_lock() and rcu_read_unlock, update-side locking moves from |
753 | from a reader-writer lock to a simple spinlock, and a synchronize_rcu() | 753 | a reader-writer lock to a simple spinlock, and a synchronize_rcu() |
754 | precedes the kfree(). | 754 | precedes the kfree(). |
755 | 755 | ||
756 | However, there is one potential catch: the read-side and update-side | 756 | However, there is one potential catch: the read-side and update-side |
@@ -778,6 +778,8 @@ Markers for RCU read-side critical sections: | |||
778 | rcu_read_unlock | 778 | rcu_read_unlock |
779 | rcu_read_lock_bh | 779 | rcu_read_lock_bh |
780 | rcu_read_unlock_bh | 780 | rcu_read_unlock_bh |
781 | srcu_read_lock | ||
782 | srcu_read_unlock | ||
781 | 783 | ||
782 | RCU pointer/list traversal: | 784 | RCU pointer/list traversal: |
783 | 785 | ||
@@ -804,6 +806,7 @@ RCU grace period: | |||
804 | synchronize_net | 806 | synchronize_net |
805 | synchronize_sched | 807 | synchronize_sched |
806 | synchronize_rcu | 808 | synchronize_rcu |
809 | synchronize_srcu | ||
807 | call_rcu | 810 | call_rcu |
808 | call_rcu_bh | 811 | call_rcu_bh |
809 | 812 | ||
diff --git a/Documentation/aoe/todo.txt b/Documentation/aoe/todo.txt index 7fee1e1165bc..c09dfad4aed8 100644 --- a/Documentation/aoe/todo.txt +++ b/Documentation/aoe/todo.txt | |||
@@ -7,7 +7,7 @@ not been observed, but it would be nice to eliminate any potential for | |||
7 | deadlock under memory pressure. | 7 | deadlock under memory pressure. |
8 | 8 | ||
9 | Because ATA over Ethernet is not fragmented by the kernel's IP code, | 9 | Because ATA over Ethernet is not fragmented by the kernel's IP code, |
10 | the destructore member of the struct sk_buff is available to the aoe | 10 | the destructor member of the struct sk_buff is available to the aoe |
11 | driver. By using a mempool for allocating all but the first few | 11 | driver. By using a mempool for allocating all but the first few |
12 | sk_buffs, and by registering a destructor, we should be able to | 12 | sk_buffs, and by registering a destructor, we should be able to |
13 | efficiently allocate sk_buffs without introducing any potential for | 13 | efficiently allocate sk_buffs without introducing any potential for |
diff --git a/Documentation/arm/SA1100/serial_UART b/Documentation/arm/SA1100/serial_UART index aea2e91ca0ef..a63966f1d083 100644 --- a/Documentation/arm/SA1100/serial_UART +++ b/Documentation/arm/SA1100/serial_UART | |||
@@ -24,8 +24,8 @@ The SA1100 serial port had its major/minor numbers officially assigned: | |||
24 | > 7 = /dev/cusa2 Callout device for ttySA2 | 24 | > 7 = /dev/cusa2 Callout device for ttySA2 |
25 | > | 25 | > |
26 | 26 | ||
27 | If you're not using devfs, you must create those inodes in /dev | 27 | You must create those inodes in /dev on the root filesystem used |
28 | on the root filesystem used by your SA1100-based device: | 28 | by your SA1100-based device: |
29 | 29 | ||
30 | mknod ttySA0 c 204 5 | 30 | mknod ttySA0 c 204 5 |
31 | mknod ttySA1 c 204 6 | 31 | mknod ttySA1 c 204 6 |
diff --git a/Documentation/arm/Samsung-S3C24XX/EB2410ITX.txt b/Documentation/arm/Samsung-S3C24XX/EB2410ITX.txt index 000e3d7a78b2..26422f0f9080 100644 --- a/Documentation/arm/Samsung-S3C24XX/EB2410ITX.txt +++ b/Documentation/arm/Samsung-S3C24XX/EB2410ITX.txt | |||
@@ -38,7 +38,7 @@ MTD | |||
38 | --- | 38 | --- |
39 | 39 | ||
40 | The NAND and NOR support has been merged from the linux-mtd project. | 40 | The NAND and NOR support has been merged from the linux-mtd project. |
41 | Any prolbems, see http://www.linux-mtd.infradead.org/ for more | 41 | Any problems, see http://www.linux-mtd.infradead.org/ for more |
42 | information or up-to-date versions of linux-mtd. | 42 | information or up-to-date versions of linux-mtd. |
43 | 43 | ||
44 | 44 | ||
diff --git a/Documentation/arm/Samsung-S3C24XX/GPIO.txt b/Documentation/arm/Samsung-S3C24XX/GPIO.txt index 0822764ec270..8caea8c237ee 100644 --- a/Documentation/arm/Samsung-S3C24XX/GPIO.txt +++ b/Documentation/arm/Samsung-S3C24XX/GPIO.txt | |||
@@ -24,7 +24,7 @@ Headers | |||
24 | header include/asm-arm/arch-s3c2410/hardware.h which can be | 24 | header include/asm-arm/arch-s3c2410/hardware.h which can be |
25 | included by #include <asm/arch/hardware.h> | 25 | included by #include <asm/arch/hardware.h> |
26 | 26 | ||
27 | A useful ammount of documentation can be found in the hardware | 27 | A useful amount of documentation can be found in the hardware |
28 | header on how the GPIO functions (and others) work. | 28 | header on how the GPIO functions (and others) work. |
29 | 29 | ||
30 | Whilst a number of these functions do make some checks on what | 30 | Whilst a number of these functions do make some checks on what |
diff --git a/Documentation/arm/Samsung-S3C24XX/Overview.txt b/Documentation/arm/Samsung-S3C24XX/Overview.txt index 3e46d2a31158..dda7ecdde87b 100644 --- a/Documentation/arm/Samsung-S3C24XX/Overview.txt +++ b/Documentation/arm/Samsung-S3C24XX/Overview.txt | |||
@@ -80,7 +80,7 @@ Machines | |||
80 | Adding New Machines | 80 | Adding New Machines |
81 | ------------------- | 81 | ------------------- |
82 | 82 | ||
83 | The archicture has been designed to support as many machines as can | 83 | The architecture has been designed to support as many machines as can |
84 | be configured for it in one kernel build, and any future additions | 84 | be configured for it in one kernel build, and any future additions |
85 | should keep this in mind before altering items outside of their own | 85 | should keep this in mind before altering items outside of their own |
86 | machine files. | 86 | machine files. |
diff --git a/Documentation/arm/Samsung-S3C24XX/S3C2412.txt b/Documentation/arm/Samsung-S3C24XX/S3C2412.txt index cb82a7fc7901..295d971a15ed 100644 --- a/Documentation/arm/Samsung-S3C24XX/S3C2412.txt +++ b/Documentation/arm/Samsung-S3C24XX/S3C2412.txt | |||
@@ -80,7 +80,7 @@ RTC | |||
80 | Watchdog | 80 | Watchdog |
81 | -------- | 81 | -------- |
82 | 82 | ||
83 | The watchdog harware is the same as the S3C2410, and is supported by | 83 | The watchdog hardware is the same as the S3C2410, and is supported by |
84 | the s3c2410_wdt driver. | 84 | the s3c2410_wdt driver. |
85 | 85 | ||
86 | 86 | ||
diff --git a/Documentation/block/as-iosched.txt b/Documentation/block/as-iosched.txt index 6f47332c883d..e2a66f8143c5 100644 --- a/Documentation/block/as-iosched.txt +++ b/Documentation/block/as-iosched.txt | |||
@@ -99,8 +99,8 @@ contrast, many write requests may be dispatched to the disk controller | |||
99 | at a time during a write batch. It is this characteristic that can make | 99 | at a time during a write batch. It is this characteristic that can make |
100 | the anticipatory scheduler perform anomalously with controllers supporting | 100 | the anticipatory scheduler perform anomalously with controllers supporting |
101 | TCQ, or with hardware striped RAID devices. Setting the antic_expire | 101 | TCQ, or with hardware striped RAID devices. Setting the antic_expire |
102 | queue paramter (see below) to zero disables this behavior, and the anticipatory | 102 | queue parameter (see below) to zero disables this behavior, and the |
103 | scheduler behaves essentially like the deadline scheduler. | 103 | anticipatory scheduler behaves essentially like the deadline scheduler. |
104 | 104 | ||
105 | When read anticipation is enabled (antic_expire is not zero), reads | 105 | When read anticipation is enabled (antic_expire is not zero), reads |
106 | are dispatched to the disk controller one at a time. | 106 | are dispatched to the disk controller one at a time. |
diff --git a/Documentation/block/barrier.txt b/Documentation/block/barrier.txt index 03971518b222..a272c3db8094 100644 --- a/Documentation/block/barrier.txt +++ b/Documentation/block/barrier.txt | |||
@@ -25,7 +25,7 @@ of the following three ways. | |||
25 | i. For devices which have queue depth greater than 1 (TCQ devices) and | 25 | i. For devices which have queue depth greater than 1 (TCQ devices) and |
26 | support ordered tags, block layer can just issue the barrier as an | 26 | support ordered tags, block layer can just issue the barrier as an |
27 | ordered request and the lower level driver, controller and drive | 27 | ordered request and the lower level driver, controller and drive |
28 | itself are responsible for making sure that the ordering contraint is | 28 | itself are responsible for making sure that the ordering constraint is |
29 | met. Most modern SCSI controllers/drives should support this. | 29 | met. Most modern SCSI controllers/drives should support this. |
30 | 30 | ||
31 | NOTE: SCSI ordered tag isn't currently used due to limitation in the | 31 | NOTE: SCSI ordered tag isn't currently used due to limitation in the |
@@ -42,7 +42,7 @@ iii. Devices which have queue depth of 1. This is a degenerate case | |||
42 | of ii. Just keeping issue order suffices. Ancient SCSI | 42 | of ii. Just keeping issue order suffices. Ancient SCSI |
43 | controllers/drives and IDE drives are in this category. | 43 | controllers/drives and IDE drives are in this category. |
44 | 44 | ||
45 | 2. Forced flushing to physcial medium | 45 | 2. Forced flushing to physical medium |
46 | 46 | ||
47 | Again, if you're not gonna do synchronization with disk drives (dang, | 47 | Again, if you're not gonna do synchronization with disk drives (dang, |
48 | it sounds even more appealing now!), the reason you use I/O barriers | 48 | it sounds even more appealing now!), the reason you use I/O barriers |
@@ -56,7 +56,7 @@ There are four cases, | |||
56 | i. No write-back cache. Keeping requests ordered is enough. | 56 | i. No write-back cache. Keeping requests ordered is enough. |
57 | 57 | ||
58 | ii. Write-back cache but no flush operation. There's no way to | 58 | ii. Write-back cache but no flush operation. There's no way to |
59 | gurantee physical-medium commit order. This kind of devices can't to | 59 | guarantee physical-medium commit order. This kind of devices can't to |
60 | I/O barriers. | 60 | I/O barriers. |
61 | 61 | ||
62 | iii. Write-back cache and flush operation but no FUA (forced unit | 62 | iii. Write-back cache and flush operation but no FUA (forced unit |
diff --git a/Documentation/block/biodoc.txt b/Documentation/block/biodoc.txt index f989a9e839b4..34bf8f60d8f8 100644 --- a/Documentation/block/biodoc.txt +++ b/Documentation/block/biodoc.txt | |||
@@ -135,7 +135,7 @@ Some new queue property settings: | |||
135 | Sets two variables that limit the size of the request. | 135 | Sets two variables that limit the size of the request. |
136 | 136 | ||
137 | - The request queue's max_sectors, which is a soft size in | 137 | - The request queue's max_sectors, which is a soft size in |
138 | in units of 512 byte sectors, and could be dynamically varied | 138 | units of 512 byte sectors, and could be dynamically varied |
139 | by the core kernel. | 139 | by the core kernel. |
140 | 140 | ||
141 | - The request queue's max_hw_sectors, which is a hard limit | 141 | - The request queue's max_hw_sectors, which is a hard limit |
@@ -783,7 +783,7 @@ all the outstanding requests. There's a third helper to do that: | |||
783 | 783 | ||
784 | blk_queue_invalidate_tags(request_queue_t *q) | 784 | blk_queue_invalidate_tags(request_queue_t *q) |
785 | 785 | ||
786 | Clear the internal block tag queue and readd all the pending requests | 786 | Clear the internal block tag queue and re-add all the pending requests |
787 | to the request queue. The driver will receive them again on the | 787 | to the request queue. The driver will receive them again on the |
788 | next request_fn run, just like it did the first time it encountered | 788 | next request_fn run, just like it did the first time it encountered |
789 | them. | 789 | them. |
@@ -890,7 +890,7 @@ Aside: | |||
890 | 890 | ||
891 | Kvec i/o: | 891 | Kvec i/o: |
892 | 892 | ||
893 | Ben LaHaise's aio code uses a slighly different structure instead | 893 | Ben LaHaise's aio code uses a slightly different structure instead |
894 | of kiobufs, called a kvec_cb. This contains an array of <page, offset, len> | 894 | of kiobufs, called a kvec_cb. This contains an array of <page, offset, len> |
895 | tuples (very much like the networking code), together with a callback function | 895 | tuples (very much like the networking code), together with a callback function |
896 | and data pointer. This is embedded into a brw_cb structure when passed | 896 | and data pointer. This is embedded into a brw_cb structure when passed |
@@ -988,7 +988,7 @@ elevator_exit_fn Allocate and free any elevator specific storage | |||
988 | for a queue. | 988 | for a queue. |
989 | 989 | ||
990 | 4.2 Request flows seen by I/O schedulers | 990 | 4.2 Request flows seen by I/O schedulers |
991 | All requests seens by I/O schedulers strictly follow one of the following three | 991 | All requests seen by I/O schedulers strictly follow one of the following three |
992 | flows. | 992 | flows. |
993 | 993 | ||
994 | set_req_fn -> | 994 | set_req_fn -> |
@@ -1203,6 +1203,6 @@ temporarily map a bio into the virtual address space. | |||
1203 | and Linus' comments - Jan 2001) | 1203 | and Linus' comments - Jan 2001) |
1204 | 9.2 Discussions about kiobuf and bh design on lkml between sct, linus, alan | 1204 | 9.2 Discussions about kiobuf and bh design on lkml between sct, linus, alan |
1205 | et al - Feb-March 2001 (many of the initial thoughts that led to bio were | 1205 | et al - Feb-March 2001 (many of the initial thoughts that led to bio were |
1206 | brought up in this discusion thread) | 1206 | brought up in this discussion thread) |
1207 | 9.3 Discussions on mempool on lkml - Dec 2001. | 1207 | 9.3 Discussions on mempool on lkml - Dec 2001. |
1208 | 1208 | ||
diff --git a/Documentation/block/deadline-iosched.txt b/Documentation/block/deadline-iosched.txt index c918b3a6022d..be08ffd1e9b8 100644 --- a/Documentation/block/deadline-iosched.txt +++ b/Documentation/block/deadline-iosched.txt | |||
@@ -23,11 +23,11 @@ you can do so by typing: | |||
23 | read_expire (in ms) | 23 | read_expire (in ms) |
24 | ----------- | 24 | ----------- |
25 | 25 | ||
26 | The goal of the deadline io scheduler is to attempt to guarentee a start | 26 | The goal of the deadline io scheduler is to attempt to guarantee a start |
27 | service time for a request. As we focus mainly on read latencies, this is | 27 | service time for a request. As we focus mainly on read latencies, this is |
28 | tunable. When a read request first enters the io scheduler, it is assigned | 28 | tunable. When a read request first enters the io scheduler, it is assigned |
29 | a deadline that is the current time + the read_expire value in units of | 29 | a deadline that is the current time + the read_expire value in units of |
30 | miliseconds. | 30 | milliseconds. |
31 | 31 | ||
32 | 32 | ||
33 | write_expire (in ms) | 33 | write_expire (in ms) |
diff --git a/Documentation/cciss.txt b/Documentation/cciss.txt index 9c629ffa0e58..f74affe5c829 100644 --- a/Documentation/cciss.txt +++ b/Documentation/cciss.txt | |||
@@ -80,7 +80,7 @@ the /proc filesystem entry which the "block" side of the driver creates as | |||
80 | the SCSI core may not yet be initialized (because the driver is a block | 80 | the SCSI core may not yet be initialized (because the driver is a block |
81 | driver) and attempting to register it with the SCSI core in such a case | 81 | driver) and attempting to register it with the SCSI core in such a case |
82 | would cause a hang. This is best done via an initialization script | 82 | would cause a hang. This is best done via an initialization script |
83 | (typically in /etc/init.d, but could vary depending on distibution). | 83 | (typically in /etc/init.d, but could vary depending on distribution). |
84 | For example: | 84 | For example: |
85 | 85 | ||
86 | for x in /proc/driver/cciss/cciss[0-9]* | 86 | for x in /proc/driver/cciss/cciss[0-9]* |
@@ -152,7 +152,7 @@ side during the SCSI error recovery process, the cciss driver only | |||
152 | implements the first two of these actions, aborting the command, and | 152 | implements the first two of these actions, aborting the command, and |
153 | resetting the device. Additionally, most tape drives will not oblige | 153 | resetting the device. Additionally, most tape drives will not oblige |
154 | in aborting commands, and sometimes it appears they will not even | 154 | in aborting commands, and sometimes it appears they will not even |
155 | obey a reset coommand, though in most circumstances they will. In | 155 | obey a reset command, though in most circumstances they will. In |
156 | the case that the command cannot be aborted and the device cannot be | 156 | the case that the command cannot be aborted and the device cannot be |
157 | reset, the device will be set offline. | 157 | reset, the device will be set offline. |
158 | 158 | ||
diff --git a/Documentation/computone.txt b/Documentation/computone.txt index b1cf59b84d97..5e2a0c76bfa0 100644 --- a/Documentation/computone.txt +++ b/Documentation/computone.txt | |||
@@ -199,30 +199,6 @@ boxes this will leave gaps in the sequence of device names. ip2mkdev uses | |||
199 | Linux tty naming conventions: ttyF0 - ttyF255 for normal devices, and | 199 | Linux tty naming conventions: ttyF0 - ttyF255 for normal devices, and |
200 | cuf0 - cuf255 for callout devices. | 200 | cuf0 - cuf255 for callout devices. |
201 | 201 | ||
202 | If you are using devfs, existing devices are automatically created within | ||
203 | the devfs name space. Normal devices will be tts/F0 - tts/F255 and callout | ||
204 | devices will be cua/F0 - cua/F255. With devfs installed, ip2mkdev will | ||
205 | create symbolic links in /dev from the old conventional names to the newer | ||
206 | devfs names as follows: | ||
207 | |||
208 | /dev/ip2ipl[n] -> /dev/ip2/ipl[n] n = 0 - 3 | ||
209 | /dev/ip2stat[n] -> /dev/ip2/stat[n] n = 0 - 3 | ||
210 | /dev/ttyF[n] -> /dev/tts/F[n] n = 0 - 255 | ||
211 | /dev/cuf[n] -> /dev/cua/F[n] n = 0 - 255 | ||
212 | |||
213 | Only devices for existing ports and boards will be created. | ||
214 | |||
215 | IMPORTANT NOTE: The naming convention used for devfs by this driver | ||
216 | was changed from 1.2.12 to 1.2.13. The old naming convention was to | ||
217 | use ttf/%d for the tty device and cuf/%d for the cua device. That | ||
218 | has been changed to conform to an agreed-upon standard of placing | ||
219 | all the tty devices under tts. The device names are now tts/F%d for | ||
220 | the tty device and cua/F%d for the cua devices. If you were using | ||
221 | the older devfs names, you must update for the newer convention. | ||
222 | |||
223 | You do not need to run ip2mkdev if you are using devfs and only want to | ||
224 | use the devfs native device names. | ||
225 | |||
226 | 202 | ||
227 | 4. USING THE DRIVERS | 203 | 4. USING THE DRIVERS |
228 | 204 | ||
@@ -256,57 +232,15 @@ cut out and run as "ip2mkdev" to create the necessary device files. To | |||
256 | use the ip2mkdev script, you must have procfs enabled and the proc file | 232 | use the ip2mkdev script, you must have procfs enabled and the proc file |
257 | system mounted on /proc. | 233 | system mounted on /proc. |
258 | 234 | ||
259 | You do not need to run ip2mkdev if you are using devfs and only want to | ||
260 | use the devfs native device names. | ||
261 | |||
262 | |||
263 | 6. DEVFS | ||
264 | |||
265 | DEVFS is the DEVice File System available as an add on package for the | ||
266 | 2.2.x kernels and available as a configuration option in 2.3.46 and higher. | ||
267 | Devfs allows for the automatic creation and management of device names | ||
268 | under control of the device drivers themselves. The Devfs namespace is | ||
269 | hierarchical and reduces the clutter present in the normal flat /dev | ||
270 | namespace. Devfs names and conventional device names may be intermixed. | ||
271 | A userspace daemon, devfsd, exists to allow for automatic creation and | ||
272 | management of symbolic links from the devfs name space to the conventional | ||
273 | names. More details on devfs can be found on the DEVFS home site at | ||
274 | <http://www.atnf.csiro.au/~rgooch/linux/> or in the file kernel | ||
275 | documentation files, .../linux/Documentation/filesystems/devfs/README. | ||
276 | |||
277 | If you are using devfs, existing devices are automatically created within | ||
278 | the devfs name space. Normal devices will be tts/F0 - tts/F255 and callout | ||
279 | devices will be cua/F0 - cua/F255. With devfs installed, ip2mkdev will | ||
280 | create symbolic links in /dev from the old conventional names to the newer | ||
281 | devfs names as follows: | ||
282 | |||
283 | /dev/ip2ipl[n] -> /dev/ip2/ipl[n] n = 0 - 3 | ||
284 | /dev/ip2stat[n] -> /dev/ip2/stat[n] n = 0 - 3 | ||
285 | /dev/ttyF[n] -> /dev/tts/F[n] n = 0 - 255 | ||
286 | /dev/cuf[n] -> /dev/cua/F[n] n = 0 - 255 | ||
287 | |||
288 | Only devices for existing ports and boards will be created. | ||
289 | |||
290 | IMPORTANT NOTE: The naming convention used for devfs by this driver | ||
291 | was changed from 1.2.12 to 1.2.13. The old naming convention was to | ||
292 | use ttf/%d for the tty device and cuf/%d for the cua device. That | ||
293 | has been changed to conform to an agreed-upon standard of placing | ||
294 | all the tty devices under tts. The device names are now tts/F%d for | ||
295 | the tty device and cua/F%d for the cua devices. If you were using | ||
296 | the older devfs names, you must update for the newer convention. | ||
297 | |||
298 | You do not need to run ip2mkdev if you are using devfs and only want to | ||
299 | use the devfs native device names. | ||
300 | |||
301 | 235 | ||
302 | 7. NOTES | 236 | 6. NOTES |
303 | 237 | ||
304 | This is a release version of the driver, but it is impossible to test it | 238 | This is a release version of the driver, but it is impossible to test it |
305 | in all configurations of Linux. If there is any anomalous behaviour that | 239 | in all configurations of Linux. If there is any anomalous behaviour that |
306 | does not match the standard serial port's behaviour please let us know. | 240 | does not match the standard serial port's behaviour please let us know. |
307 | 241 | ||
308 | 242 | ||
309 | 8. ip2mkdev shell script | 243 | 7. ip2mkdev shell script |
310 | 244 | ||
311 | Previously, this script was simply attached here. It is now attached as a | 245 | Previously, this script was simply attached here. It is now attached as a |
312 | shar archive to make it easier to extract the script from the documentation. | 246 | shar archive to make it easier to extract the script from the documentation. |
diff --git a/Documentation/cpu-freq/cpufreq-stats.txt b/Documentation/cpu-freq/cpufreq-stats.txt index 6a82948ff4bd..53d62c1e1c94 100644 --- a/Documentation/cpu-freq/cpufreq-stats.txt +++ b/Documentation/cpu-freq/cpufreq-stats.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | 1 | ||
2 | CPU frequency and voltage scaling statictics in the Linux(TM) kernel | 2 | CPU frequency and voltage scaling statistics in the Linux(TM) kernel |
3 | 3 | ||
4 | 4 | ||
5 | L i n u x c p u f r e q - s t a t s d r i v e r | 5 | L i n u x c p u f r e q - s t a t s d r i v e r |
@@ -18,8 +18,8 @@ Contents | |||
18 | 1. Introduction | 18 | 1. Introduction |
19 | 19 | ||
20 | cpufreq-stats is a driver that provices CPU frequency statistics for each CPU. | 20 | cpufreq-stats is a driver that provices CPU frequency statistics for each CPU. |
21 | This statistics is provided in /sysfs as a bunch of read_only interfaces. This | 21 | These statistics are provided in /sysfs as a bunch of read_only interfaces. This |
22 | interface (when configured) will appear in a seperate directory under cpufreq | 22 | interface (when configured) will appear in a separate directory under cpufreq |
23 | in /sysfs (<sysfs root>/devices/system/cpu/cpuX/cpufreq/stats/) for each CPU. | 23 | in /sysfs (<sysfs root>/devices/system/cpu/cpuX/cpufreq/stats/) for each CPU. |
24 | Various statistics will form read_only files under this directory. | 24 | Various statistics will form read_only files under this directory. |
25 | 25 | ||
@@ -53,7 +53,7 @@ drwxr-xr-x 3 root root 0 May 14 15:58 .. | |||
53 | This gives the amount of time spent in each of the frequencies supported by | 53 | This gives the amount of time spent in each of the frequencies supported by |
54 | this CPU. The cat output will have "<frequency> <time>" pair in each line, which | 54 | this CPU. The cat output will have "<frequency> <time>" pair in each line, which |
55 | will mean this CPU spent <time> usertime units of time at <frequency>. Output | 55 | will mean this CPU spent <time> usertime units of time at <frequency>. Output |
56 | will have one line for each of the supported freuencies. usertime units here | 56 | will have one line for each of the supported frequencies. usertime units here |
57 | is 10mS (similar to other time exported in /proc). | 57 | is 10mS (similar to other time exported in /proc). |
58 | 58 | ||
59 | -------------------------------------------------------------------------------- | 59 | -------------------------------------------------------------------------------- |
@@ -115,7 +115,7 @@ basic statistics which includes time_in_state and total_trans. | |||
115 | 115 | ||
116 | "CPU frequency translation statistics details" (CONFIG_CPU_FREQ_STAT_DETAILS) | 116 | "CPU frequency translation statistics details" (CONFIG_CPU_FREQ_STAT_DETAILS) |
117 | provides fine grained cpufreq stats by trans_table. The reason for having a | 117 | provides fine grained cpufreq stats by trans_table. The reason for having a |
118 | seperate config option for trans_table is: | 118 | separate config option for trans_table is: |
119 | - trans_table goes against the traditional /sysfs rule of one value per | 119 | - trans_table goes against the traditional /sysfs rule of one value per |
120 | interface. It provides a whole bunch of value in a 2 dimensional matrix | 120 | interface. It provides a whole bunch of value in a 2 dimensional matrix |
121 | form. | 121 | form. |
diff --git a/Documentation/cpu-freq/governors.txt b/Documentation/cpu-freq/governors.txt index f4b8dc4237e6..6a9c55bd556b 100644 --- a/Documentation/cpu-freq/governors.txt +++ b/Documentation/cpu-freq/governors.txt | |||
@@ -57,7 +57,7 @@ selected for each specific use. | |||
57 | 57 | ||
58 | Basically, it's the following flow graph: | 58 | Basically, it's the following flow graph: |
59 | 59 | ||
60 | CPU can be set to switch independetly | CPU can only be set | 60 | CPU can be set to switch independently | CPU can only be set |
61 | within specific "limits" | to specific frequencies | 61 | within specific "limits" | to specific frequencies |
62 | 62 | ||
63 | "CPUfreq policy" | 63 | "CPUfreq policy" |
@@ -109,7 +109,7 @@ directory. | |||
109 | 2.4 Ondemand | 109 | 2.4 Ondemand |
110 | ------------ | 110 | ------------ |
111 | 111 | ||
112 | The CPUfreq govenor "ondemand" sets the CPU depending on the | 112 | The CPUfreq governor "ondemand" sets the CPU depending on the |
113 | current usage. To do this the CPU must have the capability to | 113 | current usage. To do this the CPU must have the capability to |
114 | switch the frequency very quickly. There are a number of sysfs file | 114 | switch the frequency very quickly. There are a number of sysfs file |
115 | accessible parameters: | 115 | accessible parameters: |
@@ -137,11 +137,11 @@ have to be made in a row before the CPU frequency is actually lower. | |||
137 | If set to '1' then the frequency decreases as quickly as it increases, | 137 | If set to '1' then the frequency decreases as quickly as it increases, |
138 | if set to '2' it decreases at half the rate of the increase. | 138 | if set to '2' it decreases at half the rate of the increase. |
139 | 139 | ||
140 | ignore_nice_load: this parameter takes a value of '0' or '1', when set | 140 | ignore_nice_load: this parameter takes a value of '0' or '1'. When |
141 | to '0' (its default) then all processes are counted towards towards the | 141 | set to '0' (its default), all processes are counted towards the |
142 | 'cpu utilisation' value. When set to '1' then processes that are | 142 | 'cpu utilisation' value. When set to '1', the processes that are |
143 | run with a 'nice' value will not count (and thus be ignored) in the | 143 | run with a 'nice' value will not count (and thus be ignored) in the |
144 | overal usage calculation. This is useful if you are running a CPU | 144 | overall usage calculation. This is useful if you are running a CPU |
145 | intensive calculation on your laptop that you do not care how long it | 145 | intensive calculation on your laptop that you do not care how long it |
146 | takes to complete as you can 'nice' it and prevent it from taking part | 146 | takes to complete as you can 'nice' it and prevent it from taking part |
147 | in the deciding process of whether to increase your CPU frequency. | 147 | in the deciding process of whether to increase your CPU frequency. |
diff --git a/Documentation/cputopology.txt b/Documentation/cputopology.txt index 2b28e9ec4e3a..b61cb9564023 100644 --- a/Documentation/cputopology.txt +++ b/Documentation/cputopology.txt | |||
@@ -26,7 +26,7 @@ The type of **_id is int. | |||
26 | The type of siblings is cpumask_t. | 26 | The type of siblings is cpumask_t. |
27 | 27 | ||
28 | To be consistent on all architectures, the 4 attributes should have | 28 | To be consistent on all architectures, the 4 attributes should have |
29 | deafult values if their values are unavailable. Below is the rule. | 29 | default values if their values are unavailable. Below is the rule. |
30 | 1) physical_package_id: If cpu has no physical package id, -1 is the | 30 | 1) physical_package_id: If cpu has no physical package id, -1 is the |
31 | default value. | 31 | default value. |
32 | 2) core_id: If cpu doesn't support multi-core, its core id is 0. | 32 | 2) core_id: If cpu doesn't support multi-core, its core id is 0. |
diff --git a/Documentation/dell_rbu.txt b/Documentation/dell_rbu.txt index 941343a7a265..2c0d631de0cf 100644 --- a/Documentation/dell_rbu.txt +++ b/Documentation/dell_rbu.txt | |||
@@ -4,7 +4,7 @@ for updating BIOS images on Dell servers and desktops. | |||
4 | 4 | ||
5 | Scope: | 5 | Scope: |
6 | This document discusses the functionality of the rbu driver only. | 6 | This document discusses the functionality of the rbu driver only. |
7 | It does not cover the support needed from aplications to enable the BIOS to | 7 | It does not cover the support needed from applications to enable the BIOS to |
8 | update itself with the image downloaded in to the memory. | 8 | update itself with the image downloaded in to the memory. |
9 | 9 | ||
10 | Overview: | 10 | Overview: |
@@ -16,8 +16,8 @@ OpenManage and Dell Update packages (DUP). | |||
16 | Libsmbios can also be used to update BIOS on Dell systems go to | 16 | Libsmbios can also be used to update BIOS on Dell systems go to |
17 | http://linux.dell.com/libsmbios/ for details. | 17 | http://linux.dell.com/libsmbios/ for details. |
18 | 18 | ||
19 | Dell_RBU driver supports BIOS update using the monilothic image and packetized | 19 | Dell_RBU driver supports BIOS update using the monolithic image and packetized |
20 | image methods. In case of moniolithic the driver allocates a contiguous chunk | 20 | image methods. In case of monolithic the driver allocates a contiguous chunk |
21 | of physical pages having the BIOS image. In case of packetized the app | 21 | of physical pages having the BIOS image. In case of packetized the app |
22 | using the driver breaks the image in to packets of fixed sizes and the driver | 22 | using the driver breaks the image in to packets of fixed sizes and the driver |
23 | would place each packet in contiguous physical memory. The driver also | 23 | would place each packet in contiguous physical memory. The driver also |
@@ -41,7 +41,7 @@ The driver supports two types of update mechanism; monolithic and packetized. | |||
41 | These update mechanism depends upon the BIOS currently running on the system. | 41 | These update mechanism depends upon the BIOS currently running on the system. |
42 | Most of the Dell systems support a monolithic update where the BIOS image is | 42 | Most of the Dell systems support a monolithic update where the BIOS image is |
43 | copied to a single contiguous block of physical memory. | 43 | copied to a single contiguous block of physical memory. |
44 | In case of packet mechanism the single memory can be broken in smaller chuks | 44 | In case of packet mechanism the single memory can be broken in smaller chunks |
45 | of contiguous memory and the BIOS image is scattered in these packets. | 45 | of contiguous memory and the BIOS image is scattered in these packets. |
46 | 46 | ||
47 | By default the driver uses monolithic memory for the update type. This can be | 47 | By default the driver uses monolithic memory for the update type. This can be |
@@ -52,11 +52,11 @@ echo packet > /sys/devices/platform/dell_rbu/image_type | |||
52 | In packet update mode the packet size has to be given before any packets can | 52 | In packet update mode the packet size has to be given before any packets can |
53 | be downloaded. It is done as below | 53 | be downloaded. It is done as below |
54 | echo XXXX > /sys/devices/platform/dell_rbu/packet_size | 54 | echo XXXX > /sys/devices/platform/dell_rbu/packet_size |
55 | In the packet update mechanism, the user neesd to create a new file having | 55 | In the packet update mechanism, the user needs to create a new file having |
56 | packets of data arranged back to back. It can be done as follows | 56 | packets of data arranged back to back. It can be done as follows |
57 | The user creates packets header, gets the chunk of the BIOS image and | 57 | The user creates packets header, gets the chunk of the BIOS image and |
58 | placs it next to the packetheader; now, the packetheader + BIOS image chunk | 58 | places it next to the packetheader; now, the packetheader + BIOS image chunk |
59 | added to geather should match the specified packet_size. This makes one | 59 | added together should match the specified packet_size. This makes one |
60 | packet, the user needs to create more such packets out of the entire BIOS | 60 | packet, the user needs to create more such packets out of the entire BIOS |
61 | image file and then arrange all these packets back to back in to one single | 61 | image file and then arrange all these packets back to back in to one single |
62 | file. | 62 | file. |
@@ -93,8 +93,8 @@ read back the image downloaded. | |||
93 | NOTE: | 93 | NOTE: |
94 | This driver requires a patch for firmware_class.c which has the modified | 94 | This driver requires a patch for firmware_class.c which has the modified |
95 | request_firmware_nowait function. | 95 | request_firmware_nowait function. |
96 | Also after updating the BIOS image an user mdoe application neeeds to execute | 96 | Also after updating the BIOS image a user mode application needs to execute |
97 | code which message the BIOS update request to the BIOS. So on the next reboot | 97 | code which sends the BIOS update request to the BIOS. So on the next reboot |
98 | the BIOS knows about the new image downloaded and it updates it self. | 98 | the BIOS knows about the new image downloaded and it updates itself. |
99 | Also don't unload the rbu drive if the image has to be updated. | 99 | Also don't unload the rbu driver if the image has to be updated. |
100 | 100 | ||
diff --git a/Documentation/devices.txt b/Documentation/devices.txt index addc67b1d770..28c4f79662c2 100644 --- a/Documentation/devices.txt +++ b/Documentation/devices.txt | |||
@@ -2005,7 +2005,7 @@ Your cooperation is appreciated. | |||
2005 | 116 char Advanced Linux Sound Driver (ALSA) | 2005 | 116 char Advanced Linux Sound Driver (ALSA) |
2006 | 2006 | ||
2007 | 116 block MicroMemory battery backed RAM adapter (NVRAM) | 2007 | 116 block MicroMemory battery backed RAM adapter (NVRAM) |
2008 | Supports 16 boards, 15 paritions each. | 2008 | Supports 16 boards, 15 partitions each. |
2009 | Requested by neilb at cse.unsw.edu.au. | 2009 | Requested by neilb at cse.unsw.edu.au. |
2010 | 2010 | ||
2011 | 0 = /dev/umem/d0 Whole of first board | 2011 | 0 = /dev/umem/d0 Whole of first board |
@@ -3094,7 +3094,7 @@ Your cooperation is appreciated. | |||
3094 | This major is reserved to assist the expansion to a | 3094 | This major is reserved to assist the expansion to a |
3095 | larger number space. No device nodes with this major | 3095 | larger number space. No device nodes with this major |
3096 | should ever be created on the filesystem. | 3096 | should ever be created on the filesystem. |
3097 | (This is probaly not true anymore, but I'll leave it | 3097 | (This is probably not true anymore, but I'll leave it |
3098 | for now /Torben) | 3098 | for now /Torben) |
3099 | 3099 | ||
3100 | ---LARGE MAJORS!!!!!--- | 3100 | ---LARGE MAJORS!!!!!--- |
@@ -3205,7 +3205,7 @@ for a session; this includes virtual consoles, serial ports, and | |||
3205 | pseudoterminals (PTYs). | 3205 | pseudoterminals (PTYs). |
3206 | 3206 | ||
3207 | All terminal devices share a common set of capabilities known as line | 3207 | All terminal devices share a common set of capabilities known as line |
3208 | diciplines; these include the common terminal line dicipline as well | 3208 | disciplines; these include the common terminal line discipline as well |
3209 | as SLIP and PPP modes. | 3209 | as SLIP and PPP modes. |
3210 | 3210 | ||
3211 | All terminal devices are named similarly; this section explains the | 3211 | All terminal devices are named similarly; this section explains the |
@@ -3285,7 +3285,7 @@ port TTY, for which no alternate device would exist. | |||
3285 | Pseudoterminals (PTYs) | 3285 | Pseudoterminals (PTYs) |
3286 | 3286 | ||
3287 | Pseudoterminals, or PTYs, are used to create login sessions or provide | 3287 | Pseudoterminals, or PTYs, are used to create login sessions or provide |
3288 | other capabilities requiring a TTY line dicipline (including SLIP or | 3288 | other capabilities requiring a TTY line discipline (including SLIP or |
3289 | PPP capability) to arbitrary data-generation processes. Each PTY has | 3289 | PPP capability) to arbitrary data-generation processes. Each PTY has |
3290 | a master side, named /dev/pty[p-za-e][0-9a-f], and a slave side, named | 3290 | a master side, named /dev/pty[p-za-e][0-9a-f], and a slave side, named |
3291 | /dev/tty[p-za-e][0-9a-f]. The kernel arbitrates the use of PTYs by | 3291 | /dev/tty[p-za-e][0-9a-f]. The kernel arbitrates the use of PTYs by |
diff --git a/Documentation/driver-model/class.txt b/Documentation/driver-model/class.txt index 2d1d893a5e5d..548505f14aa4 100644 --- a/Documentation/driver-model/class.txt +++ b/Documentation/driver-model/class.txt | |||
@@ -12,7 +12,7 @@ device. The following device classes have been identified: | |||
12 | 12 | ||
13 | Each device class defines a set of semantics and a programming interface | 13 | Each device class defines a set of semantics and a programming interface |
14 | that devices of that class adhere to. Device drivers are the | 14 | that devices of that class adhere to. Device drivers are the |
15 | implemention of that programming interface for a particular device on | 15 | implementation of that programming interface for a particular device on |
16 | a particular bus. | 16 | a particular bus. |
17 | 17 | ||
18 | Device classes are agnostic with respect to what bus a device resides | 18 | Device classes are agnostic with respect to what bus a device resides |
diff --git a/Documentation/driver-model/driver.txt b/Documentation/driver-model/driver.txt index 59806c9761f7..82132169d47a 100644 --- a/Documentation/driver-model/driver.txt +++ b/Documentation/driver-model/driver.txt | |||
@@ -178,7 +178,7 @@ the driver to that device. | |||
178 | 178 | ||
179 | A driver's probe() may return a negative errno value to indicate that | 179 | A driver's probe() may return a negative errno value to indicate that |
180 | the driver did not bind to this device, in which case it should have | 180 | the driver did not bind to this device, in which case it should have |
181 | released all reasources it allocated. | 181 | released all resources it allocated. |
182 | 182 | ||
183 | int (*remove) (struct device * dev); | 183 | int (*remove) (struct device * dev); |
184 | 184 | ||
diff --git a/Documentation/driver-model/overview.txt b/Documentation/driver-model/overview.txt index 2050c9ffc629..07236ed968da 100644 --- a/Documentation/driver-model/overview.txt +++ b/Documentation/driver-model/overview.txt | |||
@@ -57,7 +57,7 @@ the two. | |||
57 | 57 | ||
58 | The PCI bus layer freely accesses the fields of struct device. It knows about | 58 | The PCI bus layer freely accesses the fields of struct device. It knows about |
59 | the structure of struct pci_dev, and it should know the structure of struct | 59 | the structure of struct pci_dev, and it should know the structure of struct |
60 | device. Individual PCI device drivers that have been converted the the current | 60 | device. Individual PCI device drivers that have been converted to the current |
61 | driver model generally do not and should not touch the fields of struct device, | 61 | driver model generally do not and should not touch the fields of struct device, |
62 | unless there is a strong compelling reason to do so. | 62 | unless there is a strong compelling reason to do so. |
63 | 63 | ||
diff --git a/Documentation/dvb/avermedia.txt b/Documentation/dvb/avermedia.txt index 8bab8461a4af..e44c009ac6c5 100644 --- a/Documentation/dvb/avermedia.txt +++ b/Documentation/dvb/avermedia.txt | |||
@@ -45,9 +45,9 @@ Assumptions and Introduction | |||
45 | by circuitry on the card and is often presented uncompressed. | 45 | by circuitry on the card and is often presented uncompressed. |
46 | For a PAL TV signal encoded at a resolution of 768x576 24-bit | 46 | For a PAL TV signal encoded at a resolution of 768x576 24-bit |
47 | color pixels over 25 frames per second - a fair amount of data | 47 | color pixels over 25 frames per second - a fair amount of data |
48 | is generated and must be proceesed by the PC before it can be | 48 | is generated and must be processed by the PC before it can be |
49 | displayed on the video monitor screen. Some Analogue TV cards | 49 | displayed on the video monitor screen. Some Analogue TV cards |
50 | for PC's have onboard MPEG2 encoders which permit the raw | 50 | for PCs have onboard MPEG2 encoders which permit the raw |
51 | digital data stream to be presented to the PC in an encoded | 51 | digital data stream to be presented to the PC in an encoded |
52 | and compressed form - similar to the form that is used in | 52 | and compressed form - similar to the form that is used in |
53 | Digital TV. | 53 | Digital TV. |
diff --git a/Documentation/dvb/cards.txt b/Documentation/dvb/cards.txt index 9e10092440e1..ca58e339d85f 100644 --- a/Documentation/dvb/cards.txt +++ b/Documentation/dvb/cards.txt | |||
@@ -5,7 +5,7 @@ Hardware supported by the linuxtv.org DVB drivers | |||
5 | frontends (i.e. tuner / demodulator units) used, usually without | 5 | frontends (i.e. tuner / demodulator units) used, usually without |
6 | changing the product name, revision number or specs. Some cards | 6 | changing the product name, revision number or specs. Some cards |
7 | are also available in versions with different frontends for | 7 | are also available in versions with different frontends for |
8 | DVB-S/DVB-C/DVB-T. Thus the frontend drivers are listed seperately. | 8 | DVB-S/DVB-C/DVB-T. Thus the frontend drivers are listed separately. |
9 | 9 | ||
10 | Note 1: There is no guarantee that every frontend driver works | 10 | Note 1: There is no guarantee that every frontend driver works |
11 | out of the box with every card, because of different wiring. | 11 | out of the box with every card, because of different wiring. |
diff --git a/Documentation/dvb/ci.txt b/Documentation/dvb/ci.txt index 95f0e73b2135..531239b29082 100644 --- a/Documentation/dvb/ci.txt +++ b/Documentation/dvb/ci.txt | |||
@@ -32,7 +32,7 @@ This application requires the following to function properly as of now. | |||
32 | descrambler to function, | 32 | descrambler to function, |
33 | eg: $ ca_zap channels.conf "TMC" | 33 | eg: $ ca_zap channels.conf "TMC" |
34 | 34 | ||
35 | (d) Hopeflly Enjoy your favourite subscribed channel as you do with | 35 | (d) Hopefully enjoy your favourite subscribed channel as you do with |
36 | a FTA card. | 36 | a FTA card. |
37 | 37 | ||
38 | (3) Currently ca_zap, and dst_test, both are meant for demonstration | 38 | (3) Currently ca_zap, and dst_test, both are meant for demonstration |
@@ -65,7 +65,7 @@ Modules that have been tested by this driver at present are | |||
65 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 65 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
66 | With the High Level CI approach any new card with almost any random | 66 | With the High Level CI approach any new card with almost any random |
67 | architecture can be implemented with this style, the definitions | 67 | architecture can be implemented with this style, the definitions |
68 | insidethe switch statement can be easily adapted for any card, thereby | 68 | inside the switch statement can be easily adapted for any card, thereby |
69 | eliminating the need for any additional ioctls. | 69 | eliminating the need for any additional ioctls. |
70 | 70 | ||
71 | The disadvantage is that the driver/hardware has to manage the rest. For | 71 | The disadvantage is that the driver/hardware has to manage the rest. For |
diff --git a/Documentation/dvb/faq.txt b/Documentation/dvb/faq.txt index a42132d60dc8..dbcedf5833ee 100644 --- a/Documentation/dvb/faq.txt +++ b/Documentation/dvb/faq.txt | |||
@@ -5,7 +5,7 @@ Some very frequently asked questions about linuxtv-dvb | |||
5 | It's not a bug, it's a feature. Because the frontends have | 5 | It's not a bug, it's a feature. Because the frontends have |
6 | significant power requirements (and hence get very hot), they | 6 | significant power requirements (and hence get very hot), they |
7 | are powered down if they are unused (i.e. if the frontend device | 7 | are powered down if they are unused (i.e. if the frontend device |
8 | is closed). The dvb-core.o module paramter "dvb_shutdown_timeout" | 8 | is closed). The dvb-core.o module parameter "dvb_shutdown_timeout" |
9 | allow you to change the timeout (default 5 seconds). Setting the | 9 | allow you to change the timeout (default 5 seconds). Setting the |
10 | timeout to 0 disables the timeout feature. | 10 | timeout to 0 disables the timeout feature. |
11 | 11 | ||
@@ -138,7 +138,7 @@ Some very frequently asked questions about linuxtv-dvb | |||
138 | 138 | ||
139 | - v4l2-common: common functions for Video4Linux-2 drivers | 139 | - v4l2-common: common functions for Video4Linux-2 drivers |
140 | 140 | ||
141 | - v4l1-compat: backward compatiblity layer for Video4Linux-1 legacy | 141 | - v4l1-compat: backward compatibility layer for Video4Linux-1 legacy |
142 | applications | 142 | applications |
143 | 143 | ||
144 | - dvb-core: DVB core module. This provides you with the | 144 | - dvb-core: DVB core module. This provides you with the |
@@ -153,7 +153,7 @@ Some very frequently asked questions about linuxtv-dvb | |||
153 | - video-buf: capture helper module for the saa7146_vv driver. This | 153 | - video-buf: capture helper module for the saa7146_vv driver. This |
154 | one is responsible to handle capture buffers. | 154 | one is responsible to handle capture buffers. |
155 | 155 | ||
156 | - dvb-ttpci: The main driver for AV7110 based, full-featued | 156 | - dvb-ttpci: The main driver for AV7110 based, full-featured |
157 | DVB-S/C/T cards | 157 | DVB-S/C/T cards |
158 | 158 | ||
159 | eof | 159 | eof |
diff --git a/Documentation/ecryptfs.txt b/Documentation/ecryptfs.txt new file mode 100644 index 000000000000..01d8a08351ac --- /dev/null +++ b/Documentation/ecryptfs.txt | |||
@@ -0,0 +1,77 @@ | |||
1 | eCryptfs: A stacked cryptographic filesystem for Linux | ||
2 | |||
3 | eCryptfs is free software. Please see the file COPYING for details. | ||
4 | For documentation, please see the files in the doc/ subdirectory. For | ||
5 | building and installation instructions please see the INSTALL file. | ||
6 | |||
7 | Maintainer: Phillip Hellewell | ||
8 | Lead developer: Michael A. Halcrow <mhalcrow@us.ibm.com> | ||
9 | Developers: Michael C. Thompson | ||
10 | Kent Yoder | ||
11 | Web Site: http://ecryptfs.sf.net | ||
12 | |||
13 | This software is currently undergoing development. Make sure to | ||
14 | maintain a backup copy of any data you write into eCryptfs. | ||
15 | |||
16 | eCryptfs requires the userspace tools downloadable from the | ||
17 | SourceForge site: | ||
18 | |||
19 | http://sourceforge.net/projects/ecryptfs/ | ||
20 | |||
21 | Userspace requirements include: | ||
22 | - David Howells' userspace keyring headers and libraries (version | ||
23 | 1.0 or higher), obtainable from | ||
24 | http://people.redhat.com/~dhowells/keyutils/ | ||
25 | - Libgcrypt | ||
26 | |||
27 | |||
28 | NOTES | ||
29 | |||
30 | In the beta/experimental releases of eCryptfs, when you upgrade | ||
31 | eCryptfs, you should copy the files to an unencrypted location and | ||
32 | then copy the files back into the new eCryptfs mount to migrate the | ||
33 | files. | ||
34 | |||
35 | |||
36 | MOUNT-WIDE PASSPHRASE | ||
37 | |||
38 | Create a new directory into which eCryptfs will write its encrypted | ||
39 | files (i.e., /root/crypt). Then, create the mount point directory | ||
40 | (i.e., /mnt/crypt). Now it's time to mount eCryptfs: | ||
41 | |||
42 | mount -t ecryptfs /root/crypt /mnt/crypt | ||
43 | |||
44 | You should be prompted for a passphrase and a salt (the salt may be | ||
45 | blank). | ||
46 | |||
47 | Try writing a new file: | ||
48 | |||
49 | echo "Hello, World" > /mnt/crypt/hello.txt | ||
50 | |||
51 | The operation will complete. Notice that there is a new file in | ||
52 | /root/crypt that is at least 12288 bytes in size (depending on your | ||
53 | host page size). This is the encrypted underlying file for what you | ||
54 | just wrote. To test reading, from start to finish, you need to clear | ||
55 | the user session keyring: | ||
56 | |||
57 | keyctl clear @u | ||
58 | |||
59 | Then umount /mnt/crypt and mount again per the instructions given | ||
60 | above. | ||
61 | |||
62 | cat /mnt/crypt/hello.txt | ||
63 | |||
64 | |||
65 | NOTES | ||
66 | |||
67 | eCryptfs version 0.1 should only be mounted on (1) empty directories | ||
68 | or (2) directories containing files only created by eCryptfs. If you | ||
69 | mount a directory that has pre-existing files not created by eCryptfs, | ||
70 | then behavior is undefined. Do not run eCryptfs in higher verbosity | ||
71 | levels unless you are doing so for the sole purpose of debugging or | ||
72 | development, since secret values will be written out to the system log | ||
73 | in that case. | ||
74 | |||
75 | |||
76 | Mike Halcrow | ||
77 | mhalcrow@us.ibm.com | ||
diff --git a/Documentation/eisa.txt b/Documentation/eisa.txt index 8c8388da868a..6a099edadd62 100644 --- a/Documentation/eisa.txt +++ b/Documentation/eisa.txt | |||
@@ -18,7 +18,7 @@ The EISA infrastructure is made up of three parts : | |||
18 | 18 | ||
19 | - The bus code implements most of the generic code. It is shared | 19 | - The bus code implements most of the generic code. It is shared |
20 | among all the architectures that the EISA code runs on. It | 20 | among all the architectures that the EISA code runs on. It |
21 | implements bus probing (detecting EISA cards avaible on the bus), | 21 | implements bus probing (detecting EISA cards available on the bus), |
22 | allocates I/O resources, allows fancy naming through sysfs, and | 22 | allocates I/O resources, allows fancy naming through sysfs, and |
23 | offers interfaces for driver to register. | 23 | offers interfaces for driver to register. |
24 | 24 | ||
@@ -84,7 +84,7 @@ struct eisa_driver { | |||
84 | 84 | ||
85 | id_table : an array of NULL terminated EISA id strings, | 85 | id_table : an array of NULL terminated EISA id strings, |
86 | followed by an empty string. Each string can | 86 | followed by an empty string. Each string can |
87 | optionnaly be paired with a driver-dependant value | 87 | optionally be paired with a driver-dependant value |
88 | (driver_data). | 88 | (driver_data). |
89 | 89 | ||
90 | driver : a generic driver, such as described in | 90 | driver : a generic driver, such as described in |
diff --git a/Documentation/exception.txt b/Documentation/exception.txt index 3cb39ade290e..2d5aded64247 100644 --- a/Documentation/exception.txt +++ b/Documentation/exception.txt | |||
@@ -10,7 +10,7 @@ int verify_area(int type, const void * addr, unsigned long size) | |||
10 | function (which has since been replaced by access_ok()). | 10 | function (which has since been replaced by access_ok()). |
11 | 11 | ||
12 | This function verified that the memory area starting at address | 12 | This function verified that the memory area starting at address |
13 | addr and of size size was accessible for the operation specified | 13 | 'addr' and of size 'size' was accessible for the operation specified |
14 | in type (read or write). To do this, verify_read had to look up the | 14 | in type (read or write). To do this, verify_read had to look up the |
15 | virtual memory area (vma) that contained the address addr. In the | 15 | virtual memory area (vma) that contained the address addr. In the |
16 | normal case (correctly working program), this test was successful. | 16 | normal case (correctly working program), this test was successful. |
diff --git a/Documentation/fb/fbcon.txt b/Documentation/fb/fbcon.txt index f373df12ed4c..99ea58e65eff 100644 --- a/Documentation/fb/fbcon.txt +++ b/Documentation/fb/fbcon.txt | |||
@@ -163,7 +163,7 @@ from the console layer before unloading the driver. The VGA driver cannot be | |||
163 | unloaded if it is still bound to the console layer. (See | 163 | unloaded if it is still bound to the console layer. (See |
164 | Documentation/console/console.txt for more information). | 164 | Documentation/console/console.txt for more information). |
165 | 165 | ||
166 | This is more complicated in the case of the the framebuffer console (fbcon), | 166 | This is more complicated in the case of the framebuffer console (fbcon), |
167 | because fbcon is an intermediate layer between the console and the drivers: | 167 | because fbcon is an intermediate layer between the console and the drivers: |
168 | 168 | ||
169 | console ---> fbcon ---> fbdev drivers ---> hardware | 169 | console ---> fbcon ---> fbdev drivers ---> hardware |
diff --git a/Documentation/fb/sisfb.txt b/Documentation/fb/sisfb.txt index 3b50c517a08d..2e68e503e72f 100644 --- a/Documentation/fb/sisfb.txt +++ b/Documentation/fb/sisfb.txt | |||
@@ -72,7 +72,7 @@ information. Additionally, "modinfo sisfb" gives an overview over all | |||
72 | supported options including some explanation. | 72 | supported options including some explanation. |
73 | 73 | ||
74 | The desired display mode can be specified using the keyword "mode" with | 74 | The desired display mode can be specified using the keyword "mode" with |
75 | a parameter in one of the follwing formats: | 75 | a parameter in one of the following formats: |
76 | - XxYxDepth or | 76 | - XxYxDepth or |
77 | - XxY-Depth or | 77 | - XxY-Depth or |
78 | - XxY-Depth@Rate or | 78 | - XxY-Depth@Rate or |
diff --git a/Documentation/fb/sstfb.txt b/Documentation/fb/sstfb.txt index 628d7ffa8769..df27f5bf15db 100644 --- a/Documentation/fb/sstfb.txt +++ b/Documentation/fb/sstfb.txt | |||
@@ -48,12 +48,12 @@ Module Usage | |||
48 | 48 | ||
49 | Module insertion: | 49 | Module insertion: |
50 | # insmod sstfb.o | 50 | # insmod sstfb.o |
51 | you should see some strange output frome the board: | 51 | you should see some strange output from the board: |
52 | a big blue square, a green and a red small squares and a vertical | 52 | a big blue square, a green and a red small squares and a vertical |
53 | white rectangle. why ? the function's name is self explanatory : | 53 | white rectangle. why? the function's name is self-explanatory: |
54 | "sstfb_test()"... | 54 | "sstfb_test()"... |
55 | (if you don't have a second monitor, you'll have to plug your monitor | 55 | (if you don't have a second monitor, you'll have to plug your monitor |
56 | directely to the 2D videocard to see what you're typing) | 56 | directly to the 2D videocard to see what you're typing) |
57 | # con2fb /dev/fbx /dev/ttyx | 57 | # con2fb /dev/fbx /dev/ttyx |
58 | bind a tty to the new frame buffer. if you already have a frame | 58 | bind a tty to the new frame buffer. if you already have a frame |
59 | buffer driver, the voodoo fb will likely be /dev/fb1. if not, | 59 | buffer driver, the voodoo fb will likely be /dev/fb1. if not, |
@@ -72,12 +72,12 @@ Module Usage | |||
72 | 72 | ||
73 | Kernel/Modules Options | 73 | Kernel/Modules Options |
74 | 74 | ||
75 | You can pass some otions to sstfb module, and via the kernel command | 75 | You can pass some options to the sstfb module, and via the kernel |
76 | line when the driver is compiled in : | 76 | command line when the driver is compiled in: |
77 | for module : insmod sstfb.o option1=value1 option2=value2 ... | 77 | for module : insmod sstfb.o option1=value1 option2=value2 ... |
78 | in kernel : video=sstfb:option1,option2:value2,option3 ... | 78 | in kernel : video=sstfb:option1,option2:value2,option3 ... |
79 | 79 | ||
80 | sstfb supports the folowing options : | 80 | sstfb supports the following options : |
81 | 81 | ||
82 | Module Kernel Description | 82 | Module Kernel Description |
83 | 83 | ||
@@ -95,11 +95,11 @@ inverse=1 inverse Supposed to enable inverse console. | |||
95 | 95 | ||
96 | clipping=1 clipping Enable or disable clipping. | 96 | clipping=1 clipping Enable or disable clipping. |
97 | clipping=0 noclipping With clipping enabled, all offscreen | 97 | clipping=0 noclipping With clipping enabled, all offscreen |
98 | reads and writes are disgarded. | 98 | reads and writes are discarded. |
99 | Default: enable clipping. | 99 | Default: enable clipping. |
100 | 100 | ||
101 | gfxclk=x gfxclk:x Force graphic clock frequency (in MHz). | 101 | gfxclk=x gfxclk:x Force graphic clock frequency (in MHz). |
102 | Be carefull with this option, it may be | 102 | Be careful with this option, it may be |
103 | DANGEROUS. | 103 | DANGEROUS. |
104 | Default: auto | 104 | Default: auto |
105 | 50Mhz for Voodoo 1, | 105 | 50Mhz for Voodoo 1, |
@@ -137,23 +137,23 @@ Bugs | |||
137 | - The driver is 16 bpp only, 24/32 won't work. | 137 | - The driver is 16 bpp only, 24/32 won't work. |
138 | - The driver is not your_favorite_toy-safe. this includes SMP... | 138 | - The driver is not your_favorite_toy-safe. this includes SMP... |
139 | [Actually from inspection it seems to be safe - Alan] | 139 | [Actually from inspection it seems to be safe - Alan] |
140 | - when using XFree86 FBdev (X over fbdev) you may see strange color | 140 | - When using XFree86 FBdev (X over fbdev) you may see strange color |
141 | patterns at the border of your windows (the pixels lose the lowest | 141 | patterns at the border of your windows (the pixels lose the lowest |
142 | byte -> basicaly the blue component nd some of the green) . I'm unable | 142 | byte -> basically the blue component and some of the green). I'm unable |
143 | to reproduce this with XFree86-3.3, but one of the testers has this | 143 | to reproduce this with XFree86-3.3, but one of the testers has this |
144 | problem with XFree86-4. apparently recent Xfree86-4.x solve this | 144 | problem with XFree86-4. Apparently recent Xfree86-4.x solve this |
145 | problem. | 145 | problem. |
146 | - I didn't really test changing the palette, so you may find some weird | 146 | - I didn't really test changing the palette, so you may find some weird |
147 | things when playing with that. | 147 | things when playing with that. |
148 | - Sometimes the driver will not recognise the DAC , and the | 148 | - Sometimes the driver will not recognise the DAC, and the |
149 | initialisation will fail. this is specificaly true for | 149 | initialisation will fail. This is specifically true for |
150 | voodoo 2 boards , but it should be solved in recent versions. please | 150 | voodoo 2 boards, but it should be solved in recent versions. Please |
151 | contact me . | 151 | contact me. |
152 | - the 24/32 is not likely to work anytime soon , knowing that the | 152 | - The 24/32 is not likely to work anytime soon, knowing that the |
153 | hardware does ... unusual thigs in 24/32 bpp | 153 | hardware does ... unusual things in 24/32 bpp. |
154 | - When used with anther video board, current limitations of linux | 154 | - When used with another video board, current limitations of the linux |
155 | console subsystem can cause some troubles, specificaly, you should | 155 | console subsystem can cause some troubles, specifically, you should |
156 | disable software scrollback , as it can oops badly ... | 156 | disable software scrollback, as it can oops badly ... |
157 | 157 | ||
158 | Todo | 158 | Todo |
159 | 159 | ||
@@ -161,7 +161,7 @@ Todo | |||
161 | - Buy more coffee. | 161 | - Buy more coffee. |
162 | - test/port to other arch. | 162 | - test/port to other arch. |
163 | - try to add panning using tweeks with front and back buffer . | 163 | - try to add panning using tweeks with front and back buffer . |
164 | - try to implement accel on voodoo2 , this board can actualy do a | 164 | - try to implement accel on voodoo2, this board can actually do a |
165 | lot in 2D even if it was sold as a 3D only board ... | 165 | lot in 2D even if it was sold as a 3D only board ... |
166 | 166 | ||
167 | ghoz. | 167 | ghoz. |
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index 2e410f5aa750..24f3c63b3017 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -29,14 +29,6 @@ Who: Adrian Bunk <bunk@stusta.de> | |||
29 | 29 | ||
30 | --------------------------- | 30 | --------------------------- |
31 | 31 | ||
32 | What: drivers that were depending on OBSOLETE_OSS_DRIVER | ||
33 | (config options already removed) | ||
34 | When: before 2.6.19 | ||
35 | Why: OSS drivers with ALSA replacements | ||
36 | Who: Adrian Bunk <bunk@stusta.de> | ||
37 | |||
38 | --------------------------- | ||
39 | |||
40 | What: raw1394: requests of type RAW1394_REQ_ISO_SEND, RAW1394_REQ_ISO_LISTEN | 32 | What: raw1394: requests of type RAW1394_REQ_ISO_SEND, RAW1394_REQ_ISO_LISTEN |
41 | When: November 2006 | 33 | When: November 2006 |
42 | Why: Deprecated in favour of the new ioctl-based rawiso interface, which is | 34 | Why: Deprecated in favour of the new ioctl-based rawiso interface, which is |
@@ -184,7 +176,7 @@ Who: Greg Kroah-Hartman <gregkh@suse.de> | |||
184 | --------------------------- | 176 | --------------------------- |
185 | 177 | ||
186 | What: USB driver API moves to EXPORT_SYMBOL_GPL | 178 | What: USB driver API moves to EXPORT_SYMBOL_GPL |
187 | When: Febuary 2008 | 179 | When: February 2008 |
188 | Files: include/linux/usb.h, drivers/usb/core/driver.c | 180 | Files: include/linux/usb.h, drivers/usb/core/driver.c |
189 | Why: The USB subsystem has changed a lot over time, and it has been | 181 | Why: The USB subsystem has changed a lot over time, and it has been |
190 | possible to create userspace USB drivers using usbfs/libusb/gadgetfs | 182 | possible to create userspace USB drivers using usbfs/libusb/gadgetfs |
diff --git a/Documentation/filesystems/00-INDEX b/Documentation/filesystems/00-INDEX index 16dec61d7671..3c384c0cf86e 100644 --- a/Documentation/filesystems/00-INDEX +++ b/Documentation/filesystems/00-INDEX | |||
@@ -26,8 +26,6 @@ cramfs.txt | |||
26 | - info on the cram filesystem for small storage (ROMs etc). | 26 | - info on the cram filesystem for small storage (ROMs etc). |
27 | dentry-locking.txt | 27 | dentry-locking.txt |
28 | - info on the RCU-based dcache locking model. | 28 | - info on the RCU-based dcache locking model. |
29 | devfs/ | ||
30 | - directory containing devfs documentation. | ||
31 | directory-locking | 29 | directory-locking |
32 | - info about the locking scheme used for directory operations. | 30 | - info about the locking scheme used for directory operations. |
33 | dlmfs.txt | 31 | dlmfs.txt |
diff --git a/Documentation/filesystems/befs.txt b/Documentation/filesystems/befs.txt index 877a7b1d46ec..67391a15949a 100644 --- a/Documentation/filesystems/befs.txt +++ b/Documentation/filesystems/befs.txt | |||
@@ -7,7 +7,7 @@ WARNING | |||
7 | Make sure you understand that this is alpha software. This means that the | 7 | Make sure you understand that this is alpha software. This means that the |
8 | implementation is neither complete nor well-tested. | 8 | implementation is neither complete nor well-tested. |
9 | 9 | ||
10 | I DISCLAIM ALL RESPONSIBILTY FOR ANY POSSIBLE BAD EFFECTS OF THIS CODE! | 10 | I DISCLAIM ALL RESPONSIBILITY FOR ANY POSSIBLE BAD EFFECTS OF THIS CODE! |
11 | 11 | ||
12 | LICENSE | 12 | LICENSE |
13 | ===== | 13 | ===== |
@@ -22,7 +22,7 @@ He has been working on the code since Aug 13, 2001. See the changelog for | |||
22 | details. | 22 | details. |
23 | 23 | ||
24 | Original Author: Makoto Kato <m_kato@ga2.so-net.ne.jp> | 24 | Original Author: Makoto Kato <m_kato@ga2.so-net.ne.jp> |
25 | His orriginal code can still be found at: | 25 | His original code can still be found at: |
26 | <http://hp.vector.co.jp/authors/VA008030/bfs/> | 26 | <http://hp.vector.co.jp/authors/VA008030/bfs/> |
27 | Does anyone know of a more current email address for Makoto? He doesn't | 27 | Does anyone know of a more current email address for Makoto? He doesn't |
28 | respond to the address given above... | 28 | respond to the address given above... |
@@ -39,7 +39,7 @@ Which is it, BFS or BEFS? | |||
39 | ================ | 39 | ================ |
40 | Be, Inc said, "BeOS Filesystem is officially called BFS, not BeFS". | 40 | Be, Inc said, "BeOS Filesystem is officially called BFS, not BeFS". |
41 | But Unixware Boot Filesystem is called bfs, too. And they are already in | 41 | But Unixware Boot Filesystem is called bfs, too. And they are already in |
42 | the kernel. Because of this nameing conflict, on Linux the BeOS | 42 | the kernel. Because of this naming conflict, on Linux the BeOS |
43 | filesystem is called befs. | 43 | filesystem is called befs. |
44 | 44 | ||
45 | HOW TO INSTALL | 45 | HOW TO INSTALL |
@@ -57,7 +57,7 @@ if the patching step fails (i.e. there are rejected hunks), you can try to | |||
57 | figure it out yourself (it shouldn't be hard), or mail the maintainer | 57 | figure it out yourself (it shouldn't be hard), or mail the maintainer |
58 | (Will Dyson <will_dyson@pobox.com>) for help. | 58 | (Will Dyson <will_dyson@pobox.com>) for help. |
59 | 59 | ||
60 | step 2. Configuretion & make kernel | 60 | step 2. Configuration & make kernel |
61 | 61 | ||
62 | The linux kernel has many compile-time options. Most of them are beyond the | 62 | The linux kernel has many compile-time options. Most of them are beyond the |
63 | scope of this document. I suggest the Kernel-HOWTO document as a good general | 63 | scope of this document. I suggest the Kernel-HOWTO document as a good general |
diff --git a/Documentation/filesystems/configfs/configfs.txt b/Documentation/filesystems/configfs/configfs.txt index c4ff96b7c4e0..c3a7afb5eabf 100644 --- a/Documentation/filesystems/configfs/configfs.txt +++ b/Documentation/filesystems/configfs/configfs.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | 1 | ||
2 | configfs - Userspace-driven kernel object configuation. | 2 | configfs - Userspace-driven kernel object configuration. |
3 | 3 | ||
4 | Joel Becker <joel.becker@oracle.com> | 4 | Joel Becker <joel.becker@oracle.com> |
5 | 5 | ||
@@ -254,7 +254,7 @@ using the group _init() functions on the group. | |||
254 | 254 | ||
255 | Finally, when userspace calls rmdir(2) on the item or group, | 255 | Finally, when userspace calls rmdir(2) on the item or group, |
256 | ct_group_ops->drop_item() is called. As a config_group is also a | 256 | ct_group_ops->drop_item() is called. As a config_group is also a |
257 | config_item, it is not necessary for a seperate drop_group() method. | 257 | config_item, it is not necessary for a separate drop_group() method. |
258 | The subsystem must config_item_put() the reference that was initialized | 258 | The subsystem must config_item_put() the reference that was initialized |
259 | upon item allocation. If a subsystem has no work to do, it may omit | 259 | upon item allocation. If a subsystem has no work to do, it may omit |
260 | the ct_group_ops->drop_item() method, and configfs will call | 260 | the ct_group_ops->drop_item() method, and configfs will call |
@@ -406,7 +406,7 @@ that condition is met. | |||
406 | 406 | ||
407 | Far better would be an explicit action notifying the subsystem that the | 407 | Far better would be an explicit action notifying the subsystem that the |
408 | config_item is ready to go. More importantly, an explicit action allows | 408 | config_item is ready to go. More importantly, an explicit action allows |
409 | the subsystem to provide feedback as to whether the attibutes are | 409 | the subsystem to provide feedback as to whether the attributes are |
410 | initialized in a way that makes sense. configfs provides this as | 410 | initialized in a way that makes sense. configfs provides this as |
411 | committable items. | 411 | committable items. |
412 | 412 | ||
@@ -422,7 +422,7 @@ support mkdir(2) or rmdir(2) either. It only allows rename(2). The | |||
422 | "pending" directory does allow mkdir(2) and rmdir(2). An item is | 422 | "pending" directory does allow mkdir(2) and rmdir(2). An item is |
423 | created in the "pending" directory. Its attributes can be modified at | 423 | created in the "pending" directory. Its attributes can be modified at |
424 | will. Userspace commits the item by renaming it into the "live" | 424 | will. Userspace commits the item by renaming it into the "live" |
425 | directory. At this point, the subsystem recieves the ->commit_item() | 425 | directory. At this point, the subsystem receives the ->commit_item() |
426 | callback. If all required attributes are filled to satisfaction, the | 426 | callback. If all required attributes are filled to satisfaction, the |
427 | method returns zero and the item is moved to the "live" directory. | 427 | method returns zero and the item is moved to the "live" directory. |
428 | 428 | ||
diff --git a/Documentation/filesystems/directory-locking b/Documentation/filesystems/directory-locking index 34380d4fbce3..d7099a9266fb 100644 --- a/Documentation/filesystems/directory-locking +++ b/Documentation/filesystems/directory-locking | |||
@@ -82,7 +82,7 @@ own descendent. Moreover, there is exactly one cross-directory rename | |||
82 | 82 | ||
83 | Consider the object blocking the cross-directory rename. One | 83 | Consider the object blocking the cross-directory rename. One |
84 | of its descendents is locked by cross-directory rename (otherwise we | 84 | of its descendents is locked by cross-directory rename (otherwise we |
85 | would again have an infinite set of of contended objects). But that | 85 | would again have an infinite set of contended objects). But that |
86 | means that cross-directory rename is taking locks out of order. Due | 86 | means that cross-directory rename is taking locks out of order. Due |
87 | to (2) the order hadn't changed since we had acquired filesystem lock. | 87 | to (2) the order hadn't changed since we had acquired filesystem lock. |
88 | But locking rules for cross-directory rename guarantee that we do not | 88 | But locking rules for cross-directory rename guarantee that we do not |
diff --git a/Documentation/filesystems/dlmfs.txt b/Documentation/filesystems/dlmfs.txt index 9afab845a906..c50bbb2d52b4 100644 --- a/Documentation/filesystems/dlmfs.txt +++ b/Documentation/filesystems/dlmfs.txt | |||
@@ -68,7 +68,7 @@ request for an already acquired lock will not generate another DLM | |||
68 | call. Userspace programs are assumed to handle their own local | 68 | call. Userspace programs are assumed to handle their own local |
69 | locking. | 69 | locking. |
70 | 70 | ||
71 | Two levels of locks are supported - Shared Read, and Exlcusive. | 71 | Two levels of locks are supported - Shared Read, and Exclusive. |
72 | Also supported is a Trylock operation. | 72 | Also supported is a Trylock operation. |
73 | 73 | ||
74 | For information on the libo2dlm interface, please see o2dlm.h, | 74 | For information on the libo2dlm interface, please see o2dlm.h, |
diff --git a/Documentation/filesystems/ext2.txt b/Documentation/filesystems/ext2.txt index 3dd2872416a1..4333e836c495 100644 --- a/Documentation/filesystems/ext2.txt +++ b/Documentation/filesystems/ext2.txt | |||
@@ -205,7 +205,7 @@ Reserved Space | |||
205 | 205 | ||
206 | In ext2, there is a mechanism for reserving a certain number of blocks | 206 | In ext2, there is a mechanism for reserving a certain number of blocks |
207 | for a particular user (normally the super-user). This is intended to | 207 | for a particular user (normally the super-user). This is intended to |
208 | allow for the system to continue functioning even if non-priveleged users | 208 | allow for the system to continue functioning even if non-privileged users |
209 | fill up all the space available to them (this is independent of filesystem | 209 | fill up all the space available to them (this is independent of filesystem |
210 | quotas). It also keeps the filesystem from filling up entirely which | 210 | quotas). It also keeps the filesystem from filling up entirely which |
211 | helps combat fragmentation. | 211 | helps combat fragmentation. |
diff --git a/Documentation/filesystems/files.txt b/Documentation/filesystems/files.txt index 8c206f4e0250..133e213ebb72 100644 --- a/Documentation/filesystems/files.txt +++ b/Documentation/filesystems/files.txt | |||
@@ -55,7 +55,7 @@ the fdtable structure - | |||
55 | 2. Reading of the fdtable as described above must be protected | 55 | 2. Reading of the fdtable as described above must be protected |
56 | by rcu_read_lock()/rcu_read_unlock(). | 56 | by rcu_read_lock()/rcu_read_unlock(). |
57 | 57 | ||
58 | 3. For any update to the the fd table, files->file_lock must | 58 | 3. For any update to the fd table, files->file_lock must |
59 | be held. | 59 | be held. |
60 | 60 | ||
61 | 4. To look up the file structure given an fd, a reader | 61 | 4. To look up the file structure given an fd, a reader |
diff --git a/Documentation/filesystems/ntfs.txt b/Documentation/filesystems/ntfs.txt index 638cbd3d2b00..35f105b29e3e 100644 --- a/Documentation/filesystems/ntfs.txt +++ b/Documentation/filesystems/ntfs.txt | |||
@@ -13,7 +13,7 @@ Table of contents | |||
13 | - Using NTFS volume and stripe sets | 13 | - Using NTFS volume and stripe sets |
14 | - The Device-Mapper driver | 14 | - The Device-Mapper driver |
15 | - The Software RAID / MD driver | 15 | - The Software RAID / MD driver |
16 | - Limitiations when using the MD driver | 16 | - Limitations when using the MD driver |
17 | - ChangeLog | 17 | - ChangeLog |
18 | 18 | ||
19 | 19 | ||
@@ -43,7 +43,7 @@ There is plenty of additional information on the linux-ntfs web site | |||
43 | at http://linux-ntfs.sourceforge.net/ | 43 | at http://linux-ntfs.sourceforge.net/ |
44 | 44 | ||
45 | The web site has a lot of additional information, such as a comprehensive | 45 | The web site has a lot of additional information, such as a comprehensive |
46 | FAQ, documentation on the NTFS on-disk format, informaiton on the Linux-NTFS | 46 | FAQ, documentation on the NTFS on-disk format, information on the Linux-NTFS |
47 | userspace utilities, etc. | 47 | userspace utilities, etc. |
48 | 48 | ||
49 | 49 | ||
@@ -383,14 +383,14 @@ Software RAID / MD driver. For which you need to set up your /etc/raidtab | |||
383 | appropriately (see man 5 raidtab). | 383 | appropriately (see man 5 raidtab). |
384 | 384 | ||
385 | Linear volume sets, i.e. linear raid, as well as stripe sets, i.e. raid level | 385 | Linear volume sets, i.e. linear raid, as well as stripe sets, i.e. raid level |
386 | 0, have been tested and work fine (though see section "Limitiations when using | 386 | 0, have been tested and work fine (though see section "Limitations when using |
387 | the MD driver with NTFS volumes" especially if you want to use linear raid). | 387 | the MD driver with NTFS volumes" especially if you want to use linear raid). |
388 | Even though untested, there is no reason why mirrors, i.e. raid level 1, and | 388 | Even though untested, there is no reason why mirrors, i.e. raid level 1, and |
389 | stripes with parity, i.e. raid level 5, should not work, too. | 389 | stripes with parity, i.e. raid level 5, should not work, too. |
390 | 390 | ||
391 | You have to use the "persistent-superblock 0" option for each raid-disk in the | 391 | You have to use the "persistent-superblock 0" option for each raid-disk in the |
392 | NTFS volume/stripe you are configuring in /etc/raidtab as the persistent | 392 | NTFS volume/stripe you are configuring in /etc/raidtab as the persistent |
393 | superblock used by the MD driver would damange the NTFS volume. | 393 | superblock used by the MD driver would damage the NTFS volume. |
394 | 394 | ||
395 | Windows by default uses a stripe chunk size of 64k, so you probably want the | 395 | Windows by default uses a stripe chunk size of 64k, so you probably want the |
396 | "chunk-size 64k" option for each raid-disk, too. | 396 | "chunk-size 64k" option for each raid-disk, too. |
@@ -435,7 +435,7 @@ setup correctly to avoid the possibility of causing damage to the data on the | |||
435 | ntfs volume. | 435 | ntfs volume. |
436 | 436 | ||
437 | 437 | ||
438 | Limitiations when using the Software RAID / MD driver | 438 | Limitations when using the Software RAID / MD driver |
439 | ----------------------------------------------------- | 439 | ----------------------------------------------------- |
440 | 440 | ||
441 | Using the md driver will not work properly if any of your NTFS partitions have | 441 | Using the md driver will not work properly if any of your NTFS partitions have |
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index 7240ee7515de..3355e6920105 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt | |||
@@ -410,7 +410,7 @@ VmallocChunk: 111088 kB | |||
410 | this memory, making it slower to access than lowmem. | 410 | this memory, making it slower to access than lowmem. |
411 | LowTotal: | 411 | LowTotal: |
412 | LowFree: Lowmem is memory which can be used for everything that | 412 | LowFree: Lowmem is memory which can be used for everything that |
413 | highmem can be used for, but it is also availble for the | 413 | highmem can be used for, but it is also available for the |
414 | kernel's use for its own data structures. Among many | 414 | kernel's use for its own data structures. Among many |
415 | other things, it is where everything from the Slab is | 415 | other things, it is where everything from the Slab is |
416 | allocated. Bad things happen when you're out of lowmem. | 416 | allocated. Bad things happen when you're out of lowmem. |
@@ -1255,7 +1255,7 @@ to allocate (but not use) more memory than is actually available. | |||
1255 | address space are refused. Used for a typical system. It | 1255 | address space are refused. Used for a typical system. It |
1256 | ensures a seriously wild allocation fails while allowing | 1256 | ensures a seriously wild allocation fails while allowing |
1257 | overcommit to reduce swap usage. root is allowed to | 1257 | overcommit to reduce swap usage. root is allowed to |
1258 | allocate slighly more memory in this mode. This is the | 1258 | allocate slightly more memory in this mode. This is the |
1259 | default. | 1259 | default. |
1260 | 1260 | ||
1261 | 1 - Always overcommit. Appropriate for some scientific | 1261 | 1 - Always overcommit. Appropriate for some scientific |
@@ -1588,7 +1588,7 @@ Enable the strict RFC793 interpretation of the TCP urgent pointer field. The | |||
1588 | default is to use the BSD compatible interpretation of the urgent pointer | 1588 | default is to use the BSD compatible interpretation of the urgent pointer |
1589 | pointing to the first byte after the urgent data. The RFC793 interpretation is | 1589 | pointing to the first byte after the urgent data. The RFC793 interpretation is |
1590 | to have it point to the last byte of urgent data. Enabling this option may | 1590 | to have it point to the last byte of urgent data. Enabling this option may |
1591 | lead to interoperatibility problems. Disabled by default. | 1591 | lead to interoperability problems. Disabled by default. |
1592 | 1592 | ||
1593 | tcp_syncookies | 1593 | tcp_syncookies |
1594 | -------------- | 1594 | -------------- |
@@ -1733,7 +1733,7 @@ error_burst and error_cost | |||
1733 | 1733 | ||
1734 | These parameters are used to limit how many ICMP destination unreachable to | 1734 | These parameters are used to limit how many ICMP destination unreachable to |
1735 | send from the host in question. ICMP destination unreachable messages are | 1735 | send from the host in question. ICMP destination unreachable messages are |
1736 | sent when we can not reach the next hop, while trying to transmit a packet. | 1736 | sent when we cannot reach the next hop while trying to transmit a packet. |
1737 | It will also print some error messages to kernel logs if someone is ignoring | 1737 | It will also print some error messages to kernel logs if someone is ignoring |
1738 | our ICMP redirects. The higher the error_cost factor is, the fewer | 1738 | our ICMP redirects. The higher the error_cost factor is, the fewer |
1739 | destination unreachable and error messages will be let through. Error_burst | 1739 | destination unreachable and error messages will be let through. Error_burst |
@@ -1857,7 +1857,7 @@ proxy_qlen | |||
1857 | 1857 | ||
1858 | Maximum queue length of the delayed proxy arp timer. (see proxy_delay). | 1858 | Maximum queue length of the delayed proxy arp timer. (see proxy_delay). |
1859 | 1859 | ||
1860 | app_solcit | 1860 | app_solicit |
1861 | ---------- | 1861 | ---------- |
1862 | 1862 | ||
1863 | Determines the number of requests to send to the user level ARP daemon. Use 0 | 1863 | Determines the number of requests to send to the user level ARP daemon. Use 0 |
diff --git a/Documentation/filesystems/spufs.txt b/Documentation/filesystems/spufs.txt index 8edc3952eff4..982645a1981d 100644 --- a/Documentation/filesystems/spufs.txt +++ b/Documentation/filesystems/spufs.txt | |||
@@ -84,7 +84,7 @@ FILES | |||
84 | /ibox | 84 | /ibox |
85 | The second SPU to CPU communication mailbox. This file is similar to | 85 | The second SPU to CPU communication mailbox. This file is similar to |
86 | the first mailbox file, but can be read in blocking I/O mode, and the | 86 | the first mailbox file, but can be read in blocking I/O mode, and the |
87 | poll familiy of system calls can be used to wait for it. The possible | 87 | poll family of system calls can be used to wait for it. The possible |
88 | operations on an open ibox file are: | 88 | operations on an open ibox file are: |
89 | 89 | ||
90 | read(2) | 90 | read(2) |
@@ -105,7 +105,7 @@ FILES | |||
105 | 105 | ||
106 | 106 | ||
107 | /wbox | 107 | /wbox |
108 | The CPU to SPU communation mailbox. It is write-only can can be written | 108 | The CPU to SPU communation mailbox. It is write-only and can be written |
109 | in units of 32 bits. If the mailbox is full, write() will block and | 109 | in units of 32 bits. If the mailbox is full, write() will block and |
110 | poll can be used to wait for it becoming empty again. The possible | 110 | poll can be used to wait for it becoming empty again. The possible |
111 | operations on an open wbox file are: write(2) If a count smaller than | 111 | operations on an open wbox file are: write(2) If a count smaller than |
@@ -359,7 +359,7 @@ ERRORS | |||
359 | EFAULT npc is not a valid pointer or status is neither NULL nor a valid | 359 | EFAULT npc is not a valid pointer or status is neither NULL nor a valid |
360 | pointer. | 360 | pointer. |
361 | 361 | ||
362 | EINTR A signal occured while spu_run was in progress. The npc value | 362 | EINTR A signal occurred while spu_run was in progress. The npc value |
363 | has been updated to the new program counter value if necessary. | 363 | has been updated to the new program counter value if necessary. |
364 | 364 | ||
365 | EINVAL fd is not a file descriptor returned from spu_create(2). | 365 | EINVAL fd is not a file descriptor returned from spu_create(2). |
diff --git a/Documentation/filesystems/sysfs.txt b/Documentation/filesystems/sysfs.txt index 89b1d196ca80..4b5ca26e5048 100644 --- a/Documentation/filesystems/sysfs.txt +++ b/Documentation/filesystems/sysfs.txt | |||
@@ -238,7 +238,7 @@ Top Level Directory Layout | |||
238 | The sysfs directory arrangement exposes the relationship of kernel | 238 | The sysfs directory arrangement exposes the relationship of kernel |
239 | data structures. | 239 | data structures. |
240 | 240 | ||
241 | The top level sysfs diretory looks like: | 241 | The top level sysfs directory looks like: |
242 | 242 | ||
243 | block/ | 243 | block/ |
244 | bus/ | 244 | bus/ |
diff --git a/Documentation/filesystems/tmpfs.txt b/Documentation/filesystems/tmpfs.txt index 1773106976a2..6dd050878a20 100644 --- a/Documentation/filesystems/tmpfs.txt +++ b/Documentation/filesystems/tmpfs.txt | |||
@@ -39,7 +39,7 @@ tmpfs has the following uses: | |||
39 | tmpfs /dev/shm tmpfs defaults 0 0 | 39 | tmpfs /dev/shm tmpfs defaults 0 0 |
40 | 40 | ||
41 | Remember to create the directory that you intend to mount tmpfs on | 41 | Remember to create the directory that you intend to mount tmpfs on |
42 | if necessary (/dev/shm is automagically created if you use devfs). | 42 | if necessary. |
43 | 43 | ||
44 | This mount is _not_ needed for SYSV shared memory. The internal | 44 | This mount is _not_ needed for SYSV shared memory. The internal |
45 | mount is used for that. (In the 2.3 kernel versions it was | 45 | mount is used for that. (In the 2.3 kernel versions it was |
@@ -63,7 +63,7 @@ size: The limit of allocated bytes for this tmpfs instance. The | |||
63 | nr_blocks: The same as size, but in blocks of PAGE_CACHE_SIZE. | 63 | nr_blocks: The same as size, but in blocks of PAGE_CACHE_SIZE. |
64 | nr_inodes: The maximum number of inodes for this instance. The default | 64 | nr_inodes: The maximum number of inodes for this instance. The default |
65 | is half of the number of your physical RAM pages, or (on a | 65 | is half of the number of your physical RAM pages, or (on a |
66 | a machine with highmem) the number of lowmem RAM pages, | 66 | machine with highmem) the number of lowmem RAM pages, |
67 | whichever is the lower. | 67 | whichever is the lower. |
68 | 68 | ||
69 | These parameters accept a suffix k, m or g for kilo, mega and giga and | 69 | These parameters accept a suffix k, m or g for kilo, mega and giga and |
diff --git a/Documentation/filesystems/vfat.txt b/Documentation/filesystems/vfat.txt index 2001abbc60e6..069cb1094300 100644 --- a/Documentation/filesystems/vfat.txt +++ b/Documentation/filesystems/vfat.txt | |||
@@ -35,7 +35,7 @@ iocharset=name -- Character set to use for converting between the | |||
35 | you should consider the following option instead. | 35 | you should consider the following option instead. |
36 | 36 | ||
37 | utf8=<bool> -- UTF-8 is the filesystem safe version of Unicode that | 37 | utf8=<bool> -- UTF-8 is the filesystem safe version of Unicode that |
38 | is used by the console. It can be be enabled for the | 38 | is used by the console. It can be enabled for the |
39 | filesystem with this option. If 'uni_xlate' gets set, | 39 | filesystem with this option. If 'uni_xlate' gets set, |
40 | UTF-8 gets disabled. | 40 | UTF-8 gets disabled. |
41 | 41 | ||
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt index cd07c21b8400..7737bfd03cf8 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt | |||
@@ -410,7 +410,7 @@ otherwise noted. | |||
410 | 410 | ||
411 | put_link: called by the VFS to release resources allocated by | 411 | put_link: called by the VFS to release resources allocated by |
412 | follow_link(). The cookie returned by follow_link() is passed | 412 | follow_link(). The cookie returned by follow_link() is passed |
413 | to to this method as the last parameter. It is used by | 413 | to this method as the last parameter. It is used by |
414 | filesystems such as NFS where page cache is not stable | 414 | filesystems such as NFS where page cache is not stable |
415 | (i.e. page that was installed when the symbolic link walk | 415 | (i.e. page that was installed when the symbolic link walk |
416 | started might not be in the page cache at the end of the | 416 | started might not be in the page cache at the end of the |
diff --git a/Documentation/fujitsu/frv/mmu-layout.txt b/Documentation/fujitsu/frv/mmu-layout.txt index 11dcc5679887..db10250df6be 100644 --- a/Documentation/fujitsu/frv/mmu-layout.txt +++ b/Documentation/fujitsu/frv/mmu-layout.txt | |||
@@ -233,7 +233,7 @@ related kernel services: | |||
233 | (*) __debug_mmu.iamr[] | 233 | (*) __debug_mmu.iamr[] |
234 | (*) __debug_mmu.damr[] | 234 | (*) __debug_mmu.damr[] |
235 | 235 | ||
236 | These receive the current IAMR and DAMR contents. These can be viewed with with the _amr | 236 | These receive the current IAMR and DAMR contents. These can be viewed with the _amr |
237 | GDB macro: | 237 | GDB macro: |
238 | 238 | ||
239 | (gdb) _amr | 239 | (gdb) _amr |
diff --git a/Documentation/highuid.txt b/Documentation/highuid.txt index 2c33926b9099..76034d9dbfc0 100644 --- a/Documentation/highuid.txt +++ b/Documentation/highuid.txt | |||
@@ -57,7 +57,7 @@ What's left to be done for 32-bit UIDs on all Linux architectures: | |||
57 | 57 | ||
58 | Other filesystems have not been checked yet. | 58 | Other filesystems have not been checked yet. |
59 | 59 | ||
60 | - The ncpfs and smpfs filesystems can not presently use 32-bit UIDs in | 60 | - The ncpfs and smpfs filesystems cannot presently use 32-bit UIDs in |
61 | all ioctl()s. Some new ioctl()s have been added with 32-bit UIDs, but | 61 | all ioctl()s. Some new ioctl()s have been added with 32-bit UIDs, but |
62 | more are needed. (as well as new user<->kernel data structures) | 62 | more are needed. (as well as new user<->kernel data structures) |
63 | 63 | ||
diff --git a/Documentation/hrtimers.txt b/Documentation/hrtimers.txt index 7620ff735faf..ce31f65e12e7 100644 --- a/Documentation/hrtimers.txt +++ b/Documentation/hrtimers.txt | |||
@@ -10,7 +10,7 @@ back and forth trying to integrate high-resolution and high-precision | |||
10 | features into the existing timer framework, and after testing various | 10 | features into the existing timer framework, and after testing various |
11 | such high-resolution timer implementations in practice, we came to the | 11 | such high-resolution timer implementations in practice, we came to the |
12 | conclusion that the timer wheel code is fundamentally not suitable for | 12 | conclusion that the timer wheel code is fundamentally not suitable for |
13 | such an approach. We initially didnt believe this ('there must be a way | 13 | such an approach. We initially didn't believe this ('there must be a way |
14 | to solve this'), and spent a considerable effort trying to integrate | 14 | to solve this'), and spent a considerable effort trying to integrate |
15 | things into the timer wheel, but we failed. In hindsight, there are | 15 | things into the timer wheel, but we failed. In hindsight, there are |
16 | several reasons why such integration is hard/impossible: | 16 | several reasons why such integration is hard/impossible: |
@@ -27,7 +27,7 @@ several reasons why such integration is hard/impossible: | |||
27 | high-res timers. | 27 | high-res timers. |
28 | 28 | ||
29 | - the unpredictable [O(N)] overhead of cascading leads to delays which | 29 | - the unpredictable [O(N)] overhead of cascading leads to delays which |
30 | necessiate a more complex handling of high resolution timers, which | 30 | necessitate a more complex handling of high resolution timers, which |
31 | in turn decreases robustness. Such a design still led to rather large | 31 | in turn decreases robustness. Such a design still led to rather large |
32 | timing inaccuracies. Cascading is a fundamental property of the timer | 32 | timing inaccuracies. Cascading is a fundamental property of the timer |
33 | wheel concept, it cannot be 'designed out' without unevitably | 33 | wheel concept, it cannot be 'designed out' without unevitably |
@@ -58,7 +58,7 @@ several reasons why such integration is hard/impossible: | |||
58 | The primary users of precision timers are user-space applications that | 58 | The primary users of precision timers are user-space applications that |
59 | utilize nanosleep, posix-timers and itimer interfaces. Also, in-kernel | 59 | utilize nanosleep, posix-timers and itimer interfaces. Also, in-kernel |
60 | users like drivers and subsystems which require precise timed events | 60 | users like drivers and subsystems which require precise timed events |
61 | (e.g. multimedia) can benefit from the availability of a seperate | 61 | (e.g. multimedia) can benefit from the availability of a separate |
62 | high-resolution timer subsystem as well. | 62 | high-resolution timer subsystem as well. |
63 | 63 | ||
64 | While this subsystem does not offer high-resolution clock sources just | 64 | While this subsystem does not offer high-resolution clock sources just |
@@ -68,7 +68,7 @@ The increasing demand for realtime and multimedia applications along | |||
68 | with other potential users for precise timers gives another reason to | 68 | with other potential users for precise timers gives another reason to |
69 | separate the "timeout" and "precise timer" subsystems. | 69 | separate the "timeout" and "precise timer" subsystems. |
70 | 70 | ||
71 | Another potential benefit is that such a seperation allows even more | 71 | Another potential benefit is that such a separation allows even more |
72 | special-purpose optimization of the existing timer wheel for the low | 72 | special-purpose optimization of the existing timer wheel for the low |
73 | resolution and low precision use cases - once the precision-sensitive | 73 | resolution and low precision use cases - once the precision-sensitive |
74 | APIs are separated from the timer wheel and are migrated over to | 74 | APIs are separated from the timer wheel and are migrated over to |
@@ -96,8 +96,8 @@ file systems. The rbtree is solely used for time sorted ordering, while | |||
96 | a separate list is used to give the expiry code fast access to the | 96 | a separate list is used to give the expiry code fast access to the |
97 | queued timers, without having to walk the rbtree. | 97 | queued timers, without having to walk the rbtree. |
98 | 98 | ||
99 | (This seperate list is also useful for later when we'll introduce | 99 | (This separate list is also useful for later when we'll introduce |
100 | high-resolution clocks, where we need seperate pending and expired | 100 | high-resolution clocks, where we need separate pending and expired |
101 | queues while keeping the time-order intact.) | 101 | queues while keeping the time-order intact.) |
102 | 102 | ||
103 | Time-ordered enqueueing is not purely for the purposes of | 103 | Time-ordered enqueueing is not purely for the purposes of |
diff --git a/Documentation/ia64/efirtc.txt b/Documentation/ia64/efirtc.txt index ede2c1e51cd7..057e6bebda8f 100644 --- a/Documentation/ia64/efirtc.txt +++ b/Documentation/ia64/efirtc.txt | |||
@@ -26,7 +26,7 @@ to initialize the system view of the time during boot. | |||
26 | Because we wanted to minimize the impact on existing user-level apps using | 26 | Because we wanted to minimize the impact on existing user-level apps using |
27 | the CMOS clock, we decided to expose an API that was very similar to the one | 27 | the CMOS clock, we decided to expose an API that was very similar to the one |
28 | used today with the legacy RTC driver (driver/char/rtc.c). However, because | 28 | used today with the legacy RTC driver (driver/char/rtc.c). However, because |
29 | EFI provides a simpler services, not all all ioctl() are available. Also | 29 | EFI provides a simpler services, not all ioctl() are available. Also |
30 | new ioctl()s have been introduced for things that EFI provides but not the | 30 | new ioctl()s have been introduced for things that EFI provides but not the |
31 | legacy. | 31 | legacy. |
32 | 32 | ||
diff --git a/Documentation/ia64/fsys.txt b/Documentation/ia64/fsys.txt index 28da181f9966..59dd689d9b86 100644 --- a/Documentation/ia64/fsys.txt +++ b/Documentation/ia64/fsys.txt | |||
@@ -165,7 +165,7 @@ complicated cases. | |||
165 | * Signal handling | 165 | * Signal handling |
166 | 166 | ||
167 | The delivery of (asynchronous) signals must be delayed until fsys-mode | 167 | The delivery of (asynchronous) signals must be delayed until fsys-mode |
168 | is exited. This is acomplished with the help of the lower-privilege | 168 | is exited. This is accomplished with the help of the lower-privilege |
169 | transfer trap: arch/ia64/kernel/process.c:do_notify_resume_user() | 169 | transfer trap: arch/ia64/kernel/process.c:do_notify_resume_user() |
170 | checks whether the interrupted task was in fsys-mode and, if so, sets | 170 | checks whether the interrupted task was in fsys-mode and, if so, sets |
171 | PSR.lp and returns immediately. When fsys-mode is exited via the | 171 | PSR.lp and returns immediately. When fsys-mode is exited via the |
diff --git a/Documentation/ia64/mca.txt b/Documentation/ia64/mca.txt index a71cc6a67ef7..f097c60cba1b 100644 --- a/Documentation/ia64/mca.txt +++ b/Documentation/ia64/mca.txt | |||
@@ -12,7 +12,7 @@ by locks is indeterminate, including linked lists. | |||
12 | --- | 12 | --- |
13 | 13 | ||
14 | The complicated ia64 MCA process. All of this is mandated by Intel's | 14 | The complicated ia64 MCA process. All of this is mandated by Intel's |
15 | specification for ia64 SAL, error recovery and and unwind, it is not as | 15 | specification for ia64 SAL, error recovery and unwind, it is not as |
16 | if we have a choice here. | 16 | if we have a choice here. |
17 | 17 | ||
18 | * MCA occurs on one cpu, usually due to a double bit memory error. | 18 | * MCA occurs on one cpu, usually due to a double bit memory error. |
@@ -94,7 +94,7 @@ if we have a choice here. | |||
94 | 94 | ||
95 | INIT is less complicated than MCA. Pressing the nmi button or using | 95 | INIT is less complicated than MCA. Pressing the nmi button or using |
96 | the equivalent command on the management console sends INIT to all | 96 | the equivalent command on the management console sends INIT to all |
97 | cpus. SAL picks one one of the cpus as the monarch and the rest are | 97 | cpus. SAL picks one of the cpus as the monarch and the rest are |
98 | slaves. All the OS INIT handlers are entered at approximately the same | 98 | slaves. All the OS INIT handlers are entered at approximately the same |
99 | time. The OS monarch prints the state of all tasks and returns, after | 99 | time. The OS monarch prints the state of all tasks and returns, after |
100 | which the slaves return and the system resumes. | 100 | which the slaves return and the system resumes. |
diff --git a/Documentation/ibm-acpi.txt b/Documentation/ibm-acpi.txt index 8b3fd82b2ce7..71aa40345272 100644 --- a/Documentation/ibm-acpi.txt +++ b/Documentation/ibm-acpi.txt | |||
@@ -450,7 +450,7 @@ his laptop (the location of sensors may vary on other models): | |||
450 | 450 | ||
451 | No commands can be written to this file. | 451 | No commands can be written to this file. |
452 | 452 | ||
453 | EXPERIMENTAL: Embedded controller reigster dump -- /proc/acpi/ibm/ecdump | 453 | EXPERIMENTAL: Embedded controller register dump -- /proc/acpi/ibm/ecdump |
454 | ------------------------------------------------------------------------ | 454 | ------------------------------------------------------------------------ |
455 | 455 | ||
456 | This feature is marked EXPERIMENTAL because the implementation | 456 | This feature is marked EXPERIMENTAL because the implementation |
diff --git a/Documentation/ide.txt b/Documentation/ide.txt index 29866fbfb229..0bf38baa2db9 100644 --- a/Documentation/ide.txt +++ b/Documentation/ide.txt | |||
@@ -281,7 +281,7 @@ Summary of ide driver parameters for kernel command line | |||
281 | 281 | ||
282 | "idex=serialize" : do not overlap operations on idex. Please note | 282 | "idex=serialize" : do not overlap operations on idex. Please note |
283 | that you will have to specify this option for | 283 | that you will have to specify this option for |
284 | both the respecitve primary and secondary channel | 284 | both the respective primary and secondary channel |
285 | to take effect. | 285 | to take effect. |
286 | 286 | ||
287 | "idex=four" : four drives on idex and ide(x^1) share same ports | 287 | "idex=four" : four drives on idex and ide(x^1) share same ports |
diff --git a/Documentation/input/amijoy.txt b/Documentation/input/amijoy.txt index 3b8b2d43a68e..4f0e89df5c51 100644 --- a/Documentation/input/amijoy.txt +++ b/Documentation/input/amijoy.txt | |||
@@ -79,10 +79,10 @@ JOY0DAT Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 X7 X6 X5 X4 X3 X2 X1 X0 | |||
79 | JOY1DAT Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 X7 X6 X5 X4 X3 X2 X1 X0 | 79 | JOY1DAT Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 X7 X6 X5 X4 X3 X2 X1 X0 |
80 | 80 | ||
81 | 0=LEFT CONTROLLER PAIR, 1=RIGHT CONTROLLER PAIR. | 81 | 0=LEFT CONTROLLER PAIR, 1=RIGHT CONTROLLER PAIR. |
82 | (4 counters total).The bit usage for both left and right | 82 | (4 counters total). The bit usage for both left and right |
83 | addresses is shown below. Each 6 bit counter (Y7-Y2,X7-X2) is | 83 | addresses is shown below. Each 6 bit counter (Y7-Y2,X7-X2) is |
84 | clocked by 2 of the signals input from the mouse serial | 84 | clocked by 2 of the signals input from the mouse serial |
85 | stream. Starting with first bit recived: | 85 | stream. Starting with first bit received: |
86 | 86 | ||
87 | +-------------------+-----------------------------------------+ | 87 | +-------------------+-----------------------------------------+ |
88 | | Serial | Bit Name | Description | | 88 | | Serial | Bit Name | Description | |
diff --git a/Documentation/input/atarikbd.txt b/Documentation/input/atarikbd.txt index 8fb896c74114..1e7e5853ba4c 100644 --- a/Documentation/input/atarikbd.txt +++ b/Documentation/input/atarikbd.txt | |||
@@ -10,7 +10,7 @@ provides a convenient connection point for a mouse and switch-type joysticks. | |||
10 | The ikbd processor also maintains a time-of-day clock with one second | 10 | The ikbd processor also maintains a time-of-day clock with one second |
11 | resolution. | 11 | resolution. |
12 | The ikbd has been designed to be general enough that it can be used with a | 12 | The ikbd has been designed to be general enough that it can be used with a |
13 | ariety of new computer products. Product variations in a number of | 13 | variety of new computer products. Product variations in a number of |
14 | keyswitches, mouse resolution, etc. can be accommodated. | 14 | keyswitches, mouse resolution, etc. can be accommodated. |
15 | The ikbd communicates with the main processor over a high speed bi-directional | 15 | The ikbd communicates with the main processor over a high speed bi-directional |
16 | serial interface. It can function in a variety of modes to facilitate | 16 | serial interface. It can function in a variety of modes to facilitate |
@@ -30,7 +30,7 @@ is obtained by ORing 0x80 with the make code. | |||
30 | The special codes 0xF6 through 0xFF are reserved for use as follows: | 30 | The special codes 0xF6 through 0xFF are reserved for use as follows: |
31 | 0xF6 status report | 31 | 0xF6 status report |
32 | 0xF7 absolute mouse position record | 32 | 0xF7 absolute mouse position record |
33 | 0xF8-0xFB relative mouse position records(lsbs determind by | 33 | 0xF8-0xFB relative mouse position records (lsbs determined by |
34 | mouse button states) | 34 | mouse button states) |
35 | 0xFC time-of-day | 35 | 0xFC time-of-day |
36 | 0xFD joystick report (both sticks) | 36 | 0xFD joystick report (both sticks) |
@@ -84,7 +84,7 @@ selected. | |||
84 | 4.2 Absolute Position reporting | 84 | 4.2 Absolute Position reporting |
85 | 85 | ||
86 | The ikbd can also maintain absolute mouse position. Commands exist for | 86 | The ikbd can also maintain absolute mouse position. Commands exist for |
87 | reseting the mouse position, setting X/Y scaling, and interrogating the | 87 | resetting the mouse position, setting X/Y scaling, and interrogating the |
88 | current mouse position. | 88 | current mouse position. |
89 | 89 | ||
90 | 4.3 Mouse Cursor Key Mode | 90 | 4.3 Mouse Cursor Key Mode |
@@ -406,7 +406,7 @@ INTERROGATION MODE. | |||
406 | 9.18 SET JOYSTICK MONITORING | 406 | 9.18 SET JOYSTICK MONITORING |
407 | 407 | ||
408 | 0x17 | 408 | 0x17 |
409 | rate ; time between samples in hundreths of a second | 409 | rate ; time between samples in hundredths of a second |
410 | Returns: (in packets of two as long as in mode) | 410 | Returns: (in packets of two as long as in mode) |
411 | %000000xy ; where y is JOYSTICK1 Fire button | 411 | %000000xy ; where y is JOYSTICK1 Fire button |
412 | ; and x is JOYSTICK0 Fire button | 412 | ; and x is JOYSTICK0 Fire button |
@@ -522,7 +522,7 @@ controller memory. The time between data bytes must be less than 20ms. | |||
522 | 0x20 ; memory access | 522 | 0x20 ; memory access |
523 | { data } ; 6 data bytes starting at ADR | 523 | { data } ; 6 data bytes starting at ADR |
524 | 524 | ||
525 | This comand permits the host to read from the ikbd controller memory. | 525 | This command permits the host to read from the ikbd controller memory. |
526 | 526 | ||
527 | 9.26 CONTROLLER EXECUTE | 527 | 9.26 CONTROLLER EXECUTE |
528 | 528 | ||
diff --git a/Documentation/input/cs461x.txt b/Documentation/input/cs461x.txt index 6181747a14d8..afe0d6543e09 100644 --- a/Documentation/input/cs461x.txt +++ b/Documentation/input/cs461x.txt | |||
@@ -27,7 +27,7 @@ This driver have the basic support for PCI devices only; there is no | |||
27 | ISA or PnP ISA cards supported. AFAIK the ns558 have support for Crystal | 27 | ISA or PnP ISA cards supported. AFAIK the ns558 have support for Crystal |
28 | ISA and PnP ISA series. | 28 | ISA and PnP ISA series. |
29 | 29 | ||
30 | The driver works witn ALSA drivers simultaneously. For exmple, the xracer | 30 | The driver works with ALSA drivers simultaneously. For example, the xracer |
31 | uses joystick as input device and PCM device as sound output in one time. | 31 | uses joystick as input device and PCM device as sound output in one time. |
32 | There are no sound or input collisions detected. The source code have | 32 | There are no sound or input collisions detected. The source code have |
33 | comments about them; but I've found the joystick can be initialized | 33 | comments about them; but I've found the joystick can be initialized |
diff --git a/Documentation/input/ff.txt b/Documentation/input/ff.txt index c53b1c11aa40..085eb15b45b7 100644 --- a/Documentation/input/ff.txt +++ b/Documentation/input/ff.txt | |||
@@ -38,7 +38,7 @@ joystick.txt for details. | |||
38 | There is an utility called fftest that will allow you to test the driver. | 38 | There is an utility called fftest that will allow you to test the driver. |
39 | % fftest /dev/input/eventXX | 39 | % fftest /dev/input/eventXX |
40 | 40 | ||
41 | 3. Instructions to the developper | 41 | 3. Instructions to the developer |
42 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 42 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
43 | All interactions are done using the event API. That is, you can use ioctl() | 43 | All interactions are done using the event API. That is, you can use ioctl() |
44 | and write() on /dev/input/eventXX. | 44 | and write() on /dev/input/eventXX. |
diff --git a/Documentation/input/gameport-programming.txt b/Documentation/input/gameport-programming.txt index 1ba3d322e0ac..14e0a8b70225 100644 --- a/Documentation/input/gameport-programming.txt +++ b/Documentation/input/gameport-programming.txt | |||
@@ -18,8 +18,8 @@ Make sure struct gameport is initialized to 0 in all other fields. The | |||
18 | gameport generic code will take care of the rest. | 18 | gameport generic code will take care of the rest. |
19 | 19 | ||
20 | If your hardware supports more than one io address, and your driver can | 20 | If your hardware supports more than one io address, and your driver can |
21 | choose which one program the hardware to, starting from the more exotic | 21 | choose which one to program the hardware to, starting from the more exotic |
22 | addresses is preferred, because the likelyhood of clashing with the standard | 22 | addresses is preferred, because the likelihood of clashing with the standard |
23 | 0x201 address is smaller. | 23 | 0x201 address is smaller. |
24 | 24 | ||
25 | Eg. if your driver supports addresses 0x200, 0x208, 0x210 and 0x218, then | 25 | Eg. if your driver supports addresses 0x200, 0x208, 0x210 and 0x218, then |
diff --git a/Documentation/input/input.txt b/Documentation/input/input.txt index 47137e75fdb8..ff8cea0225f9 100644 --- a/Documentation/input/input.txt +++ b/Documentation/input/input.txt | |||
@@ -68,8 +68,8 @@ will be available as a character device on major 13, minor 63: | |||
68 | 68 | ||
69 | crw-r--r-- 1 root root 13, 63 Mar 28 22:45 mice | 69 | crw-r--r-- 1 root root 13, 63 Mar 28 22:45 mice |
70 | 70 | ||
71 | This device has to be created, unless you use devfs, in which case it's | 71 | This device has to be created. |
72 | created automatically. The commands to do create it by hand are: | 72 | The commands to create it by hand are: |
73 | 73 | ||
74 | cd /dev | 74 | cd /dev |
75 | mkdir input | 75 | mkdir input |
@@ -154,7 +154,7 @@ about it. | |||
154 | 154 | ||
155 | 3.2 Event handlers | 155 | 3.2 Event handlers |
156 | ~~~~~~~~~~~~~~~~~~ | 156 | ~~~~~~~~~~~~~~~~~~ |
157 | Event handlers distrubite the events from the devices to userland and | 157 | Event handlers distribute the events from the devices to userland and |
158 | kernel, as needed. | 158 | kernel, as needed. |
159 | 159 | ||
160 | 3.2.1 keybdev | 160 | 3.2.1 keybdev |
@@ -230,7 +230,7 @@ generated in the kernel straight to the program, with timestamps. The | |||
230 | API is still evolving, but should be useable now. It's described in | 230 | API is still evolving, but should be useable now. It's described in |
231 | section 5. | 231 | section 5. |
232 | 232 | ||
233 | This should be the way for GPM and X to get keyboard and mouse mouse | 233 | This should be the way for GPM and X to get keyboard and mouse |
234 | events. It allows for multihead in X without any specific multihead | 234 | events. It allows for multihead in X without any specific multihead |
235 | kernel support. The event codes are the same on all architectures and | 235 | kernel support. The event codes are the same on all architectures and |
236 | are hardware independent. | 236 | are hardware independent. |
@@ -279,7 +279,7 @@ struct input_event { | |||
279 | }; | 279 | }; |
280 | 280 | ||
281 | 'time' is the timestamp, it returns the time at which the event happened. | 281 | 'time' is the timestamp, it returns the time at which the event happened. |
282 | Type is for example EV_REL for relative momement, REL_KEY for a keypress or | 282 | Type is for example EV_REL for relative moment, REL_KEY for a keypress or |
283 | release. More types are defined in include/linux/input.h. | 283 | release. More types are defined in include/linux/input.h. |
284 | 284 | ||
285 | 'code' is event code, for example REL_X or KEY_BACKSPACE, again a complete | 285 | 'code' is event code, for example REL_X or KEY_BACKSPACE, again a complete |
@@ -289,24 +289,3 @@ list is in include/linux/input.h. | |||
289 | EV_REL, absolute new value for EV_ABS (joysticks ...), or 0 for EV_KEY for | 289 | EV_REL, absolute new value for EV_ABS (joysticks ...), or 0 for EV_KEY for |
290 | release, 1 for keypress and 2 for autorepeat. | 290 | release, 1 for keypress and 2 for autorepeat. |
291 | 291 | ||
292 | 6. Contacts | ||
293 | ~~~~~~~~~~~ | ||
294 | This effort has its home page at: | ||
295 | |||
296 | http://www.suse.cz/development/input/ | ||
297 | |||
298 | You'll find both the latest HID driver and the complete Input driver | ||
299 | there as well as information how to access the CVS repository for | ||
300 | latest revisions of the drivers. | ||
301 | |||
302 | There is also a mailing list for this: | ||
303 | |||
304 | majordomo@atrey.karlin.mff.cuni.cz | ||
305 | |||
306 | Send "subscribe linux-input" to subscribe to it. | ||
307 | |||
308 | The input changes are also being worked on as part of the LinuxConsole | ||
309 | project, see: | ||
310 | |||
311 | http://sourceforge.net/projects/linuxconsole/ | ||
312 | |||
diff --git a/Documentation/input/joystick-parport.txt b/Documentation/input/joystick-parport.txt index d537c48cc6d0..ede5f33daad3 100644 --- a/Documentation/input/joystick-parport.txt +++ b/Documentation/input/joystick-parport.txt | |||
@@ -456,8 +456,8 @@ uses the following kernel/module command line: | |||
456 | 8 | Sony PSX DDR controller | 456 | 8 | Sony PSX DDR controller |
457 | 9 | SNES mouse | 457 | 9 | SNES mouse |
458 | 458 | ||
459 | The exact type of the PSX controller type is autoprobed when used so | 459 | The exact type of the PSX controller type is autoprobed when used, so |
460 | hot swapping should work (but is not recomended). | 460 | hot swapping should work (but is not recommended). |
461 | 461 | ||
462 | Should you want to use more than one of parallel ports at once, you can use | 462 | Should you want to use more than one of parallel ports at once, you can use |
463 | gamecon.map2 and gamecon.map3 as additional command line parameters for two | 463 | gamecon.map2 and gamecon.map3 as additional command line parameters for two |
@@ -465,8 +465,8 @@ more parallel ports. | |||
465 | 465 | ||
466 | There are two options specific to PSX driver portion. gamecon.psx_delay sets | 466 | There are two options specific to PSX driver portion. gamecon.psx_delay sets |
467 | the command delay when talking to the controllers. The default of 25 should | 467 | the command delay when talking to the controllers. The default of 25 should |
468 | work but you can try lowering it for better performace. If your pads don't | 468 | work but you can try lowering it for better performance. If your pads don't |
469 | respond try raising it untill they work. Setting the type to 8 allows the | 469 | respond try raising it until they work. Setting the type to 8 allows the |
470 | driver to be used with Dance Dance Revolution or similar games. Arrow keys are | 470 | driver to be used with Dance Dance Revolution or similar games. Arrow keys are |
471 | registered as key presses instead of X and Y axes. | 471 | registered as key presses instead of X and Y axes. |
472 | 472 | ||
diff --git a/Documentation/input/joystick.txt b/Documentation/input/joystick.txt index 841c353297e6..389de9bd9878 100644 --- a/Documentation/input/joystick.txt +++ b/Documentation/input/joystick.txt | |||
@@ -60,7 +60,7 @@ and install it before going on. | |||
60 | 60 | ||
61 | 2.2 Device nodes | 61 | 2.2 Device nodes |
62 | ~~~~~~~~~~~~~~~~ | 62 | ~~~~~~~~~~~~~~~~ |
63 | For applications to be able to use the joysticks, in you don't use devfs, | 63 | For applications to be able to use the joysticks, |
64 | you'll have to manually create these nodes in /dev: | 64 | you'll have to manually create these nodes in /dev: |
65 | 65 | ||
66 | cd /dev | 66 | cd /dev |
diff --git a/Documentation/input/yealink.txt b/Documentation/input/yealink.txt index 0962c5c948be..0a8c97e87d47 100644 --- a/Documentation/input/yealink.txt +++ b/Documentation/input/yealink.txt | |||
@@ -87,13 +87,13 @@ Line 3 Format : 888888888888 | |||
87 | 87 | ||
88 | 88 | ||
89 | Format description: | 89 | Format description: |
90 | From a user space perspective the world is seperated in "digits" and "icons". | 90 | From a userspace perspective the world is separated into "digits" and "icons". |
91 | A digit can have a character set, an icon can only be ON or OFF. | 91 | A digit can have a character set, an icon can only be ON or OFF. |
92 | 92 | ||
93 | Format specifier | 93 | Format specifier |
94 | '8' : Generic 7 segment digit with individual addressable segments | 94 | '8' : Generic 7 segment digit with individual addressable segments |
95 | 95 | ||
96 | Reduced capabillity 7 segm digit, when segments are hard wired together. | 96 | Reduced capability 7 segm digit, when segments are hard wired together. |
97 | '1' : 2 segments digit only able to produce a 1. | 97 | '1' : 2 segments digit only able to produce a 1. |
98 | 'e' : Most significant day of the month digit, | 98 | 'e' : Most significant day of the month digit, |
99 | able to produce at least 1 2 3. | 99 | able to produce at least 1 2 3. |
diff --git a/Documentation/ioctl/hdio.txt b/Documentation/ioctl/hdio.txt index 11c9be49f37c..c19efdeace2c 100644 --- a/Documentation/ioctl/hdio.txt +++ b/Documentation/ioctl/hdio.txt | |||
@@ -203,7 +203,7 @@ HDIO_SET_MULTCOUNT change IDE blockmode | |||
203 | 203 | ||
204 | Source code comments read: | 204 | Source code comments read: |
205 | 205 | ||
206 | This is tightly woven into the driver->do_special can not | 206 | This is tightly woven into the driver->do_special cannot |
207 | touch. DON'T do it again until a total personality rewrite | 207 | touch. DON'T do it again until a total personality rewrite |
208 | is committed. | 208 | is committed. |
209 | 209 | ||
diff --git a/Documentation/isdn/INTERFACE.fax b/Documentation/isdn/INTERFACE.fax index 7e5731319e30..9c8c6d914ec7 100644 --- a/Documentation/isdn/INTERFACE.fax +++ b/Documentation/isdn/INTERFACE.fax | |||
@@ -26,7 +26,7 @@ Structure T30_s description: | |||
26 | If the HL-driver receives ISDN_CMD_FAXCMD, all needed information | 26 | If the HL-driver receives ISDN_CMD_FAXCMD, all needed information |
27 | is in this struct set by the LL. | 27 | is in this struct set by the LL. |
28 | To signal information to the LL, the HL-driver has to set the | 28 | To signal information to the LL, the HL-driver has to set the |
29 | the parameters and use ISDN_STAT_FAXIND. | 29 | parameters and use ISDN_STAT_FAXIND. |
30 | (Please refer to INTERFACE) | 30 | (Please refer to INTERFACE) |
31 | 31 | ||
32 | Structure T30_s: | 32 | Structure T30_s: |
diff --git a/Documentation/isdn/README.hysdn b/Documentation/isdn/README.hysdn index 56cc59df1fb7..eeca11f00ccd 100644 --- a/Documentation/isdn/README.hysdn +++ b/Documentation/isdn/README.hysdn | |||
@@ -1,6 +1,6 @@ | |||
1 | $Id: README.hysdn,v 1.3.6.1 2001/02/10 14:41:19 kai Exp $ | 1 | $Id: README.hysdn,v 1.3.6.1 2001/02/10 14:41:19 kai Exp $ |
2 | The hysdn driver has been written by | 2 | The hysdn driver has been written by |
3 | by Werner Cornelius (werner@isdn4linux.de or werner@titro.de) | 3 | Werner Cornelius (werner@isdn4linux.de or werner@titro.de) |
4 | for Hypercope GmbH Aachen Germany. Hypercope agreed to publish this driver | 4 | for Hypercope GmbH Aachen Germany. Hypercope agreed to publish this driver |
5 | under the GNU General Public License. | 5 | under the GNU General Public License. |
6 | 6 | ||
diff --git a/Documentation/java.txt b/Documentation/java.txt index e4814c213301..c768dc63b34e 100644 --- a/Documentation/java.txt +++ b/Documentation/java.txt | |||
@@ -22,7 +22,7 @@ other program after you have done the following: | |||
22 | the kernel (CONFIG_BINFMT_MISC) and set it up properly. | 22 | the kernel (CONFIG_BINFMT_MISC) and set it up properly. |
23 | If you choose to compile it as a module, you will have | 23 | If you choose to compile it as a module, you will have |
24 | to insert it manually with modprobe/insmod, as kmod | 24 | to insert it manually with modprobe/insmod, as kmod |
25 | can not easily be supported with binfmt_misc. | 25 | cannot easily be supported with binfmt_misc. |
26 | Read the file 'binfmt_misc.txt' in this directory to know | 26 | Read the file 'binfmt_misc.txt' in this directory to know |
27 | more about the configuration process. | 27 | more about the configuration process. |
28 | 28 | ||
diff --git a/Documentation/kbuild/kconfig-language.txt b/Documentation/kbuild/kconfig-language.txt index 003fccc14d24..125093c3ef76 100644 --- a/Documentation/kbuild/kconfig-language.txt +++ b/Documentation/kbuild/kconfig-language.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | Introduction | 1 | Introduction |
2 | ------------ | 2 | ------------ |
3 | 3 | ||
4 | The configuration database is collection of configuration options | 4 | The configuration database is a collection of configuration options |
5 | organized in a tree structure: | 5 | organized in a tree structure: |
6 | 6 | ||
7 | +- Code maturity level options | 7 | +- Code maturity level options |
@@ -110,7 +110,7 @@ applicable everywhere (see syntax). | |||
110 | the indentation level, this means it ends at the first line which has | 110 | the indentation level, this means it ends at the first line which has |
111 | a smaller indentation than the first line of the help text. | 111 | a smaller indentation than the first line of the help text. |
112 | "---help---" and "help" do not differ in behaviour, "---help---" is | 112 | "---help---" and "help" do not differ in behaviour, "---help---" is |
113 | used to help visually seperate configuration logic from help within | 113 | used to help visually separate configuration logic from help within |
114 | the file as an aid to developers. | 114 | the file as an aid to developers. |
115 | 115 | ||
116 | 116 | ||
@@ -226,7 +226,7 @@ menuconfig: | |||
226 | "menuconfig" <symbol> | 226 | "menuconfig" <symbol> |
227 | <config options> | 227 | <config options> |
228 | 228 | ||
229 | This is similiar to the simple config entry above, but it also gives a | 229 | This is similar to the simple config entry above, but it also gives a |
230 | hint to front ends, that all suboptions should be displayed as a | 230 | hint to front ends, that all suboptions should be displayed as a |
231 | separate list of options. | 231 | separate list of options. |
232 | 232 | ||
diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt index e2cbd59cf2d0..50f4eddf899c 100644 --- a/Documentation/kbuild/makefiles.txt +++ b/Documentation/kbuild/makefiles.txt | |||
@@ -390,7 +390,7 @@ more details, with real examples. | |||
390 | The kernel may be built with several different versions of | 390 | The kernel may be built with several different versions of |
391 | $(CC), each supporting a unique set of features and options. | 391 | $(CC), each supporting a unique set of features and options. |
392 | kbuild provide basic support to check for valid options for $(CC). | 392 | kbuild provide basic support to check for valid options for $(CC). |
393 | $(CC) is useally the gcc compiler, but other alternatives are | 393 | $(CC) is usually the gcc compiler, but other alternatives are |
394 | available. | 394 | available. |
395 | 395 | ||
396 | as-option | 396 | as-option |
diff --git a/Documentation/kdump/kdump.txt b/Documentation/kdump/kdump.txt index 08bafa8c1caa..99f2d4d4bf7d 100644 --- a/Documentation/kdump/kdump.txt +++ b/Documentation/kdump/kdump.txt | |||
@@ -249,7 +249,7 @@ If die() is called, and it happens to be a thread with pid 0 or 1, or die() | |||
249 | is called inside interrupt context or die() is called and panic_on_oops is set, | 249 | is called inside interrupt context or die() is called and panic_on_oops is set, |
250 | the system will boot into the dump-capture kernel. | 250 | the system will boot into the dump-capture kernel. |
251 | 251 | ||
252 | On powererpc systems when a soft-reset is generated, die() is called by all cpus and the system system will boot into the dump-capture kernel. | 252 | On powererpc systems when a soft-reset is generated, die() is called by all cpus and the system will boot into the dump-capture kernel. |
253 | 253 | ||
254 | For testing purposes, you can trigger a crash by using "ALT-SysRq-c", | 254 | For testing purposes, you can trigger a crash by using "ALT-SysRq-c", |
255 | "echo c > /proc/sysrq-trigger or write a module to force the panic. | 255 | "echo c > /proc/sysrq-trigger or write a module to force the panic. |
diff --git a/Documentation/kernel-docs.txt b/Documentation/kernel-docs.txt index 99d24f2943ee..b53bccbd9727 100644 --- a/Documentation/kernel-docs.txt +++ b/Documentation/kernel-docs.txt | |||
@@ -290,17 +290,6 @@ | |||
290 | Description: Very nice 92 pages GPL book on the topic of modules | 290 | Description: Very nice 92 pages GPL book on the topic of modules |
291 | programming. Lots of examples. | 291 | programming. Lots of examples. |
292 | 292 | ||
293 | * Title: "Device File System (devfs) Overview" | ||
294 | Author: Richard Gooch. | ||
295 | URL: http://www.atnf.csiro.au/people/rgooch/linux/docs/devfs.html | ||
296 | Keywords: filesystem, /dev, devfs, dynamic devices, major/minor | ||
297 | allocation, device management. | ||
298 | Description: Document describing Richard Gooch's controversial | ||
299 | devfs, which allows for dynamic devices, only shows present | ||
300 | devices in /dev, gets rid of major/minor numbers allocation | ||
301 | problems, and allows for hundreds of identical devices (which some | ||
302 | USB systems might demand soon). | ||
303 | |||
304 | * Title: "I/O Event Handling Under Linux" | 293 | * Title: "I/O Event Handling Under Linux" |
305 | Author: Richard Gooch. | 294 | Author: Richard Gooch. |
306 | URL: http://www.atnf.csiro.au/~rgooch/linux/docs/io-events.html | 295 | URL: http://www.atnf.csiro.au/~rgooch/linux/docs/io-events.html |
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 137e993f4329..ff571f9298e0 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -289,9 +289,6 @@ and is between 256 and 4096 characters. It is defined in the file | |||
289 | 289 | ||
290 | autotest [IA64] | 290 | autotest [IA64] |
291 | 291 | ||
292 | awe= [HW,OSS] AWE32/SB32/AWE64 wave table synth | ||
293 | Format: <io>,<memsize>,<isapnp> | ||
294 | |||
295 | aztcd= [HW,CD] Aztech CD268 CDROM driver | 292 | aztcd= [HW,CD] Aztech CD268 CDROM driver |
296 | Format: <io>,0x79 (?) | 293 | Format: <io>,0x79 (?) |
297 | 294 | ||
@@ -355,9 +352,9 @@ and is between 256 and 4096 characters. It is defined in the file | |||
355 | 352 | ||
356 | clock= [BUGS=IA-32, HW] gettimeofday clocksource override. | 353 | clock= [BUGS=IA-32, HW] gettimeofday clocksource override. |
357 | [Deprecated] | 354 | [Deprecated] |
358 | Forces specified clocksource (if avaliable) to be used | 355 | Forces specified clocksource (if available) to be used |
359 | when calculating gettimeofday(). If specified | 356 | when calculating gettimeofday(). If specified |
360 | clocksource is not avalible, it defaults to PIT. | 357 | clocksource is not available, it defaults to PIT. |
361 | Format: { pit | tsc | cyclone | pmtmr } | 358 | Format: { pit | tsc | cyclone | pmtmr } |
362 | 359 | ||
363 | disable_8254_timer | 360 | disable_8254_timer |
@@ -536,10 +533,6 @@ and is between 256 and 4096 characters. It is defined in the file | |||
536 | Default value is 0. | 533 | Default value is 0. |
537 | Value can be changed at runtime via /selinux/enforce. | 534 | Value can be changed at runtime via /selinux/enforce. |
538 | 535 | ||
539 | es1370= [HW,OSS] | ||
540 | Format: <lineout>[,<micbias>] | ||
541 | See also header of sound/oss/es1370.c. | ||
542 | |||
543 | es1371= [HW,OSS] | 536 | es1371= [HW,OSS] |
544 | Format: <spdif>,[<nomix>,[<amplifier>]] | 537 | Format: <spdif>,[<nomix>,[<amplifier>]] |
545 | See also header of sound/oss/es1371.c. | 538 | See also header of sound/oss/es1371.c. |
@@ -580,9 +573,6 @@ and is between 256 and 4096 characters. It is defined in the file | |||
580 | gscd= [HW,CD] | 573 | gscd= [HW,CD] |
581 | Format: <io> | 574 | Format: <io> |
582 | 575 | ||
583 | gus= [HW,OSS] | ||
584 | Format: <io>,<irq>,<dma>,<dma16> | ||
585 | |||
586 | gvp11= [HW,SCSI] | 576 | gvp11= [HW,SCSI] |
587 | 577 | ||
588 | hashdist= [KNL,NUMA] Large hashes allocated during boot | 578 | hashdist= [KNL,NUMA] Large hashes allocated during boot |
@@ -611,8 +601,8 @@ and is between 256 and 4096 characters. It is defined in the file | |||
611 | noirqbalance [IA-32,SMP,KNL] Disable kernel irq balancing | 601 | noirqbalance [IA-32,SMP,KNL] Disable kernel irq balancing |
612 | 602 | ||
613 | i8042.direct [HW] Put keyboard port into non-translated mode | 603 | i8042.direct [HW] Put keyboard port into non-translated mode |
614 | i8042.dumbkbd [HW] Pretend that controlled can only read data from | 604 | i8042.dumbkbd [HW] Pretend that controller can only read data from |
615 | keyboard and can not control its state | 605 | keyboard and cannot control its state |
616 | (Don't attempt to blink the leds) | 606 | (Don't attempt to blink the leds) |
617 | i8042.noaux [HW] Don't check for auxiliary (== mouse) port | 607 | i8042.noaux [HW] Don't check for auxiliary (== mouse) port |
618 | i8042.nokbd [HW] Don't check/create keyboard port | 608 | i8042.nokbd [HW] Don't check/create keyboard port |
@@ -841,12 +831,6 @@ and is between 256 and 4096 characters. It is defined in the file | |||
841 | (machvec) in a generic kernel. | 831 | (machvec) in a generic kernel. |
842 | Example: machvec=hpzx1_swiotlb | 832 | Example: machvec=hpzx1_swiotlb |
843 | 833 | ||
844 | mad16= [HW,OSS] Format: | ||
845 | <io>,<irq>,<dma>,<dma16>,<mpu_io>,<mpu_irq>,<joystick> | ||
846 | |||
847 | maui= [HW,OSS] | ||
848 | Format: <io>,<irq> | ||
849 | |||
850 | max_loop= [LOOP] Maximum number of loopback devices that can | 834 | max_loop= [LOOP] Maximum number of loopback devices that can |
851 | be mounted | 835 | be mounted |
852 | Format: <1-256> | 836 | Format: <1-256> |
@@ -1114,9 +1098,6 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1114 | opl3= [HW,OSS] | 1098 | opl3= [HW,OSS] |
1115 | Format: <io> | 1099 | Format: <io> |
1116 | 1100 | ||
1117 | opl3sa= [HW,OSS] | ||
1118 | Format: <io>,<irq>,<dma>,<dma2>,<mpu_io>,<mpu_irq> | ||
1119 | |||
1120 | opl3sa2= [HW,OSS] Format: | 1101 | opl3sa2= [HW,OSS] Format: |
1121 | <io>,<irq>,<dma>,<dma2>,<mss_io>,<mpu_io>,<ymode>,<loopback>[,<isapnp>,<multiple] | 1102 | <io>,<irq>,<dma>,<dma2>,<mss_io>,<mpu_io>,<ymode>,<loopback>[,<isapnp>,<multiple] |
1122 | 1103 | ||
@@ -1357,10 +1338,6 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1357 | rcu.qlowmark= [KNL,BOOT] Set threshold of queued | 1338 | rcu.qlowmark= [KNL,BOOT] Set threshold of queued |
1358 | RCU callbacks below which batch limiting is re-enabled. | 1339 | RCU callbacks below which batch limiting is re-enabled. |
1359 | 1340 | ||
1360 | rcu.rsinterval= [KNL,BOOT,SMP] Set the number of additional | ||
1361 | RCU callbacks to queued before forcing reschedule | ||
1362 | on all cpus. | ||
1363 | |||
1364 | rdinit= [KNL] | 1341 | rdinit= [KNL] |
1365 | Format: <full_path> | 1342 | Format: <full_path> |
1366 | Run specified binary instead of /init from the ramdisk, | 1343 | Run specified binary instead of /init from the ramdisk, |
@@ -1368,7 +1345,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1368 | 1345 | ||
1369 | reboot= [BUGS=IA-32,BUGS=ARM,BUGS=IA-64] Rebooting mode | 1346 | reboot= [BUGS=IA-32,BUGS=ARM,BUGS=IA-64] Rebooting mode |
1370 | Format: <reboot_mode>[,<reboot_mode2>[,...]] | 1347 | Format: <reboot_mode>[,<reboot_mode2>[,...]] |
1371 | See arch/*/kernel/reboot.c. | 1348 | See arch/*/kernel/reboot.c or arch/*/kernel/process.c |
1372 | 1349 | ||
1373 | reserve= [KNL,BUGS] Force the kernel to ignore some iomem area | 1350 | reserve= [KNL,BUGS] Force the kernel to ignore some iomem area |
1374 | 1351 | ||
@@ -1455,9 +1432,6 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1455 | 1432 | ||
1456 | sg_def_reserved_size= [SCSI] | 1433 | sg_def_reserved_size= [SCSI] |
1457 | 1434 | ||
1458 | sgalaxy= [HW,OSS] | ||
1459 | Format: <io>,<irq>,<dma>,<dma2>,<sgbase> | ||
1460 | |||
1461 | shapers= [NET] | 1435 | shapers= [NET] |
1462 | Maximal number of shapers. | 1436 | Maximal number of shapers. |
1463 | 1437 | ||
@@ -1598,9 +1572,6 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1598 | 1572 | ||
1599 | snd-ymfpci= [HW,ALSA] | 1573 | snd-ymfpci= [HW,ALSA] |
1600 | 1574 | ||
1601 | sonicvibes= [HW,OSS] | ||
1602 | Format: <reverb> | ||
1603 | |||
1604 | sonycd535= [HW,CD] | 1575 | sonycd535= [HW,CD] |
1605 | Format: <io>[,<irq>] | 1576 | Format: <io>[,<irq>] |
1606 | 1577 | ||
diff --git a/Documentation/keys.txt b/Documentation/keys.txt index e373f0212843..3da586bc7859 100644 --- a/Documentation/keys.txt +++ b/Documentation/keys.txt | |||
@@ -671,7 +671,7 @@ The keyctl syscall functions are: | |||
671 | 671 | ||
672 | Note that this setting is inherited across fork/exec. | 672 | Note that this setting is inherited across fork/exec. |
673 | 673 | ||
674 | [1] The default default is: the thread keyring if there is one, otherwise | 674 | [1] The default is: the thread keyring if there is one, otherwise |
675 | the process keyring if there is one, otherwise the session keyring if | 675 | the process keyring if there is one, otherwise the session keyring if |
676 | there is one, otherwise the user default session keyring. | 676 | there is one, otherwise the user default session keyring. |
677 | 677 | ||
@@ -708,14 +708,14 @@ The keyctl syscall functions are: | |||
708 | 708 | ||
709 | If the specified key is 0, then any assumed authority will be divested. | 709 | If the specified key is 0, then any assumed authority will be divested. |
710 | 710 | ||
711 | The assumed authorititive key is inherited across fork and exec. | 711 | The assumed authoritative key is inherited across fork and exec. |
712 | 712 | ||
713 | 713 | ||
714 | =============== | 714 | =============== |
715 | KERNEL SERVICES | 715 | KERNEL SERVICES |
716 | =============== | 716 | =============== |
717 | 717 | ||
718 | The kernel services for key managment are fairly simple to deal with. They can | 718 | The kernel services for key management are fairly simple to deal with. They can |
719 | be broken down into two areas: keys and key types. | 719 | be broken down into two areas: keys and key types. |
720 | 720 | ||
721 | Dealing with keys is fairly straightforward. Firstly, the kernel service | 721 | Dealing with keys is fairly straightforward. Firstly, the kernel service |
diff --git a/Documentation/kobject.txt b/Documentation/kobject.txt index 949f7b5a2053..e44855513b3d 100644 --- a/Documentation/kobject.txt +++ b/Documentation/kobject.txt | |||
@@ -51,7 +51,7 @@ more complex object types. It provides a set of basic fields that | |||
51 | almost all complex data types share. kobjects are intended to be | 51 | almost all complex data types share. kobjects are intended to be |
52 | embedded in larger data structures and replace fields they duplicate. | 52 | embedded in larger data structures and replace fields they duplicate. |
53 | 53 | ||
54 | 1.2 Defintion | 54 | 1.2 Definition |
55 | 55 | ||
56 | struct kobject { | 56 | struct kobject { |
57 | char name[KOBJ_NAME_LEN]; | 57 | char name[KOBJ_NAME_LEN]; |
diff --git a/Documentation/laptop-mode.txt b/Documentation/laptop-mode.txt index 5696e879449b..c487186eb2b9 100644 --- a/Documentation/laptop-mode.txt +++ b/Documentation/laptop-mode.txt | |||
@@ -152,7 +152,7 @@ loaded on demand while the application executes) and sequentially accessed data | |||
152 | DO_REMOUNTS: | 152 | DO_REMOUNTS: |
153 | 153 | ||
154 | The control script automatically remounts any mounted journaled filesystems | 154 | The control script automatically remounts any mounted journaled filesystems |
155 | with approriate commit interval options. When this option is set to 0, this | 155 | with appropriate commit interval options. When this option is set to 0, this |
156 | feature is disabled. | 156 | feature is disabled. |
157 | 157 | ||
158 | DO_REMOUNT_NOATIME: | 158 | DO_REMOUNT_NOATIME: |
diff --git a/Documentation/lockdep-design.txt b/Documentation/lockdep-design.txt index 55a7e4fa8cc2..dab123db5a4f 100644 --- a/Documentation/lockdep-design.txt +++ b/Documentation/lockdep-design.txt | |||
@@ -133,7 +133,7 @@ cases there is an inherent "natural" ordering between the two objects | |||
133 | (defined by the properties of the hierarchy), and the kernel grabs the | 133 | (defined by the properties of the hierarchy), and the kernel grabs the |
134 | locks in this fixed order on each of the objects. | 134 | locks in this fixed order on each of the objects. |
135 | 135 | ||
136 | An example of such an object hieararchy that results in "nested locking" | 136 | An example of such an object hierarchy that results in "nested locking" |
137 | is that of a "whole disk" block-dev object and a "partition" block-dev | 137 | is that of a "whole disk" block-dev object and a "partition" block-dev |
138 | object; the partition is "part of" the whole device and as long as one | 138 | object; the partition is "part of" the whole device and as long as one |
139 | always takes the whole disk lock as a higher lock than the partition | 139 | always takes the whole disk lock as a higher lock than the partition |
@@ -158,11 +158,11 @@ enum bdev_bd_mutex_lock_class | |||
158 | In this case the locking is done on a bdev object that is known to be a | 158 | In this case the locking is done on a bdev object that is known to be a |
159 | partition. | 159 | partition. |
160 | 160 | ||
161 | The validator treats a lock that is taken in such a nested fasion as a | 161 | The validator treats a lock that is taken in such a nested fashion as a |
162 | separate (sub)class for the purposes of validation. | 162 | separate (sub)class for the purposes of validation. |
163 | 163 | ||
164 | Note: When changing code to use the _nested() primitives, be careful and | 164 | Note: When changing code to use the _nested() primitives, be careful and |
165 | check really thoroughly that the hiearchy is correctly mapped; otherwise | 165 | check really thoroughly that the hierarchy is correctly mapped; otherwise |
166 | you can get false positives or false negatives. | 166 | you can get false positives or false negatives. |
167 | 167 | ||
168 | Proof of 100% correctness: | 168 | Proof of 100% correctness: |
@@ -170,7 +170,7 @@ Proof of 100% correctness: | |||
170 | 170 | ||
171 | The validator achieves perfect, mathematical 'closure' (proof of locking | 171 | The validator achieves perfect, mathematical 'closure' (proof of locking |
172 | correctness) in the sense that for every simple, standalone single-task | 172 | correctness) in the sense that for every simple, standalone single-task |
173 | locking sequence that occured at least once during the lifetime of the | 173 | locking sequence that occurred at least once during the lifetime of the |
174 | kernel, the validator proves it with a 100% certainty that no | 174 | kernel, the validator proves it with a 100% certainty that no |
175 | combination and timing of these locking sequences can cause any class of | 175 | combination and timing of these locking sequences can cause any class of |
176 | lock related deadlock. [*] | 176 | lock related deadlock. [*] |
diff --git a/Documentation/m68k/kernel-options.txt b/Documentation/m68k/kernel-options.txt index d5d3f064f552..1c41db21d3c1 100644 --- a/Documentation/m68k/kernel-options.txt +++ b/Documentation/m68k/kernel-options.txt | |||
@@ -415,7 +415,7 @@ switch to another mode once Linux has started. | |||
415 | 415 | ||
416 | The first 3 parameters of this sub-option should be obvious: <xres>, | 416 | The first 3 parameters of this sub-option should be obvious: <xres>, |
417 | <yres> and <depth> give the dimensions of the screen and the number of | 417 | <yres> and <depth> give the dimensions of the screen and the number of |
418 | planes (depth). The depth is is the logarithm to base 2 of the number | 418 | planes (depth). The depth is the logarithm to base 2 of the number |
419 | of colors possible. (Or, the other way round: The number of colors is | 419 | of colors possible. (Or, the other way round: The number of colors is |
420 | 2^depth). | 420 | 2^depth). |
421 | 421 | ||
diff --git a/Documentation/mca.txt b/Documentation/mca.txt index 60913354cb7d..aabce4ad90f9 100644 --- a/Documentation/mca.txt +++ b/Documentation/mca.txt | |||
@@ -177,7 +177,7 @@ Currently, there are a number of MCA-specific device drivers. | |||
177 | with clones that have a different adapter id than the original | 177 | with clones that have a different adapter id than the original |
178 | NE/2. | 178 | NE/2. |
179 | 179 | ||
180 | 6) Future Domain MCS-600/700, OEM'd IBM Fast SCSI Aapter/A and | 180 | 6) Future Domain MCS-600/700, OEM'd IBM Fast SCSI Adapter/A and |
181 | Reply Sound Blaster/SCSI (SCSI part) | 181 | Reply Sound Blaster/SCSI (SCSI part) |
182 | Better support for these cards than the driver for ISA. | 182 | Better support for these cards than the driver for ISA. |
183 | Supports multiple cards with IRQ sharing. | 183 | Supports multiple cards with IRQ sharing. |
diff --git a/Documentation/md.txt b/Documentation/md.txt index 9ae9e4078985..2202f5dc8ac2 100644 --- a/Documentation/md.txt +++ b/Documentation/md.txt | |||
@@ -62,7 +62,7 @@ be reconstructed (due to no parity). | |||
62 | 62 | ||
63 | For this reason, md will normally refuse to start such an array. This | 63 | For this reason, md will normally refuse to start such an array. This |
64 | requires the sysadmin to take action to explicitly start the array | 64 | requires the sysadmin to take action to explicitly start the array |
65 | desipite possible corruption. This is normally done with | 65 | despite possible corruption. This is normally done with |
66 | mdadm --assemble --force .... | 66 | mdadm --assemble --force .... |
67 | 67 | ||
68 | This option is not really available if the array has the root | 68 | This option is not really available if the array has the root |
@@ -175,7 +175,7 @@ All md devices contain: | |||
175 | raid levels that involve striping (1,4,5,6,10). The address space | 175 | raid levels that involve striping (1,4,5,6,10). The address space |
176 | of the array is conceptually divided into chunks and consecutive | 176 | of the array is conceptually divided into chunks and consecutive |
177 | chunks are striped onto neighbouring devices. | 177 | chunks are striped onto neighbouring devices. |
178 | The size should be atleast PAGE_SIZE (4k) and should be a power | 178 | The size should be at least PAGE_SIZE (4k) and should be a power |
179 | of 2. This can only be set while assembling an array | 179 | of 2. This can only be set while assembling an array |
180 | 180 | ||
181 | component_size | 181 | component_size |
@@ -214,8 +214,8 @@ All md devices contain: | |||
214 | safe_mode_delay | 214 | safe_mode_delay |
215 | When an md array has seen no write requests for a certain period | 215 | When an md array has seen no write requests for a certain period |
216 | of time, it will be marked as 'clean'. When another write | 216 | of time, it will be marked as 'clean'. When another write |
217 | request arrive, the array is marked as 'dirty' before the write | 217 | request arrives, the array is marked as 'dirty' before the write |
218 | commenses. This is known as 'safe_mode'. | 218 | commences. This is known as 'safe_mode'. |
219 | The 'certain period' is controlled by this file which stores the | 219 | The 'certain period' is controlled by this file which stores the |
220 | period as a number of seconds. The default is 200msec (0.200). | 220 | period as a number of seconds. The default is 200msec (0.200). |
221 | Writing a value of 0 disables safemode. | 221 | Writing a value of 0 disables safemode. |
@@ -307,8 +307,8 @@ Each directory contains: | |||
307 | This applies only to raid1 arrays. | 307 | This applies only to raid1 arrays. |
308 | spare - device is working, but not a full member. | 308 | spare - device is working, but not a full member. |
309 | This includes spares that are in the process | 309 | This includes spares that are in the process |
310 | of being recoverred to | 310 | of being recovered to |
311 | This list make grow in future. | 311 | This list may grow in future. |
312 | This can be written to. | 312 | This can be written to. |
313 | Writing "faulty" simulates a failure on the device. | 313 | Writing "faulty" simulates a failure on the device. |
314 | Writing "remove" removes the device from the array. | 314 | Writing "remove" removes the device from the array. |
@@ -330,7 +330,7 @@ Each directory contains: | |||
330 | This gives the role that the device has in the array. It will | 330 | This gives the role that the device has in the array. It will |
331 | either be 'none' if the device is not active in the array | 331 | either be 'none' if the device is not active in the array |
332 | (i.e. is a spare or has failed) or an integer less than the | 332 | (i.e. is a spare or has failed) or an integer less than the |
333 | 'raid_disks' number for the array indicating which possition | 333 | 'raid_disks' number for the array indicating which position |
334 | it currently fills. This can only be set while assembling an | 334 | it currently fills. This can only be set while assembling an |
335 | array. A device for which this is set is assumed to be working. | 335 | array. A device for which this is set is assumed to be working. |
336 | 336 | ||
@@ -353,7 +353,7 @@ in the array. These are named | |||
353 | 353 | ||
354 | rdNN | 354 | rdNN |
355 | 355 | ||
356 | where 'NN' is the possition in the array, starting from 0. | 356 | where 'NN' is the position in the array, starting from 0. |
357 | So for a 3 drive array there will be rd0, rd1, rd2. | 357 | So for a 3 drive array there will be rd0, rd1, rd2. |
358 | These are symbolic links to the appropriate 'dev-XXX' entry. | 358 | These are symbolic links to the appropriate 'dev-XXX' entry. |
359 | Thus, for example, | 359 | Thus, for example, |
diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt index 46b9b389df35..994355b0cd19 100644 --- a/Documentation/memory-barriers.txt +++ b/Documentation/memory-barriers.txt | |||
@@ -670,7 +670,7 @@ effectively random order, despite the write barrier issued by CPU 1: | |||
670 | 670 | ||
671 | 671 | ||
672 | In the above example, CPU 2 perceives that B is 7, despite the load of *C | 672 | In the above example, CPU 2 perceives that B is 7, despite the load of *C |
673 | (which would be B) coming after the the LOAD of C. | 673 | (which would be B) coming after the LOAD of C. |
674 | 674 | ||
675 | If, however, a data dependency barrier were to be placed between the load of C | 675 | If, however, a data dependency barrier were to be placed between the load of C |
676 | and the load of *C (ie: B) on CPU 2: | 676 | and the load of *C (ie: B) on CPU 2: |
@@ -1915,7 +1915,7 @@ Whilst most CPUs do imply a data dependency barrier on the read when a memory | |||
1915 | access depends on a read, not all do, so it may not be relied on. | 1915 | access depends on a read, not all do, so it may not be relied on. |
1916 | 1916 | ||
1917 | Other CPUs may also have split caches, but must coordinate between the various | 1917 | Other CPUs may also have split caches, but must coordinate between the various |
1918 | cachelets for normal memory accesss. The semantics of the Alpha removes the | 1918 | cachelets for normal memory accesses. The semantics of the Alpha removes the |
1919 | need for coordination in absence of memory barriers. | 1919 | need for coordination in absence of memory barriers. |
1920 | 1920 | ||
1921 | 1921 | ||
diff --git a/Documentation/mono.txt b/Documentation/mono.txt index 807a0c7b4737..e8e1758e87da 100644 --- a/Documentation/mono.txt +++ b/Documentation/mono.txt | |||
@@ -26,7 +26,7 @@ other program after you have done the following: | |||
26 | the kernel (CONFIG_BINFMT_MISC) and set it up properly. | 26 | the kernel (CONFIG_BINFMT_MISC) and set it up properly. |
27 | If you choose to compile it as a module, you will have | 27 | If you choose to compile it as a module, you will have |
28 | to insert it manually with modprobe/insmod, as kmod | 28 | to insert it manually with modprobe/insmod, as kmod |
29 | can not be easily supported with binfmt_misc. | 29 | cannot be easily supported with binfmt_misc. |
30 | Read the file 'binfmt_misc.txt' in this directory to know | 30 | Read the file 'binfmt_misc.txt' in this directory to know |
31 | more about the configuration process. | 31 | more about the configuration process. |
32 | 32 | ||
diff --git a/Documentation/networking/3c509.txt b/Documentation/networking/3c509.txt index 867a99f88c68..0643e3b7168c 100644 --- a/Documentation/networking/3c509.txt +++ b/Documentation/networking/3c509.txt | |||
@@ -126,7 +126,7 @@ packets faster than they can be removed from the card. This should be rare | |||
126 | or impossible in normal operation. Possible causes of this error report are: | 126 | or impossible in normal operation. Possible causes of this error report are: |
127 | 127 | ||
128 | - a "green" mode enabled that slows the processor down when there is no | 128 | - a "green" mode enabled that slows the processor down when there is no |
129 | keyboard activitiy. | 129 | keyboard activity. |
130 | 130 | ||
131 | - some other device or device driver hogging the bus or disabling interrupts. | 131 | - some other device or device driver hogging the bus or disabling interrupts. |
132 | Check /proc/interrupts for excessive interrupt counts. The timer tick | 132 | Check /proc/interrupts for excessive interrupt counts. The timer tick |
diff --git a/Documentation/networking/NAPI_HOWTO.txt b/Documentation/networking/NAPI_HOWTO.txt index 54376e8249c1..93af3e87c65b 100644 --- a/Documentation/networking/NAPI_HOWTO.txt +++ b/Documentation/networking/NAPI_HOWTO.txt | |||
@@ -35,7 +35,7 @@ Legend: | |||
35 | packets out of the rx ring. Note from this that the lower the | 35 | packets out of the rx ring. Note from this that the lower the |
36 | load the more we could clean up the rxring | 36 | load the more we could clean up the rxring |
37 | "Ndone" == is the converse of "Done". Note again, that the higher | 37 | "Ndone" == is the converse of "Done". Note again, that the higher |
38 | the load the more times we couldnt clean up the rxring. | 38 | the load the more times we couldn't clean up the rxring. |
39 | 39 | ||
40 | Observe that: | 40 | Observe that: |
41 | when the NIC receives 890Kpackets/sec only 17 rx interrupts are generated. | 41 | when the NIC receives 890Kpackets/sec only 17 rx interrupts are generated. |
diff --git a/Documentation/networking/arcnet-hardware.txt b/Documentation/networking/arcnet-hardware.txt index 30a5f01403d3..731de411513c 100644 --- a/Documentation/networking/arcnet-hardware.txt +++ b/Documentation/networking/arcnet-hardware.txt | |||
@@ -139,7 +139,7 @@ And now to the cabling. What you can connect together: | |||
139 | 139 | ||
140 | 5. An active hub to passive hub. | 140 | 5. An active hub to passive hub. |
141 | 141 | ||
142 | Remember, that you can not connect two passive hubs together. The power loss | 142 | Remember that you cannot connect two passive hubs together. The power loss |
143 | implied by such a connection is too high for the net to operate reliably. | 143 | implied by such a connection is too high for the net to operate reliably. |
144 | 144 | ||
145 | An example of a typical ARCnet network: | 145 | An example of a typical ARCnet network: |
diff --git a/Documentation/networking/bonding.txt b/Documentation/networking/bonding.txt index dc942eaf490f..de809e58092f 100644 --- a/Documentation/networking/bonding.txt +++ b/Documentation/networking/bonding.txt | |||
@@ -1023,7 +1023,7 @@ Changing a Bond's Configuration | |||
1023 | files located in /sys/class/net/<bond name>/bonding | 1023 | files located in /sys/class/net/<bond name>/bonding |
1024 | 1024 | ||
1025 | The names of these files correspond directly with the command- | 1025 | The names of these files correspond directly with the command- |
1026 | line parameters described elsewhere in in this file, and, with the | 1026 | line parameters described elsewhere in this file, and, with the |
1027 | exception of arp_ip_target, they accept the same values. To see the | 1027 | exception of arp_ip_target, they accept the same values. To see the |
1028 | current setting, simply cat the appropriate file. | 1028 | current setting, simply cat the appropriate file. |
1029 | 1029 | ||
diff --git a/Documentation/networking/cs89x0.txt b/Documentation/networking/cs89x0.txt index 188beb7d6a17..64896470e279 100644 --- a/Documentation/networking/cs89x0.txt +++ b/Documentation/networking/cs89x0.txt | |||
@@ -227,7 +227,7 @@ configuration options are available on the command line: | |||
227 | * media=rj45 - specify media type | 227 | * media=rj45 - specify media type |
228 | or media=bnc | 228 | or media=bnc |
229 | or media=aui | 229 | or media=aui |
230 | or medai=auto | 230 | or media=auto |
231 | * duplex=full - specify forced half/full/autonegotiate duplex | 231 | * duplex=full - specify forced half/full/autonegotiate duplex |
232 | or duplex=half | 232 | or duplex=half |
233 | or duplex=auto | 233 | or duplex=auto |
@@ -584,7 +584,7 @@ of four ways after installing and or configuring the CS8900/20-based adapter: | |||
584 | 584 | ||
585 | 1.) The system does not boot properly (or at all). | 585 | 1.) The system does not boot properly (or at all). |
586 | 586 | ||
587 | 2.) The driver can not communicate with the adapter, reporting an "Adapter | 587 | 2.) The driver cannot communicate with the adapter, reporting an "Adapter |
588 | not found" error message. | 588 | not found" error message. |
589 | 589 | ||
590 | 3.) You cannot connect to the network or the driver will not load. | 590 | 3.) You cannot connect to the network or the driver will not load. |
@@ -684,7 +684,7 @@ ethernet@crystal.cirrus.com) and request that you be registered for automatic | |||
684 | software-update notification. | 684 | software-update notification. |
685 | 685 | ||
686 | Cirrus Logic maintains a web page at http://www.cirrus.com with the | 686 | Cirrus Logic maintains a web page at http://www.cirrus.com with the |
687 | the latest drivers and technical publications. | 687 | latest drivers and technical publications. |
688 | 688 | ||
689 | 689 | ||
690 | 6.4 Current maintainer | 690 | 6.4 Current maintainer |
diff --git a/Documentation/networking/cxgb.txt b/Documentation/networking/cxgb.txt index 76324638626b..20a887615c4a 100644 --- a/Documentation/networking/cxgb.txt +++ b/Documentation/networking/cxgb.txt | |||
@@ -56,7 +56,7 @@ FEATURES | |||
56 | 56 | ||
57 | ethtool -C eth0 rx-usecs 100 | 57 | ethtool -C eth0 rx-usecs 100 |
58 | 58 | ||
59 | You may also provide a timer latency value while disabling adpative-rx: | 59 | You may also provide a timer latency value while disabling adaptive-rx: |
60 | 60 | ||
61 | ethtool -C <interface> adaptive-rx off rx-usecs <microseconds> | 61 | ethtool -C <interface> adaptive-rx off rx-usecs <microseconds> |
62 | 62 | ||
@@ -172,7 +172,7 @@ PERFORMANCE | |||
172 | smaller window prevents congestion and facilitates better pacing, | 172 | smaller window prevents congestion and facilitates better pacing, |
173 | especially if/when MAC level flow control does not work well or when it is | 173 | especially if/when MAC level flow control does not work well or when it is |
174 | not supported on the machine. Experimentation may be necessary to attain | 174 | not supported on the machine. Experimentation may be necessary to attain |
175 | the correct value. This method is provided as a starting point fot the | 175 | the correct value. This method is provided as a starting point for the |
176 | correct receive buffer size. | 176 | correct receive buffer size. |
177 | Setting the min, max, and default receive buffer (RX_WINDOW) size is | 177 | Setting the min, max, and default receive buffer (RX_WINDOW) size is |
178 | performed in the same manner as single connection. | 178 | performed in the same manner as single connection. |
diff --git a/Documentation/networking/decnet.txt b/Documentation/networking/decnet.txt index e6c39c5831f5..badb7480ea62 100644 --- a/Documentation/networking/decnet.txt +++ b/Documentation/networking/decnet.txt | |||
@@ -82,7 +82,7 @@ ethernet address of your ethernet card has to be set according to the DECnet | |||
82 | address of the node in order for it to be autoconfigured (and then appear in | 82 | address of the node in order for it to be autoconfigured (and then appear in |
83 | /proc/net/decnet_dev). There is a utility available at the above | 83 | /proc/net/decnet_dev). There is a utility available at the above |
84 | FTP sites called dn2ethaddr which can compute the correct ethernet | 84 | FTP sites called dn2ethaddr which can compute the correct ethernet |
85 | address to use. The address can be set by ifconfig either before at | 85 | address to use. The address can be set by ifconfig either before or |
86 | at the time the device is brought up. If you are using RedHat you can | 86 | at the time the device is brought up. If you are using RedHat you can |
87 | add the line: | 87 | add the line: |
88 | 88 | ||
diff --git a/Documentation/networking/dl2k.txt b/Documentation/networking/dl2k.txt index d460492037ef..10e8490fa406 100644 --- a/Documentation/networking/dl2k.txt +++ b/Documentation/networking/dl2k.txt | |||
@@ -173,7 +173,7 @@ Installing the Driver | |||
173 | 173 | ||
174 | Parameter Description | 174 | Parameter Description |
175 | ===================== | 175 | ===================== |
176 | You can install this driver without any addtional parameter. However, if you | 176 | You can install this driver without any additional parameter. However, if you |
177 | are going to have extensive functions then it is necessary to set extra | 177 | are going to have extensive functions then it is necessary to set extra |
178 | parameter. Below is a list of the command line parameters supported by the | 178 | parameter. Below is a list of the command line parameters supported by the |
179 | Linux device | 179 | Linux device |
@@ -222,7 +222,7 @@ rx_timeout=n - Rx DMA wait time for an interrupt. | |||
222 | reach timeout of n * 640 nano seconds. | 222 | reach timeout of n * 640 nano seconds. |
223 | Set proper rx_coalesce and rx_timeout can | 223 | Set proper rx_coalesce and rx_timeout can |
224 | reduce congestion collapse and overload which | 224 | reduce congestion collapse and overload which |
225 | has been a bottlenect for high speed network. | 225 | has been a bottleneck for high speed network. |
226 | 226 | ||
227 | For example, rx_coalesce=10 rx_timeout=800. | 227 | For example, rx_coalesce=10 rx_timeout=800. |
228 | that is, hardware assert only 1 interrupt | 228 | that is, hardware assert only 1 interrupt |
diff --git a/Documentation/networking/dmfe.txt b/Documentation/networking/dmfe.txt index 046363552d09..b1b7499dd9d3 100644 --- a/Documentation/networking/dmfe.txt +++ b/Documentation/networking/dmfe.txt | |||
@@ -34,7 +34,7 @@ Next you should configure your network interface with a command similar to : | |||
34 | 34 | ||
35 | ifconfig eth0 172.22.3.18 | 35 | ifconfig eth0 172.22.3.18 |
36 | ^^^^^^^^^^^ | 36 | ^^^^^^^^^^^ |
37 | Your IP Adress | 37 | Your IP Address |
38 | 38 | ||
39 | Then you may have to modify the default routing table with command : | 39 | Then you may have to modify the default routing table with command : |
40 | 40 | ||
diff --git a/Documentation/networking/driver.txt b/Documentation/networking/driver.txt index a9ad58b49cc5..4f7da5a2bf4f 100644 --- a/Documentation/networking/driver.txt +++ b/Documentation/networking/driver.txt | |||
@@ -37,7 +37,7 @@ Transmit path guidelines: | |||
37 | ... | 37 | ... |
38 | } | 38 | } |
39 | 39 | ||
40 | And then at the end of your TX reclaimation event handling: | 40 | And then at the end of your TX reclamation event handling: |
41 | 41 | ||
42 | if (netif_queue_stopped(dp->dev) && | 42 | if (netif_queue_stopped(dp->dev) && |
43 | TX_BUFFS_AVAIL(dp) > (MAX_SKB_FRAGS + 1)) | 43 | TX_BUFFS_AVAIL(dp) > (MAX_SKB_FRAGS + 1)) |
diff --git a/Documentation/networking/e1000.txt b/Documentation/networking/e1000.txt index 71fe15af356c..5c0a5cc03998 100644 --- a/Documentation/networking/e1000.txt +++ b/Documentation/networking/e1000.txt | |||
@@ -350,7 +350,7 @@ Additional Configurations | |||
350 | 350 | ||
351 | As an example, if you install the e1000 driver for two PRO/1000 adapters | 351 | As an example, if you install the e1000 driver for two PRO/1000 adapters |
352 | (eth0 and eth1) and set the speed and duplex to 10full and 100half, add | 352 | (eth0 and eth1) and set the speed and duplex to 10full and 100half, add |
353 | the following to modules.conf or or modprobe.conf: | 353 | the following to modules.conf or modprobe.conf: |
354 | 354 | ||
355 | alias eth0 e1000 | 355 | alias eth0 e1000 |
356 | alias eth1 e1000 | 356 | alias eth1 e1000 |
diff --git a/Documentation/networking/fib_trie.txt b/Documentation/networking/fib_trie.txt index f50d0c673c57..0723db7f8495 100644 --- a/Documentation/networking/fib_trie.txt +++ b/Documentation/networking/fib_trie.txt | |||
@@ -79,7 +79,7 @@ trie_rebalance() | |||
79 | 79 | ||
80 | resize() | 80 | resize() |
81 | Analyzes a tnode and optimizes the child array size by either inflating | 81 | Analyzes a tnode and optimizes the child array size by either inflating |
82 | or shrinking it repeatedly until it fullfills the criteria for optimal | 82 | or shrinking it repeatedly until it fulfills the criteria for optimal |
83 | level compression. This part follows the original paper pretty closely | 83 | level compression. This part follows the original paper pretty closely |
84 | and there may be some room for experimentation here. | 84 | and there may be some room for experimentation here. |
85 | 85 | ||
diff --git a/Documentation/networking/gen_stats.txt b/Documentation/networking/gen_stats.txt index c3297f79c137..70e6275b757a 100644 --- a/Documentation/networking/gen_stats.txt +++ b/Documentation/networking/gen_stats.txt | |||
@@ -79,8 +79,8 @@ Rate Estimator: | |||
79 | 79 | ||
80 | 0) Prepare an estimator attribute. Most likely this would be in user | 80 | 0) Prepare an estimator attribute. Most likely this would be in user |
81 | space. The value of this TLV should contain a tc_estimator structure. | 81 | space. The value of this TLV should contain a tc_estimator structure. |
82 | As usual, such a TLV nees to be 32 bit aligned and therefore the | 82 | As usual, such a TLV needs to be 32 bit aligned and therefore the |
83 | length needs to be appropriately set etc. The estimator interval | 83 | length needs to be appropriately set, etc. The estimator interval |
84 | and ewma log need to be converted to the appropriate values. | 84 | and ewma log need to be converted to the appropriate values. |
85 | tc_estimator.c::tc_setup_estimator() is advisable to be used as the | 85 | tc_estimator.c::tc_setup_estimator() is advisable to be used as the |
86 | conversion routine. It does a few clever things. It takes a time | 86 | conversion routine. It does a few clever things. It takes a time |
@@ -103,8 +103,8 @@ In the kernel when setting up: | |||
103 | else | 103 | else |
104 | failed | 104 | failed |
105 | 105 | ||
106 | From now on, everytime you dump my_rate_est_stats it will contain | 106 | From now on, every time you dump my_rate_est_stats it will contain |
107 | uptodate info. | 107 | up-to-date info. |
108 | 108 | ||
109 | Once you are done, call gen_kill_estimator(my_basicstats, | 109 | Once you are done, call gen_kill_estimator(my_basicstats, |
110 | my_rate_est_stats) Make sure that my_basicstats and my_rate_est_stats | 110 | my_rate_est_stats) Make sure that my_basicstats and my_rate_est_stats |
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt index 935e298f674a..fd3c0c012351 100644 --- a/Documentation/networking/ip-sysctl.txt +++ b/Documentation/networking/ip-sysctl.txt | |||
@@ -495,7 +495,7 @@ icmp_errors_use_inbound_ifaddr - BOOLEAN | |||
495 | 495 | ||
496 | Note that if no primary address exists for the interface selected, | 496 | Note that if no primary address exists for the interface selected, |
497 | then the primary address of the first non-loopback interface that | 497 | then the primary address of the first non-loopback interface that |
498 | has one will be used regarldess of this setting. | 498 | has one will be used regardless of this setting. |
499 | 499 | ||
500 | Default: 0 | 500 | Default: 0 |
501 | 501 | ||
@@ -787,7 +787,7 @@ accept_ra_defrtr - BOOLEAN | |||
787 | disabled if accept_ra is disabled. | 787 | disabled if accept_ra is disabled. |
788 | 788 | ||
789 | accept_ra_pinfo - BOOLEAN | 789 | accept_ra_pinfo - BOOLEAN |
790 | Learn Prefix Inforamtion in Router Advertisement. | 790 | Learn Prefix Information in Router Advertisement. |
791 | 791 | ||
792 | Functional default: enabled if accept_ra is enabled. | 792 | Functional default: enabled if accept_ra is enabled. |
793 | disabled if accept_ra is disabled. | 793 | disabled if accept_ra is disabled. |
diff --git a/Documentation/networking/netconsole.txt b/Documentation/networking/netconsole.txt index 53618fb1a717..1caa6c734691 100644 --- a/Documentation/networking/netconsole.txt +++ b/Documentation/networking/netconsole.txt | |||
@@ -52,6 +52,6 @@ messages is high, but should have no other impact. | |||
52 | Netconsole was designed to be as instantaneous as possible, to | 52 | Netconsole was designed to be as instantaneous as possible, to |
53 | enable the logging of even the most critical kernel bugs. It works | 53 | enable the logging of even the most critical kernel bugs. It works |
54 | from IRQ contexts as well, and does not enable interrupts while | 54 | from IRQ contexts as well, and does not enable interrupts while |
55 | sending packets. Due to these unique needs, configuration can not | 55 | sending packets. Due to these unique needs, configuration cannot |
56 | be more automatic, and some fundamental limitations will remain: | 56 | be more automatic, and some fundamental limitations will remain: |
57 | only IP networks, UDP packets and ethernet devices are supported. | 57 | only IP networks, UDP packets and ethernet devices are supported. |
diff --git a/Documentation/networking/netif-msg.txt b/Documentation/networking/netif-msg.txt index 18ad4cea6259..c967ddb90d0b 100644 --- a/Documentation/networking/netif-msg.txt +++ b/Documentation/networking/netif-msg.txt | |||
@@ -40,7 +40,7 @@ History | |||
40 | Per-interface rather than per-driver message level setting. | 40 | Per-interface rather than per-driver message level setting. |
41 | More selective control over the type of messages emitted. | 41 | More selective control over the type of messages emitted. |
42 | 42 | ||
43 | The netif_msg recommandation adds these features with only a minor | 43 | The netif_msg recommendation adds these features with only a minor |
44 | complexity and code size increase. | 44 | complexity and code size increase. |
45 | 45 | ||
46 | The recommendation is the following points | 46 | The recommendation is the following points |
diff --git a/Documentation/networking/operstates.txt b/Documentation/networking/operstates.txt index 4a21d9bb836b..c9074f9b78bb 100644 --- a/Documentation/networking/operstates.txt +++ b/Documentation/networking/operstates.txt | |||
@@ -2,7 +2,7 @@ | |||
2 | 1. Introduction | 2 | 1. Introduction |
3 | 3 | ||
4 | Linux distinguishes between administrative and operational state of an | 4 | Linux distinguishes between administrative and operational state of an |
5 | interface. Admininstrative state is the result of "ip link set dev | 5 | interface. Administrative state is the result of "ip link set dev |
6 | <dev> up or down" and reflects whether the administrator wants to use | 6 | <dev> up or down" and reflects whether the administrator wants to use |
7 | the device for traffic. | 7 | the device for traffic. |
8 | 8 | ||
diff --git a/Documentation/networking/packet_mmap.txt b/Documentation/networking/packet_mmap.txt index aaf99d5f0dad..12a008a5c221 100644 --- a/Documentation/networking/packet_mmap.txt +++ b/Documentation/networking/packet_mmap.txt | |||
@@ -66,7 +66,7 @@ the following process: | |||
66 | 66 | ||
67 | [setup] socket() -------> creation of the capture socket | 67 | [setup] socket() -------> creation of the capture socket |
68 | setsockopt() ---> allocation of the circular buffer (ring) | 68 | setsockopt() ---> allocation of the circular buffer (ring) |
69 | mmap() ---------> maping of the allocated buffer to the | 69 | mmap() ---------> mapping of the allocated buffer to the |
70 | user process | 70 | user process |
71 | 71 | ||
72 | [capture] poll() ---------> to wait for incoming packets | 72 | [capture] poll() ---------> to wait for incoming packets |
@@ -93,7 +93,7 @@ The destruction of the socket and all associated resources | |||
93 | is done by a simple call to close(fd). | 93 | is done by a simple call to close(fd). |
94 | 94 | ||
95 | Next I will describe PACKET_MMAP settings and it's constraints, | 95 | Next I will describe PACKET_MMAP settings and it's constraints, |
96 | also the maping of the circular buffer in the user process and | 96 | also the mapping of the circular buffer in the user process and |
97 | the use of this buffer. | 97 | the use of this buffer. |
98 | 98 | ||
99 | -------------------------------------------------------------------------------- | 99 | -------------------------------------------------------------------------------- |
@@ -153,8 +153,8 @@ we will get the following buffer structure: | |||
153 | 153 | ||
154 | A frame can be of any size with the only condition it can fit in a block. A block | 154 | A frame can be of any size with the only condition it can fit in a block. A block |
155 | can only hold an integer number of frames, or in other words, a frame cannot | 155 | can only hold an integer number of frames, or in other words, a frame cannot |
156 | be spawn accross two blocks so there are some datails you have to take into | 156 | be spawned accross two blocks, so there are some details you have to take into |
157 | account when choosing the frame_size. See "Maping and use of the circular | 157 | account when choosing the frame_size. See "Mapping and use of the circular |
158 | buffer (ring)". | 158 | buffer (ring)". |
159 | 159 | ||
160 | 160 | ||
@@ -215,8 +215,8 @@ called pg_vec, its size limits the number of blocks that can be allocated. | |||
215 | block #1 | 215 | block #1 |
216 | 216 | ||
217 | 217 | ||
218 | kmalloc allocates any number of bytes of phisically contiguous memory from | 218 | kmalloc allocates any number of bytes of physically contiguous memory from |
219 | a pool of pre-determined sizes. This pool of memory is mantained by the slab | 219 | a pool of pre-determined sizes. This pool of memory is maintained by the slab |
220 | allocator which is at the end the responsible for doing the allocation and | 220 | allocator which is at the end the responsible for doing the allocation and |
221 | hence which imposes the maximum memory that kmalloc can allocate. | 221 | hence which imposes the maximum memory that kmalloc can allocate. |
222 | 222 | ||
@@ -262,7 +262,7 @@ i386 architecture: | |||
262 | <pagesize> = 4096 bytes | 262 | <pagesize> = 4096 bytes |
263 | <max-order> = 11 | 263 | <max-order> = 11 |
264 | 264 | ||
265 | and a value for <frame size> of 2048 byteas. These parameters will yield | 265 | and a value for <frame size> of 2048 bytes. These parameters will yield |
266 | 266 | ||
267 | <block number> = 131072/4 = 32768 blocks | 267 | <block number> = 131072/4 = 32768 blocks |
268 | <block size> = 4096 << 11 = 8 MiB. | 268 | <block size> = 4096 << 11 = 8 MiB. |
@@ -278,7 +278,7 @@ an i386 kernel's memory size is limited to 1GiB. | |||
278 | All memory allocations are not freed until the socket is closed. The memory | 278 | All memory allocations are not freed until the socket is closed. The memory |
279 | allocations are done with GFP_KERNEL priority, this basically means that | 279 | allocations are done with GFP_KERNEL priority, this basically means that |
280 | the allocation can wait and swap other process' memory in order to allocate | 280 | the allocation can wait and swap other process' memory in order to allocate |
281 | the nececessary memory, so normally limits can be reached. | 281 | the necessary memory, so normally limits can be reached. |
282 | 282 | ||
283 | Other constraints | 283 | Other constraints |
284 | ------------------- | 284 | ------------------- |
@@ -296,7 +296,7 @@ the following (from include/linux/if_packet.h): | |||
296 | - struct tpacket_hdr | 296 | - struct tpacket_hdr |
297 | - pad to TPACKET_ALIGNMENT=16 | 297 | - pad to TPACKET_ALIGNMENT=16 |
298 | - struct sockaddr_ll | 298 | - struct sockaddr_ll |
299 | - Gap, chosen so that packet data (Start+tp_net) alignes to | 299 | - Gap, chosen so that packet data (Start+tp_net) aligns to |
300 | TPACKET_ALIGNMENT=16 | 300 | TPACKET_ALIGNMENT=16 |
301 | - Start+tp_mac: [ Optional MAC header ] | 301 | - Start+tp_mac: [ Optional MAC header ] |
302 | - Start+tp_net: Packet data, aligned to TPACKET_ALIGNMENT=16. | 302 | - Start+tp_net: Packet data, aligned to TPACKET_ALIGNMENT=16. |
@@ -311,14 +311,14 @@ the following (from include/linux/if_packet.h): | |||
311 | tp_frame_size must be a multiple of TPACKET_ALIGNMENT | 311 | tp_frame_size must be a multiple of TPACKET_ALIGNMENT |
312 | tp_frame_nr must be exactly frames_per_block*tp_block_nr | 312 | tp_frame_nr must be exactly frames_per_block*tp_block_nr |
313 | 313 | ||
314 | Note that tp_block_size should be choosed to be a power of two or there will | 314 | Note that tp_block_size should be chosen to be a power of two or there will |
315 | be a waste of memory. | 315 | be a waste of memory. |
316 | 316 | ||
317 | -------------------------------------------------------------------------------- | 317 | -------------------------------------------------------------------------------- |
318 | + Maping and use of the circular buffer (ring) | 318 | + Mapping and use of the circular buffer (ring) |
319 | -------------------------------------------------------------------------------- | 319 | -------------------------------------------------------------------------------- |
320 | 320 | ||
321 | The maping of the buffer in the user process is done with the conventional | 321 | The mapping of the buffer in the user process is done with the conventional |
322 | mmap function. Even the circular buffer is compound of several physically | 322 | mmap function. Even the circular buffer is compound of several physically |
323 | discontiguous blocks of memory, they are contiguous to the user space, hence | 323 | discontiguous blocks of memory, they are contiguous to the user space, hence |
324 | just one call to mmap is needed: | 324 | just one call to mmap is needed: |
diff --git a/Documentation/networking/pktgen.txt b/Documentation/networking/pktgen.txt index 18d385c068fc..c8eee23be8c0 100644 --- a/Documentation/networking/pktgen.txt +++ b/Documentation/networking/pktgen.txt | |||
@@ -7,7 +7,7 @@ Date: 041221 | |||
7 | 7 | ||
8 | Enable CONFIG_NET_PKTGEN to compile and build pktgen.o either in kernel | 8 | Enable CONFIG_NET_PKTGEN to compile and build pktgen.o either in kernel |
9 | or as module. Module is preferred. insmod pktgen if needed. Once running | 9 | or as module. Module is preferred. insmod pktgen if needed. Once running |
10 | pktgen creates a thread on each CPU where each thread has affinty it's CPU. | 10 | pktgen creates a thread on each CPU where each thread has affinity to its CPU. |
11 | Monitoring and controlling is done via /proc. Easiest to select a suitable | 11 | Monitoring and controlling is done via /proc. Easiest to select a suitable |
12 | a sample script and configure. | 12 | a sample script and configure. |
13 | 13 | ||
@@ -18,7 +18,7 @@ root 129 0.3 0.0 0 0 ? SW 2003 523:20 [pktgen/0] | |||
18 | root 130 0.3 0.0 0 0 ? SW 2003 509:50 [pktgen/1] | 18 | root 130 0.3 0.0 0 0 ? SW 2003 509:50 [pktgen/1] |
19 | 19 | ||
20 | 20 | ||
21 | For montoring and control pktgen creates: | 21 | For monitoring and control pktgen creates: |
22 | /proc/net/pktgen/pgctrl | 22 | /proc/net/pktgen/pgctrl |
23 | /proc/net/pktgen/kpktgend_X | 23 | /proc/net/pktgen/kpktgend_X |
24 | /proc/net/pktgen/ethX | 24 | /proc/net/pktgen/ethX |
@@ -32,7 +32,7 @@ Running: | |||
32 | Stopped: eth1 | 32 | Stopped: eth1 |
33 | Result: OK: max_before_softirq=10000 | 33 | Result: OK: max_before_softirq=10000 |
34 | 34 | ||
35 | Most important the devices assigend to thread. Note! A device can only belong | 35 | Most important the devices assigned to thread. Note! A device can only belong |
36 | to one thread. | 36 | to one thread. |
37 | 37 | ||
38 | 38 | ||
@@ -147,7 +147,7 @@ Examples: | |||
147 | Example scripts | 147 | Example scripts |
148 | =============== | 148 | =============== |
149 | 149 | ||
150 | A collection of small tutorial scripts for pktgen is in expamples dir. | 150 | A collection of small tutorial scripts for pktgen is in examples dir. |
151 | 151 | ||
152 | pktgen.conf-1-1 # 1 CPU 1 dev | 152 | pktgen.conf-1-1 # 1 CPU 1 dev |
153 | pktgen.conf-1-2 # 1 CPU 2 dev | 153 | pktgen.conf-1-2 # 1 CPU 2 dev |
diff --git a/Documentation/networking/s2io.txt b/Documentation/networking/s2io.txt index bd528ffbeb4b..4bde53e85f3f 100644 --- a/Documentation/networking/s2io.txt +++ b/Documentation/networking/s2io.txt | |||
@@ -126,7 +126,7 @@ However, you may want to set PCI latency timer to 248. | |||
126 | #setpci -d 17d5:* LATENCY_TIMER=f8 | 126 | #setpci -d 17d5:* LATENCY_TIMER=f8 |
127 | For detailed description of the PCI registers, please see Xframe User Guide. | 127 | For detailed description of the PCI registers, please see Xframe User Guide. |
128 | b. Use 2-buffer mode. This results in large performance boost on | 128 | b. Use 2-buffer mode. This results in large performance boost on |
129 | on certain platforms(eg. SGI Altix, IBM xSeries). | 129 | certain platforms(eg. SGI Altix, IBM xSeries). |
130 | c. Ensure Receive Checksum offload is enabled. Use "ethtool -K ethX" command to | 130 | c. Ensure Receive Checksum offload is enabled. Use "ethtool -K ethX" command to |
131 | set/verify this option. | 131 | set/verify this option. |
132 | d. Enable NAPI feature(in kernel configuration Device Drivers ---> Network | 132 | d. Enable NAPI feature(in kernel configuration Device Drivers ---> Network |
diff --git a/Documentation/networking/sk98lin.txt b/Documentation/networking/sk98lin.txt index 7837c53fd5fe..4e1cc745ec63 100644 --- a/Documentation/networking/sk98lin.txt +++ b/Documentation/networking/sk98lin.txt | |||
@@ -180,7 +180,7 @@ To set the driver parameters in this file, proceed as follows: | |||
180 | 1. Insert a line of the form : | 180 | 1. Insert a line of the form : |
181 | options sk98lin ... | 181 | options sk98lin ... |
182 | For "...", the same syntax is required as described for the command | 182 | For "...", the same syntax is required as described for the command |
183 | line paramaters of modprobe below. | 183 | line parameters of modprobe below. |
184 | 2. To activate the new parameters, either reboot your computer | 184 | 2. To activate the new parameters, either reboot your computer |
185 | or | 185 | or |
186 | unload and reload the driver. | 186 | unload and reload the driver. |
@@ -320,7 +320,7 @@ Parameter: Moderation | |||
320 | Values: None, Static, Dynamic | 320 | Values: None, Static, Dynamic |
321 | Default: None | 321 | Default: None |
322 | 322 | ||
323 | Interrupt moderation is employed to limit the maxmimum number of interrupts | 323 | Interrupt moderation is employed to limit the maximum number of interrupts |
324 | the driver has to serve. That is, one or more interrupts (which indicate any | 324 | the driver has to serve. That is, one or more interrupts (which indicate any |
325 | transmit or receive packet to be processed) are queued until the driver | 325 | transmit or receive packet to be processed) are queued until the driver |
326 | processes them. When queued interrupts are to be served, is determined by the | 326 | processes them. When queued interrupts are to be served, is determined by the |
@@ -364,9 +364,9 @@ Parameter: IntsPerSec | |||
364 | Values: 30...40000 (interrupts per second) | 364 | Values: 30...40000 (interrupts per second) |
365 | Default: 2000 | 365 | Default: 2000 |
366 | 366 | ||
367 | This parameter is only used, if either static or dynamic interrupt moderation | 367 | This parameter is only used if either static or dynamic interrupt moderation |
368 | is used on a network adapter card. Using this paramter if no moderation is | 368 | is used on a network adapter card. Using this parameter if no moderation is |
369 | applied, will lead to no action performed. | 369 | applied will lead to no action performed. |
370 | 370 | ||
371 | This parameter determines the length of any interrupt moderation interval. | 371 | This parameter determines the length of any interrupt moderation interval. |
372 | Assuming that static interrupt moderation is to be used, an 'IntsPerSec' | 372 | Assuming that static interrupt moderation is to be used, an 'IntsPerSec' |
@@ -484,7 +484,7 @@ If any problems occur during the installation process, check the | |||
484 | following list: | 484 | following list: |
485 | 485 | ||
486 | 486 | ||
487 | Problem: The SK-98xx adapter can not be found by the driver. | 487 | Problem: The SK-98xx adapter cannot be found by the driver. |
488 | Solution: In /proc/pci search for the following entry: | 488 | Solution: In /proc/pci search for the following entry: |
489 | 'Ethernet controller: SysKonnect SK-98xx ...' | 489 | 'Ethernet controller: SysKonnect SK-98xx ...' |
490 | If this entry exists, the SK-98xx or SK-98xx V2.0 adapter has | 490 | If this entry exists, the SK-98xx or SK-98xx V2.0 adapter has |
@@ -497,12 +497,12 @@ Solution: In /proc/pci search for the following entry: | |||
497 | www.syskonnect.com | 497 | www.syskonnect.com |
498 | 498 | ||
499 | Some COMPAQ machines have problems dealing with PCI under Linux. | 499 | Some COMPAQ machines have problems dealing with PCI under Linux. |
500 | Linux. This problem is described in the 'PCI howto' document | 500 | This problem is described in the 'PCI howto' document |
501 | (included in some distributions or available from the | 501 | (included in some distributions or available from the |
502 | web, e.g. at 'www.linux.org'). | 502 | web, e.g. at 'www.linux.org'). |
503 | 503 | ||
504 | 504 | ||
505 | Problem: Programs such as 'ifconfig' or 'route' can not be found or the | 505 | Problem: Programs such as 'ifconfig' or 'route' cannot be found or the |
506 | error message 'Operation not permitted' is displayed. | 506 | error message 'Operation not permitted' is displayed. |
507 | Reason: You are not logged in as user 'root'. | 507 | Reason: You are not logged in as user 'root'. |
508 | Solution: Logout and login as 'root' or change to 'root' via 'su'. | 508 | Solution: Logout and login as 'root' or change to 'root' via 'su'. |
diff --git a/Documentation/networking/skfp.txt b/Documentation/networking/skfp.txt index 3a419ed42f81..abfddf81e34a 100644 --- a/Documentation/networking/skfp.txt +++ b/Documentation/networking/skfp.txt | |||
@@ -81,7 +81,7 @@ Makes my life much easier :-) | |||
81 | 81 | ||
82 | If you run into problems during installation, check those items: | 82 | If you run into problems during installation, check those items: |
83 | 83 | ||
84 | Problem: The FDDI adapter can not be found by the driver. | 84 | Problem: The FDDI adapter cannot be found by the driver. |
85 | Reason: Look in /proc/pci for the following entry: | 85 | Reason: Look in /proc/pci for the following entry: |
86 | 'FDDI network controller: SysKonnect SK-FDDI-PCI ...' | 86 | 'FDDI network controller: SysKonnect SK-FDDI-PCI ...' |
87 | If this entry exists, then the FDDI adapter has been | 87 | If this entry exists, then the FDDI adapter has been |
@@ -99,7 +99,7 @@ Reason: Look in /proc/pci for the following entry: | |||
99 | 99 | ||
100 | Problem: You want to use your computer as a router between | 100 | Problem: You want to use your computer as a router between |
101 | multiple IP subnetworks (using multiple adapters), but | 101 | multiple IP subnetworks (using multiple adapters), but |
102 | you can not reach computers in other subnetworks. | 102 | you cannot reach computers in other subnetworks. |
103 | Reason: Either the router's kernel is not configured for IP | 103 | Reason: Either the router's kernel is not configured for IP |
104 | forwarding or there is a problem with the routing table | 104 | forwarding or there is a problem with the routing table |
105 | and gateway configuration in at least one of the | 105 | and gateway configuration in at least one of the |
diff --git a/Documentation/networking/slicecom.txt b/Documentation/networking/slicecom.txt index 59cfd95121fb..2f04c9267f89 100644 --- a/Documentation/networking/slicecom.txt +++ b/Documentation/networking/slicecom.txt | |||
@@ -89,7 +89,7 @@ red: green: meaning: | |||
89 | 89 | ||
90 | - - no frame-sync, no signal received, or signal SNAFU. | 90 | - - no frame-sync, no signal received, or signal SNAFU. |
91 | - on "Everything is OK" | 91 | - on "Everything is OK" |
92 | on on Recepion is ok, but the remote end sends Remote Alarm | 92 | on on Reception is ok, but the remote end sends Remote Alarm |
93 | on - The interface is unconfigured | 93 | on - The interface is unconfigured |
94 | 94 | ||
95 | ----------------------------------------------------------------- | 95 | ----------------------------------------------------------------- |
@@ -257,12 +257,12 @@ which begin with '//' are the comments. | |||
257 | // No alarms - Everything OK | 257 | // No alarms - Everything OK |
258 | // | 258 | // |
259 | // LOS - Loss Of Signal - No signal sensed on the input | 259 | // LOS - Loss Of Signal - No signal sensed on the input |
260 | // AIS - Alarm Indication Signal - The remot side sends '11111111'-s, | 260 | // AIS - Alarm Indication Signal - The remote side sends '11111111'-s, |
261 | // it tells, that there's an error condition, or it's not | 261 | // it tells, that there's an error condition, or it's not |
262 | // initialised. | 262 | // initialised. |
263 | // AUXP - Auxiliary Pattern Indication - 01010101.. received. | 263 | // AUXP - Auxiliary Pattern Indication - 01010101.. received. |
264 | // LFA - Loss of Frame Alignment - no frame sync received. | 264 | // LFA - Loss of Frame Alignment - no frame sync received. |
265 | // RRA - Receive Remote Alarm - the remote end's OK, but singnals error cond. | 265 | // RRA - Receive Remote Alarm - the remote end's OK, but signals error cond. |
266 | // LMFA - Loss of CRC4 Multiframe Alignment - no CRC4 multiframe sync. | 266 | // LMFA - Loss of CRC4 Multiframe Alignment - no CRC4 multiframe sync. |
267 | // NMF - No Multiframe alignment Found after 400 msec - no such alarm using | 267 | // NMF - No Multiframe alignment Found after 400 msec - no such alarm using |
268 | // no-crc4 or crc4 framing, see below. | 268 | // no-crc4 or crc4 framing, see below. |
@@ -364,6 +364,6 @@ Treat them very carefully, these can cause much trouble! | |||
364 | 364 | ||
365 | # echo >lbireg 0x1d 0x21 | 365 | # echo >lbireg 0x1d 0x21 |
366 | 366 | ||
367 | - Swithing the loop off: | 367 | - Switching the loop off: |
368 | 368 | ||
369 | # echo >lbireg 0x1d 0x00 | 369 | # echo >lbireg 0x1d 0x00 |
diff --git a/Documentation/networking/smctr.txt b/Documentation/networking/smctr.txt index 4c866f5a0ee4..9af25b810c1f 100644 --- a/Documentation/networking/smctr.txt +++ b/Documentation/networking/smctr.txt | |||
@@ -11,7 +11,7 @@ This driver is rather simple to use. Select Y to Token Ring adapter support | |||
11 | in the kernel configuration. A choice for SMC Token Ring adapters will | 11 | in the kernel configuration. A choice for SMC Token Ring adapters will |
12 | appear. This drives supports all SMC ISA/MCA adapters. Choose this | 12 | appear. This drives supports all SMC ISA/MCA adapters. Choose this |
13 | option. I personally recommend compiling the driver as a module (M), but if you | 13 | option. I personally recommend compiling the driver as a module (M), but if you |
14 | you would like to compile it staticly answer Y instead. | 14 | you would like to compile it statically answer Y instead. |
15 | 15 | ||
16 | This driver supports multiple adapters without the need to load multiple copies | 16 | This driver supports multiple adapters without the need to load multiple copies |
17 | of the driver. You should be able to load up to 7 adapters without any kernel | 17 | of the driver. You should be able to load up to 7 adapters without any kernel |
diff --git a/Documentation/networking/tcp.txt b/Documentation/networking/tcp.txt index 0fa300425575..0121edc3ba06 100644 --- a/Documentation/networking/tcp.txt +++ b/Documentation/networking/tcp.txt | |||
@@ -62,7 +62,7 @@ if needed and you will get the expected protocol. If you ask for an | |||
62 | unknown congestion method, then the sysctl attempt will fail. | 62 | unknown congestion method, then the sysctl attempt will fail. |
63 | 63 | ||
64 | If you remove a tcp congestion control module, then you will get the next | 64 | If you remove a tcp congestion control module, then you will get the next |
65 | available one. Since reno can not be built as a module, and can not be | 65 | available one. Since reno cannot be built as a module, and cannot be |
66 | deleted, it will always be available. | 66 | deleted, it will always be available. |
67 | 67 | ||
68 | How the new TCP output machine [nyi] works. | 68 | How the new TCP output machine [nyi] works. |
diff --git a/Documentation/networking/tms380tr.txt b/Documentation/networking/tms380tr.txt index 179e527b9da1..c169a57bc925 100644 --- a/Documentation/networking/tms380tr.txt +++ b/Documentation/networking/tms380tr.txt | |||
@@ -24,7 +24,7 @@ This driver is rather simple to use. Select Y to Token Ring adapter support | |||
24 | in the kernel configuration. A choice for SysKonnect Token Ring adapters will | 24 | in the kernel configuration. A choice for SysKonnect Token Ring adapters will |
25 | appear. This drives supports all SysKonnect ISA and PCI adapters. Choose this | 25 | appear. This drives supports all SysKonnect ISA and PCI adapters. Choose this |
26 | option. I personally recommend compiling the driver as a module (M), but if you | 26 | option. I personally recommend compiling the driver as a module (M), but if you |
27 | you would like to compile it staticly answer Y instead. | 27 | you would like to compile it statically answer Y instead. |
28 | 28 | ||
29 | This driver supports multiple adapters without the need to load multiple copies | 29 | This driver supports multiple adapters without the need to load multiple copies |
30 | of the driver. You should be able to load up to 7 adapters without any kernel | 30 | of the driver. You should be able to load up to 7 adapters without any kernel |
diff --git a/Documentation/networking/vortex.txt b/Documentation/networking/vortex.txt index 6091e5f6794f..6356d3faed36 100644 --- a/Documentation/networking/vortex.txt +++ b/Documentation/networking/vortex.txt | |||
@@ -359,13 +359,13 @@ steps you should take: | |||
359 | 359 | ||
360 | Eliminate some variables: try different cards, different | 360 | Eliminate some variables: try different cards, different |
361 | computers, different cables, different ports on the switch/hub, | 361 | computers, different cables, different ports on the switch/hub, |
362 | different versions of the kernel or ofthe driver, etc. | 362 | different versions of the kernel or of the driver, etc. |
363 | 363 | ||
364 | - OK, it's a driver problem. | 364 | - OK, it's a driver problem. |
365 | 365 | ||
366 | You need to generate a report. Typically this is an email to the | 366 | You need to generate a report. Typically this is an email to the |
367 | maintainer and/or linux-net@vger.kernel.org. The maintainer's | 367 | maintainer and/or linux-net@vger.kernel.org. The maintainer's |
368 | email address will be inthe driver source or in the MAINTAINERS file. | 368 | email address will be in the driver source or in the MAINTAINERS file. |
369 | 369 | ||
370 | - The contents of your report will vary a lot depending upon the | 370 | - The contents of your report will vary a lot depending upon the |
371 | problem. If it's a kernel crash then you should refer to the | 371 | problem. If it's a kernel crash then you should refer to the |
diff --git a/Documentation/networking/wan-router.txt b/Documentation/networking/wan-router.txt index c96897aa08b6..0cf654147634 100644 --- a/Documentation/networking/wan-router.txt +++ b/Documentation/networking/wan-router.txt | |||
@@ -148,7 +148,7 @@ NEW IN THIS RELEASE | |||
148 | for async connections. | 148 | for async connections. |
149 | 149 | ||
150 | o Added the PPPCONFIG utility | 150 | o Added the PPPCONFIG utility |
151 | Used to configure the PPPD dameon for the | 151 | Used to configure the PPPD daemon for the |
152 | WANPIPE Async PPP and standard serial port. | 152 | WANPIPE Async PPP and standard serial port. |
153 | The wancfg calls the pppconfig to configure | 153 | The wancfg calls the pppconfig to configure |
154 | the pppd. | 154 | the pppd. |
@@ -214,7 +214,7 @@ PRODUCT COMPONENTS AND RELATED FILES | |||
214 | /usr/local/wanrouter/patches/kdrivers: | 214 | /usr/local/wanrouter/patches/kdrivers: |
215 | Sources of the latest WANPIPE device drivers. | 215 | Sources of the latest WANPIPE device drivers. |
216 | These are used to UPGRADE the linux kernel to the newest | 216 | These are used to UPGRADE the linux kernel to the newest |
217 | version if the kernel source has already been pathced with | 217 | version if the kernel source has already been patched with |
218 | WANPIPE drivers. | 218 | WANPIPE drivers. |
219 | 219 | ||
220 | /usr/local/wanrouter/samples: | 220 | /usr/local/wanrouter/samples: |
@@ -350,7 +350,7 @@ REVISION HISTORY | |||
350 | Available as a patch. | 350 | Available as a patch. |
351 | 351 | ||
352 | 2.0.6 Aug 17, 1999 Increased debugging in statup scripts | 352 | 2.0.6 Aug 17, 1999 Increased debugging in statup scripts |
353 | Fixed insallation bugs from 2.0.5 | 353 | Fixed installation bugs from 2.0.5 |
354 | Kernel patch works for both 2.2.10 and 2.2.11 kernels. | 354 | Kernel patch works for both 2.2.10 and 2.2.11 kernels. |
355 | There is no functional difference between the two packages | 355 | There is no functional difference between the two packages |
356 | 356 | ||
@@ -434,11 +434,11 @@ beta3-2.1.4 Jul 2000 o X25 M_BIT Problem fix. | |||
434 | change. | 434 | change. |
435 | 435 | ||
436 | beta1-2.1.5 Nov 15 2000 | 436 | beta1-2.1.5 Nov 15 2000 |
437 | o Fixed the MulitPort PPP Support for kernels 2.2.16 and above. | 437 | o Fixed the MultiPort PPP Support for kernels 2.2.16 and above. |
438 | 2.2.X kernels only | 438 | 2.2.X kernels only |
439 | 439 | ||
440 | o Secured the driver UDP debugging calls | 440 | o Secured the driver UDP debugging calls |
441 | - All illegal netowrk debugging calls are reported to | 441 | - All illegal network debugging calls are reported to |
442 | the log. | 442 | the log. |
443 | - Defined a set of allowed commands, all other denied. | 443 | - Defined a set of allowed commands, all other denied. |
444 | 444 | ||
@@ -451,7 +451,7 @@ beta1-2.1.5 Nov 15 2000 | |||
451 | 451 | ||
452 | o Keyboard Led Monitor/Debugger | 452 | o Keyboard Led Monitor/Debugger |
453 | - A new utilty /usr/sbin/wpkbdmon uses keyboard leds | 453 | - A new utilty /usr/sbin/wpkbdmon uses keyboard leds |
454 | to convey operatinal statistic information of the | 454 | to convey operational statistic information of the |
455 | Sangoma WANPIPE cards. | 455 | Sangoma WANPIPE cards. |
456 | NUM_LOCK = Line State (On=connected, Off=disconnected) | 456 | NUM_LOCK = Line State (On=connected, Off=disconnected) |
457 | CAPS_LOCK = Tx data (On=transmitting, Off=no tx data) | 457 | CAPS_LOCK = Tx data (On=transmitting, Off=no tx data) |
@@ -470,7 +470,7 @@ beta1-2.1.5 Nov 15 2000 | |||
470 | o Fixed the Frame Relay and Chdlc network interfaces so they are | 470 | o Fixed the Frame Relay and Chdlc network interfaces so they are |
471 | compatible with libpcap libraries. Meaning, tcpdump, snort, | 471 | compatible with libpcap libraries. Meaning, tcpdump, snort, |
472 | ethereal, and all other packet sniffers and debuggers work on | 472 | ethereal, and all other packet sniffers and debuggers work on |
473 | all WANPIPE netowrk interfaces. | 473 | all WANPIPE network interfaces. |
474 | - Set the network interface encoding type to ARPHRD_PPP. | 474 | - Set the network interface encoding type to ARPHRD_PPP. |
475 | This tell the sniffers that data obtained from the | 475 | This tell the sniffers that data obtained from the |
476 | network interface is in pure IP format. | 476 | network interface is in pure IP format. |
@@ -570,7 +570,7 @@ bata1-2.2.1 Feb 09 2001 | |||
570 | 570 | ||
571 | Option to COMPILE WANPIPE modules against the currently | 571 | Option to COMPILE WANPIPE modules against the currently |
572 | running kernel, thus no need for manual kernel and module | 572 | running kernel, thus no need for manual kernel and module |
573 | re-compilatin. | 573 | re-compilation. |
574 | 574 | ||
575 | o Updates and Bug Fixes to wancfg utility. | 575 | o Updates and Bug Fixes to wancfg utility. |
576 | 576 | ||
diff --git a/Documentation/nfsroot.txt b/Documentation/nfsroot.txt index 3cc953cb288f..719f9a9d60c0 100644 --- a/Documentation/nfsroot.txt +++ b/Documentation/nfsroot.txt | |||
@@ -11,7 +11,7 @@ Updated 2006 by Horms <horms@verge.net.au> | |||
11 | In order to use a diskless system, such as an X-terminal or printer server | 11 | In order to use a diskless system, such as an X-terminal or printer server |
12 | for example, it is necessary for the root filesystem to be present on a | 12 | for example, it is necessary for the root filesystem to be present on a |
13 | non-disk device. This may be an initramfs (see Documentation/filesystems/ | 13 | non-disk device. This may be an initramfs (see Documentation/filesystems/ |
14 | ramfs-rootfs-initramfs.txt), a ramdisk (see Documenation/initrd.txt) or a | 14 | ramfs-rootfs-initramfs.txt), a ramdisk (see Documentation/initrd.txt) or a |
15 | filesystem mounted via NFS. The following text describes on how to use NFS | 15 | filesystem mounted via NFS. The following text describes on how to use NFS |
16 | for the root filesystem. For the rest of this text 'client' means the | 16 | for the root filesystem. For the rest of this text 'client' means the |
17 | diskless system, and 'server' means the NFS server. | 17 | diskless system, and 'server' means the NFS server. |
diff --git a/Documentation/pci-error-recovery.txt b/Documentation/pci-error-recovery.txt index 634d3e5b5756..6650af432523 100644 --- a/Documentation/pci-error-recovery.txt +++ b/Documentation/pci-error-recovery.txt | |||
@@ -172,7 +172,7 @@ is STEP 6 (Permanent Failure). | |||
172 | >>> a value of 0xff on read, and writes will be dropped. If the device | 172 | >>> a value of 0xff on read, and writes will be dropped. If the device |
173 | >>> driver attempts more than 10K I/O's to a frozen adapter, it will | 173 | >>> driver attempts more than 10K I/O's to a frozen adapter, it will |
174 | >>> assume that the device driver has gone into an infinite loop, and | 174 | >>> assume that the device driver has gone into an infinite loop, and |
175 | >>> it will panic the the kernel. There doesn't seem to be any other | 175 | >>> it will panic the kernel. There doesn't seem to be any other |
176 | >>> way of stopping a device driver that insists on spinning on I/O. | 176 | >>> way of stopping a device driver that insists on spinning on I/O. |
177 | 177 | ||
178 | STEP 2: MMIO Enabled | 178 | STEP 2: MMIO Enabled |
diff --git a/Documentation/pi-futex.txt b/Documentation/pi-futex.txt index 5d61dacd21f6..9a5bc8651c29 100644 --- a/Documentation/pi-futex.txt +++ b/Documentation/pi-futex.txt | |||
@@ -118,4 +118,4 @@ properties of futexes, and all four combinations are possible: futex, | |||
118 | robust-futex, PI-futex, robust+PI-futex. | 118 | robust-futex, PI-futex, robust+PI-futex. |
119 | 119 | ||
120 | More details about priority inheritance can be found in | 120 | More details about priority inheritance can be found in |
121 | Documentation/rtmutex.txt. | 121 | Documentation/rt-mutex.txt. |
diff --git a/Documentation/pm.txt b/Documentation/pm.txt index 79c0f32a760e..da8589a0e07d 100644 --- a/Documentation/pm.txt +++ b/Documentation/pm.txt | |||
@@ -18,10 +18,10 @@ enabled by default). If a working ACPI implementation is found, the | |||
18 | ACPI driver will override and disable APM, otherwise the APM driver | 18 | ACPI driver will override and disable APM, otherwise the APM driver |
19 | will be used. | 19 | will be used. |
20 | 20 | ||
21 | No sorry, you can not have both ACPI and APM enabled and running at | 21 | No, sorry, you cannot have both ACPI and APM enabled and running at |
22 | once. Some people with broken ACPI or broken APM implementations | 22 | once. Some people with broken ACPI or broken APM implementations |
23 | would like to use both to get a full set of working features, but you | 23 | would like to use both to get a full set of working features, but you |
24 | simply can not mix and match the two. Only one power management | 24 | simply cannot mix and match the two. Only one power management |
25 | interface can be in control of the machine at once. Think about it.. | 25 | interface can be in control of the machine at once. Think about it.. |
26 | 26 | ||
27 | User-space Daemons | 27 | User-space Daemons |
@@ -106,7 +106,7 @@ void pm_unregister_all(pm_callback cback); | |||
106 | * | 106 | * |
107 | * Returns: 0 if the request is successful | 107 | * Returns: 0 if the request is successful |
108 | * EINVAL if the request is not supported | 108 | * EINVAL if the request is not supported |
109 | * EBUSY if the device is now busy and can not handle the request | 109 | * EBUSY if the device is now busy and cannot handle the request |
110 | * ENOMEM if the device was unable to handle the request due to memory | 110 | * ENOMEM if the device was unable to handle the request due to memory |
111 | * | 111 | * |
112 | * Details: The device request callback will be called before the | 112 | * Details: The device request callback will be called before the |
diff --git a/Documentation/pnp.txt b/Documentation/pnp.txt index 9529c9c9fd59..9ff966bf76e6 100644 --- a/Documentation/pnp.txt +++ b/Documentation/pnp.txt | |||
@@ -222,7 +222,7 @@ static struct pnp_driver serial_pnp_driver = { | |||
222 | .remove = serial_pnp_remove, | 222 | .remove = serial_pnp_remove, |
223 | }; | 223 | }; |
224 | 224 | ||
225 | * name and id_table can not be NULL. | 225 | * name and id_table cannot be NULL. |
226 | 226 | ||
227 | 4.) register the driver | 227 | 4.) register the driver |
228 | ex: | 228 | ex: |
diff --git a/Documentation/power/pci.txt b/Documentation/power/pci.txt index 73fc87e5dc38..24edf25b3bb7 100644 --- a/Documentation/power/pci.txt +++ b/Documentation/power/pci.txt | |||
@@ -326,7 +326,7 @@ A reference implementation | |||
326 | 326 | ||
327 | This is a typical implementation. Drivers can slightly change the order | 327 | This is a typical implementation. Drivers can slightly change the order |
328 | of the operations in the implementation, ignore some operations or add | 328 | of the operations in the implementation, ignore some operations or add |
329 | more deriver specific operations in it, but drivers should do something like | 329 | more driver specific operations in it, but drivers should do something like |
330 | this on the whole. | 330 | this on the whole. |
331 | 331 | ||
332 | 5. Resources | 332 | 5. Resources |
diff --git a/Documentation/power/swsusp.txt b/Documentation/power/swsusp.txt index 823b2cf6e3dc..9ea2208b43b5 100644 --- a/Documentation/power/swsusp.txt +++ b/Documentation/power/swsusp.txt | |||
@@ -156,7 +156,7 @@ instead set the PF_NOFREEZE process flag when creating the thread (and | |||
156 | be very carefull). | 156 | be very carefull). |
157 | 157 | ||
158 | 158 | ||
159 | Q: What is the difference between between "platform", "shutdown" and | 159 | Q: What is the difference between "platform", "shutdown" and |
160 | "firmware" in /sys/power/disk? | 160 | "firmware" in /sys/power/disk? |
161 | 161 | ||
162 | A: | 162 | A: |
@@ -175,8 +175,8 @@ reliable. | |||
175 | Q: I do not understand why you have such strong objections to idea of | 175 | Q: I do not understand why you have such strong objections to idea of |
176 | selective suspend. | 176 | selective suspend. |
177 | 177 | ||
178 | A: Do selective suspend during runtime power managment, that's okay. But | 178 | A: Do selective suspend during runtime power management, that's okay. But |
179 | its useless for suspend-to-disk. (And I do not see how you could use | 179 | it's useless for suspend-to-disk. (And I do not see how you could use |
180 | it for suspend-to-ram, I hope you do not want that). | 180 | it for suspend-to-ram, I hope you do not want that). |
181 | 181 | ||
182 | Lets see, so you suggest to | 182 | Lets see, so you suggest to |
@@ -211,7 +211,7 @@ slowness may not matter to you. It can always be fixed later. | |||
211 | For devices like disk it does matter, you do not want to spindown for | 211 | For devices like disk it does matter, you do not want to spindown for |
212 | FREEZE. | 212 | FREEZE. |
213 | 213 | ||
214 | Q: After resuming, system is paging heavilly, leading to very bad interactivity. | 214 | Q: After resuming, system is paging heavily, leading to very bad interactivity. |
215 | 215 | ||
216 | A: Try running | 216 | A: Try running |
217 | 217 | ||
diff --git a/Documentation/power/tricks.txt b/Documentation/power/tricks.txt index c6d58d3da133..3b26bb502a4a 100644 --- a/Documentation/power/tricks.txt +++ b/Documentation/power/tricks.txt | |||
@@ -9,7 +9,7 @@ If you want to trick swsusp/S3 into working, you might want to try: | |||
9 | 9 | ||
10 | * turn off APIC and preempt | 10 | * turn off APIC and preempt |
11 | 11 | ||
12 | * use ext2. At least it has working fsck. [If something seemes to go | 12 | * use ext2. At least it has working fsck. [If something seems to go |
13 | wrong, force fsck when you have a chance] | 13 | wrong, force fsck when you have a chance] |
14 | 14 | ||
15 | * turn off modules | 15 | * turn off modules |
diff --git a/Documentation/power/userland-swsusp.txt b/Documentation/power/userland-swsusp.txt index 94058220aaf0..64755e9285db 100644 --- a/Documentation/power/userland-swsusp.txt +++ b/Documentation/power/userland-swsusp.txt | |||
@@ -91,7 +91,7 @@ unfreeze user space processes frozen by SNAPSHOT_UNFREEZE if they are | |||
91 | still frozen when the device is being closed). | 91 | still frozen when the device is being closed). |
92 | 92 | ||
93 | Currently it is assumed that the userland utilities reading/writing the | 93 | Currently it is assumed that the userland utilities reading/writing the |
94 | snapshot image from/to the kernel will use a swap parition, called the resume | 94 | snapshot image from/to the kernel will use a swap partition, called the resume |
95 | partition, as storage space. However, this is not really required, as they | 95 | partition, as storage space. However, this is not really required, as they |
96 | can use, for example, a special (blank) suspend partition or a file on a partition | 96 | can use, for example, a special (blank) suspend partition or a file on a partition |
97 | that is unmounted before SNAPSHOT_ATOMIC_SNAPSHOT and mounted afterwards. | 97 | that is unmounted before SNAPSHOT_ATOMIC_SNAPSHOT and mounted afterwards. |
diff --git a/Documentation/power/video.txt b/Documentation/power/video.txt index d859faa3a463..2b358498d095 100644 --- a/Documentation/power/video.txt +++ b/Documentation/power/video.txt | |||
@@ -16,7 +16,7 @@ problem for S1 standby, because hardware should retain its state over | |||
16 | that. | 16 | that. |
17 | 17 | ||
18 | We either have to run video BIOS during early resume, or interpret it | 18 | We either have to run video BIOS during early resume, or interpret it |
19 | using vbetool later, or maybe nothing is neccessary on particular | 19 | using vbetool later, or maybe nothing is necessary on particular |
20 | system because video state is preserved. Unfortunately different | 20 | system because video state is preserved. Unfortunately different |
21 | methods work on different systems, and no known method suits all of | 21 | methods work on different systems, and no known method suits all of |
22 | them. | 22 | them. |
diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt index b57e7da78976..27b457c09729 100644 --- a/Documentation/powerpc/booting-without-of.txt +++ b/Documentation/powerpc/booting-without-of.txt | |||
@@ -145,7 +145,7 @@ it with special cases. | |||
145 | in case you are entering the kernel with MMU enabled | 145 | in case you are entering the kernel with MMU enabled |
146 | and a non-1:1 mapping. | 146 | and a non-1:1 mapping. |
147 | 147 | ||
148 | r5 : NULL (as to differenciate with method a) | 148 | r5 : NULL (as to differentiate with method a) |
149 | 149 | ||
150 | Note about SMP entry: Either your firmware puts your other | 150 | Note about SMP entry: Either your firmware puts your other |
151 | CPUs in some sleep loop or spin loop in ROM where you can get | 151 | CPUs in some sleep loop or spin loop in ROM where you can get |
@@ -245,7 +245,7 @@ the block to RAM before passing it to the kernel. | |||
245 | --------- | 245 | --------- |
246 | 246 | ||
247 | The kernel is entered with r3 pointing to an area of memory that is | 247 | The kernel is entered with r3 pointing to an area of memory that is |
248 | roughtly described in include/asm-powerpc/prom.h by the structure | 248 | roughly described in include/asm-powerpc/prom.h by the structure |
249 | boot_param_header: | 249 | boot_param_header: |
250 | 250 | ||
251 | struct boot_param_header { | 251 | struct boot_param_header { |
@@ -335,7 +335,7 @@ struct boot_param_header { | |||
335 | "compact" format for the tree itself that is however not backward | 335 | "compact" format for the tree itself that is however not backward |
336 | compatible. You should always generate a structure of the highest | 336 | compatible. You should always generate a structure of the highest |
337 | version defined at the time of your implementation. Currently | 337 | version defined at the time of your implementation. Currently |
338 | that is version 16, unless you explicitely aim at being backward | 338 | that is version 16, unless you explicitly aim at being backward |
339 | compatible. | 339 | compatible. |
340 | 340 | ||
341 | - last_comp_version | 341 | - last_comp_version |
@@ -418,9 +418,9 @@ zero terminated string and is mandatory for version 1 to 3 of the | |||
418 | format definition (as it is in Open Firmware). Version 0x10 makes it | 418 | format definition (as it is in Open Firmware). Version 0x10 makes it |
419 | optional as it can generate it from the unit name defined below. | 419 | optional as it can generate it from the unit name defined below. |
420 | 420 | ||
421 | There is also a "unit name" that is used to differenciate nodes with | 421 | There is also a "unit name" that is used to differentiate nodes with |
422 | the same name at the same level, it is usually made of the node | 422 | the same name at the same level, it is usually made of the node |
423 | name's, the "@" sign, and a "unit address", which definition is | 423 | names, the "@" sign, and a "unit address", which definition is |
424 | specific to the bus type the node sits on. | 424 | specific to the bus type the node sits on. |
425 | 425 | ||
426 | The unit name doesn't exist as a property per-se but is included in | 426 | The unit name doesn't exist as a property per-se but is included in |
@@ -550,11 +550,11 @@ Here's the basic structure of a single node: | |||
550 | * [child nodes if any] | 550 | * [child nodes if any] |
551 | * token OF_DT_END_NODE (that is 0x00000002) | 551 | * token OF_DT_END_NODE (that is 0x00000002) |
552 | 552 | ||
553 | So the node content can be summmarised as a start token, a full path, | 553 | So the node content can be summarised as a start token, a full path, |
554 | a list of properties, a list of child node and an end token. Every | 554 | a list of properties, a list of child nodes, and an end token. Every |
555 | child node is a full node structure itself as defined above. | 555 | child node is a full node structure itself as defined above. |
556 | 556 | ||
557 | 4) Device tree 'strings" block | 557 | 4) Device tree "strings" block |
558 | 558 | ||
559 | In order to save space, property names, which are generally redundant, | 559 | In order to save space, property names, which are generally redundant, |
560 | are stored separately in the "strings" block. This block is simply the | 560 | are stored separately in the "strings" block. This block is simply the |
@@ -573,7 +573,7 @@ implementation of Open Firmware or an implementation compatible with | |||
573 | the Open Firmware client interface, those properties will be created | 573 | the Open Firmware client interface, those properties will be created |
574 | by the trampoline code in the kernel's prom_init() file. For example, | 574 | by the trampoline code in the kernel's prom_init() file. For example, |
575 | that's where you'll have to add code to detect your board model and | 575 | that's where you'll have to add code to detect your board model and |
576 | set the platform number. However, when using the flatenned device-tree | 576 | set the platform number. However, when using the flattened device-tree |
577 | entry point, there is no prom_init() pass, and thus you have to | 577 | entry point, there is no prom_init() pass, and thus you have to |
578 | provide those properties yourself. | 578 | provide those properties yourself. |
579 | 579 | ||
@@ -630,12 +630,11 @@ like address space bits, you'll have to add a bus translator to the | |||
630 | prom_parse.c file of the recent kernels for your bus type. | 630 | prom_parse.c file of the recent kernels for your bus type. |
631 | 631 | ||
632 | The "reg" property only defines addresses and sizes (if #size-cells | 632 | The "reg" property only defines addresses and sizes (if #size-cells |
633 | is | 633 | is non-0) within a given bus. In order to translate addresses upward |
634 | non-0) within a given bus. In order to translate addresses upward | ||
635 | (that is into parent bus addresses, and possibly into cpu physical | 634 | (that is into parent bus addresses, and possibly into cpu physical |
636 | addresses), all busses must contain a "ranges" property. If the | 635 | addresses), all busses must contain a "ranges" property. If the |
637 | "ranges" property is missing at a given level, it's assumed that | 636 | "ranges" property is missing at a given level, it's assumed that |
638 | translation isn't possible. The format of the "ranges" proprety for a | 637 | translation isn't possible. The format of the "ranges" property for a |
639 | bus is a list of: | 638 | bus is a list of: |
640 | 639 | ||
641 | bus address, parent bus address, size | 640 | bus address, parent bus address, size |
@@ -689,7 +688,7 @@ is present). | |||
689 | 4) Note about node and property names and character set | 688 | 4) Note about node and property names and character set |
690 | ------------------------------------------------------- | 689 | ------------------------------------------------------- |
691 | 690 | ||
692 | While open firmware provides more flexibe usage of 8859-1, this | 691 | While open firmware provides more flexible usage of 8859-1, this |
693 | specification enforces more strict rules. Nodes and properties should | 692 | specification enforces more strict rules. Nodes and properties should |
694 | be comprised only of ASCII characters 'a' to 'z', '0' to | 693 | be comprised only of ASCII characters 'a' to 'z', '0' to |
695 | '9', ',', '.', '_', '+', '#', '?', and '-'. Node names additionally | 694 | '9', ',', '.', '_', '+', '#', '?', and '-'. Node names additionally |
@@ -732,12 +731,12 @@ address which can extend beyond that limit. | |||
732 | that typically get driven by the same platform code in the | 731 | that typically get driven by the same platform code in the |
733 | kernel, you would use a different "model" property but put a | 732 | kernel, you would use a different "model" property but put a |
734 | value in "compatible". The kernel doesn't directly use that | 733 | value in "compatible". The kernel doesn't directly use that |
735 | value (see /chosen/linux,platform for how the kernel choses a | 734 | value (see /chosen/linux,platform for how the kernel chooses a |
736 | platform type) but it is generally useful. | 735 | platform type) but it is generally useful. |
737 | 736 | ||
738 | The root node is also generally where you add additional properties | 737 | The root node is also generally where you add additional properties |
739 | specific to your board like the serial number if any, that sort of | 738 | specific to your board like the serial number if any, that sort of |
740 | thing. it is recommended that if you add any "custom" property whose | 739 | thing. It is recommended that if you add any "custom" property whose |
741 | name may clash with standard defined ones, you prefix them with your | 740 | name may clash with standard defined ones, you prefix them with your |
742 | vendor name and a comma. | 741 | vendor name and a comma. |
743 | 742 | ||
@@ -817,7 +816,7 @@ address which can extend beyond that limit. | |||
817 | your board. It's a list of addresses/sizes concatenated | 816 | your board. It's a list of addresses/sizes concatenated |
818 | together, with the number of cells of each defined by the | 817 | together, with the number of cells of each defined by the |
819 | #address-cells and #size-cells of the root node. For example, | 818 | #address-cells and #size-cells of the root node. For example, |
820 | with both of these properties beeing 2 like in the example given | 819 | with both of these properties being 2 like in the example given |
821 | earlier, a 970 based machine with 6Gb of RAM could typically | 820 | earlier, a 970 based machine with 6Gb of RAM could typically |
822 | have a "reg" property here that looks like: | 821 | have a "reg" property here that looks like: |
823 | 822 | ||
@@ -970,7 +969,7 @@ device-tree in another format. The currently supported formats are: | |||
970 | - "asm": assembly language file. This is a file that can be | 969 | - "asm": assembly language file. This is a file that can be |
971 | sourced by gas to generate a device-tree "blob". That file can | 970 | sourced by gas to generate a device-tree "blob". That file can |
972 | then simply be added to your Makefile. Additionally, the | 971 | then simply be added to your Makefile. Additionally, the |
973 | assembly file exports some symbols that can be use | 972 | assembly file exports some symbols that can be used. |
974 | 973 | ||
975 | 974 | ||
976 | The syntax of the dtc tool is | 975 | The syntax of the dtc tool is |
@@ -984,10 +983,10 @@ generated. Supported versions are 1,2,3 and 16. The default is | |||
984 | currently version 3 but that may change in the future to version 16. | 983 | currently version 3 but that may change in the future to version 16. |
985 | 984 | ||
986 | Additionally, dtc performs various sanity checks on the tree, like the | 985 | Additionally, dtc performs various sanity checks on the tree, like the |
987 | uniqueness of linux,phandle properties, validity of strings, etc... | 986 | uniqueness of linux, phandle properties, validity of strings, etc... |
988 | 987 | ||
989 | The format of the .dts "source" file is "C" like, supports C and C++ | 988 | The format of the .dts "source" file is "C" like, supports C and C++ |
990 | style commments. | 989 | style comments. |
991 | 990 | ||
992 | / { | 991 | / { |
993 | } | 992 | } |
@@ -1069,13 +1068,13 @@ while all this has been defined and implemented. | |||
1069 | around. It contains no internal offsets or pointers for this | 1068 | around. It contains no internal offsets or pointers for this |
1070 | purpose. | 1069 | purpose. |
1071 | 1070 | ||
1072 | - An example of code for iterating nodes & retreiving properties | 1071 | - An example of code for iterating nodes & retrieving properties |
1073 | directly from the flattened tree format can be found in the kernel | 1072 | directly from the flattened tree format can be found in the kernel |
1074 | file arch/ppc64/kernel/prom.c, look at scan_flat_dt() function, | 1073 | file arch/ppc64/kernel/prom.c, look at scan_flat_dt() function, |
1075 | it's usage in early_init_devtree(), and the corresponding various | 1074 | its usage in early_init_devtree(), and the corresponding various |
1076 | early_init_dt_scan_*() callbacks. That code can be re-used in a | 1075 | early_init_dt_scan_*() callbacks. That code can be re-used in a |
1077 | GPL bootloader, and as the author of that code, I would be happy | 1076 | GPL bootloader, and as the author of that code, I would be happy |
1078 | do discuss possible free licencing to any vendor who wishes to | 1077 | to discuss possible free licencing to any vendor who wishes to |
1079 | integrate all or part of this code into a non-GPL bootloader. | 1078 | integrate all or part of this code into a non-GPL bootloader. |
1080 | 1079 | ||
1081 | 1080 | ||
diff --git a/Documentation/powerpc/eeh-pci-error-recovery.txt b/Documentation/powerpc/eeh-pci-error-recovery.txt index 3764dd4b12cb..4530d1bf0286 100644 --- a/Documentation/powerpc/eeh-pci-error-recovery.txt +++ b/Documentation/powerpc/eeh-pci-error-recovery.txt | |||
@@ -90,7 +90,7 @@ EEH-isolated, there is a firmware call it can make to determine if | |||
90 | this is the case. If so, then the device driver should put itself | 90 | this is the case. If so, then the device driver should put itself |
91 | into a consistent state (given that it won't be able to complete any | 91 | into a consistent state (given that it won't be able to complete any |
92 | pending work) and start recovery of the card. Recovery normally | 92 | pending work) and start recovery of the card. Recovery normally |
93 | would consist of reseting the PCI device (holding the PCI #RST | 93 | would consist of resetting the PCI device (holding the PCI #RST |
94 | line high for two seconds), followed by setting up the device | 94 | line high for two seconds), followed by setting up the device |
95 | config space (the base address registers (BAR's), latency timer, | 95 | config space (the base address registers (BAR's), latency timer, |
96 | cache line size, interrupt line, and so on). This is followed by a | 96 | cache line size, interrupt line, and so on). This is followed by a |
@@ -116,7 +116,7 @@ At this time, a generic EEH recovery mechanism has been implemented, | |||
116 | so that individual device drivers do not need to be modified to support | 116 | so that individual device drivers do not need to be modified to support |
117 | EEH recovery. This generic mechanism piggy-backs on the PCI hotplug | 117 | EEH recovery. This generic mechanism piggy-backs on the PCI hotplug |
118 | infrastructure, and percolates events up through the userspace/udev | 118 | infrastructure, and percolates events up through the userspace/udev |
119 | infrastructure. Followiing is a detailed description of how this is | 119 | infrastructure. Following is a detailed description of how this is |
120 | accomplished. | 120 | accomplished. |
121 | 121 | ||
122 | EEH must be enabled in the PHB's very early during the boot process, | 122 | EEH must be enabled in the PHB's very early during the boot process, |
diff --git a/Documentation/powerpc/hvcs.txt b/Documentation/powerpc/hvcs.txt index 1e38166f4e54..f93462c5db25 100644 --- a/Documentation/powerpc/hvcs.txt +++ b/Documentation/powerpc/hvcs.txt | |||
@@ -259,7 +259,7 @@ This index of '2' means that in order to connect to vty-server adapter | |||
259 | 259 | ||
260 | It should be noted that due to the system hotplug I/O capabilities of a | 260 | It should be noted that due to the system hotplug I/O capabilities of a |
261 | system the /dev/hvcs* entry that interacts with a particular vty-server | 261 | system the /dev/hvcs* entry that interacts with a particular vty-server |
262 | adapter is not guarenteed to remain the same across system reboots. Look | 262 | adapter is not guaranteed to remain the same across system reboots. Look |
263 | in the Q & A section for more on this issue. | 263 | in the Q & A section for more on this issue. |
264 | 264 | ||
265 | --------------------------------------------------------------------------- | 265 | --------------------------------------------------------------------------- |
diff --git a/Documentation/prio_tree.txt b/Documentation/prio_tree.txt index 2fbb0c49bc5b..3aa68f9a117b 100644 --- a/Documentation/prio_tree.txt +++ b/Documentation/prio_tree.txt | |||
@@ -88,7 +88,7 @@ path which is not desirable. Hence, we do not optimize the height of the | |||
88 | heap-and-size indexed overflow-sub-trees using prio_tree->index_bits. | 88 | heap-and-size indexed overflow-sub-trees using prio_tree->index_bits. |
89 | Instead the overflow sub-trees are indexed using full BITS_PER_LONG bits | 89 | Instead the overflow sub-trees are indexed using full BITS_PER_LONG bits |
90 | of size_index. This may lead to skewed sub-trees because most of the | 90 | of size_index. This may lead to skewed sub-trees because most of the |
91 | higher significant bits of the size_index are likely to be be 0 (zero). In | 91 | higher significant bits of the size_index are likely to be 0 (zero). In |
92 | the example above, all 3 overflow-sub-trees are skewed. This may marginally | 92 | the example above, all 3 overflow-sub-trees are skewed. This may marginally |
93 | affect the performance. However, processes rarely map many vmas with the | 93 | affect the performance. However, processes rarely map many vmas with the |
94 | same start_vm_pgoff but different end_vm_pgoffs. Therefore, we normally | 94 | same start_vm_pgoff but different end_vm_pgoffs. Therefore, we normally |
diff --git a/Documentation/rocket.txt b/Documentation/rocket.txt index a10678004451..1d8582990435 100644 --- a/Documentation/rocket.txt +++ b/Documentation/rocket.txt | |||
@@ -97,7 +97,7 @@ a range of I/O addresses for it to use. The first RocketPort card | |||
97 | requires a 68-byte contiguous block of I/O addresses, starting at one | 97 | requires a 68-byte contiguous block of I/O addresses, starting at one |
98 | of the following: 0x100h, 0x140h, 0x180h, 0x200h, 0x240h, 0x280h, | 98 | of the following: 0x100h, 0x140h, 0x180h, 0x200h, 0x240h, 0x280h, |
99 | 0x300h, 0x340h, 0x380h. This I/O address must be reflected in the DIP | 99 | 0x300h, 0x340h, 0x380h. This I/O address must be reflected in the DIP |
100 | switiches of *all* of the Rocketport cards. | 100 | switches of *all* of the Rocketport cards. |
101 | 101 | ||
102 | The second, third, and fourth RocketPort cards require a 64-byte | 102 | The second, third, and fourth RocketPort cards require a 64-byte |
103 | contiguous block of I/O addresses, starting at one of the following | 103 | contiguous block of I/O addresses, starting at one of the following |
@@ -107,7 +107,7 @@ second, third, and fourth Rocketport cards (if present) are set via | |||
107 | software control. The DIP switch settings for the I/O address must be | 107 | software control. The DIP switch settings for the I/O address must be |
108 | set to the value of the first Rocketport cards. | 108 | set to the value of the first Rocketport cards. |
109 | 109 | ||
110 | In order to destinguish each of the card from the others, each card | 110 | In order to distinguish each of the card from the others, each card |
111 | must have a unique board ID set on the dip switches. The first | 111 | must have a unique board ID set on the dip switches. The first |
112 | Rocketport board must be set with the DIP switches corresponding to | 112 | Rocketport board must be set with the DIP switches corresponding to |
113 | the first board, the second board must be set with the DIP switches | 113 | the first board, the second board must be set with the DIP switches |
@@ -120,7 +120,7 @@ conflict with any other cards in the system, including other | |||
120 | RocketPort cards. Below, you will find a list of commonly used I/O | 120 | RocketPort cards. Below, you will find a list of commonly used I/O |
121 | address ranges which may be in use by other devices in your system. | 121 | address ranges which may be in use by other devices in your system. |
122 | On a Linux system, "cat /proc/ioports" will also be helpful in | 122 | On a Linux system, "cat /proc/ioports" will also be helpful in |
123 | identifying what I/O addresses are being used by devics on your | 123 | identifying what I/O addresses are being used by devices on your |
124 | system. | 124 | system. |
125 | 125 | ||
126 | Remember, the FIRST RocketPort uses 68 I/O addresses. So, if you set it | 126 | Remember, the FIRST RocketPort uses 68 I/O addresses. So, if you set it |
diff --git a/Documentation/rpc-cache.txt b/Documentation/rpc-cache.txt index 5f757c8cf979..8a382bea6808 100644 --- a/Documentation/rpc-cache.txt +++ b/Documentation/rpc-cache.txt | |||
@@ -24,7 +24,7 @@ The common code handles such things as: | |||
24 | - general cache lookup with correct locking | 24 | - general cache lookup with correct locking |
25 | - supporting 'NEGATIVE' as well as positive entries | 25 | - supporting 'NEGATIVE' as well as positive entries |
26 | - allowing an EXPIRED time on cache items, and removing | 26 | - allowing an EXPIRED time on cache items, and removing |
27 | items after they expire, and are no longe in-use. | 27 | items after they expire, and are no longer in-use. |
28 | - making requests to user-space to fill in cache entries | 28 | - making requests to user-space to fill in cache entries |
29 | - allowing user-space to directly set entries in the cache | 29 | - allowing user-space to directly set entries in the cache |
30 | - delaying RPC requests that depend on as-yet incomplete | 30 | - delaying RPC requests that depend on as-yet incomplete |
@@ -53,7 +53,7 @@ Creating a Cache | |||
53 | structure | 53 | structure |
54 | void cache_put(struct kref *) | 54 | void cache_put(struct kref *) |
55 | This is called when the last reference to an item is | 55 | This is called when the last reference to an item is |
56 | is dropped. The pointer passed is to the 'ref' field | 56 | dropped. The pointer passed is to the 'ref' field |
57 | in the cache_head. cache_put should release any | 57 | in the cache_head. cache_put should release any |
58 | references create by 'cache_init' and, if CACHE_VALID | 58 | references create by 'cache_init' and, if CACHE_VALID |
59 | is set, any references created by cache_update. | 59 | is set, any references created by cache_update. |
diff --git a/Documentation/s390/3270.txt b/Documentation/s390/3270.txt index 0a044e647d2d..7a5c73a7ed7f 100644 --- a/Documentation/s390/3270.txt +++ b/Documentation/s390/3270.txt | |||
@@ -111,9 +111,7 @@ Here are the installation steps in detail: | |||
111 | config3270.sh. Inspect the output script it produces, | 111 | config3270.sh. Inspect the output script it produces, |
112 | /tmp/mkdev3270, and then run that script. This will create the | 112 | /tmp/mkdev3270, and then run that script. This will create the |
113 | necessary character special device files and make the necessary | 113 | necessary character special device files and make the necessary |
114 | changes to /etc/inittab. If you have selected DEVFS, the driver | 114 | changes to /etc/inittab. |
115 | itself creates the device files, and /tmp/mkdev3270 only changes | ||
116 | /etc/inittab. | ||
117 | 115 | ||
118 | Then notify /sbin/init that /etc/inittab has changed, by issuing | 116 | Then notify /sbin/init that /etc/inittab has changed, by issuing |
119 | the telinit command with the q operand: | 117 | the telinit command with the q operand: |
diff --git a/Documentation/s390/Debugging390.txt b/Documentation/s390/Debugging390.txt index 844c03fe7921..4dd25ee549e9 100644 --- a/Documentation/s390/Debugging390.txt +++ b/Documentation/s390/Debugging390.txt | |||
@@ -8,8 +8,8 @@ | |||
8 | Overview of Document: | 8 | Overview of Document: |
9 | ===================== | 9 | ===================== |
10 | This document is intended to give an good overview of how to debug | 10 | This document is intended to give an good overview of how to debug |
11 | Linux for s/390 & z/Architecture it isn't intended as a complete reference & not a | 11 | Linux for s/390 & z/Architecture. It isn't intended as a complete reference & not a |
12 | tutorial on the fundamentals of C & assembly, it dosen't go into | 12 | tutorial on the fundamentals of C & assembly. It doesn't go into |
13 | 390 IO in any detail. It is intended to complement the documents in the | 13 | 390 IO in any detail. It is intended to complement the documents in the |
14 | reference section below & any other worthwhile references you get. | 14 | reference section below & any other worthwhile references you get. |
15 | 15 | ||
@@ -88,7 +88,7 @@ s/390 z/Architecture | |||
88 | 0 0 Reserved ( must be 0 ) otherwise specification exception occurs. | 88 | 0 0 Reserved ( must be 0 ) otherwise specification exception occurs. |
89 | 89 | ||
90 | 1 1 Program Event Recording 1 PER enabled, | 90 | 1 1 Program Event Recording 1 PER enabled, |
91 | PER is used to facilititate debugging e.g. single stepping. | 91 | PER is used to facilitate debugging e.g. single stepping. |
92 | 92 | ||
93 | 2-4 2-4 Reserved ( must be 0 ). | 93 | 2-4 2-4 Reserved ( must be 0 ). |
94 | 94 | ||
@@ -163,7 +163,7 @@ s/390 z/Architecture | |||
163 | 1 1 64 bit | 163 | 1 1 64 bit |
164 | 164 | ||
165 | 32 1=31 bit addressing mode 0=24 bit addressing mode (for backward | 165 | 32 1=31 bit addressing mode 0=24 bit addressing mode (for backward |
166 | compatibility ), linux always runs with this bit set to 1 | 166 | compatibility), linux always runs with this bit set to 1 |
167 | 167 | ||
168 | 33-64 Instruction address. | 168 | 33-64 Instruction address. |
169 | 33-63 Reserved must be 0 | 169 | 33-63 Reserved must be 0 |
@@ -188,7 +188,7 @@ Bytes 0-512 ( 200 hex ) on s/390 & 0-512,4096-4544,4604-5119 currently on z/Arch | |||
188 | are used by the processor itself for holding such information as exception indications & | 188 | are used by the processor itself for holding such information as exception indications & |
189 | entry points for exceptions. | 189 | entry points for exceptions. |
190 | Bytes after 0xc00 hex are used by linux for per processor globals on s/390 & z/Architecture | 190 | Bytes after 0xc00 hex are used by linux for per processor globals on s/390 & z/Architecture |
191 | ( there is a gap on z/Architecure too currently between 0xc00 & 1000 which linux uses ). | 191 | ( there is a gap on z/Architecture too currently between 0xc00 & 1000 which linux uses ). |
192 | The closest thing to this on traditional architectures is the interrupt | 192 | The closest thing to this on traditional architectures is the interrupt |
193 | vector table. This is a good thing & does simplify some of the kernel coding | 193 | vector table. This is a good thing & does simplify some of the kernel coding |
194 | however it means that we now cannot catch stray NULL pointers in the | 194 | however it means that we now cannot catch stray NULL pointers in the |
@@ -239,7 +239,7 @@ they go to 64 Bit. | |||
239 | 239 | ||
240 | On 390 our limitations & strengths make us slightly different. | 240 | On 390 our limitations & strengths make us slightly different. |
241 | For backward compatibility we are only allowed use 31 bits (2GB) | 241 | For backward compatibility we are only allowed use 31 bits (2GB) |
242 | of our 32 bit addresses,however, we use entirely separate address | 242 | of our 32 bit addresses, however, we use entirely separate address |
243 | spaces for the user & kernel. | 243 | spaces for the user & kernel. |
244 | 244 | ||
245 | This means we can support 2GB of non Extended RAM on s/390, & more | 245 | This means we can support 2GB of non Extended RAM on s/390, & more |
@@ -317,9 +317,9 @@ Each process/thread under Linux for S390 has its own kernel task_struct | |||
317 | defined in linux/include/linux/sched.h | 317 | defined in linux/include/linux/sched.h |
318 | The S390 on initialisation & resuming of a process on a cpu sets | 318 | The S390 on initialisation & resuming of a process on a cpu sets |
319 | the __LC_KERNEL_STACK variable in the spare prefix area for this cpu | 319 | the __LC_KERNEL_STACK variable in the spare prefix area for this cpu |
320 | ( which we use for per processor globals). | 320 | (which we use for per-processor globals). |
321 | 321 | ||
322 | The kernel stack pointer is intimately tied with the task stucture for | 322 | The kernel stack pointer is intimately tied with the task structure for |
323 | each processor as follows. | 323 | each processor as follows. |
324 | 324 | ||
325 | s/390 | 325 | s/390 |
@@ -354,7 +354,7 @@ static inline struct task_struct * get_current(void) | |||
354 | } | 354 | } |
355 | 355 | ||
356 | i.e. just anding the current kernel stack pointer with the mask -8192. | 356 | i.e. just anding the current kernel stack pointer with the mask -8192. |
357 | Thankfully because Linux dosen't have support for nested IO interrupts | 357 | Thankfully because Linux doesn't have support for nested IO interrupts |
358 | & our devices have large buffers can survive interrupts being shut for | 358 | & our devices have large buffers can survive interrupts being shut for |
359 | short amounts of time we don't need a separate stack for interrupts. | 359 | short amounts of time we don't need a separate stack for interrupts. |
360 | 360 | ||
@@ -366,8 +366,8 @@ Register Usage & Stackframes on Linux for s/390 & z/Architecture | |||
366 | Overview: | 366 | Overview: |
367 | --------- | 367 | --------- |
368 | This is the code that gcc produces at the top & the bottom of | 368 | This is the code that gcc produces at the top & the bottom of |
369 | each function, it usually is fairly consistent & similar from | 369 | each function. It usually is fairly consistent & similar from |
370 | function to function & if you know its layout you can probalby | 370 | function to function & if you know its layout you can probably |
371 | make some headway in finding the ultimate cause of a problem | 371 | make some headway in finding the ultimate cause of a problem |
372 | after a crash without a source level debugger. | 372 | after a crash without a source level debugger. |
373 | 373 | ||
@@ -394,7 +394,7 @@ i.e they aren't in registers & they aren't static. | |||
394 | back-chain: | 394 | back-chain: |
395 | This is a pointer to the stack pointer before entering a | 395 | This is a pointer to the stack pointer before entering a |
396 | framed functions ( see frameless function ) prologue got by | 396 | framed functions ( see frameless function ) prologue got by |
397 | deferencing the address of the current stack pointer, | 397 | dereferencing the address of the current stack pointer, |
398 | i.e. got by accessing the 32 bit value at the stack pointers | 398 | i.e. got by accessing the 32 bit value at the stack pointers |
399 | current location. | 399 | current location. |
400 | 400 | ||
@@ -724,7 +724,7 @@ This is useful for debugging because | |||
724 | 1) You can double check whether the files you expect to be included are the ones | 724 | 1) You can double check whether the files you expect to be included are the ones |
725 | that are being included ( e.g. double check that you aren't going to the i386 asm directory ). | 725 | that are being included ( e.g. double check that you aren't going to the i386 asm directory ). |
726 | 2) Check that macro definitions aren't clashing with typedefs, | 726 | 2) Check that macro definitions aren't clashing with typedefs, |
727 | 3) Check that definitons aren't being used before they are being included. | 727 | 3) Check that definitions aren't being used before they are being included. |
728 | 4) Helps put the line emitting the error under the microscope if it contains macros. | 728 | 4) Helps put the line emitting the error under the microscope if it contains macros. |
729 | 729 | ||
730 | For convenience the Linux kernel's makefile will do preprocessing automatically for you | 730 | For convenience the Linux kernel's makefile will do preprocessing automatically for you |
@@ -840,12 +840,11 @@ using the strip command to make it a more reasonable size to boot it. | |||
840 | 840 | ||
841 | A source/assembly mixed dump of the kernel can be done with the line | 841 | A source/assembly mixed dump of the kernel can be done with the line |
842 | objdump --source vmlinux > vmlinux.lst | 842 | objdump --source vmlinux > vmlinux.lst |
843 | Also if the file isn't compiled -g this will output as much debugging information | 843 | Also, if the file isn't compiled -g, this will output as much debugging information |
844 | as it can ( e.g. function names ), however, this is very slow as it spends lots | 844 | as it can (e.g. function names). This is very slow as it spends lots |
845 | of time searching for debugging info, the following self explanitory line should be used | 845 | of time searching for debugging info. The following self explanatory line should be used |
846 | instead if the code isn't compiled -g. | 846 | instead if the code isn't compiled -g, as it is much faster: |
847 | objdump --disassemble-all --syms vmlinux > vmlinux.lst | 847 | objdump --disassemble-all --syms vmlinux > vmlinux.lst |
848 | as it is much faster | ||
849 | 848 | ||
850 | As hard drive space is valuble most of us use the following approach. | 849 | As hard drive space is valuble most of us use the following approach. |
851 | 1) Look at the emitted psw on the console to find the crash address in the kernel. | 850 | 1) Look at the emitted psw on the console to find the crash address in the kernel. |
@@ -861,7 +860,7 @@ Linux source tree. | |||
861 | 6) rm /arch/s390/kernel/signal.o | 860 | 6) rm /arch/s390/kernel/signal.o |
862 | 7) make /arch/s390/kernel/signal.o | 861 | 7) make /arch/s390/kernel/signal.o |
863 | 8) watch the gcc command line emitted | 862 | 8) watch the gcc command line emitted |
864 | 9) type it in again or alernatively cut & paste it on the console adding the -g option. | 863 | 9) type it in again or alternatively cut & paste it on the console adding the -g option. |
865 | 10) objdump --source arch/s390/kernel/signal.o > signal.lst | 864 | 10) objdump --source arch/s390/kernel/signal.o > signal.lst |
866 | This will output the source & the assembly intermixed, as the snippet below shows | 865 | This will output the source & the assembly intermixed, as the snippet below shows |
867 | This will unfortunately output addresses which aren't the same | 866 | This will unfortunately output addresses which aren't the same |
@@ -913,8 +912,8 @@ If you wanted to know does ping work but didn't have the source | |||
913 | strace ping -c 1 127.0.0.1 | 912 | strace ping -c 1 127.0.0.1 |
914 | & then look at the man pages for each of the syscalls below, | 913 | & then look at the man pages for each of the syscalls below, |
915 | ( In fact this is sometimes easier than looking at some spagetti | 914 | ( In fact this is sometimes easier than looking at some spagetti |
916 | source which conditionally compiles for several architectures ) | 915 | source which conditionally compiles for several architectures ). |
917 | Not everything that it throws out needs to make sense immeadiately | 916 | Not everything that it throws out needs to make sense immediately. |
918 | 917 | ||
919 | Just looking quickly you can see that it is making up a RAW socket | 918 | Just looking quickly you can see that it is making up a RAW socket |
920 | for the ICMP protocol. | 919 | for the ICMP protocol. |
@@ -974,8 +973,9 @@ through the pipe for each line containing the string open. | |||
974 | 973 | ||
975 | Example 3 | 974 | Example 3 |
976 | --------- | 975 | --------- |
977 | Getting sophistocated | 976 | Getting sophisticated |
978 | telnetd crashes on & I don't know why | 977 | telnetd crashes & I don't know why |
978 | |||
979 | Steps | 979 | Steps |
980 | ----- | 980 | ----- |
981 | 1) Replace the following line in /etc/inetd.conf | 981 | 1) Replace the following line in /etc/inetd.conf |
@@ -1085,8 +1085,7 @@ Notes | |||
1085 | ----- | 1085 | ----- |
1086 | Addresses & values in the VM debugger are always hex never decimal | 1086 | Addresses & values in the VM debugger are always hex never decimal |
1087 | Address ranges are of the format <HexValue1>-<HexValue2> or <HexValue1>.<HexValue2> | 1087 | Address ranges are of the format <HexValue1>-<HexValue2> or <HexValue1>.<HexValue2> |
1088 | e.g. The address range 0x2000 to 0x3000 can be described described as | 1088 | e.g. The address range 0x2000 to 0x3000 can be described as 2000-3000 or 2000.1000 |
1089 | 2000-3000 or 2000.1000 | ||
1090 | 1089 | ||
1091 | The VM Debugger is case insensitive. | 1090 | The VM Debugger is case insensitive. |
1092 | 1091 | ||
@@ -1311,7 +1310,7 @@ for finding out when a particular variable changes. | |||
1311 | 1310 | ||
1312 | An alternative way of finding the STD of a currently running process | 1311 | An alternative way of finding the STD of a currently running process |
1313 | is to do the following, ( this method is more complex but | 1312 | is to do the following, ( this method is more complex but |
1314 | could be quite convient if you aren't updating the kernel much & | 1313 | could be quite convenient if you aren't updating the kernel much & |
1315 | so your kernel structures will stay constant for a reasonable period of | 1314 | so your kernel structures will stay constant for a reasonable period of |
1316 | time ). | 1315 | time ). |
1317 | 1316 | ||
@@ -1413,7 +1412,7 @@ SMP Specific commands | |||
1413 | To find out how many cpus you have | 1412 | To find out how many cpus you have |
1414 | Q CPUS displays all the CPU's available to your virtual machine | 1413 | Q CPUS displays all the CPU's available to your virtual machine |
1415 | To find the cpu that the current cpu VM debugger commands are being directed at do | 1414 | To find the cpu that the current cpu VM debugger commands are being directed at do |
1416 | Q CPU to change the current cpu cpu VM debugger commands are being directed at do | 1415 | Q CPU to change the current cpu VM debugger commands are being directed at do |
1417 | CPU <desired cpu no> | 1416 | CPU <desired cpu no> |
1418 | 1417 | ||
1419 | On a SMP guest issue a command to all CPUs try prefixing the command with cpu all. | 1418 | On a SMP guest issue a command to all CPUs try prefixing the command with cpu all. |
@@ -1674,8 +1673,8 @@ channel is idle & the second for device end ( secondary status ) sometimes you g | |||
1674 | concurrently, you check how the IO went on by issuing a TEST SUBCHANNEL at each interrupt, | 1673 | concurrently, you check how the IO went on by issuing a TEST SUBCHANNEL at each interrupt, |
1675 | from which you receive an Interruption response block (IRB). If you get channel & device end | 1674 | from which you receive an Interruption response block (IRB). If you get channel & device end |
1676 | status in the IRB without channel checks etc. your IO probably went okay. If you didn't you | 1675 | status in the IRB without channel checks etc. your IO probably went okay. If you didn't you |
1677 | probably need a doctorto examine the IRB & extended status word etc. | 1676 | probably need a doctor to examine the IRB & extended status word etc. |
1678 | If an error occurs more sophistocated control units have a facitity known as | 1677 | If an error occurs, more sophistocated control units have a facitity known as |
1679 | concurrent sense this means that if an error occurs Extended sense information will | 1678 | concurrent sense this means that if an error occurs Extended sense information will |
1680 | be presented in the Extended status word in the IRB if not you have to issue a | 1679 | be presented in the Extended status word in the IRB if not you have to issue a |
1681 | subsequent SENSE CCW command after the test subchannel. | 1680 | subsequent SENSE CCW command after the test subchannel. |
@@ -1704,7 +1703,7 @@ concentrate on data processing. | |||
1704 | IOP's can use one or more links ( known as channel paths ) to talk to each | 1703 | IOP's can use one or more links ( known as channel paths ) to talk to each |
1705 | IO device. It first checks for path availability & chooses an available one, | 1704 | IO device. It first checks for path availability & chooses an available one, |
1706 | then starts ( & sometimes terminates IO ). | 1705 | then starts ( & sometimes terminates IO ). |
1707 | There are two types of channel path ESCON & the Paralell IO interface. | 1706 | There are two types of channel path: ESCON & the Parallel IO interface. |
1708 | 1707 | ||
1709 | IO devices are attached to control units, control units provide the | 1708 | IO devices are attached to control units, control units provide the |
1710 | logic to interface the channel paths & channel path IO protocols to | 1709 | logic to interface the channel paths & channel path IO protocols to |
@@ -1743,11 +1742,11 @@ controllers or a control unit which connects to 1000 3270 terminals ). | |||
1743 | 1742 | ||
1744 | The 390 IO systems come in 2 flavours the current 390 machines support both | 1743 | The 390 IO systems come in 2 flavours the current 390 machines support both |
1745 | 1744 | ||
1746 | The Older 360 & 370 Interface,sometimes called the paralell I/O interface, | 1745 | The Older 360 & 370 Interface,sometimes called the Parallel I/O interface, |
1747 | sometimes called Bus-and Tag & sometimes Original Equipment Manufacturers | 1746 | sometimes called Bus-and Tag & sometimes Original Equipment Manufacturers |
1748 | Interface (OEMI). | 1747 | Interface (OEMI). |
1749 | 1748 | ||
1750 | This byte wide paralell channel path/bus has parity & data on the "Bus" cable | 1749 | This byte wide Parallel channel path/bus has parity & data on the "Bus" cable |
1751 | & control lines on the "Tag" cable. These can operate in byte multiplex mode for | 1750 | & control lines on the "Tag" cable. These can operate in byte multiplex mode for |
1752 | sharing between several slow devices or burst mode & monopolize the channel for the | 1751 | sharing between several slow devices or burst mode & monopolize the channel for the |
1753 | whole burst. Upto 256 devices can be addressed on one of these cables. These cables are | 1752 | whole burst. Upto 256 devices can be addressed on one of these cables. These cables are |
@@ -1777,7 +1776,7 @@ Consoles 3270 & 3215 ( a teletype emulated under linux for a line mode console ) | |||
1777 | DASD's direct access storage devices ( otherwise known as hard disks ). | 1776 | DASD's direct access storage devices ( otherwise known as hard disks ). |
1778 | Tape Drives. | 1777 | Tape Drives. |
1779 | CTC ( Channel to Channel Adapters ), | 1778 | CTC ( Channel to Channel Adapters ), |
1780 | ESCON or Paralell Cables used as a very high speed serial link | 1779 | ESCON or Parallel Cables used as a very high speed serial link |
1781 | between 2 machines. We use 2 cables under linux to do a bi-directional serial link. | 1780 | between 2 machines. We use 2 cables under linux to do a bi-directional serial link. |
1782 | 1781 | ||
1783 | 1782 | ||
@@ -1803,8 +1802,8 @@ OSA 7C09 ON OSA 7C09 SUBCHANNEL = 0001 | |||
1803 | OSA 7C14 ON OSA 7C14 SUBCHANNEL = 0002 | 1802 | OSA 7C14 ON OSA 7C14 SUBCHANNEL = 0002 |
1804 | OSA 7C15 ON OSA 7C15 SUBCHANNEL = 0003 | 1803 | OSA 7C15 ON OSA 7C15 SUBCHANNEL = 0003 |
1805 | 1804 | ||
1806 | If you have a guest with certain priviliges you may be able to see devices | 1805 | If you have a guest with certain privileges you may be able to see devices |
1807 | which don't belong to you to avoid this do add the option V. | 1806 | which don't belong to you. To avoid this, add the option V. |
1808 | e.g. | 1807 | e.g. |
1809 | Q V OSA | 1808 | Q V OSA |
1810 | 1809 | ||
@@ -1837,7 +1836,7 @@ RDRLIST | |||
1837 | RECEIVE / LOG TXT A1 ( replace | 1836 | RECEIVE / LOG TXT A1 ( replace |
1838 | 8) | 1837 | 8) |
1839 | filel & press F11 to look at it | 1838 | filel & press F11 to look at it |
1840 | You should see someting like. | 1839 | You should see something like: |
1841 | 1840 | ||
1842 | 00020942' SSCH B2334000 0048813C CC 0 SCH 0000 DEV 7C08 | 1841 | 00020942' SSCH B2334000 0048813C CC 0 SCH 0000 DEV 7C08 |
1843 | CPA 000FFDF0 PARM 00E2C9C4 KEY 0 FPI C0 LPM 80 | 1842 | CPA 000FFDF0 PARM 00E2C9C4 KEY 0 FPI C0 LPM 80 |
@@ -1916,7 +1915,7 @@ Assembly | |||
1916 | -------- | 1915 | -------- |
1917 | info registers: displays registers other than floating point. | 1916 | info registers: displays registers other than floating point. |
1918 | info all-registers: displays floating points as well. | 1917 | info all-registers: displays floating points as well. |
1919 | disassemble: dissassembles | 1918 | disassemble: disassembles |
1920 | e.g. | 1919 | e.g. |
1921 | disassemble without parameters will disassemble the current function | 1920 | disassemble without parameters will disassemble the current function |
1922 | disassemble $pc $pc+10 | 1921 | disassemble $pc $pc+10 |
@@ -1935,7 +1934,7 @@ undisplay : undo's display's | |||
1935 | 1934 | ||
1936 | info breakpoints: shows all current breakpoints | 1935 | info breakpoints: shows all current breakpoints |
1937 | 1936 | ||
1938 | info stack: shows stack back trace ( if this dosent work too well, I'll show you the | 1937 | info stack: shows stack back trace ( if this doesn't work too well, I'll show you the |
1939 | stacktrace by hand below ). | 1938 | stacktrace by hand below ). |
1940 | 1939 | ||
1941 | info locals: displays local variables. | 1940 | info locals: displays local variables. |
@@ -2045,13 +2044,13 @@ what gdb does when the victim receives certain signals. | |||
2045 | list: | 2044 | list: |
2046 | e.g. | 2045 | e.g. |
2047 | list lists current function source | 2046 | list lists current function source |
2048 | list 1,10 list first 10 lines of curret file. | 2047 | list 1,10 list first 10 lines of current file. |
2049 | list test.c:1,10 | 2048 | list test.c:1,10 |
2050 | 2049 | ||
2051 | 2050 | ||
2052 | directory: | 2051 | directory: |
2053 | Adds directories to be searched for source if gdb cannot find the source. | 2052 | Adds directories to be searched for source if gdb cannot find the source. |
2054 | (note it is a bit sensititive about slashes ) | 2053 | (note it is a bit sensititive about slashes) |
2055 | e.g. To add the root of the filesystem to the searchpath do | 2054 | e.g. To add the root of the filesystem to the searchpath do |
2056 | directory // | 2055 | directory // |
2057 | 2056 | ||
@@ -2123,9 +2122,9 @@ p/x (*(**$sp+56))&0x7fffffff | |||
2123 | 2122 | ||
2124 | Disassembling instructions without debug info | 2123 | Disassembling instructions without debug info |
2125 | --------------------------------------------- | 2124 | --------------------------------------------- |
2126 | gdb typically compains if there is a lack of debugging | 2125 | gdb typically complains if there is a lack of debugging |
2127 | symbols in the disassemble command with | 2126 | symbols in the disassemble command with |
2128 | "No function contains specified address." to get around | 2127 | "No function contains specified address." To get around |
2129 | this do | 2128 | this do |
2130 | x/<number lines to disassemble>xi <address> | 2129 | x/<number lines to disassemble>xi <address> |
2131 | e.g. | 2130 | e.g. |
@@ -2184,7 +2183,7 @@ ps -aux | grep gdb | |||
2184 | kill -SIGSEGV <gdb's pid> | 2183 | kill -SIGSEGV <gdb's pid> |
2185 | or alternatively use killall -SIGSEGV gdb if you have the killall command. | 2184 | or alternatively use killall -SIGSEGV gdb if you have the killall command. |
2186 | Now look at the core dump. | 2185 | Now look at the core dump. |
2187 | ./gdb ./gdb core | 2186 | ./gdb core |
2188 | Displays the following | 2187 | Displays the following |
2189 | GNU gdb 4.18 | 2188 | GNU gdb 4.18 |
2190 | Copyright 1998 Free Software Foundation, Inc. | 2189 | Copyright 1998 Free Software Foundation, Inc. |
@@ -2316,7 +2315,7 @@ Showing us the shared libraries init uses where they are in memory | |||
2316 | /proc/1/mem is the current running processes memory which you | 2315 | /proc/1/mem is the current running processes memory which you |
2317 | can read & write to like a file. | 2316 | can read & write to like a file. |
2318 | strace uses this sometimes as it is a bit faster than the | 2317 | strace uses this sometimes as it is a bit faster than the |
2319 | rather inefficent ptrace interface for peeking at DATA. | 2318 | rather inefficient ptrace interface for peeking at DATA. |
2320 | 2319 | ||
2321 | 2320 | ||
2322 | cat status | 2321 | cat status |
@@ -2446,7 +2445,7 @@ displays the following lines as it executes them. | |||
2446 | + RELSTATUS=release | 2445 | + RELSTATUS=release |
2447 | + MACHTYPE=i586-pc-linux-gnu | 2446 | + MACHTYPE=i586-pc-linux-gnu |
2448 | 2447 | ||
2449 | perl -d <scriptname> runs the perlscript in a fully intercative debugger | 2448 | perl -d <scriptname> runs the perlscript in a fully interactive debugger |
2450 | <like gdb>. | 2449 | <like gdb>. |
2451 | Type 'h' in the debugger for help. | 2450 | Type 'h' in the debugger for help. |
2452 | 2451 | ||
@@ -2477,7 +2476,7 @@ Lcrash is a perfectly normal program,however, it requires 2 | |||
2477 | additional files, Kerntypes which is built using a patch to the | 2476 | additional files, Kerntypes which is built using a patch to the |
2478 | linux kernel sources in the linux root directory & the System.map. | 2477 | linux kernel sources in the linux root directory & the System.map. |
2479 | 2478 | ||
2480 | Kerntypes is an an objectfile whose sole purpose in life | 2479 | Kerntypes is an objectfile whose sole purpose in life |
2481 | is to provide stabs debug info to lcrash, to do this | 2480 | is to provide stabs debug info to lcrash, to do this |
2482 | Kerntypes is built from kerntypes.c which just includes the most commonly | 2481 | Kerntypes is built from kerntypes.c which just includes the most commonly |
2483 | referenced header files used when debugging, lcrash can then read the | 2482 | referenced header files used when debugging, lcrash can then read the |
diff --git a/Documentation/s390/cds.txt b/Documentation/s390/cds.txt index f0be389c7116..d80e5733827d 100644 --- a/Documentation/s390/cds.txt +++ b/Documentation/s390/cds.txt | |||
@@ -133,7 +133,7 @@ determine the device driver owning the device that raised the interrupt. | |||
133 | In order not to introduce a new I/O concept to the common Linux code, | 133 | In order not to introduce a new I/O concept to the common Linux code, |
134 | Linux/390 preserves the IRQ concept and semantically maps the ESA/390 | 134 | Linux/390 preserves the IRQ concept and semantically maps the ESA/390 |
135 | subchannels to Linux as IRQs. This allows Linux/390 to support up to 64k | 135 | subchannels to Linux as IRQs. This allows Linux/390 to support up to 64k |
136 | different IRQs, uniquely representig a single device each. | 136 | different IRQs, uniquely representing a single device each. |
137 | 137 | ||
138 | Up to kernel 2.4, Linux/390 used to provide interfaces via the IRQ (subchannel). | 138 | Up to kernel 2.4, Linux/390 used to provide interfaces via the IRQ (subchannel). |
139 | For internal use of the common I/O layer, these are still there. However, | 139 | For internal use of the common I/O layer, these are still there. However, |
@@ -143,7 +143,7 @@ During its startup the Linux/390 system checks for peripheral devices. Each | |||
143 | of those devices is uniquely defined by a so called subchannel by the ESA/390 | 143 | of those devices is uniquely defined by a so called subchannel by the ESA/390 |
144 | channel subsystem. While the subchannel numbers are system generated, each | 144 | channel subsystem. While the subchannel numbers are system generated, each |
145 | subchannel also takes a user defined attribute, the so called device number. | 145 | subchannel also takes a user defined attribute, the so called device number. |
146 | Both subchannel number and device number can not exceed 65535. During driverfs | 146 | Both subchannel number and device number cannot exceed 65535. During driverfs |
147 | initialisation, the information about control unit type and device types that | 147 | initialisation, the information about control unit type and device types that |
148 | imply specific I/O commands (channel command words - CCWs) in order to operate | 148 | imply specific I/O commands (channel command words - CCWs) in order to operate |
149 | the device are gathered. Device drivers can retrieve this set of hardware | 149 | the device are gathered. Device drivers can retrieve this set of hardware |
@@ -177,11 +177,11 @@ This routine returns the characteristics for the device specified. | |||
177 | The function is meant to be called with an irq handler in place; that is, | 177 | The function is meant to be called with an irq handler in place; that is, |
178 | at earliest during set_online() processing. | 178 | at earliest during set_online() processing. |
179 | 179 | ||
180 | While the request is procesed synchronously, the device interrupt | 180 | While the request is processed synchronously, the device interrupt |
181 | handler is called for final ending status. In case of error situations the | 181 | handler is called for final ending status. In case of error situations the |
182 | interrupt handler may recover appropriately. The device irq handler can | 182 | interrupt handler may recover appropriately. The device irq handler can |
183 | recognize the corresponding interrupts by the interruption parameter be | 183 | recognize the corresponding interrupts by the interruption parameter be |
184 | 0x00524443.The ccw_device must not be locked prior to calling read_dev_chars(). | 184 | 0x00524443. The ccw_device must not be locked prior to calling read_dev_chars(). |
185 | 185 | ||
186 | The function may be called enabled or disabled. | 186 | The function may be called enabled or disabled. |
187 | 187 | ||
@@ -325,7 +325,7 @@ with the following CCW flags values defined : | |||
325 | 325 | ||
326 | CCW_FLAG_DC - data chaining | 326 | CCW_FLAG_DC - data chaining |
327 | CCW_FLAG_CC - command chaining | 327 | CCW_FLAG_CC - command chaining |
328 | CCW_FLAG_SLI - suppress incorrct length | 328 | CCW_FLAG_SLI - suppress incorrect length |
329 | CCW_FLAG_SKIP - skip | 329 | CCW_FLAG_SKIP - skip |
330 | CCW_FLAG_PCI - PCI | 330 | CCW_FLAG_PCI - PCI |
331 | CCW_FLAG_IDA - indirect addressing | 331 | CCW_FLAG_IDA - indirect addressing |
@@ -348,7 +348,7 @@ The ccw_device_start() function returns : | |||
348 | not online. | 348 | not online. |
349 | 349 | ||
350 | When the I/O request completes, the CDS first level interrupt handler will | 350 | When the I/O request completes, the CDS first level interrupt handler will |
351 | accumalate the status in a struct irb and then call the device interrupt handler. | 351 | accumulate the status in a struct irb and then call the device interrupt handler. |
352 | The intparm field will contain the value the device driver has associated with a | 352 | The intparm field will contain the value the device driver has associated with a |
353 | particular I/O request. If a pending device status was recognized, | 353 | particular I/O request. If a pending device status was recognized, |
354 | intparm will be set to 0 (zero). This may happen during I/O initiation or delayed | 354 | intparm will be set to 0 (zero). This may happen during I/O initiation or delayed |
@@ -433,7 +433,7 @@ puts the CPU into I/O disabled state by preserving the current PSW flags. | |||
433 | 433 | ||
434 | The device driver is allowed to issue the next ccw_device_start() call from | 434 | The device driver is allowed to issue the next ccw_device_start() call from |
435 | within its interrupt handler already. It is not required to schedule a | 435 | within its interrupt handler already. It is not required to schedule a |
436 | bottom-half, unless an non deterministicly long running error recovery procedure | 436 | bottom-half, unless an non deterministically long running error recovery procedure |
437 | or similar needs to be scheduled. During I/O processing the Linux/390 generic | 437 | or similar needs to be scheduled. During I/O processing the Linux/390 generic |
438 | I/O device driver support has already obtained the IRQ lock, i.e. the handler | 438 | I/O device driver support has already obtained the IRQ lock, i.e. the handler |
439 | must not try to obtain it again when calling ccw_device_start() or we end in a | 439 | must not try to obtain it again when calling ccw_device_start() or we end in a |
diff --git a/Documentation/s390/crypto/crypto-API.txt b/Documentation/s390/crypto/crypto-API.txt index 78a77624a716..29dee792c887 100644 --- a/Documentation/s390/crypto/crypto-API.txt +++ b/Documentation/s390/crypto/crypto-API.txt | |||
@@ -61,9 +61,9 @@ Example: z990 crypto instruction for SHA1 algorithm is available | |||
61 | -> when the sha1 algorithm is requested through the crypto API | 61 | -> when the sha1 algorithm is requested through the crypto API |
62 | (which has a module autoloader) the z990 module will be loaded. | 62 | (which has a module autoloader) the z990 module will be loaded. |
63 | 63 | ||
64 | TBD: a userspace module probin mechanism | 64 | TBD: a userspace module probing mechanism |
65 | something like 'probe sha1 sha1_z990 sha1' in modprobe.conf | 65 | something like 'probe sha1 sha1_z990 sha1' in modprobe.conf |
66 | -> try module sha1_z990, if it fails to load load standard module sha1 | 66 | -> try module sha1_z990, if it fails to load standard module sha1 |
67 | the 'probe' statement is currently not supported in modprobe.conf | 67 | the 'probe' statement is currently not supported in modprobe.conf |
68 | 68 | ||
69 | 69 | ||
diff --git a/Documentation/s390/driver-model.txt b/Documentation/s390/driver-model.txt index efb674eda4d4..62c082387aea 100644 --- a/Documentation/s390/driver-model.txt +++ b/Documentation/s390/driver-model.txt | |||
@@ -157,7 +157,7 @@ notify: This function is called by the common I/O layer for some state changes | |||
157 | * In online state, device detached (CIO_GONE) or last path gone | 157 | * In online state, device detached (CIO_GONE) or last path gone |
158 | (CIO_NO_PATH). The driver must return !0 to keep the device; for | 158 | (CIO_NO_PATH). The driver must return !0 to keep the device; for |
159 | return code 0, the device will be deleted as usual (also when no | 159 | return code 0, the device will be deleted as usual (also when no |
160 | notify function is registerd). If the driver wants to keep the | 160 | notify function is registered). If the driver wants to keep the |
161 | device, it is moved into disconnected state. | 161 | device, it is moved into disconnected state. |
162 | * In disconnected state, device operational again (CIO_OPER). The | 162 | * In disconnected state, device operational again (CIO_OPER). The |
163 | common I/O layer performs some sanity checks on device number and | 163 | common I/O layer performs some sanity checks on device number and |
@@ -262,7 +262,7 @@ attribute 'online' which can be 0 or 1. | |||
262 | ----------- | 262 | ----------- |
263 | 263 | ||
264 | The netiucv driver creates an attribute 'connection' under | 264 | The netiucv driver creates an attribute 'connection' under |
265 | bus/iucv/drivers/netiucv. Piping to this attibute creates a new netiucv | 265 | bus/iucv/drivers/netiucv. Piping to this attribute creates a new netiucv |
266 | connection to the specified host. | 266 | connection to the specified host. |
267 | 267 | ||
268 | Netiucv connections show up under devices/iucv/ as "netiucv<ifnum>". The interface | 268 | Netiucv connections show up under devices/iucv/ as "netiucv<ifnum>". The interface |
diff --git a/Documentation/s390/monreader.txt b/Documentation/s390/monreader.txt index d843bb04906e..beeaa4b24427 100644 --- a/Documentation/s390/monreader.txt +++ b/Documentation/s390/monreader.txt | |||
@@ -83,7 +83,7 @@ This loads the module and sets the DCSS name to "MYDCSS". | |||
83 | 83 | ||
84 | NOTE: | 84 | NOTE: |
85 | ----- | 85 | ----- |
86 | This API provides no interface to control the *MONITOR service, e.g. specifiy | 86 | This API provides no interface to control the *MONITOR service, e.g. specify |
87 | which data should be collected. This can be done by the CP command MONITOR | 87 | which data should be collected. This can be done by the CP command MONITOR |
88 | (Class E privileged), see "CP Command and Utility Reference". | 88 | (Class E privileged), see "CP Command and Utility Reference". |
89 | 89 | ||
diff --git a/Documentation/s390/s390dbf.txt b/Documentation/s390/s390dbf.txt index e321a8ed2a2d..000230cd26db 100644 --- a/Documentation/s390/s390dbf.txt +++ b/Documentation/s390/s390dbf.txt | |||
@@ -11,7 +11,7 @@ where log records can be stored efficiently in memory, where each component | |||
11 | (e.g. device drivers) can have one separate debug log. | 11 | (e.g. device drivers) can have one separate debug log. |
12 | One purpose of this is to inspect the debug logs after a production system crash | 12 | One purpose of this is to inspect the debug logs after a production system crash |
13 | in order to analyze the reason for the crash. | 13 | in order to analyze the reason for the crash. |
14 | If the system still runs but only a subcomponent which uses dbf failes, | 14 | If the system still runs but only a subcomponent which uses dbf fails, |
15 | it is possible to look at the debug logs on a live system via the Linux | 15 | it is possible to look at the debug logs on a live system via the Linux |
16 | debugfs filesystem. | 16 | debugfs filesystem. |
17 | The debug feature may also very useful for kernel and driver development. | 17 | The debug feature may also very useful for kernel and driver development. |
@@ -65,7 +65,7 @@ Predefined views for hex/ascii, sprintf and raw binary data are provided. | |||
65 | It is also possible to define other views. The content of | 65 | It is also possible to define other views. The content of |
66 | a view can be inspected simply by reading the corresponding debugfs file. | 66 | a view can be inspected simply by reading the corresponding debugfs file. |
67 | 67 | ||
68 | All debug logs have an an actual debug level (range from 0 to 6). | 68 | All debug logs have an actual debug level (range from 0 to 6). |
69 | The default level is 3. Event and Exception functions have a 'level' | 69 | The default level is 3. Event and Exception functions have a 'level' |
70 | parameter. Only debug entries with a level that is lower or equal | 70 | parameter. Only debug entries with a level that is lower or equal |
71 | than the actual level are written to the log. This means, when | 71 | than the actual level are written to the log. This means, when |
@@ -83,8 +83,8 @@ Example: | |||
83 | It is also possible to deactivate the debug feature globally for every | 83 | It is also possible to deactivate the debug feature globally for every |
84 | debug log. You can change the behavior using 2 sysctl parameters in | 84 | debug log. You can change the behavior using 2 sysctl parameters in |
85 | /proc/sys/s390dbf: | 85 | /proc/sys/s390dbf: |
86 | There are currently 2 possible triggers, which stop the debug feature | 86 | There are currently 2 possible triggers, which stop the debug feature |
87 | globally. The first possbility is to use the "debug_active" sysctl. If | 87 | globally. The first possibility is to use the "debug_active" sysctl. If |
88 | set to 1 the debug feature is running. If "debug_active" is set to 0 the | 88 | set to 1 the debug feature is running. If "debug_active" is set to 0 the |
89 | debug feature is turned off. | 89 | debug feature is turned off. |
90 | The second trigger which stops the debug feature is an kernel oops. | 90 | The second trigger which stops the debug feature is an kernel oops. |
@@ -468,7 +468,7 @@ The hex_ascii view shows the data field in hex and ascii representation | |||
468 | The raw view returns a bytestream as the debug areas are stored in memory. | 468 | The raw view returns a bytestream as the debug areas are stored in memory. |
469 | 469 | ||
470 | The sprintf view formats the debug entries in the same way as the sprintf | 470 | The sprintf view formats the debug entries in the same way as the sprintf |
471 | function would do. The sprintf event/expection functions write to the | 471 | function would do. The sprintf event/exception functions write to the |
472 | debug entry a pointer to the format string (size = sizeof(long)) | 472 | debug entry a pointer to the format string (size = sizeof(long)) |
473 | and for each vararg a long value. So e.g. for a debug entry with a format | 473 | and for each vararg a long value. So e.g. for a debug entry with a format |
474 | string plus two varargs one would need to allocate a (3 * sizeof(long)) | 474 | string plus two varargs one would need to allocate a (3 * sizeof(long)) |
@@ -556,7 +556,7 @@ The input_proc can be used to implement functionality when it is written to | |||
556 | the view (e.g. like with 'echo "0" > /sys/kernel/debug/s390dbf/dasd/level). | 556 | the view (e.g. like with 'echo "0" > /sys/kernel/debug/s390dbf/dasd/level). |
557 | 557 | ||
558 | For header_proc there can be used the default function | 558 | For header_proc there can be used the default function |
559 | debug_dflt_header_fn() which is defined in in debug.h. | 559 | debug_dflt_header_fn() which is defined in debug.h. |
560 | and which produces the same header output as the predefined views. | 560 | and which produces the same header output as the predefined views. |
561 | E.g: | 561 | E.g: |
562 | 00 00964419409:440761 2 - 00 88023ec | 562 | 00 00964419409:440761 2 - 00 88023ec |
diff --git a/Documentation/sched-coding.txt b/Documentation/sched-coding.txt index 2b75ef67c9fe..cbd8db752acf 100644 --- a/Documentation/sched-coding.txt +++ b/Documentation/sched-coding.txt | |||
@@ -15,7 +15,7 @@ Main Scheduling Methods | |||
15 | void load_balance(runqueue_t *this_rq, int idle) | 15 | void load_balance(runqueue_t *this_rq, int idle) |
16 | Attempts to pull tasks from one cpu to another to balance cpu usage, | 16 | Attempts to pull tasks from one cpu to another to balance cpu usage, |
17 | if needed. This method is called explicitly if the runqueues are | 17 | if needed. This method is called explicitly if the runqueues are |
18 | inbalanced or periodically by the timer tick. Prior to calling, | 18 | imbalanced or periodically by the timer tick. Prior to calling, |
19 | the current runqueue must be locked and interrupts disabled. | 19 | the current runqueue must be locked and interrupts disabled. |
20 | 20 | ||
21 | void schedule() | 21 | void schedule() |
diff --git a/Documentation/sched-design.txt b/Documentation/sched-design.txt index 9d04e7bbf45f..1605bf0cba8b 100644 --- a/Documentation/sched-design.txt +++ b/Documentation/sched-design.txt | |||
@@ -93,9 +93,9 @@ and the goal is also to add a few new things: | |||
93 | Design | 93 | Design |
94 | ====== | 94 | ====== |
95 | 95 | ||
96 | the core of the new scheduler are the following mechanizms: | 96 | The core of the new scheduler contains the following mechanisms: |
97 | 97 | ||
98 | - *two*, priority-ordered 'priority arrays' per CPU. There is an 'active' | 98 | - *two* priority-ordered 'priority arrays' per CPU. There is an 'active' |
99 | array and an 'expired' array. The active array contains all tasks that | 99 | array and an 'expired' array. The active array contains all tasks that |
100 | are affine to this CPU and have timeslices left. The expired array | 100 | are affine to this CPU and have timeslices left. The expired array |
101 | contains all tasks which have used up their timeslices - but this array | 101 | contains all tasks which have used up their timeslices - but this array |
diff --git a/Documentation/scsi/ChangeLog.1992-1997 b/Documentation/scsi/ChangeLog.1992-1997 index dc88ee2ab73d..6faad7e6417c 100644 --- a/Documentation/scsi/ChangeLog.1992-1997 +++ b/Documentation/scsi/ChangeLog.1992-1997 | |||
@@ -1214,7 +1214,7 @@ Thu Jul 21 10:37:39 1994 Eric Youngdale (eric@esp22) | |||
1214 | 1214 | ||
1215 | * sr.c(sr_open): Do not allow opens with write access. | 1215 | * sr.c(sr_open): Do not allow opens with write access. |
1216 | 1216 | ||
1217 | Mon Jul 18 09:51:22 1994 1994 Eric Youngdale (eric@esp22) | 1217 | Mon Jul 18 09:51:22 1994 Eric Youngdale (eric@esp22) |
1218 | 1218 | ||
1219 | * Linux 1.1.31 released. | 1219 | * Linux 1.1.31 released. |
1220 | 1220 | ||
diff --git a/Documentation/scsi/NinjaSCSI.txt b/Documentation/scsi/NinjaSCSI.txt index 041780f428ac..3229b64cf24e 100644 --- a/Documentation/scsi/NinjaSCSI.txt +++ b/Documentation/scsi/NinjaSCSI.txt | |||
@@ -24,7 +24,7 @@ SCSI device: I-O data CDPS-PX24 (CD-ROM drive) | |||
24 | You can also use "cardctl" program (this program is in pcmcia-cs source | 24 | You can also use "cardctl" program (this program is in pcmcia-cs source |
25 | code) to get more info. | 25 | code) to get more info. |
26 | 26 | ||
27 | # cat /var/log/messgaes | 27 | # cat /var/log/messages |
28 | ... | 28 | ... |
29 | Jan 2 03:45:06 lindberg cardmgr[78]: unsupported card in socket 1 | 29 | Jan 2 03:45:06 lindberg cardmgr[78]: unsupported card in socket 1 |
30 | Jan 2 03:45:06 lindberg cardmgr[78]: product info: "WBT", "NinjaSCSI-3", "R1.0" | 30 | Jan 2 03:45:06 lindberg cardmgr[78]: product info: "WBT", "NinjaSCSI-3", "R1.0" |
@@ -36,18 +36,18 @@ Socket 1: | |||
36 | product info: "IO DATA", "CBSC16 ", "1" | 36 | product info: "IO DATA", "CBSC16 ", "1" |
37 | 37 | ||
38 | 38 | ||
39 | [2] Get Linux kernel source, and extract it to /usr/src. | 39 | [2] Get the Linux kernel source, and extract it to /usr/src. |
40 | Because NinjaSCSI driver requiers some SCSI header files in Linux kernel | 40 | Because the NinjaSCSI driver requires some SCSI header files in Linux |
41 | source. | 41 | kernel source, I recommend rebuilding your kernel; this eliminates |
42 | I recomend rebuilding your kernel. This eliminate some versioning problem. | 42 | some versioning problems. |
43 | $ cd /usr/src | 43 | $ cd /usr/src |
44 | $ tar -zxvf linux-x.x.x.tar.gz | 44 | $ tar -zxvf linux-x.x.x.tar.gz |
45 | $ cd linux | 45 | $ cd linux |
46 | $ make config | 46 | $ make config |
47 | ... | 47 | ... |
48 | 48 | ||
49 | [3] If you use this driver with Kernel 2.2, Unpack pcmcia-cs in some directory | 49 | [3] If you use this driver with Kernel 2.2, unpack pcmcia-cs in some directory |
50 | and make & install. This driver requies pcmcia-cs header file. | 50 | and make & install. This driver requires the pcmcia-cs header file. |
51 | $ cd /usr/src | 51 | $ cd /usr/src |
52 | $ tar zxvf cs-pcmcia-cs-3.x.x.tar.gz | 52 | $ tar zxvf cs-pcmcia-cs-3.x.x.tar.gz |
53 | ... | 53 | ... |
@@ -59,10 +59,10 @@ $ emacs Makefile | |||
59 | ... | 59 | ... |
60 | $ make | 60 | $ make |
61 | 61 | ||
62 | [5] Copy nsp_cs.o to suitable plase, like /lib/modules/<Kernel version>/pcmcia/ . | 62 | [5] Copy nsp_cs.ko to suitable place, like /lib/modules/<Kernel version>/pcmcia/ . |
63 | 63 | ||
64 | [6] Add these lines to /etc/pcmcia/config . | 64 | [6] Add these lines to /etc/pcmcia/config . |
65 | If you yse pcmcia-cs-3.1.8 or later, we can use "nsp_cs.conf" file. | 65 | If you use pcmcia-cs-3.1.8 or later, we can use "nsp_cs.conf" file. |
66 | So, you don't need to edit file. Just copy to /etc/pcmcia/ . | 66 | So, you don't need to edit file. Just copy to /etc/pcmcia/ . |
67 | 67 | ||
68 | ------------------------------------- | 68 | ------------------------------------- |
diff --git a/Documentation/scsi/aacraid.txt b/Documentation/scsi/aacraid.txt index ee03678c8029..3367130e64f6 100644 --- a/Documentation/scsi/aacraid.txt +++ b/Documentation/scsi/aacraid.txt | |||
@@ -4,7 +4,7 @@ Introduction | |||
4 | ------------------------- | 4 | ------------------------- |
5 | The aacraid driver adds support for Adaptec (http://www.adaptec.com) | 5 | The aacraid driver adds support for Adaptec (http://www.adaptec.com) |
6 | RAID controllers. This is a major rewrite from the original | 6 | RAID controllers. This is a major rewrite from the original |
7 | Adaptec supplied driver. It has signficantly cleaned up both the code | 7 | Adaptec supplied driver. It has significantly cleaned up both the code |
8 | and the running binary size (the module is less than half the size of | 8 | and the running binary size (the module is less than half the size of |
9 | the original). | 9 | the original). |
10 | 10 | ||
diff --git a/Documentation/scsi/aic79xx.txt b/Documentation/scsi/aic79xx.txt index 382b439b439e..904d49e90ef2 100644 --- a/Documentation/scsi/aic79xx.txt +++ b/Documentation/scsi/aic79xx.txt | |||
@@ -81,7 +81,7 @@ The following information is available in this file: | |||
81 | an SDTR with an offset of 0 to be sure the target | 81 | an SDTR with an offset of 0 to be sure the target |
82 | knows we are async. This works around a firmware defect | 82 | knows we are async. This works around a firmware defect |
83 | in the Quantum Atlas 10K. | 83 | in the Quantum Atlas 10K. |
84 | - Implement controller susupend and resume. | 84 | - Implement controller suspend and resume. |
85 | - Clear PCI error state during driver attach so that we | 85 | - Clear PCI error state during driver attach so that we |
86 | don't disable memory mapped I/O due to a stray write | 86 | don't disable memory mapped I/O due to a stray write |
87 | by some other driver probe that occurred before we | 87 | by some other driver probe that occurred before we |
@@ -94,7 +94,7 @@ The following information is available in this file: | |||
94 | - Add support for scsi_report_device_reset() found in | 94 | - Add support for scsi_report_device_reset() found in |
95 | 2.5.X kernels. | 95 | 2.5.X kernels. |
96 | - Add 7901B support. | 96 | - Add 7901B support. |
97 | - Simplify handling of the packtized lun Rev A workaround. | 97 | - Simplify handling of the packetized lun Rev A workaround. |
98 | - Correct and simplify handling of the ignore wide residue | 98 | - Correct and simplify handling of the ignore wide residue |
99 | message. The previous code would fail to report a residual | 99 | message. The previous code would fail to report a residual |
100 | if the transaction data length was even and we received | 100 | if the transaction data length was even and we received |
diff --git a/Documentation/scsi/aic7xxx.txt b/Documentation/scsi/aic7xxx.txt index 3481fcded4c2..9b894f116d95 100644 --- a/Documentation/scsi/aic7xxx.txt +++ b/Documentation/scsi/aic7xxx.txt | |||
@@ -160,7 +160,7 @@ The following information is available in this file: | |||
160 | 160 | ||
161 | 6.2.34 (May 5th, 2003) | 161 | 6.2.34 (May 5th, 2003) |
162 | - Fix locking regression instroduced in 6.2.29 that | 162 | - Fix locking regression instroduced in 6.2.29 that |
163 | could cuase a lock order reversal between the io_request_lock | 163 | could cause a lock order reversal between the io_request_lock |
164 | and our per-softc lock. This was only possible on RH9, | 164 | and our per-softc lock. This was only possible on RH9, |
165 | SuSE, and kernel.org 2.4.X kernels. | 165 | SuSE, and kernel.org 2.4.X kernels. |
166 | 166 | ||
diff --git a/Documentation/scsi/aic7xxx_old.txt b/Documentation/scsi/aic7xxx_old.txt index 79e5ac6cb6ff..c92f4473193b 100644 --- a/Documentation/scsi/aic7xxx_old.txt +++ b/Documentation/scsi/aic7xxx_old.txt | |||
@@ -102,7 +102,7 @@ linux-1.1.x and fairly stable since linux-1.2.x, and are also in FreeBSD | |||
102 | The hardware RAID devices sold by Adaptec are *NOT* supported by this | 102 | The hardware RAID devices sold by Adaptec are *NOT* supported by this |
103 | driver (and will people please stop emailing me about them, they are | 103 | driver (and will people please stop emailing me about them, they are |
104 | a totally separate beast from the bare SCSI controllers and this driver | 104 | a totally separate beast from the bare SCSI controllers and this driver |
105 | can not be retrofitted in any sane manner to support the hardware RAID | 105 | cannot be retrofitted in any sane manner to support the hardware RAID |
106 | features on those cards - Doug Ledford). | 106 | features on those cards - Doug Ledford). |
107 | 107 | ||
108 | 108 | ||
@@ -241,7 +241,7 @@ linux-1.1.x and fairly stable since linux-1.2.x, and are also in FreeBSD | |||
241 | that instead of dumping the register contents on the card, this | 241 | that instead of dumping the register contents on the card, this |
242 | option dumps the contents of the sequencer program RAM. This gives | 242 | option dumps the contents of the sequencer program RAM. This gives |
243 | the ability to verify that the instructions downloaded to the | 243 | the ability to verify that the instructions downloaded to the |
244 | card's sequencer are indeed what they are suppossed to be. Again, | 244 | card's sequencer are indeed what they are supposed to be. Again, |
245 | unless you have documentation to tell you how to interpret these | 245 | unless you have documentation to tell you how to interpret these |
246 | numbers, then it is totally useless. | 246 | numbers, then it is totally useless. |
247 | 247 | ||
@@ -317,7 +317,7 @@ linux-1.1.x and fairly stable since linux-1.2.x, and are also in FreeBSD | |||
317 | initial DEVCONFIG values for each of your aic7xxx controllers as | 317 | initial DEVCONFIG values for each of your aic7xxx controllers as |
318 | they are listed, and also record what the machine is detecting as | 318 | they are listed, and also record what the machine is detecting as |
319 | the proper termination on your controllers. NOTE: the order in | 319 | the proper termination on your controllers. NOTE: the order in |
320 | which the initial DEVCONFIG values are printed out is not gauranteed | 320 | which the initial DEVCONFIG values are printed out is not guaranteed |
321 | to be the same order as the SCSI controllers are registered. The | 321 | to be the same order as the SCSI controllers are registered. The |
322 | above option and this option both work on the order of the SCSI | 322 | above option and this option both work on the order of the SCSI |
323 | controllers as they are registered, so make sure you match the right | 323 | controllers as they are registered, so make sure you match the right |
diff --git a/Documentation/scsi/dc395x.txt b/Documentation/scsi/dc395x.txt index ae3b79a2d275..88219f96633d 100644 --- a/Documentation/scsi/dc395x.txt +++ b/Documentation/scsi/dc395x.txt | |||
@@ -20,7 +20,7 @@ Parameters | |||
20 | ---------- | 20 | ---------- |
21 | The driver uses the settings from the EEPROM set in the SCSI BIOS | 21 | The driver uses the settings from the EEPROM set in the SCSI BIOS |
22 | setup. If there is no EEPROM, the driver uses default values. | 22 | setup. If there is no EEPROM, the driver uses default values. |
23 | Both can be overriden by command line parameters (module or kernel | 23 | Both can be overridden by command line parameters (module or kernel |
24 | parameters). | 24 | parameters). |
25 | 25 | ||
26 | The following parameters are available: | 26 | The following parameters are available: |
diff --git a/Documentation/scsi/dpti.txt b/Documentation/scsi/dpti.txt index 6e45e70243e5..f36dc0e7c8da 100644 --- a/Documentation/scsi/dpti.txt +++ b/Documentation/scsi/dpti.txt | |||
@@ -48,7 +48,7 @@ | |||
48 | * Implemented suggestions from Alan Cox | 48 | * Implemented suggestions from Alan Cox |
49 | * Added calculation of resid for sg layer | 49 | * Added calculation of resid for sg layer |
50 | * Better error handling | 50 | * Better error handling |
51 | * Added checking underflow condtions | 51 | * Added checking underflow conditions |
52 | * Added DATAPROTECT checking | 52 | * Added DATAPROTECT checking |
53 | * Changed error return codes | 53 | * Changed error return codes |
54 | * Fixed pointer bug in bus reset routine | 54 | * Fixed pointer bug in bus reset routine |
diff --git a/Documentation/scsi/ibmmca.txt b/Documentation/scsi/ibmmca.txt index d16ce5b540f4..35f6b8ed2295 100644 --- a/Documentation/scsi/ibmmca.txt +++ b/Documentation/scsi/ibmmca.txt | |||
@@ -229,7 +229,7 @@ | |||
229 | 229 | ||
230 | In a second step of the driver development, the following improvement has | 230 | In a second step of the driver development, the following improvement has |
231 | been applied: The first approach limited the number of devices to 7, far | 231 | been applied: The first approach limited the number of devices to 7, far |
232 | fewer than the 15 that it could usem then it just maped ldn -> | 232 | fewer than the 15 that it could use, then it just mapped ldn -> |
233 | (ldn/8,ldn%8) for pun,lun. We ended up with a real mishmash of puns | 233 | (ldn/8,ldn%8) for pun,lun. We ended up with a real mishmash of puns |
234 | and luns, but it all seemed to work. | 234 | and luns, but it all seemed to work. |
235 | 235 | ||
@@ -254,12 +254,12 @@ | |||
254 | device to be existant, but it has no ldn assigned, it gets a ldn out of 7 | 254 | device to be existant, but it has no ldn assigned, it gets a ldn out of 7 |
255 | to 14. The numbers are assigned in cyclic order. Therefore it takes 8 | 255 | to 14. The numbers are assigned in cyclic order. Therefore it takes 8 |
256 | dynamical reassignments on the SCSI-devices, until a certain device | 256 | dynamical reassignments on the SCSI-devices, until a certain device |
257 | loses its ldn again. This assures, that dynamical remapping is avoided | 257 | loses its ldn again. This assures that dynamical remapping is avoided |
258 | during intense I/O between up to 15 SCSI-devices (means pun,lun | 258 | during intense I/O between up to 15 SCSI-devices (means pun,lun |
259 | combinations). A further advantage of this method is, that people who | 259 | combinations). A further advantage of this method is that people who |
260 | build their kernel without probing on all luns will get what they expect, | 260 | build their kernel without probing on all luns will get what they expect, |
261 | because the driver just won't assign everything with lun>0 when | 261 | because the driver just won't assign everything with lun>0 when |
262 | multpile lun probing is inactive. | 262 | multiple lun probing is inactive. |
263 | 263 | ||
264 | 2.4 SCSI-Device Order | 264 | 2.4 SCSI-Device Order |
265 | --------------------- | 265 | --------------------- |
@@ -309,9 +309,9 @@ | |||
309 | 2.6 Abort & Reset Commands | 309 | 2.6 Abort & Reset Commands |
310 | -------------------------- | 310 | -------------------------- |
311 | These are implemented with busy waiting for interrupt to arrive. | 311 | These are implemented with busy waiting for interrupt to arrive. |
312 | ibmmca_reset() and ibmmca_abort() do not work sufficently well | 312 | ibmmca_reset() and ibmmca_abort() do not work sufficiently well |
313 | up to now and need still a lot of development work. But, this seems | 313 | up to now and need still a lot of development work. This seems |
314 | to be even a problem with other SCSI-low level drivers, too. However, | 314 | to be a problem with other low-level SCSI drivers too, however |
315 | this should be no excuse. | 315 | this should be no excuse. |
316 | 316 | ||
317 | 2.7 Disk Geometry | 317 | 2.7 Disk Geometry |
@@ -684,8 +684,8 @@ | |||
684 | not like sending commands to non-existing SCSI-devices and will react | 684 | not like sending commands to non-existing SCSI-devices and will react |
685 | with a command error as a sign of protest. While this error is not | 685 | with a command error as a sign of protest. While this error is not |
686 | present on IBM SCSI Adapter w/cache, it appears on IBM Integrated SCSI | 686 | present on IBM SCSI Adapter w/cache, it appears on IBM Integrated SCSI |
687 | Adapters. Therefore, I implemented a workarround to forgive those | 687 | Adapters. Therefore, I implemented a workaround to forgive those |
688 | adapters their protests, but it is marked up in the statisctis, so | 688 | adapters their protests, but it is marked up in the statistics, so |
689 | after a successful boot, you can see in /proc/scsi/ibmmca/<host_number> | 689 | after a successful boot, you can see in /proc/scsi/ibmmca/<host_number> |
690 | how often the command errors have been forgiven to the SCSI-subsystem. | 690 | how often the command errors have been forgiven to the SCSI-subsystem. |
691 | If the number is bigger than 0, you have a SCSI subsystem of older | 691 | If the number is bigger than 0, you have a SCSI subsystem of older |
@@ -778,15 +778,15 @@ | |||
778 | not accept this, as they stick quite near to ANSI-SCSI and report | 778 | not accept this, as they stick quite near to ANSI-SCSI and report |
779 | a COMMAND_ERROR message which causes the driver to panic. The main | 779 | a COMMAND_ERROR message which causes the driver to panic. The main |
780 | problem was located around the INQUIRY command. Now, for all the | 780 | problem was located around the INQUIRY command. Now, for all the |
781 | mentioned commands, the buffersize, sent to the adapter is at | 781 | mentioned commands, the buffersize sent to the adapter is at |
782 | maximum 255 which seems to be a quite reasonable solution. | 782 | maximum 255 which seems to be a quite reasonable solution. |
783 | TEST_UNIT_READY gets a buffersize of 0 to make sure, that no | 783 | TEST_UNIT_READY gets a buffersize of 0 to make sure that no |
784 | data is transferred in order to avoid any possible command failure. | 784 | data is transferred in order to avoid any possible command failure. |
785 | 2) On unsuccessful TEST_UNIT_READY, the midlevel-driver has to send | 785 | 2) On unsuccessful TEST_UNIT_READY, the mid-level driver has to send |
786 | a REQUEST_SENSE in order to see, where the problem is located. This | 786 | a REQUEST_SENSE in order to see where the problem is located. This |
787 | REQUEST_SENSE may have various length in its answer-buffer. IBM | 787 | REQUEST_SENSE may have various length in its answer-buffer. IBM |
788 | SCSI-subsystems report a command failure, if the returned buffersize | 788 | SCSI-subsystems report a command failure if the returned buffersize |
789 | is different from the sent buffersize, but this can be supressed by | 789 | is different from the sent buffersize, but this can be suppressed by |
790 | a special bit, which is now done and problems seem to be solved. | 790 | a special bit, which is now done and problems seem to be solved. |
791 | 2) Code adaption to all kernel-releases. Now, the 3.2 code compiles on | 791 | 2) Code adaption to all kernel-releases. Now, the 3.2 code compiles on |
792 | 2.0.x, 2.1.x, 2.2.x and 2.3.x kernel releases without any code-changes. | 792 | 2.0.x, 2.1.x, 2.2.x and 2.3.x kernel releases without any code-changes. |
@@ -1086,7 +1086,7 @@ | |||
1086 | 1086 | ||
1087 | Q: "Reset SCSI-devices at boottime" halts the system at boottime, why? | 1087 | Q: "Reset SCSI-devices at boottime" halts the system at boottime, why? |
1088 | A: This is only tested with the IBM SCSI Adapter w/cache. It is not | 1088 | A: This is only tested with the IBM SCSI Adapter w/cache. It is not |
1089 | yet prooved to run on other adapters, however you may be lucky. | 1089 | yet proven to run on other adapters, however you may be lucky. |
1090 | In version 3.1d this has been hugely improved and should work better, | 1090 | In version 3.1d this has been hugely improved and should work better, |
1091 | now. Normally you really won't need to activate this flag in the | 1091 | now. Normally you really won't need to activate this flag in the |
1092 | kernel configuration, as all post 1989 SCSI-devices should accept | 1092 | kernel configuration, as all post 1989 SCSI-devices should accept |
@@ -1104,7 +1104,7 @@ | |||
1104 | The parameter 'normal' sets the new industry standard, starting | 1104 | The parameter 'normal' sets the new industry standard, starting |
1105 | from pun 0, scanning up to pun 6. This allows you to change your | 1105 | from pun 0, scanning up to pun 6. This allows you to change your |
1106 | opinion still after having already compiled the kernel. | 1106 | opinion still after having already compiled the kernel. |
1107 | Q: Why I cannot find the IBM MCA SCSI support in the config menue? | 1107 | Q: Why can't I find IBM MCA SCSI support in the config menu? |
1108 | A: You have to activate MCA bus support, first. | 1108 | A: You have to activate MCA bus support, first. |
1109 | Q: Where can I find the latest info about this driver? | 1109 | Q: Where can I find the latest info about this driver? |
1110 | A: See the file MAINTAINERS for the current WWW-address, which offers | 1110 | A: See the file MAINTAINERS for the current WWW-address, which offers |
@@ -1156,7 +1156,7 @@ | |||
1156 | Guide) what has to be done for reset, we still share the bad shape of | 1156 | Guide) what has to be done for reset, we still share the bad shape of |
1157 | the reset functions with all other low level SCSI-drivers. | 1157 | the reset functions with all other low level SCSI-drivers. |
1158 | Astonishingly, reset works in most cases quite ok, but the harddisks | 1158 | Astonishingly, reset works in most cases quite ok, but the harddisks |
1159 | won't run in synchonous mode anymore after a reset, until you reboot. | 1159 | won't run in synchronous mode anymore after a reset, until you reboot. |
1160 | Q: Why does my XXX w/Cache adapter not use read-prefetch? | 1160 | Q: Why does my XXX w/Cache adapter not use read-prefetch? |
1161 | A: Ok, that is not completely possible. If a cache is present, the | 1161 | A: Ok, that is not completely possible. If a cache is present, the |
1162 | adapter tries to use it internally. Explicitly, one can use the cache | 1162 | adapter tries to use it internally. Explicitly, one can use the cache |
diff --git a/Documentation/scsi/megaraid.txt b/Documentation/scsi/megaraid.txt index ff864c0f494c..3c7cea51e687 100644 --- a/Documentation/scsi/megaraid.txt +++ b/Documentation/scsi/megaraid.txt | |||
@@ -4,11 +4,11 @@ | |||
4 | Overview: | 4 | Overview: |
5 | -------- | 5 | -------- |
6 | 6 | ||
7 | Different classes of controllers from LSI Logic, accept and respond to the | 7 | Different classes of controllers from LSI Logic accept and respond to the |
8 | user applications in a similar way. They understand the same firmware control | 8 | user applications in a similar way. They understand the same firmware control |
9 | commands. Furthermore, the applications also can treat different classes of | 9 | commands. Furthermore, the applications also can treat different classes of |
10 | the controllers uniformly. Hence it is logical to have a single module that | 10 | the controllers uniformly. Hence it is logical to have a single module that |
11 | interefaces with the applications on one side and all the low level drivers | 11 | interfaces with the applications on one side and all the low level drivers |
12 | on the other. | 12 | on the other. |
13 | 13 | ||
14 | The advantages, though obvious, are listed for completeness: | 14 | The advantages, though obvious, are listed for completeness: |
diff --git a/Documentation/scsi/ncr53c8xx.txt b/Documentation/scsi/ncr53c8xx.txt index 822d2aca3700..58ad8db333d9 100644 --- a/Documentation/scsi/ncr53c8xx.txt +++ b/Documentation/scsi/ncr53c8xx.txt | |||
@@ -70,7 +70,7 @@ Written by Gerard Roudier <groudier@free.fr> | |||
70 | 15. SCSI problem troubleshooting | 70 | 15. SCSI problem troubleshooting |
71 | 15.1 Problem tracking | 71 | 15.1 Problem tracking |
72 | 15.2 Understanding hardware error reports | 72 | 15.2 Understanding hardware error reports |
73 | 16. Synchonous transfer negotiation tables | 73 | 16. Synchronous transfer negotiation tables |
74 | 16.1 Synchronous timings for 53C875 and 53C860 Ultra-SCSI controllers | 74 | 16.1 Synchronous timings for 53C875 and 53C860 Ultra-SCSI controllers |
75 | 16.2 Synchronous timings for fast SCSI-2 53C8XX controllers | 75 | 16.2 Synchronous timings for fast SCSI-2 53C8XX controllers |
76 | 17. Serial NVRAM support (by Richard Waltham) | 76 | 17. Serial NVRAM support (by Richard Waltham) |
@@ -96,10 +96,10 @@ The original driver has been written for 386bsd and FreeBSD by: | |||
96 | It is now available as a bundle of 2 drivers: | 96 | It is now available as a bundle of 2 drivers: |
97 | 97 | ||
98 | - ncr53c8xx generic driver that supports all the SYM53C8XX family including | 98 | - ncr53c8xx generic driver that supports all the SYM53C8XX family including |
99 | the ealiest 810 rev. 1, the latest 896 (2 channel LVD SCSI controller) and | 99 | the earliest 810 rev. 1, the latest 896 (2 channel LVD SCSI controller) and |
100 | the new 895A (1 channel LVD SCSI controller). | 100 | the new 895A (1 channel LVD SCSI controller). |
101 | - sym53c8xx enhanced driver (a.k.a. 896 drivers) that drops support of oldest | 101 | - sym53c8xx enhanced driver (a.k.a. 896 drivers) that drops support of oldest |
102 | chips in order to gain advantage of new features, as LOAD/STORE intructions | 102 | chips in order to gain advantage of new features, as LOAD/STORE instructions |
103 | available since the 810A and hardware phase mismatch available with the | 103 | available since the 810A and hardware phase mismatch available with the |
104 | 896 and the 895A. | 104 | 896 and the 895A. |
105 | 105 | ||
@@ -207,7 +207,7 @@ The 896 and the 895A allows handling of the phase mismatch context from | |||
207 | SCRIPTS (avoids the phase mismatch interrupt that stops the SCSI processor | 207 | SCRIPTS (avoids the phase mismatch interrupt that stops the SCSI processor |
208 | until the C code has saved the context of the transfer). | 208 | until the C code has saved the context of the transfer). |
209 | Implementing this without using LOAD/STORE instructions would be painfull | 209 | Implementing this without using LOAD/STORE instructions would be painfull |
210 | and I did'nt even want to try it. | 210 | and I didn't even want to try it. |
211 | 211 | ||
212 | The 896 chip supports 64 bit PCI transactions and addressing, while the | 212 | The 896 chip supports 64 bit PCI transactions and addressing, while the |
213 | 895A supports 32 bit PCI transactions and 64 bit addressing. | 213 | 895A supports 32 bit PCI transactions and 64 bit addressing. |
@@ -631,8 +631,8 @@ string variable using 'insmod'. | |||
631 | 631 | ||
632 | A boot setup command for the ncr53c8xx (sym53c8xx) driver begins with the | 632 | A boot setup command for the ncr53c8xx (sym53c8xx) driver begins with the |
633 | driver name "ncr53c8xx="(sym53c8xx). The kernel syntax parser then expects | 633 | driver name "ncr53c8xx="(sym53c8xx). The kernel syntax parser then expects |
634 | an optionnal list of integers separated with comma followed by an optional | 634 | an optional list of integers separated with comma followed by an optional |
635 | list of comma-separated strings. Example of boot setup command under lilo | 635 | list of comma-separated strings. Example of boot setup command under lilo |
636 | prompt: | 636 | prompt: |
637 | 637 | ||
638 | lilo: linux root=/dev/hda2 ncr53c8xx=tags:4,sync:10,debug:0x200 | 638 | lilo: linux root=/dev/hda2 ncr53c8xx=tags:4,sync:10,debug:0x200 |
@@ -778,7 +778,7 @@ port address 0x1400. | |||
778 | Some scsi boards use a 875 (ultra wide) and only supply narrow connectors. | 778 | Some scsi boards use a 875 (ultra wide) and only supply narrow connectors. |
779 | If you have connected a wide device with a 50 pins to 68 pins cable | 779 | If you have connected a wide device with a 50 pins to 68 pins cable |
780 | converter, any accepted wide negotiation will break further data transfers. | 780 | converter, any accepted wide negotiation will break further data transfers. |
781 | In such a case, using "wide:0" in the bootup command will be helpfull. | 781 | In such a case, using "wide:0" in the bootup command will be helpful. |
782 | 782 | ||
783 | 10.2.14 Differential mode | 783 | 10.2.14 Differential mode |
784 | diff:0 never set up diff mode | 784 | diff:0 never set up diff mode |
@@ -899,7 +899,7 @@ boot setup can be: | |||
899 | ncr53c8xx=safe:y,mpar:y | 899 | ncr53c8xx=safe:y,mpar:y |
900 | ncr53c8xx=safe:y | 900 | ncr53c8xx=safe:y |
901 | 901 | ||
902 | My personnal system works flawlessly with the following equivalent setup: | 902 | My personal system works flawlessly with the following equivalent setup: |
903 | 903 | ||
904 | ncr53c8xx=mpar:y,spar:y,disc:y,specf:1,fsn:n,ultra:2,fsn:n,revprob:n,verb:1\ | 904 | ncr53c8xx=mpar:y,spar:y,disc:y,specf:1,fsn:n,ultra:2,fsn:n,revprob:n,verb:1\ |
905 | tags:32,sync:12,debug:0,burst:7,led:1,wide:1,settle:2,diff:0,irqm:0 | 905 | tags:32,sync:12,debug:0,burst:7,led:1,wide:1,settle:2,diff:0,irqm:0 |
@@ -1151,7 +1151,7 @@ Driver files: | |||
1151 | 1151 | ||
1152 | New driver versions are made available separately in order to allow testing | 1152 | New driver versions are made available separately in order to allow testing |
1153 | changes and new features prior to including them into the linux kernel | 1153 | changes and new features prior to including them into the linux kernel |
1154 | distribution. The following URL provides informations on latest avalaible | 1154 | distribution. The following URL provides information on latest available |
1155 | patches: | 1155 | patches: |
1156 | 1156 | ||
1157 | ftp://ftp.tux.org/pub/people/gerard-roudier/README | 1157 | ftp://ftp.tux.org/pub/people/gerard-roudier/README |
@@ -1382,7 +1382,7 @@ SCSI standards, chip cores functionnals and internal driver data structures. | |||
1382 | You are not required to decode and understand them, unless you want to help | 1382 | You are not required to decode and understand them, unless you want to help |
1383 | maintain the driver code. | 1383 | maintain the driver code. |
1384 | 1384 | ||
1385 | 16. Synchonous transfer negotiation tables | 1385 | 16. Synchronous transfer negotiation tables |
1386 | 1386 | ||
1387 | Tables below have been created by calling the routine the driver uses | 1387 | Tables below have been created by calling the routine the driver uses |
1388 | for synchronisation negotiation timing calculation and chip setting. | 1388 | for synchronisation negotiation timing calculation and chip setting. |
diff --git a/Documentation/scsi/osst.txt b/Documentation/scsi/osst.txt index ce574e7791ab..f536907e241d 100644 --- a/Documentation/scsi/osst.txt +++ b/Documentation/scsi/osst.txt | |||
@@ -56,8 +56,7 @@ Compile your kernel and install the modules. | |||
56 | 56 | ||
57 | Now, your osst driver is inside the kernel or available as a module, | 57 | Now, your osst driver is inside the kernel or available as a module, |
58 | depending on your choice during kernel config. You may still need to create | 58 | depending on your choice during kernel config. You may still need to create |
59 | the device nodes by calling the Makedevs.sh script (see below) manually, | 59 | the device nodes by calling the Makedevs.sh script (see below) manually. |
60 | unless you use a devfs kernel, where this won't be needed. | ||
61 | 60 | ||
62 | To load your module, you may use the command | 61 | To load your module, you may use the command |
63 | modprobe osst | 62 | modprobe osst |
diff --git a/Documentation/scsi/ppa.txt b/Documentation/scsi/ppa.txt index 5d9223bc1bd5..067ac394e0b2 100644 --- a/Documentation/scsi/ppa.txt +++ b/Documentation/scsi/ppa.txt | |||
@@ -3,7 +3,7 @@ | |||
3 | General Iomega ZIP drive page for Linux: | 3 | General Iomega ZIP drive page for Linux: |
4 | http://www.torque.net/~campbell/ | 4 | http://www.torque.net/~campbell/ |
5 | 5 | ||
6 | Driver achive for old drivers: | 6 | Driver archive for old drivers: |
7 | http://www.torque.net/~campbell/ppa/ | 7 | http://www.torque.net/~campbell/ppa/ |
8 | 8 | ||
9 | Linux Parport page (parallel port) | 9 | Linux Parport page (parallel port) |
diff --git a/Documentation/scsi/scsi-changer.txt b/Documentation/scsi/scsi-changer.txt index c132687b017a..d74bbd29eb3a 100644 --- a/Documentation/scsi/scsi-changer.txt +++ b/Documentation/scsi/scsi-changer.txt | |||
@@ -31,7 +31,7 @@ changers. But it allows to handle nearly all possible cases. It knows | |||
31 | media transport - this one shuffles around the media, i.e. the | 31 | media transport - this one shuffles around the media, i.e. the |
32 | transport arm. Also known as "picker". | 32 | transport arm. Also known as "picker". |
33 | storage - a slot which can hold a media. | 33 | storage - a slot which can hold a media. |
34 | import/export - the same as above, but is accessable from outside, | 34 | import/export - the same as above, but is accessible from outside, |
35 | i.e. there the operator (you !) can use this to | 35 | i.e. there the operator (you !) can use this to |
36 | fill in and remove media from the changer. | 36 | fill in and remove media from the changer. |
37 | Sometimes named "mailslot". | 37 | Sometimes named "mailslot". |
diff --git a/Documentation/scsi/scsi_eh.txt b/Documentation/scsi/scsi_eh.txt index ce767b90bb0d..b964eef2f62f 100644 --- a/Documentation/scsi/scsi_eh.txt +++ b/Documentation/scsi/scsi_eh.txt | |||
@@ -160,7 +160,7 @@ ways. | |||
160 | - Fine-grained EH callbacks | 160 | - Fine-grained EH callbacks |
161 | LLDD can implement fine-grained EH callbacks and let SCSI | 161 | LLDD can implement fine-grained EH callbacks and let SCSI |
162 | midlayer drive error handling and call appropriate callbacks. | 162 | midlayer drive error handling and call appropriate callbacks. |
163 | This will be dicussed further in [2-1]. | 163 | This will be discussed further in [2-1]. |
164 | 164 | ||
165 | - eh_strategy_handler() callback | 165 | - eh_strategy_handler() callback |
166 | This is one big callback which should perform whole error | 166 | This is one big callback which should perform whole error |
@@ -194,7 +194,7 @@ lower layers and lower layers are ready to process or fail the scmd | |||
194 | again. | 194 | again. |
195 | 195 | ||
196 | To achieve these goals, EH performs recovery actions with increasing | 196 | To achieve these goals, EH performs recovery actions with increasing |
197 | severity. Some actions are performed by issueing SCSI commands and | 197 | severity. Some actions are performed by issuing SCSI commands and |
198 | others are performed by invoking one of the following fine-grained | 198 | others are performed by invoking one of the following fine-grained |
199 | hostt EH callbacks. Callbacks may be omitted and omitted ones are | 199 | hostt EH callbacks. Callbacks may be omitted and omitted ones are |
200 | considered to fail always. | 200 | considered to fail always. |
diff --git a/Documentation/scsi/st.txt b/Documentation/scsi/st.txt index 20e30cf31877..5ff65b184265 100644 --- a/Documentation/scsi/st.txt +++ b/Documentation/scsi/st.txt | |||
@@ -249,7 +249,7 @@ BOOT TIME CONFIGURATION | |||
249 | 249 | ||
250 | If the driver is compiled into the kernel, the same parameters can be | 250 | If the driver is compiled into the kernel, the same parameters can be |
251 | also set using, e.g., the LILO command line. The preferred syntax is | 251 | also set using, e.g., the LILO command line. The preferred syntax is |
252 | is to use the same keyword used when loading as module but prepended | 252 | to use the same keyword used when loading as module but prepended |
253 | with 'st.'. For instance, to set the maximum number of scatter/gather | 253 | with 'st.'. For instance, to set the maximum number of scatter/gather |
254 | segments, the parameter 'st.max_sg_segs=xx' should be used (xx is the | 254 | segments, the parameter 'st.max_sg_segs=xx' should be used (xx is the |
255 | number of scatter/gather segments). | 255 | number of scatter/gather segments). |
@@ -369,7 +369,7 @@ MTSETDRVBUFFER | |||
369 | the device dependent address. It is recommended to set | 369 | the device dependent address. It is recommended to set |
370 | this flag unless there are tapes using the device | 370 | this flag unless there are tapes using the device |
371 | dependent (from the old times) (global) | 371 | dependent (from the old times) (global) |
372 | MT_ST_SYSV sets the SYSV sematics (mode) | 372 | MT_ST_SYSV sets the SYSV semantics (mode) |
373 | MT_ST_NOWAIT enables immediate mode (i.e., don't wait for | 373 | MT_ST_NOWAIT enables immediate mode (i.e., don't wait for |
374 | the command to finish) for some commands (e.g., rewind) | 374 | the command to finish) for some commands (e.g., rewind) |
375 | MT_ST_DEBUGGING debugging (global; debugging must be | 375 | MT_ST_DEBUGGING debugging (global; debugging must be |
diff --git a/Documentation/scsi/sym53c8xx_2.txt b/Documentation/scsi/sym53c8xx_2.txt index 7f516cdcd262..26c8a08ca3ea 100644 --- a/Documentation/scsi/sym53c8xx_2.txt +++ b/Documentation/scsi/sym53c8xx_2.txt | |||
@@ -67,7 +67,7 @@ under Linux is contained in 2 files named sym_glue.h and sym_glue.c. | |||
67 | Other drivers files are intended not to depend on the Operating System | 67 | Other drivers files are intended not to depend on the Operating System |
68 | on which the driver is used. | 68 | on which the driver is used. |
69 | 69 | ||
70 | The history of this driver can be summerized as follows: | 70 | The history of this driver can be summarized as follows: |
71 | 71 | ||
72 | 1993: ncr driver written for 386bsd and FreeBSD by: | 72 | 1993: ncr driver written for 386bsd and FreeBSD by: |
73 | Wolfgang Stanglmeier <wolf@cologne.de> | 73 | Wolfgang Stanglmeier <wolf@cologne.de> |
@@ -684,7 +684,7 @@ Field H : SCNTL3 Scsi Control Register 3 | |||
684 | Contains the setting of timing values for both asynchronous and | 684 | Contains the setting of timing values for both asynchronous and |
685 | synchronous data transfers. | 685 | synchronous data transfers. |
686 | Field I : SCNTL4 Scsi Control Register 4 | 686 | Field I : SCNTL4 Scsi Control Register 4 |
687 | Only meaninful for 53C1010 Ultra3 controllers. | 687 | Only meaningful for 53C1010 Ultra3 controllers. |
688 | 688 | ||
689 | Understanding Fields J, K, L and dumps requires to have good knowledge of | 689 | Understanding Fields J, K, L and dumps requires to have good knowledge of |
690 | SCSI standards, chip cores functionnals and internal driver data structures. | 690 | SCSI standards, chip cores functionnals and internal driver data structures. |
diff --git a/Documentation/scsi/tmscsim.txt b/Documentation/scsi/tmscsim.txt index df7a02bfb5bf..8b2168aa4fc7 100644 --- a/Documentation/scsi/tmscsim.txt +++ b/Documentation/scsi/tmscsim.txt | |||
@@ -27,7 +27,7 @@ Tekram DC390(T) adapter. This is where the name comes from: tm = Tekram | |||
27 | scsi = SCSI driver, m = AMD (?) as opposed to w for the DC390W/U/F | 27 | scsi = SCSI driver, m = AMD (?) as opposed to w for the DC390W/U/F |
28 | (NCR53c8X5, X=2/7) driver. Yes, there was also a driver for the latter, | 28 | (NCR53c8X5, X=2/7) driver. Yes, there was also a driver for the latter, |
29 | tmscsiw, which supported DC390W/U/F adapters. It's not maintained any more, | 29 | tmscsiw, which supported DC390W/U/F adapters. It's not maintained any more, |
30 | as the ncr53c8xx is perfectly supporting these adpaters since some time. | 30 | as the ncr53c8xx is perfectly supporting these adapters since some time. |
31 | 31 | ||
32 | The driver first appeared in April 1996, exclusively supported the DC390 | 32 | The driver first appeared in April 1996, exclusively supported the DC390 |
33 | and has been enhanced since then in various steps. In May 1998 support for | 33 | and has been enhanced since then in various steps. In May 1998 support for |
@@ -381,7 +381,7 @@ Please see http://www.garloff.de/kurt/linux/dc390/problems.html | |||
381 | replaced by the dev index of your scanner). You may try to reset your SCSI | 381 | replaced by the dev index of your scanner). You may try to reset your SCSI |
382 | bus afterwards (echo "RESET" >/proc/scsi/tmscsim/?). | 382 | bus afterwards (echo "RESET" >/proc/scsi/tmscsim/?). |
383 | The problem seems to be solved as of 2.0d18, thanks to Andreas Rick. | 383 | The problem seems to be solved as of 2.0d18, thanks to Andreas Rick. |
384 | * If there is a valid partition table, the driver will use it for determing | 384 | * If there is a valid partition table, the driver will use it for determining |
385 | the mapping. If there's none, a reasonable mapping (Symbios-like) will be | 385 | the mapping. If there's none, a reasonable mapping (Symbios-like) will be |
386 | assumed. Other operating systems may not like this mapping, though | 386 | assumed. Other operating systems may not like this mapping, though |
387 | it's consistent with the BIOS' behaviour. Old DC390 drivers ignored the | 387 | it's consistent with the BIOS' behaviour. Old DC390 drivers ignored the |
diff --git a/Documentation/sh/kgdb.txt b/Documentation/sh/kgdb.txt index 5b04f7f306fc..05b4ba89d28c 100644 --- a/Documentation/sh/kgdb.txt +++ b/Documentation/sh/kgdb.txt | |||
@@ -69,7 +69,7 @@ might specify the halt option: | |||
69 | 69 | ||
70 | kgdb=halt | 70 | kgdb=halt |
71 | 71 | ||
72 | Boot the TARGET machinem, which will appear to hang. | 72 | Boot the TARGET machine, which will appear to hang. |
73 | 73 | ||
74 | On your DEVELOPMENT machine, cd to the source directory and run the gdb | 74 | On your DEVELOPMENT machine, cd to the source directory and run the gdb |
75 | program. (This is likely to be a cross GDB which runs on your host but | 75 | program. (This is likely to be a cross GDB which runs on your host but |
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt index e6b57dd46a4f..138673a907f5 100644 --- a/Documentation/sound/alsa/ALSA-Configuration.txt +++ b/Documentation/sound/alsa/ALSA-Configuration.txt | |||
@@ -57,11 +57,6 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
57 | - Default: 1 | 57 | - Default: 1 |
58 | - For auto-loading more than one card, specify this | 58 | - For auto-loading more than one card, specify this |
59 | option together with snd-card-X aliases. | 59 | option together with snd-card-X aliases. |
60 | device_mode | ||
61 | - permission mask for dynamic sound device filesystem | ||
62 | - This is available only when DEVFS is enabled | ||
63 | - Default: 0666 | ||
64 | - E.g.: device_mode=0660 | ||
65 | 60 | ||
66 | 61 | ||
67 | Module snd-pcm-oss | 62 | Module snd-pcm-oss |
@@ -1268,8 +1263,8 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
1268 | 1263 | ||
1269 | Note: on some notebooks the buffer address cannot be detected | 1264 | Note: on some notebooks the buffer address cannot be detected |
1270 | automatically, or causes hang-up during initialization. | 1265 | automatically, or causes hang-up during initialization. |
1271 | In such a case, specify the buffer top address explicity via | 1266 | In such a case, specify the buffer top address explicitly via |
1272 | buffer_top option. | 1267 | the buffer_top option. |
1273 | For example, | 1268 | For example, |
1274 | Sony F250: buffer_top=0x25a800 | 1269 | Sony F250: buffer_top=0x25a800 |
1275 | Sony F270: buffer_top=0x272800 | 1270 | Sony F270: buffer_top=0x272800 |
@@ -1887,7 +1882,7 @@ options snd-ens1371 index=1 | |||
1887 | # OSS/Free portion | 1882 | # OSS/Free portion |
1888 | alias sound-slot-0 snd-interwave | 1883 | alias sound-slot-0 snd-interwave |
1889 | alias sound-slot-1 snd-ens1371 | 1884 | alias sound-slot-1 snd-ens1371 |
1890 | ----- /etc/moprobe.conf | 1885 | ----- /etc/modprobe.conf |
1891 | 1886 | ||
1892 | In this example, the interwave card is always loaded as the first card | 1887 | In this example, the interwave card is always loaded as the first card |
1893 | (index 0) and ens1371 as the second (index 1). | 1888 | (index 0) and ens1371 as the second (index 1). |
@@ -1915,21 +1910,6 @@ Please note that the device mapping above may be varied via the module | |||
1915 | options of snd-pcm-oss module. | 1910 | options of snd-pcm-oss module. |
1916 | 1911 | ||
1917 | 1912 | ||
1918 | DEVFS support | ||
1919 | ============= | ||
1920 | |||
1921 | The ALSA driver fully supports the devfs extension. | ||
1922 | You should add lines below to your devfsd.conf file: | ||
1923 | |||
1924 | LOOKUP snd MODLOAD ACTION snd | ||
1925 | REGISTER ^sound/.* PERMISSIONS root.audio 660 | ||
1926 | REGISTER ^snd/.* PERMISSIONS root.audio 660 | ||
1927 | |||
1928 | Warning: These lines assume that you have the audio group in your system. | ||
1929 | Otherwise replace audio word with another group name (root for | ||
1930 | example). | ||
1931 | |||
1932 | |||
1933 | Proc interfaces (/proc/asound) | 1913 | Proc interfaces (/proc/asound) |
1934 | ============================== | 1914 | ============================== |
1935 | 1915 | ||
diff --git a/Documentation/sound/alsa/Audiophile-Usb.txt b/Documentation/sound/alsa/Audiophile-Usb.txt index b535c2a198f8..e40cce83327c 100644 --- a/Documentation/sound/alsa/Audiophile-Usb.txt +++ b/Documentation/sound/alsa/Audiophile-Usb.txt | |||
@@ -126,7 +126,7 @@ Here is a list of supported device_setup values for this device: | |||
126 | - Alsa driver default mode | 126 | - Alsa driver default mode |
127 | - maintains backward compatibility with setups that do not use this | 127 | - maintains backward compatibility with setups that do not use this |
128 | parameter by not introducing any change | 128 | parameter by not introducing any change |
129 | - results sometimes in corrupted sound as decribed earlier | 129 | - results sometimes in corrupted sound as described earlier |
130 | * device_setup=0x01 | 130 | * device_setup=0x01 |
131 | - 16bits 48kHz mode with Di disabled | 131 | - 16bits 48kHz mode with Di disabled |
132 | - Ai,Ao,Do can be used at the same time | 132 | - Ai,Ao,Do can be used at the same time |
diff --git a/Documentation/sound/alsa/CMIPCI.txt b/Documentation/sound/alsa/CMIPCI.txt index 1872e24442a4..4b2b15387056 100644 --- a/Documentation/sound/alsa/CMIPCI.txt +++ b/Documentation/sound/alsa/CMIPCI.txt | |||
@@ -16,11 +16,11 @@ As default, ALSA driver assigns the first PCM device (i.e. hw:0,0 for | |||
16 | card#0) for front and 4/6ch playbacks, while the second PCM device | 16 | card#0) for front and 4/6ch playbacks, while the second PCM device |
17 | (hw:0,1) is assigned to the second DAC for rear playback. | 17 | (hw:0,1) is assigned to the second DAC for rear playback. |
18 | 18 | ||
19 | There are slight difference between two DACs. | 19 | There are slight differences between the two DACs: |
20 | 20 | ||
21 | - The first DAC supports U8 and S16LE formats, while the second DAC | 21 | - The first DAC supports U8 and S16LE formats, while the second DAC |
22 | supports only S16LE. | 22 | supports only S16LE. |
23 | - The seconde DAC supports only two channel stereo. | 23 | - The second DAC supports only two channel stereo. |
24 | 24 | ||
25 | Please note that the CM8x38 DAC doesn't support continuous playback | 25 | Please note that the CM8x38 DAC doesn't support continuous playback |
26 | rate but only fixed rates: 5512, 8000, 11025, 16000, 22050, 32000, | 26 | rate but only fixed rates: 5512, 8000, 11025, 16000, 22050, 32000, |
@@ -76,7 +76,7 @@ in alsa-lib. For example, you can play a WAV file with 6 channels like | |||
76 | 76 | ||
77 | % aplay -Dsurround51 sixchannels.wav | 77 | % aplay -Dsurround51 sixchannels.wav |
78 | 78 | ||
79 | For programmin the 4/6 channel playback, you need to specify the PCM | 79 | For programming the 4/6 channel playback, you need to specify the PCM |
80 | channels as you like and set the format S16LE. For example, for playback | 80 | channels as you like and set the format S16LE. For example, for playback |
81 | with 4 channels, | 81 | with 4 channels, |
82 | 82 | ||
diff --git a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl index 4807ef79a94d..077fbe25ebf4 100644 --- a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl +++ b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl | |||
@@ -5486,7 +5486,7 @@ struct _snd_pcm_runtime { | |||
5486 | <chapter id="power-management"> | 5486 | <chapter id="power-management"> |
5487 | <title>Power Management</title> | 5487 | <title>Power Management</title> |
5488 | <para> | 5488 | <para> |
5489 | If the chip is supposed to work with with suspend/resume | 5489 | If the chip is supposed to work with suspend/resume |
5490 | functions, you need to add the power-management codes to the | 5490 | functions, you need to add the power-management codes to the |
5491 | driver. The additional codes for the power-management should be | 5491 | driver. The additional codes for the power-management should be |
5492 | <function>ifdef</function>'ed with | 5492 | <function>ifdef</function>'ed with |
diff --git a/Documentation/sound/alsa/MIXART.txt b/Documentation/sound/alsa/MIXART.txt index 5cb970612870..ef42c44fa1f2 100644 --- a/Documentation/sound/alsa/MIXART.txt +++ b/Documentation/sound/alsa/MIXART.txt | |||
@@ -31,7 +31,7 @@ With a miXart8AES/EBU there is in addition 1 stereo digital input | |||
31 | Formats | 31 | Formats |
32 | ------- | 32 | ------- |
33 | U8, S16_LE, S16_BE, S24_3LE, S24_3BE, FLOAT_LE, FLOAT_BE | 33 | U8, S16_LE, S16_BE, S24_3LE, S24_3BE, FLOAT_LE, FLOAT_BE |
34 | Sample rates : 8000 - 48000 Hz continously | 34 | Sample rates : 8000 - 48000 Hz continuously |
35 | 35 | ||
36 | Playback | 36 | Playback |
37 | -------- | 37 | -------- |
@@ -39,7 +39,7 @@ For instance the playback devices are configured to have max. 4 | |||
39 | substreams performing hardware mixing. This could be changed to a | 39 | substreams performing hardware mixing. This could be changed to a |
40 | maximum of 24 substreams if wished. | 40 | maximum of 24 substreams if wished. |
41 | Mono files will be played on the left and right channel. Each channel | 41 | Mono files will be played on the left and right channel. Each channel |
42 | can be muted for each stream to use 8 analog/digital outputs seperately. | 42 | can be muted for each stream to use 8 analog/digital outputs separately. |
43 | 43 | ||
44 | Capture | 44 | Capture |
45 | ------- | 45 | ------- |
@@ -97,4 +97,4 @@ COPYRIGHT | |||
97 | ========= | 97 | ========= |
98 | 98 | ||
99 | Copyright (c) 2003 Digigram SA <alsa@digigram.com> | 99 | Copyright (c) 2003 Digigram SA <alsa@digigram.com> |
100 | Distributalbe under GPL. | 100 | Distributable under GPL. |
diff --git a/Documentation/sound/alsa/Procfile.txt b/Documentation/sound/alsa/Procfile.txt index 1fe48846d78f..f738b296440a 100644 --- a/Documentation/sound/alsa/Procfile.txt +++ b/Documentation/sound/alsa/Procfile.txt | |||
@@ -71,7 +71,7 @@ The status of MIDI I/O is found in midi* files. It shows the device | |||
71 | name and the received/transmitted bytes through the MIDI device. | 71 | name and the received/transmitted bytes through the MIDI device. |
72 | 72 | ||
73 | When the card is equipped with AC97 codecs, there are codec97#* | 73 | When the card is equipped with AC97 codecs, there are codec97#* |
74 | subdirectories (desribed later). | 74 | subdirectories (described later). |
75 | 75 | ||
76 | When the OSS mixer emulation is enabled (and the module is loaded), | 76 | When the OSS mixer emulation is enabled (and the module is loaded), |
77 | oss_mixer file appears here, too. This shows the current mapping of | 77 | oss_mixer file appears here, too. This shows the current mapping of |
@@ -161,12 +161,12 @@ seq/drivers | |||
161 | Lists the currently available ALSA sequencer drivers. | 161 | Lists the currently available ALSA sequencer drivers. |
162 | 162 | ||
163 | seq/clients | 163 | seq/clients |
164 | Shows the list of currently available sequencer clinets and | 164 | Shows the list of currently available sequencer clients and |
165 | ports. The connection status and the running status are shown | 165 | ports. The connection status and the running status are shown |
166 | in this file, too. | 166 | in this file, too. |
167 | 167 | ||
168 | seq/queues | 168 | seq/queues |
169 | Lists the currently allocated/running sequener queues. | 169 | Lists the currently allocated/running sequencer queues. |
170 | 170 | ||
171 | seq/timer | 171 | seq/timer |
172 | Lists the currently allocated/running sequencer timers. | 172 | Lists the currently allocated/running sequencer timers. |
@@ -182,10 +182,10 @@ When the problem is related with PCM, first try to turn on xrun_debug | |||
182 | mode. This will give you the kernel messages when and where xrun | 182 | mode. This will give you the kernel messages when and where xrun |
183 | happened. | 183 | happened. |
184 | 184 | ||
185 | If it's really a bug, report it with the following information | 185 | If it's really a bug, report it with the following information: |
186 | 186 | ||
187 | - the name of the driver/card, show in /proc/asound/cards | 187 | - the name of the driver/card, show in /proc/asound/cards |
188 | - the reigster dump, if available (e.g. card*/cmipci) | 188 | - the register dump, if available (e.g. card*/cmipci) |
189 | 189 | ||
190 | when it's a PCM problem, | 190 | when it's a PCM problem, |
191 | 191 | ||
diff --git a/Documentation/sound/oss/AWE32 b/Documentation/sound/oss/AWE32 deleted file mode 100644 index cb179bfeb522..000000000000 --- a/Documentation/sound/oss/AWE32 +++ /dev/null | |||
@@ -1,76 +0,0 @@ | |||
1 | Installing and using Creative AWE midi sound under Linux. | ||
2 | |||
3 | This documentation is devoted to the Creative Sound Blaster AWE32, AWE64 and | ||
4 | SB32. | ||
5 | |||
6 | 1) Make sure you have an ORIGINAL Creative SB32, AWE32 or AWE64 card. This | ||
7 | is important, because the driver works only with real Creative cards. | ||
8 | |||
9 | 2) The first thing you need to do is re-compile your kernel with support for | ||
10 | your sound card. Run your favourite tool to configure the kernel and when | ||
11 | you get to the "Sound" menu you should enable support for the following: | ||
12 | |||
13 | Sound card support, | ||
14 | OSS sound modules, | ||
15 | 100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support, | ||
16 | AWE32 synth | ||
17 | |||
18 | If your card is "Plug and Play" you will also need to enable these two | ||
19 | options, found under the "Plug and Play configuration" menu: | ||
20 | |||
21 | Plug and Play support | ||
22 | ISA Plug and Play support | ||
23 | |||
24 | Now compile and install the kernel in normal fashion. If you don't know | ||
25 | how to do this you can find instructions for this in the README file | ||
26 | located in the root directory of the kernel source. | ||
27 | |||
28 | 3) Before you can start playing midi files you will have to load a sound | ||
29 | bank file. The utility needed for doing this is called "sfxload", and it | ||
30 | is one of the utilities found in a package called "awesfx". If this | ||
31 | package is not available in your distribution you can download the AWE | ||
32 | snapshot from Creative Labs Open Source website: | ||
33 | |||
34 | http://www.opensource.creative.com/snapshot.html | ||
35 | |||
36 | Once you have unpacked the AWE snapshot you will see a "awesfx" | ||
37 | directory. Follow the instructions in awesfx/docs/INSTALL to install the | ||
38 | utilities in this package. After doing this, sfxload should be installed | ||
39 | as: | ||
40 | |||
41 | /usr/local/bin/sfxload | ||
42 | |||
43 | To enable AWE general midi synthesis you should also get the sound bank | ||
44 | file for general midi from: | ||
45 | |||
46 | http://members.xoom.com/yar/synthgm.sbk.gz | ||
47 | |||
48 | Copy it to a directory of your choice, and unpack it there. | ||
49 | |||
50 | 4) Edit /etc/modprobe.conf, and insert the following lines at the end of the | ||
51 | file: | ||
52 | |||
53 | alias sound-slot-0 sb | ||
54 | alias sound-service-0-1 awe_wave | ||
55 | install awe_wave /sbin/modprobe --first-time -i awe_wave && /usr/local/bin/sfxload PATH_TO_SOUND_BANK_FILE | ||
56 | |||
57 | You will of course have to change "PATH_TO_SOUND_BANK_FILE" to the full | ||
58 | path of of the sound bank file. That will enable the Sound Blaster and AWE | ||
59 | wave synthesis. To play midi files you should get one of these programs if | ||
60 | you don't already have them: | ||
61 | |||
62 | Playmidi: http://playmidi.openprojects.net | ||
63 | |||
64 | AWEMidi Player (drvmidi) Included in the previously mentioned AWE | ||
65 | snapshot. | ||
66 | |||
67 | You will probably have to pass the "-e" switch to playmidi to have it use | ||
68 | your midi device. drvmidi should work without switches. | ||
69 | |||
70 | If something goes wrong please e-mail me. All comments and suggestions are | ||
71 | welcome. | ||
72 | |||
73 | Yaroslav Rosomakho (alons55@dialup.ptt.ru) | ||
74 | http://www.yar.opennet.ru | ||
75 | |||
76 | Last Updated: Feb 3 2001 | ||
diff --git a/Documentation/sound/oss/CMI8338 b/Documentation/sound/oss/CMI8338 deleted file mode 100644 index 387d058c3f95..000000000000 --- a/Documentation/sound/oss/CMI8338 +++ /dev/null | |||
@@ -1,85 +0,0 @@ | |||
1 | Audio driver for CM8338/CM8738 chips by Chen-Li Tien | ||
2 | |||
3 | |||
4 | HARDWARE SUPPORTED | ||
5 | ================================================================================ | ||
6 | C-Media CMI8338 | ||
7 | C-Media CMI8738 | ||
8 | On-board C-Media chips | ||
9 | |||
10 | |||
11 | STEPS TO BUILD DRIVER | ||
12 | ================================================================================ | ||
13 | |||
14 | 1. Backup the Config.in and Makefile in the sound driver directory | ||
15 | (/usr/src/linux/driver/sound). | ||
16 | The Configure.help provide help when you config driver in step | ||
17 | 4, please backup the original one (/usr/src/linux/Document) and | ||
18 | copy this file. | ||
19 | The cmpci is document for the driver in detail, please copy it | ||
20 | to /usr/src/linux/Document/sound so you can refer it. Backup if | ||
21 | there is already one. | ||
22 | |||
23 | 2. Extract the tar file by 'tar xvzf cmpci-xx.tar.gz' in the above | ||
24 | directory. | ||
25 | |||
26 | 3. Change directory to /usr/src/linux | ||
27 | |||
28 | 4. Config cm8338 driver by 'make menuconfig', 'make config' or | ||
29 | 'make xconfig' command. | ||
30 | |||
31 | 5. Please select Sound Card (CONFIG_SOUND=m) support and CMPCI | ||
32 | driver (CONFIG_SOUND_CMPCI=m) as modules. Resident mode not tested. | ||
33 | For driver option, please refer 'DRIVER PARAMETER' | ||
34 | |||
35 | 6. Compile the kernel if necessary. | ||
36 | |||
37 | 7. Compile the modules by 'make modules'. | ||
38 | |||
39 | 8. Install the modules by 'make modules_install' | ||
40 | |||
41 | |||
42 | INSTALL DRIVER | ||
43 | ================================================================================ | ||
44 | |||
45 | 1. Before first time to run the driver, create module dependency by | ||
46 | 'depmod -a' | ||
47 | |||
48 | 2. To install the driver manually, enter 'modprobe cmpci'. | ||
49 | |||
50 | 3. Driver installation for various distributions: | ||
51 | |||
52 | a. Slackware 4.0 | ||
53 | Add the 'modprobe cmpci' command in your /etc/rc.d/rc.modules | ||
54 | file.so you can start the driver automatically each time booting. | ||
55 | |||
56 | b. Caldera OpenLinux 2.2 | ||
57 | Use LISA to load the cmpci module. | ||
58 | |||
59 | c. RedHat 6.0 and S.u.S.E. 6.1 | ||
60 | Add following command in /etc/conf.modules: | ||
61 | |||
62 | alias sound cmpci | ||
63 | |||
64 | also visit http://www.cmedia.com.tw for installation instruction. | ||
65 | |||
66 | DRIVER PARAMETER | ||
67 | ================================================================================ | ||
68 | |||
69 | Some functions for the cm8738 can be configured in Kernel Configuration | ||
70 | or modules parameters. Set these parameters to 1 to enable. | ||
71 | |||
72 | mpuio: I/O ports base for MPU-401, 0 if disabled. | ||
73 | fmio: I/O ports base for OPL-3, 0 if disabled. | ||
74 | spdif_inverse:Inverse the S/PDIF-in signal, this depends on your | ||
75 | CD-ROM or DVD-ROM. | ||
76 | spdif_loop: Enable S/PDIF loop, this route S/PDIF-in to S/PDIF-out | ||
77 | directly. | ||
78 | speakers: Number of speakers used. | ||
79 | use_line_as_rear:Enable this if you want to use line-in as | ||
80 | rear-out. | ||
81 | use_line_as_bass:Enable this if you want to use line-in as | ||
82 | bass-out. | ||
83 | joystick: Enable joystick. You will need to install Linux joystick | ||
84 | driver. | ||
85 | |||
diff --git a/Documentation/sound/oss/INSTALL.awe b/Documentation/sound/oss/INSTALL.awe deleted file mode 100644 index 310f42ca1e83..000000000000 --- a/Documentation/sound/oss/INSTALL.awe +++ /dev/null | |||
@@ -1,134 +0,0 @@ | |||
1 | ================================================================ | ||
2 | INSTALLATION OF AWE32 SOUND DRIVER FOR LINUX | ||
3 | Takashi Iwai <iwai@ww.uni-erlangen.de> | ||
4 | ================================================================ | ||
5 | |||
6 | ---------------------------------------------------------------- | ||
7 | * Attention to SB-PnP Card Users | ||
8 | |||
9 | If you're using PnP cards, the initialization of PnP is required | ||
10 | before loading this driver. You have now three options: | ||
11 | 1. Use isapnptools. | ||
12 | 2. Use in-kernel isapnp support. | ||
13 | 3. Initialize PnP on DOS/Windows, then boot linux by loadlin. | ||
14 | In this document, only the case 1 case is treated. | ||
15 | |||
16 | ---------------------------------------------------------------- | ||
17 | * Installation on Red Hat 5.0 Sound Driver | ||
18 | |||
19 | Please use install-rh.sh under RedHat5.0 directory. | ||
20 | DO NOT USE install.sh below. | ||
21 | See INSTALL.RH for more details. | ||
22 | |||
23 | ---------------------------------------------------------------- | ||
24 | * Installation/Update by Shell Script | ||
25 | |||
26 | 1. Become root | ||
27 | |||
28 | % su | ||
29 | |||
30 | 2. If you have never configured the kernel tree yet, run make config | ||
31 | once (to make dependencies and symlinks). | ||
32 | |||
33 | # cd /usr/src/linux | ||
34 | # make xconfig | ||
35 | |||
36 | 3. Run install.sh script | ||
37 | |||
38 | # sh ./install.sh | ||
39 | |||
40 | 4. Configure your kernel | ||
41 | |||
42 | (for Linux 2.[01].x user) | ||
43 | # cd /usr/src/linux | ||
44 | # make xconfig (or make menuconfig) | ||
45 | |||
46 | (for Linux 1.2.x user) | ||
47 | # cd /usr/src/linux | ||
48 | # make config | ||
49 | |||
50 | Answer YES to both "lowlevel drivers" and "AWE32 wave synth" items | ||
51 | in Sound menu. ("lowlevel drivers" will appear only in 2.x | ||
52 | kernel.) | ||
53 | |||
54 | 5. Make your kernel (and modules), and install them as usual. | ||
55 | |||
56 | 5a. make kernel image | ||
57 | # make zImage | ||
58 | |||
59 | 5b. make modules and install them | ||
60 | # make modules && make modules_install | ||
61 | |||
62 | 5c. If you're using lilo, copy the kernel image and run lilo. | ||
63 | Otherwise, copy the kernel image to suitable directory or | ||
64 | media for your system. | ||
65 | |||
66 | 6. Reboot the kernel if necessary. | ||
67 | - If you updated only the modules, you don't have to reboot | ||
68 | the system. Just remove the old sound modules here. | ||
69 | in | ||
70 | # rmmod sound.o (linux-2.0 or OSS/Free) | ||
71 | # rmmod awe_wave.o (linux-2.1) | ||
72 | |||
73 | 7. If your AWE card is a PnP and not initialized yet, you'll have to | ||
74 | do it by isapnp tools. Otherwise, skip to 8. | ||
75 | |||
76 | This section described only a brief explanation. For more | ||
77 | details, please see the AWE64-Mini-HOWTO or isapnp tools FAQ. | ||
78 | |||
79 | 7a. If you have no isapnp.conf file, generate it by pnpdump. | ||
80 | Otherwise, skip to 7d. | ||
81 | # pnpdump > /etc/isapnp.conf | ||
82 | |||
83 | 7b. Edit isapnp.conf file. Comment out the appropriate | ||
84 | lines containing desirable I/O ports, DMA and IRQs. | ||
85 | Don't forget to enable (ACT Y) line. | ||
86 | |||
87 | 7c. Add two i/o ports (0xA20 and 0xE20) in WaveTable part. | ||
88 | ex) | ||
89 | (CONFIGURE CTL0048/58128 (LD 2 | ||
90 | # ANSI string -->WaveTable<-- | ||
91 | (IO 0 (BASE 0x0620)) | ||
92 | (IO 1 (BASE 0x0A20)) | ||
93 | (IO 2 (BASE 0x0E20)) | ||
94 | (ACT Y) | ||
95 | )) | ||
96 | |||
97 | 7d. Load the config file. | ||
98 | CAUTION: This will reset all PnP cards! | ||
99 | |||
100 | # isapnp /etc/isapnp.conf | ||
101 | |||
102 | 8. Load the sound module (if you configured it as a module): | ||
103 | |||
104 | for 2.0 kernel or OSS/Free monolithic module: | ||
105 | |||
106 | # modprobe sound.o | ||
107 | |||
108 | for 2.1 kernel: | ||
109 | |||
110 | # modprobe sound | ||
111 | # insmod uart401 | ||
112 | # insmod sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330 | ||
113 | (These values depend on your settings.) | ||
114 | # insmod awe_wave | ||
115 | (Be sure to load awe_wave after sb!) | ||
116 | |||
117 | See Documentation/sound/oss/AWE32 for | ||
118 | more details. | ||
119 | |||
120 | 9. (only for obsolete systems) If you don't have /dev/sequencer | ||
121 | device file, make it according to Readme.linux file on | ||
122 | /usr/src/linux/drivers/sound. (Run a shell script included in | ||
123 | that file). <-- This file no longer exists in the recent kernels! | ||
124 | |||
125 | 10. OK, load your own soundfont file, and enjoy MIDI! | ||
126 | |||
127 | % sfxload synthgm.sbk | ||
128 | % drvmidi foo.mid | ||
129 | |||
130 | 11. For more advanced use (eg. dynamic loading, virtual bank and | ||
131 | etc.), please read the awedrv FAQ or the instructions in awesfx | ||
132 | and awemidi packages. | ||
133 | |||
134 | Good luck! | ||
diff --git a/Documentation/sound/oss/MAD16 b/Documentation/sound/oss/MAD16 deleted file mode 100644 index 865dbd848742..000000000000 --- a/Documentation/sound/oss/MAD16 +++ /dev/null | |||
@@ -1,56 +0,0 @@ | |||
1 | (This recipe has been edited to update the configuration symbols, | ||
2 | and change over to modprobe.conf for 2.6) | ||
3 | |||
4 | From: Shaw Carruthers <shaw@shawc.demon.co.uk> | ||
5 | |||
6 | I have been using mad16 sound for some time now with no problems, current | ||
7 | kernel 2.1.89 | ||
8 | |||
9 | lsmod shows: | ||
10 | |||
11 | mad16 5176 0 | ||
12 | sb 22044 0 [mad16] | ||
13 | uart401 5576 0 [mad16 sb] | ||
14 | ad1848 14176 1 [mad16] | ||
15 | sound 61928 0 [mad16 sb uart401 ad1848] | ||
16 | |||
17 | .config has: | ||
18 | |||
19 | CONFIG_SOUND=m | ||
20 | CONFIG_SOUND_ADLIB=m | ||
21 | CONFIG_SOUND_MAD16=m | ||
22 | CONFIG_SOUND_YM3812=m | ||
23 | |||
24 | modprobe.conf has: | ||
25 | |||
26 | alias char-major-14-* mad16 | ||
27 | options sb mad16=1 | ||
28 | options mad16 io=0x530 irq=7 dma=0 dma16=1 && /usr/local/bin/aumix -w 15 -p 20 -m 0 -1 0 -2 0 -3 0 -i 0 | ||
29 | |||
30 | |||
31 | To get the built in mixer to work this needs to be: | ||
32 | |||
33 | options adlib_card io=0x388 # FM synthesizer | ||
34 | options sb mad16=1 | ||
35 | options mad16 io=0x530 irq=7 dma=0 dma16=1 mpu_io=816 mpu_irq=5 && /usr/local/bin/aumix -w 15 -p 20 -m 0 -1 0 -2 0 -3 0 -i 0 | ||
36 | |||
37 | The addition of the "mpu_io=816 mpu_irq=5" to the mad16 options line is | ||
38 | |||
39 | ------------------------------------------------------------------------ | ||
40 | The mad16 module in addition supports the following options: | ||
41 | |||
42 | option: meaning: default: | ||
43 | joystick=0,1 disabled, enabled disabled | ||
44 | cdtype=0x00,0x02,0x04, disabled, Sony CDU31A, disabled | ||
45 | 0x06,0x08,0x0a Mitsumi, Panasonic, | ||
46 | Secondary IDE, Primary IDE | ||
47 | cdport=0x340,0x320, 0x340 | ||
48 | 0x330,0x360 | ||
49 | cdirq=0,3,5,7,9,10,11 disabled, IRQ3, ... disabled | ||
50 | cddma=0,5,6,7 disabled, DMA5, ... DMA5 for Mitsumi or IDE | ||
51 | cddma=0,1,2,3 disabled, DMA1, ... DMA3 for Sony or Panasonic | ||
52 | opl4=0,1 OPL3, OPL4 OPL3 | ||
53 | |||
54 | for more details see linux/drivers/sound/mad16.c | ||
55 | |||
56 | Rui Sousa | ||
diff --git a/Documentation/sound/oss/Maestro b/Documentation/sound/oss/Maestro deleted file mode 100644 index 4a80eb3f8e00..000000000000 --- a/Documentation/sound/oss/Maestro +++ /dev/null | |||
@@ -1,123 +0,0 @@ | |||
1 | An OSS/Lite Driver for the ESS Maestro family of sound cards | ||
2 | |||
3 | Zach Brown, December 1999 | ||
4 | |||
5 | Driver Status and Availability | ||
6 | ------------------------------ | ||
7 | |||
8 | The most recent version of this driver will hopefully always be available at | ||
9 | http://www.zabbo.net/maestro/ | ||
10 | |||
11 | I will try and maintain the most recent stable version of the driver | ||
12 | in both the stable and development kernel lines. | ||
13 | |||
14 | ESS Maestro Chip Family | ||
15 | ----------------------- | ||
16 | |||
17 | There are 3 main variants of the ESS Maestro PCI sound chip. The first | ||
18 | is the Maestro 1. It was originally produced by Platform Tech as the | ||
19 | 'AGOGO'. It can be recognized by Platform Tech's PCI ID 0x1285 with | ||
20 | 0x0100 as the device ID. It was put on some sound boards and a few laptops. | ||
21 | ESS bought the design and cleaned it up as the Maestro 2. This starts | ||
22 | their marking with the ESS vendor ID 0x125D and the 'year' device IDs. | ||
23 | The Maestro 2 claims 0x1968 while the Maestro 2e has 0x1978. | ||
24 | |||
25 | The various families of Maestro are mostly identical as far as this | ||
26 | driver is concerned. It doesn't touch the DSP parts that differ (though | ||
27 | it could for FM synthesis). | ||
28 | |||
29 | Driver OSS Behavior | ||
30 | -------------------- | ||
31 | |||
32 | This OSS driver exports /dev/mixer and /dev/dsp to applications, which | ||
33 | mostly adhere to the OSS spec. This driver doesn't register itself | ||
34 | with /dev/sndstat, so don't expect information to appear there. | ||
35 | |||
36 | The /dev/dsp device exported behaves almost as expected. Playback is | ||
37 | supported in all the various lovely formats. 8/16bit stereo/mono from | ||
38 | 8khz to 48khz, and mmap()ing for playback behaves. Capture/recording | ||
39 | is limited due to oddities with the Maestro hardware. One can only | ||
40 | record in 16bit stereo. For recording the maestro uses non interleaved | ||
41 | stereo buffers so that mmap()ing the incoming data does not result in | ||
42 | a ring buffer of LRLR data. mmap()ing of the read buffers is therefore | ||
43 | disallowed until this can be cleaned up. | ||
44 | |||
45 | /dev/mixer is an interface to the AC'97 codec on the Maestro. It is | ||
46 | worth noting that there are a variety of AC'97s that can be wired to | ||
47 | the Maestro. Which is used is entirely up to the hardware implementor. | ||
48 | This should only be visible to the user by the presence, or lack, of | ||
49 | 'Bass' and 'Treble' sliders in the mixer. Not all AC'97s have them. | ||
50 | |||
51 | The driver doesn't support MIDI or FM playback at the moment. Typically | ||
52 | the Maestro is wired to an MPU MIDI chip, but some hardware implementations | ||
53 | don't. We need to assemble a white list of hardware implementations that | ||
54 | have MIDI wired properly before we can claim to support it safely. | ||
55 | |||
56 | Compiling and Installing | ||
57 | ------------------------ | ||
58 | |||
59 | With the drivers inclusion into the kernel, compiling and installing | ||
60 | is the same as most OSS/Lite modular sound drivers. Compilation | ||
61 | of the driver is enabled through the CONFIG_SOUND_MAESTRO variable | ||
62 | in the config system. | ||
63 | |||
64 | It may be modular or statically linked. If it is modular it should be | ||
65 | installed with the rest of the modules for the kernel on the system. | ||
66 | Typically this will be in /lib/modules/ somewhere. 'alias sound maestro' | ||
67 | should also be added to your module configs (typically /etc/conf.modules) | ||
68 | if you're using modular OSS/Lite sound and want to default to using a | ||
69 | maestro chip. | ||
70 | |||
71 | As this is a PCI device, the module does not need to be informed of | ||
72 | any IO or IRQ resources it should use, it devines these from the | ||
73 | system. Sometimes, on sucky PCs, the BIOS fails to allocated resources | ||
74 | for the maestro. This will result in a message like: | ||
75 | maestro: PCI subsystem reports IRQ 0, this might not be correct. | ||
76 | from the kernel. Should this happen the sound chip most likely will | ||
77 | not operate correctly. To solve this one has to dig through their BIOS | ||
78 | (typically entered by hitting a hot key at boot time) and figure out | ||
79 | what magic needs to happen so that the BIOS will reward the maestro with | ||
80 | an IRQ. This operation is incredibly system specific, so you're on your | ||
81 | own. Sometimes the magic lies in 'PNP Capable Operating System' settings. | ||
82 | |||
83 | There are very few options to the driver. One is 'debug' which will | ||
84 | tell the driver to print minimal debugging information as it runs. This | ||
85 | can be collected with 'dmesg' or through the klogd daemon. | ||
86 | |||
87 | The other, more interesting option, is 'dsps_order'. Typically at | ||
88 | install time the driver will only register one available /dev/dsp device | ||
89 | for its use. The 'dsps_order' module parameter allows for more devices | ||
90 | to be allocated, as a power of two. Up to 4 devices can be registered | ||
91 | ( dsps_order=2 ). These devices act as fully distinct units and use | ||
92 | separate channels in the maestro. | ||
93 | |||
94 | Power Management | ||
95 | ---------------- | ||
96 | |||
97 | As of version 0.14, this driver has a minimal understanding of PCI | ||
98 | Power Management. If it finds a valid power management capability | ||
99 | on the PCI device it will attempt to use the power management | ||
100 | functions of the maestro. It will only do this on Maestro 2Es and | ||
101 | only on machines that are known to function well. You can | ||
102 | force the use of power management by setting the 'use_pm' module | ||
103 | option to 1, or can disable it entirely by setting it to 0. | ||
104 | |||
105 | When using power management, the driver does a few things | ||
106 | differently. It will keep the chip in a lower power mode | ||
107 | when the module is inserted but /dev/dsp is not open. This | ||
108 | allows the mixer to function but turns off the clocks | ||
109 | on other parts of the chip. When /dev/dsp is opened the chip | ||
110 | is brought into full power mode, and brought back down | ||
111 | when it is closed. It also powers down the chip entirely | ||
112 | when the module is removed or the machine is shutdown. This | ||
113 | can have nonobvious consequences. CD audio may not work | ||
114 | after a power managing driver is removed. Also, software that | ||
115 | doesn't understand power management may not be able to talk | ||
116 | to the powered down chip until the machine goes through a hard | ||
117 | reboot to bring it back. | ||
118 | |||
119 | .. more details .. | ||
120 | ------------------ | ||
121 | |||
122 | drivers/sound/maestro.c contains comments that hopefully explain | ||
123 | the maestro implementation. | ||
diff --git a/Documentation/sound/oss/Maestro3 b/Documentation/sound/oss/Maestro3 deleted file mode 100644 index a113718e8034..000000000000 --- a/Documentation/sound/oss/Maestro3 +++ /dev/null | |||
@@ -1,92 +0,0 @@ | |||
1 | An OSS/Lite Driver for the ESS Maestro3 family of sound chips | ||
2 | |||
3 | Zach Brown, January 2001 | ||
4 | |||
5 | Driver Status and Availability | ||
6 | ------------------------------ | ||
7 | |||
8 | The most recent version of this driver will hopefully always be available at | ||
9 | http://www.zabbo.net/maestro3/ | ||
10 | |||
11 | I will try and maintain the most recent stable version of the driver | ||
12 | in both the stable and development kernel lines. | ||
13 | |||
14 | Historically I've sucked pretty hard at actually doing that, however. | ||
15 | |||
16 | ESS Maestro3 Chip Family | ||
17 | ----------------------- | ||
18 | |||
19 | The 'Maestro3' is much like the Maestro2 chip. The noted improvement | ||
20 | is the removal of the silicon in the '2' that did PCM mixing. All that | ||
21 | work is now done through a custom DSP called the ASSP, the Asynchronus | ||
22 | Specific Signal Processor. | ||
23 | |||
24 | The 'Allegro' is a baby version of the Maestro3. I'm not entirely clear | ||
25 | on the extent of the differences, but the driver supports them both :) | ||
26 | |||
27 | The 'Allegro' shows up as PCI ID 0x1988 and the Maestro3 as 0x1998, | ||
28 | both under ESS's vendor ID of 0x125D. The Maestro3 can also show up as | ||
29 | 0x199a when hardware strapping is used. | ||
30 | |||
31 | The chip can also act as a multi function device. The modem IDs follow | ||
32 | the audio multimedia device IDs. (so the modem part of an Allegro shows | ||
33 | up as 0x1989) | ||
34 | |||
35 | Driver OSS Behavior | ||
36 | -------------------- | ||
37 | |||
38 | This OSS driver exports /dev/mixer and /dev/dsp to applications, which | ||
39 | mostly adhere to the OSS spec. This driver doesn't register itself | ||
40 | with /dev/sndstat, so don't expect information to appear there. | ||
41 | |||
42 | The /dev/dsp device exported behaves as expected. Playback is | ||
43 | supported in all the various lovely formats. 8/16bit stereo/mono from | ||
44 | 8khz to 48khz, with both read()/write(), and mmap(). | ||
45 | |||
46 | /dev/mixer is an interface to the AC'97 codec on the Maestro3. It is | ||
47 | worth noting that there are a variety of AC'97s that can be wired to | ||
48 | the Maestro3. Which is used is entirely up to the hardware implementor. | ||
49 | This should only be visible to the user by the presence, or lack, of | ||
50 | 'Bass' and 'Treble' sliders in the mixer. Not all AC'97s have them. | ||
51 | The Allegro has an onchip AC'97. | ||
52 | |||
53 | The driver doesn't support MIDI or FM playback at the moment. | ||
54 | |||
55 | Compiling and Installing | ||
56 | ------------------------ | ||
57 | |||
58 | With the drivers inclusion into the kernel, compiling and installing | ||
59 | is the same as most OSS/Lite modular sound drivers. Compilation | ||
60 | of the driver is enabled through the CONFIG_SOUND_MAESTRO3 variable | ||
61 | in the config system. | ||
62 | |||
63 | It may be modular or statically linked. If it is modular it should be | ||
64 | installed with the rest of the modules for the kernel on the system. | ||
65 | Typically this will be in /lib/modules/ somewhere. 'alias sound-slot-0 | ||
66 | maestro3' should also be added to your module configs (typically | ||
67 | /etc/modprobe.conf) if you're using modular OSS/Lite sound and want to | ||
68 | default to using a maestro3 chip. | ||
69 | |||
70 | There are very few options to the driver. One is 'debug' which will | ||
71 | tell the driver to print minimal debugging information as it runs. This | ||
72 | can be collected with 'dmesg' or through the klogd daemon. | ||
73 | |||
74 | One is 'external_amp', which tells the driver to attempt to enable | ||
75 | an external amplifier. This defaults to '1', you can tell the driver | ||
76 | not to bother enabling such an amplifier by setting it to '0'. | ||
77 | |||
78 | And the last is 'gpio_pin', which tells the driver which GPIO pin number | ||
79 | the external amp uses (0-15), The Allegro uses 8 by default, all others 1. | ||
80 | If everything loads correctly and seems to be working but you get no sound, | ||
81 | try tweaking this value. | ||
82 | |||
83 | Systems known to need a different value | ||
84 | Panasonic ToughBook CF-72: gpio_pin=13 | ||
85 | |||
86 | Power Management | ||
87 | ---------------- | ||
88 | |||
89 | This driver has a minimal understanding of PCI Power Management. It will | ||
90 | try and power down the chip when the system is suspended, and power | ||
91 | it up with it is resumed. It will also try and power down the chip | ||
92 | when the machine is shut down. | ||
diff --git a/Documentation/sound/oss/NEWS b/Documentation/sound/oss/NEWS deleted file mode 100644 index a81e0ef72ae9..000000000000 --- a/Documentation/sound/oss/NEWS +++ /dev/null | |||
@@ -1,42 +0,0 @@ | |||
1 | Linux 2.4 Sound Changes | ||
2 | 2000-September-25 | ||
3 | Christoph Hellwig, <hch@infradead.org> | ||
4 | |||
5 | |||
6 | |||
7 | === isapnp support | ||
8 | |||
9 | The Linux 2.4 Kernel does have reliable in-kernel isapnp support. | ||
10 | Some drivers (sb.o, ad1816.o awe_wave.o) do now support automatically | ||
11 | detecting and configuring isapnp devices. | ||
12 | If you have a not yet supported isapnp soundcard, mail me the content | ||
13 | of '/proc/isapnp' on your system and some information about your card | ||
14 | and its driver(s) so I can try to get isapnp working for it. | ||
15 | |||
16 | |||
17 | |||
18 | === soundcard resources on kernel commandline | ||
19 | |||
20 | Before Linux 2.4 you had to specify the resources for sounddrivers | ||
21 | statically linked into the kernel at compile time | ||
22 | (in make config/menuconfig/xconfig). In Linux 2.4 the resources are | ||
23 | now specified at the boot-time kernel commandline (e.g. the lilo | ||
24 | 'append=' line or everything that's after the kernel name in grub). | ||
25 | Read the Configure.help entry for your card for the parameters. | ||
26 | |||
27 | |||
28 | === softoss is gone | ||
29 | |||
30 | In Linux 2.4 the softoss in-kernel software synthesizer is no more aviable. | ||
31 | Use a user space software synthesizer like timidity instead. | ||
32 | |||
33 | |||
34 | |||
35 | === /dev/sndstat and /proc/sound are gone | ||
36 | |||
37 | In older Linux versions those files exported some information about the | ||
38 | OSS/Free configuration to userspace. In Linux 2.3 they were removed because | ||
39 | they did not support the growing number of pci soundcards and there were | ||
40 | some general problems with this interface. | ||
41 | |||
42 | |||
diff --git a/Documentation/sound/oss/OPL3-SA b/Documentation/sound/oss/OPL3-SA deleted file mode 100644 index 66a91835d918..000000000000 --- a/Documentation/sound/oss/OPL3-SA +++ /dev/null | |||
@@ -1,52 +0,0 @@ | |||
1 | OPL3-SA1 sound driver (opl3sa.o) | ||
2 | |||
3 | --- | ||
4 | Note: This howto only describes how to setup the OPL3-SA1 chip; this info | ||
5 | does not apply to the SA2, SA3, or SA4. | ||
6 | --- | ||
7 | |||
8 | The Yamaha OPL3-SA1 sound chip is usually found built into motherboards, and | ||
9 | it's a decent little chip offering a WSS mode, a SB Pro emulation mode, MPU401 | ||
10 | and OPL3 FM Synth capabilities. | ||
11 | |||
12 | You can enable inclusion of the driver via CONFIG_SOUND_OPL3SA1=m, or | ||
13 | CONFIG_SOUND_OPL3SA1=y through 'make config/xconfig/menuconfig'. | ||
14 | |||
15 | You'll need to know all of the relevant info (irq, dma, and io port) for the | ||
16 | chip's WSS mode, since that is the mode the kernel sound driver uses, and of | ||
17 | course you'll also need to know about where the MPU401 and OPL3 ports and | ||
18 | IRQs are if you want to use those. | ||
19 | |||
20 | Here's the skinny on how to load it as a module: | ||
21 | |||
22 | modprobe opl3sa io=0x530 irq=11 dma=0 dma2=1 mpu_io=0x330 mpu_irq=5 | ||
23 | |||
24 | Module options in detail: | ||
25 | |||
26 | io: This is the WSS's port base. | ||
27 | irq: This is the WSS's IRQ. | ||
28 | dma: This is the WSS's DMA line. In my BIOS setup screen this was | ||
29 | listed as "WSS Play DMA" | ||
30 | dma2: This is the WSS's secondary DMA line. My BIOS calls it the | ||
31 | "WSS capture DMA" | ||
32 | |||
33 | mpu_io: This is the MPU401's port base. | ||
34 | mpu_irq: This is the MPU401's IRQ. | ||
35 | |||
36 | If you'd like to use the OPL3 FM Synthesizer, make sure you enable | ||
37 | CONFIG_SOUND_YM3812 (in 'make config'). That'll build the opl3.o module. | ||
38 | |||
39 | Then a simple 'insmod opl3 io=0x388', and you now have FM Synth. | ||
40 | |||
41 | You can also use the SoftOSS software synthesizer instead of the builtin OPL3. | ||
42 | Here's how: | ||
43 | |||
44 | Say 'y' or 'm' to "SoftOSS software wave table engine" in make config. | ||
45 | |||
46 | If you said yes, the software synth is available once you boot your new | ||
47 | kernel. | ||
48 | |||
49 | If you chose to build it as a module, just insmod the resulting softoss2.o | ||
50 | |||
51 | Questions? Comments? | ||
52 | <stiker@northlink.com> | ||
diff --git a/Documentation/sound/oss/README.awe b/Documentation/sound/oss/README.awe deleted file mode 100644 index 80054cd8fcde..000000000000 --- a/Documentation/sound/oss/README.awe +++ /dev/null | |||
@@ -1,218 +0,0 @@ | |||
1 | ================================================================ | ||
2 | AWE32 Sound Driver for Linux / FreeBSD | ||
3 | version 0.4.3; Nov. 1, 1998 | ||
4 | |||
5 | Takashi Iwai <iwai@ww.uni-erlangen.de> | ||
6 | ================================================================ | ||
7 | |||
8 | * GENERAL NOTES | ||
9 | |||
10 | This is a sound driver extension for SoundBlaster AWE32 and other | ||
11 | compatible cards (AWE32-PnP, SB32, SB32-PnP, AWE64 & etc) to enable | ||
12 | the wave synth operations. The driver is provided for Linux 1.2.x | ||
13 | and 2.[012].x kernels, as well as FreeBSD, on Intel x86 and DEC | ||
14 | Alpha systems. | ||
15 | |||
16 | This driver was written by Takashi Iwai <iwai@ww.uni-erlangen.de>, | ||
17 | and provided "as is". The original source (awedrv-0.4.3.tar.gz) and | ||
18 | binary packages are available on the following URL: | ||
19 | http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/ | ||
20 | Note that since the author is apart from this web site, the update is | ||
21 | not frequent now. | ||
22 | |||
23 | |||
24 | * NOTE TO LINUX USERS | ||
25 | |||
26 | To enable this driver on linux-2.[01].x kernels, you need turn on | ||
27 | "AWE32 synth" options in sound menu when configure your linux kernel | ||
28 | and modules. The precise installation procedure is described in the | ||
29 | AWE64-Mini-HOWTO and linux-kernel/Documetation/sound/AWE32. | ||
30 | |||
31 | If you're using PnP cards, the card must be initialized before loading | ||
32 | the sound driver. There're several options to do this: | ||
33 | - Initialize the card via ISA PnP tools, and load the sound module. | ||
34 | - Initialize the card on DOS, and load linux by loadlin.exe | ||
35 | - Use PnP kernel driver (for Linux-2.x.x) | ||
36 | The detailed instruction for the solution using isapnp tools is found | ||
37 | in many documents like above. A brief instruction is also included in | ||
38 | the installation document of this package. | ||
39 | For PnP driver project, please refer to the following URL: | ||
40 | http://www-jcr.lmh.ox.ac.uk/~pnp/ | ||
41 | |||
42 | |||
43 | * USING THE DRIVER | ||
44 | |||
45 | The awedrv has several different playing modes to realize easy channel | ||
46 | allocation for MIDI songs. To hear the exact sound quality, you need | ||
47 | to obtain the extended sequencer program, drvmidi or playmidi-2.5. | ||
48 | |||
49 | For playing MIDI files, you *MUST* load the soundfont file on the | ||
50 | driver previously by sfxload utility. Otherwise you'll here no sounds | ||
51 | at all! All the utilities and driver source packages are found in the | ||
52 | above URL. The sfxload program is included in the package | ||
53 | awesfx-0.4.3.tgz. Binary packages are available there, too. See the | ||
54 | instruction in each package for installation. | ||
55 | |||
56 | Loading a soundfont file is very simple. Just execute the command | ||
57 | |||
58 | % sfxload synthgm.sbk | ||
59 | |||
60 | Then, sfxload transfers the file "synthgm.sbk" to the driver. | ||
61 | Both SF1 and SF2 formats are accepted. | ||
62 | |||
63 | Now you can hear midi musics by a midi player. | ||
64 | |||
65 | % drvmidi foo.mid | ||
66 | |||
67 | If you run MIDI player after MOD player, you need to load soundfont | ||
68 | files again, since MOD player programs clear the previous loaded | ||
69 | samples by their own data. | ||
70 | |||
71 | If you have only 512kb on the sound card, I recommend to use dynamic | ||
72 | sample loading via -L option of drvmidi. 2MB GM/GS soundfont file is | ||
73 | available in most midi files. | ||
74 | |||
75 | % sfxload synthgm | ||
76 | % drvmidi -L 2mbgmgs foo.mid | ||
77 | |||
78 | This makes a big difference (believe me)! For more details, please | ||
79 | refer to the FAQ list which is available on the URL above. | ||
80 | |||
81 | The current chorus, reverb and equalizer status can be changed by | ||
82 | aweset utility program (included in awesfx package). Note that | ||
83 | some awedrv-native programs (like drvmidi and xmp) will change the | ||
84 | current settings by themselves. The aweset program is effective | ||
85 | only for other programs like playmidi. | ||
86 | |||
87 | Enjoy. | ||
88 | |||
89 | |||
90 | * COMPILE FLAGS | ||
91 | |||
92 | Compile conditions are defined in awe_config.h. | ||
93 | |||
94 | [Compatibility Conditions] | ||
95 | The following flags are defined automatically when using installation | ||
96 | shell script. | ||
97 | |||
98 | - AWE_MODULE_SUPPORT | ||
99 | indicates your Linux kernel supports module for each sound card | ||
100 | (in recent 2.1 or 2.2 kernels and unofficial patched 2.0 kernels | ||
101 | as distributed in the RH5.0 package). | ||
102 | This flag is automatically set when you're using 2.1.x kernels. | ||
103 | You can pass the base address and memory size via the following | ||
104 | module options, | ||
105 | io = base I/O port address (eg. 0x620) | ||
106 | memsize = DRAM size in kilobytes (eg. 512) | ||
107 | As default, AWE driver probes these values automatically. | ||
108 | |||
109 | |||
110 | [Hardware Conditions] | ||
111 | You DON'T have to define the following two values. | ||
112 | Define them only when the driver couldn't detect the card properly. | ||
113 | |||
114 | - AWE_DEFAULT_BASE_ADDR (default: not defined) | ||
115 | specifies the base port address of your AWE32 card. | ||
116 | 0 means to autodetect the address. | ||
117 | |||
118 | - AWE_DEFAULT_MEM_SIZE (default: not defined) | ||
119 | specifies the memory size of your AWE32 card in kilobytes. | ||
120 | -1 means to autodetect its size. | ||
121 | |||
122 | |||
123 | [Sample Table Size] | ||
124 | From ver.0.4.0, sample tables are allocated dynamically (except | ||
125 | Linux-1.2.x system), so you need NOT to touch these parameters. | ||
126 | Linux-1.2.x users may need to increase these values to appropriate size | ||
127 | if the sound card is equipped with more DRAM. | ||
128 | |||
129 | - AWE_MAX_SF_LISTS, AWE_MAX_SAMPLES, AWE_MAX_INFOS | ||
130 | |||
131 | |||
132 | [Other Conditions] | ||
133 | |||
134 | - AWE_ALWAYS_INIT_FM (default: not defined) | ||
135 | indicates the AWE driver always initialize FM passthrough even | ||
136 | without DRAM on board. Emu8000 chip has a restriction for playing | ||
137 | samples on DRAM that at least two channels must be occupied as | ||
138 | passthrough channels. | ||
139 | |||
140 | - AWE_DEBUG_ON (default: defined) | ||
141 | turns on debugging messages if defined. | ||
142 | |||
143 | - AWE_HAS_GUS_COMPATIBILITY (default: defined) | ||
144 | Enables GUS compatibility mode if defined, reading GUS patches and | ||
145 | GUS control commands. Define this option to use GMOD or other | ||
146 | GUS module players. | ||
147 | |||
148 | - CONFIG_AWE32_MIDIEMU (default: defined) | ||
149 | Adds a MIDI emulation device by Emu8000 wavetable. The emulation | ||
150 | device can be accessed as an external MIDI, and sends the MIDI | ||
151 | control codes directly. XG and GS sysex/NRPN are accepted. | ||
152 | No MIDI input is supported. | ||
153 | |||
154 | - CONFIG_AWE32_MIXER (default: not defined) | ||
155 | Adds a mixer device for AWE32 bass/treble equalizer control. | ||
156 | You can access this device using /dev/mixer?? (usually mixer01). | ||
157 | |||
158 | - AWE_USE_NEW_VOLUME_CALC (default: defined) | ||
159 | Use the new method to calculate the volume change as compatible | ||
160 | with DOS/Win drivers. This option can be toggled via aweset | ||
161 | program, or drvmidi player. | ||
162 | |||
163 | - AWE_CHECK_VTARGET (default: defined) | ||
164 | Check the current volume target value when searching for an | ||
165 | empty channel to allocate a new voice. This is experimentally | ||
166 | implemented in this version. (probably, this option doesn't | ||
167 | affect the sound quality severely...) | ||
168 | |||
169 | - AWE_ALLOW_SAMPLE_SHARING (default: defined) | ||
170 | Allow sample sharing for differently loaded patches. | ||
171 | This function is available only together with awesfx-0.4.3p3. | ||
172 | Note that this is still an experimental option. | ||
173 | |||
174 | - DEF_FM_CHORUS_DEPTH (default: 0x10) | ||
175 | The default strength to be sent to the chorus effect engine. | ||
176 | From 0 to 0xff. Larger numbers may often cause weird sounds. | ||
177 | |||
178 | - DEF_FM_REVERB_DEPTH (default: 0x10) | ||
179 | The default strength to be sent to the reverb effect engine. | ||
180 | From 0 to 0xff. Larger numbers may often cause weird sounds. | ||
181 | |||
182 | |||
183 | * ACKNOWLEDGMENTS | ||
184 | |||
185 | Thanks to Witold Jachimczyk (witek@xfactor.wpi.edu) for much advice | ||
186 | on programming of AWE32. Much code is brought from his AWE32-native | ||
187 | MOD player, ALMP. | ||
188 | The port of awedrv to FreeBSD is done by Randall Hopper | ||
189 | (rhh@ct.picker.com). | ||
190 | The new volume calculation routine was derived from Mark Weaver's | ||
191 | ADIP compatible routines. | ||
192 | I also thank linux-awe-ml members for their efforts | ||
193 | to reboot their system many times :-) | ||
194 | |||
195 | |||
196 | * TODO'S | ||
197 | |||
198 | - Complete DOS/Win compatibility | ||
199 | - DSP-like output | ||
200 | |||
201 | |||
202 | * COPYRIGHT | ||
203 | |||
204 | Copyright (C) 1996-1998 Takashi Iwai | ||
205 | |||
206 | This program is free software; you can redistribute it and/or modify | ||
207 | it under the terms of the GNU General Public License as published by | ||
208 | the Free Software Foundation; either version 2 of the License, or | ||
209 | (at your option) any later version. | ||
210 | |||
211 | This program is distributed in the hope that it will be useful, | ||
212 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
213 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
214 | GNU General Public License for more details. | ||
215 | |||
216 | You should have received a copy of the GNU General Public License | ||
217 | along with this program; if not, write to the Free Software | ||
218 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
diff --git a/Documentation/sound/oss/Wavefront b/Documentation/sound/oss/Wavefront deleted file mode 100644 index 16f57ea43052..000000000000 --- a/Documentation/sound/oss/Wavefront +++ /dev/null | |||
@@ -1,339 +0,0 @@ | |||
1 | An OSS/Free Driver for WaveFront soundcards | ||
2 | (Turtle Beach Maui, Tropez, Tropez Plus) | ||
3 | |||
4 | Paul Barton-Davis, July 1998 | ||
5 | |||
6 | VERSION 0.2.5 | ||
7 | |||
8 | Driver Status | ||
9 | ------------- | ||
10 | |||
11 | Requires: Kernel 2.1.106 or later (the driver is included with kernels | ||
12 | 2.1.109 and above) | ||
13 | |||
14 | As of 7/22/1998, this driver is currently in *BETA* state. This means | ||
15 | that it compiles and runs, and that I use it on my system (Linux | ||
16 | 2.1.106) with some reasonably demanding applications and uses. I | ||
17 | believe the code is approaching an initial "finished" state that | ||
18 | provides bug-free support for the Tropez Plus. | ||
19 | |||
20 | Please note that to date, the driver has ONLY been tested on a Tropez | ||
21 | Plus. I would very much like to hear (and help out) people with Tropez | ||
22 | and Maui cards, since I think the driver can support those cards as | ||
23 | well. | ||
24 | |||
25 | Finally, the driver has not been tested (or even compiled) as a static | ||
26 | (non-modular) part of the kernel. Alan Cox's good work in modularizing | ||
27 | OSS/Free for Linux makes this rather unnecessary. | ||
28 | |||
29 | Some Questions | ||
30 | -------------- | ||
31 | |||
32 | ********************************************************************** | ||
33 | 0) What does this driver do that the maui driver did not ? | ||
34 | ********************************************************************** | ||
35 | |||
36 | * can fully initialize a WaveFront card from cold boot - no DOS | ||
37 | utilities needed | ||
38 | * working patch/sample/program loading and unloading (the maui | ||
39 | driver didn't document how to make this work, and assumed | ||
40 | user-level preparation of the patch data for writing | ||
41 | to the board. ick.) | ||
42 | * full user-level access to all WaveFront commands | ||
43 | * for the Tropez Plus, (primitive) control of the YSS225 FX processor | ||
44 | * Virtual MIDI mode supported - 2 MIDI devices accessible via the | ||
45 | WaveFront's MPU401/UART emulation. One | ||
46 | accesses the WaveFront synth, the other accesses the | ||
47 | external MIDI connector. Full MIDI read/write semantics | ||
48 | for both devices. | ||
49 | * OSS-compliant /dev/sequencer interface for the WaveFront synth, | ||
50 | including native and GUS-format patch downloading. | ||
51 | * semi-intelligent patch management (prototypical at this point) | ||
52 | |||
53 | ********************************************************************** | ||
54 | 1) What to do about MIDI interfaces ? | ||
55 | ********************************************************************** | ||
56 | |||
57 | The Tropez Plus (and perhaps other WF cards) can in theory support up | ||
58 | to 2 physical MIDI interfaces. One of these is connected to the | ||
59 | ICS2115 chip (the WaveFront synth itself) and is controlled by | ||
60 | MPU/UART-401 emulation code running as part of the WaveFront OS. The | ||
61 | other is controlled by the CS4232 chip present on the board. However, | ||
62 | physical access to the CS4232 connector is difficult, and it is | ||
63 | unlikely (though not impossible) that you will want to use it. | ||
64 | |||
65 | An older version of this driver introduced an additional kernel config | ||
66 | variable which controlled whether or not the CS4232 MIDI interface was | ||
67 | configured. Because of Alan Cox's work on modularizing the sound | ||
68 | drivers, and now backporting them to 2.0.34 kernels, there seems to be | ||
69 | little reason to support "static" configuration variables, and so this | ||
70 | has been abandoned in favor of *only* module parameters. Specifying | ||
71 | "mpuio" and "mpuirq" for the cs4232 parameter will result in the | ||
72 | CS4232 MIDI interface being configured; leaving them unspecified will | ||
73 | leave it unconfigured (and thus unusable). | ||
74 | |||
75 | BTW, I have heard from one Tropez+ user that the CS4232 interface is | ||
76 | more reliable than the ICS2115 one. I have had no problems with the | ||
77 | latter, and I don't have the right cable to test the former one | ||
78 | out. Reports welcome. | ||
79 | |||
80 | ********************************************************************** | ||
81 | 2) Why does line XXX of the code look like this .... ? | ||
82 | ********************************************************************** | ||
83 | |||
84 | Either because it's not finished yet, or because you're a better coder | ||
85 | than I am, or because you don't understand some aspect of how the card | ||
86 | or the code works. | ||
87 | |||
88 | I absolutely welcome comments, criticisms and suggestions about the | ||
89 | design and implementation of the driver. | ||
90 | |||
91 | ********************************************************************** | ||
92 | 3) What files are included ? | ||
93 | ********************************************************************** | ||
94 | |||
95 | drivers/sound/README.wavefront -- this file | ||
96 | |||
97 | drivers/sound/wavefront.patch -- patches for the 2.1.106 sound drivers | ||
98 | needed to make the rest of this work | ||
99 | DO NOT USE IF YOU'VE APPLIED THEM | ||
100 | BEFORE, OR HAVE 2.1.109 OR ABOVE | ||
101 | |||
102 | drivers/sound/wavfront.c -- the driver | ||
103 | drivers/sound/ys225.h -- data declarations for FX config | ||
104 | drivers/sound/ys225.c -- data definitions for FX config | ||
105 | drivers/sound/wf_midi.c -- the "uart401" driver | ||
106 | to support virtual MIDI mode. | ||
107 | include/wavefront.h -- the header file | ||
108 | Documentation/sound/oss/Tropez+ -- short docs on configuration | ||
109 | |||
110 | ********************************************************************** | ||
111 | 4) How do I compile/install/use it ? | ||
112 | ********************************************************************** | ||
113 | |||
114 | PART ONE: install the source code into your sound driver directory | ||
115 | |||
116 | cd <top-of-your-2.1.106-code-base-e.g.-/usr/src/linux> | ||
117 | tar -zxvf <where-you-put/wavefront.tar.gz> | ||
118 | |||
119 | PART TWO: apply the patches | ||
120 | |||
121 | DO THIS ONLY IF YOU HAVE A KERNEL VERSION BELOW 2.1.109 | ||
122 | AND HAVE NOT ALREADY INSTALLED THE PATCH(ES). | ||
123 | |||
124 | cd drivers/sound | ||
125 | patch < wavefront.patch | ||
126 | |||
127 | PART THREE: configure your kernel | ||
128 | |||
129 | cd <top of your kernel tree> | ||
130 | make xconfig (or whichever config option you use) | ||
131 | |||
132 | - choose YES for Sound Support | ||
133 | - choose MODULE (M) for OSS Sound Modules | ||
134 | - choose MODULE(M) to YM3812/OPL3 support | ||
135 | - choose MODULE(M) for WaveFront support | ||
136 | - choose MODULE(M) for CS4232 support | ||
137 | |||
138 | - choose "N" for everything else (unless you have other | ||
139 | soundcards you want support for) | ||
140 | |||
141 | |||
142 | make boot | ||
143 | . | ||
144 | . | ||
145 | . | ||
146 | <whatever you normally do for a kernel install> | ||
147 | make modules | ||
148 | . | ||
149 | . | ||
150 | . | ||
151 | make modules_install | ||
152 | |||
153 | Here's my autoconf.h SOUND section: | ||
154 | |||
155 | /* | ||
156 | * Sound | ||
157 | */ | ||
158 | #define CONFIG_SOUND 1 | ||
159 | #undef CONFIG_SOUND_OSS | ||
160 | #define CONFIG_SOUND_OSS_MODULE 1 | ||
161 | #undef CONFIG_SOUND_PAS | ||
162 | #undef CONFIG_SOUND_SB | ||
163 | #undef CONFIG_SOUND_ADLIB | ||
164 | #undef CONFIG_SOUND_GUS | ||
165 | #undef CONFIG_SOUND_MPU401 | ||
166 | #undef CONFIG_SOUND_PSS | ||
167 | #undef CONFIG_SOUND_MSS | ||
168 | #undef CONFIG_SOUND_SSCAPE | ||
169 | #undef CONFIG_SOUND_TRIX | ||
170 | #undef CONFIG_SOUND_MAD16 | ||
171 | #undef CONFIG_SOUND_WAVEFRONT | ||
172 | #define CONFIG_SOUND_WAVEFRONT_MODULE 1 | ||
173 | #undef CONFIG_SOUND_CS4232 | ||
174 | #define CONFIG_SOUND_CS4232_MODULE 1 | ||
175 | #undef CONFIG_SOUND_MAUI | ||
176 | #undef CONFIG_SOUND_SGALAXY | ||
177 | #undef CONFIG_SOUND_OPL3SA1 | ||
178 | #undef CONFIG_SOUND_SOFTOSS | ||
179 | #undef CONFIG_SOUND_YM3812 | ||
180 | #define CONFIG_SOUND_YM3812_MODULE 1 | ||
181 | #undef CONFIG_SOUND_VMIDI | ||
182 | #undef CONFIG_SOUND_UART6850 | ||
183 | /* | ||
184 | * Additional low level sound drivers | ||
185 | */ | ||
186 | #undef CONFIG_LOWLEVEL_SOUND | ||
187 | |||
188 | ************************************************************ | ||
189 | 6) How do I configure my card ? | ||
190 | ************************************************************ | ||
191 | |||
192 | You need to edit /etc/modprobe.conf. Here's mine (edited to show the | ||
193 | relevant details): | ||
194 | |||
195 | # Sound system | ||
196 | alias char-major-14-* wavefront | ||
197 | alias synth0 wavefront | ||
198 | alias mixer0 cs4232 | ||
199 | alias audio0 cs4232 | ||
200 | install wavefront /sbin/modprobe cs4232 && /sbin/modprobe -i wavefront && /sbin/modprobe opl3 | ||
201 | options wavefront io=0x200 irq=9 | ||
202 | options cs4232 synthirq=9 synthio=0x200 io=0x530 irq=5 dma=1 dma2=0 | ||
203 | options opl3 io=0x388 | ||
204 | |||
205 | Things to note: | ||
206 | |||
207 | the wavefront options "io" and "irq" ***MUST*** match the "synthio" | ||
208 | and "synthirq" cs4232 options. | ||
209 | |||
210 | you can do without the opl3 module if you don't | ||
211 | want to use the OPL/[34] FM synth on the soundcard | ||
212 | |||
213 | the opl3 io parameter is conventionally not adjustable. | ||
214 | In theory, any not-in-use IO port address would work, but | ||
215 | just use 0x388 and stick with the crowd. | ||
216 | |||
217 | ********************************************************************** | ||
218 | 7) What about firmware ? | ||
219 | ********************************************************************** | ||
220 | |||
221 | Turtle Beach have not given me permission to distribute their firmware | ||
222 | for the ICS2115. However, if you have a WaveFront card, then you | ||
223 | almost certainly have the firmware, and if not, its freely available | ||
224 | on their website, at: | ||
225 | |||
226 | http://www.tbeach.com/tbs/downloads/scardsdown.htm#tropezplus | ||
227 | |||
228 | The file is called WFOS2001.MOT (for the Tropez+). | ||
229 | |||
230 | This driver, however, doesn't use the pure firmware as distributed, | ||
231 | but instead relies on a somewhat processed form of it. You can | ||
232 | generate this very easily. Following an idea from Andrew Veliath's | ||
233 | Pinnacle driver, the following flex program will generate the | ||
234 | processed version: | ||
235 | |||
236 | ---- cut here ------------------------- | ||
237 | %option main | ||
238 | %% | ||
239 | ^S[28].*\r$ printf ("%c%.*s", yyleng-1,yyleng-1,yytext); | ||
240 | <<EOF>> { fputc ('\0', stdout); return; } | ||
241 | \n {} | ||
242 | . {} | ||
243 | ---- cut here ------------------------- | ||
244 | |||
245 | To use it, put the above in file (say, ws.l) compile it like this: | ||
246 | |||
247 | shell> flex -ows.c ws.l | ||
248 | shell> cc -o ws ws.c | ||
249 | |||
250 | and then use it like this: | ||
251 | |||
252 | ws < my-copy-of-the-oswf.mot-file > /etc/sound/wavefront.os | ||
253 | |||
254 | If you put it somewhere else, you'll always have to use the wf_ospath | ||
255 | module parameter (see below) or alter the source code. | ||
256 | |||
257 | ********************************************************************** | ||
258 | 7) How do I get it working ? | ||
259 | ********************************************************************** | ||
260 | |||
261 | Optionally, you can reboot with the "new" kernel (even though the only | ||
262 | changes have really been made to a module). | ||
263 | |||
264 | Then, as root do: | ||
265 | |||
266 | modprobe wavefront | ||
267 | |||
268 | You should get something like this in /var/log/messages: | ||
269 | |||
270 | WaveFront: firmware 1.20 already loaded. | ||
271 | |||
272 | or | ||
273 | |||
274 | WaveFront: no response to firmware probe, assume raw. | ||
275 | |||
276 | then: | ||
277 | |||
278 | WaveFront: waiting for memory configuration ... | ||
279 | WaveFront: hardware version 1.64 | ||
280 | WaveFront: available DRAM 8191k | ||
281 | WaveFront: 332 samples used (266 real, 13 aliases, 53 multi), 180 empty | ||
282 | WaveFront: 128 programs slots in use | ||
283 | WaveFront: 256 patch slots filled, 142 in use | ||
284 | |||
285 | The whole process takes about 16 seconds, the longest waits being | ||
286 | after reporting the hardware version (during the firmware download), | ||
287 | and after reporting program status (during patch status inquiry). Its | ||
288 | shorter (about 10 secs) if the firmware is already loaded (i.e. only | ||
289 | warm reboots since the last firmware load). | ||
290 | |||
291 | The "available DRAM" line will vary depending on how much added RAM | ||
292 | your card has. Mine has 8MB. | ||
293 | |||
294 | To check basically functionality, use play(1) or splay(1) to send a | ||
295 | .WAV or other audio file through the audio portion. Then use playmidi | ||
296 | to play a General MIDI file. Try the "-D 0" to hear the | ||
297 | difference between sending MIDI to the WaveFront and using the OPL/3, | ||
298 | which is the default (I think ...). If you have an external synth(s) | ||
299 | hooked to the soundcard, you can use "-e" to route to the | ||
300 | external synth(s) (in theory, -D 1 should work as well, but I think | ||
301 | there is a bug in playmidi which prevents this from doing what it | ||
302 | should). | ||
303 | |||
304 | ********************************************************************** | ||
305 | 8) What are the module parameters ? | ||
306 | ********************************************************************** | ||
307 | |||
308 | Its best to read wavefront.c for this, but here is a summary: | ||
309 | |||
310 | integers: | ||
311 | wf_raw - if set, ignore apparent presence of firmware | ||
312 | loaded onto the ICS2115, reset the whole | ||
313 | board, and initialize it from scratch. (default = 0) | ||
314 | |||
315 | fx_raw - if set, always initialize the YSS225 processor | ||
316 | on the Tropez plus. (default = 1) | ||
317 | |||
318 | < The next 4 are basically for kernel hackers to allow | ||
319 | tweaking the driver for testing purposes. > | ||
320 | |||
321 | wait_usecs - loop timer used when waiting for | ||
322 | status conditions on the board. | ||
323 | The default is 150. | ||
324 | |||
325 | debug_default - debugging flags. See sound/wavefront.h | ||
326 | for WF_DEBUG_* values. Default is zero. | ||
327 | Setting this allows you to debug the | ||
328 | driver during module installation. | ||
329 | strings: | ||
330 | ospath - path to get to the pre-processed OS firmware. | ||
331 | (default: /etc/sound/wavefront.os) | ||
332 | |||
333 | ********************************************************************** | ||
334 | 9) Who should I contact if I have problems? | ||
335 | ********************************************************************** | ||
336 | |||
337 | Just me: Paul Barton-Davis <pbd@op.net> | ||
338 | |||
339 | |||
diff --git a/Documentation/sound/oss/es1370 b/Documentation/sound/oss/es1370 deleted file mode 100644 index 7b38b1a096a3..000000000000 --- a/Documentation/sound/oss/es1370 +++ /dev/null | |||
@@ -1,70 +0,0 @@ | |||
1 | /proc/sound, /dev/sndstat | ||
2 | ------------------------- | ||
3 | |||
4 | /proc/sound and /dev/sndstat is not supported by the | ||
5 | driver. To find out whether the driver succeeded loading, | ||
6 | check the kernel log (dmesg). | ||
7 | |||
8 | |||
9 | ALaw/uLaw sample formats | ||
10 | ------------------------ | ||
11 | |||
12 | This driver does not support the ALaw/uLaw sample formats. | ||
13 | ALaw is the default mode when opening a sound device | ||
14 | using OSS/Free. The reason for the lack of support is | ||
15 | that the hardware does not support these formats, and adding | ||
16 | conversion routines to the kernel would lead to very ugly | ||
17 | code in the presence of the mmap interface to the driver. | ||
18 | And since xquake uses mmap, mmap is considered important :-) | ||
19 | and no sane application uses ALaw/uLaw these days anyway. | ||
20 | In short, playing a Sun .au file as follows: | ||
21 | |||
22 | cat my_file.au > /dev/dsp | ||
23 | |||
24 | does not work. Instead, you may use the play script from | ||
25 | Chris Bagwell's sox-12.14 package (available from the URL | ||
26 | below) to play many different audio file formats. | ||
27 | The script automatically determines the audio format | ||
28 | and does do audio conversions if necessary. | ||
29 | http://home.sprynet.com/sprynet/cbagwell/projects.html | ||
30 | |||
31 | |||
32 | Blocking vs. nonblocking IO | ||
33 | --------------------------- | ||
34 | |||
35 | Unlike OSS/Free this driver honours the O_NONBLOCK file flag | ||
36 | not only during open, but also during read and write. | ||
37 | This is an effort to make the sound driver interface more | ||
38 | regular. Timidity has problems with this; a patch | ||
39 | is available from http://www.ife.ee.ethz.ch/~sailer/linux/pciaudio.html. | ||
40 | (Timidity patched will also run on OSS/Free). | ||
41 | |||
42 | |||
43 | MIDI UART | ||
44 | --------- | ||
45 | |||
46 | The driver supports a simple MIDI UART interface, with | ||
47 | no ioctl's supported. | ||
48 | |||
49 | |||
50 | MIDI synthesizer | ||
51 | ---------------- | ||
52 | |||
53 | This soundcard does not have any hardware MIDI synthesizer; | ||
54 | MIDI synthesis has to be done in software. To allow this | ||
55 | the driver/soundcard supports two PCM (/dev/dsp) interfaces. | ||
56 | The second one goes to the mixer "synth" setting and supports | ||
57 | only a limited set of sampling rates (44100, 22050, 11025, 5512). | ||
58 | By setting lineout to 1 on the driver command line | ||
59 | (eg. insmod es1370 lineout=1) it is even possible on some | ||
60 | cards to convert the LINEIN jack into a second LINEOUT jack, thus | ||
61 | making it possible to output four independent audio channels! | ||
62 | |||
63 | There is a freely available software package that allows | ||
64 | MIDI file playback on this soundcard called Timidity. | ||
65 | See http://www.cgs.fi/~tt/timidity/. | ||
66 | |||
67 | |||
68 | |||
69 | Thomas Sailer | ||
70 | t.sailer@alumni.ethz.ch | ||
diff --git a/Documentation/sound/oss/rme96xx b/Documentation/sound/oss/rme96xx deleted file mode 100644 index 87d7b7b65fa1..000000000000 --- a/Documentation/sound/oss/rme96xx +++ /dev/null | |||
@@ -1,767 +0,0 @@ | |||
1 | Beta release of the rme96xx (driver for RME 96XX cards like the | ||
2 | "Hammerfall" and the "Hammerfall light") | ||
3 | |||
4 | Important: The driver module has to be installed on a freshly rebooted system, | ||
5 | otherwise the driver might not be able to acquire its buffers. | ||
6 | |||
7 | features: | ||
8 | |||
9 | - OSS programming interface (i.e. runs with standard OSS soundsoftware) | ||
10 | - OSS/Multichannel interface (OSS multichannel is done by just aquiring | ||
11 | more than 2 channels). The driver does not use more than one device | ||
12 | ( yet .. this feature may be implemented later ) | ||
13 | - more than one RME card supported | ||
14 | |||
15 | The driver uses a specific multichannel interface, which I will document | ||
16 | when the driver gets stable. (take a look at the defines in rme96xx.h, | ||
17 | which adds blocked multichannel formats i.e instead of | ||
18 | lrlrlrlr --> llllrrrr etc. | ||
19 | |||
20 | Use the "rmectrl" programm to look at the status of the card .. | ||
21 | or use xrmectrl, a GUI interface for the ctrl program. | ||
22 | |||
23 | What you can do with the rmectrl program is to set the stereo device for | ||
24 | OSS emulation (e.g. if you use SPDIF out). | ||
25 | |||
26 | You do: | ||
27 | |||
28 | ./ctrl offset 24 24 | ||
29 | |||
30 | which makes the stereo device use channels 25 and 26. | ||
31 | |||
32 | Guenter Geiger <geiger@epy.co.at> | ||
33 | |||
34 | copy the first part of the attached source code into rmectrl.c | ||
35 | and the second part into xrmectrl (or get the program from | ||
36 | http://gige.xdv.org/pages/soft/pages/rme) | ||
37 | |||
38 | to compile: gcc -o rmectrl rmectrl.c | ||
39 | ------------------------------ snip ------------------------------------ | ||
40 | |||
41 | #include <stdio.h> | ||
42 | #include <sys/types.h> | ||
43 | #include <sys/stat.h> | ||
44 | #include <sys/ioctl.h> | ||
45 | #include <fcntl.h> | ||
46 | #include <linux/soundcard.h> | ||
47 | #include <math.h> | ||
48 | #include <unistd.h> | ||
49 | #include <stdlib.h> | ||
50 | #include "rme96xx.h" | ||
51 | |||
52 | /* | ||
53 | remctrl.c | ||
54 | (C) 2000 Guenter Geiger <geiger@debian.org> | ||
55 | HP20020201 - Heiko Purnhagen <purnhage@tnt.uni-hannover.de> | ||
56 | */ | ||
57 | |||
58 | /* # define DEVICE_NAME "/dev/mixer" */ | ||
59 | # define DEVICE_NAME "/dev/mixer1" | ||
60 | |||
61 | |||
62 | void usage(void) | ||
63 | { | ||
64 | fprintf(stderr,"usage: rmectrl [/dev/mixer<n>] [command [options]]\n\n"); | ||
65 | fprintf(stderr,"where command is one of:\n"); | ||
66 | fprintf(stderr," help show this help\n"); | ||
67 | fprintf(stderr," status show status bits\n"); | ||
68 | fprintf(stderr," control show control bits\n"); | ||
69 | fprintf(stderr," mix show mixer/offset status\n"); | ||
70 | fprintf(stderr," master <n> set sync master\n"); | ||
71 | fprintf(stderr," pro <n> set spdif out pro\n"); | ||
72 | fprintf(stderr," emphasis <n> set spdif out emphasis\n"); | ||
73 | fprintf(stderr," dolby <n> set spdif out no audio\n"); | ||
74 | fprintf(stderr," optout <n> set spdif out optical\n"); | ||
75 | fprintf(stderr," wordclock <n> set sync wordclock\n"); | ||
76 | fprintf(stderr," spdifin <n> set spdif in (0=optical,1=coax,2=intern)\n"); | ||
77 | fprintf(stderr," syncref <n> set sync source (0=ADAT1,1=ADAT2,2=ADAT3,3=SPDIF)\n"); | ||
78 | fprintf(stderr," adat1cd <n> set ADAT1 on internal CD\n"); | ||
79 | fprintf(stderr," offset <devnr> <in> <out> set dev (0..3) offset (0..25)\n"); | ||
80 | exit(-1); | ||
81 | } | ||
82 | |||
83 | |||
84 | int main(int argc, char* argv[]) | ||
85 | { | ||
86 | int cards; | ||
87 | int ret; | ||
88 | int i; | ||
89 | double ft; | ||
90 | int fd, fdwr; | ||
91 | int param,orig; | ||
92 | rme_status_t stat; | ||
93 | rme_ctrl_t ctrl; | ||
94 | char *device; | ||
95 | int argidx; | ||
96 | |||
97 | if (argc < 2) | ||
98 | usage(); | ||
99 | |||
100 | if (*argv[1]=='/') { | ||
101 | device = argv[1]; | ||
102 | argidx = 2; | ||
103 | } | ||
104 | else { | ||
105 | device = DEVICE_NAME; | ||
106 | argidx = 1; | ||
107 | } | ||
108 | |||
109 | fprintf(stdout,"mixer device %s\n",device); | ||
110 | if ((fd = open(device,O_RDONLY)) < 0) { | ||
111 | fprintf(stdout,"opening device failed\n"); | ||
112 | exit(-1); | ||
113 | } | ||
114 | |||
115 | if ((fdwr = open(device,O_WRONLY)) < 0) { | ||
116 | fprintf(stdout,"opening device failed\n"); | ||
117 | exit(-1); | ||
118 | } | ||
119 | |||
120 | if (argc < argidx+1) | ||
121 | usage(); | ||
122 | |||
123 | if (!strcmp(argv[argidx],"help")) | ||
124 | usage(); | ||
125 | if (!strcmp(argv[argidx],"-h")) | ||
126 | usage(); | ||
127 | if (!strcmp(argv[argidx],"--help")) | ||
128 | usage(); | ||
129 | |||
130 | if (!strcmp(argv[argidx],"status")) { | ||
131 | ioctl(fd,SOUND_MIXER_PRIVATE2,&stat); | ||
132 | fprintf(stdout,"stat.irq %d\n",stat.irq); | ||
133 | fprintf(stdout,"stat.lockmask %d\n",stat.lockmask); | ||
134 | fprintf(stdout,"stat.sr48 %d\n",stat.sr48); | ||
135 | fprintf(stdout,"stat.wclock %d\n",stat.wclock); | ||
136 | fprintf(stdout,"stat.bufpoint %d\n",stat.bufpoint); | ||
137 | fprintf(stdout,"stat.syncmask %d\n",stat.syncmask); | ||
138 | fprintf(stdout,"stat.doublespeed %d\n",stat.doublespeed); | ||
139 | fprintf(stdout,"stat.tc_busy %d\n",stat.tc_busy); | ||
140 | fprintf(stdout,"stat.tc_out %d\n",stat.tc_out); | ||
141 | fprintf(stdout,"stat.crystalrate %d (0=64k 3=96k 4=88.2k 5=48k 6=44.1k 7=32k)\n",stat.crystalrate); | ||
142 | fprintf(stdout,"stat.spdif_error %d\n",stat.spdif_error); | ||
143 | fprintf(stdout,"stat.bufid %d\n",stat.bufid); | ||
144 | fprintf(stdout,"stat.tc_valid %d\n",stat.tc_valid); | ||
145 | exit (0); | ||
146 | } | ||
147 | |||
148 | if (!strcmp(argv[argidx],"control")) { | ||
149 | ioctl(fd,SOUND_MIXER_PRIVATE3,&ctrl); | ||
150 | fprintf(stdout,"ctrl.start %d\n",ctrl.start); | ||
151 | fprintf(stdout,"ctrl.latency %d (0=64 .. 7=8192)\n",ctrl.latency); | ||
152 | fprintf(stdout,"ctrl.master %d\n",ctrl.master); | ||
153 | fprintf(stdout,"ctrl.ie %d\n",ctrl.ie); | ||
154 | fprintf(stdout,"ctrl.sr48 %d\n",ctrl.sr48); | ||
155 | fprintf(stdout,"ctrl.spare %d\n",ctrl.spare); | ||
156 | fprintf(stdout,"ctrl.doublespeed %d\n",ctrl.doublespeed); | ||
157 | fprintf(stdout,"ctrl.pro %d\n",ctrl.pro); | ||
158 | fprintf(stdout,"ctrl.emphasis %d\n",ctrl.emphasis); | ||
159 | fprintf(stdout,"ctrl.dolby %d\n",ctrl.dolby); | ||
160 | fprintf(stdout,"ctrl.opt_out %d\n",ctrl.opt_out); | ||
161 | fprintf(stdout,"ctrl.wordclock %d\n",ctrl.wordclock); | ||
162 | fprintf(stdout,"ctrl.spdif_in %d (0=optical,1=coax,2=intern)\n",ctrl.spdif_in); | ||
163 | fprintf(stdout,"ctrl.sync_ref %d (0=ADAT1,1=ADAT2,2=ADAT3,3=SPDIF)\n",ctrl.sync_ref); | ||
164 | fprintf(stdout,"ctrl.spdif_reset %d\n",ctrl.spdif_reset); | ||
165 | fprintf(stdout,"ctrl.spdif_select %d\n",ctrl.spdif_select); | ||
166 | fprintf(stdout,"ctrl.spdif_clock %d\n",ctrl.spdif_clock); | ||
167 | fprintf(stdout,"ctrl.spdif_write %d\n",ctrl.spdif_write); | ||
168 | fprintf(stdout,"ctrl.adat1_cd %d\n",ctrl.adat1_cd); | ||
169 | exit (0); | ||
170 | } | ||
171 | |||
172 | if (!strcmp(argv[argidx],"mix")) { | ||
173 | rme_mixer mix; | ||
174 | int i; | ||
175 | |||
176 | for (i=0; i<4; i++) { | ||
177 | mix.devnr = i; | ||
178 | ioctl(fd,SOUND_MIXER_PRIVATE1,&mix); | ||
179 | if (mix.devnr == i) { | ||
180 | fprintf(stdout,"devnr %d\n",mix.devnr); | ||
181 | fprintf(stdout,"mix.i_offset %2d (0-25)\n",mix.i_offset); | ||
182 | fprintf(stdout,"mix.o_offset %2d (0-25)\n",mix.o_offset); | ||
183 | } | ||
184 | } | ||
185 | exit (0); | ||
186 | } | ||
187 | |||
188 | /* the control flags */ | ||
189 | |||
190 | if (argc < argidx+2) | ||
191 | usage(); | ||
192 | |||
193 | if (!strcmp(argv[argidx],"master")) { | ||
194 | int val = atoi(argv[argidx+1]); | ||
195 | ioctl(fd,SOUND_MIXER_PRIVATE3,&ctrl); | ||
196 | printf("master = %d\n",val); | ||
197 | ctrl.master = val; | ||
198 | ioctl(fdwr,SOUND_MIXER_PRIVATE3,&ctrl); | ||
199 | exit (0); | ||
200 | } | ||
201 | |||
202 | if (!strcmp(argv[argidx],"pro")) { | ||
203 | int val = atoi(argv[argidx+1]); | ||
204 | ioctl(fd,SOUND_MIXER_PRIVATE3,&ctrl); | ||
205 | printf("pro = %d\n",val); | ||
206 | ctrl.pro = val; | ||
207 | ioctl(fdwr,SOUND_MIXER_PRIVATE3,&ctrl); | ||
208 | exit (0); | ||
209 | } | ||
210 | |||
211 | if (!strcmp(argv[argidx],"emphasis")) { | ||
212 | int val = atoi(argv[argidx+1]); | ||
213 | ioctl(fd,SOUND_MIXER_PRIVATE3,&ctrl); | ||
214 | printf("emphasis = %d\n",val); | ||
215 | ctrl.emphasis = val; | ||
216 | ioctl(fdwr,SOUND_MIXER_PRIVATE3,&ctrl); | ||
217 | exit (0); | ||
218 | } | ||
219 | |||
220 | if (!strcmp(argv[argidx],"dolby")) { | ||
221 | int val = atoi(argv[argidx+1]); | ||
222 | ioctl(fd,SOUND_MIXER_PRIVATE3,&ctrl); | ||
223 | printf("dolby = %d\n",val); | ||
224 | ctrl.dolby = val; | ||
225 | ioctl(fdwr,SOUND_MIXER_PRIVATE3,&ctrl); | ||
226 | exit (0); | ||
227 | } | ||
228 | |||
229 | if (!strcmp(argv[argidx],"optout")) { | ||
230 | int val = atoi(argv[argidx+1]); | ||
231 | ioctl(fd,SOUND_MIXER_PRIVATE3,&ctrl); | ||
232 | printf("optout = %d\n",val); | ||
233 | ctrl.opt_out = val; | ||
234 | ioctl(fdwr,SOUND_MIXER_PRIVATE3,&ctrl); | ||
235 | exit (0); | ||
236 | } | ||
237 | |||
238 | if (!strcmp(argv[argidx],"wordclock")) { | ||
239 | int val = atoi(argv[argidx+1]); | ||
240 | ioctl(fd,SOUND_MIXER_PRIVATE3,&ctrl); | ||
241 | printf("wordclock = %d\n",val); | ||
242 | ctrl.wordclock = val; | ||
243 | ioctl(fdwr,SOUND_MIXER_PRIVATE3,&ctrl); | ||
244 | exit (0); | ||
245 | } | ||
246 | |||
247 | if (!strcmp(argv[argidx],"spdifin")) { | ||
248 | int val = atoi(argv[argidx+1]); | ||
249 | ioctl(fd,SOUND_MIXER_PRIVATE3,&ctrl); | ||
250 | printf("spdifin = %d\n",val); | ||
251 | ctrl.spdif_in = val; | ||
252 | ioctl(fdwr,SOUND_MIXER_PRIVATE3,&ctrl); | ||
253 | exit (0); | ||
254 | } | ||
255 | |||
256 | if (!strcmp(argv[argidx],"syncref")) { | ||
257 | int val = atoi(argv[argidx+1]); | ||
258 | ioctl(fd,SOUND_MIXER_PRIVATE3,&ctrl); | ||
259 | printf("syncref = %d\n",val); | ||
260 | ctrl.sync_ref = val; | ||
261 | ioctl(fdwr,SOUND_MIXER_PRIVATE3,&ctrl); | ||
262 | exit (0); | ||
263 | } | ||
264 | |||
265 | if (!strcmp(argv[argidx],"adat1cd")) { | ||
266 | int val = atoi(argv[argidx+1]); | ||
267 | ioctl(fd,SOUND_MIXER_PRIVATE3,&ctrl); | ||
268 | printf("adat1cd = %d\n",val); | ||
269 | ctrl.adat1_cd = val; | ||
270 | ioctl(fdwr,SOUND_MIXER_PRIVATE3,&ctrl); | ||
271 | exit (0); | ||
272 | } | ||
273 | |||
274 | /* setting offset */ | ||
275 | |||
276 | if (argc < argidx+4) | ||
277 | usage(); | ||
278 | |||
279 | if (!strcmp(argv[argidx],"offset")) { | ||
280 | rme_mixer mix; | ||
281 | |||
282 | mix.devnr = atoi(argv[argidx+1]); | ||
283 | |||
284 | mix.i_offset = atoi(argv[argidx+2]); | ||
285 | mix.o_offset = atoi(argv[argidx+3]); | ||
286 | ioctl(fdwr,SOUND_MIXER_PRIVATE1,&mix); | ||
287 | fprintf(stdout,"devnr %d\n",mix.devnr); | ||
288 | fprintf(stdout,"mix.i_offset to %d\n",mix.i_offset); | ||
289 | fprintf(stdout,"mix.o_offset to %d\n",mix.o_offset); | ||
290 | exit (0); | ||
291 | } | ||
292 | |||
293 | usage(); | ||
294 | exit (0); /* to avoid warning */ | ||
295 | } | ||
296 | |||
297 | |||
298 | ---------------------------- <snip> -------------------------------- | ||
299 | #!/usr/bin/wish | ||
300 | |||
301 | # xrmectrl | ||
302 | # (C) 2000 Guenter Geiger <geiger@debian.org> | ||
303 | # HP20020201 - Heiko Purnhagen <purnhage@tnt.uni-hannover.de> | ||
304 | |||
305 | #set defaults "-relief ridged" | ||
306 | set CTRLPROG "./rmectrl" | ||
307 | if {$argc} { | ||
308 | set CTRLPROG "$CTRLPROG $argv" | ||
309 | } | ||
310 | puts "CTRLPROG $CTRLPROG" | ||
311 | |||
312 | frame .butts | ||
313 | button .butts.exit -text "Exit" -command "exit" -relief ridge | ||
314 | #button .butts.state -text "State" -command "get_all" | ||
315 | |||
316 | pack .butts.exit -side left | ||
317 | pack .butts -side bottom | ||
318 | |||
319 | |||
320 | # | ||
321 | # STATUS | ||
322 | # | ||
323 | |||
324 | frame .status | ||
325 | |||
326 | # Sampling Rate | ||
327 | |||
328 | frame .status.sr | ||
329 | label .status.sr.text -text "Sampling Rate" -justify left | ||
330 | radiobutton .status.sr.441 -selectcolor red -text "44.1 kHz" -width 10 -anchor nw -variable srate -value 44100 -font times | ||
331 | radiobutton .status.sr.480 -selectcolor red -text "48 kHz" -width 10 -anchor nw -variable srate -value 48000 -font times | ||
332 | radiobutton .status.sr.882 -selectcolor red -text "88.2 kHz" -width 10 -anchor nw -variable srate -value 88200 -font times | ||
333 | radiobutton .status.sr.960 -selectcolor red -text "96 kHz" -width 10 -anchor nw -variable srate -value 96000 -font times | ||
334 | |||
335 | pack .status.sr.text .status.sr.441 .status.sr.480 .status.sr.882 .status.sr.960 -side top -padx 3 | ||
336 | |||
337 | # Lock | ||
338 | |||
339 | frame .status.lock | ||
340 | label .status.lock.text -text "Lock" -justify left | ||
341 | checkbutton .status.lock.adat1 -selectcolor red -text "ADAT1" -anchor nw -width 10 -variable adatlock1 -font times | ||
342 | checkbutton .status.lock.adat2 -selectcolor red -text "ADAT2" -anchor nw -width 10 -variable adatlock2 -font times | ||
343 | checkbutton .status.lock.adat3 -selectcolor red -text "ADAT3" -anchor nw -width 10 -variable adatlock3 -font times | ||
344 | |||
345 | pack .status.lock.text .status.lock.adat1 .status.lock.adat2 .status.lock.adat3 -side top -padx 3 | ||
346 | |||
347 | # Sync | ||
348 | |||
349 | frame .status.sync | ||
350 | label .status.sync.text -text "Sync" -justify left | ||
351 | checkbutton .status.sync.adat1 -selectcolor red -text "ADAT1" -anchor nw -width 10 -variable adatsync1 -font times | ||
352 | checkbutton .status.sync.adat2 -selectcolor red -text "ADAT2" -anchor nw -width 10 -variable adatsync2 -font times | ||
353 | checkbutton .status.sync.adat3 -selectcolor red -text "ADAT3" -anchor nw -width 10 -variable adatsync3 -font times | ||
354 | |||
355 | pack .status.sync.text .status.sync.adat1 .status.sync.adat2 .status.sync.adat3 -side top -padx 3 | ||
356 | |||
357 | # Timecode | ||
358 | |||
359 | frame .status.tc | ||
360 | label .status.tc.text -text "Timecode" -justify left | ||
361 | checkbutton .status.tc.busy -selectcolor red -text "busy" -anchor nw -width 10 -variable tcbusy -font times | ||
362 | checkbutton .status.tc.out -selectcolor red -text "out" -anchor nw -width 10 -variable tcout -font times | ||
363 | checkbutton .status.tc.valid -selectcolor red -text "valid" -anchor nw -width 10 -variable tcvalid -font times | ||
364 | |||
365 | pack .status.tc.text .status.tc.busy .status.tc.out .status.tc.valid -side top -padx 3 | ||
366 | |||
367 | # SPDIF In | ||
368 | |||
369 | frame .status.spdif | ||
370 | label .status.spdif.text -text "SPDIF In" -justify left | ||
371 | label .status.spdif.sr -text "--.- kHz" -anchor n -width 10 -font times | ||
372 | checkbutton .status.spdif.error -selectcolor red -text "Input Lock" -anchor nw -width 10 -variable spdiferr -font times | ||
373 | |||
374 | pack .status.spdif.text .status.spdif.sr .status.spdif.error -side top -padx 3 | ||
375 | |||
376 | pack .status.sr .status.lock .status.sync .status.tc .status.spdif -side left -fill x -anchor n -expand 1 | ||
377 | |||
378 | |||
379 | # | ||
380 | # CONTROL | ||
381 | # | ||
382 | |||
383 | proc setprof {} { | ||
384 | global CTRLPROG | ||
385 | global spprof | ||
386 | exec $CTRLPROG pro $spprof | ||
387 | } | ||
388 | |||
389 | proc setemph {} { | ||
390 | global CTRLPROG | ||
391 | global spemph | ||
392 | exec $CTRLPROG emphasis $spemph | ||
393 | } | ||
394 | |||
395 | proc setnoaud {} { | ||
396 | global CTRLPROG | ||
397 | global spnoaud | ||
398 | exec $CTRLPROG dolby $spnoaud | ||
399 | } | ||
400 | |||
401 | proc setoptical {} { | ||
402 | global CTRLPROG | ||
403 | global spoptical | ||
404 | exec $CTRLPROG optout $spoptical | ||
405 | } | ||
406 | |||
407 | proc setspdifin {} { | ||
408 | global CTRLPROG | ||
409 | global spdifin | ||
410 | exec $CTRLPROG spdifin [expr $spdifin - 1] | ||
411 | } | ||
412 | |||
413 | proc setsyncsource {} { | ||
414 | global CTRLPROG | ||
415 | global syncsource | ||
416 | exec $CTRLPROG syncref [expr $syncsource -1] | ||
417 | } | ||
418 | |||
419 | |||
420 | proc setmaster {} { | ||
421 | global CTRLPROG | ||
422 | global master | ||
423 | exec $CTRLPROG master $master | ||
424 | } | ||
425 | |||
426 | proc setwordclock {} { | ||
427 | global CTRLPROG | ||
428 | global wordclock | ||
429 | exec $CTRLPROG wordclock $wordclock | ||
430 | } | ||
431 | |||
432 | proc setadat1cd {} { | ||
433 | global CTRLPROG | ||
434 | global adat1cd | ||
435 | exec $CTRLPROG adat1cd $adat1cd | ||
436 | } | ||
437 | |||
438 | |||
439 | frame .control | ||
440 | |||
441 | # SPDIF In & SPDIF Out | ||
442 | |||
443 | |||
444 | frame .control.spdif | ||
445 | |||
446 | frame .control.spdif.in | ||
447 | label .control.spdif.in.text -text "SPDIF In" -justify left | ||
448 | radiobutton .control.spdif.in.input1 -text "Optical" -anchor nw -width 13 -variable spdifin -value 1 -command setspdifin -selectcolor blue -font times | ||
449 | radiobutton .control.spdif.in.input2 -text "Coaxial" -anchor nw -width 13 -variable spdifin -value 2 -command setspdifin -selectcolor blue -font times | ||
450 | radiobutton .control.spdif.in.input3 -text "Intern " -anchor nw -width 13 -variable spdifin -command setspdifin -value 3 -selectcolor blue -font times | ||
451 | |||
452 | checkbutton .control.spdif.in.adat1cd -text "ADAT1 Intern" -anchor nw -width 13 -variable adat1cd -command setadat1cd -selectcolor blue -font times | ||
453 | |||
454 | pack .control.spdif.in.text .control.spdif.in.input1 .control.spdif.in.input2 .control.spdif.in.input3 .control.spdif.in.adat1cd | ||
455 | |||
456 | label .control.spdif.space | ||
457 | |||
458 | frame .control.spdif.out | ||
459 | label .control.spdif.out.text -text "SPDIF Out" -justify left | ||
460 | checkbutton .control.spdif.out.pro -text "Professional" -anchor nw -width 13 -variable spprof -command setprof -selectcolor blue -font times | ||
461 | checkbutton .control.spdif.out.emphasis -text "Emphasis" -anchor nw -width 13 -variable spemph -command setemph -selectcolor blue -font times | ||
462 | checkbutton .control.spdif.out.dolby -text "NoAudio" -anchor nw -width 13 -variable spnoaud -command setnoaud -selectcolor blue -font times | ||
463 | checkbutton .control.spdif.out.optout -text "Optical Out" -anchor nw -width 13 -variable spoptical -command setoptical -selectcolor blue -font times | ||
464 | |||
465 | pack .control.spdif.out.optout .control.spdif.out.dolby .control.spdif.out.emphasis .control.spdif.out.pro .control.spdif.out.text -side bottom | ||
466 | |||
467 | pack .control.spdif.in .control.spdif.space .control.spdif.out -side top -fill y -padx 3 -expand 1 | ||
468 | |||
469 | # Sync Mode & Sync Source | ||
470 | |||
471 | frame .control.sync | ||
472 | frame .control.sync.mode | ||
473 | label .control.sync.mode.text -text "Sync Mode" -justify left | ||
474 | checkbutton .control.sync.mode.master -text "Master" -anchor nw -width 13 -variable master -command setmaster -selectcolor blue -font times | ||
475 | checkbutton .control.sync.mode.wc -text "Wordclock" -anchor nw -width 13 -variable wordclock -command setwordclock -selectcolor blue -font times | ||
476 | |||
477 | pack .control.sync.mode.text .control.sync.mode.master .control.sync.mode.wc | ||
478 | |||
479 | label .control.sync.space | ||
480 | |||
481 | frame .control.sync.src | ||
482 | label .control.sync.src.text -text "Sync Source" -justify left | ||
483 | radiobutton .control.sync.src.input1 -text "ADAT1" -anchor nw -width 13 -variable syncsource -value 1 -command setsyncsource -selectcolor blue -font times | ||
484 | radiobutton .control.sync.src.input2 -text "ADAT2" -anchor nw -width 13 -variable syncsource -value 2 -command setsyncsource -selectcolor blue -font times | ||
485 | radiobutton .control.sync.src.input3 -text "ADAT3" -anchor nw -width 13 -variable syncsource -command setsyncsource -value 3 -selectcolor blue -font times | ||
486 | radiobutton .control.sync.src.input4 -text "SPDIF" -anchor nw -width 13 -variable syncsource -command setsyncsource -value 4 -selectcolor blue -font times | ||
487 | |||
488 | pack .control.sync.src.input4 .control.sync.src.input3 .control.sync.src.input2 .control.sync.src.input1 .control.sync.src.text -side bottom | ||
489 | |||
490 | pack .control.sync.mode .control.sync.space .control.sync.src -side top -fill y -padx 3 -expand 1 | ||
491 | |||
492 | label .control.space -text "" -width 10 | ||
493 | |||
494 | # Buffer Size | ||
495 | |||
496 | frame .control.buf | ||
497 | label .control.buf.text -text "Buffer Size (Latency)" -justify left | ||
498 | radiobutton .control.buf.b1 -selectcolor red -text "64 (1.5 ms)" -width 13 -anchor nw -variable ssrate -value 1 -font times | ||
499 | radiobutton .control.buf.b2 -selectcolor red -text "128 (3 ms)" -width 13 -anchor nw -variable ssrate -value 2 -font times | ||
500 | radiobutton .control.buf.b3 -selectcolor red -text "256 (6 ms)" -width 13 -anchor nw -variable ssrate -value 3 -font times | ||
501 | radiobutton .control.buf.b4 -selectcolor red -text "512 (12 ms)" -width 13 -anchor nw -variable ssrate -value 4 -font times | ||
502 | radiobutton .control.buf.b5 -selectcolor red -text "1024 (23 ms)" -width 13 -anchor nw -variable ssrate -value 5 -font times | ||
503 | radiobutton .control.buf.b6 -selectcolor red -text "2048 (46 ms)" -width 13 -anchor nw -variable ssrate -value 6 -font times | ||
504 | radiobutton .control.buf.b7 -selectcolor red -text "4096 (93 ms)" -width 13 -anchor nw -variable ssrate -value 7 -font times | ||
505 | radiobutton .control.buf.b8 -selectcolor red -text "8192 (186 ms)" -width 13 -anchor nw -variable ssrate -value 8 -font times | ||
506 | |||
507 | pack .control.buf.text .control.buf.b1 .control.buf.b2 .control.buf.b3 .control.buf.b4 .control.buf.b5 .control.buf.b6 .control.buf.b7 .control.buf.b8 -side top -padx 3 | ||
508 | |||
509 | # Offset | ||
510 | |||
511 | frame .control.offset | ||
512 | |||
513 | frame .control.offset.in | ||
514 | label .control.offset.in.text -text "Offset In" -justify left | ||
515 | label .control.offset.in.off0 -text "dev\#0: -" -anchor nw -width 10 -font times | ||
516 | label .control.offset.in.off1 -text "dev\#1: -" -anchor nw -width 10 -font times | ||
517 | label .control.offset.in.off2 -text "dev\#2: -" -anchor nw -width 10 -font times | ||
518 | label .control.offset.in.off3 -text "dev\#3: -" -anchor nw -width 10 -font times | ||
519 | |||
520 | pack .control.offset.in.text .control.offset.in.off0 .control.offset.in.off1 .control.offset.in.off2 .control.offset.in.off3 | ||
521 | |||
522 | label .control.offset.space | ||
523 | |||
524 | frame .control.offset.out | ||
525 | label .control.offset.out.text -text "Offset Out" -justify left | ||
526 | label .control.offset.out.off0 -text "dev\#0: -" -anchor nw -width 10 -font times | ||
527 | label .control.offset.out.off1 -text "dev\#1: -" -anchor nw -width 10 -font times | ||
528 | label .control.offset.out.off2 -text "dev\#2: -" -anchor nw -width 10 -font times | ||
529 | label .control.offset.out.off3 -text "dev\#3: -" -anchor nw -width 10 -font times | ||
530 | |||
531 | pack .control.offset.out.off3 .control.offset.out.off2 .control.offset.out.off1 .control.offset.out.off0 .control.offset.out.text -side bottom | ||
532 | |||
533 | pack .control.offset.in .control.offset.space .control.offset.out -side top -fill y -padx 3 -expand 1 | ||
534 | |||
535 | |||
536 | pack .control.spdif .control.sync .control.space .control.buf .control.offset -side left -fill both -anchor n -expand 1 | ||
537 | |||
538 | |||
539 | label .statustext -text Status -justify center -relief ridge | ||
540 | label .controltext -text Control -justify center -relief ridge | ||
541 | |||
542 | label .statusspace | ||
543 | label .controlspace | ||
544 | |||
545 | pack .statustext .status .statusspace .controltext .control .controlspace -side top -anchor nw -fill both -expand 1 | ||
546 | |||
547 | |||
548 | proc get_bit {output sstr} { | ||
549 | set idx1 [string last [concat $sstr 1] $output] | ||
550 | set idx1 [expr $idx1 != -1] | ||
551 | return $idx1 | ||
552 | } | ||
553 | |||
554 | proc get_val {output sstr} { | ||
555 | set val [string wordend $output [string last $sstr $output]] | ||
556 | set val [string range $output $val [expr $val+1]] | ||
557 | return $val | ||
558 | } | ||
559 | |||
560 | proc get_val2 {output sstr} { | ||
561 | set val [string wordend $output [string first $sstr $output]] | ||
562 | set val [string range $output $val [expr $val+2]] | ||
563 | return $val | ||
564 | } | ||
565 | |||
566 | proc get_control {} { | ||
567 | global spprof | ||
568 | global spemph | ||
569 | global spnoaud | ||
570 | global spoptical | ||
571 | global spdifin | ||
572 | global ssrate | ||
573 | global master | ||
574 | global wordclock | ||
575 | global syncsource | ||
576 | global CTRLPROG | ||
577 | |||
578 | set f [open "| $CTRLPROG control" r+] | ||
579 | set ooo [read $f 1000] | ||
580 | close $f | ||
581 | # puts $ooo | ||
582 | |||
583 | set spprof [ get_bit $ooo "pro"] | ||
584 | set spemph [ get_bit $ooo "emphasis"] | ||
585 | set spnoaud [ get_bit $ooo "dolby"] | ||
586 | set spoptical [ get_bit $ooo "opt_out"] | ||
587 | set spdifin [ expr [ get_val $ooo "spdif_in"] + 1] | ||
588 | set ssrate [ expr [ get_val $ooo "latency"] + 1] | ||
589 | set master [ expr [ get_val $ooo "master"]] | ||
590 | set wordclock [ expr [ get_val $ooo "wordclock"]] | ||
591 | set syncsource [ expr [ get_val $ooo "sync_ref"] + 1] | ||
592 | } | ||
593 | |||
594 | proc get_status {} { | ||
595 | global srate | ||
596 | global ctrlcom | ||
597 | |||
598 | global adatlock1 | ||
599 | global adatlock2 | ||
600 | global adatlock3 | ||
601 | |||
602 | global adatsync1 | ||
603 | global adatsync2 | ||
604 | global adatsync3 | ||
605 | |||
606 | global tcbusy | ||
607 | global tcout | ||
608 | global tcvalid | ||
609 | |||
610 | global spdiferr | ||
611 | global crystal | ||
612 | global .status.spdif.text | ||
613 | global CTRLPROG | ||
614 | |||
615 | |||
616 | set f [open "| $CTRLPROG status" r+] | ||
617 | set ooo [read $f 1000] | ||
618 | close $f | ||
619 | # puts $ooo | ||
620 | |||
621 | # samplerate | ||
622 | |||
623 | set idx1 [string last "sr48 1" $ooo] | ||
624 | set idx2 [string last "doublespeed 1" $ooo] | ||
625 | if {$idx1 >= 0} { | ||
626 | set fact1 48000 | ||
627 | } else { | ||
628 | set fact1 44100 | ||
629 | } | ||
630 | |||
631 | if {$idx2 >= 0} { | ||
632 | set fact2 2 | ||
633 | } else { | ||
634 | set fact2 1 | ||
635 | } | ||
636 | set srate [expr $fact1 * $fact2] | ||
637 | # ADAT lock | ||
638 | |||
639 | set val [get_val $ooo lockmask] | ||
640 | set adatlock1 0 | ||
641 | set adatlock2 0 | ||
642 | set adatlock3 0 | ||
643 | if {[expr $val & 1]} { | ||
644 | set adatlock3 1 | ||
645 | } | ||
646 | if {[expr $val & 2]} { | ||
647 | set adatlock2 1 | ||
648 | } | ||
649 | if {[expr $val & 4]} { | ||
650 | set adatlock1 1 | ||
651 | } | ||
652 | |||
653 | # ADAT sync | ||
654 | set val [get_val $ooo syncmask] | ||
655 | set adatsync1 0 | ||
656 | set adatsync2 0 | ||
657 | set adatsync3 0 | ||
658 | |||
659 | if {[expr $val & 1]} { | ||
660 | set adatsync3 1 | ||
661 | } | ||
662 | if {[expr $val & 2]} { | ||
663 | set adatsync2 1 | ||
664 | } | ||
665 | if {[expr $val & 4]} { | ||
666 | set adatsync1 1 | ||
667 | } | ||
668 | |||
669 | # TC busy | ||
670 | |||
671 | set tcbusy [get_bit $ooo "busy"] | ||
672 | set tcout [get_bit $ooo "out"] | ||
673 | set tcvalid [get_bit $ooo "valid"] | ||
674 | set spdiferr [expr [get_bit $ooo "spdif_error"] == 0] | ||
675 | |||
676 | # 000=64kHz, 100=88.2kHz, 011=96kHz | ||
677 | # 111=32kHz, 110=44.1kHz, 101=48kHz | ||
678 | |||
679 | set val [get_val $ooo crystalrate] | ||
680 | |||
681 | set crystal "--.- kHz" | ||
682 | if {$val == 0} { | ||
683 | set crystal "64 kHz" | ||
684 | } | ||
685 | if {$val == 4} { | ||
686 | set crystal "88.2 kHz" | ||
687 | } | ||
688 | if {$val == 3} { | ||
689 | set crystal "96 kHz" | ||
690 | } | ||
691 | if {$val == 7} { | ||
692 | set crystal "32 kHz" | ||
693 | } | ||
694 | if {$val == 6} { | ||
695 | set crystal "44.1 kHz" | ||
696 | } | ||
697 | if {$val == 5} { | ||
698 | set crystal "48 kHz" | ||
699 | } | ||
700 | .status.spdif.sr configure -text $crystal | ||
701 | } | ||
702 | |||
703 | proc get_offset {} { | ||
704 | global inoffset | ||
705 | global outoffset | ||
706 | global CTRLPROG | ||
707 | |||
708 | set f [open "| $CTRLPROG mix" r+] | ||
709 | set ooo [read $f 1000] | ||
710 | close $f | ||
711 | # puts $ooo | ||
712 | |||
713 | if { [string match "*devnr*" $ooo] } { | ||
714 | set ooo [string range $ooo [string wordend $ooo [string first devnr $ooo]] end] | ||
715 | set val [get_val2 $ooo i_offset] | ||
716 | .control.offset.in.off0 configure -text "dev\#0: $val" | ||
717 | set val [get_val2 $ooo o_offset] | ||
718 | .control.offset.out.off0 configure -text "dev\#0: $val" | ||
719 | } else { | ||
720 | .control.offset.in.off0 configure -text "dev\#0: -" | ||
721 | .control.offset.out.off0 configure -text "dev\#0: -" | ||
722 | } | ||
723 | if { [string match "*devnr*" $ooo] } { | ||
724 | set ooo [string range $ooo [string wordend $ooo [string first devnr $ooo]] end] | ||
725 | set val [get_val2 $ooo i_offset] | ||
726 | .control.offset.in.off1 configure -text "dev\#1: $val" | ||
727 | set val [get_val2 $ooo o_offset] | ||
728 | .control.offset.out.off1 configure -text "dev\#1: $val" | ||
729 | } else { | ||
730 | .control.offset.in.off1 configure -text "dev\#1: -" | ||
731 | .control.offset.out.off1 configure -text "dev\#1: -" | ||
732 | } | ||
733 | if { [string match "*devnr*" $ooo] } { | ||
734 | set ooo [string range $ooo [string wordend $ooo [string first devnr $ooo]] end] | ||
735 | set val [get_val2 $ooo i_offset] | ||
736 | .control.offset.in.off2 configure -text "dev\#2: $val" | ||
737 | set val [get_val2 $ooo o_offset] | ||
738 | .control.offset.out.off2 configure -text "dev\#2: $val" | ||
739 | } else { | ||
740 | .control.offset.in.off2 configure -text "dev\#2: -" | ||
741 | .control.offset.out.off2 configure -text "dev\#2: -" | ||
742 | } | ||
743 | if { [string match "*devnr*" $ooo] } { | ||
744 | set ooo [string range $ooo [string wordend $ooo [string first devnr $ooo]] end] | ||
745 | set val [get_val2 $ooo i_offset] | ||
746 | .control.offset.in.off3 configure -text "dev\#3: $val" | ||
747 | set val [get_val2 $ooo o_offset] | ||
748 | .control.offset.out.off3 configure -text "dev\#3: $val" | ||
749 | } else { | ||
750 | .control.offset.in.off3 configure -text "dev\#3: -" | ||
751 | .control.offset.out.off3 configure -text "dev\#3: -" | ||
752 | } | ||
753 | } | ||
754 | |||
755 | |||
756 | proc get_all {} { | ||
757 | get_status | ||
758 | get_control | ||
759 | get_offset | ||
760 | } | ||
761 | |||
762 | # main | ||
763 | while {1} { | ||
764 | after 200 | ||
765 | get_all | ||
766 | update | ||
767 | } | ||
diff --git a/Documentation/sound/oss/solo1 b/Documentation/sound/oss/solo1 deleted file mode 100644 index 6f53d407d027..000000000000 --- a/Documentation/sound/oss/solo1 +++ /dev/null | |||
@@ -1,70 +0,0 @@ | |||
1 | Recording | ||
2 | --------- | ||
3 | |||
4 | Recording does not work on the author's card, but there | ||
5 | is at least one report of it working on later silicon. | ||
6 | The chip behaves differently than described in the data sheet, | ||
7 | likely due to a chip bug. Working around this would require | ||
8 | the help of ESS (for example by publishing an errata sheet), | ||
9 | but ESS has not done so so far. | ||
10 | |||
11 | Also, the chip only supports 24 bit addresses for recording, | ||
12 | which means it cannot work on some Alpha mainboards. | ||
13 | |||
14 | |||
15 | /proc/sound, /dev/sndstat | ||
16 | ------------------------- | ||
17 | |||
18 | /proc/sound and /dev/sndstat is not supported by the | ||
19 | driver. To find out whether the driver succeeded loading, | ||
20 | check the kernel log (dmesg). | ||
21 | |||
22 | |||
23 | ALaw/uLaw sample formats | ||
24 | ------------------------ | ||
25 | |||
26 | This driver does not support the ALaw/uLaw sample formats. | ||
27 | ALaw is the default mode when opening a sound device | ||
28 | using OSS/Free. The reason for the lack of support is | ||
29 | that the hardware does not support these formats, and adding | ||
30 | conversion routines to the kernel would lead to very ugly | ||
31 | code in the presence of the mmap interface to the driver. | ||
32 | And since xquake uses mmap, mmap is considered important :-) | ||
33 | and no sane application uses ALaw/uLaw these days anyway. | ||
34 | In short, playing a Sun .au file as follows: | ||
35 | |||
36 | cat my_file.au > /dev/dsp | ||
37 | |||
38 | does not work. Instead, you may use the play script from | ||
39 | Chris Bagwell's sox-12.14 package (or later, available from the URL | ||
40 | below) to play many different audio file formats. | ||
41 | The script automatically determines the audio format | ||
42 | and does do audio conversions if necessary. | ||
43 | http://home.sprynet.com/sprynet/cbagwell/projects.html | ||
44 | |||
45 | |||
46 | Blocking vs. nonblocking IO | ||
47 | --------------------------- | ||
48 | |||
49 | Unlike OSS/Free this driver honours the O_NONBLOCK file flag | ||
50 | not only during open, but also during read and write. | ||
51 | This is an effort to make the sound driver interface more | ||
52 | regular. Timidity has problems with this; a patch | ||
53 | is available from http://www.ife.ee.ethz.ch/~sailer/linux/pciaudio.html. | ||
54 | (Timidity patched will also run on OSS/Free). | ||
55 | |||
56 | |||
57 | MIDI UART | ||
58 | --------- | ||
59 | |||
60 | The driver supports a simple MIDI UART interface, with | ||
61 | no ioctl's supported. | ||
62 | |||
63 | |||
64 | MIDI synthesizer | ||
65 | ---------------- | ||
66 | |||
67 | The card has an OPL compatible FM synthesizer. | ||
68 | |||
69 | Thomas Sailer | ||
70 | t.sailer@alumni.ethz.ch | ||
diff --git a/Documentation/sound/oss/sonicvibes b/Documentation/sound/oss/sonicvibes deleted file mode 100644 index 84dee2e0b37d..000000000000 --- a/Documentation/sound/oss/sonicvibes +++ /dev/null | |||
@@ -1,81 +0,0 @@ | |||
1 | /proc/sound, /dev/sndstat | ||
2 | ------------------------- | ||
3 | |||
4 | /proc/sound and /dev/sndstat is not supported by the | ||
5 | driver. To find out whether the driver succeeded loading, | ||
6 | check the kernel log (dmesg). | ||
7 | |||
8 | |||
9 | ALaw/uLaw sample formats | ||
10 | ------------------------ | ||
11 | |||
12 | This driver does not support the ALaw/uLaw sample formats. | ||
13 | ALaw is the default mode when opening a sound device | ||
14 | using OSS/Free. The reason for the lack of support is | ||
15 | that the hardware does not support these formats, and adding | ||
16 | conversion routines to the kernel would lead to very ugly | ||
17 | code in the presence of the mmap interface to the driver. | ||
18 | And since xquake uses mmap, mmap is considered important :-) | ||
19 | and no sane application uses ALaw/uLaw these days anyway. | ||
20 | In short, playing a Sun .au file as follows: | ||
21 | |||
22 | cat my_file.au > /dev/dsp | ||
23 | |||
24 | does not work. Instead, you may use the play script from | ||
25 | Chris Bagwell's sox-12.14 package (available from the URL | ||
26 | below) to play many different audio file formats. | ||
27 | The script automatically determines the audio format | ||
28 | and does do audio conversions if necessary. | ||
29 | http://home.sprynet.com/sprynet/cbagwell/projects.html | ||
30 | |||
31 | |||
32 | Blocking vs. nonblocking IO | ||
33 | --------------------------- | ||
34 | |||
35 | Unlike OSS/Free this driver honours the O_NONBLOCK file flag | ||
36 | not only during open, but also during read and write. | ||
37 | This is an effort to make the sound driver interface more | ||
38 | regular. Timidity has problems with this; a patch | ||
39 | is available from http://www.ife.ee.ethz.ch/~sailer/linux/pciaudio.html. | ||
40 | (Timidity patched will also run on OSS/Free). | ||
41 | |||
42 | |||
43 | MIDI UART | ||
44 | --------- | ||
45 | |||
46 | The driver supports a simple MIDI UART interface, with | ||
47 | no ioctl's supported. | ||
48 | |||
49 | |||
50 | MIDI synthesizer | ||
51 | ---------------- | ||
52 | |||
53 | The card both has an OPL compatible FM synthesizer as well as | ||
54 | a wavetable synthesizer. | ||
55 | |||
56 | I haven't managed so far to get the OPL synth running. | ||
57 | |||
58 | Using the wavetable synthesizer requires allocating | ||
59 | 1-4MB of physically contiguous memory, which isn't possible | ||
60 | currently on Linux without ugly hacks like the bigphysarea | ||
61 | patch. Therefore, the driver doesn't support wavetable | ||
62 | synthesis. | ||
63 | |||
64 | |||
65 | No support from S3 | ||
66 | ------------------ | ||
67 | |||
68 | I do not get any support from S3. Therefore, the driver | ||
69 | still has many problems. For example, although the manual | ||
70 | states that the chip should be able to access the sample | ||
71 | buffer anywhere in 32bit address space, I haven't managed to | ||
72 | get it working with buffers above 16M. Therefore, the card | ||
73 | has the same disadvantages as ISA soundcards. | ||
74 | |||
75 | Given that the card is also very noisy, and if you haven't | ||
76 | already bought it, you should strongly opt for one of the | ||
77 | comparatively priced Ensoniq products. | ||
78 | |||
79 | |||
80 | Thomas Sailer | ||
81 | t.sailer@alumni.ethz.ch | ||
diff --git a/Documentation/sound/oss/ultrasound b/Documentation/sound/oss/ultrasound index 32cd50478b36..eed331c738a3 100644 --- a/Documentation/sound/oss/ultrasound +++ b/Documentation/sound/oss/ultrasound | |||
@@ -19,7 +19,7 @@ db16 ??? | |||
19 | no_wave_dma option | 19 | no_wave_dma option |
20 | 20 | ||
21 | This option defaults to a value of 0, which allows the Ultrasound wavetable | 21 | This option defaults to a value of 0, which allows the Ultrasound wavetable |
22 | DSP to use DMA for for playback and downloading samples. This is the same | 22 | DSP to use DMA for playback and downloading samples. This is the same |
23 | as the old behaviour. If set to 1, no DMA is needed for downloading samples, | 23 | as the old behaviour. If set to 1, no DMA is needed for downloading samples, |
24 | and allows owners of a GUS MAX to make use of simultaneous digital audio | 24 | and allows owners of a GUS MAX to make use of simultaneous digital audio |
25 | (/dev/dsp), MIDI, and wavetable playback. | 25 | (/dev/dsp), MIDI, and wavetable playback. |
diff --git a/Documentation/sound/oss/vwsnd b/Documentation/sound/oss/vwsnd index a6ea0a1df9e4..4c6cbdb3c548 100644 --- a/Documentation/sound/oss/vwsnd +++ b/Documentation/sound/oss/vwsnd | |||
@@ -12,7 +12,7 @@ boxes. | |||
12 | 12 | ||
13 | The Visual Workstation has an Analog Devices AD1843 "SoundComm" audio | 13 | The Visual Workstation has an Analog Devices AD1843 "SoundComm" audio |
14 | codec chip. The AD1843 is accessed through the Cobalt I/O ASIC, also | 14 | codec chip. The AD1843 is accessed through the Cobalt I/O ASIC, also |
15 | known as Lithium. This driver programs both both chips. | 15 | known as Lithium. This driver programs both chips. |
16 | 16 | ||
17 | ============================================================================== | 17 | ============================================================================== |
18 | QUICK CONFIGURATION | 18 | QUICK CONFIGURATION |
diff --git a/Documentation/sparc/sbus_drivers.txt b/Documentation/sparc/sbus_drivers.txt index 4b9351624f13..8418d35484fc 100644 --- a/Documentation/sparc/sbus_drivers.txt +++ b/Documentation/sparc/sbus_drivers.txt | |||
@@ -25,8 +25,8 @@ the bits necessary to run your device. The most commonly | |||
25 | used members of this structure, and their typical usage, | 25 | used members of this structure, and their typical usage, |
26 | will be detailed below. | 26 | will be detailed below. |
27 | 27 | ||
28 | Here is a piece of skeleton code for perofming a device | 28 | Here is a piece of skeleton code for performing a device |
29 | probe in an SBUS driverunder Linux: | 29 | probe in an SBUS driver under Linux: |
30 | 30 | ||
31 | static int __devinit mydevice_probe_one(struct sbus_dev *sdev) | 31 | static int __devinit mydevice_probe_one(struct sbus_dev *sdev) |
32 | { | 32 | { |
@@ -98,7 +98,7 @@ in your .remove method. | |||
98 | 98 | ||
99 | Any memory allocated, registers mapped, IRQs registered, | 99 | Any memory allocated, registers mapped, IRQs registered, |
100 | etc. must be undone by your .remove method so that all resources | 100 | etc. must be undone by your .remove method so that all resources |
101 | of your device are relased by the time it returns. | 101 | of your device are released by the time it returns. |
102 | 102 | ||
103 | You should _NOT_ use the for_each_sbus(), for_each_sbusdev(), | 103 | You should _NOT_ use the for_each_sbus(), for_each_sbusdev(), |
104 | and for_all_sbusdev() interfaces. They are deprecated, will be | 104 | and for_all_sbusdev() interfaces. They are deprecated, will be |
diff --git a/Documentation/spi/pxa2xx b/Documentation/spi/pxa2xx index 9c45f3df2e18..a1e0ee20f595 100644 --- a/Documentation/spi/pxa2xx +++ b/Documentation/spi/pxa2xx | |||
@@ -124,12 +124,12 @@ use a value of 8. | |||
124 | The "pxa2xx_spi_chip.timeout_microsecs" fields is used to efficiently handle | 124 | The "pxa2xx_spi_chip.timeout_microsecs" fields is used to efficiently handle |
125 | trailing bytes in the SSP receiver fifo. The correct value for this field is | 125 | trailing bytes in the SSP receiver fifo. The correct value for this field is |
126 | dependent on the SPI bus speed ("spi_board_info.max_speed_hz") and the specific | 126 | dependent on the SPI bus speed ("spi_board_info.max_speed_hz") and the specific |
127 | slave device. Please note the the PXA2xx SSP 1 does not support trailing byte | 127 | slave device. Please note that the PXA2xx SSP 1 does not support trailing byte |
128 | timeouts and must busy-wait any trailing bytes. | 128 | timeouts and must busy-wait any trailing bytes. |
129 | 129 | ||
130 | The "pxa2xx_spi_chip.enable_loopback" field is used to place the SSP porting | 130 | The "pxa2xx_spi_chip.enable_loopback" field is used to place the SSP porting |
131 | into internal loopback mode. In this mode the SSP controller internally | 131 | into internal loopback mode. In this mode the SSP controller internally |
132 | connects the SSPTX pin the the SSPRX pin. This is useful for initial setup | 132 | connects the SSPTX pin to the SSPRX pin. This is useful for initial setup |
133 | testing. | 133 | testing. |
134 | 134 | ||
135 | The "pxa2xx_spi_chip.cs_control" field is used to point to a board specific | 135 | The "pxa2xx_spi_chip.cs_control" field is used to point to a board specific |
@@ -208,7 +208,7 @@ DMA and PIO I/O Support | |||
208 | ----------------------- | 208 | ----------------------- |
209 | The pxa2xx_spi driver support both DMA and interrupt driven PIO message | 209 | The pxa2xx_spi driver support both DMA and interrupt driven PIO message |
210 | transfers. The driver defaults to PIO mode and DMA transfers must enabled by | 210 | transfers. The driver defaults to PIO mode and DMA transfers must enabled by |
211 | setting the "enable_dma" flag in the "pxa2xx_spi_master" structure and and | 211 | setting the "enable_dma" flag in the "pxa2xx_spi_master" structure and |
212 | ensuring that the "pxa2xx_spi_chip.dma_burst_size" field is non-zero. The DMA | 212 | ensuring that the "pxa2xx_spi_chip.dma_burst_size" field is non-zero. The DMA |
213 | mode support both coherent and stream based DMA mappings. | 213 | mode support both coherent and stream based DMA mappings. |
214 | 214 | ||
diff --git a/Documentation/spi/spi-summary b/Documentation/spi/spi-summary index 068732d32276..72795796b13d 100644 --- a/Documentation/spi/spi-summary +++ b/Documentation/spi/spi-summary | |||
@@ -262,7 +262,7 @@ NON-STATIC CONFIGURATIONS | |||
262 | Developer boards often play by different rules than product boards, and one | 262 | Developer boards often play by different rules than product boards, and one |
263 | example is the potential need to hotplug SPI devices and/or controllers. | 263 | example is the potential need to hotplug SPI devices and/or controllers. |
264 | 264 | ||
265 | For those cases you might need to use use spi_busnum_to_master() to look | 265 | For those cases you might need to use spi_busnum_to_master() to look |
266 | up the spi bus master, and will likely need spi_new_device() to provide the | 266 | up the spi bus master, and will likely need spi_new_device() to provide the |
267 | board info based on the board that was hotplugged. Of course, you'd later | 267 | board info based on the board that was hotplugged. Of course, you'd later |
268 | call at least spi_unregister_device() when that board is removed. | 268 | call at least spi_unregister_device() when that board is removed. |
@@ -322,7 +322,7 @@ As soon as it enters probe(), the driver may issue I/O requests to | |||
322 | the SPI device using "struct spi_message". When remove() returns, | 322 | the SPI device using "struct spi_message". When remove() returns, |
323 | the driver guarantees that it won't submit any more such messages. | 323 | the driver guarantees that it won't submit any more such messages. |
324 | 324 | ||
325 | - An spi_message is a sequence of of protocol operations, executed | 325 | - An spi_message is a sequence of protocol operations, executed |
326 | as one atomic sequence. SPI driver controls include: | 326 | as one atomic sequence. SPI driver controls include: |
327 | 327 | ||
328 | + when bidirectional reads and writes start ... by how its | 328 | + when bidirectional reads and writes start ... by how its |
diff --git a/Documentation/stable_kernel_rules.txt b/Documentation/stable_kernel_rules.txt index e409e5d07486..02a481225b0d 100644 --- a/Documentation/stable_kernel_rules.txt +++ b/Documentation/stable_kernel_rules.txt | |||
@@ -4,7 +4,7 @@ Rules on what kind of patches are accepted, and which ones are not, into the | |||
4 | "-stable" tree: | 4 | "-stable" tree: |
5 | 5 | ||
6 | - It must be obviously correct and tested. | 6 | - It must be obviously correct and tested. |
7 | - It can not be bigger than 100 lines, with context. | 7 | - It cannot be bigger than 100 lines, with context. |
8 | - It must fix only one thing. | 8 | - It must fix only one thing. |
9 | - It must fix a real bug that bothers people (not a, "This could be a | 9 | - It must fix a real bug that bothers people (not a, "This could be a |
10 | problem..." type thing). | 10 | problem..." type thing). |
@@ -14,7 +14,7 @@ Rules on what kind of patches are accepted, and which ones are not, into the | |||
14 | critical. | 14 | critical. |
15 | - No "theoretical race condition" issues, unless an explanation of how the | 15 | - No "theoretical race condition" issues, unless an explanation of how the |
16 | race can be exploited is also provided. | 16 | race can be exploited is also provided. |
17 | - It can not contain any "trivial" fixes in it (spelling changes, | 17 | - It cannot contain any "trivial" fixes in it (spelling changes, |
18 | whitespace cleanups, etc). | 18 | whitespace cleanups, etc). |
19 | - It must be accepted by the relevant subsystem maintainer. | 19 | - It must be accepted by the relevant subsystem maintainer. |
20 | - It must follow the Documentation/SubmittingPatches rules. | 20 | - It must follow the Documentation/SubmittingPatches rules. |
diff --git a/Documentation/uml/UserModeLinux-HOWTO.txt b/Documentation/uml/UserModeLinux-HOWTO.txt index 544430e39980..b60590eca18f 100644 --- a/Documentation/uml/UserModeLinux-HOWTO.txt +++ b/Documentation/uml/UserModeLinux-HOWTO.txt | |||
@@ -157,7 +157,7 @@ | |||
157 | 13. What to do when UML doesn't work | 157 | 13. What to do when UML doesn't work |
158 | 158 | ||
159 | 13.1 Strange compilation errors when you build from source | 159 | 13.1 Strange compilation errors when you build from source |
160 | 13.2 UML hangs on boot after mounting devfs | 160 | 13.2 (obsolete) |
161 | 13.3 A variety of panics and hangs with /tmp on a reiserfs filesystem | 161 | 13.3 A variety of panics and hangs with /tmp on a reiserfs filesystem |
162 | 13.4 The compile fails with errors about conflicting types for 'open', 'dup', and 'waitpid' | 162 | 13.4 The compile fails with errors about conflicting types for 'open', 'dup', and 'waitpid' |
163 | 13.5 UML doesn't work when /tmp is an NFS filesystem | 163 | 13.5 UML doesn't work when /tmp is an NFS filesystem |
@@ -379,31 +379,6 @@ | |||
379 | bug fixes and enhancements that have gone into subsequent releases. | 379 | bug fixes and enhancements that have gone into subsequent releases. |
380 | 380 | ||
381 | 381 | ||
382 | If you build your own kernel, and want to boot it from one of the | ||
383 | filesystems distributed from this site, then, in nearly all cases, | ||
384 | devfs must be compiled into the kernel and mounted at boot time. The | ||
385 | exception is the SuSE filesystem. For this, devfs must either not be | ||
386 | in the kernel at all, or "devfs=nomount" must be on the kernel command | ||
387 | line. Any disagreement between the kernel and the filesystem being | ||
388 | booted about whether devfs is being used will result in the boot | ||
389 | getting no further than single-user mode. | ||
390 | |||
391 | |||
392 | If you don't want to use devfs, you can remove the need for it from a | ||
393 | filesystem by copying /dev from someplace, making a bunch of /dev/ubd | ||
394 | devices: | ||
395 | |||
396 | |||
397 | UML# for i in 0 1 2 3 4 5 6 7; do mknod ubd$i b 98 $i; done | ||
398 | |||
399 | |||
400 | |||
401 | |||
402 | and changing /etc/fstab and /etc/inittab to refer to the non-devfs | ||
403 | devices. | ||
404 | |||
405 | |||
406 | |||
407 | 22..22.. CCoommppiilliinngg aanndd iinnssttaalllliinngg kkeerrnneell mmoodduulleess | 382 | 22..22.. CCoommppiilliinngg aanndd iinnssttaalllliinngg kkeerrnneell mmoodduulleess |
408 | 383 | ||
409 | UML modules are built in the same way as the native kernel (with the | 384 | UML modules are built in the same way as the native kernel (with the |
@@ -839,9 +814,7 @@ | |||
839 | +o None - device=none | 814 | +o None - device=none |
840 | 815 | ||
841 | 816 | ||
842 | This causes the device to disappear. If you are using devfs, the | 817 | This causes the device to disappear. |
843 | device will not appear in /dev. If not, then attempts to open it | ||
844 | will return -ENODEV. | ||
845 | 818 | ||
846 | 819 | ||
847 | 820 | ||
@@ -1047,7 +1020,7 @@ | |||
1047 | 1020 | ||
1048 | Note that the IP address you assign to the host end of the tap device | 1021 | Note that the IP address you assign to the host end of the tap device |
1049 | must be different than the IP you assign to the eth device inside UML. | 1022 | must be different than the IP you assign to the eth device inside UML. |
1050 | If you are short on IPs and don't want to comsume two per UML, then | 1023 | If you are short on IPs and don't want to consume two per UML, then |
1051 | you can reuse the host's eth IP address for the host ends of the tap | 1024 | you can reuse the host's eth IP address for the host ends of the tap |
1052 | devices. Internally, the UMLs must still get unique IPs for their eth | 1025 | devices. Internally, the UMLs must still get unique IPs for their eth |
1053 | devices. You can also give the UMLs non-routable IPs (192.168.x.x or | 1026 | devices. You can also give the UMLs non-routable IPs (192.168.x.x or |
@@ -2058,7 +2031,7 @@ | |||
2058 | there are multiple COWs associated with a backing file, a -d merge of | 2031 | there are multiple COWs associated with a backing file, a -d merge of |
2059 | one of them will invalidate all of the others. However, it is | 2032 | one of them will invalidate all of the others. However, it is |
2060 | convenient if you're short of disk space, and it should also be | 2033 | convenient if you're short of disk space, and it should also be |
2061 | noticably faster than a non-destructive merge. | 2034 | noticeably faster than a non-destructive merge. |
2062 | 2035 | ||
2063 | 2036 | ||
2064 | 2037 | ||
@@ -3898,29 +3871,6 @@ | |||
3898 | 3871 | ||
3899 | 3872 | ||
3900 | 3873 | ||
3901 | 1133..22.. UUMMLL hhaannggss oonn bboooott aafftteerr mmoouunnttiinngg ddeevvffss | ||
3902 | |||
3903 | The boot looks like this: | ||
3904 | |||
3905 | |||
3906 | VFS: Mounted root (ext2 filesystem) readonly. | ||
3907 | Mounted devfs on /dev | ||
3908 | |||
3909 | |||
3910 | |||
3911 | |||
3912 | You're probably running a recent distribution on an old machine. I | ||
3913 | saw this with the RH7.1 filesystem running on a Pentium. The shared | ||
3914 | library loader, ld.so, was executing an instruction (cmove) which the | ||
3915 | Pentium didn't support. That instruction was apparently added later. | ||
3916 | If you run UML under the debugger, you'll see the hang caused by one | ||
3917 | instruction causing an infinite SIGILL stream. | ||
3918 | |||
3919 | |||
3920 | The fix is to boot UML on an older filesystem. | ||
3921 | |||
3922 | |||
3923 | |||
3924 | 1133..33.. AA vvaarriieettyy ooff ppaanniiccss aanndd hhaannggss wwiitthh //ttmmpp oonn aa rreeiisseerrffss ffiilleessyyss-- | 3874 | 1133..33.. AA vvaarriieettyy ooff ppaanniiccss aanndd hhaannggss wwiitthh //ttmmpp oonn aa rreeiisseerrffss ffiilleessyyss-- |
3925 | tteemm | 3875 | tteemm |
3926 | 3876 | ||
@@ -3953,9 +3903,9 @@ | |||
3953 | 3903 | ||
3954 | 1133..55.. UUMMLL ddooeessnn''tt wwoorrkk wwhheenn //ttmmpp iiss aann NNFFSS ffiilleessyysstteemm | 3904 | 1133..55.. UUMMLL ddooeessnn''tt wwoorrkk wwhheenn //ttmmpp iiss aann NNFFSS ffiilleessyysstteemm |
3955 | 3905 | ||
3956 | This seems to be a similar situation with the resierfs problem above. | 3906 | This seems to be a similar situation with the ReiserFS problem above. |
3957 | Some versions of NFS seems not to handle mmap correctly, which UML | 3907 | Some versions of NFS seems not to handle mmap correctly, which UML |
3958 | depends on. The workaround is have /tmp be non-NFS directory. | 3908 | depends on. The workaround is have /tmp be a non-NFS directory. |
3959 | 3909 | ||
3960 | 3910 | ||
3961 | 1133..66.. UUMMLL hhaannggss oonn bboooott wwhheenn ccoommppiilleedd wwiitthh ggpprrooff ssuuppppoorrtt | 3911 | 1133..66.. UUMMLL hhaannggss oonn bboooott wwhheenn ccoommppiilleedd wwiitthh ggpprrooff ssuuppppoorrtt |
@@ -4022,7 +3972,7 @@ | |||
4022 | nneett | 3972 | nneett |
4023 | 3973 | ||
4024 | If you can connect to the host, and the host can connect to UML, but | 3974 | If you can connect to the host, and the host can connect to UML, but |
4025 | you can not connect to any other machines, then you may need to enable | 3975 | you cannot connect to any other machines, then you may need to enable |
4026 | IP Masquerading on the host. Usually this is only experienced when | 3976 | IP Masquerading on the host. Usually this is only experienced when |
4027 | using private IP addresses (192.168.x.x or 10.x.x.x) for host/UML | 3977 | using private IP addresses (192.168.x.x or 10.x.x.x) for host/UML |
4028 | networking, rather than the public address space that your host is | 3978 | networking, rather than the public address space that your host is |
@@ -4671,7 +4621,7 @@ | |||
4671 | Chris Reahard built a specialized root filesystem for running a DNS | 4621 | Chris Reahard built a specialized root filesystem for running a DNS |
4672 | server jailed inside UML. It's available from the download | 4622 | server jailed inside UML. It's available from the download |
4673 | <http://user-mode-linux.sourceforge.net/dl-sf.html> page in the Jail | 4623 | <http://user-mode-linux.sourceforge.net/dl-sf.html> page in the Jail |
4674 | Filesysems section. | 4624 | Filesystems section. |
4675 | 4625 | ||
4676 | 4626 | ||
4677 | 4627 | ||
diff --git a/Documentation/unshare.txt b/Documentation/unshare.txt index 90a5e9e5bef1..a8643513a5f6 100644 --- a/Documentation/unshare.txt +++ b/Documentation/unshare.txt | |||
@@ -260,7 +260,7 @@ items: | |||
260 | a pointer to it. | 260 | a pointer to it. |
261 | 261 | ||
262 | 7.4) Appropriately modify architecture specific code to register the | 262 | 7.4) Appropriately modify architecture specific code to register the |
263 | the new system call. | 263 | new system call. |
264 | 264 | ||
265 | 8) Test Specification | 265 | 8) Test Specification |
266 | --------------------- | 266 | --------------------- |
diff --git a/Documentation/usb/URB.txt b/Documentation/usb/URB.txt index a49e5f2c2b46..8ffce746d496 100644 --- a/Documentation/usb/URB.txt +++ b/Documentation/usb/URB.txt | |||
@@ -184,7 +184,7 @@ you can pass information to the completion handler. | |||
184 | Note that even when an error (or unlink) is reported, data may have been | 184 | Note that even when an error (or unlink) is reported, data may have been |
185 | transferred. That's because USB transfers are packetized; it might take | 185 | transferred. That's because USB transfers are packetized; it might take |
186 | sixteen packets to transfer your 1KByte buffer, and ten of them might | 186 | sixteen packets to transfer your 1KByte buffer, and ten of them might |
187 | have transferred succesfully before the completion was called. | 187 | have transferred successfully before the completion was called. |
188 | 188 | ||
189 | 189 | ||
190 | NOTE: ***** WARNING ***** | 190 | NOTE: ***** WARNING ***** |
diff --git a/Documentation/usb/acm.txt b/Documentation/usb/acm.txt index 8ef45ea8f691..737d6104c3f3 100644 --- a/Documentation/usb/acm.txt +++ b/Documentation/usb/acm.txt | |||
@@ -49,20 +49,6 @@ Abstract Control Model (USB CDC ACM) specification. | |||
49 | Unfortunately many modems and most ISDN TAs use proprietary interfaces and | 49 | Unfortunately many modems and most ISDN TAs use proprietary interfaces and |
50 | thus won't work with this drivers. Check for ACM compliance before buying. | 50 | thus won't work with this drivers. Check for ACM compliance before buying. |
51 | 51 | ||
52 | The driver (with devfs) creates these devices in /dev/usb/acm: | ||
53 | |||
54 | crw-r--r-- 1 root root 166, 0 Apr 1 10:49 0 | ||
55 | crw-r--r-- 1 root root 166, 1 Apr 1 10:49 1 | ||
56 | crw-r--r-- 1 root root 166, 2 Apr 1 10:49 2 | ||
57 | |||
58 | And so on, up to 31, with the limit being possible to change in acm.c to up | ||
59 | to 256, so you can use up to 256 USB modems with one computer (you'll need | ||
60 | three USB cards for that, though). | ||
61 | |||
62 | If you don't use devfs, then you can create device nodes with the same | ||
63 | minor/major numbers anywhere you want, but either the above location or | ||
64 | /dev/usb/ttyACM0 is preferred. | ||
65 | |||
66 | To use the modems you need these modules loaded: | 52 | To use the modems you need these modules loaded: |
67 | 53 | ||
68 | usbcore.ko | 54 | usbcore.ko |
diff --git a/Documentation/usb/error-codes.txt b/Documentation/usb/error-codes.txt index 39c68f8c4e6c..9cf83e8c27b8 100644 --- a/Documentation/usb/error-codes.txt +++ b/Documentation/usb/error-codes.txt | |||
@@ -126,7 +126,7 @@ one or more packets could finish before an error stops further endpoint I/O. | |||
126 | urb->transfer_flags. | 126 | urb->transfer_flags. |
127 | 127 | ||
128 | -ENODEV Device was removed. Often preceded by a burst of | 128 | -ENODEV Device was removed. Often preceded by a burst of |
129 | other errors, since the hub driver does't detect | 129 | other errors, since the hub driver doesn't detect |
130 | device removal events immediately. | 130 | device removal events immediately. |
131 | 131 | ||
132 | -EXDEV ISO transfer only partially completed | 132 | -EXDEV ISO transfer only partially completed |
@@ -145,7 +145,7 @@ one or more packets could finish before an error stops further endpoint I/O. | |||
145 | hardware problems such as bad devices (including firmware) or cables. | 145 | hardware problems such as bad devices (including firmware) or cables. |
146 | 146 | ||
147 | (**) This is also one of several codes that different kinds of host | 147 | (**) This is also one of several codes that different kinds of host |
148 | controller use to to indicate a transfer has failed because of device | 148 | controller use to indicate a transfer has failed because of device |
149 | disconnect. In the interval before the hub driver starts disconnect | 149 | disconnect. In the interval before the hub driver starts disconnect |
150 | processing, devices may receive such fault reports for every request. | 150 | processing, devices may receive such fault reports for every request. |
151 | 151 | ||
diff --git a/Documentation/usb/hiddev.txt b/Documentation/usb/hiddev.txt index cd6fb4b58e1f..6a790754e963 100644 --- a/Documentation/usb/hiddev.txt +++ b/Documentation/usb/hiddev.txt | |||
@@ -118,7 +118,7 @@ index, the ioctl returns -1 and sets errno to -EINVAL. | |||
118 | HIDIOCGDEVINFO - struct hiddev_devinfo (read) | 118 | HIDIOCGDEVINFO - struct hiddev_devinfo (read) |
119 | Gets a hiddev_devinfo structure which describes the device. | 119 | Gets a hiddev_devinfo structure which describes the device. |
120 | 120 | ||
121 | HIDIOCGSTRING - struct struct hiddev_string_descriptor (read/write) | 121 | HIDIOCGSTRING - struct hiddev_string_descriptor (read/write) |
122 | Gets a string descriptor from the device. The caller must fill in the | 122 | Gets a string descriptor from the device. The caller must fill in the |
123 | "index" field to indicate which descriptor should be returned. | 123 | "index" field to indicate which descriptor should be returned. |
124 | 124 | ||
diff --git a/Documentation/usb/mtouchusb.txt b/Documentation/usb/mtouchusb.txt index cd806bfc8b81..e43cfffaa100 100644 --- a/Documentation/usb/mtouchusb.txt +++ b/Documentation/usb/mtouchusb.txt | |||
@@ -11,7 +11,7 @@ CHANGES | |||
11 | Changed reset from standard USB dev reset to vendor reset | 11 | Changed reset from standard USB dev reset to vendor reset |
12 | Changed data sent to host from compensated to raw coordinates | 12 | Changed data sent to host from compensated to raw coordinates |
13 | Eliminated vendor/product module params | 13 | Eliminated vendor/product module params |
14 | Performed multiple successfull tests with an EXII-5010UC | 14 | Performed multiple successful tests with an EXII-5010UC |
15 | 15 | ||
16 | SUPPORTED HARDWARE: | 16 | SUPPORTED HARDWARE: |
17 | 17 | ||
@@ -38,7 +38,7 @@ This driver appears to be one of possible 2 Linux USB Input Touchscreen | |||
38 | drivers. Although 3M produces a binary only driver available for | 38 | drivers. Although 3M produces a binary only driver available for |
39 | download, I persist in updating this driver since I would like to use the | 39 | download, I persist in updating this driver since I would like to use the |
40 | touchscreen for embedded apps using QTEmbedded, DirectFB, etc. So I feel the | 40 | touchscreen for embedded apps using QTEmbedded, DirectFB, etc. So I feel the |
41 | logical choice is to use Linux Imput. | 41 | logical choice is to use Linux Input. |
42 | 42 | ||
43 | Currently there is no way to calibrate the device via this driver. Even if | 43 | Currently there is no way to calibrate the device via this driver. Even if |
44 | the device could be calibrated, the driver pulls to raw coordinate data from | 44 | the device could be calibrated, the driver pulls to raw coordinate data from |
@@ -63,7 +63,7 @@ TODO: | |||
63 | Implement a control urb again to handle requests to and from the device | 63 | Implement a control urb again to handle requests to and from the device |
64 | such as calibration, etc once/if it becomes available. | 64 | such as calibration, etc once/if it becomes available. |
65 | 65 | ||
66 | DISCLAMER: | 66 | DISCLAIMER: |
67 | 67 | ||
68 | I am not a MicroTouch/3M employee, nor have I ever been. 3M does not support | 68 | I am not a MicroTouch/3M employee, nor have I ever been. 3M does not support |
69 | this driver! If you want touch drivers only supported within X, please go to: | 69 | this driver! If you want touch drivers only supported within X, please go to: |
diff --git a/Documentation/usb/usb-serial.txt b/Documentation/usb/usb-serial.txt index a2dee6e6190d..8dc2bacc8f1f 100644 --- a/Documentation/usb/usb-serial.txt +++ b/Documentation/usb/usb-serial.txt | |||
@@ -13,7 +13,6 @@ CONFIGURATION | |||
13 | Currently the driver can handle up to 256 different serial interfaces at | 13 | Currently the driver can handle up to 256 different serial interfaces at |
14 | one time. | 14 | one time. |
15 | 15 | ||
16 | If you are not using devfs: | ||
17 | The major number that the driver uses is 188 so to use the driver, | 16 | The major number that the driver uses is 188 so to use the driver, |
18 | create the following nodes: | 17 | create the following nodes: |
19 | mknod /dev/ttyUSB0 c 188 0 | 18 | mknod /dev/ttyUSB0 c 188 0 |
@@ -26,10 +25,6 @@ CONFIGURATION | |||
26 | mknod /dev/ttyUSB254 c 188 254 | 25 | mknod /dev/ttyUSB254 c 188 254 |
27 | mknod /dev/ttyUSB255 c 188 255 | 26 | mknod /dev/ttyUSB255 c 188 255 |
28 | 27 | ||
29 | If you are using devfs: | ||
30 | The devices supported by this driver will show up as | ||
31 | /dev/usb/tts/{0,1,...} | ||
32 | |||
33 | When the device is connected and recognized by the driver, the driver | 28 | When the device is connected and recognized by the driver, the driver |
34 | will print to the system log, which node(s) the device has been bound | 29 | will print to the system log, which node(s) the device has been bound |
35 | to. | 30 | to. |
@@ -228,7 +223,7 @@ Cypress M8 CY4601 Family Serial Driver | |||
228 | -Cypress HID->COM RS232 adapter | 223 | -Cypress HID->COM RS232 adapter |
229 | 224 | ||
230 | Note: Cypress Semiconductor claims no affiliation with the | 225 | Note: Cypress Semiconductor claims no affiliation with the |
231 | the hid->com device. | 226 | hid->com device. |
232 | 227 | ||
233 | Most devices using chipsets under the CY4601 family should | 228 | Most devices using chipsets under the CY4601 family should |
234 | work with the driver. As long as they stay true to the CY4601 | 229 | work with the driver. As long as they stay true to the CY4601 |
@@ -277,7 +272,7 @@ Digi AccelePort Driver | |||
277 | work under SMP with the uhci driver. | 272 | work under SMP with the uhci driver. |
278 | 273 | ||
279 | The driver is generally working, though we still have a few more ioctls | 274 | The driver is generally working, though we still have a few more ioctls |
280 | to implement and final testing and debugging to do. The paralled port | 275 | to implement and final testing and debugging to do. The parallel port |
281 | on the USB 2 is supported as a serial to parallel converter; in other | 276 | on the USB 2 is supported as a serial to parallel converter; in other |
282 | words, it appears as another USB serial port on Linux, even though | 277 | words, it appears as another USB serial port on Linux, even though |
283 | physically it is really a parallel port. The Digi Acceleport USB 8 | 278 | physically it is really a parallel port. The Digi Acceleport USB 8 |
@@ -427,7 +422,7 @@ Options supported: | |||
427 | debug - extra verbose debugging info | 422 | debug - extra verbose debugging info |
428 | (default: 0; nonzero enables) | 423 | (default: 0; nonzero enables) |
429 | use_lowlatency - use low_latency flag to speed up tty layer | 424 | use_lowlatency - use low_latency flag to speed up tty layer |
430 | when reading from from the device. | 425 | when reading from the device. |
431 | (default: 0; nonzero enables) | 426 | (default: 0; nonzero enables) |
432 | 427 | ||
433 | See http://www.uuhaus.de/linux/palmconnect.html for up-to-date | 428 | See http://www.uuhaus.de/linux/palmconnect.html for up-to-date |
diff --git a/Documentation/video4linux/README.pvrusb2 b/Documentation/video4linux/README.pvrusb2 index c73a32c34528..a4b7ae800866 100644 --- a/Documentation/video4linux/README.pvrusb2 +++ b/Documentation/video4linux/README.pvrusb2 | |||
@@ -155,7 +155,7 @@ Source file list / functional overview: | |||
155 | pvrusb2-i2c-core.[ch] - This module provides an implementation of a | 155 | pvrusb2-i2c-core.[ch] - This module provides an implementation of a |
156 | kernel-friendly I2C adaptor driver, through which other external | 156 | kernel-friendly I2C adaptor driver, through which other external |
157 | I2C client drivers (e.g. msp3400, tuner, lirc) may connect and | 157 | I2C client drivers (e.g. msp3400, tuner, lirc) may connect and |
158 | operate corresponding chips within the the pvrusb2 device. It is | 158 | operate corresponding chips within the pvrusb2 device. It is |
159 | through here that other V4L modules can reach into this driver to | 159 | through here that other V4L modules can reach into this driver to |
160 | operate specific pieces (and those modules are in turn driven by | 160 | operate specific pieces (and those modules are in turn driven by |
161 | glue logic which is coordinated by pvrusb2-hdw, doled out by | 161 | glue logic which is coordinated by pvrusb2-hdw, doled out by |
diff --git a/Documentation/video4linux/Zoran b/Documentation/video4linux/Zoran index 040a2c841ae9..deb218f77adb 100644 --- a/Documentation/video4linux/Zoran +++ b/Documentation/video4linux/Zoran | |||
@@ -144,7 +144,7 @@ tv broadcast formats all aver the world. | |||
144 | 144 | ||
145 | The CCIR defines parameters needed for broadcasting the signal. | 145 | The CCIR defines parameters needed for broadcasting the signal. |
146 | The CCIR has defined different standards: A,B,D,E,F,G,D,H,I,K,K1,L,M,N,... | 146 | The CCIR has defined different standards: A,B,D,E,F,G,D,H,I,K,K1,L,M,N,... |
147 | The CCIR says not much about about the colorsystem used !!! | 147 | The CCIR says not much about the colorsystem used !!! |
148 | And talking about a colorsystem says not to much about how it is broadcast. | 148 | And talking about a colorsystem says not to much about how it is broadcast. |
149 | 149 | ||
150 | The CCIR standards A,E,F are not used any more. | 150 | The CCIR standards A,E,F are not used any more. |
diff --git a/Documentation/video4linux/cx2341x/fw-decoder-api.txt b/Documentation/video4linux/cx2341x/fw-decoder-api.txt index 9df4fb3ea0f2..78bf5f21e513 100644 --- a/Documentation/video4linux/cx2341x/fw-decoder-api.txt +++ b/Documentation/video4linux/cx2341x/fw-decoder-api.txt | |||
@@ -102,7 +102,7 @@ Param[0] | |||
102 | Name CX2341X_DEC_GET_XFER_INFO | 102 | Name CX2341X_DEC_GET_XFER_INFO |
103 | Enum 9/0x09 | 103 | Enum 9/0x09 |
104 | Description | 104 | Description |
105 | This API call may be used to detect an end of stream condtion. | 105 | This API call may be used to detect an end of stream condition. |
106 | Result[0] | 106 | Result[0] |
107 | Stream type | 107 | Stream type |
108 | Result[1] | 108 | Result[1] |
diff --git a/Documentation/video4linux/cx2341x/fw-encoder-api.txt b/Documentation/video4linux/cx2341x/fw-encoder-api.txt index 001c68644b08..15df0df57ddd 100644 --- a/Documentation/video4linux/cx2341x/fw-encoder-api.txt +++ b/Documentation/video4linux/cx2341x/fw-encoder-api.txt | |||
@@ -280,7 +280,7 @@ Param[0] | |||
280 | Param[1] | 280 | Param[1] |
281 | Unknown, but leaving this to 0 seems to work best. Indications are that | 281 | Unknown, but leaving this to 0 seems to work best. Indications are that |
282 | this might have to do with USB support, although passing anything but 0 | 282 | this might have to do with USB support, although passing anything but 0 |
283 | onl breaks things. | 283 | only breaks things. |
284 | 284 | ||
285 | ------------------------------------------------------------------------------- | 285 | ------------------------------------------------------------------------------- |
286 | 286 | ||
diff --git a/Documentation/video4linux/cx2341x/fw-osd-api.txt b/Documentation/video4linux/cx2341x/fw-osd-api.txt index da98ae30a37a..0a602f3e601b 100644 --- a/Documentation/video4linux/cx2341x/fw-osd-api.txt +++ b/Documentation/video4linux/cx2341x/fw-osd-api.txt | |||
@@ -97,7 +97,7 @@ Result[0] | |||
97 | Result[1] | 97 | Result[1] |
98 | top left vertical offset | 98 | top left vertical offset |
99 | Result[2] | 99 | Result[2] |
100 | bottom right hotizontal offset | 100 | bottom right horizontal offset |
101 | Result[3] | 101 | Result[3] |
102 | bottom right vertical offset | 102 | bottom right vertical offset |
103 | 103 | ||
diff --git a/Documentation/video4linux/cx88/hauppauge-wintv-cx88-ir.txt b/Documentation/video4linux/cx88/hauppauge-wintv-cx88-ir.txt index 93fec32a1188..faccee68f603 100644 --- a/Documentation/video4linux/cx88/hauppauge-wintv-cx88-ir.txt +++ b/Documentation/video4linux/cx88/hauppauge-wintv-cx88-ir.txt | |||
@@ -30,7 +30,7 @@ provide for a handler) | |||
30 | GP_SAMPLE register is at 0x35C058 | 30 | GP_SAMPLE register is at 0x35C058 |
31 | 31 | ||
32 | Bits are then right shifted into the GP_SAMPLE register at the specified | 32 | Bits are then right shifted into the GP_SAMPLE register at the specified |
33 | rate; you get an interrupt when a full DWORD is recieved. | 33 | rate; you get an interrupt when a full DWORD is received. |
34 | You need to recover the actual RC5 bits out of the (oversampled) IR sensor | 34 | You need to recover the actual RC5 bits out of the (oversampled) IR sensor |
35 | bits. (Hint: look for the 0/1and 1/0 crossings of the RC5 bi-phase data) An | 35 | bits. (Hint: look for the 0/1and 1/0 crossings of the RC5 bi-phase data) An |
36 | actual raw RC5 code will span 2-3 DWORDS, depending on the actual alignment. | 36 | actual raw RC5 code will span 2-3 DWORDS, depending on the actual alignment. |
diff --git a/Documentation/video4linux/et61x251.txt b/Documentation/video4linux/et61x251.txt index cd584f20a997..1bdee8f85b9a 100644 --- a/Documentation/video4linux/et61x251.txt +++ b/Documentation/video4linux/et61x251.txt | |||
@@ -80,7 +80,7 @@ Some of the features of the driver are: | |||
80 | high compression quality (see also "Notes for V4L2 application developers" | 80 | high compression quality (see also "Notes for V4L2 application developers" |
81 | paragraph); | 81 | paragraph); |
82 | - full support for the capabilities of every possible image sensors that can | 82 | - full support for the capabilities of every possible image sensors that can |
83 | be connected to the ET61X[12]51 bridges, including, for istance, red, green, | 83 | be connected to the ET61X[12]51 bridges, including, for instance, red, green, |
84 | blue and global gain adjustments and exposure control (see "Supported | 84 | blue and global gain adjustments and exposure control (see "Supported |
85 | devices" paragraph for details); | 85 | devices" paragraph for details); |
86 | - use of default color settings for sunlight conditions; | 86 | - use of default color settings for sunlight conditions; |
@@ -222,7 +222,7 @@ identifier - of the camera registered as "/dev/video0": | |||
222 | [root@localhost #] echo 1 > i2c_reg | 222 | [root@localhost #] echo 1 > i2c_reg |
223 | [root@localhost #] cat i2c_val | 223 | [root@localhost #] cat i2c_val |
224 | 224 | ||
225 | Note that if the sensor registers can not be read, "cat" will fail. | 225 | Note that if the sensor registers cannot be read, "cat" will fail. |
226 | To avoid race conditions, all the I/O accesses to the files are serialized. | 226 | To avoid race conditions, all the I/O accesses to the files are serialized. |
227 | 227 | ||
228 | 228 | ||
diff --git a/Documentation/video4linux/hauppauge-wintv-cx88-ir.txt b/Documentation/video4linux/hauppauge-wintv-cx88-ir.txt index 93fec32a1188..faccee68f603 100644 --- a/Documentation/video4linux/hauppauge-wintv-cx88-ir.txt +++ b/Documentation/video4linux/hauppauge-wintv-cx88-ir.txt | |||
@@ -30,7 +30,7 @@ provide for a handler) | |||
30 | GP_SAMPLE register is at 0x35C058 | 30 | GP_SAMPLE register is at 0x35C058 |
31 | 31 | ||
32 | Bits are then right shifted into the GP_SAMPLE register at the specified | 32 | Bits are then right shifted into the GP_SAMPLE register at the specified |
33 | rate; you get an interrupt when a full DWORD is recieved. | 33 | rate; you get an interrupt when a full DWORD is received. |
34 | You need to recover the actual RC5 bits out of the (oversampled) IR sensor | 34 | You need to recover the actual RC5 bits out of the (oversampled) IR sensor |
35 | bits. (Hint: look for the 0/1and 1/0 crossings of the RC5 bi-phase data) An | 35 | bits. (Hint: look for the 0/1and 1/0 crossings of the RC5 bi-phase data) An |
36 | actual raw RC5 code will span 2-3 DWORDS, depending on the actual alignment. | 36 | actual raw RC5 code will span 2-3 DWORDS, depending on the actual alignment. |
diff --git a/Documentation/video4linux/meye.txt b/Documentation/video4linux/meye.txt index 2137da97552f..ecb34160e61d 100644 --- a/Documentation/video4linux/meye.txt +++ b/Documentation/video4linux/meye.txt | |||
@@ -29,7 +29,7 @@ driver (PCI vendor/device is 0x136b/0xff01) | |||
29 | 29 | ||
30 | The third one, present in recent (more or less last year) Picturebooks | 30 | The third one, present in recent (more or less last year) Picturebooks |
31 | (C1M* models), is not supported. The manufacturer has given the specs | 31 | (C1M* models), is not supported. The manufacturer has given the specs |
32 | to the developers under a NDA (which allows the develoment of a GPL | 32 | to the developers under a NDA (which allows the development of a GPL |
33 | driver however), but things are not moving very fast (see | 33 | driver however), but things are not moving very fast (see |
34 | http://r-engine.sourceforge.net/) (PCI vendor/device is 0x10cf/0x2011). | 34 | http://r-engine.sourceforge.net/) (PCI vendor/device is 0x10cf/0x2011). |
35 | 35 | ||
diff --git a/Documentation/video4linux/sn9c102.txt b/Documentation/video4linux/sn9c102.txt index 1d20895b4354..8cda472db36d 100644 --- a/Documentation/video4linux/sn9c102.txt +++ b/Documentation/video4linux/sn9c102.txt | |||
@@ -60,7 +60,7 @@ It's worth to note that SONiX has never collaborated with the author during the | |||
60 | development of this project, despite several requests for enough detailed | 60 | development of this project, despite several requests for enough detailed |
61 | specifications of the register tables, compression engine and video data format | 61 | specifications of the register tables, compression engine and video data format |
62 | of the above chips. Nevertheless, these informations are no longer necessary, | 62 | of the above chips. Nevertheless, these informations are no longer necessary, |
63 | becouse all the aspects related to these chips are known and have been | 63 | because all the aspects related to these chips are known and have been |
64 | described in detail in this documentation. | 64 | described in detail in this documentation. |
65 | 65 | ||
66 | The driver relies on the Video4Linux2 and USB core modules. It has been | 66 | The driver relies on the Video4Linux2 and USB core modules. It has been |
@@ -85,7 +85,7 @@ Some of the features of the driver are: | |||
85 | high compression quality (see also "Notes for V4L2 application developers" | 85 | high compression quality (see also "Notes for V4L2 application developers" |
86 | and "Video frame formats" paragraphs); | 86 | and "Video frame formats" paragraphs); |
87 | - full support for the capabilities of many of the possible image sensors that | 87 | - full support for the capabilities of many of the possible image sensors that |
88 | can be connected to the SN9C10x bridges, including, for istance, red, green, | 88 | can be connected to the SN9C10x bridges, including, for instance, red, green, |
89 | blue and global gain adjustments and exposure (see "Supported devices" | 89 | blue and global gain adjustments and exposure (see "Supported devices" |
90 | paragraph for details); | 90 | paragraph for details); |
91 | - use of default color settings for sunlight conditions; | 91 | - use of default color settings for sunlight conditions; |
diff --git a/Documentation/video4linux/w9968cf.txt b/Documentation/video4linux/w9968cf.txt index 0d53ce774b01..e0bba8393c77 100644 --- a/Documentation/video4linux/w9968cf.txt +++ b/Documentation/video4linux/w9968cf.txt | |||
@@ -15,7 +15,7 @@ Index | |||
15 | 5. Supported devices | 15 | 5. Supported devices |
16 | 6. Module dependencies | 16 | 6. Module dependencies |
17 | 7. Module loading | 17 | 7. Module loading |
18 | 8. Module paramaters | 18 | 8. Module parameters |
19 | 9. Contact information | 19 | 9. Contact information |
20 | 10. Credits | 20 | 10. Credits |
21 | 21 | ||
diff --git a/Documentation/video4linux/zr36120.txt b/Documentation/video4linux/zr36120.txt index ac6d92d01944..1a1c2d03a5c8 100644 --- a/Documentation/video4linux/zr36120.txt +++ b/Documentation/video4linux/zr36120.txt | |||
@@ -118,9 +118,9 @@ card is not there, please try if any other card gives some | |||
118 | response, and mail me if you got a working tvcard addition. | 118 | response, and mail me if you got a working tvcard addition. |
119 | 119 | ||
120 | PS. <TVCard editors behold!) | 120 | PS. <TVCard editors behold!) |
121 | Dont forget to set video_input to the number of inputs | 121 | Don't forget to set video_input to the number of inputs |
122 | you defined in the video_mux part of the tvcard definition. | 122 | you defined in the video_mux part of the tvcard definition. |
123 | Its a common error to add a channel but not incrementing | 123 | It's a common error to add a channel but not incrementing |
124 | video_input and getting angry with me/v4l/linux/linus :( | 124 | video_input and getting angry with me/v4l/linux/linus :( |
125 | 125 | ||
126 | You are now ready to test the framegrabber with your favorite | 126 | You are now ready to test the framegrabber with your favorite |
diff --git a/Documentation/vm/numa b/Documentation/vm/numa index 4b8db1bd3b78..e93ad9425e2a 100644 --- a/Documentation/vm/numa +++ b/Documentation/vm/numa | |||
@@ -22,7 +22,7 @@ The initial port includes NUMAizing the bootmem allocator code by | |||
22 | encapsulating all the pieces of information into a bootmem_data_t | 22 | encapsulating all the pieces of information into a bootmem_data_t |
23 | structure. Node specific calls have been added to the allocator. | 23 | structure. Node specific calls have been added to the allocator. |
24 | In theory, any platform which uses the bootmem allocator should | 24 | In theory, any platform which uses the bootmem allocator should |
25 | be able to to put the bootmem and mem_map data structures anywhere | 25 | be able to put the bootmem and mem_map data structures anywhere |
26 | it deems best. | 26 | it deems best. |
27 | 27 | ||
28 | Each node's page allocation data structures have also been encapsulated | 28 | Each node's page allocation data structures have also been encapsulated |
diff --git a/Documentation/watchdog/watchdog-api.txt b/Documentation/watchdog/watchdog-api.txt index 958ff3d48be3..7e8ae83e9847 100644 --- a/Documentation/watchdog/watchdog-api.txt +++ b/Documentation/watchdog/watchdog-api.txt | |||
@@ -45,7 +45,7 @@ daemon and it crashes the system will not reboot. Because of this, | |||
45 | some of the drivers support the configuration option "Disable watchdog | 45 | some of the drivers support the configuration option "Disable watchdog |
46 | shutdown on close", CONFIG_WATCHDOG_NOWAYOUT. If it is set to Y when | 46 | shutdown on close", CONFIG_WATCHDOG_NOWAYOUT. If it is set to Y when |
47 | compiling the kernel, there is no way of disabling the watchdog once | 47 | compiling the kernel, there is no way of disabling the watchdog once |
48 | it has been started. So, if the watchdog dameon crashes, the system | 48 | it has been started. So, if the watchdog daemon crashes, the system |
49 | will reboot after the timeout has passed. | 49 | will reboot after the timeout has passed. |
50 | 50 | ||
51 | Some other drivers will not disable the watchdog, unless a specific | 51 | Some other drivers will not disable the watchdog, unless a specific |
@@ -207,7 +207,7 @@ Note that not all devices support these two calls, and some only | |||
207 | support the GETBOOTSTATUS call. | 207 | support the GETBOOTSTATUS call. |
208 | 208 | ||
209 | Some drivers can measure the temperature using the GETTEMP ioctl. The | 209 | Some drivers can measure the temperature using the GETTEMP ioctl. The |
210 | returned value is the temperature in degrees farenheit. | 210 | returned value is the temperature in degrees fahrenheit. |
211 | 211 | ||
212 | int temperature; | 212 | int temperature; |
213 | ioctl(fd, WDIOC_GETTEMP, &temperature); | 213 | ioctl(fd, WDIOC_GETTEMP, &temperature); |
@@ -258,13 +258,13 @@ booke_wdt.c -- PowerPC BookE Watchdog Timer | |||
258 | Timeout default varies according to frequency, supports | 258 | Timeout default varies according to frequency, supports |
259 | SETTIMEOUT | 259 | SETTIMEOUT |
260 | 260 | ||
261 | Watchdog can not be turned off, CONFIG_WATCHDOG_NOWAYOUT | 261 | Watchdog cannot be turned off, CONFIG_WATCHDOG_NOWAYOUT |
262 | does not make sense | 262 | does not make sense |
263 | 263 | ||
264 | GETSUPPORT returns the watchdog_info struct, and | 264 | GETSUPPORT returns the watchdog_info struct, and |
265 | GETSTATUS returns the supported options. GETBOOTSTATUS | 265 | GETSTATUS returns the supported options. GETBOOTSTATUS |
266 | returns a 1 if the last reset was caused by the | 266 | returns a 1 if the last reset was caused by the |
267 | watchdog and a 0 otherwise. This watchdog can not be | 267 | watchdog and a 0 otherwise. This watchdog cannot be |
268 | disabled once it has been started. The wdt_period kernel | 268 | disabled once it has been started. The wdt_period kernel |
269 | parameter selects which bit of the time base changing | 269 | parameter selects which bit of the time base changing |
270 | from 0->1 will trigger the watchdog exception. Changing | 270 | from 0->1 will trigger the watchdog exception. Changing |
diff --git a/Documentation/x86_64/boot-options.txt b/Documentation/x86_64/boot-options.txt index 74b77f9e91bc..f3c57f43ba64 100644 --- a/Documentation/x86_64/boot-options.txt +++ b/Documentation/x86_64/boot-options.txt | |||
@@ -109,7 +109,7 @@ Idle loop | |||
109 | Rebooting | 109 | Rebooting |
110 | 110 | ||
111 | reboot=b[ios] | t[riple] | k[bd] [, [w]arm | [c]old] | 111 | reboot=b[ios] | t[riple] | k[bd] [, [w]arm | [c]old] |
112 | bios Use the CPU reboto vector for warm reset | 112 | bios Use the CPU reboot vector for warm reset |
113 | warm Don't set the cold reboot flag | 113 | warm Don't set the cold reboot flag |
114 | cold Set the cold reboot flag | 114 | cold Set the cold reboot flag |
115 | triple Force a triple fault (init) | 115 | triple Force a triple fault (init) |