Summary of changes from v2.5.41 to v2.5.42
============================================

<bcrl@toomuch.toronto.redhat.com>
	v2.5.31-aio-nohighmem.diff
		- cleanup aio highmem handling, make it faster

<aia21@cantab.net>
	Add functions for searching for an inode in icache and getting a reference
	to it if present - fs/inode.c::ilookup() and ilookup5(), mirroring the
	iget_locked() and iget5_locked() function pair. Also add two internal
	helpers ifind_fast() and ifind() respectively which will later be used
	by iget_locked() and iget5_locked() to do the search, too.

<aia21@cantab.net>
	Cleanup: Convert fs/inode.c::iget_locked() and iget5_locked() to use
	the new ifind_fast() and ifind() helpers, respectively.

<bcrl@toomuch.toronto.redhat.com>
	correct return value from aio_complete on sync iocbs

<bcrl@toomuch.toronto.redhat.com>
	update ns83820.c to v0.19

<agrover@groveronline.com>
	ACPI: Replace ACPI_DEBUG define with ACPI_DEBUG_OUTPUT (Dominik Brodowski)

<rz@linux-m68k.org>
	Move beeping and sysrq to input layer on m68k.
	Add an m68k beeper input module.

<vojtech@suse.cz>
	Remove several files no longer used on m68k.
	Input layer now handles those devices.

<bcrl@toomuch.toronto.redhat.com>
	sync iocbs need to actually wake_up_process the waiter (as spotted by Suparna).

<jdike@uml.karaya.com>
	A number of bug fixes from UML 2.4.19-6 -
	
	Fixed the net crash seen when slab debugging is enabled
	Fixed PROT_NONE
	Fixed the 'tracing myself' bug seen on umlcoop.  This was caused by
	a number of SIGALRM handlers nesting on the idle thread stack because
	the system was busy enough that UML couldn't clear one before the
	next arrived.

<jdike@uml.karaya.com>
	Removed from user_util.h the declarations that are now in time_user.h.

<bhards@bigpond.net.au>
	Better naming for USB input devices that omit the manufacturer name.

<vojtech@suse.cz>
	Add support for PS/2 Active Multiplexing Spec, updates for PS/2 mouse
	and keyboard handling - proper cleanup on reboot, allow USB-emulated
	AT keyboards, option to restrict PS/2 mouse to generic mode.

<khaho@koti.soon.fi>
	Make Logitech Desktop Pro (wireless keyboard & mouse) work with all buttons and wheel.

<vojtech@suse.cz>
	Update Wacom driver to 2.4 changes and changes from Ping Cheng of Wacom.

<bcrl@toomuch.toronto.redhat.com>
	several updates for testing aio_{read,write}
	support for file descriptors with only async ops in vfs_{read,write}

<vojtech@suse.cz>
	Convert gameport.[ch] to use lists.h for its linked lists.

<vojtech@suse.cz>
	Convert serio.[ch] to use list.h lists.

<vojtech@suse.cz>
	Cleanups and fixes for the Wacom USB driver.

<vojtech@suse.cz>
	Add #include <list.h> to input.h

<vojtech@suse.cz>
	Use list_for_each_entry() in input.c.

<vojtech@suse.cz>
	Convert more of input to list.h usage.

<vojtech@suse.cz>
	Fixes/cleanups after converting drivers to list.h lists.

<bcrl@toomuch.toronto.redhat.com>
	several minor bugfixes for the aio core

<agrover@groveronline.com>
	ACPI: Fix reversed logic in blacklist code (Sergio Monteiro Basto)

<agrover@groveronline.com>
	ACPI: IA64 fixes (David Mosberger)

<agrover@groveronline.com>
	ACPI: Fix /proc/acpi/sleep (P. Christeas)

<agrover@groveronline.com>
	ACPI: Fix thermal management and make trip points R/W (Pavel Machek)

<agrover@groveronline.com>
	ACPI: Allow handling negative celsius values (Kochi Takayoshi)

<vojtech@suse.cz>
	Accept 0xfa as an "OK" result code for AUX TEST cmd in i8042.c.
	This makes mouse work on certain notebooks.

<bcrl@toomuch.toronto.redhat.com>
	create support for iocb kicking, where a retry operation gets triggered in the mm 
	context of the submitter to allow the use of copy_*_user.

<agrover@groveronline.com>
	ACPI: Add another cast to Bjoern's MADT walking fix to silence warning

<agrover@groveronline.com>
	ACPI: Initialize thermal driver's timer before it is used (Knut Neumann)

<jdike@uml.karaya.com>
	Small changes to bring UML up to date with 2.5.40.

<jdike@uml.karaya.com>
	A set of small bug fixes brought over from 2.4.19-8.

<jdike@uml.karaya.com>
	A bunch of network updates from 2.4.19.
	Added the pcap transport, which makes a pcap packet stream look
	like a network interface inside UML.
	Lifted the limit on the number of network interfaces.
	Cleaned up and simplified the transport interface.

<jdike@uml.karaya.com>
	A small network bug fix from 2.4.19-7.

<jdike@uml.karaya.com>
	Updated defconfig with CONFIG_UML_NET_PCAP.

<jdike@uml.karaya.com>
	Back out a piece of the last merge which didn't apply in 2.5.

<jdike@uml.karaya.com>
	Fixed a bit of the last merge which I messed up.

<agrover@groveronline.com>
	ACPI: Interpreter update to 200201002
	- Fix problem where a store/copy of a string did not set string length properly.
	- Fix ToString operator
	- Fix CopyObject not updating internal node type
	- Fix a memory leak during implicit operand source conversion
	- Enhanced error messages for namespace lookup problems
	- Revamped Alias support

<jdike@uml.karaya.com>
	Fixed a build bug with CONFIG_UML_NET_PCAP.

<jdike@uml.karaya.com>
	Changed my mind about having CONFIG_UML_NET_PCAP enabled by default
	in defconfig.  This would cause the default config to break on
	any system without libpcap, so disabling it by default is better.

<jdike@jdike.wstearns.org>
	xor.h was created as asm-um/xor.h rather than include/asm-um/xor.h.
	Fixed.

<bcrl@toomuch.toronto.redhat.com>
	queue descriptor io errors instead of returning them from io_submit

<paulus@samba.org>
	PPC32: Reorganize the files for the IBM 4xx embedded PPC processors.
	
	This moves the 4xx platform-specific files into a new directory,
	arch/ppc/platforms/4xx.

<vojtech@suse.cz>
	Add japanese Set 3 scancodes to atkbd.c

<bcrl@toomuch.toronto.redhat.com>
	adapt aio kick changes to ingo's work queues

<bcrl@toomuch.toronto.redhat.com>
	buildbug.diff

<jdike@uml.karaya.com>
	I forgot to add include/asm-um/topology to the repo.

<paulus@samba.org>
	PPC32: Move a couple of 4xx-related files around.

<paulus@samba.org>
	PPC32: Rename sigcontext_struct to sigcontext, and use sig->siglock.

<paulus@samba.org>
	PPC32: Use prepare target to make the assembler offsets header file.
	
	This also puts the file in include/asm-ppc/offsets.h rather
	than arch/ppc/kernel/asm-offsets.h.  This changes PPC to do things
	similarly to other ports, and makes make -j work reliably.

<paulus@samba.org>
	PPC32: Add the kallsyms section to arch/ppc/vmlinux.lds.S.

<geert@linux-m68k.org>
	Please apply this small clean up, too:
	
	  - Kill unused variable and end-of-line whitespace.
	  - s/M68K/M68k/

<paulus@samba.org>
	PPC32: fix in_atomic; PREEMPT_ACTIVE set doesn't mean atomic.

<aderesch@fs.tum.de>
	Increase the resync timeout for serial mice, and fix MZ wheel direction.

<paulus@samba.org>
	PPC32: put the _right_ asm-offsets.c in.

<paulus@samba.org>
	PPC32: fix the last sigcontext_struct, missed previously.

<vojtech@suse.cz>
	Fix LAlt-RAlt combination on AT keyboards (generated "unknown scancode" message).

<vojtech@suse.cz>
	Make NR_KEYS be (KEY_MAX+1) so that keybindings
	can be set for keys over 128.

<vojtech@suse.cz>
	psmouse.c: ignore the sync bit to make slightly non-conforming devices
	work.

<bcrl@toomuch.toronto.redhat.com>
	fix missing list initialization in aio context creation

<yoshfuji@linux-ipv6.org>
	net/ipv6/addrconf.c: Use prefix of 64 for link-local addresses.

<marcel@holtmann.org>
	[PATCH] Make it possible to compile in the Bluetooth subsystem
	
	..and minor() cleanups

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Call scripts explicitly via sh
	
	Instead of recurring problems with non-executable permissions on
	files in scripts/, just call them as "sh <script>".

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Fix drivers/scsi/aacraid/Makefile
	
	(by Sam Ravnborg)

<paulus@samba.org>
	PPC32: Add kallsyms support in stack tracing functions.

<paulus@samba.org>
	PPC32: fix arch-level tid handling.
	
	This makes sure we clear the user_tid in copy_thread, and that we
	don't pass a bogus tid parameter in sys_clone when the CLONE_SETTID
	and CLONE_CLEARTID flags are clear.

<paulus@samba.org>
	PPC32: Add might_sleep() calls to down and down_interruptible.

<paulus@samba.org>
	PPC32: change the pmd macros to allow us to support large TLB entries.

<johannes@erdfelt.com>
	[PATCH] USB: Trivial MAINTAINERS update
	

<david-b@pacbell.net>
	[PATCH] usbtest: mo'betta devices, control tests
	
	This updates the usbtest driver:
	
	- Supports more devices for the basic i/o tests,
	   using full speed ez-usb firmware (and usbtest
	   tweaks!) provided by Martin Diehl.
	
	- Adds another test case, which issues control
	   messages to devices.  There will be further
	   updates in this area (control queueing, and
	   likely improving usbcore api coverage).
	
	- Adds a "generic device" mode where vendor
	   (and optionally product) ids can be given as
	   module parameters.  Those devices can be used
	   for testing control traffic.

<greg@kroah.com>
	[PATCH] USB: fix ctsrts handling in pl2303 driver.
	
	Thanks to the prolific engineers for pointing this out to me.

<jdike@uml.karaya.com>
	Updated initializers in the block driver.
	Fixed a process exit bug.

<jdike@uml.karaya.com>
	Updates to make UML build as 2.5.41.
	Applied Oleg Drokin's task --> work patch.
	Fixed the Makefiles to accomodate the fact the kbuild doesn't cd
	into subdirectories any more.
	Got rid of some compile warnings.

<acme@conectiva.com.br>
	o Appletalk: convert some spinlocks to rwlocks
	
	- Remove uneeded #ifdef CONFIG_SYSCTL
	- Make __init strings __initdata, saving some more bytes after init.

<acme@conectiva.com.br>
	o IPX: fix permission bogosity in create_proc_entry usage

<acme@conectiva.com.br>
	o LLC: fix permission bogosity in create_proc_entry usage

<jdike@uml.karaya.com>
	Added a missing directory to the arch/um/kernel Makefile.

<acme@conectiva.com.br>
	o Appletalk: convert aarp_lock from spinlock to rwlock
	
	- CodingStyle cleanups
	- make aarp_cleanup_module always present, as needed by DDP.

<rddunlap@osdl.org>
	[PATCH] build cpia video driver
	
	This patch enables the cpia driver to build on 2.5.41.

<vojtech@suse.cz>
	Change PC-keyboard mappings to follow MS Keyboards - a de facto
	standard for extended keys.

<vojtech@suse.cz>
	Initialize struct input_dev in input drivers before it's passed to input_event().
	input_register_device() usually does that, but some drivers will call
	input_event() before registering to pre-load the absolute values in
	struct input_dev in an easy way.

<vojtech@suse.cz>
	Add german keyboard \ to the default table of atkbd.c

