Summary of changes from v2.5.52 to v2.5.53
============================================

<gibbs@overdrive.btc.adaptec.com>
	Update aic7xxx driver to 6.2.10.  Add aic79xx U320 SCSI driver version
	1.1.1

<gibbs@overdrive.btc.adaptec.com>
	Final 1.1.1 aic79xx driver updates

<gibbs@overdrive.btc.adaptec.com>
	Bring in some deltas that were missed in the aic79xx 1.1.1 and aic7xxx
	6.2.10 updates.  The aic79xx driver now also supports mid-layer induced
	ordered tag operations.

<davidm@tiger.hpl.hp.com>
	ia64: Make mremap() work properly when returning "negative" addresses.
		Based on patch by Matt Chapman.

<davidm@tiger.hpl.hp.com>
	ia64: Define new "arch_switch" macros so that the tasklist_lock can
		be released during the (low-level) context-switch.  Patch by
		Erich Focht.

<davidm@tiger.hpl.hp.com>
	ia64: Fix efi_memmap_walk() to work with more complicated memory maps.
		Fix ACPI_ACQUIRE_GLOBAL_LOCK and ACPI_RELEASE_GLOBAL_LOCK.
		Both bugs reported by Charles Sluder.

<tony.luck@intel.com>
	[PATCH] ia64: mca logging bug fixes
	
	I've attached a version of Jenna Hall's mca logging fixes,
	updated for 2.5.45.  Jenna listed the benefits as:
	
	1.      Simplifies and fixes date reporting during MCA log printing
	        (patch from Matthew Wilcox)
	2.      Fixes nested MCA handling
	3.      Fixes clearing of fatal error records from SAL logs upon reboot
	4.      Fixes returning the PAL min-state address upon return from OS_MCA
	
	Item #1 was already in 2.5.45.
	
	In addition to Jenna's changes, I deleted some unused debug code
	(and associated data min_state_labels[]), and dropped the
	#warning about save_and_cli() that you had added.

<ahaas@airmail.net>
	[PATCH] ia64: C99 designated initializer for arch/ia64/sn/
	
	Here's a trivial patch for one file deep in the ia64 tree. The patch is
	against 2.5.47.

<mikal@stillhq.com>
	[PATCH] ia64: [Trivial Patch] scsi_register-001-002
	
	Via Rusty Russell: Updated patches to scsi_register patches against the 2.5.45 tree.

<davidm@tiger.hpl.hp.com>
	ia64: Rename __flush_tlb_all() to local_flush_tlb_all().

<davidm@tiger.hpl.hp.com>
	ia64: Make flush_tlb_mm() work for multi-threaded address-spaces on SMP machines.

<arun.sharma@intel.com>
	[PATCH] ia64: ia32 emulation fixes for 2.5.45
	
	I found that Linux 2.5.45 had some problems passing arguments to ia32
	programs running on ia64 in emulation mode.
	
	The attached patch fixes the problems.

<davidm@tiger.hpl.hp.com>
	ia64: Make it easier to set a breakpoint in the Ski simulator right before
		starting the kernel (based on patch by Peter Chubb).

<sridhar@dyn9-47-18-140.beaverton.ibm.com>
	[SCTP] MSG_PEEK support for recvmsg().

<sridhar@x1-6-00-10-a4-8b-06-f6.attbi.com>
	[SCTP] Fix for bad dereference in sctp_cmd_assoc_failed().

<jgrimm@touki.austin.ibm.com>
	[SCTP] Last of the v4/v6 partioning (for now)
	
	Mostly code on the bind path, splitting out to pf and af family
	specific functions.   Minor code cleanups/fixes mixed in.  

<perex@suse.cz>
	ALSA update
	  - CS46xx
	    - SPDIF channel status implementation
	    - mixer name cleanups
	  - Trident
	    - added S/PDIF device for SiS 7018
	  - CS4281
	    - fixed broken loops in suspend/resume routines
	  - ENS1370
	    - fixed driver names and rights for IEC958 Playback Mask
	  - ICE1712
	    - added possibility to lock the rate (pro-pcm device)
	  - usbaudio
	    - fixed rawmidi

<sridhar@dyn9-47-18-86.beaverton.ibm.com>
	[SCTP] SCTP_INITMSG socket option.

<davidm@tiger.hpl.hp.com>
	ia64: Patch by Venkatesh Pallipadi to fix IA-32 signal handling to restore
		instruction and data pointers.

<sridhar@dyn9-47-18-86.beaverton.ibm.com>
	[SCTP] Fix for memcpy() in sctp_sendmsg() that can copy too much.

<davidm@tiger.hpl.hp.com>
	ia64: Delete arch/ia64/sn/configs/ files on request by John Hesterberg.

<davidm@tiger.hpl.hp.com>
	ia64: For ia32 emulation, do not turn on O_LARGEFILE automatically
		on open().  Reported by Andi Kleen.

<venkatesh.pallipadi@intel.com>
	[PATCH] ia64: IA32 ptrace bug-fixes
	
	The changes done in the patch include:
	1) Support for xmm registers.
	   At present xmm registers are not saved/restored during
	   ptrace and gdb wont show them. Patch adds new ptrace
	   options (IA32_PTRACE_GETFPXREGS and IA32_PTRACE_SETFPXREGS,
	   used by gdb to get/set fp+xmm state).
	2) Bug fix in getting 'tag' field of fpstate
	      (fsr>>16 in place of fsr>>32)
	3) Bug fix in calculating fp TOS
	   (it is a 3 bit field in fsr. Using (fsr>>11) & 7 in place
	    of (fsr>>11) & 3)
	Also, I had to add new structures in ia32.h, corresponding to
	the way gdb is expecting the data. Gdb uses structures
	defined in sys/user.h

<davidm@tiger.hpl.hp.com>
	ia64: Decode feature bits added by SDM2.1 (spontaneous deferral &
		16-byte atomic ops).

<perex@suse.cz>
	ALSA update
	  - Added hotplug support - disconnection of devices
	  - usbaudio
	    - added hotplug support
	    - added support for resolution to ALSA mixer
	  - ALI5451
	    - added initialization for ALi 7101
	  - via82xx
	    - added rate initialization for all AC97 streams
	  - RME HDSP
	    - fixed multiface initialization
	  - ICE1712
	    - spin-lock cleanups

<davidm@tiger.hpl.hp.com>
	ia64: Sync up with 2.5.50 (Ski simulator has been tested only so far).

<sridhar@dyn9-47-18-86.beaverton.ibm.com>
	[SCTP] sctp_v6_xmit() cleanup.

<perex@suse.cz>
	ALSA update
	  - control API - replace global control lock with semaphore
	  - ac97 - added VT1616 support
	  - add code for PC98 architecture
	  - ENS1370/1371 - added gameport code
	  - HDSP - fixed oops when device is not detected
	  - replace __SMP__ with CONFIG_SMP
	
	
	

<perex@suse.cz>
	ALSA update
	  - ALS4000 - improved mixer support
	  - ICE1712 - added ICE1724 (Envy24HT code)
	            - fixed Delta410 support
	  - usbaudio - added quirks for more Yamaha devices

<sridhar@dyn9-47-18-86.beaverton.ibm.com>
	[SCTP] Stale cookie support. (ardelle.fan)

<sridhar@dyn9-47-18-86.beaverton.ibm.com>
	[SCTP] Register a notifier for v6 address additions/deletions.

<eranian@hpl.hp.com>
	[PATCH] Please apply this cleanup patch to your 2.5.50. The patch is made
	using 2.4.45 but the file has not changed since. It cleans up the
	initialization and some text alignment problems. Initial patch by Chris Wilson.
	

<efocht@ess.nec.de>
	[PATCH] ia64: Configurable NUMA node memory size
	
	following the requests from Xavier and Jesse I introduced a
	configuration parameter for the maximum memory per NUMA node. The
	DIG_BANKSHIFT is set accordingly, the current choices are:
	         512MB/bank:  16GB/node,
	        2048MB/bank:  64GB/node,
	        8192MB/bank: 256GB/node.
	
	The patch is for 2.5.50+ia64. Please consider applying it.

<zaitcev@redhat.com>
	[SPARC]: missing free_irq in sunsu driver.

<davidm@tiger.hpl.hp.com>
	ia64: Manual merge of Erich's NUMA node-size changes.

<jbarnes@sgi.com>
	[PATCH] ia64: SN update
	
	David, here's a patch to update SN support in the ia64 tree.  I had to
	make a few mods outside arch/ia64/sn and include/asm-ia64/sn to get
	CONFIG_IA64_SGI_SN2 to compile.

<davem@nuts.ninka.net>
	[SCTP]: Add MAINTAINERS entry.

<davidm@tiger.hpl.hp.com>
	ia64: Fix unaligned memory access handler.

<sam@ravnborg.org>
	[PATCH] ia64: arch makefiles update
	
	Second try ready.
	Other architectures does not practice this, but I added a rule to
	copy vmlinux.gz + bootloader to root of kernel-tree.
	
	bootloader is build when needed, therefore the boot: target has not been
	re-introduced.
	
	Complete summary of changes:
	o Copy vmlinux-gz + bootloader to root of kernel-tree
	o Fix make

<davidm@tiger.hpl.hp.com>
	ia64: Manual Makefile cleanup merge.

<davidm@tiger.hpl.hp.com>
	ia64: Merge with 2.5.50.

<davidm@tiger.hpl.hp.com>
	ia64: Avoid holding tasklist_lock across routines that do IPIs (such as flush_tlb_all()).

<sfr@canb.auug.org.au>
	[PATCH] ia64: arch-specific part of 1st compat clean up
	
	Just in case you need it, here it is against recent Linus' BK tree
	that has the generic part applied.

