Sophie

Sophie

distrib > PLD > ac > amd64 > by-pkgid > 950ec4453099b5125884e99014f11757 > files > 86

kernel24-2.4.34-1.src.rpm

diff -urN linux-2.4.22.org/arch/alpha/kernel/sys_sable.c linux-2.4.22/arch/alpha/kernel/sys_sable.c
--- linux-2.4.22.org/arch/alpha/kernel/sys_sable.c	2003-11-23 16:00:51.000000000 +0100
+++ linux-2.4.22/arch/alpha/kernel/sys_sable.c	2003-11-23 16:04:29.000000000 +0100
@@ -194,8 +194,9 @@
  */
 
 static int __init
-sable_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
+sable_map_irq(struct pci_dev *dev, u8 slota, u8 pin)
 {
+	int slot=slota;
 	static char irq_tab[9][5] __initdata = {
 		/*INT    INTA   INTB   INTC   INTD */
 		{ 32+0,  32+0,  32+0,  32+0,  32+0},  /* IdSel 0,  TULIP  */
diff -urN linux-2.4.22.org/arch/alpha/kernel/sys_titan.c linux-2.4.22/arch/alpha/kernel/sys_titan.c
--- linux-2.4.22.org/arch/alpha/kernel/sys_titan.c	2003-11-23 16:00:51.000000000 +0100
+++ linux-2.4.22/arch/alpha/kernel/sys_titan.c	2003-11-23 16:04:29.000000000 +0100
@@ -99,7 +99,7 @@
 	*dim2;
 	*dim3;
 #else
-	volatile unsigned long *dimB;
+	volatile unsigned long *dimB=NULL;
 	dimB = &cchip->dim0.csr;
 	if (bcpu == 1) dimB = &cchip->dim1.csr;
 	else if (bcpu == 2) dimB = &cchip->dim2.csr;
diff -urN linux-2.4.22.org/arch/alpha/kernel/sys_wildfire.c linux-2.4.22/arch/alpha/kernel/sys_wildfire.c
--- linux-2.4.22.org/arch/alpha/kernel/sys_wildfire.c	2003-11-23 16:00:51.000000000 +0100
+++ linux-2.4.22/arch/alpha/kernel/sys_wildfire.c	2003-11-23 16:04:29.000000000 +0100
@@ -300,8 +300,9 @@
  */
 
 static int __init
-wildfire_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
+wildfire_map_irq(struct pci_dev *dev, u8 slotu, u8 pin)
 {
+	int slot=slotu;
 	static char irq_tab[8][5] __initdata = {
 		/*INT    INTA   INTB   INTC   INTD */
 		{ -1,    -1,    -1,    -1,    -1}, /* IdSel 0 ISA Bridge */
diff -urN linux-2.4.22.org/arch/sparc64/solaris/misc.c linux-2.4.22/arch/sparc64/solaris/misc.c
--- linux-2.4.22.org/arch/sparc64/solaris/misc.c	2003-11-23 16:01:09.000000000 +0100
+++ linux-2.4.22/arch/sparc64/solaris/misc.c	2003-11-23 16:04:29.000000000 +0100
@@ -15,6 +15,7 @@
 #include <linux/mman.h>
 #include <linux/file.h>
 #include <linux/timex.h>
+#include <linux/major.h>
 
 #include <asm/uaccess.h>
 #include <asm/string.h>
diff -urN linux-2.4.22.org/drivers/block/blkpg.c linux-2.4.22/drivers/block/blkpg.c
--- linux-2.4.22.org/drivers/block/blkpg.c	2003-11-23 15:59:47.000000000 +0100
+++ linux-2.4.22/drivers/block/blkpg.c	2003-11-23 16:04:29.000000000 +0100
@@ -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 -urN linux-2.4.22.org/drivers/block/DAC960.c linux-2.4.22/drivers/block/DAC960.c
--- linux-2.4.22.org/drivers/block/DAC960.c	2003-11-23 15:59:45.000000000 +0100
+++ linux-2.4.22/drivers/block/DAC960.c	2003-11-23 16:04:29.000000000 +0100
@@ -5491,11 +5491,7 @@
 				       .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 -urN linux-2.4.22.org/drivers/block/nbd.c linux-2.4.22/drivers/block/nbd.c
--- linux-2.4.22.org/drivers/block/nbd.c	2003-11-23 15:59:44.000000000 +0100
+++ linux-2.4.22/drivers/block/nbd.c	2003-11-23 16:04:29.000000000 +0100
@@ -563,7 +563,7 @@
  *  (Just smiley confuses emacs :-)
  */
 
-static int __init nbd_init(void)
+int __init nbd_init(void)
 {
 	int i;
 
diff -urN linux-2.4.22.org/drivers/char/amd76x_pm.c linux-2.4.22/drivers/char/amd76x_pm.c
--- linux-2.4.22.org/drivers/char/amd76x_pm.c	2003-11-23 15:59:47.000000000 +0100
+++ linux-2.4.22/drivers/char/amd76x_pm.c	2003-11-23 16:04:29.000000000 +0100
@@ -73,6 +73,7 @@
 
 
 #include <linux/config.h>
+#include <linux/init.h>
 #include <linux/module.h>
 #include <linux/slab.h>
 #include <linux/pci.h>
diff -urN linux-2.4.22.org/drivers/md/dm-io.c linux-2.4.22/drivers/md/dm-io.c
--- linux-2.4.22.org/drivers/md/dm-io.c	2003-11-23 16:00:41.000000000 +0100
+++ linux-2.4.22/drivers/md/dm-io.c	2003-11-23 16:04:12.000000000 +0100
@@ -11,6 +11,8 @@
 #include <linux/slab.h>
 #include <linux/sched.h>
 
+#include <linux/bitops.h>
+
 /* FIXME: can we shrink this ? */
 struct io_context {
 	int rw;
@@ -177,11 +179,6 @@
 /*
  * Primitives for alignment calculations.
  */
-int fls(unsigned n)
-{
-	return generic_fls32(n);
-}
-
 static inline int log2_floor(unsigned n)
 {
 	return ffs(n) - 1;
diff -urN linux-2.4.22.org/drivers/net/ns83820.c linux-2.4.22/drivers/net/ns83820.c
--- linux-2.4.22.org/drivers/net/ns83820.c	2003-11-23 15:59:37.000000000 +0100
+++ linux-2.4.22/drivers/net/ns83820.c	2003-11-23 16:04:29.000000000 +0100
@@ -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 -urN linux-2.4.22.org/drivers/net/plip.c linux-2.4.22/drivers/net/plip.c
--- linux-2.4.22.org/drivers/net/plip.c	2003-11-23 15:59:36.000000000 +0100
+++ linux-2.4.22/drivers/net/plip.c	2003-11-23 16:04:29.000000000 +0100
@@ -1383,7 +1383,7 @@
 
 static int parport_ptr;
 
-static int __init plip_setup(char *str)
+int __init plip_setup(char *str)
 {
 	int ints[4];
 
diff -urN linux-2.4.22.org/drivers/net/wan/sdla_chdlc.c linux-2.4.22/drivers/net/wan/sdla_chdlc.c
--- linux-2.4.22.org/drivers/net/wan/sdla_chdlc.c	2003-11-23 15:59:40.000000000 +0100
+++ linux-2.4.22/drivers/net/wan/sdla_chdlc.c	2003-11-23 16:04:29.000000000 +0100
@@ -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 -urN linux-2.4.22.org/drivers/net/wan/sdla_fr.c linux-2.4.22/drivers/net/wan/sdla_fr.c
--- linux-2.4.22.org/drivers/net/wan/sdla_fr.c	2003-11-23 15:59:40.000000000 +0100
+++ linux-2.4.22/drivers/net/wan/sdla_fr.c	2003-11-23 16:04:29.000000000 +0100
@@ -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 -urN linux-2.4.22.org/drivers/net/wan/sdla_ppp.c linux-2.4.22/drivers/net/wan/sdla_ppp.c
--- linux-2.4.22.org/drivers/net/wan/sdla_ppp.c	2003-11-23 15:59:41.000000000 +0100
+++ linux-2.4.22/drivers/net/wan/sdla_ppp.c	2003-11-23 16:04:29.000000000 +0100
@@ -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 -urN linux-2.4.22.org/drivers/net/wan/sdla_x25.c linux-2.4.22/drivers/net/wan/sdla_x25.c
--- linux-2.4.22.org/drivers/net/wan/sdla_x25.c	2003-11-23 15:59:40.000000000 +0100
+++ linux-2.4.22/drivers/net/wan/sdla_x25.c	2003-11-23 16:04:29.000000000 +0100
@@ -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 -urN linux-2.4.22.org/drivers/net/wan/wanpipe_multppp.c linux-2.4.22/drivers/net/wan/wanpipe_multppp.c
--- linux-2.4.22.org/drivers/net/wan/wanpipe_multppp.c	2003-11-23 15:59:41.000000000 +0100
+++ linux-2.4.22/drivers/net/wan/wanpipe_multppp.c	2003-11-23 16:04:29.000000000 +0100
@@ -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 -urN linux-2.4.22.org/drivers/net/wireless/hermes.c linux-2.4.22/drivers/net/wireless/hermes.c
--- linux-2.4.22.org/drivers/net/wireless/hermes.c	2003-11-23 15:59:44.000000000 +0100
+++ linux-2.4.22/drivers/net/wireless/hermes.c	2003-11-23 16:04:29.000000000 +0100
@@ -48,6 +48,7 @@
 #include <linux/delay.h>
 #include <linux/init.h>
 #include <linux/kernel.h>
+#include <linux/sched.h>
 #include <asm/errno.h>
 
 #include "hermes.h"
diff -urN linux-2.4.22.org/drivers/parport/parport_cs.c linux-2.4.22/drivers/parport/parport_cs.c
--- linux-2.4.22.org/drivers/parport/parport_cs.c	2003-11-23 16:00:28.000000000 +0100
+++ linux-2.4.22/drivers/parport/parport_cs.c	2003-11-23 16:04:29.000000000 +0100
@@ -43,6 +43,7 @@
 #include <linux/string.h>
 #include <linux/timer.h>
 #include <linux/ioport.h>
+#include <linux/major.h>
 
 #include <linux/parport.h>
 #include <linux/parport_pc.h>
diff -urN linux-2.4.22.org/drivers/scsi/53c7,8xx.c linux-2.4.22/drivers/scsi/53c7,8xx.c
--- linux-2.4.22.org/drivers/scsi/53c7,8xx.c	2003-11-23 15:59:58.000000000 +0100
+++ linux-2.4.22/drivers/scsi/53c7,8xx.c	2003-11-23 16:04:29.000000000 +0100
@@ -1433,14 +1433,13 @@
       command |= PCI_COMMAND_MASTER|PCI_COMMAND_IO;
       pci_write_config_word(pdev, PCI_COMMAND, command);
 
-      if (io_port >= 0x10000000 && is_prep ) {
+      if (io_port >= 0x10000000 && (_machine == _MACH_prep) ) {
 	      /* Mapping on PowerPC can't handle this! */
 	      unsigned long new_io_port;
 	      new_io_port = (io_port & 0x00FFFFFF) | 0x01000000;
 	      printk("SCSI: I/O moved from %08X to %08x\n", io_port, new_io_port);
 	      io_port = new_io_port;
 	      pci_write_config_dword(pdev, PCI_BASE_ADDRESS_0, io_port);
-	      pdev->base_address[0] = io_port;
       }
     }
 #endif
;diff -urN linux-2.4.22.org/drivers/scsi/advansys.c linux-2.4.22/drivers/scsi/advansys.c
;--- linux-2.4.22.org/drivers/scsi/advansys.c	2003-11-23 15:59:57.000000000 +0100
;+++ linux-2.4.22/drivers/scsi/advansys.c	2003-11-23 16:04:29.000000000 +0100
;@@ -5551,7 +5551,7 @@
;                 }
;             } 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 @@
;             ASC_PCI_ID2FUNC(asc_dvc->cfg->pci_slot_info)),
;         offset, byte_data);
; #else /* CONFIG_PCI */
;-    return 0;
; #endif /* CONFIG_PCI */
; }
; 
diff -urN linux-2.4.22.org/drivers/scsi/imm.c linux-2.4.22/drivers/scsi/imm.c
--- linux-2.4.22.org/drivers/scsi/imm.c	2003-11-23 15:59:58.000000000 +0100
+++ linux-2.4.22/drivers/scsi/imm.c	2003-11-23 16:04:29.000000000 +0100
@@ -322,10 +322,10 @@
      * 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 @@
 	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 @@
 	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 -urN linux-2.4.22.org/drivers/scsi/ppa.c linux-2.4.22/drivers/scsi/ppa.c
--- linux-2.4.22.org/drivers/scsi/ppa.c	2003-11-23 15:59:58.000000000 +0100
+++ linux-2.4.22/drivers/scsi/ppa.c	2003-11-23 16:04:29.000000000 +0100
@@ -824,7 +824,7 @@
 	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 @@
 	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 -urN linux-2.4.22.org/drivers/scsi/qlogicisp.c linux-2.4.22/drivers/scsi/qlogicisp.c
--- linux-2.4.22.org/drivers/scsi/qlogicisp.c	2003-11-23 15:59:57.000000000 +0100
+++ linux-2.4.22/drivers/scsi/qlogicisp.c	2003-11-23 16:04:29.000000000 +0100
@@ -1034,6 +1034,9 @@
 
 		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 -urN linux-2.4.22.org/drivers/sound/cs4281/cs4281m.c linux-2.4.22/drivers/sound/cs4281/cs4281m.c
--- linux-2.4.22.org/drivers/sound/cs4281/cs4281m.c	2003-11-23 16:00:06.000000000 +0100
+++ linux-2.4.22/drivers/sound/cs4281/cs4281m.c	2003-11-23 16:04:30.000000000 +0100
@@ -4597,8 +4597,8 @@
 	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 -urN linux-2.4.22.org/drivers/video/fbcon-mac.c linux-2.4.22/drivers/video/fbcon-mac.c
--- linux-2.4.22.org/drivers/video/fbcon-mac.c	2003-11-23 16:00:19.000000000 +0100
+++ linux-2.4.22/drivers/video/fbcon-mac.c	2003-11-23 16:04:30.000000000 +0100
@@ -18,6 +18,7 @@
 #include <linux/string.h>
 #include <linux/fb.h>
 #include <linux/delay.h>
+#include <linux/sched.h>
 
 #include <video/fbcon.h>
 #include <video/fbcon-mac.h>
diff -urN linux-2.4.22.org/drivers/video/sis/sis_main.c linux-2.4.22/drivers/video/sis/sis_main.c
--- linux-2.4.22.org/drivers/video/sis/sis_main.c	2003-11-23 16:00:24.000000000 +0100
+++ linux-2.4.22/drivers/video/sis/sis_main.c	2003-11-23 16:04:30.000000000 +0100
@@ -41,6 +41,7 @@
 #include <linux/fs.h>
 #include <linux/agp_backend.h>
 #include <linux/types.h>
+#include <linux/vmalloc.h>
 #include <asm/uaccess.h>
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
diff -urN linux-2.4.22.org/fs/dquot.c linux-2.4.22/fs/dquot.c
--- linux-2.4.22.org/fs/dquot.c	2003-11-23 15:58:31.000000000 +0100
+++ linux-2.4.22/fs/dquot.c	2003-11-23 16:04:30.000000000 +0100
@@ -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 -urN linux-2.4.22.org/fs/intermezzo/dir.c linux-2.4.22/fs/intermezzo/dir.c
--- linux-2.4.22.org/fs/intermezzo/dir.c	2003-11-23 15:58:36.000000000 +0100
+++ linux-2.4.22/fs/intermezzo/dir.c	2003-11-23 16:04:30.000000000 +0100
@@ -27,6 +27,8 @@
 #include <asm/bitops.h>
 #include <asm/uaccess.h>
 #include <asm/system.h>
+#include <asm/ioctls.h>
+#include <asm/termios.h>
 #include <linux/smp_lock.h>
 
 #include <linux/errno.h>
diff -urN linux-2.4.22.org/fs/locks.c linux-2.4.22/fs/locks.c
--- linux-2.4.22.org/fs/locks.c	2003-11-23 15:58:30.000000000 +0100
+++ linux-2.4.22/fs/locks.c	2003-11-23 16:04:30.000000000 +0100
@@ -422,9 +422,15 @@
 			       struct file_lock *waiter)
 {
 	if (!list_empty(&waiter->fl_block)) {
+#ifdef __alpha__
+		printk(KERN_ERR "locks_insert_block: removing duplicated lock "
+			"(pid=%d %ld-%ld type=%d)\n", waiter->fl_pid,
+			waiter->fl_start, waiter->fl_end, waiter->fl_type);
+#else
 		printk(KERN_ERR "locks_insert_block: removing duplicated lock "
 			"(pid=%d %Ld-%Ld type=%d)\n", waiter->fl_pid,
 			waiter->fl_start, waiter->fl_end, waiter->fl_type);
+#endif
 		locks_delete_block(waiter);
 	}
 	list_add_tail(&waiter->fl_block, &blocker->fl_block);
@@ -1862,11 +1868,19 @@
 		     fl->fl_pid,
 		     inode ? kdevname(inode->i_dev) : "<none>",
 		     inode ? inode->i_ino : 0);
+#if __alpha__
+	out += sprintf(out, "%ld ", fl->fl_start);
+#else
 	out += sprintf(out, "%Ld ", fl->fl_start);
+#endif
 	if (fl->fl_end == OFFSET_MAX)
 		out += sprintf(out, "EOF ");
 	else
+#if __alpha__
+		out += sprintf(out, "%ld ", fl->fl_end);
+#else
 		out += sprintf(out, "%Ld ", fl->fl_end);
+#endif
 	sprintf(out, "%08lx %08lx %08lx %08lx %08lx\n",
 		(long)fl, (long)fl->fl_link.prev, (long)fl->fl_link.next,
 		(long)fl->fl_next, (long)fl->fl_block.next);
diff -urN linux-2.4.22.org/fs/proc/proc_tty.c linux-2.4.22/fs/proc/proc_tty.c
--- linux-2.4.22.org/fs/proc/proc_tty.c	2003-11-23 15:58:32.000000000 +0100
+++ linux-2.4.22/fs/proc/proc_tty.c	2003-11-23 16:04:30.000000000 +0100
@@ -161,7 +161,7 @@
 	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 -urN linux-2.4.22.org/include/asm-alpha/hardirq.h linux-2.4.22/include/asm-alpha/hardirq.h
--- linux-2.4.22.org/include/asm-alpha/hardirq.h	2003-11-23 15:58:57.000000000 +0100
+++ linux-2.4.22/include/asm-alpha/hardirq.h	2003-11-23 16:04:30.000000000 +0100
@@ -41,6 +41,7 @@
 
 #define synchronize_irq()	barrier()
 
+#define release_irqlock(cpu) ((void) 0)
 #else
 
 #define irq_attempt(cpu, irq) (cpu_data[cpu].irq_attempt[irq])
diff -urN linux-2.4.22.org/include/asm-alpha/smplock.h linux-2.4.22/include/asm-alpha/smplock.h
--- linux-2.4.22.org/include/asm-alpha/smplock.h	2003-11-23 15:58:57.000000000 +0100
+++ linux-2.4.22/include/asm-alpha/smplock.h	2003-11-23 16:04:30.000000000 +0100
@@ -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 -urN linux-2.4.22.org/include/asm-i386/rwsem.h linux-2.4.22/include/asm-i386/rwsem.h
--- linux-2.4.22.org/include/asm-i386/rwsem.h	2003-11-23 15:58:53.000000000 +0100
+++ linux-2.4.22/include/asm-i386/rwsem.h	2003-11-23 16:04:30.000000000 +0100
@@ -42,6 +42,7 @@
 
 #include <linux/list.h>
 #include <linux/spinlock.h>
+#include <asm/system.h>
 
 struct rwsem_waiter;
 
diff -urN linux-2.4.22.org/include/linux/binfmts.h linux-2.4.22/include/linux/binfmts.h
--- linux-2.4.22.org/include/linux/binfmts.h	2003-11-23 15:58:49.000000000 +0100
+++ linux-2.4.22/include/linux/binfmts.h	2003-11-23 16:04:30.000000000 +0100
@@ -16,6 +16,8 @@
 
 #ifdef __KERNEL__
 
+struct mm_struct;
+
 /*
  * This structure is used to hold the arguments that are used when loading binaries.
  */
diff -urN linux-2.4.22.org/include/linux/brlock.h linux-2.4.22/include/linux/brlock.h
--- linux-2.4.22.org/include/linux/brlock.h	2003-11-23 15:58:47.000000000 +0100
+++ linux-2.4.22/include/linux/brlock.h	2003-11-23 16:04:30.000000000 +0100
@@ -39,6 +39,7 @@
 };
 
 #include <linux/config.h>
+#include <linux/sched.h>
 
 #ifdef CONFIG_SMP
 
diff -urN linux-2.4.22.org/include/linux/kbd_kern.h linux-2.4.22/include/linux/kbd_kern.h
--- linux-2.4.22.org/include/linux/kbd_kern.h	2003-11-23 15:58:47.000000000 +0100
+++ linux-2.4.22/include/linux/kbd_kern.h	2003-11-23 16:04:30.000000000 +0100
@@ -3,6 +3,8 @@
 
 #include <linux/interrupt.h>
 #include <linux/keyboard.h>
+#include <linux/sched.h>
+#include <linux/tty.h>
 
 extern struct tasklet_struct keyboard_tasklet;
 
diff -urN linux-2.4.22.org/include/linux/list.h linux-2.4.22/include/linux/list.h
--- linux-2.4.22.org/include/linux/list.h	2003-11-23 15:58:47.000000000 +0100
+++ linux-2.4.22/include/linux/list.h	2003-11-23 16:04:30.000000000 +0100
@@ -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 -urN linux-2.4.22.org/include/linux/proc_fs.h linux-2.4.22/include/linux/proc_fs.h
--- linux-2.4.22.org/include/linux/proc_fs.h	2003-11-23 15:58:47.000000000 +0100
+++ linux-2.4.22/include/linux/proc_fs.h	2003-11-23 16:04:30.000000000 +0100
@@ -206,6 +206,8 @@
 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 -urN linux-2.4.22.org/include/linux/vt_kern.h linux-2.4.22/include/linux/vt_kern.h
--- linux-2.4.22.org/include/linux/vt_kern.h	2003-11-23 15:58:47.000000000 +0100
+++ linux-2.4.22/include/linux/vt_kern.h	2003-11-23 16:04:30.000000000 +0100
@@ -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 -urN linux-2.4.22.org/include/net/sctp/compat.h linux-2.4.22/include/net/sctp/compat.h
--- linux-2.4.22.org/include/net/sctp/compat.h	2003-11-23 15:59:00.000000000 +0100
+++ linux-2.4.22/include/net/sctp/compat.h	2003-11-23 16:03:28.000000000 +0100
@@ -67,36 +67,4 @@
 #define sk_wmem_queued wmem_queued
 #define sk_bound_dev_if bound_dev_if

-/*
- * find last bit set.
- */
-static __inline__ int fls(int x)
-{
-	int r = 32;
-	
-	if (!x)
-		return 0;
-	if (!(x & 0xffff0000u)) {
-		x <<= 16;
-		r -= 16;
-	}
-	if (!(x & 0xff000000u)) {
-		x <<= 8;
-		r -= 8;
-	}
-	if (!(x & 0xf0000000u)) {
-		x <<= 4;
-		r -= 4;
-	}
-	if (!(x & 0xc0000000u)) {
-		x <<= 2;
-		r -= 2;
-	}
-	if (!(x & 0x80000000u)) {
-		x <<= 1;
-		r -= 1;
-	}
-	return r;
-}
-
 #endif /* __net_sctp_compat_h__ */
diff -urN linux-2.4.22.org/init/do_mounts.c linux-2.4.22/init/do_mounts.c
--- linux-2.4.22.org/init/do_mounts.c	2003-11-23 15:58:39.000000000 +0100
+++ linux-2.4.22/init/do_mounts.c	2003-11-23 16:04:30.000000000 +0100
@@ -462,6 +462,10 @@
 		close(fd);
 	}
 }
