diff -urNp linux-5110/drivers/block/blkpg.c linux-10010/drivers/block/blkpg.c
--- linux-5110/drivers/block/blkpg.c	
+++ linux-10010/drivers/block/blkpg.c	
@@ -32,6 +32,7 @@
 #include <linux/fs.h>			/* for BLKRASET, ... */
 #include <linux/sched.h>		/* for capable() */
 #include <linux/blk.h>			/* for set_device_ro() */
+#include <linux/blkdev.h>
 #include <linux/blkpg.h>
 #include <linux/genhd.h>
 #include <linux/swap.h>			/* for is_swap_partition() */
diff -urNp linux-5110/drivers/block/DAC960.c linux-10010/drivers/block/DAC960.c
--- linux-5110/drivers/block/DAC960.c	
+++ linux-10010/drivers/block/DAC960.c	
@@ -5491,11 +5491,7 @@ static int DAC960_IOCTL(Inode_T *Inode, 
 				       .part[MINOR(Inode->i_rdev)]
 				       .nr_sects << 9,
 		      (u64 *) Argument);
-    case BLKRAGET:
-    case BLKRASET:
-    case BLKFLSBUF:
-    case BLKBSZGET:
-    case BLKBSZSET:
+    default:
       return blk_ioctl(Inode->i_rdev, Request, Argument);
     case BLKRRPART:
       /* Re-Read Partition Table. */
diff -urNp linux-5110/drivers/block/nbd.c linux-10010/drivers/block/nbd.c
--- linux-5110/drivers/block/nbd.c	
+++ linux-10010/drivers/block/nbd.c	
@@ -552,7 +552,7 @@ static struct block_device_operations nb
  *  (Just smiley confuses emacs :-)
  */
 