<davej@codemonkey.org.uk>
	Fix XFree86 brain damage.
	we can't go to 1.0 until they fix some real stupidity in XFree86.
	It's only by chance we can bump past 0.99 at all due to some boolean logic error.

<ganadist@nakyup.mizi.com>
	[AGP] kconfig tweaks & missing exports.

<davej@codemonkey.org.uk>
	don't allow to be opened twice.
	This allows us to early_init using a direct agp_init() call for the i810fb.

<gibbs@overdrive.btc.adaptec.com>
	Update to aic7xxx 6.2.22 and aic79xx 1.3.0_ALPHA2

<gibbs@overdrive.btc.adaptec.com>
	Remove generated file.

<bjorn_helgaas@hp.com>
	[PATCH] ia64: Fix typo in unaligned memory access handler (no functional change).
	
	Fix typo (no functional change).

<davej@codemonkey.org.uk>
	oops. missed a part of the double init patch

<davidm@tiger.hpl.hp.com>
	First part of 2.5.51 syncup.

<gibbs@overdrive.btc.adaptec.com>
	Complete aic7xxx 6.2.22 and aic79xx 1.3.0_ALPHA2 update.

<davidm@tiger.hpl.hp.com>
	New file asm-ia64/intrinsics.h.

<sridhar@dyn9-47-18-140.beaverton.ibm.com>
	[SCTP] Fixes for gcc 3.2 compiler issues and warnings.

<sridhar@dyn9-47-18-140.beaverton.ibm.com>
	[SCTP] Move the registration of v6 address event notifier to ipv6.c.

<gibbs@overdrive.btc.adaptec.com>
	Enable highmem_io.

<Kai.Makisara@kolumbus.fi>
	[PATCH] SCSI tape driver fix for 2.5.51
	
	The SCSI tape driver in 2.5.51 does not find any devices. The
	following patch fixes this (and adds a missing unlocking call).
	
	     Kai

<davem@nuts.ninka.net>
	[PROMCON]: Fix type in vc_resize call.

<rml@tech9.net>
	missing typecast

<perex@suse.cz>
	ALSA update
	  - CS46xx
	    - volume bug fixes and phase reversal fix
	    - AC3 stuff...
	    - SPDIF input fix
	  - init.c
	    - used workqueue for the disconnection job
	  - CMIPCI
	    - S/PDIF output / PLL updates
	  - ICE1712
	    - fixed reversed volume for AK4524 and AK4528 codecs
	    - added support for Hoontech STA DSP24 Media 7.1
	  - USB audio
	    - various mixer fixes
	    - quirks for Edirol PCR-30/50 keyboards and Midiman hardware

<jejb@mulgrave.(none)>
	Fix the max_sectors warning afflicting some host adapter drivers
	
	Also merge in missing printk \n's noticed by Robert Love

<davej@codemonkey.org.uk>
	don't allow backend to unload if in use by a chipset driver.

<perex@suse.cz>
	HP100 network driver - Pavel Machek <pavel@suse.cz>
	  - TRUE/FALSE removal
	  - detection of Coaxial wire

<perex@suse.cz>
	ALSA update
	  - fixed compilation problems for rawmidi, sb16, ac97_codec, ens1370
	  - ES1968 - added use_pm parameter
	  - USB audio
	    - complete callback follows 2.5
	    - fixed support for FU and PU controls (mixer)
	    - updated SB Extigy comments

<davidm@napali.hpl.hp.com>
	AGPGART fixes for HP ZX1 and Intel I460

<wrlk@riede.org>
	OSST tape driver fix for 2.5.51
	
	The patch to osst.c below is needed to fix an oops and at the same time
	brings in some bug fixes discovered in the 2.4 version.

<arun.sharma@intel.com>
	[PATCH] ia64: ia32 emulation layer bug fix
	
	sys32_mprotect code isn't dropping ia32_mmap_sem before returning. This
	affects both 2.4 and 2.5.

<gibbs@overdrive.btc.adaptec.com>
	o Kill host template files.
	o Move readme files into the Documentation SCSI directory
	o Enable highmem_io
	o Split out Kconfig files for aic7xxx and aic79xx
	
	Host template and large disk changes provided or inspired by:
		Christoph Hellwig <hch@sgi.com>

<davej@codemonkey.org.uk>
	[AGP] small c99/inlining cleanups

<davej@codemonkey.org.uk>
	[AGP] Remove unused prototypes

<davej@codemonkey.org.uk>
	[AGP] Add AGP 3.0 support and I7505 chipset driver.

<davej@codemonkey.org.uk>
	[AGP] fix bogus casts.

<gibbs@overdrive.btc.adaptec.com>
	Complete the upgrade to aic7xxx 6.2.23 and aic79xx 1.3.0_ALPHA3.

<davidm@tiger.hpl.hp.com>
	ia64: efivars fix by Matt Domsch and Peter Chubb.

<rth@are.twiddle.net>
	[ALPHA] Change EH mechanism to be pc-relative instead of gp-relative.
	This eliminates one variable and simplfies the code when trying to
	resolve the fault.

<ink@jurassic.park.msu.ru>
	[PATCH] typos in asm-alpha/dma.h
	
	This fixes Alcor and Sable build.
	
	Ivan.

<akpm@digeo.com>
	[PATCH] Fix filesystems that cannot do mmap writeback
	
	The writepage-removal patch broke filesystems which do not want to
	support writeable mappings.
	
	Fix that up by making those filesystems point their mmap vector at the
	new generic_file_readonly_mmap().

<joe@fib011235813.fsnet.co.uk>
	[PATCH] dm: move ioctl numbers to a sane place
	
	Four constants:
	   DM_DIR,
	   DM_MAX_TYPE_NAME,
	   DM_NAME_LEN,
	   DM_UUID_LEN
	
	Were being declared in device-mapper.h, these are all specific to
	the ioctl interface, so they've been moved to dm-ioctl.h.  Nobody
	in userland should ever include <linux/device-mapper.h> so remove
	ifdef __KERNEL guards.

<joe@fib011235813.fsnet.co.uk>
	[PATCH] dm: proper error checking
	
	An error value was not being checked correctly in open_dev().
	[Kevin Corry]

<joe@fib011235813.fsnet.co.uk>
	[PATCH] dm: fix error number
	
	Return -ENOTBLK if lookup_device() finds the inode, but it
	is not a block device. [Cristoph Hellwig]

<joe@fib011235813.fsnet.co.uk>
	[PATCH] dm: REMOVE_ALL parameter checking
	
	No need to validate the parameters if we are doing a
	REMOVE_ALL command.

<joe@fib011235813.fsnet.co.uk>
	[PATCH] dm: fix check_device_area compare
	
	check_device_area was comparing the bytes with sectors.
	[Stefan Lauterbach]

<joe@fib011235813.fsnet.co.uk>
	[PATCH] dm: check chunksize before allocation
	
	minor change for dm-stripe.c. Tests for correct chunksize before it allocates
	the stripe context. [Heinz Mauelshagen]

<joe@fib011235813.fsnet.co.uk>
	[PATCH] dm: stripe constructor validity check
	
	There's a bug in the dm-stripe.c constructor failing top check if enough
	destinations are handed in. [Heinz Mauelshagen]

<joe@fib011235813.fsnet.co.uk>
	[PATCH] dm: per-device mempools
	
	Give each device its own io mempool to avoid a potential
	deadlock with stacked devices.  [HM + EJT]

<joe@fib011235813.fsnet.co.uk>
	[PATCH] dm: check correct flag in queue_io()
	
	queue_io() was checking the DMF_SUSPENDED flag rather than the new
	DMF_BLOCK_IO flag.  This meant suspend could deadlock under load.

<joe@fib011235813.fsnet.co.uk>
	[PATCH] dm: dm_suspend locking fix
	
	dm_suspend(): Stop holding the read lock around the while loop that
	waits for pending io to complete.

<joe@fib011235813.fsnet.co.uk>
	[PATCH] dm: flush pending IO before dm_suspend
	
	Add a blk_run_queues() call to encourage pending io to flush
	when we're doing a dm_suspend().

<joe@fib011235813.fsnet.co.uk>
	[PATCH] dm: avoid unnecessary locking
	
	dec_pending(): only bother spin locking if io->error is going to be
	updated. [Kevin Corry]

<joe@fib011235813.fsnet.co.uk>
	[PATCH] dm: fix md->pending count
	
	md->pending was being incremented for each clone rather than just
	once. [Kevin Corry]

<joe@fib011235813.fsnet.co.uk>
	[PATCH] dm: fix bio duplication
	
	Some fields in the duplicated bio weren't being set up properly in
	__split_page(). [Kevin Corry]

<joe@fib011235813.fsnet.co.uk>
	[PATCH] dm: remove highmem paranoia
	
	Remove some paranoia in highmem.c

<joe@fib011235813.fsnet.co.uk>
	[PATCH] dm: remove verbose debug message
	
	Remove verbose debug message 'Splitting page'.

<joe@fib011235813.fsnet.co.uk>
	[PATCH] dm: fix/simplify endio
	
	o  If there's an error you still need to call bio_endio with bio->bi_size
	   as the 'done' param.
	
	o  Simplify clone_endio.
	
	[Kevin Corry]

