aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/feature-removal-schedule.txt12
-rw-r--r--Documentation/filesystems/9p.txt (renamed from Documentation/filesystems/v9fs.txt)21
-rw-r--r--Documentation/filesystems/udf.txt14
-rw-r--r--Documentation/filesystems/vfs.txt217
-rw-r--r--Documentation/firmware_class/firmware_sample_driver.c3
-rw-r--r--Documentation/firmware_class/firmware_sample_firmware_class.c1
-rw-r--r--Documentation/kernel-parameters.txt15
-rw-r--r--Documentation/networking/ray_cs.txt2
-rw-r--r--Documentation/serial-console.txt11
-rw-r--r--Documentation/sound/oss/Introduction2
-rw-r--r--Documentation/sound/oss/cs46xx16
-rw-r--r--Documentation/video4linux/CQcam.txt182
-rw-r--r--Documentation/video4linux/README.cpia4
-rw-r--r--Documentation/video4linux/Zoran108
-rw-r--r--Documentation/video4linux/bttv/ICs4
-rw-r--r--Documentation/video4linux/bttv/PROBLEMS16
-rw-r--r--Documentation/video4linux/bttv/README.quirks4
-rw-r--r--Documentation/video4linux/bttv/THANKS4
-rw-r--r--Documentation/video4linux/radiotrack.txt16
-rw-r--r--Documentation/video4linux/w9966.txt2
-rw-r--r--Documentation/video4linux/zr36120.txt4
21 files changed, 433 insertions, 225 deletions
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index 21272e4b4a5c..495858b236b6 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -176,6 +176,18 @@ Who: Richard Knutsson <ricknu-0@student.ltu.se> and Greg Kroah-Hartman <gregkh@s
176 176
177--------------------------- 177---------------------------
178 178
179What: Usage of invalid timevals in setitimer
180When: March 2007
181Why: POSIX requires to validate timevals in the setitimer call. This
182 was never done by Linux. The invalid (e.g. negative timevals) were
183 silently converted to more or less random timeouts and intervals.
184 Until the removal a per boot limited number of warnings is printed
185 and the timevals are sanitized.
186
187Who: Thomas Gleixner <tglx@linutronix.de>
188
189---------------------------
190
179What: I2C interface of the it87 driver 191What: I2C interface of the it87 driver
180When: January 2007 192When: January 2007
181Why: The ISA interface is faster and should be always available. The I2C 193Why: The ISA interface is faster and should be always available. The I2C
diff --git a/Documentation/filesystems/v9fs.txt b/Documentation/filesystems/9p.txt
index 24c7a9c41f0d..43b89c214d20 100644
--- a/Documentation/filesystems/v9fs.txt
+++ b/Documentation/filesystems/9p.txt
@@ -1,5 +1,5 @@
1 V9FS: 9P2000 for Linux 1 v9fs: Plan 9 Resource Sharing for Linux
2 ====================== 2 =======================================
3 3
4ABOUT 4ABOUT
5===== 5=====
@@ -9,18 +9,19 @@ v9fs is a Unix implementation of the Plan 9 9p remote filesystem protocol.
9This software was originally developed by Ron Minnich <rminnich@lanl.gov> 9This software was originally developed by Ron Minnich <rminnich@lanl.gov>
10and Maya Gokhale <maya@lanl.gov>. Additional development by Greg Watson 10and Maya Gokhale <maya@lanl.gov>. Additional development by Greg Watson
11<gwatson@lanl.gov> and most recently Eric Van Hensbergen 11<gwatson@lanl.gov> and most recently Eric Van Hensbergen
12<ericvh@gmail.com> and Latchesar Ionkov <lucho@ionkov.net>. 12<ericvh@gmail.com>, Latchesar Ionkov <lucho@ionkov.net> and Russ Cox
13<rsc@swtch.com>.
13 14
14USAGE 15USAGE
15===== 16=====
16 17
17For remote file server: 18For remote file server:
18 19
19 mount -t 9P 10.10.1.2 /mnt/9 20 mount -t 9p 10.10.1.2 /mnt/9
20 21
21For Plan 9 From User Space applications (http://swtch.com/plan9) 22For Plan 9 From User Space applications (http://swtch.com/plan9)
22 23
23 mount -t 9P `namespace`/acme /mnt/9 -o proto=unix,name=$USER 24 mount -t 9p `namespace`/acme /mnt/9 -o proto=unix,uname=$USER
24 25
25OPTIONS 26OPTIONS
26======= 27=======
@@ -32,7 +33,7 @@ OPTIONS
32 fd - used passed file descriptors for connection 33 fd - used passed file descriptors for connection
33 (see rfdno and wfdno) 34 (see rfdno and wfdno)
34 35
35 name=name user name to attempt mount as on the remote server. The 36 uname=name user name to attempt mount as on the remote server. The
36 server may override or ignore this value. Certain user 37 server may override or ignore this value. Certain user
37 names may require authentication. 38 names may require authentication.
38 39
@@ -42,7 +43,7 @@ OPTIONS
42 debug=n specifies debug level. The debug level is a bitmask. 43 debug=n specifies debug level. The debug level is a bitmask.
43 0x01 = display verbose error messages 44 0x01 = display verbose error messages
44 0x02 = developer debug (DEBUG_CURRENT) 45 0x02 = developer debug (DEBUG_CURRENT)
45 0x04 = display 9P trace 46 0x04 = display 9p trace
46 0x08 = display VFS trace 47 0x08 = display VFS trace
47 0x10 = display Marshalling debug 48 0x10 = display Marshalling debug
48 0x20 = display RPC debug 49 0x20 = display RPC debug
@@ -53,11 +54,11 @@ OPTIONS
53 54
54 wfdno=n the file descriptor for writing with proto=fd 55 wfdno=n the file descriptor for writing with proto=fd
55 56
56 maxdata=n the number of bytes to use for 9P packet payload (msize) 57 maxdata=n the number of bytes to use for 9p packet payload (msize)
57 58
58 port=n port to connect to on the remote server 59 port=n port to connect to on the remote server
59 60
60 noextend force legacy mode (no 9P2000.u semantics) 61 noextend force legacy mode (no 9p2000.u semantics)
61 62
62 uid attempt to mount as a particular uid 63 uid attempt to mount as a particular uid
63 64
@@ -72,7 +73,7 @@ OPTIONS
72RESOURCES 73RESOURCES
73========= 74=========
74 75
75The Linux version of the 9P server is now maintained under the npfs project 76The Linux version of the 9p server is now maintained under the npfs project
76on sourceforge (http://sourceforge.net/projects/npfs). 77on sourceforge (http://sourceforge.net/projects/npfs).
77 78
78There are user and developer mailing lists available through the v9fs project 79There are user and developer mailing lists available through the v9fs project
diff --git a/Documentation/filesystems/udf.txt b/Documentation/filesystems/udf.txt
index e5213bc301f7..511b4230c053 100644
--- a/Documentation/filesystems/udf.txt
+++ b/Documentation/filesystems/udf.txt
@@ -26,6 +26,20 @@ The following mount options are supported:
26 nostrict Unset strict conformance 26 nostrict Unset strict conformance
27 iocharset= Set the NLS character set 27 iocharset= Set the NLS character set
28 28
29The uid= and gid= options need a bit more explaining. They will accept a
30decimal numeric value which will be used as the default ID for that mount.
31They will also accept the string "ignore" and "forget". For files on the disk
32that are owned by nobody ( -1 ), they will instead look as if they are owned
33by the default ID. The ignore option causes the default ID to override all
34IDs on the disk, not just -1. The forget option causes all IDs to be written
35to disk as -1, so when the media is later remounted, they will appear to be
36owned by whatever default ID it is mounted with at that time.
37
38For typical desktop use of removable media, you should set the ID to that
39of the interactively logged on user, and also specify both the forget and
40ignore options. This way the interactive user will always see the files
41on the disk as belonging to him.
42
29The remaining are for debugging and disaster recovery: 43The remaining are for debugging and disaster recovery:
30 44
31 novrs Skip volume sequence recognition 45 novrs Skip volume sequence recognition
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt
index e56e842847d3..adaa899e5c90 100644
--- a/Documentation/filesystems/vfs.txt
+++ b/Documentation/filesystems/vfs.txt
@@ -230,10 +230,15 @@ only called from a process context (i.e. not from an interrupt handler
230or bottom half). 230or bottom half).
231 231
232 alloc_inode: this method is called by inode_alloc() to allocate memory 232 alloc_inode: this method is called by inode_alloc() to allocate memory
233 for struct inode and initialize it. 233 for struct inode and initialize it. If this function is not
234 defined, a simple 'struct inode' is allocated. Normally
235 alloc_inode will be used to allocate a larger structure which
236 contains a 'struct inode' embedded within it.
234 237
235 destroy_inode: this method is called by destroy_inode() to release 238 destroy_inode: this method is called by destroy_inode() to release
236 resources allocated for struct inode. 239 resources allocated for struct inode. It is only required if
240 ->alloc_inode was defined and simply undoes anything done by
241 ->alloc_inode.
237 242
238 read_inode: this method is called to read a specific inode from the 243 read_inode: this method is called to read a specific inode from the
239 mounted filesystem. The i_ino member in the struct inode is 244 mounted filesystem. The i_ino member in the struct inode is
@@ -443,14 +448,81 @@ otherwise noted.
443The Address Space Object 448The Address Space Object
444======================== 449========================
445 450
446The address space object is used to identify pages in the page cache. 451The address space object is used to group and manage pages in the page
447 452cache. It can be used to keep track of the pages in a file (or
453anything else) and also track the mapping of sections of the file into
454process address spaces.
455
456There are a number of distinct yet related services that an
457address-space can provide. These include communicating memory
458pressure, page lookup by address, and keeping track of pages tagged as
459Dirty or Writeback.
460
461The first can be used independently to the others. The VM can try to
462either write dirty pages in order to clean them, or release clean
463pages in order to reuse them. To do this it can call the ->writepage
464method on dirty pages, and ->releasepage on clean pages with
465PagePrivate set. Clean pages without PagePrivate and with no external
466references will be released without notice being given to the
467address_space.
468
469To achieve this functionality, pages need to be placed on an LRU with
470lru_cache_add and mark_page_active needs to be called whenever the
471page is used.
472
473Pages are normally kept in a radix tree index by ->index. This tree
474maintains information about the PG_Dirty and PG_Writeback status of
475each page, so that pages with either of these flags can be found
476quickly.
477
478The Dirty tag is primarily used by mpage_writepages - the default
479->writepages method. It uses the tag to find dirty pages to call
480->writepage on. If mpage_writepages is not used (i.e. the address
481provides its own ->writepages) , the PAGECACHE_TAG_DIRTY tag is
482almost unused. write_inode_now and sync_inode do use it (through
483__sync_single_inode) to check if ->writepages has been successful in
484writing out the whole address_space.
485
486The Writeback tag is used by filemap*wait* and sync_page* functions,
487via wait_on_page_writeback_range, to wait for all writeback to
488complete. While waiting ->sync_page (if defined) will be called on
489each page that is found to require writeback.
490
491An address_space handler may attach extra information to a page,
492typically using the 'private' field in the 'struct page'. If such
493information is attached, the PG_Private flag should be set. This will
494cause various VM routines to make extra calls into the address_space
495handler to deal with that data.
496
497An address space acts as an intermediate between storage and
498application. Data is read into the address space a whole page at a
499time, and provided to the application either by copying of the page,
500or by memory-mapping the page.
501Data is written into the address space by the application, and then
502written-back to storage typically in whole pages, however the
503address_space has finer control of write sizes.
504
505The read process essentially only requires 'readpage'. The write
506process is more complicated and uses prepare_write/commit_write or
507set_page_dirty to write data into the address_space, and writepage,
508sync_page, and writepages to writeback data to storage.
509
510Adding and removing pages to/from an address_space is protected by the
511inode's i_mutex.
512
513When data is written to a page, the PG_Dirty flag should be set. It
514typically remains set until writepage asks for it to be written. This
515should clear PG_Dirty and set PG_Writeback. It can be actually
516written at any point after PG_Dirty is clear. Once it is known to be
517safe, PG_Writeback is cleared.
518
519Writeback makes use of a writeback_control structure...
448 520
449struct address_space_operations 521struct address_space_operations
450------------------------------- 522-------------------------------
451 523
452This describes how the VFS can manipulate mapping of a file to page cache in 524This describes how the VFS can manipulate mapping of a file to page cache in
453your filesystem. As of kernel 2.6.13, the following members are defined: 525your filesystem. As of kernel 2.6.16, the following members are defined:
454 526
455struct address_space_operations { 527struct address_space_operations {
456 int (*writepage)(struct page *page, struct writeback_control *wbc); 528 int (*writepage)(struct page *page, struct writeback_control *wbc);
@@ -469,47 +541,148 @@ struct address_space_operations {
469 loff_t offset, unsigned long nr_segs); 541 loff_t offset, unsigned long nr_segs);
470 struct page* (*get_xip_page)(struct address_space *, sector_t, 542 struct page* (*get_xip_page)(struct address_space *, sector_t,
471 int); 543 int);
544 /* migrate the contents of a page to the specified target */
545 int (*migratepage) (struct page *, struct page *);
472}; 546};
473 547
474 writepage: called by the VM write a dirty page to backing store. 548 writepage: called by the VM to write a dirty page to backing store.
549 This may happen for data integrity reasons (i.e. 'sync'), or
550 to free up memory (flush). The difference can be seen in
551 wbc->sync_mode.
552 The PG_Dirty flag has been cleared and PageLocked is true.
553 writepage should start writeout, should set PG_Writeback,
554 and should make sure the page is unlocked, either synchronously
555 or asynchronously when the write operation completes.
556
557 If wbc->sync_mode is WB_SYNC_NONE, ->writepage doesn't have to
558 try too hard if there are problems, and may choose to write out
559 other pages from the mapping if that is easier (e.g. due to
560 internal dependencies). If it chooses not to start writeout, it
561 should return AOP_WRITEPAGE_ACTIVATE so that the VM will not keep
562 calling ->writepage on that page.
563
564 See the file "Locking" for more details.
475 565
476 readpage: called by the VM to read a page from backing store. 566 readpage: called by the VM to read a page from backing store.
567 The page will be Locked when readpage is called, and should be
568 unlocked and marked uptodate once the read completes.
569 If ->readpage discovers that it needs to unlock the page for
570 some reason, it can do so, and then return AOP_TRUNCATED_PAGE.
571 In this case, the page will be relocated, relocked and if
572 that all succeeds, ->readpage will be called again.
477 573
478 sync_page: called by the VM to notify the backing store to perform all 574 sync_page: called by the VM to notify the backing store to perform all
479 queued I/O operations for a page. I/O operations for other pages 575 queued I/O operations for a page. I/O operations for other pages
480 associated with this address_space object may also be performed. 576 associated with this address_space object may also be performed.
481 577
578 This function is optional and is called only for pages with
579 PG_Writeback set while waiting for the writeback to complete.
580
482 writepages: called by the VM to write out pages associated with the 581 writepages: called by the VM to write out pages associated with the
483 address_space object. 582 address_space object. If wbc->sync_mode is WBC_SYNC_ALL, then
583 the writeback_control will specify a range of pages that must be
584 written out. If it is WBC_SYNC_NONE, then a nr_to_write is given
585 and that many pages should be written if possible.
586 If no ->writepages is given, then mpage_writepages is used
587 instead. This will choose pages from the address space that are
588 tagged as DIRTY and will pass them to ->writepage.
484 589
485 set_page_dirty: called by the VM to set a page dirty. 590 set_page_dirty: called by the VM to set a page dirty.
591 This is particularly needed if an address space attaches
592 private data to a page, and that data needs to be updated when
593 a page is dirtied. This is called, for example, when a memory
594 mapped page gets modified.
595 If defined, it should set the PageDirty flag, and the
596 PAGECACHE_TAG_DIRTY tag in the radix tree.
486 597
487 readpages: called by the VM to read pages associated with the address_space 598 readpages: called by the VM to read pages associated with the address_space
488 object. 599 object. This is essentially just a vector version of
600 readpage. Instead of just one page, several pages are
601 requested.
602 readpages is only used for read-ahead, so read errors are
603 ignored. If anything goes wrong, feel free to give up.
489 604
490 prepare_write: called by the generic write path in VM to set up a write 605 prepare_write: called by the generic write path in VM to set up a write
491 request for a page. 606 request for a page. This indicates to the address space that
492 607 the given range of bytes is about to be written. The
493 commit_write: called by the generic write path in VM to write page to 608 address_space should check that the write will be able to
494 its backing store. 609 complete, by allocating space if necessary and doing any other
610 internal housekeeping. If the write will update parts of
611 any basic-blocks on storage, then those blocks should be
612 pre-read (if they haven't been read already) so that the
613 updated blocks can be written out properly.
614 The page will be locked. If prepare_write wants to unlock the
615 page it, like readpage, may do so and return
616 AOP_TRUNCATED_PAGE.
617 In this case the prepare_write will be retried one the lock is
618 regained.
619
620 commit_write: If prepare_write succeeds, new data will be copied
621 into the page and then commit_write will be called. It will
622 typically update the size of the file (if appropriate) and
623 mark the inode as dirty, and do any other related housekeeping
624 operations. It should avoid returning an error if possible -
625 errors should have been handled by prepare_write.
495 626
496 bmap: called by the VFS to map a logical block offset within object to 627 bmap: called by the VFS to map a logical block offset within object to
497 physical block number. This method is use by for the legacy FIBMAP 628 physical block number. This method is used by the FIBMAP
498 ioctl. Other uses are discouraged. 629 ioctl and for working with swap-files. To be able to swap to
499 630 a file, the file must have a stable mapping to a block
500 invalidatepage: called by the VM on truncate to disassociate a page from its 631 device. The swap system does not go through the filesystem
501 address_space mapping. 632 but instead uses bmap to find out where the blocks in the file
502 633 are and uses those addresses directly.
503 releasepage: called by the VFS to release filesystem specific metadata from 634
504 a page. 635
505 636 invalidatepage: If a page has PagePrivate set, then invalidatepage
506 direct_IO: called by the VM for direct I/O writes and reads. 637 will be called when part or all of the page is to be removed
638 from the address space. This generally corresponds to either a
639 truncation or a complete invalidation of the address space
640 (in the latter case 'offset' will always be 0).
641 Any private data associated with the page should be updated
642 to reflect this truncation. If offset is 0, then
643 the private data should be released, because the page
644 must be able to be completely discarded. This may be done by
645 calling the ->releasepage function, but in this case the
646 release MUST succeed.
647
648 releasepage: releasepage is called on PagePrivate pages to indicate
649 that the page should be freed if possible. ->releasepage
650 should remove any private data from the page and clear the
651 PagePrivate flag. It may also remove the page from the
652 address_space. If this fails for some reason, it may indicate
653 failure with a 0 return value.
654 This is used in two distinct though related cases. The first
655 is when the VM finds a clean page with no active users and
656 wants to make it a free page. If ->releasepage succeeds, the
657 page will be removed from the address_space and become free.
658
659 The second case if when a request has been made to invalidate
660 some or all pages in an address_space. This can happen
661 through the fadvice(POSIX_FADV_DONTNEED) system call or by the
662 filesystem explicitly requesting it as nfs and 9fs do (when
663 they believe the cache may be out of date with storage) by
664 calling invalidate_inode_pages2().
665 If the filesystem makes such a call, and needs to be certain
666 that all pages are invalidated, then its releasepage will
667 need to ensure this. Possibly it can clear the PageUptodate
668 bit if it cannot free private data yet.
669
670 direct_IO: called by the generic read/write routines to perform
671 direct_IO - that is IO requests which bypass the page cache
672 and transfer data directly between the storage and the
673 application's address space.
507 674
508 get_xip_page: called by the VM to translate a block number to a page. 675 get_xip_page: called by the VM to translate a block number to a page.
509 The page is valid until the corresponding filesystem is unmounted. 676 The page is valid until the corresponding filesystem is unmounted.
510 Filesystems that want to use execute-in-place (XIP) need to implement 677 Filesystems that want to use execute-in-place (XIP) need to implement
511 it. An example implementation can be found in fs/ext2/xip.c. 678 it. An example implementation can be found in fs/ext2/xip.c.
512 679
680 migrate_page: This is used to compact the physical memory usage.
681 If the VM wants to relocate a page (maybe off a memory card
682 that is signalling imminent failure) it will pass a new page
683 and an old page to this function. migrate_page should
684 transfer any private data across and update any references
685 that it has to the page.
513 686
514The File Object 687The File Object
515=============== 688===============
diff --git a/Documentation/firmware_class/firmware_sample_driver.c b/Documentation/firmware_class/firmware_sample_driver.c
index d3ad2c24490a..ad3edaba4533 100644
--- a/Documentation/firmware_class/firmware_sample_driver.c
+++ b/Documentation/firmware_class/firmware_sample_driver.c
@@ -23,7 +23,6 @@ char __init inkernel_firmware[] = "let's say that this is firmware\n";
23#endif 23#endif
24 24
25static struct device ghost_device = { 25static struct device ghost_device = {
26 .name = "Ghost Device",
27 .bus_id = "ghost0", 26 .bus_id = "ghost0",
28}; 27};
29 28
@@ -92,7 +91,7 @@ static void sample_probe_async(void)
92{ 91{
93 /* Let's say that I can't sleep */ 92 /* Let's say that I can't sleep */
94 int error; 93 int error;
95 error = request_firmware_nowait (THIS_MODULE, 94 error = request_firmware_nowait (THIS_MODULE, FW_ACTION_NOHOTPLUG,
96 "sample_driver_fw", &ghost_device, 95 "sample_driver_fw", &ghost_device,
97 "my device pointer", 96 "my device pointer",
98 sample_probe_async_cont); 97 sample_probe_async_cont);
diff --git a/Documentation/firmware_class/firmware_sample_firmware_class.c b/Documentation/firmware_class/firmware_sample_firmware_class.c
index 57b956aecbc5..9e1b0e4051cd 100644
--- a/Documentation/firmware_class/firmware_sample_firmware_class.c
+++ b/Documentation/firmware_class/firmware_sample_firmware_class.c
@@ -172,7 +172,6 @@ static void fw_remove_class_device(struct class_device *class_dev)
172static struct class_device *class_dev; 172static struct class_device *class_dev;
173 173
174static struct device my_device = { 174static struct device my_device = {
175 .name = "Sample Device",
176 .bus_id = "my_dev0", 175 .bus_id = "my_dev0",
177}; 176};
178 177
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 44a25f3f51d1..f8cb55c30b0f 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -367,12 +367,17 @@ running once the system is up.
367 tty<n> Use the virtual console device <n>. 367 tty<n> Use the virtual console device <n>.
368 368
369 ttyS<n>[,options] 369 ttyS<n>[,options]
370 ttyUSB0[,options]
370 Use the specified serial port. The options are of 371 Use the specified serial port. The options are of
371 the form "bbbbpn", where "bbbb" is the baud rate, 372 the form "bbbbpnf", where "bbbb" is the baud rate,
372 "p" is parity ("n", "o", or "e"), and "n" is bits. 373 "p" is parity ("n", "o", or "e"), "n" is number of
373 Default is "9600n8". 374 bits, and "f" is flow control ("r" for RTS or
374 375 omit it). Default is "9600n8".
375 See also Documentation/serial-console.txt. 376
377 See Documentation/serial-console.txt for more
378 information. See
379 Documentation/networking/netconsole.txt for an
380 alternative.
376 381
377 uart,io,<addr>[,options] 382 uart,io,<addr>[,options]
378 uart,mmio,<addr>[,options] 383 uart,mmio,<addr>[,options]
diff --git a/Documentation/networking/ray_cs.txt b/Documentation/networking/ray_cs.txt
index 5427f8c7df95..145d27a52395 100644
--- a/Documentation/networking/ray_cs.txt
+++ b/Documentation/networking/ray_cs.txt
@@ -25,7 +25,7 @@ the essid= string parameter is available via the kernel command line.
25This will change after the method of sorting out parameters for all 25This will change after the method of sorting out parameters for all
26the PCMCIA drivers is agreed upon. If you must have a built in driver 26the PCMCIA drivers is agreed upon. If you must have a built in driver
27with nondefault parameters, they can be edited in 27with nondefault parameters, they can be edited in
28/usr/src/linux/drivers/net/pcmcia/ray_cs.c. Searching for MODULE_PARM 28/usr/src/linux/drivers/net/pcmcia/ray_cs.c. Searching for module_param
29will find them all. 29will find them all.
30 30
31Information on card services is available at: 31Information on card services is available at:
diff --git a/Documentation/serial-console.txt b/Documentation/serial-console.txt
index 6c689b0df2b8..9a7bc8b3f479 100644
--- a/Documentation/serial-console.txt
+++ b/Documentation/serial-console.txt
@@ -17,11 +17,13 @@ The format of this option is:
17 ttyX for any other virtual console 17 ttyX for any other virtual console
18 ttySx for a serial port 18 ttySx for a serial port
19 lp0 for the first parallel port 19 lp0 for the first parallel port
20 ttyUSB0 for the first USB serial device
20 21
21 options: depend on the driver. For the serial port this 22 options: depend on the driver. For the serial port this
22 defines the baudrate/parity/bits of the port, 23 defines the baudrate/parity/bits/flow control of
23 in the format BBBBPN, where BBBB is the speed, 24 the port, in the format BBBBPNF, where BBBB is the
24 P is parity (n/o/e), and N is bits. Default is 25 speed, P is parity (n/o/e), N is number of bits,
26 and F is flow control ('r' for RTS). Default is
25 9600n8. The maximum baudrate is 115200. 27 9600n8. The maximum baudrate is 115200.
26 28
27You can specify multiple console= options on the kernel command line. 29You can specify multiple console= options on the kernel command line.
@@ -45,6 +47,9 @@ become the console.
45You will need to create a new device to use /dev/console. The official 47You will need to create a new device to use /dev/console. The official
46/dev/console is now character device 5,1. 48/dev/console is now character device 5,1.
47 49
50(You can also use a network device as a console. See
51Documentation/networking/netconsole.txt for information on that.)
52
48Here's an example that will use /dev/ttyS1 (COM2) as the console. 53Here's an example that will use /dev/ttyS1 (COM2) as the console.
49Replace the sample values as needed. 54Replace the sample values as needed.
50 55
diff --git a/Documentation/sound/oss/Introduction b/Documentation/sound/oss/Introduction
index 15d4fb975ac0..f04ba6bb7395 100644
--- a/Documentation/sound/oss/Introduction
+++ b/Documentation/sound/oss/Introduction
@@ -69,7 +69,7 @@ are available, for example IRQ, address, DMA.
69 69
70Warning, the options for different cards sometime use different names 70Warning, the options for different cards sometime use different names
71for the same or a similar feature (dma1= versus dma16=). As a last 71for the same or a similar feature (dma1= versus dma16=). As a last
72resort, inspect the code (search for MODULE_PARM). 72resort, inspect the code (search for module_param).
73 73
74Notes: 74Notes:
75 75
diff --git a/Documentation/sound/oss/cs46xx b/Documentation/sound/oss/cs46xx
index 88d6cf8b39f3..b54432709863 100644
--- a/Documentation/sound/oss/cs46xx
+++ b/Documentation/sound/oss/cs46xx
@@ -88,7 +88,7 @@ parameters. for a copy email: twoller@crystal.cirrus.com
88 88
89MODULE_PARMS definitions 89MODULE_PARMS definitions
90------------------------ 90------------------------
91MODULE_PARM(defaultorder, "i"); 91module_param(defaultorder, ulong, 0);
92defaultorder=N 92defaultorder=N
93where N is a value from 1 to 12 93where N is a value from 1 to 12
94The buffer order determines the size of the dma buffer for the driver. 94The buffer order determines the size of the dma buffer for the driver.
@@ -98,18 +98,18 @@ to not underrun the dma buffer as easily. As default, use 32k (order=3)
98rather than 64k as some of the games work more responsively. 98rather than 64k as some of the games work more responsively.
99(2^N) * PAGE_SIZE = allocated buffer size 99(2^N) * PAGE_SIZE = allocated buffer size
100 100
101MODULE_PARM(cs_debuglevel, "i"); 101module_param(cs_debuglevel, ulong, 0644);
102MODULE_PARM(cs_debugmask, "i"); 102module_param(cs_debugmask, ulong, 0644);
103cs_debuglevel=N 103cs_debuglevel=N
104cs_debugmask=0xMMMMMMMM 104cs_debugmask=0xMMMMMMMM
105where N is a value from 0 (no debug printfs), to 9 (maximum) 105where N is a value from 0 (no debug printfs), to 9 (maximum)
1060xMMMMMMMM is a debug mask corresponding to the CS_xxx bits (see driver source). 1060xMMMMMMMM is a debug mask corresponding to the CS_xxx bits (see driver source).
107 107
108MODULE_PARM(hercules_egpio_disable, "i"); 108module_param(hercules_egpio_disable, ulong, 0);
109hercules_egpio_disable=N 109hercules_egpio_disable=N
110where N is a 0 (enable egpio), or a 1 (disable egpio support) 110where N is a 0 (enable egpio), or a 1 (disable egpio support)
111 111
112MODULE_PARM(initdelay, "i"); 112module_param(initdelay, ulong, 0);
113initdelay=N 113initdelay=N
114This value is used to determine the millescond delay during the initialization 114This value is used to determine the millescond delay during the initialization
115code prior to powering up the PLL. On laptops this value can be used to 115code prior to powering up the PLL. On laptops this value can be used to
@@ -118,19 +118,19 @@ system is booted under battery power then the mdelay()/udelay() functions fail t
118properly delay the required time. Also, if the system is booted under AC power 118properly delay the required time. Also, if the system is booted under AC power
119and then the power removed, the mdelay()/udelay() functions will not delay properly. 119and then the power removed, the mdelay()/udelay() functions will not delay properly.
120 120
121MODULE_PARM(powerdown, "i"); 121module_param(powerdown, ulong, 0);
122powerdown=N 122powerdown=N
123where N is 0 (disable any powerdown of the internal blocks) or 1 (enable powerdown) 123where N is 0 (disable any powerdown of the internal blocks) or 1 (enable powerdown)
124 124
125 125
126MODULE_PARM(external_amp, "i"); 126module_param(external_amp, bool, 0);
127external_amp=1 127external_amp=1
128if N is set to 1, then force enabling the EAPD support in the primary AC97 codec. 128if N is set to 1, then force enabling the EAPD support in the primary AC97 codec.
129override the detection logic and force the external amp bit in the AC97 0x26 register 129override the detection logic and force the external amp bit in the AC97 0x26 register
130to be reset (0). EAPD should be 0 for powerup, and 1 for powerdown. The VTB Santa Cruz 130to be reset (0). EAPD should be 0 for powerup, and 1 for powerdown. The VTB Santa Cruz
131card has inverted logic, so there is a special function for these cards. 131card has inverted logic, so there is a special function for these cards.
132 132
133MODULE_PARM(thinkpad, "i"); 133module_param(thinkpad, bool, 0);
134thinkpad=1 134thinkpad=1
135if N is set to 1, then force enabling the clkrun functionality. 135if N is set to 1, then force enabling the clkrun functionality.
136Currently, when the part is being used, then clkrun is disabled for the entire system, 136Currently, when the part is being used, then clkrun is disabled for the entire system,
diff --git a/Documentation/video4linux/CQcam.txt b/Documentation/video4linux/CQcam.txt
index e415e3604539..464e4cec94cb 100644
--- a/Documentation/video4linux/CQcam.txt
+++ b/Documentation/video4linux/CQcam.txt
@@ -1,7 +1,7 @@
1c-qcam - Connectix Color QuickCam video4linux kernel driver 1c-qcam - Connectix Color QuickCam video4linux kernel driver
2 2
3Copyright (C) 1999 Dave Forrest <drf5n@virginia.edu> 3Copyright (C) 1999 Dave Forrest <drf5n@virginia.edu>
4 released under GNU GPL. 4 released under GNU GPL.
5 5
61999-12-08 Dave Forrest, written with kernel version 2.2.12 in mind 61999-12-08 Dave Forrest, written with kernel version 2.2.12 in mind
7 7
@@ -45,21 +45,21 @@ configuration. The appropriate flags are:
45 CONFIG_PNP_PARPORT M for autoprobe.o IEEE1284 readback module 45 CONFIG_PNP_PARPORT M for autoprobe.o IEEE1284 readback module
46 CONFIG_PRINTER_READBACK M for parport_probe.o IEEE1284 readback module 46 CONFIG_PRINTER_READBACK M for parport_probe.o IEEE1284 readback module
47 CONFIG_VIDEO_DEV M for videodev.o video4linux module 47 CONFIG_VIDEO_DEV M for videodev.o video4linux module
48 CONFIG_VIDEO_CQCAM M for c-qcam.o Color Quickcam module 48 CONFIG_VIDEO_CQCAM M for c-qcam.o Color Quickcam module
49 49
50 With these flags, the kernel should compile and install the modules. 50 With these flags, the kernel should compile and install the modules.
51To record and monitor the compilation, I use: 51To record and monitor the compilation, I use:
52 52
53 (make zlilo ; \ 53 (make zlilo ; \
54 make modules; \ 54 make modules; \
55 make modules_install ; 55 make modules_install ;
56 depmod -a ) &>log & 56 depmod -a ) &>log &
57 less log # then a capital 'F' to watch the progress 57 less log # then a capital 'F' to watch the progress
58 58
59But that is my personal preference. 59But that is my personal preference.
60 60
612.2 Configuration 612.2 Configuration
62 62
63 The configuration requires module configuration and device 63 The configuration requires module configuration and device
64configuration. I like kmod or kerneld process with the 64configuration. I like kmod or kerneld process with the
65/etc/modprobe.conf file so the modules can automatically load/unload as 65/etc/modprobe.conf file so the modules can automatically load/unload as
@@ -68,7 +68,7 @@ using MAKEDEV, or need to be created. The following sections detail
68these procedures. 68these procedures.
69 69
70 70
712.1 Module Configuration 712.1 Module Configuration
72 72
73 Using modules requires a bit of work to install and pass the 73 Using modules requires a bit of work to install and pass the
74parameters. Understand that entries in /etc/modprobe.conf of: 74parameters. Understand that entries in /etc/modprobe.conf of:
@@ -128,9 +128,9 @@ system (CONFIG_PROC_FS), the parallel printer support
128(CONFIG_PRINTER), the IEEE 1284 system,(CONFIG_PRINTER_READBACK), you 128(CONFIG_PRINTER), the IEEE 1284 system,(CONFIG_PRINTER_READBACK), you
129should be able to read some identification from your quickcam with 129should be able to read some identification from your quickcam with
130 130
131 modprobe -v parport 131 modprobe -v parport
132 modprobe -v parport_probe 132 modprobe -v parport_probe
133 cat /proc/parport/PORTNUMBER/autoprobe 133 cat /proc/parport/PORTNUMBER/autoprobe
134Returns: 134Returns:
135 CLASS:MEDIA; 135 CLASS:MEDIA;
136 MODEL:Color QuickCam 2.0; 136 MODEL:Color QuickCam 2.0;
@@ -140,7 +140,7 @@ Returns:
140and well. A common problem is that the current driver does not 140and well. A common problem is that the current driver does not
141reliably detect a c-qcam, even though one is attached. In this case, 141reliably detect a c-qcam, even though one is attached. In this case,
142 142
143 modprobe -v c-qcam 143 modprobe -v c-qcam
144or 144or
145 insmod -v c-qcam 145 insmod -v c-qcam
146 146
@@ -152,16 +152,16 @@ video4linux mailing list and archive for more current information.
1523.1 Checklist: 1523.1 Checklist:
153 153
154 Can you get an image? 154 Can you get an image?
155 v4lgrab >qcam.ppm ; wc qcam.ppm ; xv qcam.ppm 155 v4lgrab >qcam.ppm ; wc qcam.ppm ; xv qcam.ppm
156 156
157 Is a working c-qcam connected to the port? 157 Is a working c-qcam connected to the port?
158 grep ^ /proc/parport/?/autoprobe 158 grep ^ /proc/parport/?/autoprobe
159 159
160 Do the /dev/video* files exist? 160 Do the /dev/video* files exist?
161 ls -lad /dev/video 161 ls -lad /dev/video
162 162
163 Is the c-qcam module loaded? 163 Is the c-qcam module loaded?
164 modprobe -v c-qcam ; lsmod 164 modprobe -v c-qcam ; lsmod
165 165
166 Does the camera work with alternate programs? cqcam, etc? 166 Does the camera work with alternate programs? cqcam, etc?
167 167
@@ -174,7 +174,7 @@ video4linux mailing list and archive for more current information.
174isn't, you might try patching the c-qcam module to add a parport=xxx 174isn't, you might try patching the c-qcam module to add a parport=xxx
175option as in the bw-qcam module so you can specify the parallel port: 175option as in the bw-qcam module so you can specify the parallel port:
176 176
177 insmod -v c-qcam parport=0 177 insmod -v c-qcam parport=0
178 178
179And bypass the detection code, see ../../drivers/char/c-qcam.c and 179And bypass the detection code, see ../../drivers/char/c-qcam.c and
180look for the 'qc_detect' code and call. 180look for the 'qc_detect' code and call.
@@ -183,12 +183,12 @@ look for the 'qc_detect' code and call.
183this work is documented at the video4linux2 site listed below. 183this work is documented at the video4linux2 site listed below.
184 184
185 185
1869.0 --- A sample program using v4lgrabber, 1869.0 --- A sample program using v4lgrabber,
187 187
188This program is a simple image grabber that will copy a frame from the 188This program is a simple image grabber that will copy a frame from the
189first video device, /dev/video0 to standard output in portable pixmap 189first video device, /dev/video0 to standard output in portable pixmap
190format (.ppm) Using this like: 'v4lgrab | convert - c-qcam.jpg' 190format (.ppm) Using this like: 'v4lgrab | convert - c-qcam.jpg'
191produced this picture of me at 191produced this picture of me at
192 http://mug.sys.virginia.edu/~drf5n/extras/c-qcam.jpg 192 http://mug.sys.virginia.edu/~drf5n/extras/c-qcam.jpg
193 193
194-------------------- 8< ---------------- 8< ----------------------------- 194-------------------- 8< ---------------- 8< -----------------------------
@@ -202,8 +202,8 @@ produced this picture of me at
202 * Use as: 202 * Use as:
203 * v4lgrab >image.ppm 203 * v4lgrab >image.ppm
204 * 204 *
205 * Copyright (C) 1998-05-03, Phil Blundell <philb@gnu.org> 205 * Copyright (C) 1998-05-03, Phil Blundell <philb@gnu.org>
206 * Copied from http://www.tazenda.demon.co.uk/phil/vgrabber.c 206 * Copied from http://www.tazenda.demon.co.uk/phil/vgrabber.c
207 * with minor modifications (Dave Forrest, drf5n@virginia.edu). 207 * with minor modifications (Dave Forrest, drf5n@virginia.edu).
208 * 208 *
209 */ 209 */
@@ -225,55 +225,55 @@ produced this picture of me at
225 225
226#define READ_VIDEO_PIXEL(buf, format, depth, r, g, b) \ 226#define READ_VIDEO_PIXEL(buf, format, depth, r, g, b) \
227{ \ 227{ \
228 switch (format) \ 228 switch (format) \
229 { \ 229 { \
230 case VIDEO_PALETTE_GREY: \ 230 case VIDEO_PALETTE_GREY: \
231 switch (depth) \ 231 switch (depth) \
232 { \ 232 { \
233 case 4: \ 233 case 4: \
234 case 6: \ 234 case 6: \
235 case 8: \ 235 case 8: \
236 (r) = (g) = (b) = (*buf++ << 8);\ 236 (r) = (g) = (b) = (*buf++ << 8);\
237 break; \ 237 break; \
238 \ 238 \
239 case 16: \ 239 case 16: \
240 (r) = (g) = (b) = \ 240 (r) = (g) = (b) = \
241 *((unsigned short *) buf); \ 241 *((unsigned short *) buf); \
242 buf += 2; \ 242 buf += 2; \
243 break; \ 243 break; \
244 } \ 244 } \
245 break; \ 245 break; \
246 \ 246 \
247 \ 247 \
248 case VIDEO_PALETTE_RGB565: \ 248 case VIDEO_PALETTE_RGB565: \
249 { \ 249 { \
250 unsigned short tmp = *(unsigned short *)buf; \ 250 unsigned short tmp = *(unsigned short *)buf; \
251 (r) = tmp&0xF800; \ 251 (r) = tmp&0xF800; \
252 (g) = (tmp<<5)&0xFC00; \ 252 (g) = (tmp<<5)&0xFC00; \
253 (b) = (tmp<<11)&0xF800; \ 253 (b) = (tmp<<11)&0xF800; \
254 buf += 2; \ 254 buf += 2; \
255 } \ 255 } \
256 break; \ 256 break; \
257 \ 257 \
258 case VIDEO_PALETTE_RGB555: \ 258 case VIDEO_PALETTE_RGB555: \
259 (r) = (buf[0]&0xF8)<<8; \ 259 (r) = (buf[0]&0xF8)<<8; \
260 (g) = ((buf[0] << 5 | buf[1] >> 3)&0xF8)<<8; \ 260 (g) = ((buf[0] << 5 | buf[1] >> 3)&0xF8)<<8; \
261 (b) = ((buf[1] << 2 ) & 0xF8)<<8; \ 261 (b) = ((buf[1] << 2 ) & 0xF8)<<8; \
262 buf += 2; \ 262 buf += 2; \
263 break; \ 263 break; \
264 \ 264 \
265 case VIDEO_PALETTE_RGB24: \ 265 case VIDEO_PALETTE_RGB24: \
266 (r) = buf[0] << 8; (g) = buf[1] << 8; \ 266 (r) = buf[0] << 8; (g) = buf[1] << 8; \
267 (b) = buf[2] << 8; \ 267 (b) = buf[2] << 8; \
268 buf += 3; \ 268 buf += 3; \
269 break; \ 269 break; \
270 \ 270 \
271 default: \ 271 default: \
272 fprintf(stderr, \ 272 fprintf(stderr, \
273 "Format %d not yet supported\n", \ 273 "Format %d not yet supported\n", \
274 format); \ 274 format); \
275 } \ 275 } \
276} 276}
277 277
278int get_brightness_adj(unsigned char *image, long size, int *brightness) { 278int get_brightness_adj(unsigned char *image, long size, int *brightness) {
279 long i, tot = 0; 279 long i, tot = 0;
@@ -324,40 +324,40 @@ int main(int argc, char ** argv)
324 if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) { 324 if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {
325 vpic.depth=6; 325 vpic.depth=6;
326 if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) { 326 if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {
327 vpic.depth=4; 327 vpic.depth=4;
328 if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) { 328 if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {
329 fprintf(stderr, "Unable to find a supported capture format.\n"); 329 fprintf(stderr, "Unable to find a supported capture format.\n");
330 close(fd); 330 close(fd);
331 exit(1); 331 exit(1);
332 } 332 }
333 } 333 }
334 } 334 }
335 } else { 335 } else {
336 vpic.depth=24; 336 vpic.depth=24;
337 vpic.palette=VIDEO_PALETTE_RGB24; 337 vpic.palette=VIDEO_PALETTE_RGB24;
338 338
339 if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) { 339 if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {
340 vpic.palette=VIDEO_PALETTE_RGB565; 340 vpic.palette=VIDEO_PALETTE_RGB565;
341 vpic.depth=16; 341 vpic.depth=16;
342 342
343 if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) { 343 if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) {
344 vpic.palette=VIDEO_PALETTE_RGB555; 344 vpic.palette=VIDEO_PALETTE_RGB555;
345 vpic.depth=15; 345 vpic.depth=15;
346 346
347 if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) { 347 if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) {
348 fprintf(stderr, "Unable to find a supported capture format.\n"); 348 fprintf(stderr, "Unable to find a supported capture format.\n");
349 return -1; 349 return -1;
350 } 350 }
351 } 351 }
352 } 352 }
353 } 353 }
354 354
355 buffer = malloc(win.width * win.height * bpp); 355 buffer = malloc(win.width * win.height * bpp);
356 if (!buffer) { 356 if (!buffer) {
357 fprintf(stderr, "Out of memory.\n"); 357 fprintf(stderr, "Out of memory.\n");
358 exit(1); 358 exit(1);
359 } 359 }
360 360
361 do { 361 do {
362 int newbright; 362 int newbright;
363 read(fd, buffer, win.width * win.height * bpp); 363 read(fd, buffer, win.width * win.height * bpp);
@@ -365,8 +365,8 @@ int main(int argc, char ** argv)
365 if (f) { 365 if (f) {
366 vpic.brightness += (newbright << 8); 366 vpic.brightness += (newbright << 8);
367 if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) { 367 if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) {
368 perror("VIDIOSPICT"); 368 perror("VIDIOSPICT");
369 break; 369 break;
370 } 370 }
371 } 371 }
372 } while (f); 372 } while (f);
@@ -381,7 +381,7 @@ int main(int argc, char ** argv)
381 fputc(g>>8, stdout); 381 fputc(g>>8, stdout);
382 fputc(b>>8, stdout); 382 fputc(b>>8, stdout);
383 } 383 }
384 384
385 close(fd); 385 close(fd);
386 return 0; 386 return 0;
387} 387}
diff --git a/Documentation/video4linux/README.cpia b/Documentation/video4linux/README.cpia
index c95e7bbc0fdf..19cd3bf24981 100644
--- a/Documentation/video4linux/README.cpia
+++ b/Documentation/video4linux/README.cpia
@@ -87,7 +87,7 @@ hardware configuration of the parport. You can give the boot-parameter
87at the LILO-prompt or specify it in lilo.conf. I use the following 87at the LILO-prompt or specify it in lilo.conf. I use the following
88append-line in lilo.conf: 88append-line in lilo.conf:
89 89
90 append="parport=0x378,7,3" 90 append="parport=0x378,7,3"
91 91
92See Documentation/parport.txt for more information about the 92See Documentation/parport.txt for more information about the
93configuration of the parport and the values given above. Do not simply 93configuration of the parport and the values given above. Do not simply
@@ -175,7 +175,7 @@ THANKS (in no particular order):
175- Manuel J. Petit de Gabriel <mpetit@dit.upm.es> for providing help 175- Manuel J. Petit de Gabriel <mpetit@dit.upm.es> for providing help
176 with Isabel (http://isabel.dit.upm.es/) 176 with Isabel (http://isabel.dit.upm.es/)
177- Bas Huisman <bhuism@cs.utwente.nl> for writing the initial parport code 177- Bas Huisman <bhuism@cs.utwente.nl> for writing the initial parport code
178- Jarl Totland <Jarl.Totland@bdc.no> for setting up the mailing list 178- Jarl Totland <Jarl.Totland@bdc.no> for setting up the mailing list
179 and maintaining the web-server[3] 179 and maintaining the web-server[3]
180- Chris Whiteford <Chris@informinteractive.com> for fixes related to the 180- Chris Whiteford <Chris@informinteractive.com> for fixes related to the
181 1.02 firmware 181 1.02 firmware
diff --git a/Documentation/video4linux/Zoran b/Documentation/video4linux/Zoran
index 52c94bd7dca1..be9f21b84555 100644
--- a/Documentation/video4linux/Zoran
+++ b/Documentation/video4linux/Zoran
@@ -28,7 +28,7 @@ Iomega Buz:
28* Philips saa7111 TV decoder 28* Philips saa7111 TV decoder
29* Philips saa7185 TV encoder 29* Philips saa7185 TV encoder
30Drivers to use: videodev, i2c-core, i2c-algo-bit, 30Drivers to use: videodev, i2c-core, i2c-algo-bit,
31 videocodec, saa7111, saa7185, zr36060, zr36067 31 videocodec, saa7111, saa7185, zr36060, zr36067
32Inputs/outputs: Composite and S-video 32Inputs/outputs: Composite and S-video
33Norms: PAL, SECAM (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps) 33Norms: PAL, SECAM (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)
34Card number: 7 34Card number: 7
@@ -39,7 +39,7 @@ Linux Media Labs LML33:
39* Brooktree bt819 TV decoder 39* Brooktree bt819 TV decoder
40* Brooktree bt856 TV encoder 40* Brooktree bt856 TV encoder
41Drivers to use: videodev, i2c-core, i2c-algo-bit, 41Drivers to use: videodev, i2c-core, i2c-algo-bit,
42 videocodec, bt819, bt856, zr36060, zr36067 42 videocodec, bt819, bt856, zr36060, zr36067
43Inputs/outputs: Composite and S-video 43Inputs/outputs: Composite and S-video
44Norms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps) 44Norms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)
45Card number: 5 45Card number: 5
@@ -50,7 +50,7 @@ Linux Media Labs LML33R10:
50* Philips saa7114 TV decoder 50* Philips saa7114 TV decoder
51* Analog Devices adv7170 TV encoder 51* Analog Devices adv7170 TV encoder
52Drivers to use: videodev, i2c-core, i2c-algo-bit, 52Drivers to use: videodev, i2c-core, i2c-algo-bit,
53 videocodec, saa7114, adv7170, zr36060, zr36067 53 videocodec, saa7114, adv7170, zr36060, zr36067
54Inputs/outputs: Composite and S-video 54Inputs/outputs: Composite and S-video
55Norms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps) 55Norms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)
56Card number: 6 56Card number: 6
@@ -61,7 +61,7 @@ Pinnacle/Miro DC10(new):
61* Philips saa7110a TV decoder 61* Philips saa7110a TV decoder
62* Analog Devices adv7176 TV encoder 62* Analog Devices adv7176 TV encoder
63Drivers to use: videodev, i2c-core, i2c-algo-bit, 63Drivers to use: videodev, i2c-core, i2c-algo-bit,
64 videocodec, saa7110, adv7175, zr36060, zr36067 64 videocodec, saa7110, adv7175, zr36060, zr36067
65Inputs/outputs: Composite, S-video and Internal 65Inputs/outputs: Composite, S-video and Internal
66Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) 66Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
67Card number: 1 67Card number: 1
@@ -84,7 +84,7 @@ Pinnacle/Miro DC10(old): *
84* Micronas vpx3220a TV decoder 84* Micronas vpx3220a TV decoder
85* mse3000 TV encoder or Analog Devices adv7176 TV encoder * 85* mse3000 TV encoder or Analog Devices adv7176 TV encoder *
86Drivers to use: videodev, i2c-core, i2c-algo-bit, 86Drivers to use: videodev, i2c-core, i2c-algo-bit,
87 videocodec, vpx3220, mse3000/adv7175, zr36050, zr36016, zr36067 87 videocodec, vpx3220, mse3000/adv7175, zr36050, zr36016, zr36067
88Inputs/outputs: Composite, S-video and Internal 88Inputs/outputs: Composite, S-video and Internal
89Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) 89Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
90Card number: 0 90Card number: 0
@@ -96,7 +96,7 @@ Pinnacle/Miro DC30: *
96* Micronas vpx3225d/vpx3220a/vpx3216b TV decoder 96* Micronas vpx3225d/vpx3220a/vpx3216b TV decoder
97* Analog Devices adv7176 TV encoder 97* Analog Devices adv7176 TV encoder
98Drivers to use: videodev, i2c-core, i2c-algo-bit, 98Drivers to use: videodev, i2c-core, i2c-algo-bit,
99 videocodec, vpx3220/vpx3224, adv7175, zr36050, zr36016, zr36067 99 videocodec, vpx3220/vpx3224, adv7175, zr36050, zr36016, zr36067
100Inputs/outputs: Composite, S-video and Internal 100Inputs/outputs: Composite, S-video and Internal
101Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) 101Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
102Card number: 3 102Card number: 3
@@ -123,11 +123,11 @@ Note: use encoder=X or decoder=X for non-default i2c chips (see i2c-id.h)
123 123
124The best know TV standards are NTSC/PAL/SECAM. but for decoding a frame that 124The best know TV standards are NTSC/PAL/SECAM. but for decoding a frame that
125information is not enough. There are several formats of the TV standards. 125information is not enough. There are several formats of the TV standards.
126And not every TV decoder is able to handle every format. Also the every 126And not every TV decoder is able to handle every format. Also the every
127combination is supported by the driver. There are currently 11 different 127combination is supported by the driver. There are currently 11 different
128tv broadcast formats all aver the world. 128tv broadcast formats all aver the world.
129 129
130The CCIR defines parameters needed for broadcasting the signal. 130The CCIR defines parameters needed for broadcasting the signal.
131The CCIR has defined different standards: A,B,D,E,F,G,D,H,I,K,K1,L,M,N,... 131The CCIR has defined different standards: A,B,D,E,F,G,D,H,I,K,K1,L,M,N,...
132The CCIR says not much about about the colorsystem used !!! 132The CCIR says not much about about the colorsystem used !!!
133And talking about a colorsystem says not to much about how it is broadcast. 133And talking about a colorsystem says not to much about how it is broadcast.
@@ -136,18 +136,18 @@ The CCIR standards A,E,F are not used any more.
136 136
137When you speak about NTSC, you usually mean the standard: CCIR - M using 137When you speak about NTSC, you usually mean the standard: CCIR - M using
138the NTSC colorsystem which is used in the USA, Japan, Mexico, Canada 138the NTSC colorsystem which is used in the USA, Japan, Mexico, Canada
139and a few others. 139and a few others.
140 140
141When you talk about PAL, you usually mean: CCIR - B/G using the PAL 141When you talk about PAL, you usually mean: CCIR - B/G using the PAL
142colorsystem which is used in many Countries. 142colorsystem which is used in many Countries.
143 143
144When you talk about SECAM, you mean: CCIR - L using the SECAM Colorsystem 144When you talk about SECAM, you mean: CCIR - L using the SECAM Colorsystem
145which is used in France, and a few others. 145which is used in France, and a few others.
146 146
147There the other version of SECAM, CCIR - D/K is used in Bulgaria, China, 147There the other version of SECAM, CCIR - D/K is used in Bulgaria, China,
148Slovakai, Hungary, Korea (Rep.), Poland, Rumania and a others. 148Slovakai, Hungary, Korea (Rep.), Poland, Rumania and a others.
149 149
150The CCIR - H uses the PAL colorsystem (sometimes SECAM) and is used in 150The CCIR - H uses the PAL colorsystem (sometimes SECAM) and is used in
151Egypt, Libya, Sri Lanka, Syrain Arab. Rep. 151Egypt, Libya, Sri Lanka, Syrain Arab. Rep.
152 152
153The CCIR - I uses the PAL colorsystem, and is used in Great Britain, Hong Kong, 153The CCIR - I uses the PAL colorsystem, and is used in Great Britain, Hong Kong,
@@ -158,30 +158,30 @@ and is used in Argentinia, Uruguay, an a few others
158 158
159We do not talk about how the audio is broadcast ! 159We do not talk about how the audio is broadcast !
160 160
161A rather good sites about the TV standards are: 161A rather good sites about the TV standards are:
162http://www.sony.jp/ServiceArea/Voltage_map/ 162http://www.sony.jp/ServiceArea/Voltage_map/
163http://info.electronicwerkstatt.de/bereiche/fernsehtechnik/frequenzen_und_normen/Fernsehnormen/ 163http://info.electronicwerkstatt.de/bereiche/fernsehtechnik/frequenzen_und_normen/Fernsehnormen/
164and http://www.cabl.com/restaurant/channel.html 164and http://www.cabl.com/restaurant/channel.html
165 165
166Other weird things around: NTSC 4.43 is a modificated NTSC, which is mainly 166Other weird things around: NTSC 4.43 is a modificated NTSC, which is mainly
167used in PAL VCR's that are able to play back NTSC. PAL 60 seems to be the same 167used in PAL VCR's that are able to play back NTSC. PAL 60 seems to be the same
168as NTSC 4.43 . The Datasheets also talk about NTSC 44, It seems as if it would 168as NTSC 4.43 . The Datasheets also talk about NTSC 44, It seems as if it would
169be the same as NTSC 4.43. 169be the same as NTSC 4.43.
170NTSC Combs seems to be a decoder mode where the decoder uses a comb filter 170NTSC Combs seems to be a decoder mode where the decoder uses a comb filter
171to split coma and luma instead of a Delay line. 171to split coma and luma instead of a Delay line.
172 172
173But I did not defiantly find out what NTSC Comb is. 173But I did not defiantly find out what NTSC Comb is.
174 174
175Philips saa7111 TV decoder 175Philips saa7111 TV decoder
176was introduced in 1997, is used in the BUZ and 176was introduced in 1997, is used in the BUZ and
177can handle: PAL B/G/H/I, PAL N, PAL M, NTSC M, NTSC N, NTSC 4.43 and SECAM 177can handle: PAL B/G/H/I, PAL N, PAL M, NTSC M, NTSC N, NTSC 4.43 and SECAM
178 178
179Philips saa7110a TV decoder 179Philips saa7110a TV decoder
180was introduced in 1995, is used in the Pinnacle/Miro DC10(new), DC10+ and 180was introduced in 1995, is used in the Pinnacle/Miro DC10(new), DC10+ and
181can handle: PAL B/G, NTSC M and SECAM 181can handle: PAL B/G, NTSC M and SECAM
182 182
183Philips saa7114 TV decoder 183Philips saa7114 TV decoder
184was introduced in 2000, is used in the LML33R10 and 184was introduced in 2000, is used in the LML33R10 and
185can handle: PAL B/G/D/H/I/N, PAL N, PAL M, NTSC M, NTSC 4.43 and SECAM 185can handle: PAL B/G/D/H/I/N, PAL N, PAL M, NTSC M, NTSC 4.43 and SECAM
186 186
187Brooktree bt819 TV decoder 187Brooktree bt819 TV decoder
@@ -206,7 +206,7 @@ was introduced in 1996, is used in the BUZ
206can generate: PAL B/G, NTSC M 206can generate: PAL B/G, NTSC M
207 207
208Brooktree bt856 TV Encoder 208Brooktree bt856 TV Encoder
209was introduced in 1994, is used in the LML33 209was introduced in 1994, is used in the LML33
210can generate: PAL B/D/G/H/I/N, PAL M, NTSC M, PAL-N (Argentina) 210can generate: PAL B/D/G/H/I/N, PAL M, NTSC M, PAL-N (Argentina)
211 211
212Analog Devices adv7170 TV Encoder 212Analog Devices adv7170 TV Encoder
@@ -221,9 +221,9 @@ ITT mse3000 TV encoder
221was introduced in 1991, is used in the DC10 old 221was introduced in 1991, is used in the DC10 old
222can generate: PAL , NTSC , SECAM 222can generate: PAL , NTSC , SECAM
223 223
224The adv717x, should be able to produce PAL N. But you find nothing PAL N 224The adv717x, should be able to produce PAL N. But you find nothing PAL N
225specific in the registers. Seem that you have to reuse a other standard 225specific in the registers. Seem that you have to reuse a other standard
226to generate PAL N, maybe it would work if you use the PAL M settings. 226to generate PAL N, maybe it would work if you use the PAL M settings.
227 227
228========================== 228==========================
229 229
@@ -261,7 +261,7 @@ Here's my experience of using LML33 and Buz on various motherboards:
261 261
262VIA MVP3 262VIA MVP3
263 Forget it. Pointless. Doesn't work. 263 Forget it. Pointless. Doesn't work.
264Intel 430FX (Pentium 200) 264Intel 430FX (Pentium 200)
265 LML33 perfect, Buz tolerable (3 or 4 frames dropped per movie) 265 LML33 perfect, Buz tolerable (3 or 4 frames dropped per movie)
266Intel 440BX (early stepping) 266Intel 440BX (early stepping)
267 LML33 tolerable. Buz starting to get annoying (6-10 frames/hour) 267 LML33 tolerable. Buz starting to get annoying (6-10 frames/hour)
@@ -438,52 +438,52 @@ importance of buffer sizes:
438> -q 25 -b 128 : 24.655.992 438> -q 25 -b 128 : 24.655.992
439> -q 25 -b 256 : 25.859.820 439> -q 25 -b 256 : 25.859.820
440 440
441I woke up, and can't go to sleep again. I'll kill some time explaining why 441I woke up, and can't go to sleep again. I'll kill some time explaining why
442this doesn't look strange to me. 442this doesn't look strange to me.
443 443
444Let's do some math using a width of 704 pixels. I'm not sure whether the Buz 444Let's do some math using a width of 704 pixels. I'm not sure whether the Buz
445actually use that number or not, but that's not too important right now. 445actually use that number or not, but that's not too important right now.
446 446
447704x288 pixels, one field, is 202752 pixels. Divided by 64 pixels per block; 447704x288 pixels, one field, is 202752 pixels. Divided by 64 pixels per block;
4483168 blocks per field. Each pixel consist of two bytes; 128 bytes per block; 4483168 blocks per field. Each pixel consist of two bytes; 128 bytes per block;
4491024 bits per block. 100% in the new driver mean 1:2 compression; the maximum 4491024 bits per block. 100% in the new driver mean 1:2 compression; the maximum
450output becomes 512 bits per block. Actually 510, but 512 is simpler to use 450output becomes 512 bits per block. Actually 510, but 512 is simpler to use
451for calculations. 451for calculations.
452 452
453Let's say that we specify d1q50. We thus want 256 bits per block; times 3168 453Let's say that we specify d1q50. We thus want 256 bits per block; times 3168
454becomes 811008 bits; 101376 bytes per field. We're talking raw bits and bytes 454becomes 811008 bits; 101376 bytes per field. We're talking raw bits and bytes
455here, so we don't need to do any fancy corrections for bits-per-pixel or such 455here, so we don't need to do any fancy corrections for bits-per-pixel or such
456things. 101376 bytes per field. 456things. 101376 bytes per field.
457 457
458d1 video contains two fields per frame. Those sum up to 202752 bytes per 458d1 video contains two fields per frame. Those sum up to 202752 bytes per
459frame, and one of those frames goes into each buffer. 459frame, and one of those frames goes into each buffer.
460 460
461But wait a second! -b128 gives 128kB buffers! It's not possible to cram 461But wait a second! -b128 gives 128kB buffers! It's not possible to cram
462202752 bytes of JPEG data into 128kB! 462202752 bytes of JPEG data into 128kB!
463 463
464This is what the driver notice and automatically compensate for in your 464This is what the driver notice and automatically compensate for in your
465examples. Let's do some math using this information: 465examples. Let's do some math using this information:
466 466
467128kB is 131072 bytes. In this buffer, we want to store two fields, which 467128kB is 131072 bytes. In this buffer, we want to store two fields, which
468leaves 65536 bytes for each field. Using 3168 blocks per field, we get 468leaves 65536 bytes for each field. Using 3168 blocks per field, we get
46920.68686868... available bytes per block; 165 bits. We can't allow the 46920.68686868... available bytes per block; 165 bits. We can't allow the
470request for 256 bits per block when there's only 165 bits available! The -q50 470request for 256 bits per block when there's only 165 bits available! The -q50
471option is silently overridden, and the -b128 option takes precedence, leaving 471option is silently overridden, and the -b128 option takes precedence, leaving
472us with the equivalence of -q32. 472us with the equivalence of -q32.
473 473
474This gives us a data rate of 165 bits per block, which, times 3168, sums up 474This gives us a data rate of 165 bits per block, which, times 3168, sums up
475to 65340 bytes per field, out of the allowed 65536. The current driver has 475to 65340 bytes per field, out of the allowed 65536. The current driver has
476another level of rate limiting; it won't accept -q values that fill more than 476another level of rate limiting; it won't accept -q values that fill more than
4776/8 of the specified buffers. (I'm not sure why. "Playing it safe" seem to be 4776/8 of the specified buffers. (I'm not sure why. "Playing it safe" seem to be
478a safe bet. Personally, I think I would have lowered requested-bits-per-block 478a safe bet. Personally, I think I would have lowered requested-bits-per-block
479by one, or something like that.) We can't use 165 bits per block, but have to 479by one, or something like that.) We can't use 165 bits per block, but have to
480lower it again, to 6/8 of the available buffer space: We end up with 124 bits 480lower it again, to 6/8 of the available buffer space: We end up with 124 bits
481per block, the equivalence of -q24. With 128kB buffers, you can't use greater 481per block, the equivalence of -q24. With 128kB buffers, you can't use greater
482than -q24 at -d1. (And PAL, and 704 pixels width...) 482than -q24 at -d1. (And PAL, and 704 pixels width...)
483 483
484The third example is limited to -q24 through the same process. The second 484The third example is limited to -q24 through the same process. The second
485example, using very similar calculations, is limited to -q48. The only 485example, using very similar calculations, is limited to -q48. The only
486example that actually grab at the specified -q value is the last one, which 486example that actually grab at the specified -q value is the last one, which
487is clearly visible, looking at the file size. 487is clearly visible, looking at the file size.
488-- 488--
489 489
diff --git a/Documentation/video4linux/bttv/ICs b/Documentation/video4linux/bttv/ICs
index 6b7491336967..611315f87c3e 100644
--- a/Documentation/video4linux/bttv/ICs
+++ b/Documentation/video4linux/bttv/ICs
@@ -14,13 +14,13 @@ Hauppauge Win/TV pci (version 405):
14 14
15Microchip 24LC02B or 15Microchip 24LC02B or
16Philips 8582E2Y: 256 Byte EEPROM with configuration information 16Philips 8582E2Y: 256 Byte EEPROM with configuration information
17 I2C 0xa0-0xa1, (24LC02B also responds to 0xa2-0xaf) 17 I2C 0xa0-0xa1, (24LC02B also responds to 0xa2-0xaf)
18Philips SAA5246AGP/E: Videotext decoder chip, I2C 0x22-0x23 18Philips SAA5246AGP/E: Videotext decoder chip, I2C 0x22-0x23
19TDA9800: sound decoder 19TDA9800: sound decoder
20Winbond W24257AS-35: 32Kx8 CMOS static RAM (Videotext buffer mem) 20Winbond W24257AS-35: 32Kx8 CMOS static RAM (Videotext buffer mem)
2114052B: analog switch for selection of sound source 2114052B: analog switch for selection of sound source
22 22
23PAL: 23PAL:
24TDA5737: VHF, hyperband and UHF mixer/oscillator for TV and VCR 3-band tuners 24TDA5737: VHF, hyperband and UHF mixer/oscillator for TV and VCR 3-band tuners
25TSA5522: 1.4 GHz I2C-bus controlled synthesizer, I2C 0xc2-0xc3 25TSA5522: 1.4 GHz I2C-bus controlled synthesizer, I2C 0xc2-0xc3
26 26
diff --git a/Documentation/video4linux/bttv/PROBLEMS b/Documentation/video4linux/bttv/PROBLEMS
index 8e31e9e36bf7..2b8b0079f7c7 100644
--- a/Documentation/video4linux/bttv/PROBLEMS
+++ b/Documentation/video4linux/bttv/PROBLEMS
@@ -3,7 +3,7 @@
3- Start capturing by pressing "c" or by selecting it via a menu!!! 3- Start capturing by pressing "c" or by selecting it via a menu!!!
4 4
5- The memory of some S3 cards is not recognized right: 5- The memory of some S3 cards is not recognized right:
6 6
7 First of all, if you are not using XFree-3.2 or newer, upgrade AT LEAST to 7 First of all, if you are not using XFree-3.2 or newer, upgrade AT LEAST to
8 XFree-3.2A! This solved the problem for most people. 8 XFree-3.2A! This solved the problem for most people.
9 9
@@ -31,23 +31,23 @@
31 (mostly with Trio 64 but also with some others) 31 (mostly with Trio 64 but also with some others)
32 Get the free demo version of Accelerated X from www.xinside.com and try 32 Get the free demo version of Accelerated X from www.xinside.com and try
33 bttv with it. bttv seems to work with most S3 cards with Accelerated X. 33 bttv with it. bttv seems to work with most S3 cards with Accelerated X.
34 34
35 Since I do not know much (better make that almost nothing) about VGA card 35 Since I do not know much (better make that almost nothing) about VGA card
36 programming I do not know the reason for this. 36 programming I do not know the reason for this.
37 Looks like XFree does something different when setting up the video memory? 37 Looks like XFree does something different when setting up the video memory?
38 Maybe somebody can enlighten me? 38 Maybe somebody can enlighten me?
39 Would be nice if somebody could get this to work with XFree since 39 Would be nice if somebody could get this to work with XFree since
40 Accelerated X costs more than some of the grabber cards ... 40 Accelerated X costs more than some of the grabber cards ...
41 41
42 Better linear frame buffer support for S3 cards will probably be in 42 Better linear frame buffer support for S3 cards will probably be in
43 XFree 4.0. 43 XFree 4.0.
44 44
45- Grabbing is not switched off when changing consoles with XFree. 45- Grabbing is not switched off when changing consoles with XFree.
46 That's because XFree and some AcceleratedX versions do not send unmap 46 That's because XFree and some AcceleratedX versions do not send unmap
47 events. 47 events.
48 48
49- Some popup windows (e.g. of the window manager) are not refreshed. 49- Some popup windows (e.g. of the window manager) are not refreshed.
50 50
51 Disable backing store by starting X with the option "-bs" 51 Disable backing store by starting X with the option "-bs"
52 52
53- When using 32 bpp in XFree or 24+8bpp mode in AccelX 3.1 the system 53- When using 32 bpp in XFree or 24+8bpp mode in AccelX 3.1 the system
diff --git a/Documentation/video4linux/bttv/README.quirks b/Documentation/video4linux/bttv/README.quirks
index e8edb87df711..92e03929a6b2 100644
--- a/Documentation/video4linux/bttv/README.quirks
+++ b/Documentation/video4linux/bttv/README.quirks
@@ -38,9 +38,9 @@ tolerate.
38------------------------ 38------------------------
39 39
40When using the 430FX PCI, the following rules will ensure 40When using the 430FX PCI, the following rules will ensure
41compatibility: 41compatibility:
42 42
43 (1) Deassert REQ at the same time as asserting FRAME. 43 (1) Deassert REQ at the same time as asserting FRAME.
44 (2) Do not reassert REQ to request another bus transaction until after 44 (2) Do not reassert REQ to request another bus transaction until after
45 finish-ing the previous transaction. 45 finish-ing the previous transaction.
46 46
diff --git a/Documentation/video4linux/bttv/THANKS b/Documentation/video4linux/bttv/THANKS
index 2085399da7d4..950aa781c2e9 100644
--- a/Documentation/video4linux/bttv/THANKS
+++ b/Documentation/video4linux/bttv/THANKS
@@ -1,6 +1,6 @@
1Many thanks to: 1Many thanks to:
2 2
3- Markus Schroeder <schroedm@uni-duesseldorf.de> for information on the Bt848 3- Markus Schroeder <schroedm@uni-duesseldorf.de> for information on the Bt848
4 and tuner programming and his control program xtvc. 4 and tuner programming and his control program xtvc.
5 5
6- Martin Buck <martin-2.buck@student.uni-ulm.de> for his great Videotext 6- Martin Buck <martin-2.buck@student.uni-ulm.de> for his great Videotext
@@ -16,7 +16,7 @@ Many thanks to:
16- MIRO for providing a free PCTV card and detailed information about the 16- MIRO for providing a free PCTV card and detailed information about the
17 components on their cards. (E.g. how the tuner type is detected) 17 components on their cards. (E.g. how the tuner type is detected)
18 Without their card I could not have debugged the NTSC mode. 18 Without their card I could not have debugged the NTSC mode.
19 19
20- Hauppauge for telling how the sound input is selected and what components 20- Hauppauge for telling how the sound input is selected and what components
21 they do and will use on their radio cards. 21 they do and will use on their radio cards.
22 Also many thanks for faxing me the FM1216 data sheet. 22 Also many thanks for faxing me the FM1216 data sheet.
diff --git a/Documentation/video4linux/radiotrack.txt b/Documentation/video4linux/radiotrack.txt
index 2b75345f13e3..d1f3ed199186 100644
--- a/Documentation/video4linux/radiotrack.txt
+++ b/Documentation/video4linux/radiotrack.txt
@@ -131,17 +131,17 @@ Check Stereo: BASE <-- 0xd8 (current volume, stereo detect,
131 x=0xff ==> "not stereo", x=0xfd ==> "stereo detected" 131 x=0xff ==> "not stereo", x=0xfd ==> "stereo detected"
132 132
133Set Frequency: code = (freq*40) + 10486188 133Set Frequency: code = (freq*40) + 10486188
134 foreach of the 24 bits in code, 134 foreach of the 24 bits in code,
135 (from Least to Most Significant): 135 (from Least to Most Significant):
136 to write a "zero" bit, 136 to write a "zero" bit,
137 BASE <-- 0x01 (audio mute, no stereo detect, radio 137 BASE <-- 0x01 (audio mute, no stereo detect, radio
138 disable, "zero" bit phase 1, tuner adjust) 138 disable, "zero" bit phase 1, tuner adjust)
139 BASE <-- 0x03 (audio mute, no stereo detect, radio 139 BASE <-- 0x03 (audio mute, no stereo detect, radio
140 disable, "zero" bit phase 2, tuner adjust) 140 disable, "zero" bit phase 2, tuner adjust)
141 to write a "one" bit, 141 to write a "one" bit,
142 BASE <-- 0x05 (audio mute, no stereo detect, radio 142 BASE <-- 0x05 (audio mute, no stereo detect, radio
143 disable, "one" bit phase 1, tuner adjust) 143 disable, "one" bit phase 1, tuner adjust)
144 BASE <-- 0x07 (audio mute, no stereo detect, radio 144 BASE <-- 0x07 (audio mute, no stereo detect, radio
145 disable, "one" bit phase 2, tuner adjust) 145 disable, "one" bit phase 2, tuner adjust)
146 146
147---------------------------------------------------------------------------- 147----------------------------------------------------------------------------
diff --git a/Documentation/video4linux/w9966.txt b/Documentation/video4linux/w9966.txt
index e7ac33a7eb06..78a651254b84 100644
--- a/Documentation/video4linux/w9966.txt
+++ b/Documentation/video4linux/w9966.txt
@@ -26,7 +26,7 @@ is called VIDEO_PALETTE_YUV422 (16 bpp).
26A minimal test application (with source) is available from: 26A minimal test application (with source) is available from:
27 http://hem.fyristorg.com/mogul/w9966.html 27 http://hem.fyristorg.com/mogul/w9966.html
28 28
29The slow framerate is due to missing DMA ECP read support in the 29The slow framerate is due to missing DMA ECP read support in the
30parport drivers. I might add working EPP support later. 30parport drivers. I might add working EPP support later.
31 31
32Good luck! 32Good luck!
diff --git a/Documentation/video4linux/zr36120.txt b/Documentation/video4linux/zr36120.txt
index 5d6357eefde4..ac6d92d01944 100644
--- a/Documentation/video4linux/zr36120.txt
+++ b/Documentation/video4linux/zr36120.txt
@@ -2,7 +2,7 @@ Driver for Trust Computer Products Framegrabber, version 0.6.1
2------ --- ----- -------- -------- ------------ ------- - - - 2------ --- ----- -------- -------- ------------ ------- - - -
3 3
4- ZORAN ------------------------------------------------------ 4- ZORAN ------------------------------------------------------
5 Author: Pauline Middelink <middelin@polyware.nl> 5 Author: Pauline Middelink <middelin@polyware.nl>
6 Date: 18 September 1999 6 Date: 18 September 1999
7Version: 0.6.1 7Version: 0.6.1
8 8
@@ -115,7 +115,7 @@ After making/checking the devices do:
115<n> is the cardtype of the card you have. The cardnumber can 115<n> is the cardtype of the card you have. The cardnumber can
116be found in the source of zr36120. Look for tvcards. If your 116be found in the source of zr36120. Look for tvcards. If your
117card is not there, please try if any other card gives some 117card is not there, please try if any other card gives some
118response, and mail me if you got a working tvcard addition. 118response, and mail me if you got a working tvcard addition.
119 119
120PS. <TVCard editors behold!) 120PS. <TVCard editors behold!)
121 Dont forget to set video_input to the number of inputs 121 Dont forget to set video_input to the number of inputs