diff options
author | Anton Altaparmakov <aia21@cantab.net> | 2004-11-08 10:00:34 +0000 |
---|---|---|
committer | Anton Altaparmakov <aia21@cantab.net> | 2004-11-08 10:00:34 +0000 |
commit | 92cabbc2dfc7a39c45e303b15feba19d2a08ebe6 (patch) | |
tree | b62a512432e3229e22b6befe39979ac812eebdb9 /Documentation | |
parent | ae3d2a189aaae2a83194d4af276c0eb73aca40d2 (diff) | |
parent | f199195e181f3c004e7a7a1b7ebfd7707c4e3e2a (diff) | |
download | history-92cabbc2dfc7a39c45e303b15feba19d2a08ebe6.tar.gz |
Merge cantab.net:/home/src/bklinux-2.6
into cantab.net:/home/src/ntfs-2.6-devel
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/DocBook/procfs-guide.tmpl | 4 | ||||
-rw-r--r-- | Documentation/RCU/listRCU.txt | 2 | ||||
-rw-r--r-- | Documentation/filesystems/devfs/ChangeLog | 2 | ||||
-rw-r--r-- | Documentation/kernel-parameters.txt | 16 | ||||
-rw-r--r-- | Documentation/prio_tree.txt | 107 | ||||
-rw-r--r-- | Documentation/sonypi.txt | 51 | ||||
-rw-r--r-- | Documentation/tipar.txt | 26 | ||||
-rw-r--r-- | Documentation/video4linux/meye.txt | 38 |
8 files changed, 178 insertions, 68 deletions
diff --git a/Documentation/DocBook/procfs-guide.tmpl b/Documentation/DocBook/procfs-guide.tmpl index 669b0466a7015e..34206230c7199c 100644 --- a/Documentation/DocBook/procfs-guide.tmpl +++ b/Documentation/DocBook/procfs-guide.tmpl @@ -100,8 +100,8 @@ <para> I'd like to thank Jeff Garzik <email>jgarzik@pobox.com</email> and Alexander Viro - <email>viro@math.psu.edu</email> for their input, Tim Waugh - <email>twaugh@redhat.com</email> for his <ulink + <email>viro@parcelfarce.linux.theplanet.co.uk</email> for their input, + Tim Waugh <email>twaugh@redhat.com</email> for his <ulink url="http://people.redhat.com/twaugh/docbook/selfdocbook/">Selfdocbook</ulink>, and Marc Joosen <email>marcj@historia.et.tudelft.nl</email> for proofreading. diff --git a/Documentation/RCU/listRCU.txt b/Documentation/RCU/listRCU.txt index 46950afda25f44..bda6ead69bd0d8 100644 --- a/Documentation/RCU/listRCU.txt +++ b/Documentation/RCU/listRCU.txt @@ -82,7 +82,7 @@ lock might be used as follows for deletion and insertion: list_for_each_entry(e, list, list) { if (!audit_compare_rule(rule, &e->rule)) { list_del(&e->list); - call_rcu(&e->rcu, audit_free_rule, e); + write_unlock(&auditsc_lock); return 0; } } diff --git a/Documentation/filesystems/devfs/ChangeLog b/Documentation/filesystems/devfs/ChangeLog index 12583144e06d21..e5aba5246d7c93 100644 --- a/Documentation/filesystems/devfs/ChangeLog +++ b/Documentation/filesystems/devfs/ChangeLog @@ -1632,7 +1632,7 @@ Changes for patch v177 - Fixed bugs in handling symlinks: could leak or cause Oops - Cleaned up directory handling by separating fops - Thanks to Alexander Viro <viro@math.psu.edu> + Thanks to Alexander Viro <viro@parcelfarce.linux.theplanet.co.uk> =============================================================================== Changes for patch v178 diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 6d3615c0644f22..da20d97aeff400 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -701,7 +701,7 @@ running once the system is up. [KNL,ACPI] Mark specific memory as reserved. Region of memory to be used, from ss to ss+nn. - meye= [HW] Set MotionEye Camera parameters + meye.*= [HW] Set MotionEye Camera parameters See Documentation/video4linux/meye.txt. mga= [HW,DRM] @@ -866,6 +866,16 @@ running once the system is up. order they are specified on the command line, starting with parport0. + parport_init_mode= + [HW,PPT] Configure VIA parallel port to + operate in specific mode. This is + necessary on Pegasos computer where + firmware has no options for setting up + parallel port mode and sets it to + spp. Currently this function knows + 686a and 8231 chips. + Format: [spp|ps2|epp|ecp|ecpepp] + pas2= [HW,OSS] Format: <io>,<irq>,<dma>,<dma16>,<sb_io>,<sb_irq>,<sb_dma>,<sb_dma16> @@ -1015,10 +1025,6 @@ running once the system is up. New name for the ramdisk parameter. See Documentation/ramdisk.txt. - ramdisk_start= [RAM] Starting block of RAM disk image (so you can - place it after the kernel image on a boot floppy). - See Documentation/ramdisk.txt. - reboot= [BUGS=IA-32,BUGS=ARM,BUGS=IA-64] Rebooting mode Format: <reboot_mode>[,<reboot_mode2>[,...]] See arch/*/kernel/reboot.c. diff --git a/Documentation/prio_tree.txt b/Documentation/prio_tree.txt new file mode 100644 index 00000000000000..2fbb0c49bc5b6d --- /dev/null +++ b/Documentation/prio_tree.txt @@ -0,0 +1,107 @@ +The prio_tree.c code indexes vmas using 3 different indexes: + * heap_index = vm_pgoff + vm_size_in_pages : end_vm_pgoff + * radix_index = vm_pgoff : start_vm_pgoff + * size_index = vm_size_in_pages + +A regular radix-priority-search-tree indexes vmas using only heap_index and +radix_index. The conditions for indexing are: + * ->heap_index >= ->left->heap_index && + ->heap_index >= ->right->heap_index + * if (->heap_index == ->left->heap_index) + then ->radix_index < ->left->radix_index; + * if (->heap_index == ->right->heap_index) + then ->radix_index < ->right->radix_index; + * nodes are hashed to left or right subtree using radix_index + similar to a pure binary radix tree. + +A regular radix-priority-search-tree helps to store and query +intervals (vmas). However, a regular radix-priority-search-tree is only +suitable for storing vmas with different radix indices (vm_pgoff). + +Therefore, the prio_tree.c extends the regular radix-priority-search-tree +to handle many vmas with the same vm_pgoff. Such vmas are handled in +2 different ways: 1) All vmas with the same radix _and_ heap indices are +linked using vm_set.list, 2) if there are many vmas with the same radix +index, but different heap indices and if the regular radix-priority-search +tree cannot index them all, we build an overflow-sub-tree that indexes such +vmas using heap and size indices instead of heap and radix indices. For +example, in the figure below some vmas with vm_pgoff = 0 (zero) are +indexed by regular radix-priority-search-tree whereas others are pushed +into an overflow-subtree. Note that all vmas in an overflow-sub-tree have +the same vm_pgoff (radix_index) and if necessary we build different +overflow-sub-trees to handle each possible radix_index. For example, +in figure we have 3 overflow-sub-trees corresponding to radix indices +0, 2, and 4. + +In the final tree the first few (prio_tree_root->index_bits) levels +are indexed using heap and radix indices whereas the overflow-sub-trees below +those levels (i.e. levels prio_tree_root->index_bits + 1 and higher) are +indexed using heap and size indices. In overflow-sub-trees the size_index +is used for hashing the nodes to appropriate places. + +Now, an example prio_tree: + + vmas are represented [radix_index, size_index, heap_index] + i.e., [start_vm_pgoff, vm_size_in_pages, end_vm_pgoff] + +level prio_tree_root->index_bits = 3 +----- + _ + 0 [0,7,7] | + / \ | + ------------------ ------------ | Regular + / \ | radix priority + 1 [1,6,7] [4,3,7] | search tree + / \ / \ | + ------- ----- ------ ----- | heap-and-radix + / \ / \ | indexed + 2 [0,6,6] [2,5,7] [5,2,7] [6,1,7] | + / \ / \ / \ / \ | + 3 [0,5,5] [1,5,6] [2,4,6] [3,4,7] [4,2,6] [5,1,6] [6,0,6] [7,0,7] | + / / / _ + / / / _ + 4 [0,4,4] [2,3,5] [4,1,5] | + / / / | + 5 [0,3,3] [2,2,4] [4,0,4] | Overflow-sub-trees + / / | + 6 [0,2,2] [2,1,3] | heap-and-size + / / | indexed + 7 [0,1,1] [2,0,2] | + / | + 8 [0,0,0] | + _ + +Note that we use prio_tree_root->index_bits to optimize the height +of the heap-and-radix indexed tree. Since prio_tree_root->index_bits is +set according to the maximum end_vm_pgoff mapped, we are sure that all +bits (in vm_pgoff) above prio_tree_root->index_bits are 0 (zero). Therefore, +we only use the first prio_tree_root->index_bits as radix_index. +Whenever index_bits is increased in prio_tree_expand, we shuffle the tree +to make sure that the first prio_tree_root->index_bits levels of the tree +is indexed properly using heap and radix indices. + +We do not optimize the height of overflow-sub-trees using index_bits. +The reason is: there can be many such overflow-sub-trees and all of +them have to be suffled whenever the index_bits increases. This may involve +walking the whole prio_tree in prio_tree_insert->prio_tree_expand code +path which is not desirable. Hence, we do not optimize the height of the +heap-and-size indexed overflow-sub-trees using prio_tree->index_bits. +Instead the overflow sub-trees are indexed using full BITS_PER_LONG bits +of size_index. This may lead to skewed sub-trees because most of the +higher significant bits of the size_index are likely to be be 0 (zero). In +the example above, all 3 overflow-sub-trees are skewed. This may marginally +affect the performance. However, processes rarely map many vmas with the +same start_vm_pgoff but different end_vm_pgoffs. Therefore, we normally +do not require overflow-sub-trees to index all vmas. + +From the above discussion it is clear that the maximum height of +a prio_tree can be prio_tree_root->index_bits + BITS_PER_LONG. +However, in most of the common cases we do not need overflow-sub-trees, +so the tree height in the common cases will be prio_tree_root->index_bits. + +It is fair to mention here that the prio_tree_root->index_bits +is increased on demand, however, the index_bits is not decreased when +vmas are removed from the prio_tree. That's tricky to do. Hence, it's +left as a home work problem. + + diff --git a/Documentation/sonypi.txt b/Documentation/sonypi.txt index a50949371b1bad..0f3b2405d09edf 100644 --- a/Documentation/sonypi.txt +++ b/Documentation/sonypi.txt @@ -1,6 +1,6 @@ Sony Programmable I/O Control Device Driver Readme -------------------------------------------------- - Copyright (C) 2001-2003 Stelian Pop <stelian@popies.net> + Copyright (C) 2001-2004 Stelian Pop <stelian@popies.net> Copyright (C) 2001-2002 Alcôve <www.alcove.com> Copyright (C) 2001 Michael Ashley <m.ashley@unsw.edu.au> Copyright (C) 2001 Junichi Morita <jun1m@mars.dti.ne.jp> @@ -23,16 +23,18 @@ generate, like: Those events (see linux/sonypi.h) can be polled using the character device node /dev/sonypi (major 10, minor auto allocated or specified as a option). - A simple daemon which translates the jogdial movements into mouse wheel events can be downloaded at: <http://popies.net/sonypi/> +Another option to intercept the events is to get them directly through the +input layer. + This driver supports also some ioctl commands for setting the LCD screen -brightness and querying the batteries charge information (some more +brightness and querying the batteries charge information (some more commands may be added in the future). This driver can also be used to set the camera controls on Picturebook series -(brightness, contrast etc), and is used by the video4linux driver for the +(brightness, contrast etc), and is used by the video4linux driver for the Motion Eye camera. Please note that this driver was created by reverse engineering the Windows @@ -47,7 +49,7 @@ module argument syntax (<param>=<value> when passing the option to the module or sonypi.<param>=<value> on the kernel boot line when sonypi is statically linked into the kernel). Those options are: - minor: minor number of the misc device /dev/sonypi, + minor: minor number of the misc device /dev/sonypi, default is -1 (automatic allocation, see /proc/misc or kernel logs) @@ -59,14 +61,14 @@ statically linked into the kernel). Those options are: get enabled unless you set this parameter to 1. Do not use this option unless it's actually necessary, some Vaio models don't deal well with this option. - This option is available only if the kernel is + This option is available only if the kernel is compiled without ACPI support (since it conflicts - with it and it shouldn't be required anyway if + with it and it shouldn't be required anyway if ACPI is already enabled). - verbose: set to 1 to print unknown events received from the + verbose: set to 1 to print unknown events received from the sonypi device. - set to 2 to print all events received from the + set to 2 to print all events received from the sonypi device. compat: uses some compatibility code for enabling the sonypi @@ -75,14 +77,15 @@ statically linked into the kernel). Those options are: add this option and report to the author. mask: event mask telling the driver what events will be - reported to the user. This parameter is required for some - Vaio models where the hardware reuses values used in - other Vaio models (like the FX series who does not - have a jogdial but reuses the jogdial events for + reported to the user. This parameter is required for + some Vaio models where the hardware reuses values + used in other Vaio models (like the FX series who does + not have a jogdial but reuses the jogdial events for programmable keys events). The default event mask is - set to 0xffffffff, meaning that all possible events will be - tried. You can use the following bits to construct - your own event mask (from drivers/char/sonypi.h): + set to 0xffffffff, meaning that all possible events + will be tried. You can use the following bits to + construct your own event mask (from + drivers/char/sonypi.h): SONYPI_JOGGER_MASK 0x0001 SONYPI_CAPTURE_MASK 0x0002 SONYPI_FNKEY_MASK 0x0004 @@ -97,10 +100,10 @@ statically linked into the kernel). Those options are: SONYPI_MEMORYSTICK_MASK 0x0800 SONYPI_BATTERY_MASK 0x1000 - useinput: if set (which is the default) jogdial events are - forwarded to the input subsystem as mouse wheel - events. - + useinput: if set (which is the default) two input devices are + created, one which interprets the jogdial events as + mouse events, the other one which acts like a + keyboard reporting the pressing of the special keys. Module use: ----------- @@ -123,17 +126,17 @@ Bugs: external monitor on/off. There is no workaround yet, since this driver disables all APM management for those keys, by enabling the ACPI management (and the ACPI core stuff is not complete yet). If - you have one of those laptops with working Fn keys and want to + you have one of those laptops with working Fn keys and want to continue to use them, don't use this driver. - some users reported that the laptop speed is lower (dhrystone tested) when using the driver with the fnkeyinit parameter. I cannot reproduce it on my laptop and not all users have this problem. - This happens because the fnkeyinit parameter enables the ACPI - mode (but without additional ACPI control, like processor + This happens because the fnkeyinit parameter enables the ACPI + mode (but without additional ACPI control, like processor speed handling etc). Use ACPI instead of APM if it works on your laptop. - + - since all development was done by reverse engineering, there is _absolutely no guarantee_ that this driver will not crash your laptop. Permanently. diff --git a/Documentation/tipar.txt b/Documentation/tipar.txt index 773b9a2483eba7..67133baef6ef21 100644 --- a/Documentation/tipar.txt +++ b/Documentation/tipar.txt @@ -4,7 +4,7 @@ Author: Romain Lievin -Homepage: http://lpg.ticalc.org/prj_dev +Homepage: http://lpg.ticalc.org/prj_tidev/index.html INTRODUCTION: @@ -12,31 +12,30 @@ INTRODUCTION: This is a driver for the very common home-made parallel link cable, a cable designed for connecting TI8x/9x graphing calculators (handhelds) to a computer or workstation (Alpha, Sparc). Given that driver is built on parport, the -parallel port abstraction layer, this driver is independent of the platform. +parallel port abstraction layer, this driver is architecture-independent. It can also be used with another device plugged on the same port (such as a -ZIP drive). I have a 100MB ZIP and both of them work fine ! +ZIP drive). I have a 100MB ZIP and both of them work fine! If you need more information, please visit the 'TI drivers' homepage at the URL above. WHAT YOU NEED: -A TI calculator of course and a program capable to communicate with your -calculator. -TiLP will work for sure (since I am his developer !). yal92 may be able to use +A TI calculator and a program capable of communicating with your calculator. + +TiLP will work for sure (since I am its developer!). yal92 may be able to use it by changing tidev for tipar (may require some hacking...). HOW TO USE IT: You must have first compiled parport support (CONFIG_PARPORT_DEV): either compiled in your kernel, either as a module. -This driver supports the new device hierarchy (devfs). -Next, (as root) from your appropriate modules directory (lib/modules/2.5.XX): +Next, (as root): modprobe parport - insmod tipar.o + modprobe tipar If it is not already there (it usually is), create the device: @@ -47,14 +46,14 @@ If it is not already there (it usually is), create the device: You will have to set permissions on this device to allow you to read/write from it: - chmod 666 /dev/tipar? + chmod 666 /dev/tipar[0..2] Now you are ready to run a linking program such as TiLP. Be sure to configure it properly (RTFM). MODULE PARAMETERS: - You can set these with: insmod tipar NAME=VALUE + You can set these with: modprobe tipar NAME=VALUE There is currently no way to set these on a per-cable basis. NAME: timeout @@ -66,11 +65,12 @@ MODULE PARAMETERS: NAME: delay TYPE: integer DEFAULT: 10 - DESC: Inter-bit delay in micro-seconds. An lower value gives an higher data + DESC: Inter-bit delay in micro-seconds. A lower value gives an higher data rate but makes transmission less reliable. These parameters can be changed at run time by any program via ioctl(2) calls -as listed in ./include/linux/ticable.h +as listed in ./include/linux/ticable.h. + Rather than write 50 pages describing the ioctl() and so on, it is perhaps more useful you look at ticables library (dev_link.c) that demonstrates how to use them, and demonstrates the features of the driver. This is diff --git a/Documentation/video4linux/meye.txt b/Documentation/video4linux/meye.txt index 5adcd25024bb43..2137da97552fb6 100644 --- a/Documentation/video4linux/meye.txt +++ b/Documentation/video4linux/meye.txt @@ -1,12 +1,12 @@ Vaio Picturebook Motion Eye Camera Driver Readme ------------------------------------------------ - Copyright (C) 2001-2003 Stelian Pop <stelian@popies.net> + Copyright (C) 2001-2004 Stelian Pop <stelian@popies.net> Copyright (C) 2001-2002 Alcôve <www.alcove.com> Copyright (C) 2000 Andrew Tridgell <tridge@samba.org> This driver enable the use of video4linux compatible applications with the -Motion Eye camera. This driver requires the "Sony Vaio Programmable I/O -Control Device" driver (which can be found in the "Character drivers" +Motion Eye camera. This driver requires the "Sony Vaio Programmable I/O +Control Device" driver (which can be found in the "Character drivers" section of the kernel configuration utility) to be compiled and installed (using its "camera=1" parameter). @@ -24,7 +24,7 @@ This driver supports the 'second' version of the MotionEye camera :) The first version was connected directly on the video bus of the Neomagic video card and is unsupported. -The second one, made by Kawasaki Steel is fully supported by this +The second one, made by Kawasaki Steel is fully supported by this driver (PCI vendor/device is 0x136b/0xff01) The third one, present in recent (more or less last year) Picturebooks @@ -41,13 +41,12 @@ little information if any is available for this camera Driver options: --------------- -Several options can be passed to the meye driver, either by adding them -to /etc/modprobe.conf file, when the driver is compiled as a module, or -by adding the following to the kernel command line (in your bootloader): +Several options can be passed to the meye driver using the standard +module argument syntax (<param>=<value> when passing the option to the +module or meye.<param>=<value> on the kernel boot line when meye is +statically linked into the kernel). Those options are: - meye=gbuffers[,gbufsize[,video_nr]] - -where: + forcev4l1: force use of V4L1 API instead of V4L2 gbuffers: number of capture buffers, default is 2 (32 max) @@ -81,8 +80,9 @@ Usage: Private API: ------------ - The driver supports frame grabbing with the video4linux API, so - all video4linux tools (like xawtv) should work with this driver. + The driver supports frame grabbing with the video4linux API + (either v4l1 or v4l2), so all video4linux tools (like xawtv) + should work with this driver. Besides the video4linux interface, the driver has a private interface for accessing the Motion Eye extended parameters (camera sharpness, @@ -116,7 +116,7 @@ Private API: MEYEIOC_STILLJCAPT Takes a snapshot in an uncompressed or compressed jpeg format. This ioctl blocks until the snapshot is done and returns (for - jpeg snapshot) the size of the image. The image data is + jpeg snapshot) the size of the image. The image data is available from the first mmap'ed buffer. Look at the 'motioneye' application code for an actual example. @@ -124,13 +124,7 @@ Private API: Bugs / Todo: ------------ - - overlay output is not supported (although the camera is capable of). - (it should not be too hard to to it, provided we found how...) - - - mjpeg hardware playback doesn't work (depends on overlay...) + - the driver could be much cleaned up by removing the v4l1 support. + However, this means all v4l1-only applications will stop working. - - rewrite the driver to use some common video4linux API for snapshot - and mjpeg capture. Unfortunately, video4linux1 does not permit it, - the BUZ API seems to be targeted to TV cards only. The video4linux 2 - API may be an option, if it goes into the kernel (maybe 2.5 - material ?). + - 'motioneye' still uses the meye private v4l1 API extensions. |