+#else
+static void __init change_floppy(char *fmt, ...)
+{
+}
 #endif
 
 #ifdef CONFIG_BLK_DEV_RAM
diff -urN linux-2.4.22.org/kernel/ksyms.c linux-2.4.22/kernel/ksyms.c
--- linux-2.4.22.org/kernel/ksyms.c	2003-11-23 15:58:39.000000000 +0100
+++ linux-2.4.22/kernel/ksyms.c	2003-11-23 16:04:30.000000000 +0100
@@ -512,9 +512,6 @@
 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 -urN linux-2.4.22.org/lib/rwsem-spinlock.c linux-2.4.22/lib/rwsem-spinlock.c
--- linux-2.4.22.org/lib/rwsem-spinlock.c	2003-11-23 15:58:40.000000000 +0100
+++ linux-2.4.22/lib/rwsem-spinlock.c	2003-11-23 16:04:30.000000000 +0100
@@ -280,6 +280,8 @@
 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 -urN linux-2.4.22.org/mm/vmalloc.c linux-2.4.22/mm/vmalloc.c
--- linux-2.4.22.org/mm/vmalloc.c	2003-11-23 15:58:40.000000000 +0100
+++ linux-2.4.22/mm/vmalloc.c	2003-11-23 16:04:30.000000000 +0100
@@ -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;
@@ -244,6 +248,12 @@
 		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 -urN linux-2.4.22.org/net/sctp/ipv6.c linux-2.4.22/net/sctp/ipv6.c