-static int __init nbd_init(void)
+int __init nbd_init(void)
 {
 	int i;
 
diff -urNp linux-5110/drivers/char/Config.in linux-10010/drivers/char/Config.in
--- linux-5110/drivers/char/Config.in	
+++ linux-10010/drivers/char/Config.in	
@@ -160,7 +160,7 @@ if [ "$CONFIG_PARPORT" != "n" ]; then
    dep_tristate 'Texas Instruments parallel link cable support' CONFIG_TIPAR $CONFIG_PARPORT
 fi
 
-if [ "$CONFIG_PPC64" ] ; then 
+if [ "$CONFIG_PPC64" = "y" ] ; then 
    bool 'pSeries Hypervisor Virtual Console support' CONFIG_HVC_CONSOLE
 fi
 
diff -urNp linux-5110/drivers/i2c/i2c-core.c linux-10010/drivers/i2c/i2c-core.c
--- linux-5110/drivers/i2c/i2c-core.c	
+++ linux-10010/drivers/i2c/i2c-core.c	
@@ -1332,7 +1332,7 @@ static int __init i2c_init(void)
 	extern int i2c_i801_init(void);
 #endif
 #ifdef CONFIG_I2C_I810
-	extern int i2c_i810_init(void);
+	extern int i2c_i810i2c_init(void);
 #endif
 #ifdef CONFIG_I2C_ISA
 	extern int i2c_isa_init(void);
@@ -1416,7 +1416,7 @@ int __init i2c_init_all(void)
 	i2c_i801_init();
 #endif
 #ifdef CONFIG_I2C_I810
-	i2c_i810_init();
+	i2c_i810i2c_init();
 #endif
 #ifdef CONFIG_I2C_PIIX4
 	i2c_piix4_init();
diff -urNp linux-5110/drivers/i2c/i2c-hydra.c linux-10010/drivers/i2c/i2c-hydra.c
--- linux-5110/drivers/i2c/i2c-hydra.c	
+++ linux-10010/drivers/i2c/i2c-hydra.c	
@@ -29,6 +29,7 @@
 #include <linux/module.h>
 #include <linux/pci.h>
 #include <asm/io.h>
+#include <linux/ioport.h>
 #include <asm/system.h>
 #include <linux/types.h>
 #include <linux/i2c.h>
diff -urNp linux-5110/drivers/i2c/i2c-i810.c linux-10010/drivers/i2c/i2c-i810.c
--- linux-5110/drivers/i2c/i2c-i810.c	
+++ linux-10010/drivers/i2c/i2c-i810.c	
@@ -39,6 +39,7 @@
 #include <linux/module.h>
 #include <linux/pci.h>
 #include <asm/io.h>
+#include  <linux/ioport.h>
 #include <linux/i2c.h>
 #include <linux/i2c-algo-bit.h>
 #include <linux/sensors.h>
diff -urNp linux-5110/drivers/i2c/i2c-via.c linux-10010/drivers/i2c/i2c-via.c
--- linux-5110/drivers/i2c/i2c-via.c	
+++ linux-10010/drivers/i2c/i2c-via.c	
@@ -27,6 +27,7 @@
 #include <linux/module.h>
 #include <linux/pci.h>
 #include <asm/io.h>
+#include <linux/ioport.h>
 #include <linux/types.h>
 #include <linux/i2c.h>
 #include <linux/i2c-algo-bit.h>
diff -urNp linux-5110/drivers/i2c/i2c-voodoo3.c linux-10010/drivers/i2c/i2c-voodoo3.c
--- linux-5110/drivers/i2c/i2c-voodoo3.c	
+++ linux-10010/drivers/i2c/i2c-voodoo3.c	
@@ -31,6 +31,7 @@
 #include <linux/module.h>
 #include <linux/pci.h>
 #include <asm/io.h>
+#include <linux/ioport.h>
 #include <linux/i2c.h>
 #include <linux/i2c-algo-bit.h>
 #include <linux/sensors.h>
diff -urNp linux-5110/drivers/ieee1394/sbp2.h linux-10010/drivers/ieee1394/sbp2.h
--- linux-5110/drivers/ieee1394/sbp2.h	
+++ linux-10010/drivers/ieee1394/sbp2.h	
@@ -506,9 +506,9 @@ static void sbp2_remove_device(struct sb
 
 #ifdef CONFIG_IEEE1394_SBP2_PHYS_DMA
 static int sbp2_handle_physdma_write(struct hpsb_host *host, int nodeid, int destid, quadlet_t *data,
-                                     u64 addr, unsigned int length, u16 flags);
+                                     u64 addr, unsigned int length);
 static int sbp2_handle_physdma_read(struct hpsb_host *host, int nodeid, quadlet_t *data,
-                                    u64 addr, unsigned int length, u16 flags);
+                                    u64 addr, unsigned int length);
 #endif
 
 /*
diff -urNp linux-5110/drivers/media/video/saa7110.c linux-10010/drivers/media/video/saa7110.c
--- linux-5110/drivers/media/video/saa7110.c	2001-11-09 23:01:22.000000000 +0100
+++ linux-10010/drivers/media/video/saa7110.c	
@@ -392,7 +392,7 @@ int saa7110_command(struct i2c_device *d
 		break;
 
 	 default:
-		DEBUG(printk(KERN_INFO "unknown saa7110_command??(%d)\n",cmd));
+		DEBUG(printk(KERN_INFO "unknown saa7110_command?(%d)\n",cmd));
 		return -EINVAL;
 	}
 	return 0;
diff -urNp linux-5110/drivers/net/ns83820.c linux-10010/drivers/net/ns83820.c
--- linux-5110/drivers/net/ns83820.c	
+++ linux-10010/drivers/net/ns83820.c	
@@ -94,6 +94,7 @@
 
 #include <linux/module.h>
 #include <linux/types.h>
+#include <asm/io.h>
 #include <linux/pci.h>
 #include <linux/netdevice.h>
 #include <linux/etherdevice.h>
diff -urNp linux-5110/drivers/net/pcmcia/wvlan_cs.c linux-10010/drivers/net/pcmcia/wvlan_cs.c
--- linux-5110/drivers/net/pcmcia/wvlan_cs.c	
+++ linux-10010/drivers/net/pcmcia/wvlan_cs.c	
@@ -232,7 +232,7 @@
 #include <linux/kernel.h>
 #include <linux/sched.h>
 #include <linux/ptrace.h>
-#include <linux/malloc.h>
+#include <linux/slab.h>
 #include <linux/string.h>
 #include <linux/timer.h>
 #include <linux/init.h>
@@ -256,15 +256,8 @@
 #include <linux/ethtool.h>
 #include <asm/uaccess.h>
 
-#ifdef MODULE
-#ifdef MODVERSIONS
-#include <linux/modversions.h>
-#endif
 #include <linux/module.h>
-#else
-#define MOD_INC_USE_COUNT
-#define MOD_DEC_USE_COUNT
-#endif
+
 
 #include <linux/wireless.h>
 /* Note : v6 is included in : 2.0.37+ and 2.2.4+, adds ESSID */
@@ -367,7 +360,7 @@ const long frequency_list[] = { 2412, 24
 				2447, 2452, 2457, 2462, 2467, 2472, 2484 };
 
 // Bit-rate list in 1/2 Mb/s (first is dummy - not for original turbo)
-const int rate_list[] = { 0, 2, 4, -22, 11, 22, -4, -11, 0, 0, 0, 0 };
+static const int rate_list[] = { 0, 2, 4, -22, 11, 22, -4, -11, 0, 0, 0, 0 };
 
 // A few details needed for WEP (Wireless Equivalent Privacy)
 #define MAX_KEY_SIZE 13			// 128/104 (?) bits