<vojtech@suse.cz>
	Make i8042.c even less picky about detecting an AUX port because of
	broken chipsets that don't support the LOOP command or report failure
	on the TEST command. Hopefully this won't screw any old 386/486
	systems without the AUX port.

<davej@codemonkey.org.uk>
	[PATCH] document extra option in isapnp

<davej@codemonkey.org.uk>
	[PATCH] updated comments.
	
	Files moved, so the comments should be updated
	to reflect their new locations.

<davej@codemonkey.org.uk>
	[PATCH] bad userspace dereferencing

<davej@codemonkey.org.uk>
	[PATCH] handle bogus zero IO-APIC addresses
	
	From 2.4

<davej@codemonkey.org.uk>
	[PATCH] JBD documentation
	
	From 2.4

<davej@codemonkey.org.uk>
	[PATCH] oss compile fix (missing spinlock)

<davej@codemonkey.org.uk>
	[PATCH] kernel parameters update.
	
	- Standardise usage on IA-32 instead of a mix of IA32 and ix86.
	- Add some missing options.
	- Fix up some options.

<davej@codemonkey.org.uk>
	[PATCH] increase PCI namespace buffer.
	
	Straightforward diff to allow longer names
	for PCI devices

<davej@codemonkey.org.uk>
	[PATCH] move apic_timer_irqs to irqstat
	
	This patch from Ravikiran G Thirumalai removes
	cacheline bouncing of apic_timer_irqs

<davej@codemonkey.org.uk>
	[PATCH] Missing/Unneeded includes

<davej@codemonkey.org.uk>
	[PATCH] mountable futexfs
	
	Missing kill_sb member meant that futexfs died
	a death when someone tried to mount it.

<davej@codemonkey.org.uk>
	[PATCH] missing files in mrproper
	
	make mrproper misses some files..

<davej@codemonkey.org.uk>
	[PATCH] P4 SPIV FOCUS bit
	
	From Zwane Mwaikambo, this diff makes sure we don't
	poke reserved bits on the P4.

<davej@codemonkey.org.uk>
	[PATCH] APM SMP fixes.
	
	From 2.4 with some 2.5 mangling from Robert Love.

<davej@codemonkey.org.uk>
	[PATCH] fix leak in pcf8583

<davej@codemonkey.org.uk>
	[PATCH] missing sanity check in ppdev

<davej@codemonkey.org.uk>
	[PATCH] parport docs typo

<davej@codemonkey.org.uk>
	[PATCH] Updated proc docs from 2.4

<davej@codemonkey.org.uk>
	[PATCH] Updated submitting drivers docs

<davej@codemonkey.org.uk>
	[PATCH] Document randconfig

<davej@codemonkey.org.uk>
	[PATCH] various typo fixes

<davej@codemonkey.org.uk>
	[PATCH] major showstopper diff.
	
	From John Levon. This corrects the comment
	to match the real quotation.
	
	Patch splitting/bombing is a very boring job,
	if it wasn't for light relief like this, it'd
	be even moreso 8-)

<davej@codemonkey.org.uk>
	[PATCH] Updated DMA-mapping docs

<davej@codemonkey.org.uk>
	[PATCH] fix broken syntax in video config.in

<davej@codemonkey.org.uk>
	[PATCH] Document VIA C3

<davej@codemonkey.org.uk>
	[PATCH] vmalloc corner case.
	
	get_vm_area() doesn't play too well when passed
	malformed arguments due to a missing check.
	Originally by davem, munged by me.

<davej@codemonkey.org.uk>
	[PATCH] only allow IGMP to multicast addresses
	
	Old patch by Krishna Ramachandran

<davej@codemonkey.org.uk>
	[PATCH] KT266x latency fix.
	
	From 2.4, see comment in diff.

<davej@codemonkey.org.uk>
	[PATCH] intel cache parsing update.
	
	- Recognise and decode trace cache
	- Add several missing elements to descriptor table
	- Xeon errata workaround
	- updated names for P4's

<davej@codemonkey.org.uk>
	[PATCH] DMI updates.
	
	- moves functions around to match where they are in 2.4
	  (makes syncing easier)
	- Adds some extra entries

<vojtech@suse.cz>
	Add japanese bar key mapping to the default table in atkbd.c

<davej@codemonkey.org.uk>
	[PATCH] vm86 updates.
	
	Numerous updates from 2.4 (see changelog)

<davej@codemonkey.org.uk>
	[PATCH] IRQ router updates.
	
	Several new boards, and fix a forward reference by
	moving a function around.

<davej@codemonkey.org.uk>
	[PATCH] Misc reboot.c bits
	
	- remove unneeded includes (lots of)
	- Some Dell folks noted that the switch to realmode needs
	  to be a wbinvd instead of an invd on some boxes.
	  This has been in -dj for eons, and has had no ill effect.

<davej@codemonkey.org.uk>
	[PATCH] numerous __FUNCTION__ pasting fixes

<davej@codemonkey.org.uk>
	[PATCH] unify slab namespace.
	
	Other slabs have '_' to separate words instead of ' '.
	Same patch went into 2.4

<davej@codemonkey.org.uk>
	[PATCH] Don't prefetch io space.
	
	memcpy_to/fromio shouldn't be using memcpy,
	as this could equate to the versions that
	prefetch, which could upset some devices.

<davej@codemonkey.org.uk>
	[PATCH] use cpu_has macros
	
	Code cleanup..

<davej@codemonkey.org.uk>
	[PATCH] tlbflush cleanups
	
	- Align comments
	- Remove hardcoded value (Use proper alignment
	  on systems with 64byte cachelines)

<davej@codemonkey.org.uk>
	[PATCH] indentation fixes.
	
	As per CodingStyle

<davej@codemonkey.org.uk>
	[PATCH] death of v86mode
	
	Nothing uses v86mode any more, so this removes it,
	and its space in the thread_struct.

<davej@codemonkey.org.uk>
	[PATCH] named initialisers for dcache
	
	(Also a printk level addition)

<davej@codemonkey.org.uk>
	[PATCH] ifdef noise cleanup
	
	As the comment suggests - this is harmless
	on non mq systems, so we may as well have cleaner code.

<davej@codemonkey.org.uk>
	[PATCH] io.h unobfuscation.
	
	This patch attempts to clean up the horrible macro's in io.h,
	and was done some time ago by Dave McCracken iirc.

<davej@codemonkey.org.uk>
	[PATCH] ISAPNP updates.
	
	From 2.4, these diffs..
	- Make use of dma channel 0 configurable
	- request region cleanup
	- fix list initialisation bug
	- fix escd /proc security hole
	- add opl3sax quirk

<davej@codemonkey.org.uk>
	[PATCH] bluesmoke fixes.
	
	- Makes UP preempt safe.
	- Avoids double call of mce_checkregs on SMP

<dsteklof@us.ibm.com>
	driver core: add generic logging macros for devices.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Remove now unnecessary usages of $(TOPDIR)
	
	Since we now always have $(TOPDIR) = `pwd`, some usages of $(TOPDIR)
	can go away.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Buglet in Documentation/DocBook/Makefile
	
	'make mrproper' incorrectly deletes *~-style editor backup files
	from the top-level directory. This bug was introduced in 2.5.29
	when the top-level Makefile was changed to remain in the top-level
	directory when invoking DocBook's Makefile:

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: typos
	
	by Nicolas Pitre

<davej@codemonkey.org.uk>
	[PATCH] arch fixes for make rpm
	
	Not all arch's behave the same way as x86 during
	the build process, so this makes make rpm adjust
	for non-x86

<davej@codemonkey.org.uk>
	[PATCH] jiffy wrap fixes

<davej@codemonkey.org.uk>
	[PATCH] x86 math-emu update
	
	From 2.4, mostly just things like quietening compiler warnings.

<davej@codemonkey.org.uk>
	[PATCH] Add ALI 1671 support to AGPGART

<davej@codemonkey.org.uk>
	[PATCH] CONFIG_NR_CPUS
	
	By Robert Love, this patch sets the maximum number
	of CPUs a kernel can support (From 2-32 on IA32)
	The reasoning behind this is a space saving of
	8KB per CPU.

<davej@codemonkey.org.uk>
	[PATCH] avoid trigraphs in generated pci ids

<davej@codemonkey.org.uk>
	[PATCH] Escape quotes in menuconfig
	
	Allows usage of quotes in menu options.

<davej@codemonkey.org.uk>
	[PATCH] increase list_del_init usage.

<davej@codemonkey.org.uk>
	[PATCH] named struct initialisers.

<ahaas@neosoft.com>
	[PATCH] named initializers for net/bluetooth/rfcomm/sock.c

<ahaas@neosoft.com>
	[PATCH] named initializers fix for net/sctp/sm_statetable.c

<ahaas@neosoft.com>
	[PATCH] named initializers for fs/msdos

<ahaas@neosoft.com>
	[PATCH] named initializers for fs/hfs

<ahaas@neosoft.com>
	[PATCH] named initializers for fs/proc/proc_misc.c

<ahaas@neosoft.com>
	[PATCH] named initializers for fs/autofs

<ahaas@neosoft.com>
	[PATCH] named initializers for net/atm/lec.c

<ahaas@neosoft.com>
	[PATCH] named initializers for fs/vfat

<ahaas@neosoft.com>
	[PATCH] named initializers for fs/autofs4

<ahaas@neosoft.com>
	[PATCH] named initializers for fs/hpfs

<ahaas@neosoft.com>
	[PATCH] named initializers for fs/sysv

<ahaas@neosoft.com>
	[PATCH] named initializers patch for net/decnet/dn_route.c

<ahaas@neosoft.com>
	[PATCH] named initializers for fs/udf

<ahaas@neosoft.com>
	[PATCH] named initializers for drivers/ide

<viro@math.psu.edu>
	[PATCH] compile fixes
	
	cpqarray uses disk_alloc instead of alloc_disk.  Same typo is in cciss,
	rd.c sets ->first_minor to 0 for all units and HD_IRQ definition is
	needed if CONFIG_BLK_DEV_HD is defined.

<akropel1@rochester.rr.com>
	[PATCH] cpqarray compile fixes

<davej@codemonkey.org.uk>
	[PATCH] cpqarray reads ->irq before pci_enable_device()

<davej@codemonkey.org.uk>
	[PATCH] pci_enable_device before accessing ->irq for wdt_pci

<davej@codemonkey.org.uk>
	[PATCH] i845 AGPGART power management
	
	Just reconfigure on resume..

<davej@codemonkey.org.uk>
	[PATCH] Remove code duplication in power.c
	
	As per the FIXME. Work done by Eric Blade

<davej@codemonkey.org.uk>
	[PATCH] missing checks in acorn drivers
	
	Adds missing return values checking of
	misc_register(), scsi_register(), request_region()
	and does some code cleanup in the process..

<davej@codmonkey.org.uk>
	[PATCH] Various drivers using longs instead of ulongs for flags.

<plars@linuxtestproject.org>
	[PATCH] ips.c remove tqueue.h

<markh@osdl.org>
	[PATCH] aacraid Makefile error in 2.5.41
	
	I tried building the aacraid driver in 2.5.41 and got an error
	saying that O_TARGET usage was obsolete.  The following change
	to the Makefile allows me to build.

<anton@samba.org>
	[PATCH] one of these things is not like the others...
	
	Or in this case two.  This makes the migration and ksoftirq threads
	match the naming convention of the workqueue threads.
	
	Apply it and marvel at how neater a ps looks.

<mbligh@aracnet.com>
	[PATCH] NUMA-Q fixes
	
	This patch basically just renames usages of CONFIG_MULTIQUAD to
	CONFIG_X86_NUMAQ. The original multiquad option covered a variety
	of sins, and just made a mess (my fault). After extensive community
	discussion, this is the naming scheme everyone agreed to - the
	CONFIG_X86_NUMAQ option already exists, we're just renaming usages
	of MULTIQUAD to it, and removing the MULTIQUAD option.
	
	Stuff that's really to do with clustered APIC mode is put under
	CONFIG_CLUSTERED_APIC instead, as it's not specific to the NUMA-Q.
	
	Note that the definitions of clustered_apic_mode are still duplicated,
	so the changes appear twice.  I'm not making it worse, just haven't
	fixed this one yet, will do that next.
	
	Patch was written by Matt Dobson.