--- linux-2.4.22.org/net/sctp/ipv6.c	2003-11-23 15:59:36.000000000 +0100
+++ linux-2.4.22/net/sctp/ipv6.c	2003-11-23 16:03:04.000000000 +0100
@@ -74,6 +74,7 @@
 #include <net/sctp/sctp.h>
 
 #include <asm/uaccess.h>
+#include <linux/bitops.h>
 
 extern struct notifier_block sctp_inetaddr_notifier;
 
diff -urN linux-2.4.22.org/net/sunrpc/auth.c linux-2.4.22/net/sunrpc/auth.c
--- linux-2.4.22.org/net/sunrpc/auth.c	2003-11-23 15:59:34.000000000 +0100
+++ linux-2.4.22/net/sunrpc/auth.c	2003-11-23 16:04:30.000000000 +0100
@@ -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 -urN linux-2.4.22.org/net/wanrouter/wanproc.c linux-2.4.22/net/wanrouter/wanproc.c
--- linux-2.4.22.org/net/wanrouter/wanproc.c	2003-11-23 15:59:34.000000000 +0100
+++ linux-2.4.22/net/wanrouter/wanproc.c	2003-11-23 16:04:30.000000000 +0100
@@ -1081,6 +1081,13 @@
 }
 #endif
 
