Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Change log for patch v2.5.45

Summary of changes from v2.5.44 to v2.5.45
============================================

<tim@physik3.uni-rostock.de>
   [PATCH] fix compares of jiffies
   
   I found some places where jiffies
   were compared in a way that seems to break when they wrap. For these,
   I made up patches to use the macros time_before() or time_after()
   that are supposed to handle wraparound correctly.

<davidm@tiger.hpl.hp.com>
   ia64: Incorporate no-flush-needed optimization from Andrew's asm-generic/tlb.h.

<willy@fc.hp.com>
   [PATCH] Simplify MCA date/time printing.
   
   The date/time in the SAL log header is
   already in BCD, so it can be printed directly as hex.

<davidm@tiger.hpl.hp.com>
   ia64: Fix copy_siginfo() to copy all relevant bytes.

<eranian@hpl.hp.com>
   [PATCH] 2.5.35 perfmon update
   
   This patch adds/modifies:
           - fix system-wide in UP mode
           - adds defaults values for all PMC/PMD in the pfm_reg_desc tables
           - adds bitmask of reserved fields for all PMC/PMD in the pfm_reg_desc
             tables
           - on McKinley ensures that reserved fields in PMC keep their initial
             values
           - ia64_reset_pmu() renamed pfm_reset_pmu()
           - pfm_pmu_snapshot() and reset_pmcs[] are gone
           - use pfm_reg_desc for defaults values anywhere it is needed
           - we now reinitialize all PMC to their default value when the kernel
             initializes perfmon on each CPU. That's needed because we have no
             guarantee there are still in the power-up state when kernel gets
             control.
           - /proc/perfmon now shows dcr_pp/pfm_syst_wide for ALL CPUs
           - adds a perfmon_generic.h in case neither CONFIG_ITANIUM nor
             CONFIG_MCKINLEY are defined

<davidm@wailua.hpl.hp.com>
   ia64: Fix perfmon initialization bug (patch by Stephane Eranian).

<davidm@tiger.hpl.hp.com>
   ia64: Fix EFI runtime callbacks so they cannot corrupt fp regs.  A few minor
      other fixes.

<n0ano@n0ano.com>
   [PATCH] ia64: Implement ia32 emulation for SG_IO.
   
   Attached is a kernel patch that should fix the SG_IO ioctl call for
   IA32 programs.  If you could test it out and let me know how it works
   that would be a big help.  I don't have a test program so I haven't
   tested it myself but I think it should be correct, I just lifted
   code from the sparc64 port that does the same thing.

<rohit.seth@intel.com>
   [PATCH] ia64: protect hugepage-check with mmap_sem
   

<davidm@tiger.hpl.hp.com>
   ia64: Sync with 2.5.39.

<davidm@tiger.hpl.hp.com>
   ia64: Fix 2.5.39 Makefile breakage.

<davidm@tiger.hpl.hp.com>
   ia64: Update defconfig.

<davidm@tiger.hpl.hp.com>
   ia64: Remove duplicate make targets.

<efocht@ess.nec.de>
   [PATCH] acpi-numa for ia64
   
   Add ACPI NUMA support for ia64.

<zubarev@us.ibm.com>
   [PATCH] IBM PCI Hotplug: small patch
   
   This is a small patch on top of what you sent out to the kernel
   already.  I basically uncommented out another place, where we call
   pci_hp_change_info and changed to the new method.  And also, when I sent
   you those (polling, isa, pci...) patches sometime back, I made a mistake
   when I was translating the code from the way RPM is to the way we want in
   the kernel (since in RPM we cannot have option to compile kernel).

<Dan.Zink@hp.com>
   [PATCH] Compaq PCI Hotplug bug fix
   
   Found the bug.  The following patch fixes the hot plug
   driver so that it has a fallback when there are no unused
   IRQs on a system.  At some point intialization got re-
   ordered and this was broken.
   
   I found another bug that was preventing the existing scheme from
   working.  It looks like the function "pcibios_set_irq_routing" is
   returning 1 for success, but the hot plug driver was interpreting it as
   failure.

<t-kouchi@mvf.biglobe.ne.jp>
   [PATCH] ACPI PCI hotplug driver for 2.5
   

<greg@kroah.com>
   IBM PCI Hotplug: fix typos in previous patch

<skip.ford@verizon.net>
   net/ipv4/raw.c: Include netfilter_ipv4.h

<kai@tp1.ruhr-uni-bochum.de>
   ISDN/PPP: Separate out VJ header compression
   
   Collect code which is related to VJ header compression and put it
   into isdn_ppp_vj.[hc]
    
   Also, make the PPP protocol type a u16 everywhere.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Remove reference to eth_header
   
   eth_header is not an exported symbol, and it's not necessary anyway,
   since we call ether_setup() which sets dev->hard_header appropriately.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: isdn_netif_rx() helper
   
   The different types of ISDN network interfaces all need to do the same
   thing when passing received packets on to the network stack, so let's
   have a helper function for that.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN/PPP: Separate out and rewrite MPPP code
   
   The MPPP code was badly broken by the previous interface changes for ISDN
   network interfaces and sync-PPP, and in need of a serious cleanup. Now
   it's basically mostly rewritten, in a separate file but only lightly
   tested.

<acme@conectiva.com.br>
   o ipv4: only produce one record per fib_seq_sholl call
   
   Also move the fib code back to the fib implementation, and that will
   now be done for udp and arp, then finally burying the ip_proc stillborn.

<davem@nuts.ninka.net>
   [IPV4]: Provide full proto/ports in flowi route lookups.

<davem@nuts.ninka.net>
   net/ipv4/af_inet.c: Include net/ip_fib.h

<davem@nuts.ninka.net>
   net/ipv4/ip_proc.c: Include linux/ax25.h and handle modular AX25.

<acme@conectiva.com.br>
   o ipv4: move /proc/net/udp support back to net/ipv4/udp.c

<hch@lst.de>
   [PATCH] remove dead EH methods
   
   break at compiletime instead of runtime
   
   
   ===== drivers/scsi/hosts.h 1.19 vs edited =====

<andmike@us.ibm.com>
   [PATCH] fix module unload of sg
   
      It looks like sg.c was missed in the update from put_device to
      device_unregister.
   

<johnf@whitsunday.net.au>
   In patch-2.5.44 Mike Anderson <andmike@us.ibm.com> made a cleanup to the
   Scsi Host setup.
   
   This caused the following errors on trying to compile.
   
   drivers/scsi/inia100.c:98: unknown field `next' specified in initializer
   drivers/scsi/inia100.c:98: warning: missing braces around initializer
   drivers/scsi/inia100.c:98: warning: (near initialization for `driver_template.shtp_list')
   drivers/scsi/inia100.c:98: unknown field `module' specified in initializer
   drivers/scsi/inia100.c:98: unknown field `proc_name' specified in initializer
   drivers/scsi/inia100.c:98: warning: initialization from incompatible pointer type
   make[2]: *** [drivers/scsi/inia100.o] Error 1
   
   Several of the drivers Mike modified only had the one-line change to remove
   the 'next' field.  I tried it and bingo, it works and passed my tests.
   
   The version change is what Doug Ledford intended in patch-2.5.25 back in
   June 2002.  (See inia100.c "inia100_Version")
   
   

<willy@debian.org>
   [NET]: Move more ioctls to top level.

<acme@conectiva.com.br>
   o ipv4: move /proc/net/arp seq_file support back to arp.c
   
   This also buries ip_proc.c.

<zaitcev@redhat.com>
   [SPARC]: More -ffunction-sections followups.

<zaitcev@redhat.com>
   [SPARC]: Some forgotten asm_offsets.h includes.

<andmike@us.ibm.com>
   [PATCH] scsi_error device offline fix
   
   This patch corrects a problem in scsi error handling.
   
   When a device is offlined indicated by a message like ...Device offlined
   - not ready...
   
   the command return status was not being updated with a failure status if
   the IO was a timeout.
   
   I tested the patch on system with ips, aic, and qlogic fc adapters, but
   was unable to generate a satisfactory device offline test case.
   
   I did test this fix on uml with scsi_debug and generated a device
   offline condition with verified this fix was working correctly.
   
   -andmike
   --
   Michael Anderson
   andmike@us.ibm.com
   
    scsi_error.c |    8 ++++++--
    1 files changed, 6 insertions(+), 2 deletions(-)

<andmike@us.ibm.com>
   [PATCH] scsi sync caches w/ dev offline
   
   When a scsi device is offlined and then the system is shutdown it will
   hang during the synchronizing SCSI caches task. The error handler was
   activated during this step, but post recovery the system did not
   complete the shutdown.
   
   This patch just adds a check for online before sending the command. The
   better approach appeared to be to use scsi_block_when_processing_errors,
   but I was concerned that we might block to long in a shutdown case.
   
   -andmike
   --
   Michael Anderson
   andmike@us.ibm.com
   
    sd.c |    3 +++
    1 files changed, 3 insertions(+)

<ambx1@neo.rr.com>
   [PATCH] PnP Rewrite Fixes - 2.5.44
   
   This patch addresses a few minor issues for the Linux Plug and Play Rewrite.  It
   is against 2.5.44.
   
   They are as follows.
   
   1.) fix Config.in file - from Adrian Bunk and Roman Zippel
   2.) if unable to activate a device the match should fail.  This can be done now
   that the driver model matching bug has been corrected.
   3.) move compat.c to isapnp directory and fix everything accordingly - suggested
   by Stelian Pop.  This fixes a compile error if ISAPNP is disabled.
   4.) fix a typo in pnp.h - patch from Skip Ford
   
   Please Apply,
   Adam

<Matt_Domsch@dell.com>
   EDD: add comments, magic value defines, use snprintf always

<hch@lst.de>
   [PATCH] Re: [PATCH] fix scsi device/driver model integration
   
   On Fri, Oct 18, 2002 at 04:18:15PM -0500, James Bottomley wrote:
   > hch@lst.de said:
   > > In current 2.5 each scsi highlevel driver registers with the driver
   > > model individually.   This is rather messy and in fact one driver was
   > > left out in the change.  Make scsi_{,un}register_device do it instead
   > > and deregister with the driver model first as we registered last.
   >
   > OK, Patrick Mochel just stomped all over this.  So I no longer trust my merge
   > corrections.  Could you resend against the current 2.5-BK.
   
   Patch below (Template changes will be part of a different patch
   now)

<jejb@mulgrave.(none)>
   [SCSI] remove duplicate device registration
   
   From Mike Anderson and Patrick Mansfield

<dledford@aladin.rdu.redhat.com>
   Update for new TCQ scheme

<t-kouchi@mvf.biglobe.ne.jp>
   [PATCH] ia64: fix fpswa version printing
   
   I found the meaning of fpswa version major and minor is opposite.

<akropel1@rochester.rr.com>
   The following patch adds support for ethtool to the ewrk3 driver. It is against
   2.5-BK but should apply to any recent 2.5 and 2.4 as well. In addition to adding
   ethtool support, it also removes the cli/sti fixup attribution from the
   changelog since that didn't actually go in yet and fixes a small style issue I
   introduced in the multi-card support patch.
   
   Note that for ewrk3 still needs VDA's cli/sti removal patch, which I will
   send along in a separate mail along with some other cleanups.
   
   This has been tested on an SMP x86 box containing 3 DE205 NICs.

<thockin@freakshow.cobalt.com>
   drivers/net/eepro100.c: cleanup messages since netif_msg_xxx() change

<jgarzik@redhat.com>
   Remove cli/sti from ewrk3 net driver.
   Also, comment out ETHTOOL_PHYS_ID until its sleeping is fixed.
   
   Originally by Denis Vlasenko, then via Adam Kropelin, and
   finally cleaned up by me.

<akropel1@rochester.rr.com>
   This patch adds some locking fixups to the ewrk3 ioctl routine. None of these
   are critical since the ioctls AFAIK are used only by the EEPROM config utility.

<akropel1@rochester.rr.com>
   Last ewrk3 update for now. Updates the changelog to cover previous patches, bumps the
   revision number, and replaces the horrific EthwrkSignature function with
   something (slightly) less horrific.

<key@austin.ibm.com>
   update lanstreamer tokenring driver:
   Patch gets rid of virt_to_bus calls using the newer pci_map/unmap calls,
   as well as fixing 1 bug in the init code.

<venkatesh.pallipadi@intel.com>
   [PATCH] ia64: Save/Restore of IA32 fpstate in sigcontext
   
   The IA32 fpstate information is not getting saved/restored during IA32
   exception handling. The issue was first observed due to an IA32 binary
   (which runs fine on IA32 system), failing on Itanium based system. The
   binary was trying to access the fpstate information during an FPE and got a
   SEGV, as the fpstate was not getting saved and the sigcontext->fpstate
   pointer was NULL.

<venkatesh.pallipadi@intel.com>
   [PATCH] ia64: Clearing of exception status before calling IA32 user signal handler
   
   One more bug fix for IA32 exception handler. IA32 exception handler is
   not clearing the exception status, before calling the user signal handler
   routine.

<davidm@tiger.hpl.hp.com>
   ia64: Some formatting cleanups.

<ahaas@neosoft.com>
   [PATCH] ia64: C99 designated initializer for include/asm-ia64/thread_info.h
   
   Here's a small C99 designated initializer patch for the subject file.
   The patch is against 2.5.43.

<jung-ik.lee@intel.com>
   [PATCH] ia64: PCI hotplug changes for 2.5.39 or later
   
   The following patch fixes ia64 kernel dump on Hot-Add of PCI bridge cards.
   
   pcibios_fixup_bus();
   pci_do_scan_bus();
   on Hot-Add of bridge adapter;

<key@austin.ibm.com>
   Check link status in pcnet32 net driver

<peter@chubb.wattle.id.au>
   [PATCH] ia64: Fix RAW dependency introduced by HUGETLB patch
   
   If CONFIG_HUGETLB is not defined, you get a RAW dependency clash in
   ivt.S. (2.5.39)

<greg@kroah.com>
   [PATCH] USB: added support for Clie NX60 device.
   
   Thanks to Hiroyuki ARAKI <hiro@zob.ne.jp> for the information.

<dbrownell@users.sourceforge.net>
   [PATCH] ohci-hcd, longer bios handshake timeout
   
   This should resolve the problems Nicolas Mailhot reported,
   where an old BIOS seemed reluctant to release the controller
   and the dbg() message delayed things enough to work.  At
   worst, it'll eliminate dbg() messages as a factor.

<dbrownell@users.sourceforge.net>
   [PATCH] usbnet, preliminary zaurus support
   
   This is Pavel's patch, with some cleanups and re-sorting of
   the various SA-1100 cases.  According to Pavel this works
   as well as his earlier version ... which is to say, maybe
   not yet, he saw a uhci "very bad" error (on 2.5.43).
   
   I'm sending it along since it's clearly the right way to
   support the Zaurus, and it can't be that far off given the
   code I've seen.