diff -urNp linux-5110/drivers/net/plip.c linux-10010/drivers/net/plip.c
--- linux-5110/drivers/net/plip.c	2001-09-30 21:26:07.000000000 +0200
+++ linux-10010/drivers/net/plip.c	
@@ -1380,7 +1380,7 @@ static void __exit plip_cleanup_module (
 
 static int parport_ptr;
 
-static int __init plip_setup(char *str)
+int __init plip_setup(char *str)
 {
 	int ints[4];
 
diff -urNp linux-5110/drivers/net/sk98lin/h/skgepnm2.h linux-10010/drivers/net/sk98lin/h/skgepnm2.h
--- linux-5110/drivers/net/sk98lin/h/skgepnm2.h	
+++ linux-10010/drivers/net/sk98lin/h/skgepnm2.h	
@@ -362,8 +362,16 @@ typedef struct s_PnmiStatAddr {
 #if SK_TICKS_PER_SEC == 100
 #define SK_PNMI_HUNDREDS_SEC(t)	(t)
 #else
+#if SK_TICKS_PER_SEC == 800
+#define SK_PNMI_HUNDREDS_SEC(t)	(t>>3)
+#else
+#if SK_TICKS_PER_SEC == 1000
+#define SK_PNMI_HUNDREDS_SEC(t)	((t*1000)>>10)
+#else
 #define SK_PNMI_HUNDREDS_SEC(t)	(((t) * 100) / (SK_TICKS_PER_SEC))
 #endif
+#endif
+#endif
 
 /*
  * Macros to work around alignment problems
diff -urNp linux-5110/drivers/net/starfire.c linux-10010/drivers/net/starfire.c
--- linux-5110/drivers/net/starfire.c	
+++ linux-10010/drivers/net/starfire.c	
@@ -130,6 +130,7 @@ TODO:
 #include <linux/config.h>
 #include <linux/version.h>
 #include <linux/module.h>
+#include <asm/io.h>
 #include <linux/kernel.h>
 #include <linux/pci.h>
 #include <linux/netdevice.h>
diff -urNp linux-5110/drivers/net/tokenring/Config.in linux-10010/drivers/net/tokenring/Config.in
--- linux-5110/drivers/net/tokenring/Config.in	
+++ linux-10010/drivers/net/tokenring/Config.in	
@@ -21,10 +21,10 @@ if [ "$CONFIG_TR" != "n" ]; then
    dep_tristate '  3Com 3C359 Token Link Velocity XL adapter support' CONFIG_3C359 $CONFIG_TR $CONFIG_PCI
    tristate '  Generic TMS380 Token Ring ISA/PCI adapter support' CONFIG_TMS380TR
    if [ "$CONFIG_TMS380TR" != "n" ]; then
-      dep_tristate '    Generic TMS380 PCI support' CONFIG_TMSPCI $CONFIG_PCI
-      dep_tristate '    Generic TMS380 ISA support' CONFIG_TMSISA $CONFIG_ISA
-      dep_tristate '    Madge Smart 16/4 PCI Mk2 support' CONFIG_ABYSS $CONFIG_PCI
-      dep_tristate '    Madge Smart 16/4 Ringnode MicroChannel' CONFIG_MADGEMC $CONFIG_MCA
+      dep_tristate '    Generic TMS380 PCI support' CONFIG_TMSPCI $CONFIG_PCI $CONFIG_TMS380TR
+      dep_tristate '    Generic TMS380 ISA support' CONFIG_TMSISA $CONFIG_ISA $CONFIG_TMS380TR
+      dep_tristate '    Madge Smart 16/4 PCI Mk2 support' CONFIG_ABYSS $CONFIG_PCI $CONFIG_TMS380TR
+      dep_tristate '    Madge Smart 16/4 Ringnode MicroChannel' CONFIG_MADGEMC $CONFIG_MCA $CONFIG_TMS380TR
    fi
    if [ "$CONFIG_ISA" = "y" -o "$CONFIG_MCA" = "y" ]; then
       tristate '  SMC ISA/MCA adapter support' CONFIG_SMCTR
diff -urNp linux-5110/drivers/net/tulip_old/tulip_core.c linux-10010/drivers/net/tulip_old/tulip_core.c
--- linux-5110/drivers/net/tulip_old/tulip_core.c	
+++ linux-10010/drivers/net/tulip_old/tulip_core.c	
@@ -1566,8 +1566,6 @@ static struct pci_driver tulip_driver = 
 	id_table:	tulip_pci_tbl,
 	probe:		tulip_init_one,
 	remove:		tulip_remove_one,
-	suspend:	tulip_suspend,
-	resume:		tulip_resume,
 };
 
 
diff -urNp linux-5110/drivers/net/wan/sdla_chdlc.c linux-10010/drivers/net/wan/sdla_chdlc.c
--- linux-5110/drivers/net/wan/sdla_chdlc.c	
+++ linux-10010/drivers/net/wan/sdla_chdlc.c	
@@ -50,6 +50,7 @@
 
 #include <linux/module.h>
 #include <linux/version.h>
+#include <linux/module.h>
 #include <linux/kernel.h>	/* printk(), and other useful stuff */
 #include <linux/stddef.h>	/* offsetof(), etc. */
 #include <linux/errno.h>	/* return codes */
diff -urNp linux-5110/drivers/net/wan/sdla_fr.c linux-10010/drivers/net/wan/sdla_fr.c
--- linux-5110/drivers/net/wan/sdla_fr.c	
+++ linux-10010/drivers/net/wan/sdla_fr.c	
@@ -140,6 +140,7 @@
 
 #include <linux/module.h>
 #include <linux/version.h>
+#include <linux/module.h>
 #include <linux/kernel.h>	/* printk(), and other useful stuff */
 #include <linux/stddef.h>	/* offsetof(), etc. */
 #include <linux/errno.h>	/* return codes */
diff -urNp linux-5110/drivers/net/wan/sdla_ppp.c linux-10010/drivers/net/wan/sdla_ppp.c
--- linux-5110/drivers/net/wan/sdla_ppp.c	
+++ linux-10010/drivers/net/wan/sdla_ppp.c	
@@ -92,6 +92,7 @@
 
 #include <linux/module.h>
 #include <linux/version.h>
+#include <linux/module.h>
 #include <linux/kernel.h>	/* printk(), and other useful stuff */
 #include <linux/stddef.h>	/* offsetof(), etc. */
 #include <linux/errno.h>	/* return codes */
diff -urNp linux-5110/drivers/net/wan/sdla_x25.c linux-10010/drivers/net/wan/sdla_x25.c
--- linux-5110/drivers/net/wan/sdla_x25.c	
+++ linux-10010/drivers/net/wan/sdla_x25.c	
@@ -83,6 +83,7 @@
 
 #include <linux/module.h>
 #include <linux/version.h>
+#include <linux/module.h>
 #include <linux/kernel.h>	/* printk(), and other useful stuff */
 #include <linux/stddef.h>	/* offsetof(), etc. */
 #include <linux/errno.h>	/* return codes */
diff -urNp linux-5110/drivers/net/wan/wanpipe_multppp.c linux-10010/drivers/net/wan/wanpipe_multppp.c
--- linux-5110/drivers/net/wan/wanpipe_multppp.c	2001-09-14 01:04:43.000000000 +0200
+++ linux-10010/drivers/net/wan/wanpipe_multppp.c	
@@ -19,6 +19,7 @@
 
 #include <linux/module.h>
 #include <linux/version.h>
+#include <linux/module.h>
 #include <linux/kernel.h>	/* printk(), and other useful stuff */
 #include <linux/stddef.h>	/* offsetof(), etc. */
 #include <linux/errno.h>	/* return codes */
diff -urNp linux-5110/drivers/scsi/advansys.c linux-10010/drivers/scsi/advansys.c
--- linux-5110/drivers/scsi/advansys.c	
+++ linux-10010/drivers/scsi/advansys.c	
@@ -5551,7 +5551,7 @@ advansys_detect(Scsi_Host_Template *tpnt
                 }
             } else {
                 ADV_CARR_T      *carrp;
-                int             req_cnt;
+                int             req_cnt=0;
                 adv_req_t       *reqp = NULL;
                 int             sg_cnt = 0;
 
@@ -9258,7 +9258,6 @@ DvcAdvWritePCIConfigByte(
             ASC_PCI_ID2FUNC(asc_dvc->cfg->pci_slot_info)),
         offset, byte_data);
 #else /* CONFIG_PCI */
-    return 0;
 #endif /* CONFIG_PCI */
 }
 
diff -urNp linux-5110/drivers/scsi/eata_dma.c linux-10010/drivers/scsi/eata_dma.c
--- linux-5110/drivers/scsi/eata_dma.c	2001-09-30 21:26:07.000000000 +0200
+++ linux-10010/drivers/scsi/eata_dma.c	
@@ -1067,7 +1067,7 @@ short register_HBA(u32 base, struct get_
     char *buff = 0;
     unchar bugs = 0;
     struct Scsi_Host *sh;
-    hostdata *hd;
+    hostdata *hd=NULL;
     int x;
     
     
diff -urNp linux-5110/drivers/scsi/imm.c linux-10010/drivers/scsi/imm.c
--- linux-5110/drivers/scsi/imm.c	
+++ linux-10010/drivers/scsi/imm.c	
@@ -322,10 +322,10 @@ static unsigned char imm_wait(int host_n
      * STR      imm     imm
      * ===================================
      * 0x80     S_REQ   S_REQ
-     * 0x40     !S_BSY  (????)
+     * 0x40     !S_BSY  (?)
      * 0x20     !S_CD   !S_CD
      * 0x10     !S_IO   !S_IO
-     * 0x08     (????)  !S_BSY
+     * 0x08     (?)  !S_BSY
      *
      * imm      imm     meaning
      * ==================================
@@ -927,7 +927,7 @@ static void imm_interrupt(void *data)
 	printk("imm: told to abort\n");
 	break;
     case DID_PARITY:
-	printk("imm: parity error (???)\n");
+	printk("imm: parity error (?)\n");
 	break;
     case DID_ERROR:
 	printk("imm: internal driver error\n");
@@ -936,7 +936,7 @@ static void imm_interrupt(void *data)
 	printk("imm: told to reset device\n");
 	break;
     case DID_BAD_INTR:
-	printk("imm: bad interrupt (???)\n");
+	printk("imm: bad interrupt (?)\n");
 	break;
     default:
 	printk("imm: bad return code (%02x)\n", (cmd->result >> 16) & 0xff);
diff -urNp linux-5110/drivers/scsi/ppa.c linux-10010/drivers/scsi/ppa.c
--- linux-5110/drivers/scsi/ppa.c	
+++ linux-10010/drivers/scsi/ppa.c	
@@ -824,7 +824,7 @@ static void ppa_interrupt(void *data)
 	printk("ppa: told to abort\n");
 	break;
     case DID_PARITY:
-	printk("ppa: parity error (???)\n");
+	printk("ppa: parity error (?)\n");
 	break;
     case DID_ERROR:
 	printk("ppa: internal driver error\n");
@@ -833,7 +833,7 @@ static void ppa_interrupt(void *data)
 	printk("ppa: told to reset device\n");
 	break;
     case DID_BAD_INTR:
-	printk("ppa: bad interrupt (???)\n");
+	printk("ppa: bad interrupt (?)\n");
 	break;
     default:
 	printk("ppa: bad return code (%02x)\n", (cmd->result >> 16) & 0xff);
diff -urNp linux-5110/drivers/scsi/qlogicisp.c linux-10010/drivers/scsi/qlogicisp.c
--- linux-5110/drivers/scsi/qlogicisp.c	2001-10-25 22:53:51.000000000 +0200
+++ linux-10010/drivers/scsi/qlogicisp.c	
@@ -1034,6 +1034,9 @@ void isp1020_intr_handler(int irq, void 
 
 		cmd_slot = sts->handle;
 		Cmnd = hostdata->cmd_slots[cmd_slot];
+#ifdef __alpha__
+		if (Cmnd == NULL) mb(); /* Magic, don't move */
+#endif
 		hostdata->cmd_slots[cmd_slot] = NULL;
 
 		TRACE("done", out_ptr, Cmnd);
diff -urNp linux-5110/drivers/scsi/sym53c8xx_2/Makefile linux-10010/drivers/scsi/sym53c8xx_2/Makefile
--- linux-5110/drivers/scsi/sym53c8xx_2/Makefile	2001-11-10 00:22:54.000000000 +0100
+++ linux-10010/drivers/scsi/sym53c8xx_2/Makefile	
@@ -1,14 +1,14 @@
 # File: drivers/sym53c8xx/Makefile
 # Makefile for the NCR/SYMBIOS/LSI 53C8XX PCI SCSI controllers driver.
 
-list-multi := sym53c8xx.o
-sym53c8xx-objs := sym_fw.o sym_glue.o sym_hipd.o sym_malloc.o sym_misc.o sym_nvram.o
-obj-$(CONFIG_SCSI_SYM53C8XX_2) := sym53c8xx.o
+list-multi := sym53c8xx_2.o
+sym53c8xx_2-objs := sym_fw.o sym_glue.o sym_hipd.o sym_malloc.o sym_misc.o sym_nvram.o
+obj-$(CONFIG_SCSI_SYM53C8XX_2) := sym53c8xx_2.o
 
 EXTRA_CFLAGS += -I.
 
-sym53c8xx.o: $(sym53c8xx-objs)
-	$(LD) -r -o $@ $(sym53c8xx-objs)
+sym53c8xx_2.o: $(sym53c8xx_2-objs)
+	$(LD) -r -o $@ $(sym53c8xx_2-objs)
 
 include $(TOPDIR)/Rules.make
 
diff -urNp linux-5110/drivers/scsi/sym53c8xx_2/sym_hipd.c linux-10010/drivers/scsi/sym53c8xx_2/sym_hipd.c
--- linux-5110/drivers/scsi/sym53c8xx_2/sym_hipd.c	
+++ linux-10010/drivers/scsi/sym53c8xx_2/sym_hipd.c	
@@ -221,7 +221,7 @@ static void sym_chip_reset (hcb_p np)
  */
 static void sym_soft_reset (hcb_p np)
 {
-	u_char istat;
+	u_char istat=0;
 	int i;
 
 	if (!(np->features & FE_ISTAT1) || !(INB (nc_istat1) & SCRUN))
diff -urNp linux-5110/drivers/scsi/sym53c8xx.c linux-10010/drivers/scsi/sym53c8xx.c
--- linux-5110/drivers/scsi/sym53c8xx.c	
+++ linux-10010/drivers/scsi/sym53c8xx.c	
@@ -6992,7 +6992,7 @@ static void ncr_chip_reset (ncb_p np)
 
 static void ncr_soft_reset(ncb_p np)
 {
-	u_char istat;
+	u_char istat=0;
 	int i;
 
 	if (!(np->features & FE_ISTAT1) || !(INB (nc_istat1) & SRUN))
diff -urNp linux-5110/drivers/sound/cs4281/cs4281m.c linux-10010/drivers/sound/cs4281/cs4281m.c
--- linux-5110/drivers/sound/cs4281/cs4281m.c	
+++ linux-10010/drivers/sound/cs4281/cs4281m.c	
@@ -4597,8 +4597,8 @@ struct pci_driver cs4281_pci_driver = {
 	id_table:cs4281_pci_tbl,
 	probe:cs4281_probe,
 	remove:cs4281_remove,
-	suspend:CS4281_SUSPEND_TBL,
-	resume:CS4281_RESUME_TBL,
+	suspend:NULL,
+	resume:NULL,
 };
 
 int __init cs4281_init_module(void)
diff -urNp linux-5110/drivers/video/sis/init301.c linux-10010/drivers/video/sis/init301.c
--- linux-5110/drivers/video/sis/init301.c	
+++ linux-10010/drivers/video/sis/init301.c	
@@ -2983,7 +2983,7 @@ SiS_GetCRT2Data301(SiS_Private *SiS_Pr, 
                    USHORT RefreshRateTableIndex,
 		   PSIS_HW_DEVICE_INFO HwDeviceExtension)
 {
-  USHORT tempax,tempbx,modeflag;
+  USHORT tempax=0,tempbx=0,modeflag;
   USHORT resinfo;
   USHORT CRT2Index,ResIndex;
   const SiS_LCDDataStruct *LCDPtr = NULL;
diff -urNp linux-5110/fs/dquot.c linux-10010/fs/dquot.c
--- linux-5110/fs/dquot.c	
+++ linux-10010/fs/dquot.c	
@@ -70,6 +70,7 @@
 #include <linux/proc_fs.h>
 
 #include <asm/uaccess.h>
+#include <asm/cache.h>
 
 static char *quotatypes[] = INITQFNAMES;
 static struct quota_format_type *quota_formats;	/* List of registered formats */
diff -urNp linux-5110/fs/proc/proc_tty.c linux-10010/fs/proc/proc_tty.c
--- linux-5110/fs/proc/proc_tty.c	2000-04-22 00:17:57.000000000 +0200
+++ linux-10010/fs/proc/proc_tty.c	
@@ -161,7 +161,7 @@ void proc_tty_unregister_driver(struct t
 	if (!ent)
 		return;
 		
-	remove_proc_entry(driver->driver_name, proc_tty_driver);
+	remove_proc_entry(ent->name, proc_tty_driver);
 	
 	driver->proc_entry = 0;
 }
diff -urNp linux-5110/fs/reiserfs/ioctl.c linux-10010/fs/reiserfs/ioctl.c
--- linux-5110/fs/reiserfs/ioctl.c	
+++ linux-10010/fs/reiserfs/ioctl.c	
@@ -84,6 +84,7 @@ int reiserfs_ioctl (struct inode * inode
 	default:
 		return -ENOTTY;
 	}
+	return 0;
 }
 
 /*
diff -urNp linux-5110/include/asm-alpha/hardirq.h linux-10010/include/asm-alpha/hardirq.h
--- linux-5110/include/asm-alpha/hardirq.h	2001-07-09 23:47:39.000000000 +0200
+++ linux-10010/include/asm-alpha/hardirq.h	
@@ -41,6 +41,7 @@ extern unsigned long __irq_attempt[];
 
 #define synchronize_irq()	barrier()
 
+#define release_irqlock(cpu) ((void) 0)
 #else
 
 #define irq_attempt(cpu, irq) (cpu_data[cpu].irq_attempt[irq])
diff -urNp linux-5110/include/asm-alpha/smplock.h linux-10010/include/asm-alpha/smplock.h
--- linux-5110/include/asm-alpha/smplock.h	2000-03-23 21:50:09.000000000 +0100
+++ linux-10010/include/asm-alpha/smplock.h	
@@ -7,7 +7,7 @@
 #include <linux/sched.h>
 #include <linux/interrupt.h>
 #include <linux/spinlock.h>
-
+#include <asm/hardirq.h>
 extern spinlock_t kernel_flag;
 
 #define kernel_locked()		spin_is_locked(&kernel_flag)
diff -urNp linux-5110/include/asm-i386/rwsem.h linux-10010/include/asm-i386/rwsem.h
--- linux-5110/include/asm-i386/rwsem.h	
+++ linux-10010/include/asm-i386/rwsem.h	
@@ -42,6 +42,7 @@
 
 #include <linux/list.h>
 #include <linux/spinlock.h>
+#include <asm/system.h>
 
 struct rwsem_waiter;
 
diff -urNp linux-5110/include/asm-i386/smpboot.h linux-10010/include/asm-i386/smpboot.h
--- linux-5110/include/asm-i386/smpboot.h	
+++ linux-10010/include/asm-i386/smpboot.h	
@@ -108,6 +108,14 @@ extern volatile int cpu_2_physical_apici
 #define cpu_to_boot_apicid(cpu) cpu_2_physical_apicid[cpu]
 #endif /* CONFIG_MULTIQUAD */
 
+static inline int cpu_to_apicid (int cpu)
+{
+	if (clustered_apic_mode)
+		return cpu_to_physical_apicid(cpu);
+	else
+		return cpu_to_logical_apicid(cpu);
+}
+
 #ifdef CONFIG_X86_CLUSTERED_APIC
 static inline int target_cpus(void)
 {
diff -urNp linux-5110/include/linux/binfmts.h linux-10010/include/linux/binfmts.h
--- linux-5110/include/linux/binfmts.h	
+++ linux-10010/include/linux/binfmts.h	
@@ -18,6 +18,8 @@
 
 struct file;
 
+struct mm_struct;
+
 /*
  * This structure is used to hold the arguments that are used when loading binaries.
  */
diff -urNp linux-5110/include/linux/list.h linux-10010/include/linux/list.h
--- linux-5110/include/linux/list.h	
+++ linux-10010/include/linux/list.h	
@@ -15,9 +15,9 @@
  * using the generic single-entry routines.
  */
 
-struct list_head {
+typedef struct list_head {
 	struct list_head *next, *prev;
-};
+} list_t;
 
 #define LIST_HEAD_INIT(name) { &(name), &(name) }
 
diff -urNp linux-5110/include/linux/proc_fs.h linux-10010/include/linux/proc_fs.h
--- linux-5110/include/linux/proc_fs.h	
+++ linux-10010/include/linux/proc_fs.h	
@@ -206,6 +206,8 @@ static inline void proc_tty_register_dri
 static inline void proc_tty_unregister_driver(struct tty_driver *driver) {};
 
 extern struct proc_dir_entry proc_root;
+extern struct proc_dir_entry proc_root_driver;
+
 
 #endif /* CONFIG_PROC_FS */
 
diff -urNp linux-5110/include/linux/vt_kern.h linux-10010/include/linux/vt_kern.h
--- linux-5110/include/linux/vt_kern.h	
+++ linux-10010/include/linux/vt_kern.h	
@@ -9,6 +9,7 @@
 #include <linux/config.h>
 #include <linux/vt.h>
 #include <linux/kd.h>
+#include <linux/tty.h>
 
 /*
  * Presently, a lot of graphics programs do not restore the contents of
diff -urNp linux-5110/init/do_mounts.c linux-10010/init/do_mounts.c
--- linux-5110/init/do_mounts.c	
+++ linux-10010/init/do_mounts.c	
@@ -441,6 +441,10 @@ static void __init change_floppy(char *f
 		close(fd);
 	}
 }
+#else
+static void __init change_floppy(char *fmt, ...)
+{
+}
 #endif
 
 #ifdef CONFIG_BLK_DEV_RAM
diff -urNp linux-5110/kernel/ksyms.c linux-10010/kernel/ksyms.c
--- linux-5110/kernel/ksyms.c	
+++ linux-10010/kernel/ksyms.c	
@@ -511,9 +511,6 @@ EXPORT_SYMBOL(simple_strtoul);
 EXPORT_SYMBOL(simple_strtoull);
 EXPORT_SYMBOL(system_utsname);	/* UTS data */
 EXPORT_SYMBOL(uts_sem);		/* UTS semaphore */
-#ifndef __mips__
-EXPORT_SYMBOL(sys_call_table);
-#endif
 EXPORT_SYMBOL(machine_restart);
 EXPORT_SYMBOL(machine_halt);
 EXPORT_SYMBOL(machine_power_off);
diff -urNp linux-5110/lib/rwsem-spinlock.c linux-10010/lib/rwsem-spinlock.c
--- linux-5110/lib/rwsem-spinlock.c	
+++ linux-10010/lib/rwsem-spinlock.c	
@@ -280,6 +280,8 @@ EXPORT_SYMBOL(__down_read);
 EXPORT_SYMBOL(__down_write);
 EXPORT_SYMBOL(__up_read);
 EXPORT_SYMBOL(__up_write);
+EXPORT_SYMBOL(__down_write_trylock);
+EXPORT_SYMBOL(__down_read_trylock);
 #if RWSEM_DEBUG
 EXPORT_SYMBOL(rwsemtrace);
 #endif
diff -urNp linux-5110/Makefile linux-10010/Makefile
--- linux-5110/Makefile	
+++ linux-10010/Makefile	
@@ -341,7 +341,7 @@ xconfig: symlinks
 	$(MAKE) -C scripts kconfig.tk
 	wish -f scripts/kconfig.tk
 
-menuconfig: include/linux/version.h symlinks
+menuconfig: symlinks
 	$(MAKE) -C scripts/lxdialog all
 	$(CONFIG_SHELL) scripts/Menuconfig arch/$(ARCH)/config.in
 
diff -urNp linux-5110/mm/vmalloc.c linux-10010/mm/vmalloc.c
--- linux-5110/mm/vmalloc.c	
+++ linux-10010/mm/vmalloc.c	
@@ -12,6 +12,7 @@
 #include <linux/spinlock.h>
 #include <linux/highmem.h>
 #include <linux/smp_lock.h>
+#include <linux/interrupt.h>
 
 #include <asm/uaccess.h>
 #include <asm/pgalloc.h>
@@ -19,6 +20,9 @@
 rwlock_t vmlist_lock = RW_LOCK_UNLOCKED;
 struct vm_struct * vmlist;
 
+extern void show_stack(unsigned long *);
+
+
 static inline void free_area_pte(pmd_t * pmd, unsigned long address, unsigned long size)
 {
 	pte_t * pte;
@@ -220,6 +224,12 @@ void vfree(void * addr)
 		printk(KERN_ERR "Trying to vfree() bad address (%p)\n", addr);
 		return;
 	}
+	if (in_interrupt()) {
+		printk("vfree(): sleeping in interrupt!! \n");
+#ifdef __i386__	
+		show_stack(NULL);
+#endif	
+	}
 	write_lock(&vmlist_lock);
 	for (p = &vmlist ; (tmp = *p) ; p = &tmp->next) {
 		if (tmp->addr == addr) {
diff -urNp linux-5110/net/sunrpc/auth.c linux-10010/net/sunrpc/auth.c
--- linux-5110/net/sunrpc/auth.c	2001-09-21 20:24:50.000000000 +0200
+++ linux-10010/net/sunrpc/auth.c	
@@ -13,6 +13,7 @@
 #include <linux/socket.h>
 #include <linux/sunrpc/clnt.h>
 #include <linux/spinlock.h>
+#include <linux/module.h>
 
 #ifdef RPC_DEBUG
 # define RPCDBG_FACILITY	RPCDBG_AUTH
diff -urNp linux-5110/net/wanrouter/wanproc.c linux-10010/net/wanrouter/wanproc.c
--- linux-5110/net/wanrouter/wanproc.c	2001-09-10 16:58:35.000000000 +0200
+++ linux-10010/net/wanrouter/wanproc.c	
@@ -1081,6 +1081,13 @@ static int device_write(
 }
 #endif
 
+#ifndef CONFIG_PROC_FS
+	int __init wanrouter_proc_init (void)
+	{
+		return 0;
+	}
+#endif
+
 /*
  *	End
  */
--- linux-2.4.20/drivers/hotplug/pci_hotplug_core.c~	2003-04-11 14:27:25.000000000 +0200
+++ linux-2.4.20/drivers/hotplug/pci_hotplug_core.c	2003-04-11 14:27:25.000000000 +0200
@@ -49,7 +49,7 @@
 	#define MY_NAME	THIS_MODULE->name
 #endif
 
-#define dbg(fmt, arg...) do { if (debug) printk(KERN_DEBUG "%s: "__FUNCTION__": " fmt , MY_NAME , ## arg); } while (0)
+#define dbg(fmt, arg...) do { if (debug) printk(KERN_DEBUG "%s: %s : " fmt , __FUNCTION__, MY_NAME , ## arg); } while (0)
 #define err(format, arg...) printk(KERN_ERR "%s: " format , MY_NAME , ## arg)
 #define info(format, arg...) printk(KERN_INFO "%s: " format , MY_NAME , ## arg)
 #define warn(format, arg...) printk(KERN_WARNING "%s: " format , MY_NAME , ## arg)
--- linux-2.4.20/drivers/hotplug/pci_hotplug_util.c~	2003-04-11 14:29:09.000000000 +0200
+++ linux-2.4.20/drivers/hotplug/pci_hotplug_util.c	2003-04-11 14:29:09.000000000 +0200
@@ -41,7 +41,7 @@
 	#define MY_NAME	THIS_MODULE->name
 #endif
 
-#define dbg(fmt, arg...) do { if (debug) printk(KERN_DEBUG "%s: "__FUNCTION__": " fmt , MY_NAME , ## arg); } while (0)
+#define dbg(fmt, arg...) do { if (debug) printk(KERN_DEBUG "%s: %s: " fmt , MY_NAME , __FUNCTION__, ## arg); } while (0)
 #define err(format, arg...) printk(KERN_ERR "%s: " format , MY_NAME , ## arg)
 #define info(format, arg...) printk(KERN_INFO "%s: " format , MY_NAME , ## arg)
 #define warn(format, arg...) printk(KERN_WARNING "%s: " format , MY_NAME , ## arg)
--- linux-2.4.21/arch/i386/kernel/io_apic.c~	2003-07-10 13:49:15.198737306 +0200
+++ linux-2.4.21/arch/i386/kernel/io_apic.c	2003-07-10 13:49:15.216734932 +0200
@@ -44,7 +44,7 @@
 
 unsigned int int_dest_addr_mode = APIC_DEST_LOGICAL;
 unsigned char int_delivery_mode = dest_LowestPrio;
-extern unsigned int xapic_support;
+unsigned int xapic_support;
 
 /*
  * # of IRQ routing registers
--- linux-2.4.21/drivers/addon/cipe3/device.c.orig	Fri Jul 25 16:06:32 2003
+++ linux-2.4.21/drivers/addon/cipe3/device.c	Fri Jul 25 16:06:51 2003
@@ -221,7 +221,7 @@
 	    tasklist_UNLOCK();
 	    return pid;
 	}
-	p=p->next_task;
+	p=next_task(p);
     } while (p!=current);
     tasklist_UNLOCK();
     return 0;
--- linux-2.4.21/drivers/addon/cipe4/device.c.orig	Fri Jul 25 16:07:00 2003
+++ linux-2.4.21/drivers/addon/cipe4/device.c	Fri Jul 25 16:08:03 2003
@@ -221,7 +221,7 @@
 	    tasklist_UNLOCK();
 	    return pid;
 	}
-	p=p->next_task;
+	p=next_task(p);
     } while (p!=current);
     tasklist_UNLOCK();
     return 0;