<joe@fib011235813.fsnet.co.uk>
	[PATCH] dm: bio split fix
	
	The block layer does not honour bio->bi_size when issuing io, instead
	it performs io to the complete bvecs.  This means we have to change
	the bio splitting code slightly.
	
	Given a bio we repeatedly apply one of the following three operations
	until there is no more io left in the bio:
	
	1) The remaining io does not cross an io/target boundary, so just
	   create a clone and issue all of the io.
	
	2) There are some bvecs at the start of the bio that are not split by
	   a target boundary.  Create a clone for these bvecs only.
	
	3) The first bvec needs splitting, use bio_alloc() to create *two*
	   bios, one for the first half of the bvec, the other for the second
	   half.  A bvec can never contain more than one boundary.

<joe@fib011235813.fsnet.co.uk>
	[PATCH] dm: fix sector calculation
	
	The linear target was getting the start sector wrong when doing a
	dm_get_device(). [Kevin Corry]

<perex@suse.cz>
	ALSA update
	  - fixes in ALI5451 initalization
	  - added snd_pci_alloc_page() workaround
	  - FM801 - fixed PCI device identification
	  - USB mixer - fixed min values for some types

<david-b@pacbell.net>
	[PATCH] ehci-hcd (1/2):  portability (2.4), tasklet,
	
	This should be innocuous; I expect most folk won't notice anything
	better (or worse) from this patch unless they're using Intel EHCI.
	
	removing tasklet
	     - parts of davem's patch (passing pt_regs down)
	     - remove 'max_completions'
	     - update cleanup after hc died
	     - fix an urb unlink oops (null ptr) that happens more often this way
	
	talking to hardware
	     - fixes for some short read issues (may still be others)
		* use qtd->hw_alt_next to stop qh processing after short reads
		* detect/report short reads differently
	     - longer reset timeout (it was excessively short, broke Intel)
	
	other
	     - simpler diagnostics portability to 2.4:  wrap dev_err() etc
	     - urb unlink wait and non-wait unlink codepaths share most code
	     - don't try ehci_stop() in interrupt context (bug from hcd layer)
	     - minor stuff, including
		* some "after hc died" paths were wrong
		* verbose debug messages compile again
		* don't break error irq count

<david-b@pacbell.net>
	[PATCH] ehci-hcd (2/2): rest of tasklet remove
	
	This is the rest of the work to remove the tasklet: the non-syntax
	portions which affect work scheduling.  It's not quite davem's version;
	it's got locking updates, which among other things prevent a hang when
	the timer kicks in.
	
	This scheduling change is split out from the other parts in case more
	problems like that unlink race (fixed in my previous patch) show up.
	It doesn't fix (or help fix) any ehci bugs, but simpler code is fine.

<david-b@pacbell.net>
	[PATCH] usbnet:  zaurus, oops, etc
	
	This patch:
	
	- Removes Pavel's Zaurus-private crc32 code; the base patch
	   was from Pavel.
	
	- Addresses two issues Toby Milne reported against the Zaurus:
	   (a) if skbs had extra framing added (z, net1080, gl620a),
	       the original size (now too small) was used on tx;
	   (b) added FLAG_FRAMING_Z so rx packets had enough space
	
	- Removes an oops from the driver model conversion (saved
	   the wrong pointer).  Disconnecting wasn't healthy.
	
	- Forward-ports some ethtool support from the 2.4 version:
	   PDAs are always connected, so report them that way.
	
	- Stubs in some PXA-250 support for non-Zaurus PDAs.
	   This is currently commented out; so far those PDAs
	   only run Linux for bleeding edge developers.
	
	- Minor cleanups.

<david-b@pacbell.net>
	[PATCH] ehci misc patches
	
	small fixes flushed by the hunt for bigger game:
	
	- terminate td lists with dummy, not list end marker
	- use alt_next only for real short control reads
	- un-halt async qhs before scheduling
	- deletes unused debug code, pointless assignments
	- surely nobody ever sees that memleak
	- terminate two related "while" loops the same way

<spse@secret.org.uk>
	[PATCH] 2.5.51 More typedef removal from usbvideo
	
	This patch against 2.5.51 removes the remaining typedefs from usbvideo
	
	typedef enum { .. } ScanState_t -> enum ScanState
	typedef enum { .. } ParseState_t -> enum ParseState
	typedef enum { .. } FrameState_t -> enum FrameState
	typedef enum { .. } Deinterlace_t -> enum Deinterlace
	typedef struct { .. } usbvideo_t -> struct usbvideo

<nemosoft@smcc.demon.nl>
	[PATCH] USB: PWC 8.10 for 2.5.51
	
	Well, two patches in one... These patches will bring the PWC (Philips
	Webcam) driver in both 2.4.20 and 2.5.51 up to version 8.10. Functionally,
	the two branches are the same (about 70% of the code is shared), but the
	differences in kernel architecture are too large to handle with a few
	#ifdefs.
	
	This patch fixes the following (this are only the differences between 8.9
	and 8.10):
	
	* Fixed ID for QuickCam Notebook pro
	* Added GREALSIZE ioctl() call
	* Fixed bug in case PWCX was not loaded and invalid size was set

<mdharm-usb@one-eyed-alien.net>
	[PATCH] usb-storage: fixup interpret_urb_result()
	
	This patch fixes interpret_urb_result in two major ways:
	(1) Uses a switch() instead of nested if() statements
	(2) Handle -EREMOTEIO to indicate a short scatter-gather transfer

<agrover@groveronline.com>
	ACPI: Fix oops on module insert/remove (Matthew Tippett)

<davej@codemonkey.org.uk>
	[AGP] Hopefully get the KT400 working in AGP3.0 mode.

<sridhar@dyn9-47-18-86.beaverton.ibm.com>
	[SCTP] Window update SACK support.

<oliver@oenone.homelinux.org>
	[PATCH] USB: speedtouch driver memory allocation deadlock fix

<davidm@tiger.hpl.hp.com>
	ia64: More 2.5.51/2.5.52 sync up.

<greg@kroah.com>
	[PATCH] USB: usbserial: Add a short_name field to work better with sysfs.
	
	This cleans up the bus/usb-serial/drivers/ directory

<davidm@tiger.hpl.hp.com>
	Add VIRTUAL_MEM_MAP config option.

<sfr@canb.auug.org.au>
	[PATCH] ia64: consolidate sys32_times
	

<davidm@tiger.hpl.hp.com>
	ia64: consolidate sys32_new[lf]stat.  Patch by Stephen Rothwell.

<torvalds@home.transmeta.com>
	Add "sysenter" support on x86, and a "vsyscall" page.
	
	Instead of doing a "int 0x80" instruction for system calls,
	user space can do a "call 0xfffff000" which will do the right
	thing regardless of what kind of system call support the CPU
	has.

<greg@kroah.com>
	[PATCH] USB: keyspan_pda: fix up the short names, as they were too big.

<perex@suse.cz>
	HP100
	  - fixed compilation problem when debug is active

<bzzz@gerasimov.net>
	remove 2TB limit in sd
	
	modern storage boxes support >2TB arrays, but READ CAPACITY
	may return 2TB only (with 512 bytes blocksize). According to
	SBC, target may return 0xffffffff as device size in order to
	notify initiator that device size can't fit into 32 bits and
	that initiator should use Long READ CAPACITY with 64bits LBA
	field. Following patch implements this logic.

<davej@codemonkey.org.uk>
	indentation fixes.

<agrover@groveronline.com>
	ACPI: remove non-Linux revision on files, and make types more Linux-like

<davej@codemonkey.org.uk>
	[AGP] Use compatability mode of KT400 if detected

<agrover@groveronline.com>
	ACPI: More cosmetic changes to make the code more Linux-like

<akpm@digeo.com>
	[PATCH] fix the build for old gcc's
	
	Older gcc's do not support that form of ellipsis in a macro.

<torvalds@home.transmeta.com>
	Allow KALLSYMS even without kernel debugging

<torvalds@home.transmeta.com>
	Export the 'vsyscall' address to user space with the AT_SYSINFO
	elf AUX-table entry.
	
	Move the 'vsyscall' page to 0xffffe000, leaving a hole at the top
	of the address space.

<davej@codemonkey.org.uk>
	[AGP] Clean up capability pointer detection.
	This has to be done differently on some chipsets, so I moved it back into the
	chipset drivers for now. This cleanup also fixed a few bugs, which may also make
	the hammer gart start working again.

<bunk@fs.tum.de>
	[PATCH] fix the compilation of eata_pio_proc.c
	
	The change to eata_pio_proc.c contained a typo: a semicolon instead of a
	comma.

<bunk@fs.tum.de>
	[PATCH] MSNDCLAS_HAVE_BOOT and MSNDPIN_HAVE_BOOT shouldn't ask questions
	
	2.5.50 included a change from -ac which changed MSNDCLAS_HAVE_BOOT and
	MSNDPIN_HAVE_BOOT to asked questions. This is wrong (I know since I was
	the one who wrote the patch Alan picked up...).
	
	They shouldn't ask questions, the following patch reverts my buggy
	change.

<stern@rowland.harvard.edu>
	[PATCH] USB: usb-storage bugfix
	
	Don't try to dereference the interrupt endpoint if it doesn't exist.

<oliver@neukum.name>
	[PATCH] USB: clean kernel thread exit for speedtouch
	
	this makes sure that the kernel thread is dead and gone on module unload.
	  - use a completion to wait for the kernel thread's death

<oliver@neukum.name>
	[PATCH] USB: speedtouch: eliminate sleep_on

<oliver@neukum.name>
	[PATCH] USB: fix an unlinking race in speedtouch driver
	
	checking for -EINPROGRESS is wrong.

<oliver@neukum.name>
	[PATCH] USB: proper error return for usblcd
	
	unknown ioctls return -ENOTTY and nothing else.