<dbrownell@users.sourceforge.net>
   [PATCH] usb: problem clearing halts
   
   This is a slightly cleaned up version of that earlier patch:
   
   - Makes both copies of the clear_halt() logic know that
      usb_pipein() returns boolean (zero/not) not integer (0/1).
      This resolves a problem folk have had with usb-storage.
      (I looked at kernel uses of usb_pipein and it really was
      only the clear_halt logic that cares.)
   
   - Removes some code from the "standard" version; no point
      in Linux expecting devices to do something neither Microsoft
      nor Apple will test for.

<oliver@oenone.homelinux.org>
   [PATCH] USB: microtek driver - remove dead code

<stuartm@connecttech.com>
   [PATCH] More wh patches
   
   Inlined are a few more patches to 2.5.43 that fix problems that
   were discovered during QA.
   
   1-firm4.07 :: I've moved to the bottom since it's huge
   
   Updates the firmware to 4.07. Fixes a bug introduced in 4.05 where
   RTS is high after boot. Also fixes a bug where the whiteheat would
   allow data reception after boot when no ports were open.
   
   2-fix-dtr-rts
   
   I didn't know this, but the firmware open command also handles
   raising the signals for me. This code is superflous.
   
   3-fix-read-urb
   
   Read polling was started right away in whiteheat_open(). Coupled
   with the firmware bug fixed above where data could be received
   by a port that wasn't open, this caused the whiteheat_read_callback
   to fire before open() was finished, and in some cases this caused
   harm to the tty layer. I didn't track down the exact mechanism
   because either moving the read polling to the last operation of open()
   or using the fixed firmware caused the crash to stop happening. I
   have stack traces if you'd like to have a look; it looks like something
   scribbles on the stack, but I couldn't figure out what eactly, as the
   scribbled data didn't match anything in the whiteheat driver or the
   test applications.
   
   4-fix-ixoff
   
   RELEVANT_IFLAG masks off the software flow control bits, so that
   a change that is restricted to the soft flow bits will be ignored. This
   is the email I sent earlier; I've decided to just not use the macro for
   now, but I'd still like to know if the macro should be fixed,.
   
   ..Stu

<jtyner@cs.ucr.edu>
   [PATCH] drivers/usb/media/vicam.c: simplify vicam_read
   
   The following patch removes the old framebuf_size and framebuf_read_start
   values from the cam structure and simplifes the read function. It also
   moves the needs dummy read check into the read_frame function. cp and dd
   should both still work.

<jtyner@cs.ucr.edu>
   [PATCH] drivers/usb/media/vicam.c: simplify vicam_read
   
   > The following patch removes the old framebuf_size and framebuf_read_start
   > values from the cam structure and simplifes the read function. It also
   > moves the needs dummy read check into the read_frame function. cp and dd
   > should both still work.
   
   This is in addition to the previous patch. It should allow any programs
   that read entire frames to receive a new frame with each successive read.
   Programs that read less than the entire frame will read until they reach
   the end of the frame. They will then read 0 bytes (signifying EOF). The
   next read will start the next frame.

<perex@suse.cz>
   ALSA update
     - changed names for module symbols: snd_xxxx ==> xxxx (removed prefix)

<perex@suse.cz>
   ALSA update
     - usb midi driver rewritten to use rawmidi interface

<perex@suse.cz>
   ALSA update
     - fixed oops in snd_rawmidi_info()
     - MTPAV driver - fixed spin-deadlock
     - ICE1712 - added Midiman M-Audio Delta1010LT support, fixed spin-deadlock
     - emu10k1 - fixed memory allocation inside spinlock (GFP_ATOMIC)

<hch@lst.de>
   [PATCH] get rid of ->finish method for highlevel drivers
   
   the ->finish method is a relicat from the old day were we never had
   hotplugging and allowed the driver to do fixups after all busses
   had been scanned.  Nowdays only sd and sr actually implement it,
   and both only defer actions to there that should actually happen in
   ->attach.  Change both drivers to move that code into ->attach,
   clenaup the Templates to use C99 initializers and get rid of the
   methods.
   
   This also cleans up some very crude race-avoidable code in those
   drivers, btw..

<jejb@mulgrave.(none)>
   [SCSI] move build commandblocks to before attach so attach can send I/O

<oliver@oenone.homelinux.org>
   [PATCH] USB: hpusbscsi - kill wrong error case
   

<dledford@aladin.rdu.redhat.com>
   Fix for scsi host struct change

<efocht@ess.nec.de>
   [PATCH] ia64: topology for ia64
   
   please find attached a first attempt to implement the topology.h
   macros/routines for IA64. We need this for the NUMA scheduler setup.

<davidm@tiger.hpl.hp.com>
   ia64: Fix formatting a bit and issue #error when attempting to
          use CONFIG_NUMA without CONFIG_ACPI_NUMA.

<k-suganuma@mvj.biglobe.ne.jp>
   [PATCH] ia64: ACPI NUMA bugfix
   

<k-suganuma@mvj.biglobe.ne.jp>
   [PATCH] ia64: discontigmem patch for 2.5 ia64
   
   Here is the latest discontigmem patch for ia64 against
   2.5.39 + ia64 patch + Erich's acpi_numa patch.

<agrover@groveronline.com>
   ACPI: Update to interpreter 20021022
    - Remove old code
    - Change some defines
    - Change Scope behavior

<davidm@tiger.hpl.hp.com>
   ia64: Fix up/clean NUMA discontigmem patch.

<dledford@aladin.rdu.redhat.com>
   host struct cleanups

<agrover@groveronline.com>
   ACPI: EC update
    - Move call to acpi_ec_query out of the interrupt handler. This will
      ensure that we do not try to acquire the Global Lock at interrupt
      level.
    - Get the handle for the ECDT.

<agrover@groveronline.com>
   ACPI: Enable compilation using Intel compiler

<agrover@groveronline.com>
   ACPI: Add needed exports for ACPI-based PCI Hot Plug (J.I. Lee)

<agrover@groveronline.com>
   ACPI: Restore ARB_DIS bit on resume from S1 (Eric Brunet)

<dledford@aladin.rdu.redhat.com>
   Compile fixes needed due to host struct change

<agrover@groveronline.com>
   ACPI: Rename acpi_power_off to acpi_power_off_device (Pavel Machek)

<laforge@gnumonks.org>
   [NETFILTER] Add IP unused bit check to ipt_unclean.c, from Maciej Soltysiak.

<Matt_Domsch@dell.com>
   EDD: cleanups
   
   print PCI info as %02x.%02x.%d
   Don't warn about nonexistant SCSI devices if it's not a SCSI device

<Matt_Domsch@dell.com>
   EDD: remove list_head from edd_device, don't delete symlinks
   
   Update comments
   Remove list_head from edd_device, don't delete it
   Don't delete symlinks - driverfs_remove_dir() will.

<agrover@groveronline.com>
   ACPI: Remove too-broad blacklist entries

<arnaud.quette@mgeups.com>
   [PATCH] drivers/usb/input/hiddev.c: fix hiddev_connect issue when
   
   The following one line patch (against 2.5.44) fixes an index problem when
   connecting a new hiddev
   device, when kernel isn't compiled with CONFIG_USB_DYNAMIC_MINORS. Previous
   attempt to open
   hiddev device terminated with an ENODEV error. Note that this fix works with
   either dynamic minors
   flag enabled or not.

<david-b@pacbell.net>
   [PATCH] ehci enumerating full speed devices
   
   The EHCI driver was never adjusting the full speed maximum packet size up
   (when enumerating through a transaction translating hub).  This broke the
   enumeration of some devices (maxpacket != 8) pretty early.
   
   This patch updates EHCI to fix the bug, and does minor cleanup to usbcore
   logic that figures out ep0 maxpacket.  I left the partial read in for all
   speeds, even though only full speed needs it.

<agrover@groveronline.com>
   ACPI: Use dev->devfn instead of bridge->devfn to determine the pin when
         trying to derive a device's irq from its parent (Ville Syrjala)

<shaggy@shaggy.austin.ibm.com>
   JFS: Add missing byte-swapping macros in xattr.c
   
   The missing byte-swaps wreaked havok on big-endian hardware.

<thockin@freakshow.cobalt.com>
   drivers/net/eepro100.c: set the PHY ID correctly

<agrover@groveronline.com>
   ACPI: Add support for GPE1 block defined with no GPE0 block

<agrover@groveronline.com>
   ACPI: eliminate duplicate lines of code

<thockin@freakshow.cobalt.com>
   drivers/net/mii.c: fix flipped logic

<thockin@freakshow.cobalt.com>
   drivers/net/eepro100.c: set phy_id_mask and reg_num_mask in mii_if

<kai@tp1.ruhr-uni-bochum.de>
   kbuild: Split Rules.make
   
   Rules.make is used in 4 phases, 
   o generate modversions
   o build
   o install modules
   o clean
   
   split out the code specific to the phase and move it into 
   scripts/Makefile.<phase>

<kai@tp1.ruhr-uni-bochum.de>
   kbuild: Remove some compatibility code, $(echo_target)
   
   Including Rules.make after make -C stopped working with the
   fixdep changes, so the other code trying to salvage backward
   compatibility should go as well.

<kai@tp1.ruhr-uni-bochum.de>
   kbuild: Shut up "make clean" in non-verbose mode
   
   $(call ...) has a measurable performance impact, so use the new
   variable $(Q), which evaluates to @ when quiet to supress
   the echoing of commands if not wanted.
   
   IIRC, Keith Owens' kbuild-2.5 came up with that idea, so credit goes
   there.

<kai@tp1.ruhr-uni-bochum.de>
   kbuild: Switch "make modules_install" to fast mode ;)
   
   Use the same way we came up with for "make clean" for
   "make modules_install", gaining a nice speed-up.
   
   Also, some cosmetics for scripts/Makefile.clean

<kai@tp1.ruhr-uni-bochum.de>
   kbuild: Convert build and modversion phases
   
   Alright, so now actually all four phases are converted to new-style,
   i.e. we call make -f scripts/Makefile.<phase> which includes the
   actual subdir Makefile.
   
   The obvious drawback is some code duplication between the four
   scripts/Makefile.<phase>, which could easily be overcome including
   shared parts, but since I'm going for maximum performance, I did not
   for now.
   
   Rules.make is empty now ;) (Well, not quite, since if it was 0 bytes,
   make mrproper would remove it...)

<kai@tp1.ruhr-uni-bochum.de>
   kbuild: Convert drivers/isdn to be "Rules.make-less"

