## Automatically generated incremental diff
## From:   linux-2.0.40-pre3
## To:     linux-2.0.40-rc1
## Robot:  $Id: make-incremental-diff,v 1.9 2001/12/10 00:06:56 hpa Exp $

diff -urN linux-2.0.40-pre3/Documentation/Configure.help linux/Documentation/Configure.help
--- linux-2.0.40-pre3/Documentation/Configure.help	Tue Jan  8 15:33:10 2002
+++ linux/Documentation/Configure.help	Tue Jan  8 15:33:11 2002
@@ -40,7 +40,7 @@
 Prompt for development and/or incomplete code/drivers
 CONFIG_EXPERIMENTAL
   Some of the various things that Linux supports (such as network
-  drivers, filesystems, network protocols, etc.) can be in a state
+  drivers, file systems, network protocols, etc.) can be in a state
   of development where the functionality, stability, or the level of
   testing is not yet high enough for general use.  This is usually
   known as the "alpha-test" phase amongst developers.  If a feature is
@@ -122,7 +122,7 @@
 RAM disk support
 CONFIG_BLK_DEV_RAM
   Enabling this option will allow you to use a portion of your RAM
-  memory as a block device, so that you can make filesystems on it,
+  memory as a block device, so that you can make file systems on it,
   read and write to it and do all the other things that normal block
   devices (such as hard drives) can do. It is usually used to load and
   store a copy of a minimal root file system off of a floppy into RAM
@@ -148,17 +148,17 @@
   system.  This is useful if you want to check an ISO9660 file system
   before burning the CD, or want to use floppy images without first
   writing them to floppy.  This option also allows one to mount a
-  filesystem with encryption.  To use these features, you need a
+  file system with encryption.  To use these features, you need a
   recent version of mount (check the file Documentation/Changes for
   location and latest version).  Note that this loop device has
   nothing to do with the loopback device used for network connections
   from the machine to itself.  Most users will answer N here.
 
-Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
+Enhanced IDE/MFM/RLL disk/CD-ROM/tape/floppy support
 CONFIG_BLK_DEV_IDE
   This will use the full-featured IDE driver to control up to four
   IDE interfaces, for a combination of up to eight IDE
-  disk/cdrom/tape/floppy drives.  Useful information about large
+  disk/CD-ROM/tape/floppy drives.  Useful information about large
   (>540MB) IDE disks, sound card IDE ports, and other topics, is all
   contained in Documentation/ide.txt.  If you have one or more IDE
   drives, say Y here.  If your system has no IDE drives, or if
@@ -189,7 +189,7 @@
   hard disk driver to control the primary IDE/disk interface in the
   system, leaving the new enhanced IDE driver take care of only the
   2nd/3rd/4th IDE interfaces. Doing this will prevent you from having
-  an IDE/ATAPI CDROM or tape drive connected to the primary IDE
+  an IDE/ATAPI CD-ROM or tape drive connected to the primary IDE
   interface. Choosing this option may be useful for older systems
   which have MFM/RLL/ESDI controller+drives at the primary port
   address (0x1f0), along with IDE drives at the secondary/3rd/4th port
@@ -205,21 +205,21 @@
 
   If in doubt, say N.
 
-Include IDE/ATAPI CDROM support
+Include IDE/ATAPI CD-ROM support
 CONFIG_BLK_DEV_IDECD
-  If you have a CDROM drive using the ATAPI protocol, say Y.  ATAPI is
-  a new protocol used by IDE CDROM and TAPE drives, similar to the
-  SCSI protocol.  Most new CDROM drives use ATAPI, including the
+  If you have a CD-ROM drive using the ATAPI protocol, say Y.  ATAPI is
+  a new protocol used by IDE CD-ROM and tape drives, similar to the
+  SCSI protocol.  Most new CD-ROM drives use ATAPI, including the
   NEC-260, Mitsumi FX400, Sony 55E, and just about all non-SCSI
   double(2X), quad(4X), and six(6X) speed drives.  At boot time, the
-  TAPE drive will be identified along with other IDE devices, as "hdb"
+  tape drive will be identified along with other IDE devices, as "hdb"
   or "hdc", or something similar.
-  If this is your only CDROM drive, you can say N to all other CDROM
-  options, but be sure to say Y to the ISO9660 filesystem.  Read the
+  If this is your only CD-ROM drive, you can say N to all other CD-ROM
+  options, but be sure to say Y to the ISO9660 file system.  Read the
   CDROM-HOWTO, available via FTP (user: anonymous) in
   sunsite.unc.edu:/pub/Linux/docs/HOWTO and the file
-  Documentation/cdrom/ide-cd.  Note that older versions of lilo (the
-  Linux boot loader) cannot properly deal with IDE/ATAPI CDROMs, so
+  Documentation/CD-ROM/ide-cd.  Note that older versions of lilo (the
+  Linux boot loader) cannot properly deal with IDE/ATAPI CD-ROMs, so
   install lilo-16 or higher, available from
   sunsite.unc.edu:/pub/Linux/system/Linux-boot/lilo.
 
@@ -236,7 +236,7 @@
 Include IDE/ATAPI FLOPPY support (new)
 CONFIG_BLK_DEV_IDEFLOPPY
   If you have an IDE floppy which uses the ATAPI protocol, say Y.
-  ATAPI is a new protocol used by IDE cdrom/tape/floppy drives,
+  ATAPI is a new protocol used by IDE CD-ROM/tape/floppy drives,
   similar to the SCSI protocol.  IDE floppy drives include the LS-120
   and the ATAPI ZIP (ATAPI PD-CD drives are not supported by this
   driver; support for PD-CD drives is available through the SCSI
@@ -347,7 +347,7 @@
   boot parameter.  It enables support for the secondary IDE interface
   of the chipset, and takes advantage of the caching features of the
   card.  This driver is known to incur timeouts/retries during heavy
-  I/O to drives attached to the secondary interface.  CDROM and TAPE
+  I/O to drives attached to the secondary interface.  CD-ROM and TAPE
   devices are not supported yet.  See the Documentation/ide.txt and
   promise.c files for more info.
 
@@ -406,8 +406,8 @@
   system. Among the devices supported by this driver are the
   MicroSolutions backpack CD-ROM drives and the Freecom Power CD. If
   you have such a CD-ROM drive, you should also say Y to "ISO9660
-  cdrom filesystem support" below, because that's the filesystem used
-  on CDROMs.
+  CD-ROM file system support" below, because that's the file system used
+  on CD-ROMs.
 
 Parallel port ATAPI disks
 CONFIG_PARIDE_PF
@@ -1080,7 +1080,7 @@
 
 Kernel daemon support
 CONFIG_KERNELD
-  Normally when you have selected some drivers and/or filesystems to
+  Normally when you have selected some drivers and/or file systems to
   be created as loadable modules, you also have the responsibility to
   load the corresponding module (via insmod/modprobe) before you can
   use it.  If you select Y here, the kernel will take care of this all
@@ -1212,7 +1212,7 @@
   a router or a firewall for some local network, in which case you
   naturally should have said Y to IP forwarding/gatewaying resp. IP
   firewalling. The data is accessible with "cat /proc/net/ip_acct", so
-  you want to say Y to the /proc filesystem below, if you say Y here.
+  you want to say Y to the /proc file system below, if you say Y here.
   To specify what exactly should be recorded, you need the tool
   ipfwadm (check the file Documentation/Changes for location and
   latest version).
@@ -1236,7 +1236,7 @@
 IP: firewall packet logging
 CONFIG_IP_FIREWALL_VERBOSE
   This gives you information about what your firewall did with packets
-  it received.  The information is handled by the klogd demon which is
+  it received.  The information is handled by the klogd daemon which is
   responsible for kernel messages ("man klogd").
 
 IP: transparent proxying (EXPERIMENTAL)
@@ -1493,7 +1493,7 @@
   sunsite.unc.edu:/pub/Linux/system/Filesystems/) or from within the
   Linux DOS emulator dosemu (read the DOSEMU-HOWTO, available in
   sunsite.unc.edu:/pub/Linux/docs/HOWTO). In order to do the former,
-  you'll also have to say Y to "NCP filesystem support", below. To
+  you'll also have to say Y to "NCP file system support", below. To
   turn your Linux box into a fully featured NetWare file server and
   IPX router, say Y here and fetch either lwared from
   sunsite.unc.edu:/pub/Linux/system/Network/daemons/ or mars_nwe from
@@ -1632,7 +1632,7 @@
 
 SCSI support?
 CONFIG_SCSI
-  If you want to use a SCSI hard disk, SCSI tapedrive, SCSI CDROM or
+  If you want to use a SCSI hard disk, SCSI tapedrive, SCSI CD-ROM or
   any other SCSI device under Linux, say Y and make sure that you know
   the name of your SCSI host adapter (the card inside your computer
   that "speaks" the SCSI protocol), because you will be asked for it.
@@ -1650,7 +1650,7 @@
   If you want to use a SCSI hard disk or the SCSI or parallel port
   version of the IOMEGA ZIP drive under Linux, say Y and read the
   SCSI-HOWTO, available via FTP (user: anonymous) in sunsite.unc.edu:
-  /pub/Linux/docs/HOWTO. This is NOT for SCSI CDROMs.
+  /pub/Linux/docs/HOWTO. This is NOT for SCSI CD-ROMs.
   This driver is also available as a module ( = code which can be
   inserted in and removed from the running kernel whenever you want).
   If you want to compile it as a module, say M here and read
@@ -1661,18 +1661,18 @@
   If you want to use a SCSI tapedrive under Linux, say Y and read the
   SCSI-HOWTO, available via FTP (user: anonymous) in sunsite.unc.edu:
   /pub/Linux/docs/HOWTO and drivers/scsi/README.st in the kernel
-  source. This is NOT for SCSI CDROMs. This driver is also available
+  source. This is NOT for SCSI CD-ROMs. This driver is also available
   as a module ( = code which can be inserted in and removed from the
   running kernel whenever you want). If you want to compile it as a
   module, say M here and read Documentation/modules.txt and
   Documentation/scsi.txt.
 
-SCSI CDROM support
+SCSI CD-ROM support
 CONFIG_BLK_DEV_SR
-  If you want to use a SCSI CDROM under Linux, say Y and read the
+  If you want to use a SCSI CD-ROM under Linux, say Y and read the
   SCSI-HOWTO and the CDROM-HOWTO from sunsite.unc.edu:
   /pub/Linux/docs/HOWTO. Also make sure to enable the ISO9660