<david-b@pacbell.net>
	[PATCH] hub driver uses dev_info(), less log clutter
	
	This patch converts most common hub diagnostics to use the
	device model diagnostic macros ... not all, someone should
	reduce the number of err() strings for "bogus hub" cases,
	and ideally streamline some of the dozen or so "here's what's
	special about this new hub" dbg() messages.
	
	So the messages become more useful:  they id the port (and
	implicitly the device) involved, using a kernel-wide standard
	convention.  Size overhead is smaller too.
	
	For folk running with USB debugging enabled, it also cuts
	the useless chatter on connections by deleting the per-poll
	success messages and a partial dup message when things change.
	And it deletes a newish diagnostic on a (non-hub) unlink path.
	
	It also makes Pete's new debounce message use the right
	port number -- one-based, not zero-based.
	
	My main issue with this patch is that it doesn't change
	more messages, but it seems reasonable to merge it anyway.

<greg@kroah.com>
	[PATCH] USB: whiteheat: fix some gcc 3.2 warning messages

<wli@holomorphy.com>
	[PATCH] vm86 IRQ bugfix
	
	vm86 does broken tasklist scanning for matching task_struct pointers,
	which is oopsable. This registers a notifier for it to GC vm86 IRQ's in
	release_thread() and removes the broken tasklist scanning.
	
	This bugfix is in 2.4.x and has been in 2.5.x-dj for an extended period
	of time.

<torvalds@home.transmeta.com>
	Make six-argument system calls work with the fast system call
	trampoline.
	
	Here's how: we re-load %ebp (arg6) in the kernel sysenter handler
	from the stack, and on system call re-play we jump back in user
	space to re-initialize %ebp to point to the stack pointer before
	re-doing the sysenter instruction.

<greg@kroah.com>
	[PATCH] USB: warn users that they should not be using the usbdevfs name.

<david-b@pacbell.net>
	[PATCH] ehci, more small fixes
	
	- some access to urb->hcpriv and urb->status needed to be
	   locked using urb->lock
	- paranoia: don't depend on two values being in lock-step.

<perex@suse.cz>
	ALSA update
	  - intel8x0 - added NVidia NForce2 Audio PCI ID
	  - USB driver - clenaups in the disconnect routine
	  - added ALSA-Configuration.txt and ControlNames.txt documents

<davej@codemonkey.org.uk>
	[AGP] __init audit after Rusty found a bug.

<davej@codemonkey.org.uk>
	[AGP] Missing bits of David Mosberger's cleanups.

<torvalds@home.transmeta.com>
	Merge with DRI CVS tree. 
	 - add support for sending a signal on vblank
	 - remove unhelpful AGP chipset strings
	 - update radeon texture cache handling

<torvalds@penguin.transmeta.com>
	Fix the remaining known problems (NMI and debugging) with
	fast system calls. They should now be fully comparable to
	traditional system calls.
	
	    Fix SEP stack allocation to look like a real thread stack.
	    
	    This fixes the "Trap on first sysenter instruction" problem,
	    which can happen either as a result of an NMI or a breakpoint
	    trap (TF bit set).
	    
	    Also make the user trampoline save and restore EFLAGS, so that
	    the TF bit gets restored after a fast system call (it will have
	    been cleared to avoid trap faults in the kernel).

<sfr@canb.auug.org.au>
	[PATCH] Fix bad interaction with APM and the new sysenter segment layout
	
	This fixes the APM GDT entry allocation issue.  Confirmed by Andrew
	Morton.

<rddunlap@osdl.org>
	[PATCH] fix intermezzo build
	
	This simple intermezzo Makefile change allows it to build.
	
	OK'ed by Peter Braam.

<greg@kroah.com>
	LSM: changed the dummy code to use the default operations logic.

<wli@holomorphy.com>
	[PATCH] converting cap_set_pg() to for_each_task_pid()
	
	cap_set_pg() wants to find all processes in a given process group. This
	converts it to use for_each_task_pid().

<greg@kroah.com>
	LSM: Fix up the description of the root_plug code to try to make it clearer.

<greg@kroah.com>
	LSM: update the copyright dates for my entry.

<arnd@bergmann-dalldorf.de>
	[PATCH] namespace pollution in STV0680 camera driver
	
	Variables should not be defined in a header file.
	This slightly improves the driver by making them
	static instead of global.

<arnd@bergmann-dalldorf.de>
	[PATCH] namespace pollution in ibmcam driver
	
	The variable 'cams' should be static.
	Don't initialize to 0, while we're here.

<oliver@neukum.name>
	[PATCH] USB: simplify spinlocks in send path for speedtouch
	
	irqsave spinlocks in an interrupt handler are superfluous.
	Simple spinlocks are sufficient and quicker. As this is in
	interrupt context, every cycle counts.

<oliver@neukum.name>
	[PATCH] USB: more spinlock work for speedtouch
	
	   - simple spinlocks will do

<oliver@neukum.name>
	[PATCH] USB: speedtouch remove error handling with usb_clear_halt
	
	usb_clear_halt cannot be used from a completion handler because it sleeps
	As that code path would have crashed the driver, it's obviously not needed
	and can be removed.

<oliver@neukum.name>
	[PATCH] USB: speedtouch reentrancy race through usbfs
	
	speedtouch povides an ioctl handler through usbfs.
	It must not be reentered. A semaphore ensures that.

<oliver@neukum.name>
	[PATCH] USB: remove obviously broken code from the speedtouch disconnect handler
	
	I am not sure what this code was supposed to do, but it can stop khubd
	indefinitely. It has to go.

<oliver@neukum.name>
	[PATCH] USB: speedtouch possible deadlock in atm_close path
	
	this removes the spinlocks in close, so that
	the synchronous unlinking is safe.

<oliver@neukum.name>
	[PATCH] USB cdc-acm: missed a GFP_KERNEL in interrupt
	
	the patch turns it into GFP_ATOMIC.

<oliver@neukum.name>
	[PATCH] USB cdc-ether: GFP_KERNEL in interrupt
	
	cdc-ether has the same problem as cdc-acm.
	  - usb_submit_urb() under spinlock or in interrupt must use GFP_ATOMIC

<davej@codemonkey.org.uk>
	[AGP] Export agp3 routines and link to module if needed.

<davidm@tiger.hpl.hp.com>
	ia64: More merge fixes.

<greg@kroah.com>
	[PATCH] USB: fix the spelling of "deprecated".
	
	Thanks to Randy Dunlap for pointing this out.

<levon@movementarian.org>
	[PATCH] oprofile update
	
	This makes the following changes :
	 o headers cleanup
	 o remove deprecated kernel_only
	 o mention minimum oprofile version
	 o correct initialise stats
	 o remove racy debug check (wli saw this oops)
	 o remove pointless simple_open
	 o add dump functionality
	 o remove pessimising FASTCALL
	
	It fixes a critical race.

<david-b@pacbell.net>
	[PATCH] ehci, qtd submit and completions
	
	This ought to address a number of the problems with the
	recent "dummy td" update as well as some older ones:
	
	    - Slims down the qh_append_tds() to remove two pairs
	      of "should be duplicate" logic so that
	        * qh_make() only creates and initializes;
	        * qh_append_tds() calls it earlier;
	        * always appends with dummy, no routine qh updates.
	
	    - Reworked qh_completions() ... simpler, better.
	       * two notable FIXMEs gone, and a bug related to
	         how they interacted with scatterlist i/o
	       * fixed bugs (including one oops) exposed by
	         using dummies more.
	
	Passes basic testing:  most 'usbtest' cases, usb2 hub
	with keyboard and CF adapter, storage enumeration.
	So it seems less troublesome, though it's still not
	as happy as I've seen it.
	
	However, "testusb -at12" (running 'write unlink' tests)
	still fails for me, and usb-storage gets unhappy when
	it decides (why?  and unsuccessfully) to reset high speed
	devices.  I'm still chasing those problems, which seem
	to come from higher up in the stack.

<david-b@pacbell.net>
	[PATCH] usbcore: rm hub oops, message cleanups, unlink
	
	These changes are unrelated except I ran into them all at once:
	
	- Fixes an oops from a partial hub_configure() clean; let
	   hub_disconnect() do the whole thing, simpler.
	
	- Since I was there, modify that routine's err() messages
	   to use dev_err().  Then eliminate a redundant diagnostic
	   in hub_probe(), and merge the "bad descriptor" cases into
	   one diagnostic.  Saves a few hundred rodata bytes, and
	   the messages now say what hub's involved.
	
	- Unlink fixes:  if lower level code reports a submit error,
	   make sure the urb gets unlinked from the device's urb_list;
	   and report "it's already being unlinked" as -EBUSY so callers
	   can do something smarter than wonder "what did I do wrong".

<davej@codemonkey.org.uk>
	[AGP] agp_frontend_initialize() now gets called when a chipset driver registers, so it can't be __init any more.

<davej@codemonkey.org.uk>
	[AGP] Readd module_exit function so that agpgart.ko can be unloaded.

<davej@codemonkey.org.uk>
	[AGP] misplaced setting of bridge device.

<jejb@mulgrave.(none)>
	correct compile warnings without Large Block Device support
	
	Based on a patch from Andrew Morton.
	
	Also checks to see if the sd device is bigger than the kernel can
	support and prints out a warning in that case

<hch@sgi.com>
	[XFS] remove xfs_dm_send_create_event
	
	SGI Modid: 2.5.x-xfs:slinx:135038a

<lord@sgi.com>
	[XFS] rework iocore infrastructure, remove some code and make it more
	orthogonal. In addition, add some of the hooks for unwritten extents.
	
	SGI Modid: 2.5.x-xfs:slinx:134603a

<hch@sgi.com>
	[XFS] remove unused debugging code
	
	SGI Modid: 2.5.x-xfs:slinx:135137a