<akpm@digeo.com>
	[PATCH] fix READA in ll_rw_block()
	
	- Don't convert READA into READ in ll_rw_block().

<akpm@digeo.com>
	[PATCH] discontigmem compilation fix
	
	A discontigmem compilation fix From Bill Irwin

<akpm@digeo.com>
	[PATCH] discontigmem fixes and cleanups
	
	From Martin Bligh
	
	This patch fixes a nasty bug that wli found in buffer.c which
	cause an oops - we were using contig_page_data on a discontigmem
	machine. It's a slightly modified version of the fix wli suggested,
	tested on NUMA-Q.
	
	I've also added code to not define contig_page_data for discontigmem
	systems, to stop this from happening again. I wrapped a couple of
	bootmem functions that were using it in #ifndef CONFIG_DISCONTIGMEM.
	I suppose it's possible (though unlikely) that some other discontig
	arch might need to wrap a couple of functions in their tree similarly,
	but any borkage will just give a simple clear compiler error telling
	them exactly where the problem is.

<akpm@digeo.com>
	[PATCH] node-local mem_map for ia32 discontigmem
	
	From Martin Bligh.
	
	This patch remaps the lmem_map (struct page) arrays for each node onto
	their own nodes.  This is non-trivial, since all of ZONE_NORMAL, and
	hence permanently mapped KVA resides on node 0.
	
	Very early in the boot sequence, it calculates the size of the lmem_map
	arrays (rounding up to the nearest large page size), and reserves a
	suitable amount of permanent KVA by shifting down max_low_pfn to create
	a gap between max_low_pfn and highstart_pfn (both of which are normally
	about 896Mb).
	
	It then uses the new set_pmd_pfn function to set up the pmds correctly
	so that the large pages point at the physical addresses reserved from
	the remote nodes.
	
	Tested on NUMA-Q and some ratty old i386 PC kicking around under my
	desk (on 2.5.36-mm1).  Was good for a 20% improvement in system time on
	kernel compile when I initially benchmarked it against 2.5.32 or
	something - due to a reduction in inter-node traffic, better
	interconnect cache usage and locality.  Should have no effect on any
	system other than i386 NUMA systems.