<kai@tp1.ruhr-uni-bochum.de>
   kbuild: Allow for <mod>-y as well as <mod>-objs for multipart objects.
   
   Traditionally, the individual components of a multipart module are
   listed in <mod>-objs. Allow for using <mod>-y as well, as that turns
   out to simplify declaring optional parts of multi-part modules, see
   the converted examples in net/*/Makefile.
   
   This change is backwards-compatible, i.e. not converted Makefiles
   still work just fine.

<ambx1@neo.rr.com>
   [PATCH] PnP cleanups and resource changes - 2.5.44 (1/4)
   
   This patch fixes a number of things pointed out by Arne Thomassen.  Also it
   makes a few changes to the resource checking functions in that they now check to
   make sure that resources do not conflict within the same device instead of only
   other devices.  Although it is rare for this to be a factor it's nice to be able
   to deal with such situations properly.

<ambx1@neo.rr.com>
   [PATCH] PnPBIOS changes - 2.5.44 (2/4)
   
   This patch adds compatible PnP ID support to the PnPBIOS protocol.  None of my
   test systems take advantage of this feature but it is included in the
   specifications so it makes sense to support it.  If anyone does get a compatible
   ID listed for the PnPBIOS I'd be interested to hear about it (if more than 1 id
   is listed when viewing the driverfs file 'id' within the PnPBIOS protocol).  Also
   it fixes the dma and mem resource problem.

<ambx1@neo.rr.com>
   [PATCH] Convert CS4236B driver - 2.5.44 (3/4)
   
   This patch converts the CS4236B sound card driver to the new PnP APIs.  Also it
   makes pnp_driver_register return the number of matches during the driver add.
   This should serve as a sample driver, along with the serial and parport_pc.

<ambx1@neo.rr.com>
   [PATCH] update PnP layer to driver model changes - 2.5.44 (4/4)
   
   Updates to the driver model changes.  This should fix a potential panic.

<davem@nuts.ninka.net>
   arch/sparc64/kernel/ioctl32.c: Handle HDIO_GETGEO_BIG{,_RAW}.

<davem@nuts.ninka.net>
   [IPV4]: When advmss of route is zero, report it as zero not 40.

<dipankar@in.ibm.com>
   include/asm-sparc64/system.h: Add read_barrier_depends defines.

<yoshfuji@linux-ipv6.org>
   [IPV6]: Add IPV6_V6ONLY socket option support.

<yoshfuji@linux-ipv6.org>
   [IPV6]: Add ICMP6 rate limit sysctl.

<jmorris@intercode.com.au>
   [CRYPTO]: Add initial crypto api subsystem.

<davem@nuts.ninka.net>
   [CRYPTO]: Fix compiler warnings and build failures.
   - Add missing includes of asm/byteorder.h
   - Fix sha1.c compiler crash with egcs-2.92.x
   - Use correct printf format for size_t types.

<hch@lst.de>
   [PATCH] remove scsi_merge.c
   
   In 2.5.44 it contains only two functions, that both have exactly
   one caller in other files and both are entirely unrelated to
   request merging..

<jmorris@intercode.com.au>
   [CRYPTO]: Add in 3des implementation.

<sam@mars.ravnborg.org>
   kbuild: Removed unused definitions
   o Deleted subdir-n and subdir- handling in Makefile.build
   o Deleted all host-progs related stuff in Makfile.modver
   o In Makefile.modver also deleted everything related to composite objects
   o Fixed an error when deleting a .ver file + .hdepend and then do make
     - filter-out in Makefile.modver was faulty

<Matt_Domsch@dell.com>
   EDD: moved attr_test to edd_attribute ->test(), comments

<agrover@groveronline.com>
   ACPI: implement support for cpufreq interface (Dominik Brodowski)

<agrover@groveronline.com>
   ACPI: Try #2 at fixing the PCI IRQ bridge swizzle (Kai Germaschewski)

<greg@kroah.com>
   driver core: add support for calling /sbin/hotplug when classes are found and removed from the system.

<davidm@tiger.hpl.hp.com>
   ia64: Sync with 2.5.44.

<davidm@tiger.hpl.hp.com>
   ia64: Clean up ia64 version of topology.h.

<jmorris@intercode.com.au>
   [CRYPTO]: Cleanups based upon feedback from Rusty and jgarzik
   - s/__u/u/
   - s/char/u8/
   - Fixed bug in cipher.c, page remapped was off by one block

<jmorris@intercode.com.au>
   [CRYPTO]: Use try_inc_mod_count and semaphore for alg list.

<kuznet@ms2.inr.ac.ru>
   [IPV4]: Kill ip_send, use dst_output instead.

<kuznet@ms2.inr.ac.ru>
   [NET]: Kill reroute from DST ops, unused.

<kuznet@ms2.inr.ac.ru>
   [IPV4]: Missing ip_rt_put in ip_route_newports.

<kuznet@ms2.inr.ac.ru>
   include/linux/ip.h: Define AH/ESP header layout.

<kuznet@ms2.inr.ac.ru>
   [NET]: Fix rtnetlink metric type, should be u32.

<kuznet@ms2.inr.ac.ru>
   [NET]: Cleanup DST metrics and abstract MSS/PMTU further.
   - Changed dst named metrics, to RTAX_MAX metrics array.
   - Add inline shorthands to access them
   - Add update_pmtu and get_mss to DST ops.
   - Add path component to DST, it is DST itself by default.

<kuznet@ms2.inr.ac.ru>
   [NET]: Add DST_NOXFRM and DST_NOPOLICY flags.

<kuznet@ms2.inr.ac.ru>
   net/ipv4/route.c: Create compare_keys to compare flowi identities.

<kuznet@ms2.inr.ac.ru>
   [IPV4]: Rework key route lookup interface slightly.

<hch@lst.de>
   [PATCH] sanitize ->bios_param prototype
   
   Currnetly the ->bios_param for host drivers exposes struct scsi_disk
   (aka Scsi_Disk or Disk) to each and every lowlevel driver, although
   this structure should be privated to the sd driver.
   
   All bios_param implementation do only use two fields:  .device and
   .capacity.  This patch passes down those two directly and gets
   rid of 99% of the sd.h inclusions (*).
   
   I've tried to not break any driver with this patch, but given the
   number of compiler errors in the current tree I might have missed
   one or two.
   
   (*) a bunch of drivers needed sd.h to get to scsi.h, I've fixed those.

<jmorris@intercode.com.au>
   [CRYPTO]: Use kmod to try to autoload modules.

<david-b@pacbell.net>
   [PATCH] rm "automagic resubmit" for usb interrupt transfers
   
   Here's that promised patch to remove the problematic "automagic
   resubmit" mode from the API for interrupt transfers.  It covers
   the core (including main HCDs) and a few essential drivers.
   
   All urbs now obey a simple rule:  submit them once, then wait for
   some completion callback.  Or unlink the urb if you're impatient,
   canceling the i/o request (which may have been partially completed).
   Bulk and interrupt transfers now behave the same at the API level,
   except that only interrupt transfers have bandwidth failure modes.
   
   
   Previously, interrupt transfers were different from bulk transfers
   in several ways that made limited sense.  The only thing that's
   supposed to be special is achieving service latency guarantees by
   using the reserved periodic bandwidth.
   
   But there were a lot of other restrictions, plus HCD-dependent
   behaviors/bugs.  Doing something like sending a 97 byte message
   to a device portably was a thing of pain, since the low-level
   "one packet per interval" rule was pushed up to drivers instead
   of being handled inside HCDs like it is for bulk, and sending a
   final "short" packet meant an urb unlink/relink.  (Fixing this
   required UHCI to use a queue of TDs, like EHCI and OHCI; fixed
   by 2.5.44, and a small change in this patch.  I'm not sure the
   unlink/relink issues have ever been really addressed.)  Neither
   1-msec transfer intervals nor USB 2.0 "high bandwidth" mode can
   reliably be serviced without a multi-buffered queue of interrupt
   transfers.  (Comes almost for free with TD queueing; as of 2.5.44
   all HCDs should do this.)
   
   And then there's "automagic resubmission", which made HCDs
   keep urbs during their complete() callbacks in a rather curious
   state ... half-owned by HCD, half-owned by device driver, not
   exactly linked but maybe not unlinked either.  Bug-prone, and
   hard to test.
   
   
   So that's all gone now!  This particular patch
   
     - updates the main hcds to use normal urb-completion logic
       for interrupt transfers, nothing special. (*)
   
     - makes usbcore (hub and root hub drivers) expect that, and
       removes an old kernel 2.3 "urb state confusion" workaround.
       (urb->dev is no longer nulled to distinguish unlinked urbs,
       since there's no longer a "half-in/half-out" state.)  also
       the relevent kerneldoc is updated.
   
     - enables the 'usbtest' support for interrupt transfers, in
       both queued and non-queued modes.  (but I haven't made time
       to test this ... the hcds "should" be fine since they use the
       same code now for bulk and interrupt, and bulk checked out.)
   
     - teaches hid-core, usbkbd, and usbmouse how to resubmit
       interrupt transfers explicitly. usb keyboards/mice work,
       but some less-common HID devices won't.
   
     - updated usb/net drivers (catc, kaweth, pegasus, rtl8150)
   
   But it doesn't update all device drivers that use interrupt
   transfers.  The failure mode for un-converted drivers will
   be that interrupts after the first one get lost, and the
   fix for those drivers will be simple (see what the drivers
   here do).
   
   
   (*) It doesn't touch non-{E,O,U}HCI HCDs, like the SL-811HS,
        since those changes will require hardware as well as
        some quality time with 'usbtest'.

<jejb@mulgrave.(none)>
   [PATCH scsi] use sector_div in scsicam.c
   
   Thanks to Patrick Mansfield for pointing this out.

<jgarzik@redhat.com>
   Fix tulip net driver multi-port board irq assignment

<hch@lst.de>
   [PATCH] back out bogus init.h change
   
   sorry, the last patch I sent you contained a bogus change
   for include/linux/init.h (to get around a local compile problem).
   
   This patch backs it out.

<willy@debian.org>
   Update lasi_82596 net driver to replace cli/sti with spinlock

<jejb@mulgrave.(none)>
   [SCSI] replace max_host_blocked initialisation lost in hosts rework

<jejb@mulgrave.(none)>
   [SCSI] fix memory etc. leak caused by double preparing requeued commands

<hch@lst.de>
   [PATCH] merge sd.h into sd.c and some cleanup
   
   Now that only sd.c includes sd.h it can be safely merged into it.
   Also get rid of typedef abuse in sd.c

<jgarzik@redhat.com>
   Add description of files in Documentation/BK-usage directory.
   (suggested by Peter Chubb)

<jgarzik@redhat.com>
   Small clarification in BK kernel howto

<bunk@fs.tum.de>
   kbuild: Fix soundmodem/Makefile
   
   gentbl is a program that generates some header files. The recent kbuild
   changes have the "interesting" effect that this now outputs the header
   files to the root directory of the kernel tree instead of
   drivers/net/hamradio/soundmodem ...
   
   The following patch fixes this breakage:

<komujun@nifty.com>
   Add PCI id to tulip net driver

<perex@suse.cz>
   ALSA update
     - USB audio/midi code dependency/detection fixes
       - added a quirk for the Roland UA100 hardware
     - SB16 - added rmidi_callback to avoid dependency for mpu401_uart module
     - HSDP - fixed dependency

<jmorris@intercode.com.au>
   [CRYPTO]: Bug fixes and cleanups.
   - try_inc_mod_count() already does what crypto_alg_get() was trying to do.
   (feedback from Andrew Morton).
   - Moved the BUG_ON() in crypto_unregister_alg() further up, no need to
   bother iterating over the list.
   - Always use kmap_atomic (feedback from Andrew Morton).  Implemented two
   atomic kmaps, KM_USER for user context and KM_SOFTIRQ for softirq
   context.
   - Fixup KM_CRYPTO_ placement so Dave does not go crazy.

<jmorris@intercode.com.au>
   [CRYPTO]: More bug fixes and cleanups.
   - added back USAGI copyright for HMAC (lost earlier during some
   refactoring).
   - bugfix: make sure tfm pointer is set to NULL during post allocation
   failure path in crypto_alloc_tfm()

<jmorris@intercode.com.au>
   [CRYPTO]: Add MD4.

<davem@nuts.ninka.net>
   [CRYPTO]: Forgotten file add in previous commit.

<fw@deneb.enyo.de>
   [TCP]: In TCP_LISTEN state, ignore SYNs with RST set.

<mashirle@us.ibm.com>
   [IPV6]: Fix bugs in PMTU handling.
   - crash due to redundant dst_release.
   - setting expire timeout on wrong route
   - wrong mtu is selected when device mtu changed while device is down
   - not working pmtu discovery timeout on cloned routes
   - more reasonable behaviour on administrative increase of device mtu
   - Ported to 2.5.44 by Alexey N. Kuznetsov.

<adam@yggdrasil.com>
   Use pci_[gs]et_drvdata instead of directly referenced ->driver_data
   in struct pci_dev.

<hch@lst.de>
   [PATCH] remove sd_disks global array from sd.c
   
   Add a pointer to struct scsi_disk instead.  This also obsoletes
   sd_dskname().

<tony.luck@intel.com>
   [PATCH] ia64: make kcore work
   
   /proc/kcore is what you need, but it is broken on ia64 (and
   has been since the dawn of time for access to region 5) because
   it assumes that all kernel virtual addresses are above PAGE+AF8-OFFSET.
   This isn't true on ia64, VMALLOC+AF8-START is smaller than PAGE+AF8-OFFSET.
   
   Attached is a patch (applies to 2.4.19 and to 2.5.39) that fixes the
   assumption.  After applying you'll be able to use:
   
           +ACM- gdb vmlinux /proc/kcore
   
   and happily ask gdb to examine addresses in region 5.

<hch@lst.de>
   [PATCH] fix sector_div use in scsicam.c
   
   sector_div has the same slightly strange calling convention do_div has:
   it's return value is the modulo of the two operators, the division
   result is in the first parameter.  Also optimize one of the expensive
   64bit division away (okay, okay - it's not exactly an fast-path :))

<k-suganuma@mvj.biglobe.ne.jp>
   [PATCH] ia64: allocate all per-CPU pages at BSP-initialization time
   
   I found that functions in timer.c and rcupdate.c are calling
   > tasklet_init() for all CPUs before APs start running.  For this to work,
   the per-CPU pages must be allocated at BSP-initialization time.  The patch
   below does that.

<davidm@tiger.hpl.hp.com>
   ia64: Make kernel profiling work again (patch by Peter Chubb).

<sam@mars.ravnborg.org>
   kbuild: scrits/Makefile.lib
   Moved generic definitions to Makefile.lib,
   This allows us to share all generic definitions between the different Makefiles.
   Performance impact has been measured to less than 1%

<sam@mars.ravnborg.org>
   kbuild: Use Makefile.lib for modversion and modules_install
   Most definitions required were present in Makefile.lib, so delete the
   definitions and include Makefile.lib.

<sam@mars.ravnborg.org>
   kbuild: Got rid of $(call descend ...) in top-level Makefile
   Replaced by the more readable $(Q)$(MAKE) construct

<sam@mars.ravnborg.org>
   kbuild: Added Descend to top-level Makefile again
   It is used by arch specific Makefiles

<jejb@mulgrave.(none)>
   [SCSI] documentation tidy ups and an interface fix in mlqueue_insert

<hch@lst.de>
   [PATCH] Re: [PATCH] fix sector_div use in scsicam.c
   
   On Mon, Oct 28, 2002 at 01:50:53AM +0100, Andries Brouwer wrote:
   > On Sun, Oct 27, 2002 at 06:05:07PM -0600, James Bottomley wrote:
   >
   > > If the return type will be ignored by most applications, I don't see
   > > what the problem is.
   >
   > There is no problem. My longish reaction was mostly because you used
   > "future proofing", that gave the impression that you did not know
   > what this is about.
   >
   > > (like an obviously wrong truncation)
   >
   > No, the code I wrote was optimal.
   > If you have 16 bits and the value is 70000, I prefer returning
   > 65535 over 4464.
   
   Why didn't you write is as patch?  James, this in Andries code
   in patch from, it get's rid of the ugly sector_div so it should
   be in if not just because of that.

<davidm@tiger.hpl.hp.com>
   ia64: Minor Makefile cleanup.  Mention CONFIG_NUMA option in defconfig.

<davidm@tiger.hpl.hp.com>
   ia64: Create dummy offsets.h if it doesn't exist yet.  Patch by Keith Owens.

<davidm@tiger.hpl.hp.com>
   ia64: Fix Keith's Makefile fix so it actually works.

<jmorris@intercode.com.au>
   [CRYPTO]: Algorithm lookup API change plus bug fixes.
   - API change: implemented simplest version of algorithm lookup
   by name (feedback from Rusty Russell and Herbert Valerio Riedel).
   - Now need to add the following line to to /etc/modules.conf for
   dynamic module loading:
       alias des3_ede des

<jmorris@intercode.com.au>
   [NET]: Backport netlink_set_nonroot changes by Andi Kleen.

<jmorris@intercode.com.au>
   [CRYPTO]: Run tcrypt through lindent, plus doc update.

<yoshfuji@linux-ipv6.org>
   [IPV6]: Split ndisc_rcv into helper functions.

<yoshfuji@linux-ipv6.org>
   [IPV6]: Avoid garbage sin6_scope_id for MSG_ERRQUEUE messages.

<yoshfuji@linux-ipv6.org>
   [IPV6]: Fix for refined IPV6 address validation timer.

<niv@us.ibm.com>
   [IPV{4,6}]: Clean up SNMP counter bumping.

<mhopf@innominate.com>
   [EBTABLES]: Add tcp/udp port checking.

<bart.de.schuymer@pandora.be>
   [EBTABLES]: Add byte counter support, plus header cleanup.

<bart.de.schuymer@pandora.be>
   [BRIDGE]: bridge-nf, map IPv4 hooks onto bridge hooks.

<bart.de.schuymer@pandora.be>
   [BRIDGE]: Add ipt_physdev netfilter module.

<rob@osinvestor.com>
   [SPARC32]: Fix build in several spots.
   - Protect subsys_initcall in pcic.c with CONFIG_PCI
   - MINOR-->minor in sbus drivers
   - Fix sbus fb build for bwtwo/leo/tcx.

<davem@nuts.ninka.net>
   [ip-sysctl.txt]: Clarify conf/*/ behavior.

<hch@lst.de>
   [PATCH] misc cleanups for sr
   
   bring it back in line with sd:
   * get rid of typedefs where possible
   * tab-align all credits entries
   * line-wrap after 80 characters
   * use C99-initializers

<axboe@suse.de>
   [PATCH] scsi patches
   
   Hi James,
   
   Here are the changes that are good outside the other changes :-)
   
   scsi_lib:
      o ->errors is used as the scsi status byte for REQ_BLOCK_PC
      o ->data_len is the residual byte count
      o call __scsi_end_request even for !good_sectors if status is
        good. This legitimately can happen for REQ_BLOCK_PC commands
        sent from a user space program, if it gets the command setup
        wrong (or weird). Right now this will hang that queue.
   
   scsi_merge:
      o set SCpnt->request_bufflen to ->data_len, this is the
        authoritative io byte count for REQ_BLOCK_PC. Here we deal in
        bytes and not sectors.
   
   sr + sd:
      o Set transfersize and underlow correctly for REQ_BLOCK_PC
   
   sr_ioctl
      o We want to return -EIO for command failure, not EINVAL. That
         is pretty stupid :-)
   
   
   ===== drivers/scsi/scsi_lib.c 1.35 vs edited =====

