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...