<akpm@digeo.com>
	[PATCH] remove get_free_page()
	
	This used to be a macro wrapper around get_zeroed_page().
	
	It was a dreadful choice of name, because it hid the fact that this
	function memsets the page.  Probably, lots of the callers didn't
	actually want to do that but this patch does not make such
	optimisations.
	
	At least now, people may spot a `get_zeroed_page' in there and realise
	that the page doesn't actually need to be initialised.
	
	The patch also changes get_zeroed_page() to go BUG if called with
	__GFP_HIGHMEM.  It returns the address of the page's memory and hence
	can only be used for direct-mapped pages (wli).

<akpm@digeo.com>
	[PATCH] numa: alloc_pages_node cleanup
	
	Patch from Christoph Hellwig
	
	It turns alloc_pages_node into a static inline, in the same fashion as
	alloc_pages.  There is no need for #ifdef CONFIG_NUMA in the patch, as
	the numa node identification functions are sensible enough to do the
	right thing for non-NUMA systems.  Moves alloc_pages_node from numa.c
	to gfp.h, and removes the EXPORT_SYMBOL which is no longer needed as
	this is now an inline.

<akpm@digeo.com>
	[PATCH] free_area_init cleanup
	
	From Christoph Hellwig.
	
	If we always pass &contig_page_data into free_area_init_node for the
	non-distcontig case we can merge both versions of that function into
	one.  Move that one to page_alloc.c and thus kill numa.c which was
	totally misnamed, btw.

<akpm@digeo.com>
	[PATCH] move library functions from ramfs into libfs
	
	From Bill Irwin
	
	The simple_link(), simple_unlink(), simple_rename(),
	simple_sync_file(), simple_rmdir(), and simple_empty() functions are
	easy to duplicate.  Basically, I duplicated them in an fs patch of
	mine, and Linus told me to put them in libfs.c
	
	Pat Mochel has acked the changes for driverfs (in that he'll convert
	the stuff over when they're available from libfs), and my hugetlbfs
	implementation was the thing that spurred the whole incident.

<akpm@digeo.com>
	[PATCH] ext3 indexed directory support
	
	Daniel Phillips' indexed directory support.  Ported from ext2 by
	Christopher Li.  Contributions from Andreas Dilger, Stephen Tweedie,
	lots from Ted.
	
	It requires e2fsprogs-1.29; I've updated the Changes file to reflect
	that.

<davej@codemonkey.org.uk>
	[PATCH] sun3 ncr scsi driver update
	
	Sammy changed address, and lets BUG() instead of
	locking up the machine.

<davej@codemonkey.org.uk>
	[PATCH] more devexit fixes

<davej@codemonkey.org.uk>
	[PATCH] More list_del_init usage increases

<davej@codemonkey.org.uk>
	[PATCH] Make work throttling actually work,
	
	From Pavel Machek. Without these two lines,
	the throttling limits are never reached, and a machine
	will happily cook itself.

<davej@codemonkey.org.uk>
	[PATCH] Remove useless mdelay wrapper in pcxx.c

<davej@codemonkey.org.uk>
	[PATCH] CONFIG_ISA optional on x86
	
	Hide ISA only drivers during configuration..

<davej@codemonkey.org.uk>
	[PATCH] zoran named initialisers

<davej@codemonkey.org.uk>
	[PATCH] TTY_DO_WRITE_WAKEUP
	
	As per comment..

<davej@codemonkey.org.uk>
	[PATCH] Missing kmalloc check in iphase driver

<davej@codemonkey.org.uk>
	[PATCH] random fixes for random.c
	
	Make things static, and remove hardcoded value

<davej@codemonkey.org.uk>
	[PATCH] module fixes for qtronix.c

<davej@codemonkey.org.uk>
	[PATCH] sanitise proc usage in zoran driver

<davej@codemonkey.org.uk>
	[PATCH] radio-zoltrix typo

<axboe@suse.de>
	[PATCH] make bio->bi_max contain max vec entries
	
	This changes the way we do pool lookups when freeing a bio.  Right now
	we use bi_max as a handle into bvec_array[], to find the pool where it
	came from.  This used to be just fine, because if you had a private bio,
	you could specify your own destructor.  But now we have bio_add_page()
	which also needs to know where the bio came from, or more precisely, it
	needs to know how many entries the bio can hold.
	
	So I've changed bi_max to bi_max_vecs, it now contains the number of vec
	entries in the bio. Privately allocated bio's (or on stack) can now just
	set bio->bi_max_vecs to reflect the max size. The pool index for the
	default destructor is stored in the top bits of bi_flags.

<axboe@suse.de>
	[PATCH] ide tagged command queueing support
	
	This enables tagged command queueing support in the ide layer again and
	marks it as an experimental feature.

<bcrl@toomuch.toronto.redhat.com>
	fix a bug in kick_iocb that caused it to fail for async iocbs.

<davem@nuts.ninka.net>
	net/ipv6/addrconf.c: Need __constant_XXX for case statements.

<tcallawa@redhat.com>
	arch/sparc64/solaris/misc.c: Add MODULE_LICENSE.

<davem@nuts.ninka.net>
	[ESP/QLOGICPTI]: Only set highmem_io on sparc64.

<sds@tislabs.com>
	[PATCH] Base set of LSM hooks for SysV IPC
	
	The patch below adds the base set of LSM hooks for System V IPC to the
	2.5.41 kernel.  These hooks permit a security module to label
	semaphore sets, message queues, and shared memory segments and to
	perform security checks on these objects that parallel the existing
	IPC access checks.  Additional LSM hooks for labeling and controlling
	individual messages sent on a single message queue and for providing
	fine-grained distinctions among IPC operations will be submitted
	separately after this base set of LSM IPC hooks has been accepted.

<jgarzik@mandrakesoft.com>
	Revert incorrect s/__exit/__devexit/ change to tmspci tokenring drvr

<torvalds@home.transmeta.com>
	Fix missing printk end-of-line 

<dledford@redhat.com>
	[PATCH] make SCSI queue depth adjustable
	
	Linus, this has been tested by some people in the field to not break
	things, and it's the start of some other changes I'm making, so please put
	this in your tree so I'm not merging huge patches but instead am merging a
	little as I go.

<vojtech@suse.cz>
	Fix the Shift-PgUp problem again, and hopefully for good.

<greg@kroah.com>
	LSM: added lsm documentation to the tree.

<chris@wirex.com>
	[PATCH] LSM: move the inode_alloc_security hook.
	
	This moves the inode_alloc_security() hook so that we have all of the
	inode information at the moment of the hook.

<greg@kroah.com>
	driver core: rename DEVICE to DEVPATH for /sbin/hotplug call to prevent conflict with USB

<greg@kroah.com>
	USB: add device speed driverfs file.

<alan@lxorguk.ukuu.org.uk>
	[PATCH] fix cut and paste error in amd768rng help

<alan@lxorguk.ukuu.org.uk>
	[PATCH] fix all the isdn compile mess
	
	This doesnt fix all the isdn code but it sorts out the tqueue stuff so we
	are no worse than before

<alan@lxorguk.ukuu.org.uk>
	[PATCH] cadet needless globals

<alan@lxorguk.ukuu.org.uk>
	[PATCH] mpt fusion - remove donothing code

<alan@lxorguk.ukuu.org.uk>
	[PATCH] un-tqueue aironet

<alan@lxorguk.ukuu.org.uk>
	[PATCH] bring I2O roughly back into line
	
	There are some bits left to do but this folds in all the main stuff from
	2.4 and 2.5 including Al's recent change

<alan@lxorguk.ukuu.org.uk>
	[PATCH] 2.5 clean up of DE600

<alan@lxorguk.ukuu.org.uk>
	[PATCH] fix ibmtr mapping bug

<alan@lxorguk.ukuu.org.uk>
	[PATCH] 2.5 cleanup + 2.4 merge of depca
	
	Yes this is big but 2.4 has been indented, updated and there wasnt a
	sane way to deal with it

<alan@lxorguk.ukuu.org.uk>
	[PATCH] (forwarded) Olympic fixes
	
	Looks like they escaped your notice

<alan@lxorguk.ukuu.org.uk>
	[PATCH] fix orinoco build

<alan@lxorguk.ukuu.org.uk>
	[PATCH] Suppose we unload with the timer function live ?

<alan@lxorguk.ukuu.org.uk>
	[PATCH] fix aha152x

<alan@lxorguk.ukuu.org.uk>
	[PATCH] make dmx1391 work with new 5380

<alan@lxorguk.ukuu.org.uk>
	[PATCH] make tcic work again

<greg@kroah.com>
	USB: removed unused DEVFS /sbin/hotplug attribute

<alan@lxorguk.ukuu.org.uk>
	[PATCH] update fdomain scsi

<alan@lxorguk.ukuu.org.uk>
	[PATCH] fix imm compile

<alan@lxorguk.ukuu.org.uk>
	[PATCH] make pas16 work with new NCR5380

<alan@lxorguk.ukuu.org.uk>
	[PATCH] fix ppa

<alan@lxorguk.ukuu.org.uk>
	[PATCH] fix t128 for new NCR5380

<alan@lxorguk.ukuu.org.uk>
	[PATCH] first pass at seagate st-02 for 2.5

<alan@lxorguk.ukuu.org.uk>
	[PATCH] wd7000 lock error Willy noticed

<alan@lxorguk.ukuu.org.uk>
	[PATCH] fix telephony for tqueue

<alan@lxorguk.ukuu.org.uk>
	[PATCH] fix gcc 3.1/2 warnings in USB

<alan@lxorguk.ukuu.org.uk>
	[PATCH] Fix 2.5 signal handling in jffs/jffs2
	
	Ingo chamged it again 8)

<alan@lxorguk.ukuu.org.uk>
	[PATCH] tidy for the max_thread stuff from the kernel list

<alan@lxorguk.ukuu.org.uk>
	[PATCH] trivial sound static/cast fixes

<steve@gw.chygwyn.com>
	[DECNET]: New autoconfiguration code for 2.5

<torvalds@home.transmeta.com>
	Oops, removed one too many header includes.. 

<torvalds@home.transmeta.com>
	Don't declare pcibios_fixup_irqs, it's static inside irq.c

<torvalds@home.transmeta.com>
	firestream compile fix

<torvalds@home.transmeta.com>
	Get PageUp handling right

<bcrl@toomuch.toronto.redhat.com>
	update ns83820 to 0.20

<davem@nuts.ninka.net>
	[DECNET]: Kill warnings.

<bcrl@toomuch.toronto.redhat.com>
	fix typo in aio.c merge

<ink@jurassic.park.msu.ru>
	[PATCH] alpha build fixes
	
	- Makefile updates; all targets should work now.
	- Don't export sys_sync.
	
	Ivan.

<bcrl@toomuch.toronto.redhat.com>
	export do_sync_{read,write} for modules

<davem@nuts.ninka.net>
	[IPV4/IPV6]: Cleanup inet{,6}_protocol.

<bgerst@didntduck.org>
	[PATCH] struct super_block cleanup - final
	
	This last patch removes the union, replacing it with s_fs_info.

<akropel1@rochester.rr.com>
	[PATCH] cpqarray SMP deadlock fix
	
	This fixes some critical bugs in cpqarray in 2.5.  One of the fixes
	essentially backs out the block queue stop/start behavior that was added
	recently.  This code as it stands is buggy and locks up under even light
	SMP workloads.  Certainly we want the performance benefits of proper
	block queue plugging, but the driver needs some work before it will fit
	nicely.
	
	Some of these fixes do theoretically hurt performance, but when you
	consider that the driver is unusable under SMP as-is, I think it is
	right to get correctness first.
	
	Specifically, this patch does the following:
	
	* Adds locking to proc queue-walking code for debugging use.  Note that
	  the proc registration is still broken and I've left it that way since
	  this stuff should probably migrate to driverfs anyway.
	
	* Moves interrupt enabling so queue lock is initialized before
	  interrupts are enabled.  Otherwise if we get a quick interrupt we oops
	  the machine.
	
	* Removes unconditional IRQ enabling in do_ida_request().  The block
	  layer takes the spinlock with irq_save so if we're going to play this
	  trick then we need to irq_restore.  For now, just eliminate the
	  unlocked region.
	
	* Remove block queue stop/start logic since it can leave the queue
	  stopped with no outstanding completions to start it again.  Plugging
	  logic can come back but it should go hand-in-hand with a cleanup of
	  the driver's request handling algorithm.  If nobody screams about this
	  patch I'll go ahead and start making those improvments.

<alan@lxorguk.ukuu.org.uk>
	[PATCH] fix warnings in fpu code

<rmk@flint.arm.linux.org.uk>
	[SERIAL] Remove old pci_board cruft from serialP.h

<mochel@osdl.org>
	driver model: and present field to struct device and implement device_unregister().
	
	device_unregister() is intended to be the complement of device_register(), and assumes
	most of the functionality of the current put_device(). It should be called by the bus 
	driver when a device is physically removed from the system. 
	
	It should _not_ be called from a driver's remove() method, as that remove() method is called
	via device_detach() in device_unregister(). 
	
	dev->present is used to flag the physical presence of the device. It is set when the device
	is registered, and cleared when unregistered. get_device() checks this flag, and returns
	a NULL pointer if cleared. This prevents anyone from obtaining a reference to a device
	that has been unregistered (removed), but not yet been freed (e.g. if someone else is 
	holding a reference to it).
	
	put_device() BUG()s if dev->present is set. A device should be unregistered before it is 
	freed. This will catch people doing it in the wrong order. 

<mochel@osdl.org>
	driver model: check return of get_device() when creating a driverfs file.

<mochel@osdl.org>
	IDE: call device_unregister() instead of put_device() in ide-disk->cleanup().

<mochel@osdl.org>
	USB: call device_unregister() instead of put_device() when removing devices.

<kuznet@ms2.inr.ac.ru>
	net/ipv4/igmp.c: Revert PACKET_MULTICAST check.
	- The media is allowed not to have any support for
	link-level multicasts, ppp is an example.

<bcrl@redhat.com>
	[AIO]: First stage of AIO infrastructure for networking.
	- Change socket lock users to owner which is a pointer.
	- Add sock_owned_by_user

<davem@nuts.ninka.net>
	include/net/sock.h: Kill __async_lock_sock extern for now.

<rth@are.twiddle.net>
	Move syscall table out to new file.  Prevent entSys constants from
	being out of sync with it.

<rth@are.twiddle.net>
	Merge minor changes from entry_rewrite tree.

<rth@are.twiddle.net>
	Make sysrq-b halt on SRM.

<davem@nuts.ninka.net>
	drivers/scsi/scsi.h: Add back sync/wide members for host drivers.

<davem@nuts.ninka.net>
	[CRIS/SPARC/SPARC64]: Init mem_map after free_area_init_node.

<dledford@redhat.com>
	[PATCH] Updated scsi patch
	
	scsi_syms.c:
	  Missing export
	drivers/scsi/aic7xxx_old.c:
	   More updates for the slave_attach stuff
	drivers/scsi/scsi_scan.c:
	   Make scsi_scan.c call hostt->slave_attach after we have set the
	   sdev->tagged_supported variable

<davem@nuts.ninka.net>
	drivers/net/pppoe.c: Use sock_owned_by_user.

<davem@nuts.ninka.net>
	[SCTP]: Use sock_owned_by_user.

<vojtech@suse.cz>
	Fix i8042 for Sun, recent updates broke it.

<davem@nuts.ninka.net>
	arch/sparc64/kernel/ioctl32.c: Block ioctl handling fix.

<vojtech@suse.cz>
	Fix oops when 'cat /dev/uinput' is done. Used wait_event_interruptible().

<vojtech@suse.cz>
	Don't try to enable extra keys on IBM/Chicony keyboards as this upsets
	several notebook keyboards. Until we find a better solution how to detect
	who are we talking to, we rely on the kernel command line. Use
	atkbd_set=4 to gain access to the extra keys.

<vojtech@suse.cz>
	Fix a ; in atkbd.c that somehow got into the last cset.

<mochel@osdl.org>
	[PATCH] IDE: only register devices that are present

<akpm@digeo.com>
	[PATCH] 64-bit sector_t - various driver changes
	
	peter's code works for me, and the 40-odd people who download
	the -mm patches.  Anton has tested it on ppc64 and I presume that
	Peter has tested it on ia64.  I use gcc-2.91.66 and others use
	later compilers.  I expect that any remaining problems will
	mainly be caught by the compiler.  And compiler bugs can be
	detected by turning off the option in config and seeing if things
	get better.
	
	From Peter Chubb
	
	 - do_request() function takes sector_t not unsigned long as the
	   block number to operate on.
	 - Various casts to long where the underlying device can never get
	   big enough to warrant a 64-bit sector offset.
	 - Cast sector_t to unsigned long long when printing.

<akpm@digeo.com>
	[PATCH] 64-bit sector_t - printk changes and sector_t cleanup
	
	From Peter Chubb
	
	printk changes: A sector_t can be either 64 or 32 bits, so cast it to a
	printable type that is at least as large as 64-bits on all platforms
	(i.e., cast to unsigned long long and use a %llu format)
	
	Transition to 64-bit sector_t: fix isofs_get_blocks by converting the
	(possibly 64-bit) arg to a long.
	
	SCSI 64-bit sector_t cleanup: capacity now stored as sector_t; make
	sure that the READ_CAPACITY command doesn't sign-extend its returned
	value; avoid 64-bit division when printing size in MB.
	
	Still to do:
	 - 16-byte SCSI commands
	 - Individual scsi drivers.

<akpm@digeo.com>
	[PATCH] 64-bit sector_t - driver changes
	
	From Peter Chubb
	
	Compaq Smart array sector_t cleanup: prepare for possible 64-bit sector_t
	
	Clean up loop device to allow huge backing files.
	
	MD transition to 64-bit sector_t.
	 - Hold sizes and offsets as sector_t not int;
	 - use 64-bit arithmetic if necessary to map block-in-raid to zone
	   and block-in-zone

<akpm@digeo.com>
	[PATCH] 64-bit sector_t - filesystems
	
	From Peter Chubb
	
	Filesystem migration to possibly 64-bit sector_t:
	 - bmap() now takes and returns a sector_t to allow filesystems
	   (e.g., JFS, XFS) that are 64-bit clean to deal with large files
	 - buffer handling now 64-bit clean
	
	Enable 64-bit sector_t on IA32 and PPC.
	
	kiobufs takes sector_t array, not array of long.
	Fix blkmtd.c to deal in such an array.
	
	Miscellaneous fixes for 64-bit sector_t.
	 	 - missed printk formats
		 - ide_floppy_do_request had incorrect signature
		 - in blkmtd.c there was a pointer used to
		   manipulate an array to be used by kiobuf --
	 	   it was unsigned long, needed to be sector_t

<akpm@digeo.com>
	[PATCH] 64-bit sector_t - md fixes
	
	From Peter Chubb
	
	(Yes I forgot something...  Without this patch, trying to use RAID
	without CONFIG_LBD would fail.)
	
	Fix md operation without CONFIG_LBD --- don't try to include __udivdi3
	etc.

<akpm@digeo.com>
	[PATCH] 64-bit sector_t - remove udivdi3, use sector_div()
	
	From Peter Chubb
	
	Get rid of need for GCC _udivdi3 and _umoddi3 helper functions
	 - use sector_div more aggressively.

<akpm@digeo.com>
	[PATCH] Fix xxx_get_biosgeometry --- avoid useless 64-bit division.
	
	From Peter Chubb
	
	The bios geometry is almost useless, except for fdisk to try to write
	an MSDOS partition table that is vaguely compatible with one written by
	other operating systems.
	
	If the size of disc will overflow a ten-bit cylinder number, then all
	bets are off anyway.  So fake it by casting the true disc capacity to a
	smaller type (than u64), so that we avoid 64-bit division on 32-bit
	platforms.  If the disc is small enough that the number of cylinders is
	correct, then this has no effect; otherwise, the number-of-cylinders we
	report is bogus, but you can't use an MSDOS-format partition table on
	such a drive anyway --- use the EFI GPT or the LDM partitioning, which
	use 64-bit offsets internally.

<akpm@digeo.com>
	[PATCH] Hardwire CONFIG_LBD to "on" for testing
	
	Make 64-bit sector_t compulsory.  Accelerated testing...

<axboe@suse.de>
	[PATCH] Scsi sense buffer thinko
	
	Noticed by Peter Chubb.
	
	SCpnt->sense_buffer[0] has to _equal_ 0xf0 for the sense to be valid,
	not vice versa.

<hch@lst.de>
	[PATCH] initcalls for ATM
	
	Switch over ATM code to initcalls and reorder the makefile so
	that link order inside atm is the same.  I've also cleaned up
	the makefile a bit while at it.
	
	I didn't fix the existing compilation problems in the drivers (cli &
	friends) and the broken le/be firmware selection for the fore200e cards
	(kbuild breakage) though.

<schwidefsky@de.ibm.com>
	[PATCH] s390 update: compile fixes
	
	Switch to @$(generate-asm-offsets.h) method to create the asm-offsets.h file,
	fix signal dequeueing in the 31 bit emulation code and fix includes.

<schwidefsky@de.ibm.com>
	[PATCH] s390 update: work queues
	
	Remove all tq_structs from s390 driver code.

<schwidefsky@de.ibm.com>
	[PATCH] s390 update: tasklets
	
	Switch from work queues to tasklets in the 3215 and 3270 drivers.

<schwidefsky@de.ibm.com>
	[PATCH] s390 update: linker script typo
	
	Correct typo in the vmlinux.lds.S files.

<schwidefsky@de.ibm.com>
	[PATCH] s390 update: superfluous memset
	
	Remove a duplicate memset. That is already done in alloc_disk.

<schwidefsky@de.ibm.com>
	[PATCH] s390 update: syscall tracing
	
	Pass the system call number in grp2 to strace instead of -ENOSYS.

<schwidefsky@de.ibm.com>
	[PATCH] s390 update: 3270 console
	
	Fix 3270 console reboot loop. Recognize 3270 control unit type 3174.
	Fix tubfs kmallocs. Dynamically get 3270 input buffer. Get bootup colors
	right on 3270 console

<mochel@osdl.org>
	IDE: add struct device to ide_drive_t and use that for IDE drives
	
	... instead of the one in struct gendisk.

<tmolina@cox.net>
	[PATCH] remove double "lock" in v_midi.h
	
	A second instance of lock had been inadvertently added to v_midi.h

<tmolina@cox.net>
	[PATCH] missing exports
	
	the netfilter ipt owner module still needs the following to compile

<mochel@osdl.org>
	IDE: register ide driver for all ide drives; not just for disk drives. 
	  
	This adds
	      struct device_driver    gen_driver;
	  
	to ide_driver_t, which is filled in with necessary fields when an ide
	driver calls ide_register_driver(). That then registers the driver with
	the driver model core. 
	  
	As a result, this gives us the following output in driverfs:
	  
	# tree -d /sys/bus/ide/drivers/
	/sys/bus/ide/drivers/
	|-- ide-cdrom
	`-- ide-disk
	  
	The suspend/resume callbacks in ide-disk.c have been temporarily
	disabled until the ide core implements generic methods which forward
	the calls to the drive drivers. 