<hch@sgi.com>
	[XFS] more dead code removal
	
	SGI Modid: 2.5.x-xfs:slinx:135153a

<nathans@sgi.com>
	[XFS] Fix size check for realtime devices.
	
	SGI Modid: 2.5.x-xfs:slinx:135199a

<nathans@sgi.com>
	[XFS] Some cleanup, some more unwritten extent related changes.
	
	SGI Modid: 2.5.x-xfs:slinx:135207a

<milli@acmeps.com>
	[AGP] Make i845g use correct initialisation routine.
	 

<hch@sgi.com>
	[XFS] remove references to i_dev, it's gone in recent kernels
	
	SGI Modid: 2.5.x-xfs:slinx:135308a

<hch@sgi.com>
	[XFS] fix an out-of-date comment
	
	SGI Modid: 2.5.x-xfs:slinx:135307a

<nathans@sgi.com>
	[XFS] Fix up setting up of sector size for the superblock buffer after the
	very first read on mount.  Make some of the surrounding code dealing
	with buffers consistent.
	
	SGI Modid: 2.5.x-xfs:slinx:135452a

<nathans@sgi.com>
	[XFS] Fix some setxattr compiler warnings (const).
	
	SGI Modid: 2.5.x-xfs:slinx:135453a

<sandeen@sgi.com>
	[XFS] Change some %x formats to %p for pointers
	
	SGI Modid: 2.5.x-xfs:slinx:135454a

<cattelan@sgi.com>
	[XFS] "merge" the 2.4 fsx fix for block size < page size to 2.5.  This needed
	major changes to actually fit.
	
	SGI Modid: 2.5.x-xfs:slinx:132210a

<gibbs@overdrive.btc.adaptec.com>
	Update to aic7xxx version 6.2.24 and aic79xx version 1.3.0_ALPHA5.

<dledford@flossy.devel.redhat.com>
	aic7xxx_old: improve usage of pci_request_regions due to device contention

<dledford@flossy.devel.redhat.com>
	Change all uses of device->request_queue (was struct, now pointer)
	Update scsi_scan so that we don't pass around a scsi_device struct for
	    	scanning.  Instead, we pass around a request_queue during
	    	scanning and create and destroy device structs as needed.  This
	    	allows us to have a 1:1 correlation between scsi_alloc_sdev()
	    	and scsi_free_sdev() calls, which we didn't have before.

<dledford@flossy.devel.redhat.com>
	aic7xxx_old/aic7xxx.h: Run time warning fix

<davem@nuts.ninka.net>
	[SPARC64]: Update ioctl32 for fb changes.

<davem@nuts.ninka.net>
	[SPARC64]: Add sbus_{read,write}q.

<davem@nuts.ninka.net>
	[SPARC]: Update asm/fbio.h for fb changes.

<davem@nuts.ninka.net>
	[ATYFB]: Fix build error in sparc specific sections.

<davem@nuts.ninka.net>
	[FB]: Add readq/writeq for sparc.

<davem@nuts.ninka.net>
	[SPARC64]: Convert for stat/utime compat syscall changes.

<jmorris@intercode.com.au>
	[SPARC64]: Define COMPAT_USER_HZ and compat_clock_t.

<davem@nuts.ninka.net>
	[SPARC64]; Convert over to compat_clock_t and compat_sys_times.

<jmorris@intercode.com.au>
	[SPARC]: Update for new do_coredump args.

<davem@nuts.ninka.net>
	[SPARC64]: Un-static cp_compat_stat.

<davem@nuts.ninka.net>
	[SPARC64]: Fix some circular include deps.

<davem@nuts.ninka.net>
	[SPARC64]: Some more compat stat syscall entry conversions.

<davem@nuts.ninka.net>
	[SOUND]: ioctl32/{ioctl32,rawmidi32,seq32,timer32}.c needs linux/fs.h

<ak@muc.de>
	[PATCH] Some i386 cleanups - MTRR, bootflag
	
	This does:
	 - fix one warning in bootflag.c
	 - change a few longs to int and int to long in the MTRR driver
	   to make it 64bit clean (should be a NOP for 32bit i386, but is needed
	   for x86-64)
	 - Convert the MTRR /proc interface to seq_file and remove the broken
	   compute_ascii() hack.  This fixes some broken code e.g.  the old
	   mtrr_write was completely broken because the loop checking for
	   commands started with a "continue" - remove duplicated mtrr type
	   strings.

<ak@muc.de>
	[PATCH] x86-64 merge
	
	This patch depends on the i386 MTRR driver cleanup I sent earlier.
	
	 - Support non executable mappings for x86-64. data/heap are non executable
	   by default now.
	 - Beginnings of software suspend from Pavel (not working yet)
	 - Support generic compat functions and remove some shared code
	   in the 32bit emulation (Stephen Rothwell)
	 - Support hugetlbfs
	 - Some makefile updates
	 - Make sure all 32bit emulation functions return long, not int.
	   This fixes some problems with ERESTARTNOSYS.et.al. leaking to userspace.
	 - Add new system calls.
	 - Fix long standing fs/gs context switch bugs (thanks to Karsten Keil
	   for helping to fix that mess). Also make sure the gs selector is
	   set to 0 after an exec.
	 - Simplify TLS switching
	 - Paranoid CPUID check at bootup
	 - Reorder scatterlist to be more space efficient (Jes Soerensen)
	 - Enlarge 32bit address space to full 4GB.
	 - Beginnings of 32bit SYSCALL support (not completely working yet
	   and vsyscall page miss yet)
	 - Various merges from i386
	 - New module loader
	 - Support threaded core dump (XMM saving for 32bit programs doesn't
	   work, but it appears to be broken on i386 too)
	 - Fix bug in signal stack rounding
	 - Remove DRM 32bit emulation.
	 - Use MTRR driver from i386
	 - Use bootflag.c from i386
	 - Various other fixes and cleanups.

<ak@muc.de>
	[PATCH] x86-64 relocations for elf.h
	
	This adds the x86-64 ELF relocations to include/linux/elf.h
	
	This is needed for the new module loader.

<ak@muc.de>
	[PATCH] Add workaround for AMD8131 bug
	
	Some revisions of the AMD8131 PCI-X bridge have a irq routing bug that appears
	in IO-APIC mode. To work around it a bit needs to be set in this case.

<davej@codemonkey.org.uk>
	[PATCH] Cyrix 3 gcc options changed.
	
	Newer gcc changes alignment flags from a -m to -f

<davej@codemonkey.org.uk>
	[PATCH] swap.h doesn't use prefetching

<davej@codemonkey.org.uk>
	[PATCH] i2c size_t fix

<davej@codemonkey.org.uk>
	[PATCH] make cpu serial number disable generic
	
	This check needs to happen for all CPUs that support PN,
	not just Intel.
	
	From hpa and Pat Mochel.

<trond.myklebust@fys.uio.no>
	[PATCH] Clean up NFSv4 READ xdr path
	
	This creates a clean XDR path for the NFSv4 read requests instead of
	routing through encode_compound()/decode_compound().  This eliminates
	the intermediate step of setting up a struct nfs4_compound before
	proceeding to XDR encoding, and removes the large 'switch()' statements
	from the codepath altogether.

<trond.myklebust@fys.uio.no>
	[PATCH] Clean up NFSv4 WRITE xdr path
	
	The following patch creates a clean XDR path for the NFSv4 write requests
	instead of routing through encode_compound()/decode_compound().

<trond.myklebust@fys.uio.no>
	[PATCH] Support for NFSv4 READ + WRITE attribute cache consistency
	
	Retrieve the post-operation attribute changes for NFSv4 READ and
	WRITE operations. Unlike for NFSv2 and NFSv3, we do not retrieve the
	full set of file attributes. The main reason for this is that
	interpreting attributes is a much heavier task on NFSv4 (requiring, for
	instance, translation of file owner names into uids ...). Hence
	
	  For a READ request, we retrieve only the 'change attribute' (for cache
	  consistency checking) and the atime.
	
	  For a WRITE request, we retrieve the 'change attribute' and the file size.
	  In addition, we retrieve the value of the change attribute prior to the
	  write operation, in order to be able to do weak cache consistency checking.

<randy.dunlap@verizon.net>
	[PATCH] Patch for affs: pr_debug() usage
	
	pr_debug() is defined to print using KERN_DEBUG already,
	so uses of it don't need to repeat KERN_DEBUG.

<wli@holomorphy.com>
	[PATCH] Fix CPU bitmask truncation
	
	Fix task->cpus_allowed bitmask truncations on 64.bit architectures.
	
	Originally by Bjorn Helgaas for 2.4.x.

<miles@lsi.nec.co.jp>
	[PATCH] Update v850 includes for slimmed-down sched.h
	
	Adds extra includes needed because sched.h doesn't include them anymore,
	and removes includes of sched.h where they're not really necessary.

<miles@lsi.nec.co.jp>
	[PATCH] Make some symbol exports conditional on CONFIG_MMU
	
	A few symbols are only defined when CONFIG_MMU=y, but are exported
	(by kernel/ksyms.c) unconditionally.  This patch makes them conditional.