<hch@lst.de>
   [PATCH] remove unused variable in scsi.c
   

<jejb@mulgrave.(none)>
   Merge by hand: recover axboe scsi_init_io() changes

<hch@lst.de>
   [PATCH] get rid of global arrays in sd
   
   Okay, this is the final version of the sd patch to remove sd_dsk_arr.
   Instead of keeping a big global array we allocate one structure for
   each disk dynamically in sd_attach.  We can use the higher level
   private data to access it almost everywhere, for the few other
   places we keep a linked list of all disks (these are walked only
   in slow-patheß).
   
   This patch also allows to get rid of the sd_init midlayer method and
   the CONFIG_SD_EXTRA_DEVS option - sd has no more static limit to
   the number of disk except of the number of assigned majors.

<manfred@colorfullife.com>
   [PATCH] use correct wakeups in fs/pipe.c
   
   wake_up_interruptible() and _sync() calls are reversed in pipe_read().
   
   The attached patches only calls _sync if a schedule() call follows.

<axboe@suse.de>
   [PATCH] make deadline_merge prefetch next entry
   
   Make deadline_merge() prefetch the next entry on the list.

<axboe@suse.de>
   [PATCH] end_io bouncing
   
   o Split blk_queue_bounce() into a slow and fast path. The fast path is
     inlined, only if we actually need to check the bio for possible
     bounces (and bounce) do we enter __blk_queue_bounce() slow path.
   
   o Fix a nasty bug that could cause corruption for file systems not
     using PAGE_CACHE_SIZE blok size! We were not correctly setting the
     'to' bv_offset correctly.
   
   o Add BIO_BOUNCE flag. Later patches will use this for debug checking.

<axboe@suse.de>
   [PATCH] sr_ioctl must return -EIO, not -EINVAL
   
   We must return -EIO if the command fails (the 5/20/00 sense check is
   just helping return more sane info), not -EINVAL. Getting -EINVAL return
   on an ioctl if a command fails is less than helpful for applications...

<jmorris@intercode.com.au>
   [CRYPTO]: Assert that interfaces are called on correct cipher type.

<axboe@suse.de>
   [PATCH] elv_add_request cleanups
   
   Request insertion in the current tree is a mess. We have all sorts of
   variants of *elv_add_request*, and it's not at all clear who does what
   and with what locks (or not). This patch cleans it up to be:
   
   o __elv_add_request(queue, request, at_end, plug)
         Core function, requires queue lock to be held
   
   o elv_add_request(queue, request, at_end, plug)
         Like __elv_add_request(), but grabs queue lock
   
   o __elv_add_request_pos(queue, request, position)
         Insert request at a given location, lock must be held

<axboe@suse.de>
   [PATCH] make blk_dump_rq_flags a bit more useful
   
   Add some missing bits, and make it generally a bit more useful outside
   of REQ_PC requests.

<axboe@suse.de>
   [PATCH] make queue prep_rq_fn() a bit more powerful
   
   Extend q->prep_rq_fn() to return one of three values:
   
    o BLKPREP_OK: request is good, return it
    o BLKPREP_KILL: request is bad, end it completely
    o BLKPREP_DEFER: request is good, but we can't take it now
   
   We maintain compatability with old prep functions (if any, outside of
   ide-cd). This change is needed or SCSI to use prep function for command
   init, if sg table allocation fails we can just defer the request.

<axboe@suse.de>
   [PATCH] queue dma alignment
   
   Make it possible for a device to specify the dma alignment restrictions
   it has. This will be used by future infrastructure when mapping in user
   pages, and allows us to dma to on ATAPI even though user address and
   length is not sector size aligned.

<axboe@suse.de>
   [PATCH] queue last_merge hint cleanup
   
   Cleanup the last_merge logic. There are two reasons for clearing
   last_merge when we are dealing with integrity, and these are:
   
   o Clear when handing the request to the driver, so we don't merge on
     a started request.
   
   o Clear when a request is taken off the list. This cannot be done from
     the driver (above case would already have been hit), but it can
     happen
     when we merge two requests.
   
   This makes it a lot nicer, it was always peculiar how we cleared in
   put_request.

<axboe@suse.de>
   [PATCH] request references and list deletion/insertion checking
   
   o Always use list_del_init() on request queuelist, this allows us to
     sanity check the integrity of the request on insertion and removal.
     So we can complain loudly instead of silently corrupting memory.
   
   o Add references to requests. This is cheap, since we dont have to use
     an atomic variable for it (all puts are inside queue lock). We've had
     a bug in IDE for years where we want to inspect request state after
     io completion, but this is not possible to do race free right now.
     REQ_BLOCK_PC and sgio will need this too, for checking io residual
     etc. This is not just a theoretical race, I've seen it happen.

<axboe@suse.de>
   [PATCH] add end_request helpers that deal in bytes, not sectors
   
   This adds an end_that_request_chunk() helper, that puts the core
   functionality in __end_that_request_first().  This one deals in bytes.
   end_that_request_first() does the 512 multiply, and then
   end_that_request_chunk() can just use it directly.
   
   This enables ide-cd to do proper dma in sizes that are not sector
   aligned.  Some of the most important CD functions (ripping audio dma,
   burning audio cds, burning raw cds) _require_ this or we will be in pio.
   That stinks.  We simply cannot use pio for these, not on writers much
   that are fast!

<axboe@suse.de>
   [PATCH] various ide fixes and cleanups
   
   o Remove some ide compile warnings, old suspend stuff is not used at
     all, for instance.
   
   o If elv_next_request() returns NULL, remember to clear hwgroup->busy
     if we don't have pending commands. This is important. If a queue
     prep function kills a request, we would before quit with hwgroup busy.
     This essentially froze the hwgroup.
   
   o Don't do own list manipulation in ide_do_drive_cmd(). Use the new and
     great elv_add_request() functions
   
   o Fix race on inspection of request after io completion by bumping the
     request reference count prior to ioscheduler insertion.
   
   o Make ide-floppy understand a REQ_BLOCK_PC eject. More may follow, it's
     ATAPI after all.
   
   o Clear hw before passing to ide_init_hwif_ports(). Fixes oops on
     non-pci controllers.

<axboe@suse.de>
   [PATCH] queue merge_bvec_fn() changes
   
   Make merge_bvec_fn() return number of bytes we can accept at a given
   offset, instead of a bool.

<axboe@suse.de>
   [PATCH] make bio->bi_end_io() optional
   
   Sometimes we don't even need a bio->bi_end_io, so make it optional. This
   also encourages users to _use_ bio_endio()! I like that, since it means
   they don't have to remember to decrement bi_size themselves.
   
   Also clear bi_private in bio_init(), and switch to subsys_initcall().

<axboe@suse.de>
   [PATCH] bio_map_user() infrastructure
   
   This adds bio_map_user and bio_unmap_user to aid drivers in mapping user
   space memory into a bio suitable for block io.

<axboe@suse.de>
   [PATCH] misc scsi bits
   
   Various small bits that make SCSI work well with REQ_BLOCK_PC.
   
   o Use ->errors as the scsi status byte for REQ_BLOCK_PC
   
   o Always call end_io completion, even if 0 sectors, as long as the
     status is good. Otherwise we risk hanging this device if a
     REQ_BLOCK_PC user command didn't specify a transfer size for a command
     that did.
   
   o Remove bouncing checks in scsi_merge for REQ_BLOCK_PC, bio_map_user()
     correctly bounces pages now.
   
   o Decrement req->data_len, it's our residual data count.
   
   o sr/sd: set right transfer and underflow size.

<axboe@suse.de>
   [PATCH] small block bits
   
   o  Add sense_len to request, so scsi_ioctl knows how much sense data
      was transferred.
   
   o Add sg_timeout and sg_reserved to queue, we can't have these global...
   
   o And finally kill QUEUE_NR_REQUESTS, it hasn't been used in a while.

<axboe@suse.de>
   [PATCH] finally, sgio updates
   
   Lots of stuff here... Basically we are using all that flashy
   infrastructure I sent you to allow DMA for ATAPI at a 4-byte
   granularity. So we can burns audio cds with zero-copy dma, and all that
   cool stuff.
   
   o Use bio_map_user(), fallback to kmalloc approach if it fails
   
   o Use per-queue timeouts
   
   o Check for right sg version, we can add old type support too later.
   
   o Support SCSI_IOCTL_SEND_COMMAND old crap
   
   o Check for size of command
   
   o Make cdrom eject work
   
   Etc...

<axboe@suse.de>
   [PATCH] ide-cd updates
   
   Updates to ide-cd to be able to dma to any address (almost). The new
   work-horse is cdrom_newpc_intr(). IMHO, it's much cleaner than the old
   interrupt handlers, we can basically kill all three of them in the
   future and just use this one. You had a lot of bugs in there :-)
   
   If you want in-depth let me know, but I'm pretty beat right now and too
   lazy to do the write up. Lots of cleanups, lots of fixes. pre-transform
   is a prep function now.

<David_Jeffery@adaptec.com>
   [PATCH] ips queue depths 2.5.44
   
   After way to long of a delay, here's a patch for the queue depths
   in the ips driver.  And this patch also shuts up the compiler
   warnings.  

<axboe@suse.de>
   [PATCH] missed elv_add_request() update
   
   I missed one update of elv_add_request() in blk_insert_request(),
   probably because of one too many hand edits...

<kai@tp1.ruhr-uni-bochum.de>
   kbuild: Allow UTS_MACHINE to be different from $(ARCH)
   
   parisc builds parisc / parisc64 from arch/parisc, but wants different
   strings for uname -m, which it can now provide by overwriting
   UTS_MACHINE in arch/parisc/Makefile.
   
   (Matthew Wilcox)

<jejb@mulgrave.(none)>
   Correct sd.c compile by adding } lost in merge

<kai@tp1.ruhr-uni-bochum.de>
   kbuild: Fix a "make -j<N>" warning

<jgarzik@redhat.com>
   Fix IO API breakage: Make inl() return unsigned int on x86 again.

<greg@kroah.com>
   USB: fix the usb serial drivers due to interrupt urb no automatic resubmission change to the usb core.

<greg@kroah.com>
   USB: fix the usb input drivers due to interrupt urb no automatic resubmission change to the usb core.

<greg@kroah.com>
   USB: fix the usb class drivers due to interrupt urb no automatic resubmission change to the usb core

<greg@kroah.com>
   fix the usb image drivers due to interrupt urb no automatic resubmission change to the usb core.

<greg@kroah.com>
   USB: fix the usb media drivers due to interrupt urb no automatic resubmission change to the usb core.

<greg@kroah.com>
   USB: fix the usb misc drivers due to interrupt urb no automatic resubmission change to the usb core.

<greg@kroah.com>
   USB: fix the usb net drivers due to interrupt urb no automatic resubmission change to the usb core.

<greg@kroah.com>
   fix the usb storage drivers due to interrupt urb no automatic resubmission change to the usb core.

<greg@kroah.com>
   USB: fix the usb drivers outside the drivers/usb tree due to interrupt urb no automatic resubmission change to the usb core.

<greg@kroah.com>
   [PATCH] USB: fix GFP flags for usb audio driver.

<mdharm-usb@one-eyed-alien.net>
   [PATCH] USB storage: fix error code
   
   This patch fixes a return code that was mangled during a hand-merging of
   some code changes.

<mdharm-usb@one-eyed-alien.net>
   [PATCH] USB storage: use scatter-gather core primitives
   
   This patch switches the usb-storage driver to using the new USB core
   scatter-gather primitives.  This _should_ create a significant performance
   gain.

<david-b@pacbell.net>
   [PATCH] Zaurus support for usbnet
   
   > This is a patch against 2.4.20-pre11, because i can't use the 2.5.44 (kernel
   > freeze a boot time). The second patch is a incremental patch for the latest
   > 2.5 kernel.
   
   Cool!  Greg, 2.5 version (attached) looks fine to me.  If it
   applies against your BK repository, please merge it.
   
   The 2.4.20 version looks to be using an older version of the
   usbnet driver, so please don't merge that one.  I'll resync in
   a while.
   
   By the way, I found out that it's not "the www.handhelds.org"
   kernel but the standard ARM kernels (like 2.4.29-rmk2) that
   have the "usb-eth" driver for the SA-1100.  They're going to
   need similar changes (switch endpoints for pxa250 versions).
   
   Time to actually look at the endpoint descriptors, maybe ... :)

<david-b@pacbell.net>
   [PATCH] create <linux/usb_ch9.h>
   
   This patch addresses some of the minor problems with programming
   USB with "usbfs", or coming up with any kind of usb slave/target
   device driver API (including eventually USB-OTG).
   
   It does so by creating a new <linux/usb_ch9.h> file that defines
   common constants and descriptor structures that are now found in
   <linux/usb.h> but which are (a) not exported to userspace, making
   programming with "usbfs" awkward, and (b) needlessly mixed up with
   the usb master/host-only side APIs, which a slave/target-only side
   API will not want to require.  These definitions are just moved out
   of <linux/usb.h>, so they can be accessed safely.
   
   
   If folk agree that this should be done, instead of different headers
   and declarations for master/host, slave/target, and dual-mode OTG
   (which was the road the Lineo APIs, rejected by Linus, started down),
   I think this should be merged (compiles but untested) as a start.
   
   Then configuration, interface, and device descriptors could get split
   out too.  That'd involve some code changes, since those descriptor
   structures have been augmented (or maybe "sullied"?) with data that's
   specific to the Linux host-side driver implementation.  So they're
   currently unsuitable to be used by user-space or slave/target drivers.

<alan@lxorguk.ukuu.org.uk>
   [PATCH] MCA bus basic cleanups

<alan@lxorguk.ukuu.org.uk>
   [PATCH] small scsi compile fixes
   
   This is stuff like next: pointers that are not present rather than
   anything bigger

<alan@lxorguk.ukuu.org.uk>
   [PATCH] move 53c7,8xx to pci_ not pcibios

<alan@lxorguk.ukuu.org.uk>
   [PATCH] ressurect the aha1740 driver

<alan@lxorguk.ukuu.org.uk>
   [PATCH] move advansys from pcibios to pci_

<alan@lxorguk.ukuu.org.uk>
   [PATCH] fix aic7xxx on gcc 3.2 warning spew

<alan@lxorguk.ukuu.org.uk>
   [PATCH] initial eata driver updates

<alan@lxorguk.ukuu.org.uk>
   [PATCH] fix all the IRQ breakage on the in2000

<alan@lxorguk.ukuu.org.uk>
   [PATCH] inia100 just has to lose a next: NULL

<alan@lxorguk.ukuu.org.uk>
   [PATCH] ncr53c8xxx needs updating for scsi_hn_get