<mochel@osdl.org>
	IDE: Add generic remove() method for drives; remove reboot notifier.
	  
	The remove() method is generic for all drives, and set in ide_driver_t::gen_driver.
	The call simply forwards the call to ide_driver_t::standby(). 
	
	This obviates the need for IDE reboot notifier. The core iterates over all present
	devices in device_shutdown() and unregisters each one. 

<mochel@osdl.org>
	IDE: make ide_drive_remove() call driver's ->cleanup().
	
	This was accidentally dropped before, but re-added now to completely mimic
	behavior of the reboot notifier IDE used to have. 

<alan@lxorguk.ukuu.org.uk>
	[PATCH] first pass over the in2000
	
	- new locking
	- new_eh
	- use ->page/->offset

<alan@lxorguk.ukuu.org.uk>
	[PATCH] 3c501 for 2.5
	
	Not much here, just some tidying/checking. This driver can't alas use NAPI
	in 2.5. Note however it has no panics or BUG()s so appears to meet the
	carrier grade guidelines ;)
	
	- Clarified authors so I get the mail not Donald
	- Added missing MODULE_ bits
	- Moved junk into 3c501.h

<rml@tech9.net>
	[PATCH] fix preempt_count overflow with brlocks
	
	Now that brlocks loop over NR_CPUS, on SMP every br_lock/br_unlock
	results in the acquire/release of 32 locks.  This incs/decs the
	preempt_count by 32.
	
	Since we only have 7 bits now for actually storing the lock depth, we
	cannot nest but 3 locks deep.  I doubt we ever acquire three brlocks
	concurrently, but it is still a concern.
	
	Attached patch disables/enables preemption explicitly once and only
	once for each lock/unlock.  This is also an optimization as it
	removes 31 incs, decs, and conditionals. :)
	
	Problem reported by Andrew Morton.

<rml@tech9.net>
	[PATCH] getpid() comment typo
	
	Comment above getpid() is wrong.
	
	This patch fixes it, and expands the comment to explain why on earth
	we have getpid() returning ->tgid and not ->pid.

<dledford@redhat.com>
	[PATCH] compile fix for cpqfc driver

<torvalds@penguin.transmeta.com>
	wd7000 indent pass, no code changes
	
	indent -kr -i8 -bri0 -l255 wd7000.{c,h}

<David_Jeffery@adaptec.com>
	[PATCH] ips driver 1/6
	
	This removes several unused header includes and allows
	the driver to compile by no longer trying to include
	<linux/tqueue.h> . You may have already gotten a patch
	to remove tqueue.h from someone else.
	
	This patch also corrects the spelling of my last name
	in the MAINTAINERS file.  You'd think I'd be used to
	seeing it spelled wrong by now.

<David_Jeffery@adaptec.com>
	[PATCH] ips driver 2/6
	
	This patch is some simple code consolidation.
	A new function ips_abort_init() is created
	and consolidates some repeated code that is
	used if there is an error during initialization
	of the adapter.

<David_Jeffery@adaptec.com>
	[PATCH] ips driver 3/6
	
	This patch adds an Adaptec copyright, makes a few
	minor comment changes, and removes a few unneeded
	macros.

<David_Jeffery@adaptec.com>
	[PATCH] ips driver 4/6
	
	This is by far the biggest patch.  It is a rewrite of the
	driver's horrid locking.  In addition to the host_lock,
	the driver used to have 4 other locks per adapter!
	It had a redundant ha_lock and a lock for each of 3
	queues.  In a few places it also played with atomic bit
	setting. And almost all of it was useless as the
	host_lock was already held.
	
	This patch cleans up this locking nightmare.  The driver
	now uses the host_lock exclusively.  Only a few places
	needed to add calls to lock the host_lock.  Most of
	this patch is deletion of useless extra locking.

<David_Jeffery@adaptec.com>
	[PATCH] ips driver 5/6
	
	2 minor bug fixes.
	
	The first section makes sure we limit the size of the
	sense_buffer copy to the target buffer's size so that
	we don't overflow the sence_buffer.
	
	The other sections remove some pointer arithmatic that
	is wrong on 64bit machines do to padding.  Instead, just
	call the pci_map functions on the buffer.

<David_Jeffery@adaptec.com>
	[PATCH] ips driver 6/6
	
	2 bug fixes for scsi pass through
	
	When talking directly to scsi devices, the driver would
	sometimes get two things wrong.  We could set too short
	of a timeout. Or, we could confuse the adapter by having
	non-zero values in certain fields which we shouldn't have
	been using.  This patch corrects these problems.

<bcrl@toomuch.toronto.redhat.com>
	fix compile glitch introduced by the addition of symbol exports

<rth@dot.sfbay.redhat.com>
	Fix missed variable rename in stxncpy glibc conversion.

<sfr@canb.auug.org.au>
	[PATCH] fix __SI_CODE
	
	This small patch is extracted from George Anzinger's High-res-timer
	patches.

<acme@dhcp197.conectiva>
	o hid-input: fix find_next_zero_bit usage
	
	It was swapping the parameters, using the bitfield size for the
	offset and the offset for the bitfield size. With this the mouse
	buttons in my wireless USB keyboard finally works 8) 2.4 has the
	same problem.

<mingo@elte.hu>
	[PATCH] timer cleanups
	
	This is my latest timer patchset, it makes del_timer_sync() a bit more
	robust wrt.  code that re-adds timers from the timer handler.
	
	Other changes in the patch:
	
	 - clean up cascading a bit.
	
	 - do not save flags in __run_timer_list - we enter from an irqs-enabled
	   tasklet.

<akpm@digeo.com>
	[PATCH] mremap use-after-free bugfix
	
	I have invented a new software development methodology! You send an
	email to Hugh saying "I don't have the foggiest idea why this guy's
	kernel is oopsing" and next morning, you get a patch! I shall patent
	this.
	
	Since 2.5.3, move_vma() has been passing a freed vma into
	move_page_tables().  Fix it to move back to the previous vma in the
	list if we're about to delete this one.
	
	Thanks to Morten Helgesen for patient reporting, diagnosis and testing.

<akpm@digeo.com>
	[PATCH] move_one_page atomicity fix
	
	The atomicicty fix for move_one_page() was not quite right.
	
	We only do the page_table_present() test if CONFIG_HIGHPTE=y.  Which is
	fine, but even with CONFIG_HIGHPTE=n, the pte mapping functions still
	do an inc_preempt_count() due to their unconditional kmap_atomic().  So
	we get a might_sleep() warning.
	
	The warning is actually bogus, because those pte's are always in
	direct-mapped memory.
	
	So hm.  Three fixes suggest themselves:
	
	1: Run the page_table_present() test if CONFIG_HIGHMEM.
	
	   Rejected: penalises non-pte_highmem setups
	
	2: Make kmap_atomic() not do inc_preempt_count() is the page was
	   direct mapped.
	
	   Rejected: I don't think we want kmap_atomic side effects to be
	   varying according to the page which was passed.
	
	3: Change the pte mapping functions so they don't run kmap_atomic at
	   all if CONFIG_HIGHPTE=n
	
	   This is what I did.  And guess what?  For CONFIG_HIGHMEM=y,
	   CONFIG_HIGHPTE=n this patch shrinks the kernel by 5 kbytes.  Because
	   kmap_atomic is inlined.
	
	   The lesson: we do way too much damn inlining.

<akpm@digeo.com>
	[PATCH] fix the raw driver
	
	Fix the raw driver by tricking it into performing O_DIRECT IO against
	the bound blockdev.
	
	- rewrite the i_mapping for /dev/raw/raw0 to point at the same thing
	  as bdev->bd_inode->i_mapping.  We've performed a bdget() against the
	  blockdev, which should pin it for the correct lifetime.
	
	- set the O_DIRECT bit on the caller's file->flags.

<akpm@digeo.com>
	[PATCH] remove radix_tree_reserve()
	
	From Hugh Dickins.
	
	radix_tree_reserve() exists solely for the tmpfs move_to_swap_cache()
	and move_from_swap_cache() functions, and yet they don't need it: there
	is no problem in the one page being simultaneously listed in two radix
	trees (while both locks are held).  Use radix_tree_insert(), and remove
	radix_tree_reserve(); also removed a few blank lines.

<akpm@digeo.com>
	[PATCH] remove the sched_yield from the ext3 fsync path
	
	The changed sched_yield() semantics have made ext3's transaction
	batching terribly slow.
	
	Apparently a schedule() fixes that, although it probably breaks
	transaction batching.
	
	This patch largely fixes my complaints about the new scheduler being
	extremely sluggish to interactive applications.  Evidently those
	applications were calling fsync() and were spending extremely long
	periods in sched_yield().

<akpm@digeo.com>
	[PATCH] make readv/writev return 0 for 0 segments
	
	Should resolve an ongoing fiasco concerning what we should return to
	userspace if they do a readv or writev of zero segments.
	
	SuS is ambiguous, but implies EINVAL.  We're currently returning
	EINVAL, but 2.4 returns zero.
	
	I think zero makes more sense, and it is what 2.4 does.

<bcrl@redhat.com>
	fix symbol export in fs/read_write.c

<johnstul@us.ibm.com>
	[PATCH] linux-2.5.41_timer-changes_A4 (1/3 - infrastructure)
	
	        The i386 time.c code is turning into a mess. We've got multiple
	functions that do the same thing, only with different hardware, all
	surrounded #ifdefs and even more difficult to follow #ifndefs. George
	Anzinger is introducing a new ACPIpm time source, I'm going to attempt
	to add the cyclone counter as a time source, and in the future there
	will be HPET to deal with. These will not go in cleanly together as
	things are now.
	
	        Inspired by suggestions from Alan, this collection of patches
	tries to clean up time.c by breaking out the PIT and TSC specific parts
	into their own files. Additionally the patch creates an abstract
	interface to use these existing time soruces, as well as make it easier
	to add future time sources.
	
	        It introduces "struct timer_ops" which gives the time code a
	clear interface to use these different time sources. It also allows for
	clearer conditional compilation of these various time sources.
	
	        This first patch (part 1 of 3) provides the infrastructure
	needed via the timer_ops structure, as well as the select_timer()
	function for choosing the best available timer.