<miles@lsi.nec.co.jp>
	[PATCH] Add v850 support for `sys_restart_syscall'

<miles@lsi.nec.co.jp>
	[PATCH] Add some v850 elf constants
	
	These are used for the new in-kernel module loader (actually not all the
	relocation types are used right now, but are included for completeness).
	
	Only the EM_CYGNUS_V850 macro, which is in a global namespace, is added
	to <linux/elf.h>; the relocation types, which are private to the v850,
	are added to <asm-v850/elf.h>.  [Perhaps some other archs can do a
	similar split, to reduce the bloat in <linux/elf.h>]

<miles@lsi.nec.co.jp>
	[PATCH] Pass extra signal handler args correctly on the v850
	
	The old code seems completely wrong; I guess it was just left over from
	whichever architecture this code was copied from.

<miles@lsi.nec.co.jp>
	[PATCH] Reduce redundancy in v850 linker scripts
	
	This moves most of the duplicated text in the various v850 platform-
	specific linker scripts (each of which was previously completely
	standalone) into cpp macros in vmlinux.lds.S, which are then used by the
	platform linker scripts as appropriate.  This should make the scripts a
	lot easier to maintain.
	
	Also, a number of linker-script bugs are fixed.

<cel@citi.umich.edu>
	[PATCH] use kmap_atomic instaed of kmap in NFS client
	
	Description:
	  andrew morton suggested there are places in the NFS client that could
	  make use of kmap_atomic instead of vanilla kmap in order to improve
	  scalability on 8-way and higher SMP systems.
	
	Test status:
	  Passes all Connectathon '02 tests with v2 and v3, UDP and TCP; passes
	  NFS torture tests on a UP HIGHMEM x86 system.

<cel@citi.umich.edu>
	[PATCH] give NFS client a "set_page_dirty" address space op.
	
	Description:
	  The default set_page_dirty address space op is too heavyweight for NFS,
	  which doesn't use buffers.

<cel@citi.umich.edu>
	[PATCH] cleanup: simplify req_offset function in NFS client
	
	Description:
	  everywhere the NFS client uses the req_offset() function today, it adds
	  req->wb_offset to the result.  this patch simply makes "+req->wb_offset"
	  a part of the req_offset() function.
	
	Test status:
	  Passes all Connectathon '02 tests with v2, v3, UDP and TCP.  Passes
	  NFS torture tests on an x86 UP highmem system.

<ctindel@cup.hp.com>
	[BONDING]: Update to version 2.4.20-20021210.

<arnd@bergmann-dalldorf.de>
	[PKTGEN]: Mark some functions static.

<torvalds@home.transmeta.com>
	Make NFS compile even without NFS_V4 support

<torvalds@home.transmeta.com>
	Ignore ".ko" files - kernel module objects.

<krkumar@us.ibm.com>
	[IPV6]: Missing in6_dev_put in router discovery.

<davidm@tiger.hpl.hp.com>
	ia64: Finish 2.5.52+ merge.

<davidm@tiger.hpl.hp.com>
	ia64: Fix printing of memory attributes.

<davej@codemonkey.org.uk>
	[AGP] Make things compile again if AGP3=n

<manfred@colorfullife.com>
	[PATCH] new attempt at sys_poll allocation (was: Re: Poll patches..)
	
	This replaces the dynamically allocated two-level array in sys_poll with
	a dynamically allocated linked list.  The current implementation causes
	at least two alloc/free calls, even if only one or two descriptors are
	polled.  This reduces that to one alloc/free, and the .text segment is
	around 220 bytes shorter.  The microbenchmark that polls one pipe fd is
	around 30% faster.  [1140 cycles instead of 1604 cycles, Celeron mobile
	1.13 GHz]

<ink@jurassic.park.msu.ru>
	[PATCH] PCI: setup-xx fixes
	
	Don't disable PCI devices before changing the BARs, as discussed
	recently.  Disabling PCI_COMMAND_MASTER bit is an obvious bug.
	
	Further, pdev_enable_device() is a leftover from very old (2.0, I guess)
	alpha PCI code.  It's used in pci_assign_unassigned_resources() to
	enable *every* PCI device in the system.  So, if we have two graphic
	cards on the same bus, both with legacy VGA IO...  oops.
	
	Actually, only alpha relied on that due to the lack of
	pcibios_enable_device (which has been already fixed).

<torvalds@home.transmeta.com>
	Get rid of silly printk's in recent mtrr driver changes.

<hch@lst.de>
	[AF_KEY]: Fix comment typo.

<torvalds@home.transmeta.com>
	Sysenter cleanups (originals by Brian Gerst, updated and expanded by me):
	 - set up kernel stack pointer for sysenter at each context switch.
	 - disable sysenter while in vm86 mode.
	 - clean up mtrr number defines and SEP feature testing

<akpm@digeo.com>
	[PATCH] sync_fs deadlock fix
	
	Running a `mount -o remount' against ext3 deadlocks if there is heavy
	write activity.  It's a sort of AB/BA deadlock caused by calling
	log_wait_commit() under lock_super().  The caller holds lock_super()
	and is waiting for a commit, but the commit cannot complete because
	lock_super() is also used in the block allocator.
	
	The way we fixed this in tha past is to drop the superblock lock inside
	ext3.  The way this patch fixes it is to arrange for lock_super() to
	not be held around the ->sync_fs() call.
	
	Also: sync_filesystems is on the sys_sync() path and is racy wrt
	unmount.  Check sb->s_root after taking sb->s_umount.

<akpm@digeo.com>
	[PATCH] fix a page dirtying race in vmscan.c
	
	There's a small window in which another CPU could dirty the page after
	we've cleaned it, and before we've moved it to mapping->dirty_pages().
	The end result is a dirty page on mapping->locked_pages, which is
	wrong.
	
	So take mapping->page_lock before clearing the dirty bit.

<akpm@digeo.com>
	[PATCH] fix use-after-free bug in move_vma()
	
	move_vma() calls do_munmap() and then uses the memory at *new_vma.
	
	But when starting X11 it just happens that the memory which do_munmap
	unmapped had the same start address and the range at *new_vma.  So new_vma
	is freed by do_munmap().
	
	This was never noticed before because (vm_flags & VM_LOCKED) evaluates
	false when vm_flags is 0x5a5a5a5a.  But I just changed that to 0x6b6b6b6b
	and boom - we call make_pages_present() with start == end == 0x6b6b6b6b and
	it goes BUG.
	
	So I think the right fix here is for move_vma() to not inspect the values
	of any vma's after it has called do_munmap().
	
	The patch does that, for `new_vma'.
	
	The local variable `vma' is also being used after the call do do_munmap(),
	and this may also be a bug.  Proving that this is not so, and adding a
	comment to explain why is hereby added to Hugh's todo list ;)

<akpm@digeo.com>
	[PATCH] more informative slab poisoning
	
	slab poisons objects with 0x5a both when they are constructed and when
	they are freed.  So it is not possible to tell whether a deref of
	0x5a5a5a5a was a use-before-initialisation bug or a use-after-free bug.
	
	The patch changes it so that
	
	1) A deref of 0x5a5a5a5a means use-of-uninitialised-memory
	
	2) A deref of 0x6b6b6b6b means use-of-freed-memory.

<akpm@digeo.com>
	[PATCH] Add generic_file_readonly_mmap() for nommu
	
	Add a generic_file_readonly_mmap() for !CONFIG_MMU.

<akpm@digeo.com>
	[PATCH] misc fixes
	
	- A C99 initialiser in drivers/char/mem.c
	
	- Remove unneeded deref in madvise_willneed()

<akpm@digeo.com>
	[PATCH] Remove PF_NOWARN
	
	We keep getting in a mess with the current->flags setting and
	unsetting.
	
	Remove current->flags:PF_NOWARN and create __GFP_NOWARN instead.