<alan@lxorguk.ukuu.org.uk>
   [PATCH] resurrect the NCR53c406a

<alan@lxorguk.ukuu.org.uk>
   [PATCH] nsp32 needs updating for scsi_hn_get

<alan@lxorguk.ukuu.org.uk>
   [PATCH] fix scsi irq errors on seagate

<alan@lxorguk.ukuu.org.uk>
   [PATCH] nsp_cs update from maintainer

<alan@lxorguk.ukuu.org.uk>
   [PATCH] finish updating sym53c416

<alan@lxorguk.ukuu.org.uk>
   [PATCH] u14-34f update from maintainer

<alan@lxorguk.ukuu.org.uk>
   [PATCH] next NCR5380 updates
   
   Fix more locking, do a major rethink on the bh handling (now workqueue)

<alan@lxorguk.ukuu.org.uk>
   [PATCH] SCSI configure help

<alan@lxorguk.ukuu.org.uk>
   [PATCH] correct notes on scsi generic release

<alan@lxorguk.ukuu.org.uk>
   [PATCH] update qlogicfas driver

<alan@lxorguk.ukuu.org.uk>
   [PATCH] get the right thing out of se401 on gcc 3.2

<alan@lxorguk.ukuu.org.uk>
   [PATCH] merge befs file system from 2.4 (no core changes)

<alan@lxorguk.ukuu.org.uk>
   [PATCH] fix umem driver to use pci_get/set..

<alan@lxorguk.ukuu.org.uk>
   [PATCH] xd_open is gone

<alan@lxorguk.ukuu.org.uk>
   [PATCH] make gscd compile again

<alan@lxorguk.ukuu.org.uk>
   [PATCH] kill tqueue in dz

<alan@lxorguk.ukuu.org.uk>
   [PATCH] make bluetooth compile again

<alan@lxorguk.ukuu.org.uk>
   [PATCH] update i810 tco to C99

<alan@lxorguk.ukuu.org.uk>
   [PATCH] move ip2 to workqueues

<alan@lxorguk.ukuu.org.uk>
   [PATCH] kill tqueue in specialix

<alan@lxorguk.ukuu.org.uk>
   [PATCH] stallion workqueue

<alan@lxorguk.ukuu.org.uk>
   [PATCH] move stallion to workqueue

<alan@lxorguk.ukuu.org.uk>
   [PATCH] update the qic02 tape driver to 2.5.44

<alan@lxorguk.ukuu.org.uk>
   [PATCH] remove tqueue.h from vme_sc

<alan@lxorguk.ukuu.org.uk>
   [PATCH] move hpt366 to pci_get

<alan@lxorguk.ukuu.org.uk>
   [PATCH] move siimage to pci_get/set

<alan@lxorguk.ukuu.org.uk>
   [PATCH] fix IDE compile with SIS5513

<alan@lxorguk.ukuu.org.uk>
   [PATCH] IDE floppy must be marked removable

<alan@lxorguk.ukuu.org.uk>
   [PATCH] ARM ide driver updates

<alan@lxorguk.ukuu.org.uk>
   [PATCH] remove dead ide suspend code

<alan@lxorguk.ukuu.org.uk>
   [PATCH] make the firewire layer build again

<alan@lxorguk.ukuu.org.uk>
   [PATCH] fix gcc warnings in eicon

<alan@lxorguk.ukuu.org.uk>
   [PATCH] kill tqueue in macintosh adb

<alan@lxorguk.ukuu.org.uk>
   [PATCH] update adv7175 to new i2c bus code

<alan@lxorguk.ukuu.org.uk>
   [PATCH] cpia driver update from maintainer

<alan@lxorguk.ukuu.org.uk>
   [PATCH] other minor video updates

<alan@lxorguk.ukuu.org.uk>
   [PATCH] mpt fusion updates for scsi changes

<alan@lxorguk.ukuu.org.uk>
   [PATCH] bring i2o_block/i2o_scsi back to life

<alan@lxorguk.ukuu.org.uk>
   [PATCH] ressurrect the 3c515 driver

<alan@lxorguk.ukuu.org.uk>
   [PATCH] bring the cops appletalk driver back

<alan@lxorguk.ukuu.org.uk>
   [PATCH] de620 resurrection

<alan@lxorguk.ukuu.org.uk>
   [PATCH] depca fix from maintainer

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

<alan@lxorguk.ukuu.org.uk>
   [PATCH] fix hamradio netdriver builds

<alan@lxorguk.ukuu.org.uk>
   [PATCH] resurrect the 3c589_cs pcmcia

<alan@lxorguk.ukuu.org.uk>
   [PATCH] fix up the smc9194 - the extra locks arent needed

<alan@lxorguk.ukuu.org.uk>
   [PATCH] znet can go from space.c now

<alan@lxorguk.ukuu.org.uk>
   [PATCH] znet ethernet, back from the dead
   
   This last actually worked in 2.2, but Marc has a laptop with one and
   wanted it working again...

<alan@lxorguk.ukuu.org.uk>
   [PATCH] update APM to match 2.4 features

<alan@lxorguk.ukuu.org.uk>
   [PATCH] core voyager arch/i386/machine support

<alan@lxorguk.ukuu.org.uk>
   [PATCH] Documentation for befs

<alan@lxorguk.ukuu.org.uk>
   [PATCH] remove acorn mfm tqueue.h

<alan@lxorguk.ukuu.org.uk>
   [PATCH] documentation for voyager

<alan@lxorguk.ukuu.org.uk>
   [PATCH] fix atm firestream warnings with new gcc

<alan@lxorguk.ukuu.org.uk>
   [PATCH] drag ATM into the 21st century , part 1

<alan@lxorguk.ukuu.org.uk>
   [PATCH] Device Mapper, with updates
   
   This is the device mapper with Joe's updates applied and in -ac for a bit

<alan@lxorguk.ukuu.org.uk>
   [PATCH] Digital TV framework
   
   DVB is very different in its need to analogue video. This merges the
   cleaned up version of the DVB framework from Convergence, which has been
   around for a couple of years.

<alan@lxorguk.ukuu.org.uk>
   [PATCH] update wan drivers to new saner ioctls

<alan@lxorguk.ukuu.org.uk>
   [PATCH] IDE - Andre can't count 8)

<alan@lxorguk.ukuu.org.uk>
   [PATCH] mempool helpers used by device mapper

<alan@lxorguk.ukuu.org.uk>
   [PATCH] updated ver_linux

<alan@lxorguk.ukuu.org.uk>
   [PATCH] DVB drivers AV7110 (Fujitsu, Nova etc)

<akpm@digeo.com>
   [PATCH] fix failure to write ext2 indirects under load
   
   This patch fixes a filesystem corrupting bug, present in 2.5.41 through
   2.5.44.  It can cause ext2 indirect blocks to not be written out.  A
   fsck will fix it up.
   
   Under heavy memory pressure a PF_MEMALLOC task attemtps to write out a
   blockdev page whose buffers are already under writeback and which were
   dirtied while under writeback.
   
   The writepage call returns -EAGAIN but because the caller is
   PF_MEMALLOC, the page was not being marked dirty again.
   
   The page sits on mapping->clean_pages for ever and it not written out.
   
   The fix is to mark that page dirty again for all callers, regardless of
   PF_MEMALLOC state.

<akpm@digeo.com>
   [PATCH] RCU idle detection fix
   
   Patch from Dipankar Sarma <dipankar@in.ibm.com>
   
   There is a check in RCU for idle CPUs which signifies quiescent state
   (and hence no reference to RCU protected data) which was broken when
   interrupt counters were changed to use thread_info->preempt_count.
   
   Martin's 32 CPU machine with many idle CPUs was not completing any RCU
   grace period because RCU was forever waiting for idle CPUs to context
   switch.  Had the idle check worked, this would not have happened.  With
   no RCU happening, the dentries were getting "freed" (dentry stats
   showing that) but not getting returned to slab.  This would not show up
   in systems that are generally busy as context switches then would
   happen in all CPUs and the per-CPU quiescent state counter would get
   incremented during context switch.

<akpm@digeo.com>
   [PATCH] sparc64 read_barrier_depends fix
   
   From Dipankar
   
   I missed sparc64 when I broke up read_barrier_depends in -mm and sent
   to Linus.  Please apply this to your tree until Linus is back and I can
   fix it.

<torvalds@penguin.transmeta.com>
   ia-64 kcore changes broke i386. Guess who gets the shaft?

<alan@lxorguk.ukuu.org.uk>
   Remove dead code in axnet_cs net driver.
   del_timer_sync and printk fixes in fmvj18x_cs net driver.

<jejb@mulgrave.(none)>
   patch up scsi mismerge

<jmorris@intercode.com.au>
   [CRYPTO]: Cleanups and more consistency checks.
   - Removed local_bh_disable() from kmap wrapper, not needed now with
   two atomic kmaps.
   - Nuked atomic flag, use in_softirq() instead.
   - Converted crypto_kmap() and crypto_yield() to check in_softirq().
   - Check CRYPTO_MAX_CIPHER_BLOCK_SIZE during alg init.
   - Try to initialize as much at compile time as possible
   (feedback from Christoph Hellwig).
   - Clean up list handling a bit (feedback from Christoph Hellwig).

<viro@math.psu.edu>
   [PATCH] A couple of compile fixes

<viro@math.psu.edu>
   [PATCH] rd
   
      * switched to private queues
      * set ->queue
      * cleaned up

<viro@math.psu.edu>
   [PATCH] z2ram
   
      * switched to private queues
      * set ->queue
      * cleaned up

<viro@math.psu.edu>
   [PATCH] xpram
   
      * switched to private queues
      * set ->queue and ->private_data
      * switched to use of ->bd_disk

<viro@math.psu.edu>
   [PATCH] ps2esdi
   
      * switched to private queues
      * set ->queue and ->private_data
      * switched to use of ->bd_disk and ->rq_disk
      * somewhat cleaned up

<viro@math.psu.edu>
   [PATCH] nftl
   
      * switched to private queues
      * set ->queue and ->private_data
      * switched to use of ->bd_disk and ->rq_disk
      * fixed the problem with request_module() from open()
      * cleaned up

<viro@math.psu.edu>
   [PATCH] mtdblock (based on a patch from rmk)
   
      * switched to private queues
      * set ->queue

<viro@math.psu.edu>
   [PATCH] hd.c
   
      * switched to private queues
      * set ->queue and ->private_data
      * switched to use of ->bd_disk and ->rq_disk
      * folded recalibrate[] and special_op[] into hd_info[]
      * switched to passing pointers instead of indices
      * cleaned up

<viro@math.psu.edu>
   [PATCH] xd.c
   
      * switched to private queues
      * set ->queue and ->private_data
      * switched to use of ->bd_disk and ->rq_disk
      * cleaned up

<viro@math.psu.edu>
   [PATCH] ftl.c fix
   
      * killed remaining CURRENT

<viro@math.psu.edu>
   [PATCH] dasd.c
   
      * switched to private queues
      * set ->queue

<viro@math.psu.edu>
   [PATCH] swim3.c cleanup
   
      * killed uses of CURRENT and QUEUE

<viro@math.psu.edu>
   [PATCH] mtdblock_ro fixes (based on patch from rmk)
   
      * compile fixes
      * switched to private queue
      * set ->queue

<viro@math.psu.edu>
   [PATCH] blk_dev[] is gone
   
      * remove blk_dev[]
      * removed BLK_DEFAULT_QUEUE
      * moved definition of CURRENT into drivers that used it
      * removed definition of QUEUE from headers

<viro@math.psu.edu>
   [PATCH] removed a bunch of gratuitous ->rq_dev uses

<viro@math.psu.edu>
   [PATCH] randomness made per-disk
   
      * per-major array eliminated, every disk is a separate source of
   randomness

<viro@math.psu.edu>
   [PATCH] r/o state moved to gendisks

<viro@math.psu.edu>
   [PATCH] presto cache keyed by superblock instead of kdev_t

<viro@math.psu.edu>
   [PATCH] removed a bunch of gratuitous kdev_t uses

<viro@math.psu.edu>
   [PATCH] saner initialization order in IDE (gendisks allocated slightly earlier)
   
      * we move allocation of gendisks in ide-probe to the moment when
   queues are set up, so everything that wants to feed requests in one of
   IDE queues can safely set ->rq_disk

<viro@math.psu.edu>
   [PATCH] block_device_operations always picked from gendisk
   
      * do_open() cleaned up
      * we always pick block_device_operations from gendisk->fops now
      * register_blkdev() just stores the name of driver, nothing more
      * ->bd_op and ->bd_queue removed - we have that in gendisk
      * get_blkfops() is gone

<viro@math.psu.edu>
   [PATCH] dasd fixes

<viro@math.psu.edu>
   [PATCH] IO counters - per-partition part
   
      This chunk and the next one basically do equivalent of sard in the
   right way - counters are exported per-disk in driverfs, as attributes of
   disk or partition nodes.

<viro@math.psu.edu>
   [PATCH] IO counters - per-disk part

<viro@math.psu.edu>
   [PATCH] ide-taskfile ioctls prototype cleanup
   
      * ide_..._ioctl() never use two of five arguments - inode and file.
   Arguments removed.

<viro@math.psu.edu>
   [PATCH] ide-{disk,cd,...} got separate block_device_operations
   
      * first application of the fact that block device methods are
   per-disk and not per-major - IDE subdrivers got block_device_operations
   of their own, redirects in ide.c are gone, so is a bunch of methods of
   IDE subdrivers.

<hch@lst.de>
   [PATCH] remove LVM1 leftovers from the tree
   
   Now that the devicemapper hit the tree there's no more reason
   to keep the uncompiling LVM1 code around and it's various hacks
   to other files around, this patch removes it.

<davem@nuts.ninka.net>
   [PNP]: Fix build when CONFIG_PNP is not set.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Move HiSax to spinlocks instead of cli()
   
   Patches by Frank Davis.

<davem@nuts.ninka.net>
   [SPARC64]: Only HDIO_GETGEO_BIG_RAW exists in 2.5

<davem@nuts.ninka.net>
   [SPARC64]: Remove silly rule to remove -pg from cflags.

<davem@nuts.ninka.net>
   [SPARC64]: Update defconfig.

<jgarzik@redhat.com>
   Update my email address.

<rddunlap@osdl.org>
   Convert /proc/swaps to use seq_file API

<davem@nuts.ninka.net>
   [SPARC]: Bring ESP driver in line with modern EH handling.

<davem@nuts.ninka.net>
   [SPARC]: Bring QlogicPTI driver in line with modern EH handling.

<davem@nuts.ninka.net>
   [FC4]: Kill all references to fcp_old_abort.

<davem@nuts.ninka.net>
   [ESP]: Fix abort return values.

<jmorris@intercode.com.au>
   [CRYPTO]: Update to IV get/set interface.

<kuznet@ms2.inr.ac.ru>
   [IPSEC]: Add transform engine and AH implementation.