-  filesystem later. This driver is also available as a module ( = code
+  file system later. This driver is also available as a module ( = code
   which can be inserted in and removed from the running kernel
   whenever you want). If you want to compile it as a module, say M
   here and read Documentation/modules.txt and Documentation/scsi.txt.
@@ -1681,7 +1681,7 @@
 CONFIG_CHR_DEV_SG
   If you want to use SCSI scanners, synthesizers or CD-writers or just
   about anything having "SCSI" in its name other than hard disks,
-  CDROMs or tapes, say Y here. Those won't be supported by the kernel
+  CD-ROMs or tapes, say Y here. Those won't be supported by the kernel
   directly, so you need some additional software which knows how to
   talk to these devices using the SCSI protocol. For CD-writers, you
   would need the program cdwrite, available via FTP (user: anonymous)
@@ -1708,7 +1708,7 @@
 CONFIG_SCSI_CONSTANTS
   The error messages regarding your SCSI hardware will be easier to
   understand if you enable this; it will enlarge your kernel by about
-  12KB.  If in doubt, say Y.
+  12kB.  If in doubt, say Y.
 
 AdvanSys SCSI support
 CONFIG_SCSI_ADVANSYS
@@ -1834,7 +1834,7 @@
   small amount of overhead to each and every SCSI command the aic7xxx
   driver handles, so if you aren't really interested in this
   information, it is best to leave it disabled. This will only work if
-  you also say Y to "/proc filesystem support", below. 
+  you also say Y to "/proc file system support", below. 
 
   If unsure, say N.
 
@@ -3392,31 +3392,31 @@
 
 Support non-SCSI/IDE/ATAPI drives
 CONFIG_CD_NO_IDESCSI
-  If you have a CDROM drive that is neither SCSI nor IDE/ATAPI, say Y
+  If you have a CD-ROM drive that is neither SCSI nor IDE/ATAPI, say Y
   here, otherwise N. Read the CDROM-HOWTO, available via FTP (user:
   anonymous) from sunsite.unc.edu:/pub/Linux/docs/HOWTO. Note that the
   answer to this question doesn't directly affect the kernel: saying N
   will just cause this configure script to skip all the questions
-  about these CDROM drives. If you are unsure what you have, say Y and
+  about these CD-ROM drives. If you are unsure what you have, say Y and
   find out whether you have one of the following drives.
-  For each of these drivers, a file Documentation/cdrom/<driver_name>
+  For each of these drivers, a file Documentation/CD-ROM/<driver_name>
   exists. Especially in cases where you do not know exactly which kind
   of drive you have you should read there.
   Most of these drivers use a file include/linux/<driver_name>.h where
   you can define your interface parameters and switch some internal
   goodies.
-  All these CDROM drivers are also usable as a module ( = code which
+  All these CD-ROM drivers are also usable as a module ( = code which
   can be inserted in and removed from the running kernel whenever you
   want).  If you want to compile them as module, say M instead of Y
   and read Documentation/modules.txt.
-  If you want to use any of these CDROM drivers, you also have to say
-  Y to "ISO9660 cdrom filesystem support" below (this answer will get
-  "defaulted" for you if you enable any of the Linux CDROM drivers).
+  If you want to use any of these CD-ROM drivers, you also have to say
+  Y to "ISO9660 CD-ROM file system support" below (this answer will get
+  "defaulted" for you if you enable any of the Linux CD-ROM drivers).
 
-Sony CDU31A/CDU33A CDROM support
+Sony CDU31A/CDU33A CD-ROM support
 CONFIG_CDU31A
-  These CDROM drives have a spring-pop-out caddyless drawer, and a
-  rectangular green LED centered beneath it.  NOTE: these CDROM drives
+  These CD-ROM drives have a spring-pop-out caddyless drawer, and a
+  rectangular green LED centered beneath it.  NOTE: these CD-ROM drives
   will not be auto detected by the kernel at boot time; you have to
   provide the interface address as an option to the kernel at boot
   time as described in Documentation/cdrom/cdu31a or fill in your
@@ -3424,14 +3424,14 @@
   of your boot loader (lilo or loadlin) about how to pass options to
   the kernel. The lilo procedure is also explained in the SCSI-HOWTO.
 
-Standard Mitsumi [no XA/Multisession] CDROM support
+Standard Mitsumi [no XA/Multisession] CD-ROM support
 CONFIG_MCD
   This is the older of the two drivers for the older Mitsumi models
   LU-005, FX-001 and FX-001D. This is not the right driver for
   the FX-001DE and the triple or quad speed models (all these are
   IDE/ATAPI models).
   With the old LU-005 model, the whole drive chassis slides out for
-  cd insertion. The FX-xxx models use a motorized tray type mechanism.
+  CD insertion. The FX-xxx models use a motorized tray type mechanism.
   Note that this driver does not support XA or MultiSession CDs
   (PhotoCDs).  There is a new driver (next question) which can do
   this. If you want that one, say N here.
@@ -3442,12 +3442,12 @@
 CONFIG_MCDX
   Use this driver if you want to be able to read XA or MultiSession
   CDs (PhotoCDs) as well as ordinary CDs with your Mitsumi LU-005,
-  FX-001 or FX-001D CDROM drive.  In addition, this driver uses much
+  FX-001 or FX-001D CD-ROM drive.  In addition, this driver uses much
   less kernel memory than the old one, if that is a concern.  This
   driver is able to support more than one drive, but each drive needs
   a separate interface card.  Check out Documentation/cdrom/mcdx.
 
-Matsushita/Panasonic/Creative, Longshine, TEAC CDROM support
+Matsushita/Panasonic/Creative, Longshine, TEAC CD-ROM support
 CONFIG_SBPCD
   This driver supports most of the drives which use the Panasonic or
   SoundBlaster interface.
@@ -3467,76 +3467,76 @@
   none of the supported drives gets found.
   Once your drive got found, you should enter the reported parameters
   into linux/include/linux/sbpcd.h and set "DISTRIBUTION 0" there.
-  This driver can support up to four CDROM interface cards, and each
-  card can support up to four CDROM drives; if you say Y here, you
+  This driver can support up to four CD-ROM interface cards, and each
+  card can support up to four CD-ROM drives; if you say Y here, you
   will be asked how many controllers you have. If compiled as a
   module, only one interface card (but with up to four drives) is
   usable.
 
-Matsushita/Panasonic, ... second CDROM controller support
+Matsushita/Panasonic, ... second CD-ROM controller support
 CONFIG_SBPCD2
-  Say Y here only if you have two CDROM controller boards of this type
+  Say Y here only if you have two CD-ROM controller boards of this type
   (usually only if you have more than four drives). You should enter
   the parameters for the second, third and fourth interface card into
   linux/include/linux/sbpcd.h before compiling the new kernel.
 
-Aztech/Orchid/Okano/Wearnes/TXC/CyDROM  CDROM support
+Aztech/Orchid/Okano/Wearnes/TXC/CyDROM  CD-ROM support
 CONFIG_AZTCD
   This is your driver if you have an Aztech CDA268-01A, Orchid
   CD-3110, Okano or Wearnes CDD110, Conrad TXC, or CyCDROM CR520 or
-  CR540 CDROM drive. This driver -- just like all these CDROM drivers
-  -- is NOT for CDROM drives with IDE/ATAPI interface, such as Aztech
+  CR540 CD-ROM drive. This driver -- just like all these CD-ROM drivers
+  -- is NOT for CD-ROM drives with IDE/ATAPI interface, such as Aztech
   CDA269-031SE.
 
-Sony CDU535 CDROM support
+Sony CDU535 CD-ROM support
 CONFIG_CDU535
-  This is the driver for the older Sony CDU-535 and CDU-531 CDROM
+  This is the driver for the older Sony CDU-535 and CDU-531 CD-ROM
   drives.
 
-Goldstar R420 CDROM support
+Goldstar R420 CD-ROM support
 CONFIG_GSCD
-  If this is your CDROM drive, say Y here.
+  If this is your CD-ROM drive, say Y here.
   As described in linux/Documentation/cdrom/gscd, you might have to
   change a setting in the file include/linux/gscd.h before compiling
   the kernel.
 
-Philips/LMS CM206 CDROM support
+Philips/LMS CM206 CD-ROM support
 CONFIG_CM206
-  If you have a Philips/LMS CDROM drive cm206 in combination with a
+  If you have a Philips/LMS CD-ROM drive cm206 in combination with a
   cm260 host adapter card, say Y here.
 
-Optics Storage DOLPHIN 8000AT CDROM support
+Optics Storage DOLPHIN 8000AT CD-ROM support
 CONFIG_OPTCD
   This is the driver for the 'DOLPHIN' drive with a 34-pin Sony
   compatible interface. It also works with the Lasermate CR328A. If
   you have one of those, say Y. This driver does not work for the
-  Optics Storage 8001 drive; use the IDE-ATAPI CDROM driver for that
+  Optics Storage 8001 drive; use the IDE-ATAPI CD-ROM driver for that
   one.
 
-Sanyo CDR-H94A CDROM support
+Sanyo CDR-H94A CD-ROM support
 CONFIG_SJCD
-  If this is your CDROM drive, say Y here. Command line option
+  If this is your CD-ROM drive, say Y here. Command line option
   (or 'append=' option in /etc/lilo.conf) is:
                 sjcd=<port>
   Here 'port' is the base i/o address used by the drive. It defaults
   to port=0x340.
 
-Soft configurable cdrom interface card support
+Soft configurable CD-ROM interface card support
 CONFIG_CDI_INIT
-  If you want to include boot-time initialization of any cdrom
+  If you want to include boot-time initialization of any CD-ROM
   interface card that is software configurable, say Y here.
   Currently only the ISP16/MAD16/Mozart cards are supported.
 
-ISP16/MAD16/Mozart soft configurable cdrom interface support
+ISP16/MAD16/Mozart soft configurable CD-ROM interface support
 CONFIG_ISP16_CDI
-  If you want any of these cdrom interface cards based on the
+  If you want any of these CD-ROM interface cards based on the
   OPTi 82C928 or 82C929 chips get detected and possibly configured
   at boot time, please say Y. Boot time command line options (or
   'append=' options in /etc/lilo.conf) are:
                 isp16=<port>,<irq>,<dma>,<drive_type>
   Here 'port','irq' and 'dma' are the base i/o address, IRQ number and
-  DMA line assumed to be used by the attached cdrom
-  drive. 'drive_type' is the type of cdrom drive or its emulation
+  DMA line assumed to be used by the attached CD-ROM
+  drive. 'drive_type' is the type of CD-ROM drive or its emulation
   mode. Valid values for drive_type include: Sanyo, Panasonic (same as
   Sanyo), Sony and Mitsumi.  Default values are: port=0x340, irq=0,
   dma=0, drive_type=Sanyo.
@@ -3550,7 +3550,7 @@
 CONFIG_QUOTA
   If you say Y here, you will be able to set per user limits for disk
   usage (also called diskquotas). Currently, it works only for the
-  ext2 filesystem. You need additional software in order to use quota
+  ext2 file system. You need additional software in order to use quota
   support; check the file Documentation/Changes for that. Probably the
   quota support is only useful for multi user systems. If unsure,
   say N.
@@ -3570,9 +3570,9 @@
 Minix fs support
 CONFIG_MINIX_FS
   Minix is a simple operating system used in many classes about OS's.
-  The minix filesystem ( = method to organize files on a hard disk
-  partition or a floppy disk) was the original filesystem for Linux,
-  has been superseded by the second extended filesystem ext2fs but is
+  The minix file system ( = method to organize files on a hard disk
+  partition or a floppy disk) was the original file system for Linux,
+  has been superseded by the second extended file system ext2fs but is
   still used for root/boot and other floppies or ram disks since it is
   leaner. You don't want to use it on your hard disk because of
   certain built-in restrictions. This option will enlarge your kernel
@@ -3580,22 +3580,22 @@
   read this common floppy format. If you want to compile this as
   a module ( = code which can be inserted in and removed from the
   running kernel whenever you want), say M here and read
-  Documentation/modules.txt. Note that the filesystem of your root
+  Documentation/modules.txt. Note that the file system of your root
   partition cannot be compiled as a module.
 
 Extended fs support
 CONFIG_EXT_FS
-  This is the old Linux filesystem ( = method to organize files on a
+  This is the old Linux file system ( = method to organize files on a
   hard disk partition or a floppy disk) and not in use anymore.
   It enlarges your kernel by about 25 kB. Let's all kill this beast.
   Say N.
 
 Second extended fs support
 CONFIG_EXT2_FS
-  This is the de facto standard Linux filesystem ( = method to
+  This is the de facto standard Linux file system ( = method to
   organize files on a storage device) for hard disks. You want to
   say Y, unless you intend to use Linux exclusively from inside a DOS
-  partition using the umsdos filesystem. The advantage of the latter
+  partition using the umsdos file system. The advantage of the latter
   is that you can get away without repartitioning your hard drive
   (which often implies backing everything up and restoring
   afterwards); the disadvantage is that Linux becomes susceptible to
@@ -3605,7 +3605,7 @@
   facilitates the transition to a *real* Linux partition later.
   Another (rare) case which doesn't require ext2fs is a diskless Linux
   box which mounts all files over the network using NFS (in this case
-  it's sufficient to enable NFS filesystem support below; if you are
+  it's sufficient to enable NFS file system support below; if you are
   planning to do this, have a look at the netboot package in
   /pub/Linux/system/Linux-boot/, available via FTP (user: anonymous)
   from sunsite.unc.edu, extract with "tar xzvf filename"). There is a
@@ -3613,31 +3613,31 @@
   sunsite.unc.edu:/pub/Linux/docs/faqs. This option will enlarge your
   kernel by about 41 kB. Default is Y.
 
-xiafs filesystem support
+xiafs file system support
 CONFIG_XIA_FS
-  This is an old filesystem ( = method to organize files on a hard
+  This is an old file system ( = method to organize files on a hard
   disk partition or a floppy disk) and not in use anymore. This option
   would enlarge your kernel by about 28 kB. Let's all kill this beast:
   say N. If you want to compile this as a module ( = code which can
   be inserted in and removed from the running kernel whenever you
   want), say M here and read Documentation/modules.txt. Note that the
-  filesystem of your root partition cannot be compiled as a module.
+  file system of your root partition cannot be compiled as a module.
 
-fat fs support
+FAT fs support
 CONFIG_FAT_FS
-  If you want to use one of the FAT-based filesystems (the MS-DOS,
-  VFAT (Windows'95) and UMSDOS filesystems), then you must include
-  FAT support. This is not a filesystem in itself, but it provides
-  the foundation for the other filesystems. This option will enlarge
+  If you want to use one of the FAT-based file systems (the MS-DOS,
+  VFAT (Windows'95) and UMSDOS file systems), then you must include
+  FAT support. This is not a file system in itself, but it provides
+  the foundation for the other file systems. This option will enlarge
   your kernel about 24 kB. If unsure, say Y. If you want to compile
   this as a module however ( = code which can be inserted in and
   removed from the running kernel whenever you want), say M here and
   read Documentation/modules.txt. Note that if you compile the FAT
   support as a module, you cannot compile any of the FAT-based
-  filesystems into the kernel -- they will have to be modules as well.
-  The filesystem of your root partition cannot be a module.
+  file systems into the kernel -- they will have to be modules as well.
+  The file system of your root partition cannot be a module.
 
-msdos fs support
+MSDOS fs support
 CONFIG_MSDOS_FS
   This allows you to mount MSDOS partitions of your hard drive (unless
   they are compressed; to access compressed MSDOS partitions under
@@ -3650,29 +3650,29 @@
   i.e. the MSDOS files look and behave just like all other Unix files.
   Another way to read and write MSDOS floppies from within Linux (but
   not transparently) is with the mtools ("man mtools") program suite,
-  which doesn't require the msdos filesystem support.  If you want to
-  use umsdos, the Unix-like filesystem on top of DOS, which allows you
+  which doesn't require the MSDOS file system support.  If you want to
+  use umsdos, the Unix-like file system on top of DOS, which allows you
   to run Linux from within a DOS partition without repartitioning,
   you'll have to say Y or M here. If your have Windows'95 or Windows
   NT installed on your MSDOS partitions, you should use the VFAT
-  filesystem instead, or you will not be able to see the long
+  file system instead, or you will not be able to see the long
   filenames generated by Windows'95 / Windows NT. This option will
   enlarge your kernel by about 7 kB. If unsure, say Y. This will only
-  work if you said Y to "fat fs support" as well. If you want to
+  work if you said Y to "FAT fs support" as well. If you want to
   compile this as a module however ( = code which can be inserted in
   and removed from the running kernel whenever you want), say M here
-  and read Documentation/modules.txt. Note that the filesystem of your
+  and read Documentation/modules.txt. Note that the file system of your
   root partition cannot be a module.
 
-vfat fs support
+VFAT fs support
 CONFIG_VFAT_FS
   This allows you to mount MSDOS partitions of your hard drive. It
   will let you use filenames in a way compatible with the long
-  filenames used by Windows'95 and Windows NT fat-based (not NTFS)
-  partitions. It does not support Windows'95 compressed filesystems.
-  You cannot use the VFAT filesystem for your root partition; use
+  filenames used by Windows'95 and Windows NT FAT-based (not NTFS)
+  partitions. It does not support Windows'95 compressed file systems.
+  You cannot use the VFAT file system for your root partition; use
   UMSDOS instead. This option enlarges your kernel by about 10 kB and
-  it only works if you enabled the "fat fs support" above. Please read
+  it only works if you enabled the "FAT fs support" above. Please read
   the file Documentation/filesystems/vfat.txt for details.
   If unsure, say N. If you want to compile this as a module ( = code
   which can be inserted in and removed from the running kernel
@@ -3692,19 +3692,19 @@
   MSDOS floppies. You will need a program called umssync in order to
   make use of umsdos. Read Documentation/filesystems/umsdos.txt. This
   option enlarges your kernel by about 25 kB and it only works if you
-  enabled both "fat fs support" and "msdos fs support" above. If
+  enabled both "FAT fs support" and "MSDOS fs support" above. If
   unsure, say N.  If you want to compile this as a module ( = code
   which can be inserted in and removed from the running kernel
   whenever you want), say M here and read Documentation/modules.txt.
-  Note that the filesystem of your root partition cannot be a module.
+  Note that the file system of your root partition cannot be a module.
 
 nls: Native language codepages and Unicode support
 CONFIG_NLS
-  This is required by the FAT based filesystems and by the ISO9660
-  filesystem with Joliet support.  Joliet is a Microsoft extension
-  for CDROMs that supports Unicode.
+  This is required by the FAT based file systems and by the ISO9660
+  file system with Joliet support.  Joliet is a Microsoft extension
+  for CD-ROMs that supports Unicode.
   This allows translation between different character sets.  When
-  dealing with the FAT based filesystems, there are two character
+  dealing with the FAT based file systems, there are two character
   sets that are important. The first is the codepage.  Codepages are
   character sets that are used by DOS to allow filenames to have
   native language characters when character sets were limited to
@@ -3850,13 +3850,13 @@
 CONFIG_NLS_CODEPAGE_874
   This is the DOS codepage that is used for Thai.
 
-/proc filesystem support
+/proc file system support
 CONFIG_PROC_FS
-  This is a virtual filesystem providing information about the status
+  This is a virtual file system providing information about the status
   of the system. "Virtual" means that it doesn't take up any space on
   your hard disk: the files are created on the fly when you access
   them. Also, you cannot read the files with less: you need to use
-  more or cat. The filesystem is explained in the Kernel Hacker's
+  more or cat. The file system is explained in the Kernel Hacker's
   Guide, available via FTP (user: anonymous) in
   sunsite.unc.edu:/pub/Linux/docs/LDP and also on the proc(8) manpage
   ("man 8 proc").  This option will enlarge your kernel by about 18
@@ -3868,7 +3868,7 @@
   the same IRQ). Several programs depend on this, so everyone should
   say Y here.
 
-NFS filesystem support
+NFS file system support
 CONFIG_NFS_FS
   If you are connected to some other (usually local) Unix computer
   (using SLIP, PLIP, PPP or Ethernet) and want to mount files
@@ -3877,30 +3877,30 @@
   can access the files with usual UNIX commands as if they were
   sitting on the client's hard disk. For this to work, the server must
   run the programs nfsd and mountd (but does not need to have NFS
-  filesystem support enabled). NFS is explained in the Network
+  file system support enabled). NFS is explained in the Network
   Administrator's Guide, available via FTP (user: anonymous) in
   sunsite.unc.edu:/pub/Linux/docs/LDP, and on its man page: "man nfs".
   There is also a NFS-FAQ in sunsite.unc.edu:/pub/Linux/docs/faqs
   which presumes that you know the basics of NFS already. If you say Y
   here, you should have said Y to TCP/IP networking also. This option
-  would enlarge your kernel by about 27 kB. This filesystem is also
+  would enlarge your kernel by about 27 kB. This file system is also
   available as a module ( = code which can be inserted in and removed
   from the running kernel whenever you want). If you want to compile
   it as a module, say M here and read Documentation/modules.txt.
   If you configure a diskless machine which will mount its root
-  filesystem over NFS, you cannot compile this driver as a module.
+  file system over NFS, you cannot compile this driver as a module.
   If you don't know what all this is about, say N.
 
 Root file system on NFS
 CONFIG_ROOT_NFS
-  If you want your Linux box to mount its whole root filesystem from
+  If you want your Linux box to mount its whole root file system from
   some other computer over the net via NFS (presumably because your
   box doesn't have a hard disk), say Y. Read Documentation/nfsroot.txt
   for details. Most people say N here.
 
 BOOTP support
 CONFIG_RNFS_BOOTP
-  If you want your Linux box to mount its whole root filesystem from
+  If you want your Linux box to mount its whole root file system from
   some other computer over the net via NFS and you want the IP address
   of your computer to be discovered automatically at boot time using
   the BOOTP protocol (a special protocol designed for doing this job),
@@ -3913,7 +3913,7 @@
 
 RARP support
 CONFIG_RNFS_RARP
-  If you want your Linux box to mount its whole root filesystem from
+  If you want your Linux box to mount its whole root file system from
   some other computer over the net via NFS and you want the IP address
   of your computer to be discovered automatically at boot time using
   the RARP protocol (an older protocol which is being obsoleted by
@@ -3921,13 +3921,13 @@
   server must be operating on your network. Read
   Documentation/nfsroot.txt for details.
 
-ISO9660 cdrom filesystem support
+ISO9660 CD-ROM file system support
 CONFIG_ISO9660_FS
-  This is the standard filesystem used on CDROMs. It was previously
+  This is the standard file system used on CD-ROMs. It was previously
   known as "High Sierra Filesystem" and is called "hsfs" on other Unix
   systems. The so-called Rock-Ridge extensions which allow for long
   Unix filenames are also supported by this driver. If you have a
-  CDROM drive and want to do more with it than just listen to audio
+  CD-ROM drive and want to do more with it than just listen to audio
   CDs and watch its LEDs, say Y (and read the CDROM-HOWTO, available
   via FTP (user: anonymous) from sunsite.unc.edu:
   /pub/Linux/docs/HOWTO), thereby enlarging your kernel by about
@@ -3936,20 +3936,20 @@
   kernel whenever you want), say M here and read
   Documentation/modules.txt.
 
-OS/2 HPFS filesystem support (read only)
+OS/2 HPFS file system support (read only)
 CONFIG_HPFS_FS
   OS/2 is IBM's operating system for PC's, the same as Warp, and HPFS
-  is the filesystem used for organizing files on OS/2 hard disk
+  is the file system used for organizing files on OS/2 hard disk
   partitions. Say Y if you want to be able to read files from an OS/2
   HPFS partition of your hard drive. OS/2 floppies however are in
   regular MSDOS format, so you don't need this option in order to be
   able to read them. Read Documentation/filesystems/hpfs.txt. This
-  filesystem is also available as a module ( = code which can be
+  file system is also available as a module ( = code which can be
   inserted in and removed from the running kernel whenever you
   want). If you want to compile it as a module, say M here and read
   Documentation/modules.txt. If unsure, say N.
 
-System V and Coherent filesystem support
+System V and Coherent file system support
 CONFIG_SYSV_FS
   SCO, Xenix and Coherent are commercial Unix systems for Intel
   machines. Enabling this option would allow you to read and write to
@@ -3962,13 +3962,13 @@
   and is often needed to run commercial software, most prominently
   WordPerfect. It's in tsx-11.mit.edu:/pub/linux/BETA). If you only
   intend to mount files from some other Unix over the network using
-  NFS, you don't need the System V filesystem support (but you need
-  NFS filesystem support obviously). Note that this option is
+  NFS, you don't need the System V file system support (but you need
+  NFS file system support obviously). Note that this option is
   generally not needed for floppies, since a good portable way to
   transport files and directories between unixes (and even other
   operating systems) is given by the tar program ("man tar").  Note
   also that this option has nothing whatsoever to do with the option
-  "System V IPC". Read about the System V filesystem in
+  "System V IPC". Read about the System V file system in
   Documentation/filesystems/sysv-fs.txt. This option will enlarge your
   kernel by about 34 kB. If you want to compile this as a module ( =
   code which can be inserted in and removed from the running kernel
@@ -3977,7 +3977,7 @@
 
 Kernel automounter support (EXPERIMENTAL)
 CONFIG_AUTOFS_FS
-  The automounter is a tool to automatically mount remote filesystems
+  The automounter is a tool to automatically mount remote file systems
   on demand.  This implementation is partially kernel-based to reduce
   overhead in the already-mounted case; this is unlike the BSD
   automounter (amd), which is only in user space.  To use the
@@ -3986,15 +3986,15 @@
   a fairly large, distributed network, you probably do not need an
   automounter, and can say N here.
 
-BSD UFS filesystem support (read only)
+BSD UFS file system support (read only)
 CONFIG_UFS_FS
   BSD and derivate versions of Unix (such as SunOS, FreeBSD, NetBSD
-  and NeXTstep) use a filesystem called UFS. Some System V Unixes can
-  create and mount partitions and diskettes using this filesystem
+  and NeXTstep) use a file system called UFS. Some System V Unixes can
+  create and mount partitions and diskettes using this file system
   as well. Enabling this option allows you to mount these partitions
   and diskettes read-only. If you only intend to mount files from
   some other Unix over the network using NFS, you don't need the
-  UFS filesystem support (but you need NFS filesystem support
+  UFS file system support (but you need NFS file system support
   obviously). Note that this option is generally not needed for
   floppies, since a good portable way to transport files and
   directories between unixes (and even other operating systems)
@@ -4014,7 +4014,7 @@
   similarly to DOS extended partitions, putting in its first sector a
   new partition table in disklabel format. Enabling this option allows
   you to read these disklabels and further mount FreeBSD partitions on
-  your Linux box if you also have configured BSD ufs filesystem
+  your Linux box if you also have configured BSD UFS file system
   support. If you don't know what all this is about, say N.
 
 SMD disklabel (Sun partition tables) support
@@ -4022,21 +4022,21 @@
   Like most systems, SunOS uses its own partition table format,
   incompatible with all others.  Enabling this option allows you to
   read these partition tables and further mount SunOS disks on your
-  Linux box if you also have configured BSD ufs filesystem support.
+  Linux box if you also have configured BSD UFS file system support.
   This is mainly used to carry data from a SPARC under SunOS to your
   Linux box via a removable medium like magneto-optical or ZIP drives.
   If you don't know what all this is about, say N.
 
-SMB filesystem support (to mount WfW shares etc...)
+SMB file system support (to mount WfW shares etc...)
 CONFIG_SMB_FS
   SMB (Server Message Buffer) is the protocol Windows for Workgroups
   (WfW), Windows NT and Lan Manager use to talk to each other over an
-  Ethernet. Enabling this allows you to mount their filesystems and
+  Ethernet. Enabling this allows you to mount their file systems and
   access them just like any other unix directory. For details, read
   Documentation/filesystems/smbfs.txt.  Note: if you just want your
   box to act as an SMB *server* and make files and printing services
   available to Windows clients (which need to have a TCP/IP stack),
-  you don't need to enable this filesystem support; you can use the
+  you don't need to enable this file system support; you can use the
   program samba (available via FTP (user: anonymous) in
   sunsite.unc.edu:/pub/Linux/system/Network/samba) for that. General
   information about how to connect Linux, Windows machines and Macs is
@@ -4054,7 +4054,7 @@
   directories unreliable. This option slows down the listing of
   directories. This makes the Windows 95 server a bit more stable.
 
-NCP filesystem support (to mount NetWare volumes)
+NCP file system support (to mount NetWare volumes)
 CONFIG_NCP_FS
   NCP (NetWare Core Protocol) is a protocol that runs over IPX and is
   used by Novell NetWare clients to talk to file servers. It is to IPX
@@ -4113,9 +4113,9 @@
   you count every byte.
   To utilize this feature you must use ncpfs-2.0.12 or newer.
 
-Amiga FFS filesystem support (EXPERIMENTAL)
+Amiga FFS file system support (EXPERIMENTAL)
 CONFIG_AFFS_FS
-  The Fast File System (FFS) is the common filesystem used on
+  The Fast File System (FFS) is the common file system used on
   hard disks by Amiga (tm) Systems since AmigaOS Version 1.3 (34.20).
   It's also possible to mount diskfiles used by
   the Un*X Amiga Emulator by Bernd Schmidt
@@ -4126,7 +4126,7 @@
   however cannot be read with this driver due to an incompatibility of
   the floppy controller used in an Amiga and the standard floppy
   controller in PCs and workstations.  Read
-  Documentation/filesystems/affs.txt.  This filesystem is also
+  Documentation/filesystems/affs.txt.  This file system is also
   available as a module ( = code which can be inserted in and removed
   from the running kernel whenever you want). If you want to compile
   it as a module, say M here and read Documentation/modules.txt.
@@ -4697,7 +4697,7 @@
 CONFIG_PROFILE
   This is for kernel hackers who want to know how much time the kernel
   spends in the various procedures. The information is stored in
-  /proc/profile (enable the /proc filesystem!) and in order to read
+  /proc/profile (enable the /proc file system!) and in order to read
   it, you need the readprofile package from sunsite.unc.edu. Its
   manpage gives information regarding the format of profiling data. To
   become a kernel hacker, you can start with the Kernel Hacker's
@@ -4979,7 +4979,7 @@
 
 Memory flooding
 CONFIG_SADISTIC_KMALLOC
-  A common class of errors, both in userspace programs and the kernel,
+  A common class of errors, both in user space programs and the kernel,
   is accessing memory areas after freeing them.  Programs with such
   errors often work anyway most of the time, since the bug only bites
   if something else happens to allocate the same area in a short time
@@ -4988,7 +4988,7 @@
   any data that has been freed within the kernel, causing such bugs to
   manifest consistently so they may be solved.  Newly allocated memory
   is also flooded, making failure-to-initialize bugs easier to detect.
-  This feature does not affect bugs in userspace programs.
+  This feature does not affect bugs in user space programs.
   Non-kernel hackers should say N.  If there are any such bugs in the
   kernel, there is no point provoking them if you are not prepared to
   fix them.  And it will run slightly slower.
@@ -5017,7 +5017,7 @@
 #
 # LocalWords:  CONFIG coprocessor DX Pentium SX lilo loadlin HOWTO ftp sunsite
 # LocalWords:  unc edu docs emu README kB BLK DEV FD Thinkpad fd MFM RLL IDE gz
-# LocalWords:  cdrom diskless netboot nfs xzvf ATAPI MB ide
+# LocalWords:  cdrom CD-ROM diskless netboot nfs xzvf ATAPI MB ide
 # LocalWords:  HD CDROMs IDECD NEC MITSUMI filesystem XT XD PCI bios
 # LocalWords:  ISA EISA Microchannel VESA BIOSes IPC SYSVIPC ipc Ctrl dmesg hlt
 # LocalWords:  BINFMT Linkable http ac uk jo html GCC SPARC AVANTI CABRIOLET EB
@@ -5065,7 +5065,7 @@
 # LocalWords:  PMAX MILO Alphas Multia Tseng linuxelf endian mipsel mips drv HT
 # LocalWords:  KERNELD kerneld callouts AdvanSys advansys diskquotas Admin WDT
 # LocalWords:  wdt hdb hdc bugfix SiS vlb Acculogic CSA DTC dtc Holtek ht QDI
-# LocalWords:  QD qd UMC umc ALI ali lena fnet fr homepage azstarnet axplinux
+# LocalWords:  QD qd UMC umc ALI ali lena fnet fr azstarnet axplinux
 # LocalWords:  Avanti XL AlphaStations Jensen DECpc AXPpci UDB Cabriolet MCA RC
 # LocalWords:  AlphaPC uwaterloo cpbeaure mca AOUT OUTput PPro sipx gwdg lo nwe
 # LocalWords:  Keepalive linefill RELCOM keepalive analogue CDR conf CDI INIT
diff -urN linux-2.0.40-pre3/Makefile linux/Makefile
--- linux-2.0.40-pre3/Makefile	Tue Jan  8 15:33:10 2002
+++ linux/Makefile	Tue Jan  8 15:33:11 2002
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 0
 SUBLEVEL = 40
-EXTRAVERSION =-pre3
+EXTRAVERSION =-rc1
 
 KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 
@@ -34,14 +34,15 @@
 
 CROSS_COMPILE 	=
 
-AS	=$(CROSS_COMPILE)as
-LD	=$(CROSS_COMPILE)ld
-CC	=$(CROSS_COMPILE)gcc -D__KERNEL__ -I$(HPATH)
-CPP	=$(CC) -E
-AR	=$(CROSS_COMPILE)ar
-NM	=$(CROSS_COMPILE)nm
-STRIP	=$(CROSS_COMPILE)strip
-MAKE	=make
+AS	= $(CROSS_COMPILE)as
+LD	= $(CROSS_COMPILE)ld
+CC	= $(CROSS_COMPILE)gcc -D__KERNEL__ -I$(HPATH)
+CPP	= $(CC) -E
+AR	= $(CROSS_COMPILE)ar
+NM	= $(CROSS_COMPILE)nm
+STRIP	= $(CROSS_COMPILE)strip
+MAKE	= make
+PERL	= perl
 
 all:	do-it-all
 
diff -urN linux-2.0.40-pre3/arch/i386/kernel/smp.c linux/arch/i386/kernel/smp.c
--- linux-2.0.40-pre3/arch/i386/kernel/smp.c	Sun Nov 15 10:32:46 1998
+++ linux/arch/i386/kernel/smp.c	Tue Jan  8 15:33:11 2002
@@ -22,6 +22,7 @@
  */
 
 #include <linux/kernel.h>
+#include <linux/config.h>
 #include <linux/string.h>
 #include <linux/timer.h>
 #include <linux/sched.h>
diff -urN linux-2.0.40-pre3/drivers/block/cpqarray.h linux/drivers/block/cpqarray.h
--- linux-2.0.40-pre3/drivers/block/cpqarray.h	Sun Jun 13 10:21:00 1999
+++ linux/drivers/block/cpqarray.h	Tue Jan  8 15:33:11 2002
@@ -29,7 +29,6 @@
 #include <linux/blkdev.h>
 #include <linux/locks.h>
 #include <linux/malloc.h>
-#include <linux/config.h>
 #include <linux/md.h>
 #include <linux/timer.h>
 #endif
diff -urN linux-2.0.40-pre3/drivers/isdn/hisax/elsa_ser.c linux/drivers/isdn/hisax/elsa_ser.c
--- linux-2.0.40-pre3/drivers/isdn/hisax/elsa_ser.c	Tue Jan  8 15:33:10 2002
+++ linux/drivers/isdn/hisax/elsa_ser.c	Tue Jan  8 15:33:11 2002
@@ -1,3 +1,4 @@
+#include <linux/config.h>
 #include <linux/serial.h>
 #include <linux/serial_reg.h>
 
diff -urN linux-2.0.40-pre3/drivers/isdn/icn/icn.c linux/drivers/isdn/icn/icn.c
--- linux-2.0.40-pre3/drivers/isdn/icn/icn.c	Tue Jan  8 15:33:10 2002
+++ linux/drivers/isdn/icn/icn.c	Tue Jan  8 15:33:11 2002
@@ -202,6 +202,7 @@
  *
  */
 
+#include <linux/config.h>
 #include "icn.h"
 
 /*
diff -urN linux-2.0.40-pre3/drivers/isdn/isdn_common.h linux/drivers/isdn/isdn_common.h
--- linux-2.0.40-pre3/drivers/isdn/isdn_common.h	Sun Nov 15 10:32:59 1998
+++ linux/drivers/isdn/isdn_common.h	Tue Jan  8 15:33:11 2002
@@ -53,6 +53,8 @@
  *
  */
 
+#include <linux/config.h>
+
 #undef  ISDN_DEBUG_MODEM_OPEN
 #undef  ISDN_DEBUG_MODEM_IOCTL
 #undef  ISDN_DEBUG_MODEM_WAITSENT
diff -urN linux-2.0.40-pre3/drivers/net/de4x5.c linux/drivers/net/de4x5.c
--- linux-2.0.40-pre3/drivers/net/de4x5.c	Sun Jun 13 10:21:01 1999
+++ linux/drivers/net/de4x5.c	Tue Jan  8 15:33:11 2002
@@ -414,6 +414,7 @@
 #include <linux/module.h>
 
 #include <linux/kernel.h>
+#include <linux/config.h>
 #include <linux/sched.h>
 #include <linux/string.h>
 #include <linux/interrupt.h>
diff -urN linux-2.0.40-pre3/drivers/net/depca.c linux/drivers/net/depca.c
--- linux-2.0.40-pre3/drivers/net/depca.c	Sun Jun 13 10:21:01 1999
+++ linux/drivers/net/depca.c	Tue Jan  8 15:33:11 2002
@@ -229,6 +229,7 @@
 #include <linux/module.h>
 
 #include <linux/kernel.h>
+#include <linux/config.h>
 #include <linux/sched.h>
 #include <linux/string.h>
 #include <linux/ptrace.h>
diff -urN linux-2.0.40-pre3/drivers/scsi/aic7xxx_proc.c linux/drivers/scsi/aic7xxx_proc.c
--- linux-2.0.40-pre3/drivers/scsi/aic7xxx_proc.c	Sun Jun 13 10:21:02 1999
+++ linux/drivers/scsi/aic7xxx_proc.c	Tue Jan  8 15:33:11 2002
@@ -29,6 +29,8 @@
  *  $Id: aic7xxx_proc.c,v 4.1 1997/06/97 08:23:42 deang Exp $
  *-M*************************************************************************/
 
+#include <linux/config.h>
+
 #define	BLS	(&aic7xxx_buffer[size])
 #define HDRB \
 "             < 2K      2K+     4K+     8K+    16K+    32K+    64K+   128K+"
diff -urN linux-2.0.40-pre3/drivers/scsi/ini9100u.c linux/drivers/scsi/ini9100u.c
--- linux-2.0.40-pre3/drivers/scsi/ini9100u.c	Sun Jun 13 10:21:02 1999
+++ linux/drivers/scsi/ini9100u.c	Tue Jan  8 15:33:11 2002
@@ -116,12 +116,8 @@
 
 #if LINUX_VERSION_CODE >= CVT_LINUX_VERSION(1,3,0)
 #include <stdarg.h>
-#include <asm/io.h>
 #include <asm/irq.h>
-#include <linux/string.h>
 #include <linux/errno.h>
-#include <linux/kernel.h>
-#include <linux/ioport.h>
 #if LINUX_VERSION_CODE <= CVT_LINUX_VERSION(2,1,92)
 #include <linux/bios32.h>
 #endif
@@ -136,33 +132,28 @@
 #if LINUX_VERSION_CODE >= CVT_LINUX_VERSION(2,1,95)
 #include <asm/spinlock.h>
 #endif
-#include "sd.h"
-#include "scsi.h"
-#include "hosts.h"
-#include "ini9100u.h"
 #include <linux/stat.h>
-#include <linux/malloc.h>
 #include <linux/config.h>
 
 #else
 
-#include <linux/kernel.h>
 #include <linux/head.h>
 #include <linux/types.h>
-#include <linux/string.h>
-#include <linux/ioport.h>
-
 #include <linux/sched.h>
 #include <linux/proc_fs.h>
 #include <asm/system.h>
-#include <asm/io.h>
 #include "../block/blk.h"
-#include "scsi.h"
+#endif
+
 #include "sd.h"
 #include "hosts.h"
-#include <linux/malloc.h>
+#include "scsi.h"
 #include "ini9100u.h"
-#endif
+#include <linux/kernel.h>
+#include <linux/malloc.h>
+#include <linux/string.h>
+#include <linux/ioport.h>
+#include <asm/io.h>
 
 #if LINUX_VERSION_CODE >= CVT_LINUX_VERSION(2,1,93)
 #ifdef CONFIG_PCI
diff -urN linux-2.0.40-pre3/drivers/scsi/inia100.c linux/drivers/scsi/inia100.c
--- linux-2.0.40-pre3/drivers/scsi/inia100.c	Sun Jun 13 10:21:02 1999
+++ linux/drivers/scsi/inia100.c	Tue Jan  8 15:33:11 2002
@@ -73,11 +73,8 @@
 
 #if LINUX_VERSION_CODE >= CVT_LINUX_VERSION(1,3,0)
 #include <stdarg.h>
-#include <asm/io.h>
 #include <asm/irq.h>
-#include <linux/string.h>
 #include <linux/errno.h>
-#include <linux/kernel.h>
 #include <linux/ioport.h>
 #include <linux/delay.h>
 #include <linux/sched.h>
@@ -93,34 +90,29 @@
 #if LINUX_VERSION_CODE >= CVT_LINUX_VERSION(2,1,95)
 #include <asm/spinlock.h>
 #endif
-#include "sd.h"
-#include "scsi.h"
-#include "hosts.h"
-#include "inia100.h"
 #include <linux/stat.h>
-#include <linux/malloc.h>
 #include <linux/config.h>
 
-
 #else
 
-#include <linux/kernel.h>
 #include <linux/head.h>
 #include <linux/types.h>
-#include <linux/string.h>
 #include <linux/ioport.h>
 
 #include <linux/sched.h>
 #include <linux/proc_fs.h>
 #include <asm/system.h>
-#include <asm/io.h>
 #include "../block/blk.h"
-#include "scsi.h"
+#endif
+
 #include "sd.h"
+#include "scsi.h"
 #include "hosts.h"
-#include <linux/malloc.h>
 #include "inia100.h"
-#endif
+#include <linux/kernel.h>
+#include <linux/string.h>
+#include <linux/malloc.h>
+#include <asm/io.h>
 
 #ifdef MODULE
 Scsi_Host_Template driver_template = INIA100;
diff -urN linux-2.0.40-pre3/drivers/scsi/megaraid.c linux/drivers/scsi/megaraid.c
--- linux-2.0.40-pre3/drivers/scsi/megaraid.c	Sun Jun 13 10:21:02 1999
+++ linux/drivers/scsi/megaraid.c	Tue Jan  8 15:33:11 2002
@@ -65,7 +65,6 @@
 
 #define CRLFSTR "\n"
 
-#include <linux/config.h>
 #include <linux/version.h>
 
 #ifdef MODULE
@@ -82,8 +81,6 @@
 #include <linux/types.h>
 #include <linux/errno.h>
 #include <linux/kernel.h>
-#include <linux/sched.h>
-#include <linux/malloc.h>
 #include <linux/ioport.h>
 #include <linux/fcntl.h>
 #include <linux/delay.h>
diff -urN linux-2.0.40-pre3/fs/ext2/ialloc.c linux/fs/ext2/ialloc.c
--- linux-2.0.40-pre3/fs/ext2/ialloc.c	Sun Nov 15 10:33:12 1998
+++ linux/fs/ext2/ialloc.c	Tue Jan  8 15:33:11 2002
@@ -299,7 +299,7 @@
 {
 	struct super_block * sb;
 	struct buffer_head * bh;
-	struct buffer_head * bh2;
+	struct buffer_head * bh2, * tmpbh2;
 	int i, j, avefreei;
 	struct inode * inode;
 	int bitmap_nr;
@@ -327,9 +327,10 @@
 /* I am not yet convinced that this next bit is necessary.
 		i = dir->u.ext2_i.i_block_group;
 		for (j = 0; j < sb->u.ext2_sb.s_groups_count; j++) {
-			tmp = get_group_desc (sb, i, &bh2);
+			tmp = get_group_desc (sb, i, &tmpbh2);
 			if ((tmp->bg_used_dirs_count << 8) < 
 			    tmp->bg_free_inodes_count) {
+				bh2 = tmpbh2;
 				gdp = tmp;
 				break;
 			}
@@ -339,13 +340,14 @@
 */
 		if (!gdp) {
 			for (j = 0; j < sb->u.ext2_sb.s_groups_count; j++) {
-				tmp = get_group_desc (sb, j, &bh2);
+				tmp = get_group_desc (sb, j, &tmpbh2);
 				if (tmp->bg_free_inodes_count &&
 					tmp->bg_free_inodes_count >= avefreei) {
 					if (!gdp || 
 					    (tmp->bg_free_blocks_count >
 					     gdp->bg_free_blocks_count)) {
 						i = j;
+						bh2 = tmpbh2;
 						gdp = tmp;
 					}
 				}
@@ -358,11 +360,11 @@
 		 * Try to place the inode in its parent directory
 		 */
 		i = dir->u.ext2_i.i_block_group;
-		tmp = get_group_desc (sb, i, &bh2);
-		if (tmp->bg_free_inodes_count)
+		tmp = get_group_desc (sb, i, &tmpbh2);
+		if (tmp->bg_free_inodes_count) {
+			bh2 = tmpbh2;
 			gdp = tmp;
-		else
-		{
+		} else {
 			/*
 			 * Use a quadratic hash to find a group with a
 			 * free inode
@@ -371,8 +373,9 @@
 				i += j;
 				if (i >= sb->u.ext2_sb.s_groups_count)
 					i -= sb->u.ext2_sb.s_groups_count;
-				tmp = get_group_desc (sb, i, &bh2);
+				tmp = get_group_desc (sb, i, &tmpbh2);
 				if (tmp->bg_free_inodes_count) {
+					bh2 = tmpbh2;
 					gdp = tmp;
 					break;
 				}
@@ -386,8 +389,9 @@
 			for (j = 2; j < sb->u.ext2_sb.s_groups_count; j++) {
 				if (++i >= sb->u.ext2_sb.s_groups_count)
 					i = 0;
-				tmp = get_group_desc (sb, i, &bh2);
+				tmp = get_group_desc (sb, i, &tmpbh2);
 				if (tmp->bg_free_inodes_count) {
+					bh2 = tmpbh2;
 					gdp = tmp;
 					break;
 				}
diff -urN linux-2.0.40-pre3/include/asm-i386/mtrr.h linux/include/asm-i386/mtrr.h
--- linux-2.0.40-pre3/include/asm-i386/mtrr.h	Sun Nov 15 10:33:15 1998
+++ linux/include/asm-i386/mtrr.h	Tue Jan  8 15:33:11 2002
@@ -52,6 +52,8 @@
 
 #ifdef __KERNEL__
 
+#include <linux/config.h>
+
 #ifdef CONFIG_MTRR
 
 extern void check_mtrr_config(void);
diff -urN linux-2.0.40-pre3/include/asm-i386/page.h linux/include/asm-i386/page.h
--- linux-2.0.40-pre3/include/asm-i386/page.h	Sun Jun 13 10:21:03 1999
+++ linux/include/asm-i386/page.h	Tue Jan  8 15:33:11 2002
@@ -52,6 +52,8 @@
 #endif
 #endif /* !__ASSEMBLY__ */
 
+#include <linux/config.h>
+
 /* to align the pointer to the (next) page boundary */
 #define PAGE_ALIGN(addr)	(((addr)+PAGE_SIZE-1)&PAGE_MASK)
 
diff -urN linux-2.0.40-pre3/include/linux/hdlcdrv.h linux/include/linux/hdlcdrv.h
--- linux-2.0.40-pre3/include/linux/hdlcdrv.h	Mon Jul 13 13:47:39 1998
+++ linux/include/linux/hdlcdrv.h	Tue Jan  8 15:33:11 2002
@@ -9,7 +9,6 @@
 
 #include <linux/version.h>
 #include <linux/sockios.h>
-#include <linux/version.h>
 #if LINUX_VERSION_CODE < 0x20119
 #include <linux/if_ether.h>
 #endif
diff -urN linux-2.0.40-pre3/include/linux/interrupt.h linux/include/linux/interrupt.h
--- linux-2.0.40-pre3/include/linux/interrupt.h	Sun Nov 15 10:33:17 1998
+++ linux/include/linux/interrupt.h	Tue Jan  8 15:33:11 2002
@@ -3,7 +3,9 @@
 #define _LINUX_INTERRUPT_H
 
 #include <linux/kernel.h>
+
 #include <asm/bitops.h>
+#include <asm/ptrace.h>
 
 struct irqaction {
 	void (*handler)(int, void *, struct pt_regs *);
@@ -25,7 +27,7 @@
 
 /* Who gets which entry in bh_base.  Things which will occur most often
    should come first - in which case NET should be up the top with SERIAL/TQUEUE! */
-   
+
 enum {
 	TIMER_BH = 0,
 	CONSOLE_BH,
@@ -33,7 +35,7 @@
 	DIGI_BH,
 	SERIAL_BH,
 	RISCOM8_BH,
- 	SPECIALIX_BH,
+	SPECIALIX_BH,
 	BAYCOM_BH,
 	NET_BH,
 	IMMEDIATE_BH,
@@ -117,4 +119,4 @@
 extern unsigned long probe_irq_on(void);	/* returns 0 on failure */
 extern int probe_irq_off(unsigned long);	/* returns 0 or negative on failure */
 
-#endif
+#endif /* _LINUX_INTERRUPT_H */
diff -urN linux-2.0.40-pre3/include/linux/module.h linux/include/linux/module.h
--- linux-2.0.40-pre3/include/linux/module.h	Wed Jun  3 15:17:49 1998
+++ linux/include/linux/module.h	Tue Jan  8 15:33:11 2002
@@ -46,14 +46,14 @@
 struct internal_symbol {
 	void *addr;
 	const char *name;
-	};
+};
 
 struct symbol_table { /* received from "insmod" */
 	int size; /* total, including string table!!! */
 	int n_symbols;
 	int n_refs;
-	struct internal_symbol symbol[0]; /* actual size defined by n_symbols */
-	struct module_ref ref[0]; /* actual size defined by n_refs */
+	struct internal_symbol symbol[1]; /* actual size defined by n_symbols */
+	struct module_ref ref[1]; /* actual size defined by n_refs */
 };
 /*
  * Note: The string table follows immediately after the symbol table in memory!
@@ -65,7 +65,7 @@
 	struct symbol_table *symtab;
 	const char *name;
 	int size;			/* size of module in pages */
-	void* addr;			/* address of module */
+	void *addr;			/* address of module */
 	int state;
 	void (*cleanup)(void);		/* cleanup routine */
 };
diff -urN linux-2.0.40-pre3/include/linux/sched.h linux/include/linux/sched.h
--- linux-2.0.40-pre3/include/linux/sched.h	Tue Jan  9 13:29:20 2001
+++ linux/include/linux/sched.h	Tue Jan  8 15:33:11 2002
@@ -327,7 +327,7 @@
 extern unsigned long volatile jiffies;
 extern unsigned long itimer_ticks;
 extern unsigned long itimer_next;
-extern struct timeval xtime;
+extern volatile struct timeval xtime;
 extern int need_resched;
 extern void do_timer(struct pt_regs *);
 
@@ -457,7 +457,7 @@
 		return;
 	if (p->nr >= __MAX_SELECT_TABLE_ENTRIES)
 		return;
- 	entry = p->entry + p->nr;
+	entry = p->entry + p->nr;
 	entry->wait_address = wait_address;
 	entry->wait.task = current;
 	entry->wait.next = NULL;
diff -urN linux-2.0.40-pre3/include/linux/skbuff.h linux/include/linux/skbuff.h
--- linux-2.0.40-pre3/include/linux/skbuff.h	Tue Jan  8 15:33:10 2002
+++ linux/include/linux/skbuff.h	Tue Jan  8 15:33:11 2002
@@ -10,7 +10,7 @@
  *	as published by the Free Software Foundation; either version
  *	2 of the License, or (at your option) any later version.
  */
- 
+
 #ifndef _LINUX_SKBUFF_H
 #define _LINUX_SKBUFF_H
 
@@ -31,10 +31,10 @@
 #define CHECKSUM_HW 1
 #define CHECKSUM_UNNECESSARY 2
 
-struct sk_buff_head 
+struct sk_buff_head
 {
-	struct sk_buff	* next;
-	struct sk_buff	* prev;
+	struct sk_buff	*next;
+	struct sk_buff	*prev;
 	__u32		qlen;		/* Must be same length as a pointer
 					   for using debugging */
 #if CONFIG_SKB_CHECK
@@ -43,20 +43,20 @@
 };
 
 
-struct sk_buff 
+struct sk_buff
 {
-	struct sk_buff	* next;			/* Next buffer in list 				*/
-	struct sk_buff	* prev;			/* Previous buffer in list 			*/
-	struct sk_buff_head * list;		/* List we are on				*/
+	struct sk_buff	*next;			/* Next buffer in list */
+	struct sk_buff	*prev;			/* Previous buffer in list */
+	struct sk_buff_head *list;		/* List we are on */
 #if CONFIG_SKB_CHECK
 	int		magic_debug_cookie;
 #endif
-	struct sk_buff	*link3;			/* Link for IP protocol level buffer chains 	*/
-	struct sock	*sk;			/* Socket we are owned by 			*/
-	unsigned long	when;			/* used to compute rtt's			*/
-	struct timeval	stamp;			/* Time we arrived				*/
-	struct device	*dev;			/* Device we arrived on/are leaving by		*/
-	union 
+	struct sk_buff	*link3;			/* Link for IP protocol level buffer chains */
+	struct sock	*sk;			/* Socket we are owned by */
+	unsigned long	when;			/* used to compute rtt's */
+	struct timeval	stamp;			/* Time we arrived */
+	struct device	*dev;			/* Device we arrived on/are leaving by */
+	union
 	{
 		struct tcphdr	*th;
 		struct ethhdr	*eth;
@@ -66,50 +66,50 @@
 		/* for passing file handles in a unix domain socket */
 		void *filp;
 	} h;
-  
-	union 
-	{	
+
+	union
+	{
 		/* As yet incomplete physical layer views */
-	  	unsigned char 	*raw;
-	  	struct ethhdr	*ethernet;
+		unsigned char	*raw;
+		struct ethhdr	*ethernet;
 	} mac;
-  
-	struct iphdr	*ip_hdr;		/* For IPPROTO_RAW 				*/
-	unsigned long 	len;			/* Length of actual data			*/
-	unsigned long	csum;			/* Checksum 					*/
-	__u32		saddr;			/* IP source address				*/
-	__u32		daddr;			/* IP target address				*/
-	__u32		raddr;			/* IP next hop address				*/
-	__u32		seq;			/* TCP sequence number				*/
-	__u32		end_seq;		/* seq [+ fin] [+ syn] + datalen		*/
-	__u32		ack_seq;		/* TCP ack sequence number			*/
-	unsigned char	proto_priv[16];	        /* Protocol private data			*/
-	volatile char 	acked,			/* Are we acked ?				*/
-			used,			/* Are we in use ?				*/
-			free,			/* How to free this buffer			*/
-			arp;			/* Has IP/ARP resolution finished		*/
-	unsigned char	tries,			/* Times tried					*/
-  			lock,			/* Are we locked ?				*/
-  			localroute,		/* Local routing asserted for this frame	*/
-  			pkt_type,		/* Packet class					*/
-  			pkt_bridged,		/* Tracker for bridging 			*/
-  			ip_summed;		/* Driver fed us an IP checksum			*/
-#define PACKET_HOST		0		/* To us					*/
-#define PACKET_BROADCAST	1		/* To all					*/
-#define PACKET_MULTICAST	2		/* To group					*/
-#define PACKET_OTHERHOST	3		/* To someone else 				*/
-	unsigned short	users;			/* User count - see datagram.c,tcp.c 		*/
-	unsigned short	protocol;		/* Packet protocol from driver. 		*/
-	unsigned int	truesize;		/* Buffer size 					*/
-
-	atomic_t	count;			/* reference count				*/
-	struct sk_buff	*data_skb;		/* Link to the actual data skb			*/
-	unsigned char	*head;			/* Head of buffer 				*/
-	unsigned char	*data;			/* Data head pointer				*/
-	unsigned char	*tail;			/* Tail pointer					*/
-	unsigned char 	*end;			/* End pointer					*/
-	void 		(*destructor)(struct sk_buff *);	/* Destruct function		*/
-	__u16		redirport;		/* Redirect port				*/
+
+	struct iphdr	*ip_hdr;		/* For IPPROTO_RAW */
+	unsigned long	len;			/* Length of actual data */
+	unsigned long	csum;			/* Checksum */
+	__u32		saddr;			/* IP source address */
+	__u32		daddr;			/* IP target address */
+	__u32		raddr;			/* IP next hop address */
+	__u32		seq;			/* TCP sequence number */
+	__u32		end_seq;		/* seq [+ fin] [+ syn] + datalen */
+	__u32		ack_seq;		/* TCP ack sequence number	 */
+	unsigned char	proto_priv[16];	        /* Protocol private data	 */
+	volatile char	acked,			/* Are we acke ? */
+			used,			/* Are we in use ? */
+			free,			/* How to free this buffer */
+			arp;			/* Has IP/ARP resolution finished */
+	unsigned char	tries,			/* Times tried */
+			lock,			/* Are we locked ? */
+			localroute,		/* Local routing asserted for this frame */
+			pkt_type,		/* Packet class */
+			pkt_bridged,		/* Tracker for bridging */
+			ip_summed;		/* Driver fed us an IP checksum */
+#define PACKET_HOST		0		/* To us */
+#define PACKET_BROADCAST	1		/* To all */
+#define PACKET_MULTICAST	2		/* To group */
+#define PACKET_OTHERHOST	3		/* To someone else */
+	unsigned short	users;			/* User count - see datagram.c,tcp.c */
+	unsigned short	protocol;		/* Packet protocol from driver. */
+	unsigned int	truesize;		/* Buffer size */
+
+	atomic_t	count;			/* reference count */
+	struct sk_buff	*data_skb;		/* Link to the actual data skb */
+	unsigned char	*head;			/* Head of buffer */
+	unsigned char	*data;			/* Data head pointer */
+	unsigned char	*tail;			/* Tail pointer */
+	unsigned char	*end;			/* End pointer */
+	void		(*destructor)(struct sk_buff *);	/* Destruct function */
+	__u16		redirport;		/* Redirect port */
 
 	/*
 	 *	Keep this at the end then we wont break stuff.
@@ -150,11 +150,11 @@
 #endif
 extern void			kfree_skb(struct sk_buff *skb, int rw);
 extern void			skb_queue_head_init(struct sk_buff_head *list);
-extern void			skb_queue_head(struct sk_buff_head *list,struct sk_buff *buf);
-extern void			skb_queue_tail(struct sk_buff_head *list,struct sk_buff *buf);
+extern void			skb_queue_head(struct sk_buff_head *list, struct sk_buff *buf);
+extern void			skb_queue_tail(struct sk_buff_head *list, struct sk_buff *buf);
 extern struct sk_buff *		skb_dequeue(struct sk_buff_head *list);
-extern void 			skb_insert(struct sk_buff *old,struct sk_buff *newsk);
-extern void			skb_append(struct sk_buff *old,struct sk_buff *newsk);
+extern void			skb_insert(struct sk_buff *old, struct sk_buff *newsk);
+extern void			skb_append(struct sk_buff *old, struct sk_buff *newsk);
 extern void			skb_unlink(struct sk_buff *buf);
 extern __u32			skb_queue_len(struct sk_buff_head *list);
 extern struct sk_buff *		skb_peek_copy(struct sk_buff_head *list);
@@ -173,7 +173,7 @@
 extern int			skb_headroom(struct sk_buff *skb);
 extern int			skb_tailroom(struct sk_buff *skb);
 extern void			skb_reserve(struct sk_buff *skb, int len);
-extern void 			skb_trim(struct sk_buff *skb, int len);
+extern void			skb_trim(struct sk_buff *skb, int len);
 
 extern __inline__ int skb_queue_empty(struct sk_buff_head *list)
 {
@@ -410,7 +410,7 @@
 /*
  *	Add data to an sk_buff
  */
- 
+
 extern __inline__ unsigned char *skb_put(struct sk_buff *skb, int len)
 {
 	unsigned char *tmp=skb->tail;
@@ -419,8 +419,8 @@
 	if(skb->tail>skb->end)
 	{
 		__label__ here;
-		panic("skput:over: %p:%d", &&here,len);
-here:
+		panic("skput:over: %p:%d", &&here, len);
+here:;
 	}
 	return tmp;
 }
@@ -432,8 +432,8 @@
 	if(skb->data<skb->head)
 	{
 		__label__ here;
-		panic("skpush:under: %p:%d", &&here,len);
-here:
+		panic("skpush:under: %p:%d", &&here, len);
+here:;
 	}
 	return skb->data;
 }
diff -urN linux-2.0.40-pre3/init/main.c linux/init/main.c
--- linux-2.0.40-pre3/init/main.c	Tue Jan  8 15:33:10 2002
+++ linux/init/main.c	Tue Jan  8 15:33:11 2002
@@ -614,7 +614,7 @@
    (up to lps_precision bits) */
 	loops_per_sec >>= 1;
 	loopbit = loops_per_sec;
-	while ( lps_precision-- && (loopbit >>= 1) ) {
+	while (lps_precision-- && (loopbit >>= 1) ) {
 		loops_per_sec |= loopbit;
 		ticks = jiffies;
 		while (ticks == jiffies);
@@ -624,9 +624,9 @@
 			loops_per_sec &= ~loopbit;
 	}
 
-/* finally, adjust loops per second in terms of seconds instead of clocks */	
+/* finally, adjust loops per second in terms of seconds instead of clocks */
 	loops_per_sec *= HZ;
-/* Round the value and print it */	
+/* Round the value and print it */
 	printk("ok - %lu.%02lu BogoMIPS\n",
 		(loops_per_sec+2500)/500000,
 		((loops_per_sec+2500)/5000) % 100);
diff -urN linux-2.0.40-pre3/kernel/dma.c linux/kernel/dma.c
--- linux-2.0.40-pre3/kernel/dma.c	Tue Aug  1 00:02:47 1995
+++ linux/kernel/dma.c	Tue Jan  8 15:33:11 2002
@@ -94,6 +94,6 @@
 	if (xchg(&dma_chan_busy[dmanr].lock, 0) == 0) {
 		printk("Trying to free free DMA%d\n", dmanr);
 		return;
-	}	
+	}
 
 } /* free_dma */
diff -urN linux-2.0.40-pre3/kernel/ksyms.c linux/kernel/ksyms.c
--- linux-2.0.40-pre3/kernel/ksyms.c	Sun Jun 13 10:21:04 1999
+++ linux/kernel/ksyms.c	Tue Jan  8 15:33:11 2002
@@ -61,9 +61,6 @@
 #include <linux/kerneld.h>
 #endif
 #include <asm/irq.h>
-#ifdef __SMP__
-#include <linux/smp.h>
-#endif
 
 extern char *get_options(char *str, int *ints);
 extern void set_device_ro(kdev_t dev,int flag);
diff -urN linux-2.0.40-pre3/kernel/sched.c linux/kernel/sched.c
--- linux-2.0.40-pre3/kernel/sched.c	Tue Jan  8 15:33:10 2002
+++ linux/kernel/sched.c	Tue Jan  8 15:33:11 2002
@@ -49,7 +49,7 @@
 int securelevel = 0;			/* system security level */
 
 long tick = (1000000 + HZ/2) / HZ;	/* timer interrupt period */
-volatile struct timeval xtime;		/* The current time */
+volatile struct timeval xtime __attribute__ ((aligned (16)));	/* The current time */
 int tickadj = 500/HZ ? 500/HZ : 1;	/* microsecs */
 
 DECLARE_TASK_QUEUE(tq_timer);
@@ -98,7 +98,7 @@
 struct mm_struct init_mm = INIT_MM;
 struct task_struct init_task = INIT_TASK;
 
-unsigned long volatile jiffies=0;
+unsigned long volatile jiffies = 0;
 
 struct task_struct *current_set[NR_CPUS];
 struct task_struct *last_task_used_math = NULL;
@@ -1428,7 +1428,8 @@
 
 #endif
 
-static struct task_struct *find_process_by_pid(pid_t pid) {
+static struct task_struct *find_process_by_pid(pid_t pid)
+{
 	struct task_struct *p, *q;
 
 	if (pid == 0)
@@ -1445,8 +1446,7 @@
 	return p;
 }
 
-static int setscheduler(pid_t pid, int policy, 
-			struct sched_param *param)
+static int setscheduler(pid_t pid, int policy, struct sched_param *param)
 {
 	int error;
 	struct sched_param lp;
diff -urN linux-2.0.40-pre3/kernel/sysctl.c linux/kernel/sysctl.c
--- linux-2.0.40-pre3/kernel/sysctl.c	Mon Jul 13 13:47:40 1998
+++ linux/kernel/sysctl.c	Tue Jan  8 15:33:11 2002
@@ -21,7 +21,6 @@
 #include <asm/segment.h>
 
 #include <linux/utsname.h>
-#include <linux/swapctl.h>
 
 /* External variables not in a header file. */
 extern int panic_timeout;
diff -urN linux-2.0.40-pre3/lib/string.c linux/lib/string.c
--- linux-2.0.40-pre3/lib/string.c	Tue Apr 23 03:24:52 1996
+++ linux/lib/string.c	Tue Jan  8 15:33:11 2002
@@ -10,25 +10,41 @@
  *
  * These are buggy as well..
  */
- 
+
 #include <linux/types.h>
 #include <linux/string.h>
 
-char * ___strtok = NULL;
+char *___strtok = NULL;
 
 #ifndef __HAVE_ARCH_STRCPY
-char * strcpy(char * dest,const char *src)
+/**
+ * strcpy - Copy a %NUL terminated string
+ * @dest: Where to copy the string to
+ * @src: Where to copy the string from
+ */
+char *strcpy(char *dest, const char *src)
 {
 	char *tmp = dest;
 
 	while ((*dest++ = *src++) != '\0')
 		/* nothing */;
+
 	return tmp;
 }
-#endif
+#endif /* __HAVE_ARCH_STRCPY */
 
 #ifndef __HAVE_ARCH_STRNCPY
-char * strncpy(char * dest,const char *src,size_t count)
+/**
+ * strncpy - Copy a length-limited, %NUL-terminated string
+ * @dest: Where to copy the string to
+ * @src: Where to copy the string from
+ * @count: The maximum number of bytes to copy
+ *
+ * Note that unlike userspace strncpy, this does not %NUL-pad the buffer.
+ * However, the result is not %NUL-terminated if the source exceeds
+ * @count bytes.
+ */
+char *strncpy(char *dest, const char *src, size_t count)
 {
 	char *tmp = dest;
 
@@ -37,21 +53,26 @@
 
 	return tmp;
 }
-#endif
+#endif /* __HAVE_ARCH_STRNCPY */
 
 #ifndef __HAVE_ARCH_STRCAT
-char * strcat(char * dest, const char * src)
+/**
+ * strcat - Append one %NUL-terminated string to another
+ * @dest: The string to be appended to
+ * @src: The string to append to it
+ */
+char *strcat(char *dest, const char *src)
 {
 	char *tmp = dest;
 
 	while (*dest)
 		dest++;
 	while ((*dest++ = *src++) != '\0')
-		;
+		/* nothing */;
 
 	return tmp;
 }
-#endif
+#endif /* __HAVE_ARCH_STRCAT */
 
 #ifndef __HAVE_ARCH_STRNCAT
 char * strncat(char *dest, const char *src, size_t count)
@@ -71,10 +92,19 @@
 
 	return tmp;
 }
-#endif
+#endif /* __HAVE_ARCH_STRNCAT */
 
 #ifndef __HAVE_ARCH_STRCMP
-int strcmp(const char * cs,const char * ct)
+/**
+ * strncat - Append a length-limited, %NUL-terminated string to another
+ * @dest: The string to be appended to
+ * @src: The string to append to it
+ * @count: The maximum numbers of bytes to copy
+ *
+ * Note that in contrast to strncpy, strncat ensures the result is
+ * terminated.
+ */
+int strcmp(const char *cs, const char *ct)
 {
 	register signed char __res;
 
@@ -85,10 +115,15 @@
 
 	return __res;
 }
-#endif
+#endif /* __HAVE_ARCH_STRCMP */
 
 #ifndef __HAVE_ARCH_STRNCMP
-int strncmp(const char * cs,const char * ct,size_t count)
+/**
+ * strcmp - Compare two strings
+ * @cs: One string
+ * @ct: Another string
+ */
+int strncmp(const char *cs, const char *ct, size_t count)
 {
 	register signed char __res = 0;
 
@@ -100,32 +135,47 @@
 
 	return __res;
 }
-#endif
+#endif /* __HAVE_ARCH_STRNCMP */
 
 #ifndef __HAVE_ARCH_STRCHR
-char * strchr(const char * s, int c)
+/**
+ * strncmp - Compare two length-limited strings
+ * @cs: One string
+ * @ct: Another string
+ * @count: The maximum number of bytes to compare
+ */
+char *strchr(const char *s, int c)
 {
-	for(; *s != (char) c; ++s)
+	for (; *s != (char)c; ++s)
 		if (*s == '\0')
 			return NULL;
-	return (char *) s;
+	return (char *)s;
 }
-#endif
+#endif /* __HAVE_ARCH_STRCHR */
 
 #ifndef __HAVE_ARCH_STRRCHR
-char * strrchr(const char * s, int c)
+/**
+ * strchr - Find the first occurrence of a character in a string
+ * @s: The string to be searched
+ * @c: The character to search for
+ */
+char *strrchr(const char *s, int c)
 {
-       const char *p = s + strlen(s);
-       do {
-           if (*p == (char)c)
-               return (char *)p;
-       } while (--p >= s);
-       return NULL;
+	const char *p = s + strlen(s);
+	do {
+		if (*p == (char)c)
+			return (char *)p;
+	} while (--p >= s);
+	return NULL;
 }
-#endif
+#endif /* __HAVE_ARCH_STRRCHR */
 
 #ifndef __HAVE_ARCH_STRLEN
-size_t strlen(const char * s)
+/**
+ * strlen - Find the length of a string
+ * @s: The string to be sized
+ */
+size_t strlen(const char *s)
 {
 	const char *sc;
 
@@ -133,10 +183,15 @@
 		/* nothing */;
 	return sc - s;
 }
-#endif
+#endif /* __HAVE_ARCH_STRLEN */
 
 #ifndef __HAVE_ARCH_STRNLEN
-size_t strnlen(const char * s, size_t count)
+/**
+ * strnlen - Find the length of a length-limited string
+ * @s: The string to be sized
+ * @count: The maximum number of bytes to search
+ */
+size_t strnlen(const char *s, size_t count)
 {
 	const char *sc;
 
@@ -144,9 +199,15 @@
 		/* nothing */;
 	return sc - s;
 }
-#endif
+#endif /* __HAVE_ARCH_STRNLEN */
 
 #ifndef __HAVE_ARCH_STRSPN
+/**
+ * strspn - Calculate the length of the initial substring of @s which only
+ *     contain letters in @accept
+ * @s: The string to be searched
+ * @accept: The string to search for
+ */
 size_t strspn(const char *s, const char *accept)
 {
 	const char *p;
@@ -165,25 +226,35 @@
 
 	return count;
 }
-#endif
+#endif /* __HAVE_ARCH_STRSPN */
 
 #ifndef __HAVE_ARCH_STRPBRK
-char * strpbrk(const char * cs,const char * ct)
+/**
+ * strpbrk - Find the first occurrence of a set of characters
+ * @cs: The string to be searched
+ * @ct: The characters to search for
+ */
+char *strpbrk(const char *cs, const char *ct)
 {
-	const char *sc1,*sc2;
+	const char *sc1, *sc2;
 
-	for( sc1 = cs; *sc1 != '\0'; ++sc1) {
-		for( sc2 = ct; *sc2 != '\0'; ++sc2) {
+	for (sc1 = cs; *sc1 != '\0'; ++sc1) {
+		for (sc2 = ct; *sc2 != '\0'; ++sc2) {
 			if (*sc1 == *sc2)
-				return (char *) sc1;
+				return (char *)sc1;
 		}
 	}
 	return NULL;
 }
-#endif
+#endif /* __HAVE_ARCH_STRPBRK */
 
 #ifndef __HAVE_ARCH_STRTOK
-char * strtok(char * s,const char * ct)
+/**
+ * strtok - Split a string into tokens
+ * @s: The string to be searched
+ * @ct: The characters to search for
+ */
+char *strtok(char *s, const char *ct)
 {
 	char *sbegin, *send;
 
@@ -191,33 +262,53 @@
 	if (!sbegin) {
 		return NULL;
 	}
-	sbegin += strspn(sbegin,ct);
+	sbegin += strspn(sbegin, ct);
 	if (*sbegin == '\0') {
 		___strtok = NULL;
-		return( NULL );
+		return NULL;
 	}
-	send = strpbrk( sbegin, ct);
+	send = strpbrk(sbegin, ct);
 	if (send && *send != '\0')
 		*send++ = '\0';
 	___strtok = send;
-	return (sbegin);
+	return sbegin;
 }
-#endif
+#endif /* __HAVE_ARCH_STRTOK */
 
 #ifndef __HAVE_ARCH_MEMSET
-void * memset(void * s,char c,size_t count)
+/**
+ * memset - Fill a region of memory with the given value
+ * @s: Pointer to the start of the area.
+ * @c: The byte to fill the area with
+ * @count: The size of the area.
+ *
+ * Do not use memset() to access IO space, use memset_io() instead.
+ */
+void *memset(void *s, char c, size_t count)
 {
-	char *xs = (char *) s;
+	char *xs = (char *)s;
 
 	while (count--)
 		*xs++ = c;
 
 	return s;
 }
-#endif
+#endif /* __HAVE_ARCH_MEMSET */
 
 #ifndef __HAVE_ARCH_BCOPY
-char * bcopy(const char * src, char * dest, int count)
+/**
+ * bcopy - Copy one area of memory to another
+ * @src: Where to copy from
+ * @dest: Where to copy to
+ * @count: The size of the area.
+ *
+ * Note that this is the same as memcpy(), with the arguments reversed.
+ * memcpy() is the standard, bcopy() is a legacy BSD function.
+ *
+ * You should not use this function to access IO space, use memcpy_toio()
+ * or memcpy_fromio() instead.
+ */
+char *bcopy(const char *src, char *dest, int count)
 {
 	char *tmp = dest;
 
@@ -226,88 +317,121 @@
 
 	return dest;
 }
-#endif
+#endif /* __HAVE_ARCH_BCOPY */
 
 #ifndef __HAVE_ARCH_MEMCPY
-void * memcpy(void * dest,const void *src,size_t count)
+/**
+ * memcpy - Copy one area of memory to another
+ * @dest: Where to copy to
+ * @src: Where to copy from
+ * @count: The size of the area.
+ *
+ * You should not use this function to access IO space, use memcpy_toio()
+ * or memcpy_fromio() instead.
+ */
+void *memcpy(void *dest, const void *src, size_t count)
 {
-	char *tmp = (char *) dest, *s = (char *) src;
+	char *tmp = (char *)dest, *s = (char *)src;
 
 	while (count--)
 		*tmp++ = *s++;
 
 	return dest;
 }
-#endif
+#endif /* __HAVE_ARCH_MEMCPY */
 
 #ifndef __HAVE_ARCH_MEMMOVE
-void * memmove(void * dest,const void *src,size_t count)
+/**
+ * memmove - Copy one area of memory to another
+ * @dest: Where to copy to
+ * @src: Where to copy from
+ * @count: The size of the area.
+ *
+ * Unlike memcpy(), memmove() copes with overlapping areas.
+ */
+void *memmove(void *dest, const void *src, size_t count)
 {
 	char *tmp, *s;
 
 	if (dest <= src) {
-		tmp = (char *) dest;
-		s = (char *) src;
+		tmp = (char *)dest;
+		s = (char *)src;
 		while (count--)
 			*tmp++ = *s++;
-		}
-	else {
+	} else {
 		tmp = (char *) dest + count;
 		s = (char *) src + count;
 		while (count--)
 			*--tmp = *--s;
-		}
+	}
 
 	return dest;
 }
-#endif
+#endif /* __HAVE_ARCH_MEMMOVE */
 
 #ifndef __HAVE_ARCH_MEMCMP
-int memcmp(const void * cs,const void * ct,size_t count)
+/**
+ * memcmp - Compare two areas of memory
+ * @cs: One area of memory
+ * @ct: Another area of memory
+ * @count: The size of the area.
+ */
+int memcmp(const void *cs, const void *ct, size_t count)
 {
 	const unsigned char *su1, *su2;
 	signed char res = 0;
 
-	for( su1 = cs, su2 = ct; 0 < count; ++su1, ++su2, count--)
+	for (su1 = cs, su2 = ct; 0 < count; ++su1, ++su2, count--)
 		if ((res = *su1 - *su2) != 0)
 			break;
 	return res;
 }
-#endif
+#endif /* __HAVE_ARCH_MEMCMP */
 
-/*
- * find the first occurrence of byte 'c', or 1 past the area if none
- */
 #ifndef __HAVE_ARCH_MEMSCAN
-void * memscan(void * addr, int c, size_t size)
+/**
+ * memscan - Find a character in an area of memory.
+ * @addr: The memory area
+ * @c: The byte to search for
+ * @size: The size of the area.
+ *
+ * returns the address of the first occurrence of @c, or 1 byte past
+ * the area if @c is not found
+ */
+void *memscan(void *addr, int c, size_t size)
 {
-	unsigned char * p = (unsigned char *) addr;
+	unsigned char *p = (unsigned char *)addr;
 
 	while (size) {
 		if (*p == c)
-			return (void *) p;
+			return (void *)p;
 		p++;
 		size--;
 	}
-  	return (void *) p;
+	return (void *)p;
 }
-#endif
+#endif /* __HAVE_ARCH_MEMSCAN */
 
 #ifndef __HAVE_ARCH_STRSTR
-char * strstr(const char * s1,const char * s2)
+/**
+ * strstr - Find the first substring in a %NUL terminated string
+ * @s1: The string to be searched
+ * @s2: The string to search for
+ */
+char *strstr(const char *s1, const char *s2)
 {
 	int l1, l2;
 
 	l2 = strlen(s2);
 	if (!l2)
-		return (char *) s1;
+		return (char *)s1;
 	l1 = strlen(s1);
 	while (l1 >= l2) {
 		l1--;
-		if (!memcmp(s1,s2,l2))
-			return (char *) s1;
+		if (!memcmp(s1, s2, l2))
+			return (char *)s1;
 		s1++;
 	}
 	return NULL;
 }
-#endif
+#endif /* __HAVE_ARCH_STRSTR */
diff -urN linux-2.0.40-pre3/lib/vsprintf.c linux/lib/vsprintf.c
--- linux-2.0.40-pre3/lib/vsprintf.c	Tue Jan  8 15:33:10 2002
+++ linux/lib/vsprintf.c	Tue Jan  8 15:33:11 2002
@@ -112,13 +112,14 @@
 			*str++ = ' ';
 	if (sign)
 		*str++ = sign;
-	if (type & SPECIAL)
-		if (base==8)
+	if (type & SPECIAL) {
+		if (base==8) {
 			*str++ = '0';
-		else if (base==16) {
+		} else if (base==16) {
 			*str++ = '0';
 			*str++ = digits[33];
 		}
+	}
 	if (!(type & LEFT))
 		while (size-- > 0)
 			*str++ = c;
diff -urN linux-2.0.40-pre3/mm/kmalloc.c linux/mm/kmalloc.c
--- linux-2.0.40-pre3/mm/kmalloc.c	Tue Jan  8 15:33:10 2002
+++ linux/mm/kmalloc.c	Tue Jan  8 15:33:11 2002
@@ -16,6 +16,7 @@
 
 #include <linux/mm.h>
 #include <linux/delay.h>
+#include <linux/config.h>
 #include <linux/interrupt.h>
 
 #include <asm/system.h>
diff -urN linux-2.0.40-pre3/mm/vmalloc.c linux/mm/vmalloc.c
--- linux-2.0.40-pre3/mm/vmalloc.c	Wed Jun  3 15:17:50 1998
+++ linux/mm/vmalloc.c	Tue Jan  8 15:33:11 2002
@@ -157,7 +157,6 @@
 	unsigned long end = address + size;
 
 	dir = pgd_offset(&init_mm, address);
-	flush_cache_all();
 	while (address < end) {
 		pmd_t *pmd = pmd_alloc_kernel(dir, address);
 		if (!pmd)
@@ -168,7 +167,7 @@
 		address = (address + PGDIR_SIZE) & PGDIR_MASK;
 		dir++;
 	}
-	flush_tlb_all();
+	flush_cache_all();
 	return 0;
 }
 
diff -urN linux-2.0.40-pre3/net/802/tr.c linux/net/802/tr.c
--- linux-2.0.40-pre3/net/802/tr.c	Sun Jul 30 23:46:27 1995
+++ linux/net/802/tr.c	Tue Jan  8 15:33:11 2002
@@ -3,7 +3,6 @@
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/sched.h>
-#include <linux/string.h>
 #include <linux/mm.h>
 #include <linux/socket.h>
 #include <linux/in.h>
diff -urN linux-2.0.40-pre3/net/bridge/br.c linux/net/bridge/br.c
--- linux-2.0.40-pre3/net/bridge/br.c	Sun Jun 13 10:21:04 1999
+++ linux/net/bridge/br.c	Tue Jan  8 15:33:11 2002
@@ -29,7 +29,6 @@
 #include <linux/kernel.h>
 #include <linux/sched.h>
 #include <linux/timer.h>
-#include <linux/string.h>
 #include <linux/net.h>
 #include <linux/inet.h>
 #include <linux/netdevice.h>
diff -urN linux-2.0.40-pre3/net/core/firewall.c linux/net/core/firewall.c
--- linux-2.0.40-pre3/net/core/firewall.c	Sun Nov 15 10:33:21 1998
+++ linux/net/core/firewall.c	Tue Jan  8 15:33:11 2002
@@ -6,8 +6,7 @@
  *	much hacked by:	Alan Cox
  */
 
-#include <linux/module.h> 
-#include <linux/config.h>
+#include <linux/module.h>
 #include <linux/skbuff.h>
 #include <linux/firewall.h>
 
@@ -18,24 +17,24 @@
 /*
  *	Register a firewall
  */
- 
+
 int register_firewall(int pf, struct firewall_ops *fw)
 {
 	struct firewall_ops **p;
-	
+
 	if(pf<0||pf>=NPROTO)
 		return -EINVAL;
-	
+
 	/*
 	 *	Don't allow two people to adjust at once.
 	 */
-	 
+
 	while(firewall_lock)
 		schedule();
 	firewall_lock=1;
-	
+
 	p=&firewall_chain[pf];
-	
+
 	while(*p)
 	{
 		if(fw->fw_priority > (*p)->fw_priority)
@@ -43,7 +42,7 @@
 		p=&((*p)->next);
 	}
 
-	
+
 	/*
 	 * We need to use a memory barrier to make sure that this
 	 * works correctly even in SMP with weakly ordered writes.
@@ -71,20 +70,20 @@
 int unregister_firewall(int pf, struct firewall_ops *fw)
 {
 	struct firewall_ops **nl;
-	
+
 	if(pf<0||pf>=NPROTO)
 		return -EINVAL;
-	
+
 	/*
 	 *	Don't allow two people to adjust at once.
 	 */
-	 
+
 	while(firewall_lock)
 		schedule();
 	firewall_lock=1;
 
 	nl=&firewall_chain[pf];
-	
+
 	while(*nl!=NULL)
 	{
 		if(*nl==fw)
@@ -93,7 +92,7 @@
 			*nl = f;
 			firewall_lock=0;
 			return 0;
-		}			
+		}
 		nl=&((*nl)->next);
 	}
 	firewall_lock=0;
@@ -103,7 +102,7 @@
 int call_fw_firewall(int pf, struct device *dev, void *phdr, void *arg)
 {
 	struct firewall_ops *fw=firewall_chain[pf];
-	
+
 	while(fw!=NULL)
 	{
 		int rc=fw->fw_forward(fw,pf,dev,phdr,arg);
@@ -117,11 +116,11 @@
 /*
  *	Actual invocation of the chains
  */
- 
+
 int call_in_firewall(int pf, struct device *dev, void *phdr, void *arg)
 {
 	struct firewall_ops *fw=firewall_chain[pf];
-	
+
 	while(fw!=NULL)
 	{
 		int rc=fw->fw_input(fw,pf,dev,phdr,arg);
@@ -135,7 +134,7 @@
 int call_out_firewall(int pf, struct device *dev, void *phdr, void *arg)
 {
 	struct firewall_ops *fw=firewall_chain[pf];
-	
+
 	while(fw!=NULL)
 	{
 		int rc=fw->fw_output(fw,pf,dev,phdr,arg);
diff -urN linux-2.0.40-pre3/net/ipv4/icmp.c linux/net/ipv4/icmp.c
--- linux-2.0.40-pre3/net/ipv4/icmp.c	Wed Jun  3 15:17:50 1998
+++ linux/net/ipv4/icmp.c	Tue Jan  8 15:33:11 2002
@@ -247,7 +247,6 @@
 #include <linux/inet.h>
 #include <linux/netdevice.h>
 #include <linux/string.h>
-#include <net/snmp.h>
 #include <net/ip.h>
 #include <net/route.h>
 #include <net/protocol.h>
diff -urN linux-2.0.40-pre3/net/ipv4/ip_fw.c linux/net/ipv4/ip_fw.c
--- linux-2.0.40-pre3/net/ipv4/ip_fw.c	Tue Jan  9 13:29:20 2001
+++ linux/net/ipv4/ip_fw.c	Tue Jan  8 15:33:11 2002
@@ -80,7 +80,6 @@
  * This software is provided ``AS IS'' without any warranties of any kind.
  */
 
-#include <linux/config.h>
 #include <asm/segment.h>
 #include <asm/system.h>
 #include <linux/types.h>
diff -urN linux-2.0.40-pre3/net/ipv4/ip_masq_quake.c linux/net/ipv4/ip_masq_quake.c
--- linux-2.0.40-pre3/net/ipv4/ip_masq_quake.c	Tue Jan  9 13:29:20 2001
+++ linux/net/ipv4/ip_masq_quake.c	Tue Jan  8 15:33:11 2002
@@ -23,6 +23,7 @@
 #include <linux/module.h>
 
 #include <linux/types.h>
+#include <linux/config.h>
 #include <linux/kernel.h>
 #include <asm/system.h>
 #include <linux/skbuff.h>
diff -urN linux-2.0.40-pre3/net/netrom/af_netrom.c linux/net/netrom/af_netrom.c
--- linux-2.0.40-pre3/net/netrom/af_netrom.c	Sun Jun 13 10:21:04 1999
+++ linux/net/netrom/af_netrom.c	Tue Jan  8 15:33:11 2002
@@ -43,7 +43,6 @@
 #include <net/ax25.h>
 #include <linux/inet.h>
 #include <linux/netdevice.h>
-#include <linux/if_arp.h>
 #include <linux/skbuff.h>
 #include <net/sock.h>
 #include <asm/segment.h>
diff -urN linux-2.0.40-pre3/net/rose/af_rose.c linux/net/rose/af_rose.c
--- linux-2.0.40-pre3/net/rose/af_rose.c	Sun Nov 15 10:33:22 1998
+++ linux/net/rose/af_rose.c	Tue Jan  8 15:33:11 2002
@@ -40,7 +40,6 @@
 #include <net/ax25.h>
 #include <linux/inet.h>
 #include <linux/netdevice.h>
-#include <linux/if_arp.h>
 #include <linux/skbuff.h>
 #include <net/sock.h>
 #include <asm/segment.h>
diff -urN linux-2.0.40-pre3/net/unix/af_unix.c linux/net/unix/af_unix.c
--- linux-2.0.40-pre3/net/unix/af_unix.c	Tue Jan  9 13:29:20 2001
+++ linux/net/unix/af_unix.c	Tue Jan  8 15:33:11 2002
@@ -63,7 +63,6 @@
 #include <linux/errno.h>
 #include <linux/string.h>
 #include <linux/stat.h>
-#include <linux/socket.h>
 #include <linux/un.h>
 #include <linux/fcntl.h>
 #include <linux/termios.h>
diff -urN linux-2.0.40-pre3/net/unix/garbage.c linux/net/unix/garbage.c
--- linux-2.0.40-pre3/net/unix/garbage.c	Sun Nov 15 10:33:23 1998
+++ linux/net/unix/garbage.c	Tue Jan  8 15:33:11 2002
@@ -68,7 +68,6 @@
 #include <linux/errno.h>
 #include <linux/string.h>
 #include <linux/stat.h>
-#include <linux/socket.h>
 #include <linux/un.h>
 #include <linux/fcntl.h>
 #include <linux/termios.h>