<akpm@digeo.com>
	[PATCH] Give kswapd writeback higher priority than pdflush
	
	The `low latency page reclaim' design works by preventing page
	allocators from blocking on request queues (and by preventing them from
	blocking against writeback of individual pages, but that is immaterial
	here).
	
	This has a problem under some situations.  pdflush (or a write(2)
	caller) could be saturating the queue with highmem pages.  This
	prevents anyone from writing back ZONE_NORMAL pages.  We end up doing
	enormous amounts of scenning.
	
	A test case is to mmap(MAP_SHARED) almost all of a 4G machine's memory,
	then kill the mmapping applications.  The machine instantly goes from
	0% of memory dirty to 95% or more.  pdflush kicks in and starts writing
	the least-recently-dirtied pages, which are all highmem.  The queue is
	congested so nobody will write back ZONE_NORMAL pages.  kswapd chews
	50% of the CPU scanning past dirty ZONE_NORMAL pages and page reclaim
	efficiency (pages_reclaimed/pages_scanned) falls to 2%.
	
	So this patch changes the policy for kswapd.  kswapd may use all of a
	request queue, and is prepared to block on request queues.
	
	What will now happen in the above scenario is:
	
	1: The page alloctor scans some pages, fails to reclaim enough
	   memory and takes a nap in blk_congetion_wait().
	
	2: kswapd() will scan the ZONE_NORMAL LRU and will start writing
	   back pages.  (These pages will be rotated to the tail of the
	   inactive list at IO-completion interrupt time).
	
	   This writeback will saturate the queue with ZONE_NORMAL pages.
	   Conveniently, pdflush will avoid the congested queues.  So we end up
	   writing the correct pages.
	
	In this test, kswapd CPU utilisation falls from 50% to 2%, page reclaim
	efficiency rises from 2% to 40% and things are generally a lot happier.
	
	
	The downside is that kswapd may now do a lot less page reclaim,
	increasing page allocation latency, causing more direct reclaim,
	increasing lock contention in the VM, etc.  But I have not been able to
	demonstrate that in testing.
	
	
	The other problem is that there is only one kswapd, and there are lots
	of disks.  That is a generic problem - without being able to co-opt
	user processes we don't have enough threads to keep lots of disks saturated.
	
	One fix for this would be to add an additional "really congested"
	threshold in the request queues, so kswapd can still perform
	nonblocking writeout.  This gives kswapd priority over pdflush while
	allowing kswapd to feed many disk queues.  I doubt if this will be
	called for.

<akpm@digeo.com>
	[PATCH] ext2/3 commentary and cleanup
	
	- Add some (much-needed) commentary to the ext2/ext3 block allocator
	  state fields.
	
	- Remove the SEARCH_FROM_ZERO debug code.  I wrote that to trigger
	  some race and it hasn't been used in a year.

<akpm@digeo.com>
	[PATCH] ext2/3: better starting group for S_ISREG files
	
	ext2 places non-directory objects into the same blockgroup as their
	directory, as long as that directory has free inodes.  It does this
	even if there are no free blocks in that blockgroup (!).
	
	This means that if there are lots of files being created at a common
	point in the tree, they _all_ have the same starting blockgroup.  For
	each file we do a big search forwards for the first block and the
	allocations end up getting intermingled.
	
	So this patch will avoid placing new inodes in block groups which have
	no free blocks.
	
	So far so good.  But this means that if a lot of new files are being
	created under a directory (or multiple directories) which are in the
	same blockgroup, all the new inodes will overflow into the same
	blockgroup.  No improvement at all.
	
	So the patch arranges for the new inode locations to be "spread out"
	across different blockgroups if they are not going to be placed in
	their directory's block group.  This is done by adding parent->i_ino
	into the starting point for the quadratic hash.  i_ino was chosen so
	that files which are in the same directory will tend to all land in the
	same new blockgroup.

<akpm@digeo.com>
	[PATCH] ext3: smarter block allocation startup
	
	When an ext3 (or ext2) file is first created the filesystem has to
	choose the initial starting block for its data allocations.  In the
	usual (new-file) case, that initial goal block is the zeroeth block of
	a particular blockgroup.
	
	This is the worst possible choice.  Because it _guarantees_ that this
	file's blocks will be pessimally intermingled with the blocks of
	another file which is growing within the same blockgroup.
	
	We've always had this problem with files in the same directory.  With
	the introduction of the Orlov allocator we now have the problem with
	files in different directories.  And it got noticed.  This is the cause
	of the post-Orlov 50% slowdown in dbench throughput on ext3 on
	write-through caching SCSI on SMP.  And 25% in ext2.
	
	It doesn't happen on uniprocessor because a single CPU will not exhibit
	sufficient concurrency in allocation against two or more files.
	
	It will happen on uniprocessor if the files are growing slowly.
	
	It has always happened if the files are in the same directory.
	
	ext2 has the same problem but it is siginficantly less damaging there
	because of ext2's eight-block per-inode preallocation window.
	
	The patch largely solves this problem by not always starting the
	allocation goal at the zeroeth block of the blockgroup.  We instead
	chop the blockgroup into sixteen starting points and select one of those
	based on the lower four bits of the calling process's PID.
	
	The PID was chosen as the index because this will help to ensure that
	related files have the same starting goal.  If one process is slowly
	writing two files in the same directory, we still lose.
	
	
	Using the PID in the heuristic is a bit weird.  As an alternative I
	tried using the file's directory's i_ino.  That fixed the dbench
	problem OK but caused a 15% slowdown in the fast-growth `untar a kernel
	tree' workload.  Because this approach will cause files which are in
	different directories to spread out more.  Suppressing that behaviour
	when the files are all being created by the same process is a
	reasonable heuristic.
	
	
	I changed dbench to never unlink its files, and used e2fsck to
	determine how many fragmented files were present after a `dbench 32'
	run.  With this patch and the next couple, ext2's fragmentation went
	from 22% to 13% and ext3's from 25% to 10.4%.

<akpm@digeo.com>
	[PATCH] ext2: smarter block allocation startup
	
	The same thing, for ext2.

<akpm@digeo.com>
	[PATCH] rename locals in ext2_new_block()
	
	Renames the local variables `bh2', `i', `j', 'k', and `tmp' to
	something meanigful.  This brings ext2_new_block() into line with
	ext3_new_block().

<akpm@digeo.com>
	[PATCH] ext3 use-after-free bugfix
	
	If ext3_add_nondir() fails it will do an iput() of the inode.  But we
	continue to run ext3_mark_inode_dirty() against the potentially-freed
	inode.  This oopses when slab poisoning is enabled.
	
	Fix it so that we only run ext3_mark_inode_dirty() if the inode was
	successfully instantiated.

<akpm@digeo.com>
	[PATCH] ext3: fix buffer dirtying
	
	This is a forward-port from 2.4.  One of Stephen's recent fixes.  I
	managed to merge up only half of it.  Here is the rest.  It should fix
	the asserton failure reported by Robert Macaulay
	<robert_macaulay@dell.com>
	
	"There was a race window in buffer refiling where we could temporarily
	 expose the journal's internal BH_JBDDirect flag as BH_Dirty, which is
	 visible to the rest of the VFS.  That doesn't affect the journaling,
	 because we hold journal_head locks while the buffer is in this
	 transient state, but bdflush can see the buffer and write it out
	 unexpectedly, causing ext3 to find the buffer in an unexpected state
	 later."
	
	 The fix simply keeps the dirty bits clear during the internal buffer
	 processing, restoring the state to the private BH_JBDDirect once
	 refiling is complete."

<akpm@digeo.com>
	[PATCH] hugetlb bugfixes
	
	From Rohit Seth
	
	1) Bug fixes (mainly in the unsuccessful attempts of hugepages).
	
	   i) not modifying the value of key for unsuccessful key
	      allocation
	
	   ii) Correct usage of mmap_sem in free_hugepages
	
	   iii) Proper unlocking of key->lock for partial hugepage
	        allocations
	
	
	2) Include the IPC_LOCK for permission to use hugepages via the
	   syscall interface.  This brings the syscall interface into line with
	   the hugetlbfs interface.
	
	   It also adds permits users who are in the superuser group to
	   access hugetlb resources.  This is so that database servers can run
	   without elevated permissions.
	
	3) Increment the key_counts during forks to correctly identify the
	   number of processes references a key.

<akpm@digeo.com>
	[PATCH] hugetlb: report shared memory attachment counts
	
	From Rohit Seth
	
	Attached is a patch that passes the correct information back to user
	land for number of attachments to shared memory segment.  I could have
	done few more changes in a way nattach is getting set for regular cases
	now, but just want to limit it at this point.