<davem@nuts.ninka.net>
   [CRYPTO]: kunmap does not return a value.

<perex@suse.cz>
   ALSA update (0.9.0rc5)
     - ICE1712 - fixed Midiman M-audio Delta1010LT code
     - fixed typos in comments (es1938, intel8x0)
     - fixed quirks for Edirol UA-20 and UA-700 (USB driver)
   

<davem@nuts.ninka.net>
   [CRYPTO]: Build/warning fixups.

<davem@nuts.ninka.net>
   [IPSEC]: Remove debugging code.

<jmorris@intercode.com.au>
   [CRYPTO]: Add some documentation.

<davem@nuts.ninka.net>
   [CRYPTO]: Clean up header file usage.

<davem@nuts.ninka.net>
   include/linux/crypto.h: Include linux/string.h

<acme@conectiva.com.br>
   ipv4: move proc stuff from net/ipv4/af_inet.c to net/ipv4/proc.c
   
   Also make compilation of this misc proc stuff not compile/link if
   CONFIG_PROC_FS is not set. Now to seq_file this routines.

<akpm@digeo.com>
   [PATCH] fid dmi compile warning
   
   Local variable `data' is only used for debugging.

<akpm@digeo.com>
   [PATCH] blkdev_get_block fix
   
   Patch from Hugh Dickins <hugh@veritas.com>
   
   Fix premature -EIO from blkdev_get_block: bdget initialize
   bd_block_size consistent with bd_inode->i_blkbits (assigned by
   new_inode).  Otherwise, subsequent set_blocksize can find bd_block_size
   doesn't need updating, and skip updating i_blkbits, leaving them
   inconsistent.

<akpm@digeo.com>
   [PATCH] move ramfs a_ops into libfs
   
   From Bill Irwin.
   
   Abstract out ramfs readpage(), prepare_write(), and commit_write()
   operations.
   
   Ram-backed filesystems are going to be doing a lot of zero-filled read
   and write operations.  So in this patch, ramfs' implementations are
   moved to libfs in anticipation of other callers.

<akpm@digeo.com>
   [PATCH] libfs a_ops correctnes
   
   simple_prepare_write() currently memsets the entire page.  It only
   needs to clear the parts which are outside the to-be-written region.
   This change makes no difference to performance - that memset was just a
   cache preload for the copy_from_user() in generic_file_write().  But
   it's more correct.
   
   Also, mark the page dirty in simple_commit_write(), not in
   simple_prepare_write().  Because the page's contents are changed after
   prepare_write().  This doesn't matter in practice, but it is setting a
   bad example.
   
   Also, add a flush_dcache_page() to simple_prepare_write().  Again, not
   really needed because the page cannot be mapped into pagetables if it
   is not uptodate.  But it is example code and should not be missing such
   things.

<akpm@digeo.com>
   [PATCH] invalidate_inode_pages fixes
   
   Two fixes here.
   
   First:
   
   Fixes a BUG() which occurs if you try to perform O_DIRECT IO against a
   blockdev which has an fs mounted on it.  (We should be able to do
   that).
   
   What happens is that do_invalidatepage() ends up calling
   discard_buffer() on buffers which it couldn't strip.  That clears
   buffer_mapped() against useful things like the superblock buffer_head.
   The next submit_bh() goes BUG over the write of an unmapped buffer.
   
   So just run try_to_release_page() (aka try_to_free_buffers()) on the
   invalidate path.
   
   
   Second:
   
   The invalidate_inode_pages() functions are best-effort pagecache
   shrinkers.  They are used against pages inside i_size and are not
   supposed to throw away dirty data.
   
   However it is possible for another CPU to run set_page_dirty() against
   one of these pages after invalidate_inode_pages() has decided that it
   is clean.  This could happen if someone was performing O_DIRECT IO
   against a file which was also mapped with MAP_SHARED.
   
   So recheck the dirty state of the page inside the mapping->page_lock
   and back out if the page has just been marked dirty.
   
   This will also prevent the remove_from_page_cache() BUG which will occur
   if someone marks the page dirty between the clear_page_dirty() and
   remove_from_page_cache() calls in truncate_complete_page().

<akpm@digeo.com>
   [PATCH] restructure direct-io to suit bio_add_page
   
   The direct IO code was initially designed to allocate a known-sized
   BIO, to fill it with pages and to then send it off.
   
   Then along came bio_add_page().  Really, it broke direct-io.c - it
   meant that the direct-IO BIO assembly code no longer had a-priori
   knowledge of whether a page would fit into the current BIO.
   
   Our attempts to rework the initial design to play well with
   bio_add_page() really weren't adequate.  The code was getting more and
   more twisty and we kept finding corner-cases which failed.
   
   So this patch redesigns the BIO assembly and submission path of the
   direct-IO code so that it better suits the bio_add_page() semantics.
   
   It introduces another layer in the assembly phase: the 'cur_page' which
   is cached in the dio structure.
   
   The function which walks the file mapping do_direct_IO() simply emits a
   sequence of (page,offset,len,sector) quads into the next layer down -
   submit_page_section().
   
   submit_page_section() is responsible for looking for a merge of the new
   quad against the previous page section (same page).  If no merge is
   possible it passes the currently-cached page down to the next level,
   dio_send_cur_page().
   
   dio_send_cur_page() will try to add the current page to the current
   BIO.  If that fails, the current BIO is submitted for IO and we open a
   new one.
   
   So it's all nicely layered.  The assembly of sections-of-page into the
   current page closely mirrors the assembly of sections-of-BIO into the
   current BIO.
   
   At both of these levels everything is done in a "deferred" manner: try
   to merge a new request onto the currently-cached one.  If that fails
   then send the currently-cached request and then cache this one instead.
   
   Some variables have been renamed to more closely represent their usage.
   
   Some thought has been put into ownership of the various state variables
   within `struct dio'.  We were updating and inspecting these in various
   places in a rather hard-to-follow manner.  So things have been reworked
   so that particular functions "own" particular parts of the dio
   structure.  Violators have been exterminated and commentary has been
   added to describe this ownership.
   
   The handling of file holes has been simplified.
   
   As a consequence of all this, the code is clearer and simpler than it
   used to be, and it now passes the modified-for-O_DIRECT fsx-linux
   testing again.

<akpm@digeo.com>
   [PATCH] permit direct IO with finer-than-fs-blocksize alignments
   
   Mainly from Badari Pulavarty
   
   Traditionally we have only supported O_DIRECT I/O at an alignment and
   granularity which matches the underlying filesystem.  That typically
   means that all IO must be 4k-aligned and a multiple of 4k in size.
   
   Here, we relax that so that direct I/O happens with (typically)
   512-byte alignment and multiple-of-512-byte size.
   
   The tricky part is when a write starts and/or ends partway through a
   filesystem block which has just been added.  We need to zero out the
   parts of that block which lie outside the written region.
   
   We handle that by putting appropriately-sized parts of the ZERO_PAGE
   into sepatate BIOs.
   
   The generic_direct_IO() function has been changed so that the
   filesystem must pass in the address of the block_device against which
   the IO is to be performed.  I'd have preferred to not do this, but we
   do need that info at that time so that alignment checks can be
   performed.
   
   If the filesystem passes in a NULL block_device pointer then we fall
   back to the old behaviour - must align with the fs blocksize.
   
   There is no trivial way for userspace to know what the minimum
   alignment is - it depends on what bdev_hardsect_size() says about the
   device.  It is _usually_ 512 bytes, but not always.  This introduces
   the risk that someone will develop and test applications which work
   fine on their hardware, but will fail on someone else's hardware.
   
   It is possible to query the hardsect size using the BLKSSZGET ioctl
   against the backing block device.  This can be performed at runtime or
   at application installation time.

<akpm@digeo.com>
   [PATCH] add a file_ra_state init function
   
   Provide a function in core kernel to initialise a file_ra_state structure.
   
   Perviously this was all taken care of by the fact that new struct
   file's are all zeroed out.  But now a file_ra_state may be
   independently allocated, and we don't want users of it to have to know
   how to initialise it.

<akpm@digeo.com>
   [PATCH] less buslocked operations in the page allocator
   
   Sort-of-but-not-really from High Dickins.
   
   We're doing a lot of buslocked operations in the page allocator just
   for debug.  Plus when they _do_ trigger, there are so many BUG_ONs in
   there that it's rather hard to work out from user reports which one
   actually triggered.
   
   So redo all that and also print out some more useful info about the
   page state before taking the machine out.
   
   (And yes, we need to take the machine out.  Incorrect page handling in
   there can cause file corruption).

<akpm@digeo.com>
   [PATCH] radix_tree_gang_lookup fix
   
   When performing lookups against very sparse trees
   radix_tree_gang_lookup fails to find nodes "far" to the right of the
   start point.  Because it only understands sparseness in the leaf nodes,
   not the intermediate nodes.
   
   Nobody noticed this because all callers are incrementing the start
   index as they walk the tree.
   
   Change it to terminate the search when it really has inspected the last
   possible node for the current tree's height.

<akpm@digeo.com>
   [PATCH] export nr_running and nr_iowait tasks in /proc
   
   From Rik.
   
   "this trivial patch, against 2.5-current, exports nr_running and
    nr_iowait_tasks in /proc/stat.  With this patch in vmstat will no
    longer need to walk all the processes in the system just to determine
    the number of running and blocked processes."