+#ifndef CONFIG_PROC_FS
+	int __init wanrouter_proc_init (void)
+	{
+		return 0;
+	}
+#endif
+
 /*
  *	End
  */
diff -urN linux-2.4.24.org/drivers/scsi/scsi_module.c linux-2.4.24/drivers/scsi/scsi_module.c
--- linux-2.4.24.org/drivers/scsi/scsi_module.c	2004-01-18 20:35:20.949771349 +0100
+++ linux-2.4.24/drivers/scsi/scsi_module.c	2004-01-18 20:35:44.792782897 +0100
@@ -29,6 +29,7 @@
  * scsi_register.
  */
 
+#ifndef PCMCIA
 #include <linux/module.h>
 #include <linux/init.h>
 
@@ -50,6 +51,7 @@
 
 module_init(init_this_scsi_driver);
 module_exit(exit_this_scsi_driver);
+#endif
 
 /*
  * Overrides for Emacs so that we almost follow Linus's tabbing style.
diff -urN linux-2.4.24.org/include/asm-alpha/bitops.h linux-2.4.24/include/asm-alpha/bitops.h
--- linux-2.4.24.org/include/asm-alpha/bitops.h	2004-01-19 20:58:56.469350313 +0100
+++ linux-2.4.24/include/asm-alpha/bitops.h	2004-01-23 19:18:12.882761301 +0100
@@ -315,6 +315,11 @@
 	return word ? result+1 : 0;
 }
 
+/*
+ * fls: find last bit set.
+ */
+#define fls     generic_fls
+
 /* Compute powers of two for the given integer.  */
 static inline int floor_log2(unsigned long word)
 {
--- linux-2.4.26/drivers/char/drm/drmP.h.org	2004-04-19 02:52:58.034427096 +0200
+++ linux-2.4.26/drivers/char/drm/drmP.h	2004-04-19 02:53:24.323430560 +0200
@@ -107,76 +107,6 @@
 #define __REALLY_HAVE_MTRR	(__HAVE_MTRR && defined(CONFIG_MTRR))
 
 
-				/* Generic cmpxchg added in 2.3.x */
-#ifndef __HAVE_ARCH_CMPXCHG
-				/* Include this here so that driver can be
-                                   used with older kernels. */
-#if defined(__alpha__)
-static __inline__ unsigned long
-__cmpxchg_u32(volatile int *m, int old, int new)
-{
-	unsigned long prev, cmp;
-
-	__asm__ __volatile__(
-	"1:	ldl_l %0,%2\n"
-	"	cmpeq %0,%3,%1\n"
-	"	beq %1,2f\n"
-	"	mov %4,%1\n"
-	"	stl_c %1,%2\n"
-	"	beq %1,3f\n"
-	"2:	mb\n"
-	".subsection 2\n"
-	"3:	br 1b\n"
-	".previous"
-	: "=&r"(prev), "=&r"(cmp), "=m"(*m)
-	: "r"((long) old), "r"(new), "m"(*m));
-
-	return prev;
-}
-
-static __inline__ unsigned long
-__cmpxchg_u64(volatile long *m, unsigned long old, unsigned long new)
-{
-	unsigned long prev, cmp;
-
-	__asm__ __volatile__(
-	"1:	ldq_l %0,%2\n"
-	"	cmpeq %0,%3,%1\n"
-	"	beq %1,2f\n"
-	"	mov %4,%1\n"
-	"	stq_c %1,%2\n"
-	"	beq %1,3f\n"
-	"2:	mb\n"
-	".subsection 2\n"
-	"3:	br 1b\n"
-	".previous"
-	: "=&r"(prev), "=&r"(cmp), "=m"(*m)
-	: "r"((long) old), "r"(new), "m"(*m));
-
-	return prev;
-}
-
-static __inline__ unsigned long
-__cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int size)
-{
-	switch (size) {
-		case 4:
-			return __cmpxchg_u32(ptr, old, new);
-		case 8:
-			return __cmpxchg_u64(ptr, old, new);
-	}
-	return old;
-}
-#define cmpxchg(ptr,o,n)						 \
-  ({									 \
-     __typeof__(*(ptr)) _o_ = (o);					 \
-     __typeof__(*(ptr)) _n_ = (n);					 \
-     (__typeof__(*(ptr))) __cmpxchg((ptr), (unsigned long)_o_,		 \
-				    (unsigned long)_n_, sizeof(*(ptr))); \
-  })
-
-#endif /* alpha */
-#endif
 #define __REALLY_HAVE_SG	(__HAVE_SG)
 
 /* Begin the DRM...