<johnstul@us.ibm.com>
	[PATCH] linux-2.5.41_timer-changes_A4 (2/3 - bulk move)
	
	        This is part 2 of 3 of my timer-change patch. Part 2 is just a
	bulk move of code out of time.c and into timer_pit.c and timer_tsc.c. No
	code is changed, only moved.
	
	        Please note, this code will not compile without the final third
	part of this patch collection. This was done for readability alone.

<johnstul@us.ibm.com>
	[PATCH] linux-2.5.41_timer-changes_A4 (3/3 - integration)
	
	        This is the final part 3 of 3 of my timer-change patch. Part 3
	integrates the moved code (from part 2) into the new infrastructure
	(from part 1).

<johnstul@us.ibm.com>
	[PATCH] linux-2.5.41_cyclone-timer_B2
	
	        In order to demonstrate how new time-sources are added to my
	timer-changes patch. Here is my current version of my cyclone-timer
	patch for 2.5.41. This uses the infrastructure set up in the
	timer-changes_A4 patch set to add the cyclone counter (found on IBM
	Summit Based hardware) as a time-source.
	
	        The current code is not enabled as it also depends on James
	Cleverdon's 2.5 summit patch, however it illustrates how cleanly new
	time-sources can be added.

<stevef@smfhome1.austin.rr.com>
	Initial check in of cifs filesystem version 0.54 for Linux 2.5 (to clean tree as one changeset)

<jgarzik@mandrakesoft.com>
	[netdrvr] Use ADVERTISE_FULL in mii lib, to clean up duplex check

<torvalds@penguin.transmeta.com>
	Clean up after timers - move the "timers" Makefile info
	into the proper subdirectory (kernel) where it is used.
	
	Drop unused variables.

<axboe@suse.de>
	[PATCH] excessive stack usage in cdrom
	
	CD-ROM puts struct cdrom_changer_info on the stack in a few places, this
	is a bad idea since it's big (a bit over 1kb).  This makes us allocate
	it instead.
	
	Noticed by Anton.

<sam@ravnborg.org>
	[PATCH] drivers/scsi - Makefile fix
	
	Reference to .ver file incorrect after recent makefile changes.
	Grepped the kernel tree, and this is the only Makefile that
	uses $(MODVERDIR).

<olaf.dietsche#list.linux-kernel@t-online.de>
	[PATCH] 2.5.40: fix chmod/chown on procfs
	
	This patch allows to change uid, gid and mode of files and directories
	located in procfs.
	
	Without this patch you can change uid, gid and mode as long as the
	file is open. As soon as you close the file, it reverts back to its
	default, which is root:root and readonly usually.

<paulus@samba.org>
	[PATCH] add PCI device ID for Motorola MPC107
	
	This patch adds the PCI device ID for the Motorola MPC107 host bridge.
	The entry is already in the list at pciids.sf.net but isn't in the
	kernel pci_ids.h file yet.  Please apply this to your tree.

<paulus@samba.org>
	[PATCH] adjust PPC sysctls
	
	This patch takes out the unused KERN_PPC_ZEROPAGED sysctl, and
	restricts the KERN_PPC_POWERSAVE_NAP and KERN_PPC_L2CR sysctls to be
	present only on those PPC processors where they are useful.  This
	patch only affects PPC.

<Andries.Brouwer@cwi.nl>
	[PATCH] isofs fix
	
	The patch below removes some dead code and nonsense code.
	The part that changes behaviour is
	
	 -       if (sbi->s_cruft == 'n' &&
	 -           (volume_seq_no != 0) && (volume_seq_no != 1)) {
	 -               printk(KERN_WARNING "Warning: defective CD-ROM "
	 -                      "(volume sequence number %d). "
	 -                      "Enabling \"cruft\" mount option.\n", volume_seq_no);
	 -               sbi->s_cruft = 'y';
	 -       }
	
	that has already bitten lots of people.
	
	Nothing is wrong with a volume sequence number different from 0 or 1.
	(Cf. Ecma-119.pdf, Sections 4.17, 4.18, 6.6.)

<trond.myklebust@fys.uio.no>
	[PATCH] A basic NFSv4 client for 2.5.x
	
	Instantiate a new file, include/linux/nfs4.h, which contains
	constants and typedef's for the NFSv4 protocol (by analogy with
	include/linux/nfs2.h and include/linux/nfs3.h).
	
	Also #include this file in a few places where it will be needed
	later.

<trond.myklebust@fys.uio.no>
	[PATCH] A basic NFSv4 client for 2.5.x
	
	In a number of places in the NFS client, I had to change
	
	  #ifdef CONFIG_NFS_V3
	     /* ... */
	  #endif
	
	to
	
	  #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4)
	     /* ... */
	  #endif

<trond.myklebust@fys.uio.no>
	[PATCH] A basic NFSv4 client for 2.5.x
	
	This patch changes the interface of the ->readdir() nfs_rpc_op
	so that its first argument is a dentry instead of an inode.
	
	[Explanation: The dentry is required because in NFSv4, we need
	 to make use of the _parent_ directory's inode.  This is because
	 NFSv4 servers no longer return an entry for ".." in the READDIR
	 response, so the client kernel needs to fake this entry, inode
	 number and all.]