<akpm@digeo.com>
   [PATCH] faster copy_*_user for bad alignments on intel ia32
   
   This patch speeds up copy_*_user for some Intel ia32 processors.  It is
   based on work by Mala Anand.
   
   It is a good win.  Around 30% for all src/dest alignments except 32/32.
   
   In this test a fully-cached one gigabyte file was read into an
   8192-byte userspace buffer using read(fd, buf, 8192).  The alignment of
   the user-side buffer was altered between runs.  This is a PIII.  Times
   are in seconds.
   
   User buffer   2.5.41      2.5.41+
               patch++
   
   0x804c000   4.373      4.343
   0x804c001   10.024      6.401
   0x804c002   10.002      6.347
   0x804c003   10.013      6.328
   0x804c004   10.105      6.273
   0x804c005   10.184      6.323
   0x804c006   10.179      6.322
   0x804c007   10.185      6.319
   0x804c008   9.725      6.347
   0x804c009   9.780      6.275
   0x804c00a   9.779      6.355
   0x804c00b   9.778      6.350
   0x804c00c   9.723      6.351
   0x804c00d   9.790      6.307
   0x804c00e   9.790      6.289
   0x804c00f   9.785      6.294
   0x804c010   9.727      6.277
   0x804c011   9.779      6.251
   0x804c012   9.783      6.246
   0x804c013   9.786      6.245
   0x804c014   9.772      6.063
   0x804c015   9.919      6.237
   0x804c016   9.920      6.234
   0x804c017   9.918      6.237
   0x804c018   9.846      6.372
   0x804c019   10.060      6.294
   0x804c01a   10.049      6.328
   0x804c01b   10.041      6.337
   0x804c01c   9.931      6.347
   0x804c01d   10.013      6.273
   0x804c01e   10.020      6.346
   0x804c01f   10.016      6.356
   0x804c020   4.442      4.366
   
   So `rep;movsl' is slower at all non-cache-aligned offsets.
   
   PII is using the PIII alignment.  I don't have a PII any more, but I do
   recall that it demonstrated the same behaviour as the PIII.
   
   The patch contains an enhancement (based on careful testing) from
   Hirokazu Takahashi <taka@valinux.co.jp>.  In cases where source and
   dest have the same alignment, but that aligment is poor, we do a short
   copy of a few bytes to bring the two pointers onto a favourable
   boundary and then do the big copy.
   
   And also a bugfix from Hirokazu Takahashi.
   
   As an added bonus, this patch decreases the kernel text by 28 kbytes.
   22k of this in in .text and the rest in __ex_table.  I'm not really
   sure why .text shrunk so much.
   
   These copy routines have no special-case for constant-sized copies.  So
   a lot of uaccess.h becomes dead code with this patch.  The next patch
   which uninlines the copy_*_user functions cleans all that up and saves
   an additional 5k.

<akpm@digeo.com>
   [PATCH] uninline the ia32 copy_*_user functions
   
   There's more work to do on these, for well-aligned copies.
   Arjan has some stuff for that.   First step on that path is
   to clean the code up, get it uninlined and have a framework for
   making per-CPU-type decisions.

<akpm@digeo.com>
   [PATCH] shrink_slab arith overflow fix
   
   shrink_slab() wants to calculate
   
      nr_scanned_pages * seeks_per_object * entries_in_slab /
         nr_lru_pages
   
   entries_in_slab and nr_lru_pages can vary a lot.  There is a potential
   for 32-bit overflows.
   
   I spent ages trying to avoid corner cases which cause a significant
   lack of precision while preserving some clarity.  Gave up and used
   do_div().  The code is called rarely - at most once per 128 kbytes of
   reclaim.
   
   The patch adds a tweak to balance_pgdat() to reduce the call rate to
   shrink_slab() in the case where the zone is just a little bit below
   pages_high.
   
   Also increase SHRINK_BATCH.  The things we're shrinking are typically a
   few hundred bytes, and a batchcount of 128 gives us a minimum of ten
   pages or so per shrinking callout.

<akpm@digeo.com>
   [PATCH] thread-aware oom-killer
   
   From Ingo
   
   - performance optimization: do not kill threads in the same thread group
     as the OOM-ing thread. (it's still necessery to scan over every thread
     though, as it's possible to have CLONE_VM threads in a different thread
     group - we do not want those to escape the OOM-kill.)
   
   - to not let newly created child threads slip out of the group-kill. Note
     that the 2.4 kernel's OOM handler has the same problem, and it could be
     the reason why forkbombs occasionally slip out of the OOM kill.

<akpm@digeo.com>
   [PATCH] don't invalidate pagecache after direct-IO reads
   
   There's no need to take down pagecache after performing direct-IO reads
   from a file or a blockdevice.
   
   And when using direct access to a blockdev which has a filesystem
   mounted it creates unnecessary disturbance of filesystem activity.

<akpm@digeo.com>
   [PATCH] much miscellany
   
   - add locking comments to do_mmap_pgoff(), filemap.c
   
   - used unsigned long for cpu flags in aio.c (Andi)
   
   - An x86-64 typo fix from Andi.
   
   - Fix a tpyo
   
   - Fix an unused var warning in the stack overflow check code
   
   - mptlan compile fix (Rasmus Andersen)
   
   - Update misleading comment in ia32 highmem.c
   
   - "attempting to mount an ext3 fs on a stopped md/raid1 array caused a
      divide by 0 error in ext3_fill_super.  Fix duplicates check already
      in ext2." - Angus Sawyer <angus.sawyer@dsl.pipex.com>
   
   - Someone changed the return type of inl() again! Fix up compiler
     warnings in 3c59x.c again.

<axboe@suse.de>
   [PATCH] bad scsi merge
   
   When someone deleted scsi_merge, they also killed the fixes I sent to
   you earlier...

<axboe@suse.de>
   [PATCH] scsi_command_size[] only known when SCSI is enabled
   
   block/scsi_ioctl.c uses scsi_command_size[] to get from opcode to length
   of cdb, but that is only available with SCSI enabled. Move to
   block/scsi_ioctl.c from scsi/scsi.c.

<axboe@suse.de>
   [PATCH] remember to export scsi_command_size[]
   
   Move the export to block/scsi_ioctl.c as well.

<axboe@suse.de>
   [PATCH] arrange request fiels sanely
   
   Right now, various fields in struct request are just scattered
   throughout the struct. This makes for bad cache behaviour. This patch
   puts commonly referenced together fiels in the same cache lines and also
   removes the prefetches in deadline_merge(). The latter was actually
   hurting performance here now that struct request is sanely laid out wrt
   cache.
   
   This is worth ~40% less deadline_merge() runtime during disk intensive
   tests!

<rml@tech9.net>
   [PATCH] overcommit-accounting doc fix

<niv@us.ibm.com>
   [IPV4]: Add missing IpInUnknownProtos bump.

<hirofumi@mail.parknet.co.jp>
   [PATCH] remove the conv option of fat (1/3)
   
   This removes the conv option. This option does nothing, now.
   (This patch from René Scharfe)

<hirofumi@mail.parknet.co.jp>
   [PATCH] remove the fat_cvf stuff (2/3)
   
   This removes fat_cvf stuff, and adds printk() level. As far as I
   know, all the challengers gave up porting of fat_cvf.
   (This patch from Christoph Hellwig)

<hirofumi@mail.parknet.co.jp>
   [PATCH] small cleanup of fat  (3/3)
   
    - cleanup
    - remove unneeded mark_inode_dirty() in fat_extend_dir()

<hch@lst.de>
   [PATCH] sanitize intel movsl selection
   
   The ifdef <actual cpu selection> is very bad style, we usually introduce
   feature CONFIG_ options in config.in instead.

<torvalds@penguin.transmeta.com>
   Fix ACPI frequency states to not play games with the
   configuration system, and instead just cleanly show
   the dependency.

<torvalds@penguin.transmeta.com>
   Fix up horribly wrong test in new copy-to-user()
   implementation. The optimized versions only work
   for large areas, make sure we don't use them for
   anything else.

<viro@math.psu.edu>
   [PATCH] gendisk fixes
   
    - fixes an idiocy with floppy_find() et.al. - they forgot to set
      *part to 0.  As the result, open() on anything other than fd0 had
      lead to interesting effects...
   
    - fixes off-by-1 in set_disk_ro().

<jbm@joshisanerd.com>
   [PATCH] Eliminate Old Prototypes from 2.5.44
   
   Attached patch is the result of:
   
   dignity:~/src/linux-2.5.44 $ for x in `rgrep -l "FILL_.*URB"  *`;
   do cp -v $x $x.backup;
   cat $x.backup | perl -pe 's/FILL_CONTROL_URB/usb_fill_control_urb/g;
    s/FILL_BULK_URB/usb_fill_bulk_urb/g;
    s/FILL_INT_URB/usb_fill_int_urb/g;' > $x;
   done
   
   and a manual removal of the define's in usb.h.

<jbm@joshisanerd.com>
   [PATCH] [PATCH] fix a FIXME in usb.h
   
   In ush.h, there's a FIXME for the URB transfer flags. This patch is
   basically a global search and replace to change those all from USB_ to
   URB_.
   
   It touches a few things that aren't directly USB-related, and so should
   probably be passed by those authors, but I figured i should put it here to
   get feedback (ie: "No, moron, you did it all wrong!" or "Oops, that FIXME
   wasn't supposed to be there") before bothering them.

<greg@kroah.com>
   USB: Fixes for previous USB_* flag patch.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Fix up the introduced spinlocks
   
   The reset routines are not called concurrently with other call paths,
   and holding a spinlock over schedule_timeout() is plain wrong anyway.
   
   Unfortunately, there's still quite a lot of cli() etc left, which however
   are not so easy to kill since they protect IRQ handlers against filling
   the tx queue, but don't even live in the same file.

<bgerst@didntduck.org>
   [PATCH] make x86 ptrace use init_fpu()
   
   This fixes PTRACE_GETFPREGS to initilize the fpu struct correctly on
   cpus with fxsr, as well as removing redundant code.

<hch@lst.de>
   [PATCH] fix xfs build after lvm removal

<bgerst@didntduck.org>
   [PATCH] remove __verify_write from sh arch
   
   It was copied from i386 and is unused.

<bgerst@didntduck.org>
   [PATCH] i386 __verify_write fixes
   
   This patch does a few cleanups/fixes with __verify_write:
    - Only compile it when needed.
    - Move test for KERNEL_DS out of line.
    - The mmap semaphore is needed to access the vma list.
    - Use fixmap for the WP test.
    - Removes an obsolete comment in fixmap.h

<pavel@ucw.cz>
   [PATCH] swsusp -- small fixes
   
   Do not oops when no swapfile is available and make it compile on
   DISCONTIGMEM machines.

<pavel@ucw.cz>
   [PATCH] swsusp updates
   
   This uses better constraints that do not go through the register
   unneccessarily.

<viro@math.psu.edu>
   [PATCH] removal of root_dev_names[]
   
    - name_to_kdev_t() turned into name_to_dev_t(), callers updated.
    - table of names is gone, we use driverfs instead.
   
    - root name is converted to dev_t only at prepare_namespace() time - we
      use to do it in setup and we need it after driver initialization.  So
      setup only stores the root name and leaves the work to
      prepare_namespace().
   
    - disk names for rd and cm206 changed to match the old behaviour of
      root= parser: ramdisks have ram<n> in ->disk_name now (instead of
      rd<n>) and cm206 - cm206cd (instead of cm206).

<akpm@digeo.com>
   [PATCH] tmpfs: shmem_getpage unlock_page
   
   Patch from Hugh Dickins
   
   shmem_getpage does need to lock its page (to secure it against
   shmem_writepage), but it's easier for its callers if it unlocks
   before returning.  The only caller who appeared to be using the
   page lock was shmem_file_write, but it wasn't actually protecting
   against anything - i_sem prevents concurrent writes and truncates,
   and do_shmem_file_read was dropping the lock before copying anyway.

<akpm@digeo.com>
   [PATCH] tmpfs: shmem_getpage beyond eof
   
   Patch from Hugh Dickins
   
   The last set of tmpfs patches left shmem_getpage with an inadequate
   next_index test to guard against races with truncation.  Now remove
   that check and settle the issue with checks against i_size within
   shmem_swp_alloc, which needs to know whether reading or writing.

<akpm@digeo.com>
   [PATCH] tmpfs: shmem_getpage reading holes
   
   Patch from Hugh Dickins
   
   Here I intended a patch to remove the unsatisfactory shmem_recalc_inode
   (which tries to work out when vmscan has freed undirtied hole pages,
   to relax its blocks-in-use limit; but can only do so per-inode when it
   needs to be per-super).  I had hoped to use the releasepage method, but
   it looks like it can't quite be bent to this task, the page might still
   be rebusied after release.  2.4-ac uses a removepage method dedicated to
   this, but I'm reluctant to ask for such a minor address_space_operation.
   
   So, leave shmem_recalc_inode as is, but avoid the issue as much as
   possible, by letting shmem_getpage use the empty_zero_page instead of
   allocating when a hole is read (but this cannot be done when it's being
   mapped, nowadays the nopage doesn't know if page will be copied or not).
   Whereupon shmem_getpage(,,,SGP_READ) can do partial trunc's holdpage.

<akpm@digeo.com>
   [PATCH] tmpfs: shmem fs cleanup
   
   Patch from Hugh Dickins
   
   Remove obsolete shmem_fs_type: we were in some doubt whether safe yet
   to do so, then found 2.5.4 typo changed it from 2.4's "shm" to "shmem"
   ever since: nobody complained, delete it - we're "tmpfs" since 2.4.4.
   Use libfs' simple_empty and simple_sync_file instead of homegrown.
   Remove exit_shmem_fs, it fools people that this might be a module.
   Allow for faint possibility that shm_mnt could not be initialized.

<akpm@digeo.com>
   [PATCH] tmpfs: shmem_file_sendfile
   
   Patch from Hugh Dickins
   
   Added shmem_file_sendfile to allow sendfile from tmpfs.  Checked
   do_shmem_file_read and shmem_file_read against filemap equivalents
   to add in any recent fixes (-EINVAL when count < 0 was missing).

<akpm@digeo.com>
   [PATCH] tmpfs: shmem_file_write update
   
   Patch from Hugh Dickins
   
   Checked shmem_file_write against recent filemap source, and against
   2.4 and 2.4-ac: folded in missing fixes, mostly related to far file
   positions.  Plus the new kmap_atomic copying technique.  But for now,
   as before, no mark_page_accessed or SetPageReferenced in shmem.c: add
   those, or whatever, later on when akpm has reviewed usage elsewhere.

<akpm@digeo.com>
   [PATCH] tmpfs: shmem_getpage missing flush_dcache_page
   
   Patch from Hugh Dickins
   
   From Matthew Wilcox <willy@debian.org>: shmem_getpage must
   flush_dcache_page after allocating and clearing a new page.

<akpm@digeo.com>
   [PATCH] tmpfs: support loopback
   
   Patch from Hugh Dickins
   
   Added shmem_readpage and shmem_prepare_write so tmpfs files can be used
   by the loop driver (together with simple_commit_write).  shmem_getpage
   extended to accept file page passed in, which may have to be copied
   over from swap page.
   
   Use bdget and sb_set_blocksize so loop can see our preferred blocksize
   PAGE_CACHE_SIZE.  Use copy_highpage, removed from highmem.h in 2.4.17:
   restore it but with kmap_atomics.  Restore (a simple) copy_page to
   asm-sparc64/page.h, which alone of all arches discarded it.

<jgarzik@redhat.com>
   [IA32] Use -march=pentium{-mmx,3,4} in CFLAGS when available.

<mochel@osdl.org>
   introduce struct kobject: simple, generic object for embedding in other structures.
   
   This is not meant to be fancy; just something simple for which we can 
   control the refcount and other common functionality using common code. 
      
   The basic operations for registration and reference count manipulation are
   included. 

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Fix the workqueue changes for the HiSax driver
   
   Whoever did the tqueue -> workqueue changes didn't really care to look
   at how it was used in the HiSax driver, making the driver compile but
   oops with NULL pointer derefs.
   
   Oh, and workqueues are really not the right solution here, tasklets are.
   But that's for later.

<mochel@osdl.org>
   sysfs: convert sysfs to use more functions from fs/libfs.c

<neilb@cse.unsw.edu.au>
   [PATCH] Define domain_release handle for AUTH_UNIX domains

<kai@tp1.ruhr-uni-bochum.de>
   ISDN/PPP: Remove random frame drop
   
   Dropping every 7th packet was just meant for internal debugging...

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: header cosmetics
   
   Updating copyright lines, deleting the CVS $Id lines, move
   PPP CCP reset related declarations into drivers/isdn/i4l/isdn_ppp_ccp.c.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Remove CVS $Revision
   
   The revision numbers didn't get updated in ages, so they don't really
   make sense anymore.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN/PPP: Pass frame including header to MPPP
   
   Just add the protocol number header to the frame and have MPPP deal with
   the entire frame, separating these layers more cleanly.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Move drivers/isdn/i4l/isdn_fsm.h include/linux/isdn/fsm.h
   
   Though I've been mostly moving stuff out of include/linux and into
   drivers/isdn/i4l, the finite state machine definitions actually need
   to be more wildly accessible, so they go the opposite way.

<mochel@osdl.org>
   sysfs: marry api with struct kobject.
   
   This works on obviating the need for a separate data type to describe a sysfs
   directory (which was renamed from struct driver_dir_entry to struct sysfs_dir).
   
   All sysfs creation and removal functions now take a struct kobject, instead
   of a struct sysfs_dir. This kobject is embedded in ->d_fsdata of the directory.
   
   sysfs_create_dir() takes only 1 parameter now: the object that we're creating
   the directory for. The parent dentry is derived by looking at the object's 
   parent. 
   
   sysfs_create_file() takes the object as the first parameter, and the attribute
   as the second, which makes more sense from an API perspective. 
   
   sysfs_remove_file() now takes an attribute as a second parameter, to be 
   consistent with the creation function.
   
   sysfs_remove_link() is created, which is basically the old sysfs_remove_file().
   (symlinks don't have an attribute associated with them; only a name, which was
   prohibiting the previous change). 
   
   open() and close() look for a kobject now, and do refcounting directly on the
   object. Because of that, we don't need the ->open() and ->close() callbacks
   in struct sysfs_ops, so they've been removed. 
   
   read() and write() also now look for a kobject now. 
   
   The comments have been updated, too. 

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Move ISDN net lib interface related definitions into isdn_net_lib.h

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Make raw-IP, CISCO HDLC, ... support optional
   
   They'll still get compiled all into one module, but now you can choose
   what you need - it's not hard to go from here to individual modules,
   but most protocol-specific code is so small that it's probably not worth
   it.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Move isdn_net_lib specific definitions out of linux/isdn.h
   
   isdn_net_dev and isdn_net_local logically are used by isdn_net_lib,
   so let's move them there.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Add missed isdn_net_lib.h

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: alloc CISCO HDLC info dynamically
   
   There's really no need to allocate private storage for all possible
   interface types, just leave it to the interface type to alloc the memory
   it needs.
     
   CISCO HDLC does that, now.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Convert ISDN/X.25 to inl_priv / ind_priv
   
   This is just simple renaming. However, ISDN/X.25 looks currently
   rather badly broken, don't expect it to compile ;(

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Convert ISDN/PPP to inl_priv / ind_priv
   
   Interface type specific stuff is now gone from isdn_net_lib and
   taken care of in the individual interface type modules.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Remove rcv_waitq/snd_waitq
   
   The arrays were only allocated and initialized, never used.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Fix AT+FREV command
   
   This was broken by removing the CVS revision strings.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: improve /dev/isdnctrl read()/write()
   
   read() should be safe against missed wake-ups now. These devices
   should actually be implemented by the hardware drivers directly, would
   make for much cleaner code. Unfortunately, isdnctrl is
   using /dev/isdnctrl for the common ioctls, which are handled by the link
   layer, so that's not easily possible. Too bad.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Make array of drivers private to isdn_common.c
   
   Currently, we need to provide a couple of helper functions to avoid
   breaking isdn_tty with this change, as that gets cleaned up, the need
   for those helpers should vanish as well.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Use a spinlock to protect the list of drivers
   
   ... and move up the function register_isdn().

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Get rid of global drivers count
   
   It's useless information, we need to iterate over all potential
   drivers anyway, since possibly the first one has unregistered before
   the second, leaving a hole.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Kill drvid[] array
   
   We know the driver ids via drivers[]->interface->id already, no need
   to keep them around a second time.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: State machines for the link layer
   
   Since we unfortunately cannot rely on the hardware drivers to get
   their states always correct, have the common layer keep track of the
   states and sanitize them before passing them on to applications
   as network interfaces / ttyIs.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Remove ISDN_STAT_NODCH
   
   It was never used anywhere (except for debugging output).
     
   Also, fix some compiler warnings.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Move driver unload into the state machine

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Remove ISDN_STAT_L1ERR
   
   It wasn't used in any actual hardware driver, nor did it cause any
   action at all.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: STAT_FAXIND and STAT_AUDIO handled by state machine

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Remove isdn_driver::online flags
   
   They were never used except for passing the state to userspace,
   but not used in any application I know of. If necessary, the information
   can easily be recovered by looking at fi.state == ST_ACTIVE

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Signal incoming calls to ttyI's again
   
   Change the incoming call logic: Incoming calls are signalled to
   the net interface code first, then the tty code. It's the lower level's
   responsibility to claim the call by issueing ISDN_CMD_ACCEPTD now.
     
   Remove some crud which is handled by isdn_common state machines now.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Remove ttyI specific from global "dev" variable
   
   ISDN still has a huge global struct called "dev", which is a mess
   of parts which should be private to their respective subsystem.
   It's supposed to die, this is another step in making that happen.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Route all driver callbacks through the driver state machine
   
   We used to intercept status callbacks which were for specific channels
   instead of the driver before passing them to the driver and short-cutting
   to them to the per-channel state machine. Do it correctly for now,
   i.e. callback -> driver -> channel, even though that might have a small
   performance hit. Correctness first.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Move the tty receive queue out of generic code
   
   Moving the tty receive queue into the tty-specific data in fact
   simplifies the common code (which doesn't need to know it at all, now),
   and the tty code, which can access the queue more directly.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Assorted cleanups
   
   Remove the legacy functions
     
       isdn_slot_readbchan(int slot, u_char *, u_char *, int);
       isdn_slot_driver(int slot);
       isdn_slot_channel(int slot);
       isdn_slot_set_usage(int slot, int usage);
       isdn_drv_writebuf_skb(int di, int ch, int x, struct sk_buff *skb);
       isdn_drv_hdrlen(int di);
     
   Most of their tasks have been taken over by isdn_common.c, or are
   obsoleted by using the isdn_slot based approach.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Make V.110 support less intrusive
   
   It'd probably make more sense to provide it in library form
   to the hardware drivers which don't support V.110 natively, but for
   now it's at least collected in one place.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Fix isdnloop for transparent/V.110
   
   For some reason, isdnloop didn't support the transparent encoding,
   which is necessary for testing V.110. Testing also found a typo
   causing an oops in isdn_common.c. Fixed.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Remove isdn_dc2minor(), isdn_slot_all_eaz()
   
   The internal driver/channel relations shouldn't leak out to users
   of the ISDN code, and isdn_slot_all_eaz() can be taken over by common
   code as well.
   

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: stat_callback() and recv_callback() -> event_callback()
   
   Merge the two different types of callbacks into just one, there's no
   good reasons for the receive callback to be different, in particular since
   we pass things through the same state machine later anyway.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Pass around struct isdn_slot directly
   
   The common way in the kernel is to pass around the struct (e.g.
   struct net_device), and leave the user the possibility to add
   its private data using ::priv, so do it the same way when accessing
   an ISDN channel.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: New timer handling for "+++" escape sequence
   
   Instead of having one common timer and walking the list of
   all ISDN channels, which might be possibly associated with a
   ttyI and even more possibly so waiting for the silence period
   after "+++", just use a per ttyI timer, which only gets activated
   when necessary.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: New timer handling for ttyI RING response
   
   Again, use a per ttyI timer handler for RING messages, only activated
   when used.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: New timer handling for ttyI NO CARRIER response
   
   Again, use a per ttyI timer handler for NO CARRIER messages, only
   activated when used.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Remove delayed ttyI xmit
   
   There's really no good reason to delay sending out data on a ttyI, ISDN
   is slow enough anyway ;)
     
   (There is one reason, i.e. allowing to coalesce multiple chars, but
   that is better fixed by having the upper levels (tty) send larger
   buffers)

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: New timer handling for read timer
   
   Again, use a per ttyI timer handler to feed arrived data into the
   ttyI. Really, there shouldn't be the need for any timer at all,
   rather working flow control, but that'll take a bit to fix.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: ttyI cleanups
   
   Now that ttyI's take care of their own business, some cross links
   between isdn_common and isdn_tty can finally go away.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: lock only used driver
   
   We used to lock (ind mod use count) all drivers just in case, but
   it makes more sense to only lock the one we're just using, in
   particular since the old scheme was rather broken when insmod'ing
   a new driver later.

<viro@math.psu.edu>
   [PATCH] loop/shmfs fixes
   
    - add lo->lo_blocksize
    - kill lo_get_bs() - great name, but...
    - set ->lo_device only if we do have a block device
    - pull determination of ->lo_blocksize into both branches - bdev
      variant gets it from lo_device and file one uses ->i_blocksize.
    - switched the ioctl getting information about underlying object
      to lo->lo_device ? stat.rdev : stat.dev
    - i.e. st_rdev of underlying object if it's a device and st_dev - if it's
      a file.
    - reverted the bogosity in shmem.c

<acme@conectiva.com.br>
   o llc: fix seq_file support
   
   Thanks to Maciej Babinski for reporting this on lkml.
   
   This one also uninlines llc_get_sk_idx and turns the error message
   in snap_init an __initdata.

<zippel@linux-m68k.org>
   [PATCH] new kernel configuration 1/7
   
   This adds the needed kbuild changes:
   - support to compile host libraries and c++ programs
   - change config calls into kconfig

<zippel@linux-m68k.org>
   [PATCH] new kernel configuration 2/7
   
   This adds the new kernel config core (library + the three front ends).

<zippel@linux-m68k.org>
   [PATCH] new kernel configuration 3/7
   
   This adds the arch config files. (part 1)

<zippel@linux-m68k.org>
   [PATCH] new kernel configuration 4/7
   
   This adds the arch config files. (part 2)

<zippel@linux-m68k.org>
   [PATCH] new kernel configuration 5/7
   
   This adds the driver config files. (part 1)

<zippel@linux-m68k.org>
   [PATCH] new kernel configuration 6/7
   
   This adds the driver config files. (part 2)

<zippel@linux-m68k.org>
   [PATCH] new kernel configuration 7/7
   
   This adds the remaining config files.

<akropel1@rochester.rr.com>
   [PATCH] sd.c major number off-by-one
   
   Fix an off-by-one error in the simplified SD_MAJOR macro which not only
   botches up the sd majors but also steals away the major used by my
   favorite slow-than-dirt SCSI RAID controller: cpqarray. Please, can I
   have it back?

<viro@math.psu.edu>
   [PATCH] compile fixes

<torvalds@home.transmeta.com>
   Delete old-style config files.

<rusty@rustcorp.com.au>
   [PATCH] Get rid of check_resource() before it becomes a problem
   
   The new resource interface foolishly replicated the (obsolete,
   racy) spirit of the check_region call as check_resource.  You
   should use request_resource/release_resource instead.

<bgerst@didntduck.org>
   [PATCH] factor common GCC options check
   
   Make the test for supported GCC options into a macro, and add new checks
   for -march={winchip-c6,winchip2,c3}.

<levon@movementarian.org>
   [PATCH] add oprofile to MAINTAINERS

<levon@movementarian.org>
   [PATCH] fix oprofile multiple counters
   
   This ensures we deal properly with multiple perfctr overflow interrupts
   under high load.

<viro@math.psu.edu>
   [PATCH] more shm/loop updates
   
   Ok, with this simple fix loop builds and loop works no worse than the
   old shm/loop approach (better - it does boot).
   
   However, both 2.4.44+ and this animal have the same and rather odd
   breakage in loop-over-device.  Loop-over-file works fine, but loop over
   device gives random crap on reads.  And no, it's not a problem with
   underlying device itself - something happens in loop.c.
   
   I'm going down right now, so I'll be back in several hours and will try
   to debug it.  Hopefully by the morning I'll have a fix.

<rddunlap@osdl.org>
   [PATCH] remove double-init in /proc/ksyms
   
   This removes a small thinko (2 of: n = *pos) in kernel/module.c's
   s_start() function.

<david-b@pacbell.net>
   [PATCH] USB: clean up usb structures some more
   
   This patch splits up the usb structures to have two structs,
   "usb_XXX_descriptor" with just the descriptor, and "usb_host_XXX" (or
   something similar) to wrap it and add the "extra" pointers plus the
   array of related descriptors that the host parsed during enumeration.
   (2 or 3 words extra in each"usb_host_XXX".)  This further matches the
   "on the wire" data and enables the gadget drivers to share the same
   header file.
   
   Covers all the linux/drivers/usb/* and linux/sound/usb/* stuff, but
   not a handful of other drivers (bluetooth, iforce, hisax, irda) that
   are out of the usb tree and will likely be affected.

<greg@kroah.com>
   USB: usb serial driver fixes due to USB structure changes.

<greg@kroah.com>
   USB: drivers/usb fixups due to USB structure changes.

<greg@kroah.com>
   USB: sound/usb fixups due to USB structure changes.

<greg@kroah.com>
   USB: drivers/usb fixups due to USB structure changes.

<greg@kroah.com>
   USB: drivers/isdn/hisax fixups due to USB structure changes.

<greg@kroah.com>
   USB: drivers/net/irda fixups due to USB structure changes.

<david-b@pacbell.net>
   [PATCH] ohci td error cleanup
   
   This is a version of a patch I sent out last Friday to help
   address some of the "bad entry" errors that some folk
   were seeing, seemingly only with control requests.  The fix
   is just to not try being clever: remove one TD at a time and
   patch the ED as if that TD had completed normally, then do
   the next ... don't try to patch just once in this fault case.
   (And it nukes some debug info I accidently submitted.)
   
   I've gotten preliminary feedback that this helps.

<david-b@pacbell.net>
   [PATCH] usbtest mentions url
   
   This mentions the web page with information about how to use
   the 'usbtest' driver.

<mochel@osdl.org>
   sysfs: make symlinks easier. 
   
   It's now
   
   int sysfs_create_link(struct kobject * kobj, struct kobject * target, char * name)
   
   So, the caller doesn't have to determine the path of the target nor the depth of
   the object we're creating the symlink for; it's all taken care of.
   

<kai@tp1.ruhr-uni-bochum.de>
   kbuild: Fix menuconfig/xconfig and a modversions problem
   
   If we are to build menuconfig/xconfig, we may not have a .config
   yet, so we shouldn't try to include it.
   
   Set MODVERDIR before including the subdir Makefile, drivers/scsi/53c700
   needs it.

<viro@math.psu.edu>
   [PATCH] loop breakage fix
   
   Got it.  Breakage happened when Jens was switching to partial
   completions - !uptodate is not quite the same as !err ;-)
   
   With this fixed everything seems to work nicely.

<zippel@linux-m68k.org>
   [PATCH] kconfig update
   
   Add new configs to match changes done lately.

<greg@kroah.com>
   USB: fix usbmidi driver for no automatic resubmission of interrupt urbs

<mochel@osdl.org>
   Introduce struct subsystem.
   
   A struct subsystem is basically a collection of objects of a certain type,
   and some callbacks to operate on objects of that type. 
   
   subsystems contain embedded kobjects themselves, and have a similar set of 
   library routines that kobjects do, which are mostly just wrappers for the
   correlating kobject routines. 
   
   kobjects are inserted in depth-first order into their subsystem's list of 
   objects. Orphan kobjects are also given foster parents that point to their
   subsystem. This provides a bit more rigidity in the hierarchy, and disallows
   any orphan kobjects.
   
   When an object is unregistered, it is removed from its subsystem's list. When
   the objects' refcount hits 0, the subsystem's ->release() callback is called. 
   
   Documentation describing the objects and the interfaces has also been added.

<zippel@linux-m68k.org>
   [PATCH] kconfig "choice" fixes
   
   This fixes "choice" behaviour - it sets the correct default and fixes
   oldconfig.

<mochel@osdl.org>
   sysfs: kill struct sysfs_dir.
   
   Previously, sysfs read() and write() calls looked for sysfs_ops in the struct 
   sysfs_dir, in the kobject. Since objects belong to a subsystem, and is a member
   of a group of like devices, the sysfs_ops have been moved to struct subsystem,
   and are referenced from there.
   
   The only remaining member of struct sysfs_dir is the dentry of the object's 
   directory. That is moved out of the dir struct and directly into struct kobject.
   That saves us 4 bytes/object.
   
   All of the sysfs functions that referenced the struct have been changed to just
   reference the dentry.

<mochel@osdl.org>
   kobjects: add array of default attributes to subsystems, and create on registration.
   
   struct subsystem may now contain a pointer to a NULL-terminated array of 
   default attributes to be exported when an object is registered with the subsystem.
   kobject registration will check the return values of the directory creation and 
   the creation of each file, and handle it appropriately. 
   
   The documentation has also been updated.

<davidel@xmailserver.org>
   [PATCH] sys_epoll 0.15
   
   Latest version of the epoll interfaces.

<jmorris@intercode.com.au>
   [CRYPTO]: Fix some credits.

<jmorris@intercode.com.au>
   [CRYPTO]: Cleanups based upon suggestions by Jeff Garzik.
   - Changed unsigned to unsigned int in algos.
   - Consistent use of u32 for flags throughout api.
   - Use of unsigned int rather than int for counting things which must
   be positive, also replaced size_ts to keep code simpler and lessen
   bloat on some archs.
   - got rid of some unneeded returns.
   - const correctness.

<jmorris@intercode.com.au>
   [CRYPTO]: Uninline some functions to save some bloat.

<stelian.pop@fr.alcove.com>
   [PATCH] sonypi driver update
   
   This patch adds some new events to the sonypi driver (Fn key
   pressed alone, jogdial turned fast or very fast) and cleanups
   the code a little bit.
   
   Thanks to Christian Gennerat for this contribution.

<willy@debian.org>
   [PATCH] PA-RISC math emu
   
   Add support for unimplemented FP ops on PA processors.

<willy@debian.org>
   [PATCH] include/asm-parisc
   
   Update include/asm-parisc

<willy@debian.org>
   [PATCH] arch/parisc/mm
   
   Update arch/parisc/mm

<willy@debian.org>
   [PATCH] arch/parisc/kernel
   
   Update arch/parisc/kernel.

<willy@debian.org>
   [PATCH] perf monitor for PA-RISC
   
   Performance monitor support for PA8000+ processors.

<willy@debian.org>
   [PATCH] parisc64
   
   Add support for the parisc64 architecture.

<willy@debian.org>
   [PATCH] misc PA updates
   
    - Remove obsolete documentation
    - Update arch/pa