<akpm@digeo.com>
	[PATCH] hugetlbfs: set inode->i_size
	
	An `ls' in hugetlbfs currently shows all files having zero size.
	
	So, part-cosmetic, part-informative, we here set i_size to represent the
	index of the highest present page in the mapping, plus one.

<akpm@digeo.com>
	[PATCH] don't cacheline-align radix_tree_nodes
	
	They are 260 bytes.  We can get 15 per page without cacheline
	alignment.  But we're currently only getting ten per page on P4.

<akpm@digeo.com>
	[PATCH] remove memclass()
	
	From hch.  Nothing is using the memclass() predicate.

<akpm@digeo.com>
	[PATCH] remove unused macro MAP_ALIGN()
	
	Patch from Christoph Hellwig <hch@lst.de>
	
	remove unused macro MAP_ALIGN()

<torvalds@home.transmeta.com>
	More mtrr/if.c fixes
	 - printk is not an acceptable substitute for errors
	 - fix indentation of mtrr_close()
	 - fix duplicate mtrr "release" fn pointer initializer

<jejb@raven.il.steeleye.com>
	generic device DMA API
	
	add dma_ API to mirror pci_ DMA API but phrased to use struct
	device instead of struct pci_dev.
	
	See Documentation/DMA-API.txt for details

<jejb@raven.il.steeleye.com>
	allow pci primary busses to have parents in the device model

<torvalds@home.transmeta.com>
	Remove old pci_dma_supported(), this is done by the generic
	device DMA now (see <linux/pci.h> for the compat wrapper).

<david-b@pacbell.net>
	[PATCH] ehci, qtd submit and completions
	
	 > ... usb-storage gets unhappy when
	 > it decides (why?  and unsuccessfully) to reset high speed
	 > devices.  ...
	
	I don't know if that problem is resolved, but this patch
	makes the question moot by handling an earlier error correctly.
	
	The patch updates an incorrect test, so a short read will now
	be treated as one.  Please merge.
	
	This lets storage behave again.  As in, "mkfs -c" then copy
	about 8 GB around, then 'dbench'.

<henning@meier-geinitz.de>
	[PATCH] scanner.h: add/fix vendor/product ids
	
	This patch adds additional vendor and product ids for Nikon, Mustek,
	Plustek, Genius, Epson, Canon, Umax, Hewlett-Packard, Benq, Agfa,
	and Minolta scanners. The entries for Benq, Genius and Plustek
	scanners have been updated.
	
	I've also increased the version number to 0.4.9 and brought the
	version numbers in scanner.c and scanner.h in sync.

<henning@meier-geinitz.de>
	[PATCH] scanner.c: Support for devices with only one bulk-in endpoint
	
	This patch (originally from Sergey Vlasov) adds support for scanners
	with only one bulk-in endpoint. It's needed by all the GT-6801 based
	scanners like the Artec Ultima 2000 or some of the Mustek BearPaws.

<jkenisto@us.ibm.com>
	[PATCH] dev_printk macro

<rth@dorothy.sfbay.redhat.com>
	[ALPHA] Add __param support to link script.

<jejb@raven.il.steeleye.com>
	remove PCI_NEW_DMA_COMPAT_API
	
	use a #include mechanism for generic implementations of the pci_
	API in terms of the dma_ one

<manfred@colorfullife.com>
	[PATCH] reorder 'rep;nop;' in the spinlock macro
	
	According to Intel's recommendation, 'rep;nop; should be called before
	testing if the lock variable was modified (i.e. rep nop;cmp;jcc). The
	current implementation does it the wrong way around: first test, then
	wait, then branch. I've asked Asit Mallik from Intel, and he recommended
	to change it.
	
	It should be at least consistent: Right now, spinlock uses
	'cmp;rep nop;jcc', rwlock uses 'rep nop;cmp;jcc'

<ak@muc.de>
	[PATCH] Make mem=nopentium clear cpu_has_pse
	
	"mem=nopentium" would clear the PSE bit in boot_cpu_data, but the CPU
	detection later would overwrite it again from CPUID.
	
	The large pages would be correctly disabled, but cpu_has_pse was lying.
	
	This patch makes sure it stays clear when the option is given.
	
	I also took the liberty to remove these obnoxious cpu capability
	printks who give no use information (the data can be either gotten
	from CPUID in user space in raw form or from /proc/cpuinfo processed)

<ak@muc.de>
	[PATCH] Fix pageattr with mem=nopentium
	
	This fixes a hang in change_page_attr() that occured with mem=nopentium.
	
	Make sure a non large page kernel mapping is handled correctly.
	Previously the page reference counter was handled incorrectly in this
	case.
	
	Also hardens change_page_attr against bogus addresses.  You get an
	EINVAL now.

<rusty@rustcorp.com.au>
	[PATCH] honour init= bootparm
	
	Restore the accidentally dropped code to handle "init=xxx"

<manfred@colorfullife.com>
	[PATCH] Avoid overwriting boot_cpu_data from trampoline code
	
	boot_cpu_data should contain the common capabilities of all cpus in the
	system. identify_cpu [arch/i386/kernel/cpu/common.c] tries to enforce
	that. But right now, the SMP trampoline code [arch/i386/kernel/head.S]
	overwrites boot_cpu_data when the secondary cpus are started, i.e.
	boot_cpu_data contains the capabilities from the last cpu that booted :-(
	
	The attached patch adds a new, __initdata variable for the asm code.

<torvalds@home.transmeta.com>
	Handle single-stepping over fast system calls without polluting
	the fast case with a pushf/popf, by having the kernel debug trap
	set the TIF_SINGLESTEP flag and causing the return path to dtrt.

<andersg@0x63.nu>
	[TCP]: Fix infinite loop when reading /proc/net/tcp with ipv6-sockets.

<mostrows@speakeasy.net>
	[PPPOE]: Fix connect handling.

<dipankar@in.ibm.com>
	[IPV4]: lockfree ipv4 route cache

<kaber@trash.net>
	[Netfilter]: Forgotten dev_put for bridge-devices in nf_reinject.

<jejb@mulgrave.(none)>
	[SCSI 53c700] remove no_module_init again, sigh

<hch@infradead.org>
	[PATCH] Re: scsi_scan.c complaints...
	
	On Fri, Dec 20, 2002 at 08:29:23PM -0500, Doug Ledford wrote:
	> And I was right.  One little q = NULL; is all that was missing.  Anyway,
	> here's a printout of what startup looks like with this patch in place
	> under 2.5.52.  This should make you happy Justin ;-)
	
	Okay, I looked at the patches that are in mainline and they look pretty
	cool to me.  When looking over the code (in preparation of implementing
	Justin's suggestion to get rid of the highmem_io flag) I found quite
	a bit small stuff to make the code in that area a lot cleaner:
	
	- new helper scsi_calculate_bounce_limit to calculate the bounce
	  limit for a scsi host, remove a copy of that code ni st.c
	- scsi_initialize_queue gets replace with scsi_alloc_queue, this
	  one now takes only a struct Scsi_Host and returns the request queue,
	  it's paired with a small scsi_free_queue helper.
	
	Diffstat:
	
	 hosts.h     |    3 -
	 scsi.c      |   43 ----------------------
	 scsi.h      |    1
	 scsi_scan.c |  113 ++++++++++++++++++++++++++++++++++--------------------------
	 scsi_syms.c |    5 ++
	 st.c        |   16 +-------
	 6 files changed, 73 insertions(+), 108 deletions(-)

<mbligh@aracnet.com>
	[PATCH] x86 subarch header files
	
	Patch from John Stultz.
	
	This reorganises the subarch files to put all the headers under the
	include dir, instead of mixing them up with the C files.  The only
	interesting part is the top section where he makes it fall back from the
	subarch dir to the default dir if there's no .h file under the subarch
	dir.
	
	This means we can create multiple subarches without copying every single
	file that any subarch wants into all the directories.  And is much
	tidier, IMHO.

<mbligh@aracnet.com>
	[PATCH] NUMA-Q subarch directory
	
	This adds a shell of a NUMA-Q subarch directory, and copies
	mach-default/mach_apic.h into it.  I then edited the default version to
	remove the NUMA-Q stuff, and the NUMA-Q version to remove the default
	stuff.

<mbligh@aracnet.com>
	[PATCH] abstract out clustered APIC code
	
	Code originally by James Cleverdon.
	
	This abstracts out some sections that were switched by
	clustered_apic_mode into the following functions:
	
	 - apic_id_registered()
	 - init_apic_ldr()
	 - multi_timer_check()
	
	Changes the return check in balance_irq from testing clustered_apic_mode
	to testing "no_balance_irq" to be more general.
	
	The removal of:
		entry.dest.logical.logical_dest = TARGET_CPUS;
	is because it's a duplicate (we do it twice in the same function for
	no reason).

<mbligh@aracnet.com>
	[PATCH] abstract out mpparse code
	
	Most of code originally by James Cleverdon.
	
	Abstracts out code from the mpparse stuff into:
	
	 - mpc_apic_id()
	 - apicid_to_cpu_present()
	
	instead of using clustered_apic_mode switching.

<mbligh@aracnet.com>
	[PATCH] mpparse cleanups
	
	Most of code originally by James Cleverdon.
	
	More stuff reformed in the mpparse sections - this time not apic stuff,
	so we create mach_mpparse.h and stick it in there.
	
	Abstracts out:
	 - mpc_oem_bus_info() - stores mappings between buses and nodes/quads.
	 - mpc_oem_pci_bus()  - stores mappings between global and local pci bus numbers
	
	Changes summit_check() into mps_oem_check() to generalise it.

<mbligh@aracnet.com>
	[PATCH] cleanup IPI code
	
	Reformat the IPI stuff, specifically send_IPI_mask, send_IPI_allbutself,
	and send_IPI_all.  Though the way they work is pretty silly for NUMA-Q,
	I do an equivalent transform here, and fix the code in a seperate patch
	(next one).  Goes into mach_ipi.h

<mbligh@aracnet.com>
	[PATCH] clustered IPI cleanups
	
	This one fixes up the IPI code to do something more sensible.  Sorry,
	was just too ugly to leave it alone ...  but I did keep it seperated out
	;-) Though this is not an equivalent transform it will only affect
	NUMA-Q & summit - same op twice because some twit just split it out in
	the last patch for both NUMA-Q & Summit.
	
	Because clustered apic logical mode can't do arbitrary broadcasts of
	addressing (it's not just a bitmap), I have to do send IPI instructions
	as a sequence of unicasts.  However, there's already a loop in the
	generic send_IPI_mask code to do that ...  there's no need to call
	send_IPI_mask once for each CPU.  The comment I wrote at the time even
	noted that this was silly.

<mbligh@aracnet.com>
	[PATCH] more clustered-apic-mode work
	
	Code mostly originally by James Cleverdon.
	
	Abstracts out more clustered_apic_mode gunk into
	
	 - ioapic_phys_id_map()
	 - wakeup_secondary_cpu()
	 - setup_portio_remap()

<jejb@mulgrave.(none)>
	[SCSI 53c700] update to new generic device dma_ API

<dougg@torque.net>
	[PATCH] scsi_debug version 1.67 for lk 2.5.52
	
	This patch uses the module_param() facility introduced in
	lk 2.5.52 (see linux/moduleparam.h) to simplify boot time
	and module load time parameters for the scsi_debug driver.
	
	The intent of module_param() is to unify
	   - boot time parameters
	   - module load time parameters
	   - sysfs driver parameters
	into a few simple calls (seen from the driver's point of view).
	The sysfs capability hasn't been implemented yet. Using
	module_param() removes over 100 lines of boilerplate code
	from the scsi_debug driver.
	
	Following the conventions suggested by Rusty, scsi_debug's
	kernel boot time options have been changed to this form:
	    scsi_debug.num_devs=2
	while the module load options are now like this:
	    modprobe scsi_debug num_devs=2
	
	This patch also updates the Kconfig entry for the scsi_debug
	driver.

<jejb@mulgrave.(none)>
	[SCSI] update lasi700 for new parisc device model

<wrlk@riede.org>
	ide-scsi changes for new mid level api and error handling in 2.5.52
	
	Here is my proposal for bringing ide-scsi in line with the current kernel.
	
	The attached patch does:
	
	1. Change from old style initialization to the new hotplug initialization model.
	   It involves declaring both a parent device and bus kernel object, which feels
	   a bit awkward, but hey, it works.
	
	2. Make ide-scsi request sense itself when CHECK_CONDITION is asserted. This 
	   change particularly makes ide-scsi run much smoother on my test box.
	
	3. Implement eh_abort_handler and eh_device_reset_handler. I have no real way
	   to thoroughly test these new routines, so for this part particularly I ask
	   for peer review.

<torvalds@home.transmeta.com>
	Fix sysenter restart backwards jump, add offset comments,
	and make the alignment of the return point 
	be saner.

<torvalds@home.transmeta.com>
	Remove bogus duplicated (and wrong) function declaration.

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