<trond.myklebust@fys.uio.no>
	[PATCH] A basic NFSv4 client for 2.5.x
	
	This patch changes the interface of the ->setattr() nfs_rpc_op
	so that its first argument is a dentry instead of an inode.
	
	[Explanation: The dentry is required because in NFSv4, we may
	 need to OPEN the file before doing the SETATTR.  (This is
	 required if the file size is changed as part of the setattr.)
	 Opening the file requires making use of the containing
	 directory's inode.]

<trond.myklebust@fys.uio.no>
	[PATCH] A basic NFSv4 client for 2.5.x
	
	In NFSv4, there is no hard limit on the length of symlink text.
	This patch changes the -ENAMETOOLONG test in nfs_symlink() accordingly.

<trond.myklebust@fys.uio.no>
	[PATCH] A basic NFSv4 client for 2.5.x
	
	In NFSv4, an fsid is a 64-bit major number together with a 64-bit
	minor number.  In previous versions, an fsid is a single number.
	This patch changes 'struct nfs_fattr' accordingly.

<trond.myklebust@fys.uio.no>
	[PATCH] A basic NFSv4 client for 2.5.x
	
	This is a nontrivial change to the NFS client.
	
	NFSv4 defines a new file attribute, change_attr.  This is a per-file
	opaque quantity returned by the server, whose value is required to
	change whenever the file is modified.  If it exists, we want to use
	it for all cache consistency checks in nfs_refresh_inode().  Some
	operations also return a "pre-operation" value of the change_attr;
	we want to take this into account too.
	
	First, define flags
	  NFS_ATTR_FATTR_V4 - indicates that the 'struct nfs_fattr' is an
	                      NFSv4 fattr, so the change_attr field is valid
	  NFS_ATTR_PRE_CHANGE - indicates that the server returned a pre-operation
	                      change_attr, so the pre_change_attr field is valid
	
	Second, change nfs_refresh_inode() so that the caches are invalidated
	if there is a change_attr mismatch.  Exception: If the pre_change_attr
	tells us that the mismatch was caused by our operation, then do not
	invalidate the caches.
	
	This patch should leave the logic in nfs_refresh_inode() unchanged
	if neither of the new flags are set.

<trond.myklebust@fys.uio.no>
	[PATCH] A basic NFSv4 client for 2.5.x
	
	If the NFS_ATTR_FATTR_V4 flag is set, use the NFSv3 convention for
	the 'space_used' part of the fattr.

<trond.myklebust@fys.uio.no>
	[PATCH] A basic NFSv4 client for 2.5.x
	
	This is a nontrivial change to the NFS client.
	
	Synchronous READ operations are currently done via the ->read() nfs_rpc_op.
	Therefore, the synchronous READ path can easily be adapted for NFSv4.  On
	the other hand, the asynchronous READ path contains several NFSv3-specific
	features, which make it difficult to adapt for NFSv4.
	
	In this patch and the next, we modify the async READ path to be
	version-agnostic.  This patch just changes the 'struct nfs_read_data'
	so that the v2- and v3-specific parts are moved into a private area,
	with room for a v4-specific part in parallel.  None of the logic is
	changed.

<trond.myklebust@fys.uio.no>
	[PATCH] A basic NFSv4 client for 2.5.x
	
	This is a nontrivial change to the NFS client.
	
	In this patch, we finish modifying the async READ path so that it is
	version-agnostic.  We define a new nfs_rpc_op ->setup_read(), and move
	the v2- and v3-specific code in nfs_read_rpcsetup() there.  We also
	have to change nfs_readpage() result so that the 'count' of bytes
	read is a parameter.  The extra parameter means that it can no longer
	be ->tk_exit().  Instead, it is called from a version-specific ->tk_exit()
	routine which is set in ->read_setup().
	
	The upshot of all this is that the version-specific part of the
	async READ path has been encapsulated in a new nfs_rpc_op
	->read_setup(), and NFSv4 can share the logic for asynchronous
	READ's with NFSv2 and v3.

<trond.myklebust@fys.uio.no>
	[PATCH] Fix NFS locking over TCP
	
	The 2.5.x RPC code is currently broken in that it demands that all
	tasks that call xprt_create_proto() in order to open a TCP socket must
	have CAP_NET_BIND_SERVICE capabilities, and must bind to a privileged
	port.
	
	This breaks the NLM locking code and its use of the call_bind() RPC
	portmapper lookup feature.
	
	This patch allows the built-in portmapper client to use unbound TCP
	sockets if the user does not have the necessary capabilities.

<greg@kroah.com>
	[PATCH] minor i386 timer changes for 2.5.41
	
	Here's an additional patch that contains the cleanups I did to John's
	timer patches.  It does the following:
	
		- uses C99 initializers
		- makes the timer list static
		- adds better documentation to the timer function structure
		- makes the timer init function return 0 on success
		- NULL terminates the list of timers to make further patches
		  easier.

<dledford@redhat.com>
	[PATCH] atp870 driver
	
	This is a minimal patch to allow me to load/use the atp module so I can do
	further testing work on it.

<zwane@linuxpower.ca>
	Add ethtool media support to 3c509 net driver

<jgarzik@mandrakesoft.com>
	Support multiple cards in ewrk3 net driver
	(contributed by Adam Kropelin)

<maxk@qualcomm.com>
	Initialize Bluetooth core using subsys_initcall().

<maxk@qualcomm.com>
	RFCOMM core API extensions. Improved /proc/bluetooth/rfcomm format.
	RFCOMM socket locking fixes. 
	Fix typo in rfcomm_pi() macro, no more oopses on socket destruction. 

<kai@tp1.ruhr-uni-bochum.de>
	ISDN: race-free incoming call handling
	
	Move the incoming call handling from isdn_net.c to isdn_net_lib.c.
	We use a spinlock protected list for finding a matching device on incoming
	calls, making sure that a concurrent net_device::close() cannot corrupt
	the list under us or destroy the isdn_net_dev before its ref count hits
	zero.
	
	Also, remove superfluous #ifdefs from isdn_concap.c

<rth@dot.sfbay.redhat.com>
	Avoid oops on systems that set atkbd_reset.

<kai@tp1.ruhr-uni-bochum.de>
	ISDN: Accept incoming calls and do callback in the state machine
	
	Moving as much as possible into the state machine, which should eventually
	simplify things.

<kai@tp1.ruhr-uni-bochum.de>
	ISDN: Move generic bits from isdn_net_lib to isdn_common
	
	o When accepting an incoming call, leave it to the common code to set
	  usage, numbers etc.
	o Make USAGE_EXCLUSIVE just another flag when getting / accepting 
	  a channel, getting rid of some special case code.
	o No need to pass the current usage when freeing a channel

<kai@tp1.ruhr-uni-bochum.de>
	ISDN: Move binding the interface into state machine
	
	Again, let's do as much as possible inside the state machine..

<kai@tp1.ruhr-uni-bochum.de>
	ISDN: ref counting for isdn_net_local / isdn_net_dev
	
	Make sure that we elevate the ref count for isdn_net_dev's in states
	other than ST_NULL, so only after we get back to ST_NULL, our net_device
	may be closed (only afterwards, the isdn_net_dev's could be deleted).

<mac@melware.de>
	ISDN: Add new Eicon driver
	
	Armin Schindler:
	
	- Divas driver V2 for Eicon Networks DIVA-Server ISDN PCI cards,
	  consists of 5 modules: internal link-module, main driver,
	  capi-interpreter module, user interface module and maint-driver
	  for debugging and logging.

<vojtech@suse.cz>
	Fixes in i8042.c Active Multiplexing support.

<zw@superlucidity.net>
	Several fixes in the uinput.c userspace input driver. Size of fifo,
	handling of flag bits, etc.

<Andries.Brouwer@cwi.nl>
	Since 2.5.32 the keyboard repeat code was broken.
	The reason Vojtech broke it was the stupid name of a field
	in struct kbd_repeat, namely "rate".  Every sane person
	expects that a rate has dimension [1/sec], but here the
	"rate" is a time period measured in msec.
	
	So, the patch below first of all fixes the code,
	and secondly changes the name.
	Since Vojtech used PERIOD as index, I also used period
	as field name in the struct.
	
	Half of the stuff below is actually from Alan Stern.
	
	Andries

<rmk@flint.arm.linux.org.uk>
	[SERIAL] Fix uart_type compilation error when CONFIG_PROC_FS=n

<rmk@flint.arm.linux.org.uk>
	[SERIAL] Fix oops when removing some PCI serial boards
	Patch from William Lee Irwin II.

<rmk@flint.arm.linux.org.uk>
	[SERIAL] Fix serial.h/serialP.h ordering nightmare.
	Don't release NULL resources.

<anton@samba.org>
	[PATCH] fix NLS config.in
	
	Quick fix for CONFIG_NLS, add a missing space.

<jeb.j.cramer@intel.com>
	e1000 net driver minor fixes/cleanups:
	* don't read PCI bus for values stored in struct pci_dev
	* remove silly BUG() in e1000_sw_init, and
	* return error from e1000_sw_init

<fubar@us.ibm.com>
	Prevent EFAULT errors when checking link status, in bonding net driver.
	Also some minor cleanups as well.
	
	[This patch qualifies for the cavemen ugh-lympics, because the driver does
	some really nasty things in interrupt context and this patch does
	not correct that.  However, the patch is an incremental improvement
	over the current code so it's still worth applying.  I'll fix it
	further if IBM does not fix it first.  -jgarzik]

<mingo@elte.hu>
	[PATCH] sched-2.5.41-A0
	
	This fixes the scheduler's migration code to not disable preemption.  It
	also fixes the bug that was hidden by the broken disable-preempt change:
	the migration thread did not kick idle CPUs if a task is migrated to
	them, which causes a hung boot when ksoftirqds are started.  It was pure
	luck it worked until now, it was broken pretty much from day 1 on.

<zwane@linuxpower.ca>
	Add ethtool media support to smc91c92_cs net driver.
	Also fixes a bug when UTP port is unplugged.

<jt@hpl.hp.com>
	irda update 1/6, big vlsi_ir driver update:
	                <Following patch from Martin Diehl>
	        * merge+sync with changes from recent kernels: pci_[sg]et_drvdata,
	          __devexit_p, netdev->last_rx, irda header cleanup
	        * add netdev tx_timeout which re-initializes the whole thing
	        * add power management support consistent with pci driver api
	        * major rework of the ring descriptor operations
	        * make correct usage of consistent and streaming pci dma api
	        * nuke last virt_to_bus() and friends
	        * support MIR/FIR highspeed interaction pulse (SIP)
	        * review all paths for packet-size issues (rx and tx)
	        * fix an old issue requiring hw powercycle caused by a race
	          between IrLAP and hardware when switching _back_ to default
	          speed at LAP disconnect. This was opened by the complete async
	          behaviour of netdev->xmit but didn't happen before your latency
	          improvements went into the stack.
	        * add driver status readout under /proc/driver/vlsi_ir/irda%
	          For 2.5, this will probably go into driverfs once things have
	          stabilized.
	        * fix potential deadlock in speed changing code
	        * make identical driver working for both 2.4 and 2.5
	        * add __attribute__((packed)) to hardware-exposed struct
	        * add suggested pci_dma_prep_single() to flush cpu cache before
	          streaming dma buffer gets reused for busmastering

<jt@hpl.hp.com>
	irda update 2/6:
	                <Following patch from Martin Lucina & Christian Gennerat>
	        o [FEATURE] Rewrite of the toshoboe driver using documentation
	        o [FEATURE] Support Donau oboe chipsets.
	        o [FEATURE] FIR support
	        o [CORRECT] Probe chip before opening
	        o [FEATURE] suspend/resume support
	        o [FEATURE] Numerous other improvements/cleanups
	        o [CORRECT] (me) Remove save_flags()/cli() for spinlock
	                <Currently, we keep the old toshoboe driver around>
	        o [FEATURE] Config.help for ma600 driver (unrelated ;-)

<jt@hpl.hp.com>
	irda update 3/6:
	        o [FEATURE] Export CRC16 helper so that drivers can use it

<jt@hpl.hp.com>
	irda update 4/6:
	        o [FEATURE] Fix spelling UNITIALISED => UNINITIALISED
	        o [CORRECT] Accept data from TTY before link initialisation
	                This seems necessary to avoid chat (via pppd) dropping chars
	        o [CRITICA] Remember allocated skb size to avoid to over-write it
	        o [FEATURE] Remove  LM-IAS object once connected
	        o [CORRECT] Avoid declaring link ready when it's not true

<jt@hpl.hp.com>
	irda update 5/6:
	        o [FEATURE] Fix some comments
	        o [FEATURE] printk warning when we detect buggy QoS from peer
	        o [CORRECT] Workaround NULL QoS bitfields
	        o [CORRECT] Workaround oversized QoS bitfields
	        o [FEATURE] Add sysctl "max_tx_window" to limit IrLAP Tx Window

<jt@hpl.hp.com>
	irda update 6/6:
	        o [CORRECT] Start timer before sending event to fix race condition
	        o [FEATURE] Improve the IrLMP event debugging messages.

<dledford@redhat.com>
	[PATCH] redo of scsi.h changes
	
	Start removing items from scsi.h that are driver specific and provide a
	patch to NCR53C9x.? that switches to driver private storage instead as
	an example of how drivers should do private struct storage

<dledford@redhat.com>
	[PATCH] Updates for the scsi.h removal of device specific data from struct scsi_device

<dledford@redhat.com>
	[PATCH] tcq fixes for the issue on linux-kernel
	
	This does 4 things.  Fixes the oversight James found about cmd_per_lun.
	Makes scsi_adjust_queue_depth() implement the usage of tagged that I
	described in my email to linux-scsi.  Updates some comments to highlight
	things that are going to go away shortly.  Removes the call to
	host->select_queue_depths() entirely since drivers that implement this
	will try to set SDptr->queue_depth to the desired depth, which in reality
	will do nothing but confuse the mid layer since that is now the actual
	allocated command counter, so it won't make the mid layer allocate more
	commands, it will make the mid layer think more commands have been
	allocated.

<dledford@redhat.com>
	[PATCH] aic7xxx_old update and a compile warning fix in scsi.c
	
	Rework lots of cruft in the aic7xxx_old driver so that it can be more
	easily read and understood by other people and so it starts on the road
	to giving a clearer picture of how to interact with the scsi mid layer.

<dledford@redhat.com>
	[PATCH] Make the rest of the world happy with ips again

<akpm@digeo.com>
	[PATCH] x86 uniproc compile fix
	
	Fix uniprocessor compilation.
	
	do_timer.h needs asm/mpspec.h for the declaration of `using_apic_timer'

<trond.myklebust@fys.uio.no>
	[PATCH] Remove unbalanced kunmap() in NFS readdir code
	
	The following seems to have survived the purge ..

<trond.myklebust@fys.uio.no>
	[PATCH] Disable Nagle algorithm for RPC over TCP.
	
	The Nagle algorithm gets in the way when sending short RPC messages to
	the server. The following patch from Chuck does the equivalent of
	setting TCP_NODELAY on the socket.

<trond.myklebust@fys.uio.no>
	[PATCH] A basic NFSv4 client for 2.5.x
	
	This is a nontrivial change to the NFS client.
	
	This patch does for the async WRITE and COMMIT paths what patch 14
	did for the async READ path, by changing 'struct nfs_write_data'
	so that the v2- and v3-specific parts are moved into a private area,
	with room for a v4-specific part in parallel.  None of the logic is
	changed.

<trond.myklebust@fys.uio.no>
	[PATCH] A basic NFSv4 client for 2.5.x
	
	This is a nontrivial change to the NFS client.
	
	This patch does for the async WRITE and COMMIT paths what patch 15
	did for the async READ path, by defining new nfs_rpc_ops ->setup_write()
	and ->setup_commit().

<trond.myklebust@fys.uio.no>
	[PATCH] A basic NFSv4 client for 2.5.x
	
	In NFSv3, an RPC is retried if the special error NFSERR_JUKEBOX is
	received.  This generic bit of postprocessing happens invisibly for
	synchronous RPC's, but in the async case, the ->tk_exit callback
	must call nfs_async_handle_jukebox() by hand.
	
	In NFSv4, we also need generic postprocessing of async RPC's, but
	the details are different.  Therefore, we don't want to call
	nfs_async_handle_jukebox(); we want to call a different, NFSv4-specific
	routine.  Therefore, we want to move calls to nfs_async_handle_jukebox()
	out of the "generic" NFS code and into NFSv3-specific routines.  This
	has already been done for async READ and WRITE in the preceding patches,
	but there is still one outstanding case: the async REMOVE in sillyrename.
	
	This patch removes nfs_async_handle_jukebox() from the async sillyrename
	path, and puts in the NFSv3 ->unlink_done() rpc_op.

<trond.myklebust@fys.uio.no>
	[PATCH] A basic NFSv4 client for 2.5.x
	
	Now that all calls to nfs_async_handle_jukebox() have been moved to
	fs/nfs/nfs3proc.c, we clean up by moving the nfs_async_jukebox() routine
	itself there.  We also rename it nfs3_async_handle_jukebox(), to be
	consistent with the naming conventions of that file.

<trond.myklebust@fys.uio.no>
	[PATCH] A basic NFSv4 client for 2.5.x
	
	A trivial loose end: add a 'lease_time' field to 'struct nfs_fsinfo'.

<kronos@kronoz.cjb.net>
	[PATCH] C99 designated initializer for fs/coda

<kronos@kronoz.cjb.net>
	[PATCH] C99 designated initializer for fs/jffs

<kronos@kronoz.cjb.net>
	[PATCH] C99 designated initializer for fs/affs

<kronos@kronoz.cjb.net>
	[PATCH] C99 designated initializer for drivers/ide/pci

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: Remove the nfs-devel list from MAINTAINERS
	
	It only gets spam these days...

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: Use correct value for max size for readlink response.
	
	Symlinks in NFSv3 can be upto 1024 bytes, not 256 like nfsv2.

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: A couple of possible incorrect calls to dput....
	
	Thanks to Hirokazu Takahashi <taka@valinux.co.jp>

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: pre-zero response for lockd _msg requests.
	
	All the lockd *_msg requests are implemented by
	calling the equivalent non- *_msg request and sending off
	the response as a new message (*_res).
	
	For the non- *_msg requests, the response buffer is
	pre-zeroed by the RPC layer, but the *_msg handlers weren't
	pre-zeroing the buffer, would could in some circumstances lead to
	an Oops.
	
	Now we pre-zero them all.

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: header file for NFSv4 XDR
	
	Instantiate a new file include/linux/nfsd/xdr4.h (server-side XDR for
	NFSv4).

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: Expand nfsd filehandle to 128 bytes.

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: new routine fh_dup2()
	
	Define fh_dup2(), which copies a _verified_ filehandle, taking care
	of refcounts accordingly.  (This will be used by RESTOREFH/SAVEFH and
	a few other places.)

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: New routine exp_pseudoroot() to find 'root' filehandle for nfsv4
	
	NFSv4 has a concept of a 'root' filehandle (from which all other can
	be found via LOOKUP, so no need for mountd).
	
	This patch defines exp_pseudoroot(), which is used to set the filehandle
	for the root of the pseudofs. The root is defined to be the export
	point with fsid == 0.

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: ensure XDR buffer is large enough for NFSv4
	
	This patch changes the 'xdrsize' parameter to svc_create(), to be
	     NFS4_SVC_XDRSIZE   if v4 is defined
	else NFS3_SVC_XDRSIZE   if v3 is defined
	else NFS2_SVC_XDRSIZE     (formerly NFSSVC_XDRSIZE)
	
	This always works, since
	     NFS4_SVC_XDRSIZE >= NFS3_SVC_XDRSIZE >= NFS2_SVC_XDRSIZE.
	
	The value of NFSD_BUFSIZE has also been moved to const.h, since we need
	the definition available in nfs4proc.c

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: Stub support for name lookup
	
	NFSv4 need to be able to make from user/group name
	to user/group id.  This include file contains some
	simple stubs to do this.  They will be replaced with
	something that really works later.

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: Giant patch importing NFSv4 server functionality
	
	Now that all the hooks are in place, this large patch imports all
	of the new code for the NFSv4 server.
	
	This patch makes almost no changes to the existing nfsd codebase
	(these have been taken care of by the preceding patches).
	
	One aspect of the NFSv4 code deserves comment.  The most natural scheme
	for processing a COMPOUND request would seem to be:
	  1a. XDR decode phase, decode args of all operations
	  2a. processing phase, process all operations
	  3a. XDR encode phase, encode results of all operations
	
	However, we use a scheme which works as follows:
	  1b. XDR decode phase, decode args of all operations
	  2b. For each operation,
	        process the operation
	        encode the result
	
	To see what is wrong with the first scheme, consider a COMPOUND
	of the form READ REMOVE.  Since the last bit of processing for
	the READ request occurs in XDR encode, we might discover in step
	3a that the READ request should return an error.  Therefore, the
	REMOVE request should not be processed at all.  This is a fatal
	problem, since the REMOVE was already been done in step 2a!
	
	Another type of problem would occur in a COMPOUND of the form
	READ WRITE.  Assume that both operations succeed.  Under scheme
	(a), the WRITE is actually performed _before_ the READ (since
	the "real" READ is really done during XDR encode).  This is
	certainly incorrect if the READ and WRITE ranges overlap.
	
	These examples might seem a little artificial, but nevertheless
	it does seem that in order to process a COMPOUND correctly in
	all cases, we need to use scheme (b) instead of scheme (a).
	
	(To construct less artificial examples, just substitute GETATTR
	 for READ in the examples above.  This works because the "real"
	 GETATTR is done during XDR encode: one would really have to
	 bend over backwards in order to arrange things otherwise.)

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: Enable selection of NFSv4 server in configurator and Makefile

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: Tidy up the rpc authentication interface.
	
	Define auth_ops that contains a method for authenticating a request and a
	method for authorising a reply.  Call both methods as appropriate.
	
	Also discard rq_verfed and cr_flavour, neither ever used.
	And discard rq_auth as it isn't needed.

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: Initialial caching infrastructure for RPC authentication caches
	
	This patch provides a "virtual class" for defining caches
	that make user-space information available in the kernel
	It is intended for RPC services or clients that need user-space
	support for authentication.
	
	As yet, support for userspace interaction isn't included as I want
	that to be able to have separate review.

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: Use new cache infrastructure for auth_unix specific lookups.
	
	This patch introduces two caches using the new infrastucture, and the
	concept of a 'domain'.
	
	A 'domain' refers to a collection of clients that all have the same
	view of the nfs server, and all have the same access rights (modulo
	different users on the clients).  For AUTH_UNIX (and AUTH_NULL), the
	domain is determined from the IP address.  For other authentication
	styles, the domain might be determined directly from the credentials.
	
	Each auth flavour knows how to allocate and free it's domain-specific
	infomation.
	
	auth_domain_cache maps a name to a domain which is owned by
	an auth flavour.
	
	ip_map_cache is a cache specific to AUTH_UNIX which maps
	IP address to domain.
	
	With this patch, svcauth_unix.c is created to store all
	auth_unix related code.
	
	The IP address lookup code is removed from nfsd/exports.c
	
	sunrpc module initilisation is moved out of stats.c into sunrpc_syms
	which seemed to be the most central .c file.  It now registers these
	two caches.
	
	Now that the caches are being used, nfsd needs to call cache_clean
	periodically.

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: Move auth domain lookup into svcauth
	
	Instead of doing the lookup from ipaddr to domain inside
	the nfs server, (and also when lockd calls into nfsd) it is
	now done at the rpc authentication level which is a more
	sensible place for it.
	
	Note that both AUTH_UNIX and AUTH_NULL do the same lookup.
	
	So that the rpc layer knows that nfsd and lockd both uses the
	name space of domains (while other hypothetical services may
	not) we introduce a 'class' for each service which svc_auth combines
	with the IP address when doing a lookup.

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: exp_getclient, now just a small wrapper, goes in favour of auth_unix_lookup

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: Open code exp_get and exp_get_fsid in the one place they are called.

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: Convert export-table to use new cache code
	
	This introduces two caches, svc_export_cache (nfsd.exports) and
	svc_expkey_cache (nfsd.fh).
	nfsd.exports maps client+directory  ->  export options.
	nfsd.fh maps client + filehandle-fragment -> directory.
	
	A major part of this change is that export entries are now reference counted,
	so we have to be careful  to keep those counts correct.

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: Don't over-write rpc request with response.
	
	We are going to want rpc request to be immutable so that
	we can take a copy and put it aside to be processed later.
	Currently the tcp code writes the response into the same
	buffer as the request, thus corrupting the request.
	With this patch, the response goes after the request.  There should
	always be enough room as large reqeusts (Write) has small
	responses, and large responses (read) are for small requests.
	
	buflen is changed for requests to record the length of the
	request.  It already gets reset for each new request.

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: decode symlink inplace to avoid modifying request
	
	Rather than possibly modifying a request (as
	xdr_decode_string can) we use xdr_decode_string_inplace
	to symlink contents.  This string may not be nul terminated
	(though it often is) so in the 'unlikely' event that is isn't
	nul terminated, we copy it into a kmalloced space first.
	
	It might be nice if vfs_symlink took a length, but then every
	filesystem would have to as well....

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: Provide support for request deferral and revisit.
	
	cache.c gets code to allow a 'request' to be referred pending
	an update of a cache item, and revisited when the item is
	updates.
	
	svcsock.c gets code to store the relevant part of a request on deferral, and
	to re-queue it when the cache item that caused the deferral is
	filled in.

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: Create files: /proc/net/rpc/$CACHENAME/channel for communicating cache updates with kernel
	
	Each cache gets it's own 'channel' at
	  /proc/net/rpc/$CACHENAME/channel
	
	Reads from the file will return all pending requests, one at a time.
	select will block when at end of file.
	writes will pass full lines in to be processed.

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: Provide generic code for making an upcall.
	
	This code enhances 'cache_check' to try to initiate
	an up-call if the cache entry is not up-to-date, and also
	defines add_word and add_hex for formating up-call
	requests.  See rpc-cache.txt for more detail.

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: Implement ip_map_request for upcalls
	
	This is the first upcall to actually be coded.
	A request will look like:
	   nfsd 127.0.0.1

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: Implement get_word to help in parsing cache updates
	
	get_word understands both \x and \012 quoting styles.

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: get_int and get_expiry to help in parsing.

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: Impletement ip_map_parse to allow filling auth.unix.ip cache
	
	a message should be:
	   nfsd 10.0.1.1 {Expirydate}  domainname
	
	if domainname is empty, then this is a NEGATIVE entry: that
	IP address will be deined access.
	
	{Expirydate} is seconds since unix epoch.
	e.g.  1036105199 for midnight, halloween.

<neilb@cse.unsw.edu.au>
	[PATCH] kNFSd: upcall/update for export tables
	
	Add _request and _parse methods for nfsd.fh and
	nfsd.exports tables.
	
	nfsd.fh maps a filehandle-fragment to a path for a client,
	and nfsd.exports maps a path to export options for a client.

<eike@bilbo.math.uni-mannheim.de>
	[PATCH] improve NCR53c710 SCSI driver

<peter@chubb.wattle.id.au>
	[PATCH] fix crash in yenta_bh() on card insertion/removal
	
	In the current kernels, when a PCMCIA card is inserted into or
	removed from a socket, the kernel oopses because yenta_bh() tries to
	dereference a NULL pointer.
	
	The attached patch initialises the argument to yenta_bh() so that this
	doesn't happen.

<johnstul@us.ibm.com>
	[PATCH] linux-2.5.41_cyclone-fixes_A1
	
	This syncs up the cyclone-timer code w/ Greg's changes from this
	morning.

<akpm@digeo.com>
	[PATCH] various fixes
	
	- Fix some printk warnings in 3c59x.c (inl() now returns a long).
	
	- ext3 warning fix from Stephen Hemminger: "__FUNCTION__ is a
	  constant and gcc warns about passing it as a mutuable string."
	
	- Fix a return-with-BKL-held in isofs_readdir()
	
	- paride 64-bit sector_t fix (Bill Irwin)

<jaharkes@cs.cmu.edu>
	[PATCH] Coda FS update
	
	Most of these changes have been tested and used in the 2.4 tree, so this
	is mostly a forward port of 2.4 bugfixes.
	
	* C99 initializers
	* Added specific initializations instead of assuming that the private
	  part of the inode is already initialized.
	* Remove unused code.
	* Moved container file to the struct file private data, this is to
	* correct the session semantics model when file updates are fetched from
	* the server (old 'sessions' shouldn't see the new container yet).
	* Fixed consistency (and occasional oopes) when mmap-ing Coda files.
	* Fixing up inode numbers in readdir, old libc5 getcwd was broken.
	* Nuked upcall_stats, all of this can easily be maintained in userspace,
	  and the existing code suffers from overflows in the fixed point
	  calculations.

<ak@muc.de>
	[PATCH] Efficient bswab64 for i386
	
	Due to some bugs in byteorder/generic.h linux would always use C handcoded
	swab64 for 64bit ntohq or cpu_to_be64.  The C version is very inefficient
	and expands to 30+ instructions of horrible code.
	
	This hurts on filesystems that use on disk big endian data structures
	with 64bit data types.
	
	This patch adds an assembly optimized swab64 to fix it. Now bswab64 is
	4 instructions when your CPU supports bswap and 9 when it doesn't.
	Tests were done with gcc 3.2, may be different on older gcc.
	
	This is good for ~600 bytes code size reduction in XFS (gcc 3.2):
	Before:
	 503199    3296    1682  508177   7c111 fs/xfs/xfs.o
	After:
	 502543    3296    1682  507521   7be81 fs/xfs/xfs.o
	
	Also should be faster.
	
	Also some minor cleanups in the file.

<torvalds@home.transmeta.com>
	Declare set_change_info() only if CONFIG_NFSD_V3 is enabled. It
	uses fields that do not exist otherwise.

<torvalds@home.transmeta.com>
	Linux v2.5.42