r4535 - dists/trunk/linux-2.6/debian/patches-arch

Simon Horman horms at costa.debian.org
Wed Oct 19 07:49:59 UTC 2005


Author: horms
Date: 2005-10-19 07:49:55 +0000 (Wed, 19 Oct 2005)
New Revision: 4535

Modified:
   dists/trunk/linux-2.6/debian/patches-arch/hppa.diff
Log:
2.6.14-rc2-pa6 with a minor backport to -rc4. Sorry if this breaks anything, but it does at least apply

Modified: dists/trunk/linux-2.6/debian/patches-arch/hppa.diff
===================================================================
--- dists/trunk/linux-2.6/debian/patches-arch/hppa.diff	2005-10-19 07:46:51 UTC (rev 4534)
+++ dists/trunk/linux-2.6/debian/patches-arch/hppa.diff	2005-10-19 07:49:55 UTC (rev 4535)
@@ -1,6 +1,6 @@
-diff -Nur linux-2.6.13.org/CREDITS linux-2.6.13/CREDITS
---- linux-2.6.13.org/CREDITS	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/CREDITS	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/CREDITS CVS2_6_14_RC2_PA6/CREDITS
+--- LINUS_2_6_14_RC2/CREDITS	2005-09-22 19:16:50.000000000 -0600
++++ CVS2_6_14_RC2_PA6/CREDITS	2005-09-23 21:43:12.000000000 -0600
 @@ -611,8 +611,7 @@
  N: Randolph Chung
  E: tausq at debian.org
@@ -11,9 +11,9 @@
  
  N: Juan Jose Ciarlante
  W: http://juanjox.kernelnotes.org/
-diff -Nur linux-2.6.13.org/Documentation/parisc/todo linux-2.6.13/Documentation/parisc/todo
---- linux-2.6.13.org/Documentation/parisc/todo	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.13/Documentation/parisc/todo	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/Documentation/parisc/todo CVS2_6_14_RC2_PA6/Documentation/parisc/todo
+--- LINUS_2_6_14_RC2/Documentation/parisc/todo	1969-12-31 17:00:00.000000000 -0700
++++ CVS2_6_14_RC2_PA6/Documentation/parisc/todo	2005-04-27 00:45:20.000000000 -0600
 @@ -0,0 +1,82 @@
 +Status 2005-03-07 :
 +-------------------
@@ -97,10 +97,10 @@
 + - fix HIL problem: ksoftirqd/0 eats 56% cpu (kernel 2.4 & kernel 2.6)
 + - NPTL kernel support (CLONE_*TID flags need to be correctly handled by 
 +   sys_clone() and friends)
-diff -Nur linux-2.6.13.org/MAINTAINERS linux-2.6.13/MAINTAINERS
---- linux-2.6.13.org/MAINTAINERS	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/MAINTAINERS	2005-09-25 12:34:39.000000000 -0400
-@@ -191,6 +191,15 @@
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/MAINTAINERS CVS2_6_14_RC2_PA6/MAINTAINERS
+--- LINUS_2_6_14_RC2/MAINTAINERS	2005-09-22 19:16:50.000000000 -0600
++++ CVS2_6_14_RC2_PA6/MAINTAINERS	2005-09-23 21:43:12.000000000 -0600
+@@ -197,6 +197,15 @@
  W:	http://linux.thorsten-knabe.de
  S:	Maintained
  
@@ -116,9 +116,9 @@
  ADM1025 HARDWARE MONITOR DRIVER
  P:	Jean Delvare
  M:	khali at linux-fr.org
-diff -Nur linux-2.6.13.org/arch/ia64/ia32/ia32_signal.c linux-2.6.13/arch/ia64/ia32/ia32_signal.c
---- linux-2.6.13.org/arch/ia64/ia32/ia32_signal.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/ia64/ia32/ia32_signal.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/ia64/ia32/ia32_signal.c CVS2_6_14_RC2_PA6/arch/ia64/ia32/ia32_signal.c
+--- LINUS_2_6_14_RC2/arch/ia64/ia32/ia32_signal.c	2005-09-22 19:17:00.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/ia64/ia32/ia32_signal.c	2005-09-14 06:54:22.000000000 -0600
 @@ -24,6 +24,7 @@
  #include <linux/unistd.h>
  #include <linux/wait.h>
@@ -127,9 +127,9 @@
  
  #include <asm/intrinsics.h>
  #include <asm/uaccess.h>
-diff -Nur linux-2.6.13.org/arch/ia64/ia32/ia32priv.h linux-2.6.13/arch/ia64/ia32/ia32priv.h
---- linux-2.6.13.org/arch/ia64/ia32/ia32priv.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/ia64/ia32/ia32priv.h	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/ia64/ia32/ia32priv.h CVS2_6_14_RC2_PA6/arch/ia64/ia32/ia32priv.h
+--- LINUS_2_6_14_RC2/arch/ia64/ia32/ia32priv.h	2005-09-22 19:17:00.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/ia64/ia32/ia32priv.h	2005-04-12 14:38:26.000000000 -0600
 @@ -225,58 +225,6 @@
  	unsigned int	st_ino_hi;
  };
@@ -189,30 +189,23 @@
  struct old_linux32_dirent {
  	u32	d_ino;
  	u32	d_offset;
-diff -Nur linux-2.6.13.org/arch/parisc/Kconfig linux-2.6.13/arch/parisc/Kconfig
---- linux-2.6.13.org/arch/parisc/Kconfig	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/Kconfig	2005-09-25 12:34:39.000000000 -0400
-@@ -33,7 +33,7 @@
- 	default y
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/Kconfig CVS2_6_14_RC2_PA6/arch/parisc/Kconfig
+--- LINUS_2_6_14_RC2/arch/parisc/Kconfig	2005-09-22 19:17:04.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/Kconfig	2005-09-24 17:20:57.000000000 -0600
+@@ -47,10 +47,10 @@
  
- config GENERIC_ISA_DMA
--	bool
-+	def_bool n
+ config ISA_DMA_API
+ 	bool
+-	default y
  
- config GENERIC_HARDIRQS
- 	def_bool y
-@@ -46,8 +46,7 @@
+ config ARCH_MAY_HAVE_PC_FDC
  	bool
++	depends on BROKEN
+ 	default y
  
- config ISA_DMA_API
--	bool
--	default y
-+	def_bool n
- 
  source "init/Kconfig"
+@@ -154,13 +154,14 @@
  
-@@ -150,7 +149,7 @@
- 
  config ARCH_DISCONTIGMEM_ENABLE
  	bool "Discontiguous memory support (EXPERIMENTAL)"
 -	depends on EXPERIMENTAL
@@ -220,10 +213,17 @@
  	help
  	  Say Y to support efficient handling of discontiguous physical memory,
  	  for architectures which are either NUMA (Non-Uniform Memory Access)
-diff -Nur linux-2.6.13.org/arch/parisc/Makefile linux-2.6.13/arch/parisc/Makefile
---- linux-2.6.13.org/arch/parisc/Makefile	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/Makefile	2005-09-25 12:34:39.000000000 -0400
-@@ -20,13 +20,14 @@
+ 	  or have huge holes in the physical address space for other reasons.
+ 	  See <file:Documentation/vm/numa> for more.
+ 
++source "kernel/Kconfig.hz"
+ source "mm/Kconfig"
+ 
+ config PREEMPT
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/Makefile CVS2_6_14_RC2_PA6/arch/parisc/Makefile
+--- LINUS_2_6_14_RC2/arch/parisc/Makefile	2005-09-22 19:17:04.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/Makefile	2005-09-14 13:53:57.000000000 -0600
+@@ -20,7 +20,8 @@
  CHECKFLAGS	+= -D__hppa__=1
  
  ifdef CONFIG_64BIT
@@ -233,13 +233,6 @@
  UTS_MACHINE	:= parisc64
  CHECKFLAGS	+= -D__LP64__=1 -m64
  else
- MACHINE := $(subst 64,,$(shell uname -m))
- ifneq ($(MACHINE),parisc)
--CROSS_COMPILE	:= hppa-linux-
-+CROSS_COMPILE	:= hppa-linux-gnu-
- endif
- endif
- 
 @@ -34,6 +35,14 @@
  
  OBJCOPY_FLAGS =-O binary -R .note -R .comment -S
@@ -264,9 +257,9 @@
  
  # Without this, "ld -r" results in .text sections that are too big
  # (> 0x40000) for branches to reach stubs.
-diff -Nur linux-2.6.13.org/arch/parisc/configs/712_defconfig linux-2.6.13/arch/parisc/configs/712_defconfig
---- linux-2.6.13.org/arch/parisc/configs/712_defconfig	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/configs/712_defconfig	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/configs/712_defconfig CVS2_6_14_RC2_PA6/arch/parisc/configs/712_defconfig
+--- LINUS_2_6_14_RC2/arch/parisc/configs/712_defconfig	2005-09-22 19:17:04.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/configs/712_defconfig	2005-07-18 12:46:03.000000000 -0600
 @@ -1,12 +1,16 @@
  #
  # Automatically generated make config: don't edit
@@ -616,16 +609,16 @@
  # Library routines
  #
  CONFIG_CRC_CCITT=m
-diff -Nur linux-2.6.13.org/arch/parisc/configs/a500_defconfig linux-2.6.13/arch/parisc/configs/a500_defconfig
---- linux-2.6.13.org/arch/parisc/configs/a500_defconfig	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/configs/a500_defconfig	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/configs/a500_defconfig CVS2_6_14_RC2_PA6/arch/parisc/configs/a500_defconfig
+--- LINUS_2_6_14_RC2/arch/parisc/configs/a500_defconfig	2005-09-22 19:17:04.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/configs/a500_defconfig	2005-09-24 19:37:20.000000000 -0600
 @@ -1,7 +1,7 @@
  #
  # Automatically generated make config: don't edit
 -# Linux kernel version: 2.6.11-rc4-pa1
 -# Wed Feb 16 11:32:49 2005
-+# Linux kernel version: 2.6.12-rc4-pa2
-+# Wed May 11 23:04:06 2005
++# Linux kernel version: 2.6.14-rc2-pa1
++# Sat Sep 24 18:12:25 2005
  #
  CONFIG_PARISC=y
  CONFIG_MMU=y
@@ -633,11 +626,11 @@
  CONFIG_GENERIC_CALIBRATE_DELAY=y
  CONFIG_GENERIC_HARDIRQS=y
  CONFIG_GENERIC_IRQ_PROBE=y
-+CONFIG_ISA_DMA_API=y
++CONFIG_ARCH_MAY_HAVE_PC_FDC=y
  
  #
  # Code maturity level options
-@@ -19,6 +20,7 @@
+@@ -19,26 +20,32 @@
  CONFIG_BROKEN=y
  CONFIG_BROKEN_ON_SMP=y
  CONFIG_LOCK_KERNEL=y
@@ -645,7 +638,12 @@
  
  #
  # General setup
-@@ -30,15 +32,18 @@
+ #
+ CONFIG_LOCALVERSION=""
++# CONFIG_LOCALVERSION_AUTO is not set
+ CONFIG_SWAP=y
+ CONFIG_SYSVIPC=y
+ CONFIG_POSIX_MQUEUE=y
  # CONFIG_BSD_PROCESS_ACCT is not set
  CONFIG_SYSCTL=y
  # CONFIG_AUDIT is not set
@@ -655,6 +653,7 @@
  CONFIG_IKCONFIG=y
  CONFIG_IKCONFIG_PROC=y
 +# CONFIG_CPUSETS is not set
++CONFIG_INITRAMFS_SOURCE=""
  CONFIG_EMBEDDED=y
  CONFIG_KALLSYMS=y
  CONFIG_KALLSYMS_ALL=y
@@ -665,7 +664,7 @@
  CONFIG_FUTEX=y
  CONFIG_EPOLL=y
  # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-@@ -48,6 +53,7 @@
+@@ -48,6 +55,7 @@
  CONFIG_CC_ALIGN_LOOPS=0
  CONFIG_CC_ALIGN_JUMPS=0
  # CONFIG_TINY_SHMEM is not set
@@ -673,31 +672,485 @@
  
  #
  # Loadable module support
-@@ -86,6 +92,7 @@
+@@ -74,7 +82,19 @@
+ CONFIG_64BIT=y
+ CONFIG_SMP=y
+ CONFIG_HOTPLUG_CPU=y
++CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
++# CONFIG_HZ_100 is not set
++CONFIG_HZ_250=y
++# CONFIG_HZ_1000 is not set
++CONFIG_HZ=250
++CONFIG_SELECT_MEMORY_MODEL=y
++# CONFIG_FLATMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM_MANUAL=y
++# CONFIG_SPARSEMEM_MANUAL is not set
+ CONFIG_DISCONTIGMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_NEED_MULTIPLE_NODES=y
++# CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_PREEMPT is not set
+ CONFIG_COMPAT=y
+ CONFIG_NR_CPUS=8
+@@ -85,7 +105,7 @@
+ # CONFIG_GSC is not set
  CONFIG_PCI=y
  CONFIG_PCI_LEGACY_PROC=y
- CONFIG_PCI_NAMES=y
+-CONFIG_PCI_NAMES=y
 +# CONFIG_PCI_DEBUG is not set
  CONFIG_PCI_LBA=y
  CONFIG_IOSAPIC=y
  CONFIG_IOMMU_SBA=y
-@@ -259,6 +266,7 @@
+@@ -96,6 +116,8 @@
+ CONFIG_PCCARD=m
+ # CONFIG_PCMCIA_DEBUG is not set
+ CONFIG_PCMCIA=m
++# CONFIG_PCMCIA_LOAD_CIS is not set
++CONFIG_PCMCIA_IOCTL=y
+ CONFIG_CARDBUS=y
+ 
+ #
+@@ -127,6 +149,201 @@
+ # CONFIG_BINFMT_MISC is not set
+ 
+ #
++# Networking
++#
++CONFIG_NET=y
++
++#
++# Networking options
++#
++CONFIG_PACKET=y
++CONFIG_PACKET_MMAP=y
++CONFIG_UNIX=y
++CONFIG_XFRM=y
++CONFIG_XFRM_USER=m
++CONFIG_NET_KEY=m
++CONFIG_INET=y
++CONFIG_IP_MULTICAST=y
++# CONFIG_IP_ADVANCED_ROUTER is not set
++CONFIG_IP_FIB_HASH=y
++CONFIG_IP_PNP=y
++CONFIG_IP_PNP_DHCP=y
++CONFIG_IP_PNP_BOOTP=y
++# CONFIG_IP_PNP_RARP is not set
++# CONFIG_NET_IPIP is not set
++# CONFIG_NET_IPGRE is not set
++# CONFIG_IP_MROUTE is not set
++# CONFIG_ARPD is not set
++# CONFIG_SYN_COOKIES is not set
++CONFIG_INET_AH=m
++CONFIG_INET_ESP=m
++# CONFIG_INET_IPCOMP is not set
++CONFIG_INET_TUNNEL=m
++CONFIG_INET_DIAG=y
++CONFIG_INET_TCP_DIAG=y
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_BIC=y
++
++#
++# IP: Virtual Server Configuration
++#
++# CONFIG_IP_VS is not set
++CONFIG_IPV6=m
++# CONFIG_IPV6_PRIVACY is not set
++CONFIG_INET6_AH=m
++CONFIG_INET6_ESP=m
++CONFIG_INET6_IPCOMP=m
++CONFIG_INET6_TUNNEL=m
++CONFIG_IPV6_TUNNEL=m
++CONFIG_NETFILTER=y
++# CONFIG_NETFILTER_DEBUG is not set
++# CONFIG_NETFILTER_NETLINK is not set
++
++#
++# IP: Netfilter Configuration
++#
++CONFIG_IP_NF_CONNTRACK=m
++# CONFIG_IP_NF_CT_ACCT is not set
++CONFIG_IP_NF_CONNTRACK_MARK=y
++# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
++CONFIG_IP_NF_CT_PROTO_SCTP=m
++CONFIG_IP_NF_FTP=m
++CONFIG_IP_NF_IRC=m
++# CONFIG_IP_NF_NETBIOS_NS is not set
++CONFIG_IP_NF_TFTP=m
++CONFIG_IP_NF_AMANDA=m
++# CONFIG_IP_NF_PPTP is not set
++CONFIG_IP_NF_QUEUE=m
++CONFIG_IP_NF_IPTABLES=m
++CONFIG_IP_NF_MATCH_LIMIT=m
++CONFIG_IP_NF_MATCH_IPRANGE=m
++CONFIG_IP_NF_MATCH_MAC=m
++CONFIG_IP_NF_MATCH_PKTTYPE=m
++CONFIG_IP_NF_MATCH_MARK=m
++CONFIG_IP_NF_MATCH_MULTIPORT=m
++CONFIG_IP_NF_MATCH_TOS=m
++CONFIG_IP_NF_MATCH_RECENT=m
++CONFIG_IP_NF_MATCH_ECN=m
++CONFIG_IP_NF_MATCH_DSCP=m
++CONFIG_IP_NF_MATCH_AH_ESP=m
++CONFIG_IP_NF_MATCH_LENGTH=m
++CONFIG_IP_NF_MATCH_TTL=m
++CONFIG_IP_NF_MATCH_TCPMSS=m
++CONFIG_IP_NF_MATCH_HELPER=m
++CONFIG_IP_NF_MATCH_STATE=m
++CONFIG_IP_NF_MATCH_CONNTRACK=m
++CONFIG_IP_NF_MATCH_OWNER=m
++# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
++# CONFIG_IP_NF_MATCH_REALM is not set
++CONFIG_IP_NF_MATCH_SCTP=m
++# CONFIG_IP_NF_MATCH_DCCP is not set
++CONFIG_IP_NF_MATCH_COMMENT=m
++CONFIG_IP_NF_MATCH_CONNMARK=m
++CONFIG_IP_NF_MATCH_HASHLIMIT=m
++# CONFIG_IP_NF_MATCH_STRING is not set
++CONFIG_IP_NF_FILTER=m
++CONFIG_IP_NF_TARGET_REJECT=m
++CONFIG_IP_NF_TARGET_LOG=m
++CONFIG_IP_NF_TARGET_ULOG=m
++CONFIG_IP_NF_TARGET_TCPMSS=m
++CONFIG_IP_NF_NAT=m
++CONFIG_IP_NF_NAT_NEEDED=y
++CONFIG_IP_NF_TARGET_MASQUERADE=m
++CONFIG_IP_NF_TARGET_REDIRECT=m
++CONFIG_IP_NF_TARGET_NETMAP=m
++CONFIG_IP_NF_TARGET_SAME=m
++CONFIG_IP_NF_NAT_SNMP_BASIC=m
++CONFIG_IP_NF_NAT_IRC=m
++CONFIG_IP_NF_NAT_FTP=m
++CONFIG_IP_NF_NAT_TFTP=m
++CONFIG_IP_NF_NAT_AMANDA=m
++CONFIG_IP_NF_MANGLE=m
++CONFIG_IP_NF_TARGET_TOS=m
++CONFIG_IP_NF_TARGET_ECN=m
++CONFIG_IP_NF_TARGET_DSCP=m
++CONFIG_IP_NF_TARGET_MARK=m
++CONFIG_IP_NF_TARGET_CLASSIFY=m
++# CONFIG_IP_NF_TARGET_TTL is not set
++CONFIG_IP_NF_TARGET_CONNMARK=m
++CONFIG_IP_NF_TARGET_CLUSTERIP=m
++CONFIG_IP_NF_RAW=m
++CONFIG_IP_NF_TARGET_NOTRACK=m
++CONFIG_IP_NF_ARPTABLES=m
++CONFIG_IP_NF_ARPFILTER=m
++CONFIG_IP_NF_ARP_MANGLE=m
++
++#
++# IPv6: Netfilter Configuration (EXPERIMENTAL)
++#
++# CONFIG_IP6_NF_QUEUE is not set
++CONFIG_IP6_NF_IPTABLES=m
++# CONFIG_IP6_NF_MATCH_LIMIT is not set
++CONFIG_IP6_NF_MATCH_MAC=m
++CONFIG_IP6_NF_MATCH_RT=m
++CONFIG_IP6_NF_MATCH_OPTS=m
++CONFIG_IP6_NF_MATCH_FRAG=m
++CONFIG_IP6_NF_MATCH_HL=m
++# CONFIG_IP6_NF_MATCH_MULTIPORT is not set
++# CONFIG_IP6_NF_MATCH_OWNER is not set
++# CONFIG_IP6_NF_MATCH_MARK is not set
++CONFIG_IP6_NF_MATCH_IPV6HEADER=m
++# CONFIG_IP6_NF_MATCH_AHESP is not set
++# CONFIG_IP6_NF_MATCH_LENGTH is not set
++# CONFIG_IP6_NF_MATCH_EUI64 is not set
++CONFIG_IP6_NF_FILTER=m
++CONFIG_IP6_NF_TARGET_LOG=m
++CONFIG_IP6_NF_TARGET_REJECT=m
++CONFIG_IP6_NF_MANGLE=m
++# CONFIG_IP6_NF_TARGET_MARK is not set
++# CONFIG_IP6_NF_TARGET_HL is not set
++CONFIG_IP6_NF_RAW=m
++
++#
++# DCCP Configuration (EXPERIMENTAL)
++#
++CONFIG_IP_DCCP=m
++CONFIG_INET_DCCP_DIAG=m
++
++#
++# DCCP CCIDs Configuration (EXPERIMENTAL)
++#
++# CONFIG_IP_DCCP_CCID3 is not set
++
++#
++# DCCP Kernel Hacking
++#
++# CONFIG_IP_DCCP_DEBUG is not set
++
++#
++# SCTP Configuration (EXPERIMENTAL)
++#
++# CONFIG_IP_SCTP is not set
++# CONFIG_ATM is not set
++# CONFIG_BRIDGE is not set
++# CONFIG_VLAN_8021Q is not set
++# CONFIG_DECNET is not set
++CONFIG_LLC=m
++CONFIG_LLC2=m
++# CONFIG_IPX is not set
++# CONFIG_ATALK is not set
++# CONFIG_X25 is not set
++# CONFIG_LAPB is not set
++# CONFIG_NET_DIVERT is not set
++# CONFIG_ECONET is not set
++# CONFIG_WAN_ROUTER is not set
++# CONFIG_NET_SCHED is not set
++# CONFIG_NET_CLS_ROUTE is not set
++
++#
++# Network testing
++#
++CONFIG_NET_PKTGEN=m
++# CONFIG_HAMRADIO is not set
++# CONFIG_IRDA is not set
++# CONFIG_BT is not set
++# CONFIG_IEEE80211 is not set
++
++#
+ # Device Drivers
+ #
+ 
+@@ -139,6 +356,11 @@
+ # CONFIG_DEBUG_DRIVER is not set
+ 
+ #
++# Connector - unified userspace <-> kernelspace linker
++#
++# CONFIG_CONNECTOR is not set
++
++#
+ # Memory Technology Devices (MTD)
+ #
+ # CONFIG_MTD is not set
+@@ -169,7 +391,6 @@
+ CONFIG_BLK_DEV_RAM_COUNT=16
+ CONFIG_BLK_DEV_RAM_SIZE=6144
+ CONFIG_BLK_DEV_INITRD=y
+-CONFIG_INITRAMFS_SOURCE=""
+ # CONFIG_CDROM_PKTCDVD is not set
+ 
+ #
+@@ -189,6 +410,7 @@
+ #
+ # SCSI device support
+ #
++CONFIG_RAID_ATTRS=m
+ CONFIG_SCSI=y
+ CONFIG_SCSI_PROC_FS=y
+ 
+@@ -201,6 +423,7 @@
+ CONFIG_BLK_DEV_SR=y
+ # CONFIG_BLK_DEV_SR_VENDOR is not set
+ CONFIG_CHR_DEV_SG=y
++# CONFIG_CHR_DEV_SCH is not set
+ 
+ #
+ # Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+@@ -215,6 +438,7 @@
+ CONFIG_SCSI_SPI_ATTRS=y
+ CONFIG_SCSI_FC_ATTRS=m
+ CONFIG_SCSI_ISCSI_ATTRS=m
++CONFIG_SCSI_SAS_ATTRS=m
+ 
+ #
+ # SCSI low-level drivers
+@@ -230,13 +454,10 @@
+ # CONFIG_MEGARAID_NEWGEN is not set
+ # CONFIG_MEGARAID_LEGACY is not set
+ # CONFIG_SCSI_SATA is not set
+-# CONFIG_SCSI_BUSLOGIC is not set
+ # CONFIG_SCSI_CPQFCTS is not set
+ # CONFIG_SCSI_DMX3191D is not set
+-# CONFIG_SCSI_EATA is not set
+ # CONFIG_SCSI_EATA_PIO is not set
+ # CONFIG_SCSI_FUTURE_DOMAIN is not set
+-# CONFIG_SCSI_GDTH is not set
+ # CONFIG_SCSI_IPS is not set
+ # CONFIG_SCSI_INITIO is not set
+ # CONFIG_SCSI_INIA100 is not set
+@@ -246,8 +467,6 @@
+ CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+ # CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
+ # CONFIG_SCSI_IPR is not set
+-# CONFIG_SCSI_PCI2000 is not set
+-# CONFIG_SCSI_PCI2220I is not set
+ # CONFIG_SCSI_QLOGIC_ISP is not set
+ CONFIG_SCSI_QLOGIC_FC=m
+ # CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set
+@@ -258,7 +477,9 @@
+ # CONFIG_SCSI_QLA22XX is not set
  CONFIG_SCSI_QLA2300=m
  CONFIG_SCSI_QLA2322=m
- CONFIG_SCSI_QLA6312=m
+-CONFIG_SCSI_QLA6312=m
++# CONFIG_SCSI_QLA6312 is not set
++# CONFIG_SCSI_QLA24XX is not set
 +# CONFIG_SCSI_LPFC is not set
  # CONFIG_SCSI_DC395x is not set
  # CONFIG_SCSI_DC390T is not set
  CONFIG_SCSI_DEBUG=m
-@@ -312,7 +320,6 @@
+@@ -288,8 +509,10 @@
  #
- CONFIG_PACKET=y
- CONFIG_PACKET_MMAP=y
+ # Fusion MPT device support
+ #
+-CONFIG_FUSION=m
+-CONFIG_FUSION_MAX_SGE=40
++CONFIG_FUSION=y
++CONFIG_FUSION_SPI=m
++CONFIG_FUSION_FC=m
++CONFIG_FUSION_MAX_SGE=128
+ CONFIG_FUSION_CTL=m
+ 
+ #
+@@ -303,153 +526,13 @@
+ # CONFIG_I2O is not set
+ 
+ #
+-# Networking support
+-#
+-CONFIG_NET=y
+-
+-#
+-# Networking options
++# Network device support
+ #
+-CONFIG_PACKET=y
+-CONFIG_PACKET_MMAP=y
 -CONFIG_NETLINK_DEV=y
- CONFIG_UNIX=y
- CONFIG_NET_KEY=m
- CONFIG_INET=y
-@@ -449,7 +456,6 @@
+-CONFIG_UNIX=y
+-CONFIG_NET_KEY=m
+-CONFIG_INET=y
+-CONFIG_IP_MULTICAST=y
+-# CONFIG_IP_ADVANCED_ROUTER is not set
+-CONFIG_IP_PNP=y
+-CONFIG_IP_PNP_DHCP=y
+-CONFIG_IP_PNP_BOOTP=y
+-# CONFIG_IP_PNP_RARP is not set
+-# CONFIG_NET_IPIP is not set
+-# CONFIG_NET_IPGRE is not set
+-# CONFIG_IP_MROUTE is not set
+-# CONFIG_ARPD is not set
+-# CONFIG_SYN_COOKIES is not set
+-CONFIG_INET_AH=m
+-CONFIG_INET_ESP=m
+-# CONFIG_INET_IPCOMP is not set
+-CONFIG_INET_TUNNEL=m
+-CONFIG_IP_TCPDIAG=y
+-# CONFIG_IP_TCPDIAG_IPV6 is not set
+-
+-#
+-# IP: Virtual Server Configuration
+-#
+-# CONFIG_IP_VS is not set
+-# CONFIG_IPV6 is not set
+-CONFIG_NETFILTER=y
+-# CONFIG_NETFILTER_DEBUG is not set
+-
+-#
+-# IP: Netfilter Configuration
+-#
+-CONFIG_IP_NF_CONNTRACK=m
+-# CONFIG_IP_NF_CT_ACCT is not set
+-CONFIG_IP_NF_CONNTRACK_MARK=y
+-CONFIG_IP_NF_CT_PROTO_SCTP=m
+-CONFIG_IP_NF_FTP=m
+-CONFIG_IP_NF_IRC=m
+-CONFIG_IP_NF_TFTP=m
+-CONFIG_IP_NF_AMANDA=m
+-CONFIG_IP_NF_QUEUE=m
+-CONFIG_IP_NF_IPTABLES=m
+-CONFIG_IP_NF_MATCH_LIMIT=m
+-CONFIG_IP_NF_MATCH_IPRANGE=m
+-CONFIG_IP_NF_MATCH_MAC=m
+-CONFIG_IP_NF_MATCH_PKTTYPE=m
+-CONFIG_IP_NF_MATCH_MARK=m
+-CONFIG_IP_NF_MATCH_MULTIPORT=m
+-CONFIG_IP_NF_MATCH_TOS=m
+-CONFIG_IP_NF_MATCH_RECENT=m
+-CONFIG_IP_NF_MATCH_ECN=m
+-CONFIG_IP_NF_MATCH_DSCP=m
+-CONFIG_IP_NF_MATCH_AH_ESP=m
+-CONFIG_IP_NF_MATCH_LENGTH=m
+-CONFIG_IP_NF_MATCH_TTL=m
+-CONFIG_IP_NF_MATCH_TCPMSS=m
+-CONFIG_IP_NF_MATCH_HELPER=m
+-CONFIG_IP_NF_MATCH_STATE=m
+-CONFIG_IP_NF_MATCH_CONNTRACK=m
+-CONFIG_IP_NF_MATCH_OWNER=m
+-# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
+-# CONFIG_IP_NF_MATCH_REALM is not set
+-CONFIG_IP_NF_MATCH_SCTP=m
+-CONFIG_IP_NF_MATCH_COMMENT=m
+-CONFIG_IP_NF_MATCH_CONNMARK=m
+-CONFIG_IP_NF_MATCH_HASHLIMIT=m
+-CONFIG_IP_NF_FILTER=m
+-CONFIG_IP_NF_TARGET_REJECT=m
+-CONFIG_IP_NF_TARGET_LOG=m
+-CONFIG_IP_NF_TARGET_ULOG=m
+-CONFIG_IP_NF_TARGET_TCPMSS=m
+-CONFIG_IP_NF_NAT=m
+-CONFIG_IP_NF_NAT_NEEDED=y
+-CONFIG_IP_NF_TARGET_MASQUERADE=m
+-CONFIG_IP_NF_TARGET_REDIRECT=m
+-CONFIG_IP_NF_TARGET_NETMAP=m
+-CONFIG_IP_NF_TARGET_SAME=m
+-CONFIG_IP_NF_NAT_SNMP_BASIC=m
+-CONFIG_IP_NF_NAT_IRC=m
+-CONFIG_IP_NF_NAT_FTP=m
+-CONFIG_IP_NF_NAT_TFTP=m
+-CONFIG_IP_NF_NAT_AMANDA=m
+-CONFIG_IP_NF_MANGLE=m
+-CONFIG_IP_NF_TARGET_TOS=m
+-CONFIG_IP_NF_TARGET_ECN=m
+-CONFIG_IP_NF_TARGET_DSCP=m
+-CONFIG_IP_NF_TARGET_MARK=m
+-CONFIG_IP_NF_TARGET_CLASSIFY=m
+-CONFIG_IP_NF_TARGET_CONNMARK=m
+-CONFIG_IP_NF_TARGET_CLUSTERIP=m
+-CONFIG_IP_NF_RAW=m
+-CONFIG_IP_NF_TARGET_NOTRACK=m
+-CONFIG_IP_NF_ARPTABLES=m
+-CONFIG_IP_NF_ARPFILTER=m
+-CONFIG_IP_NF_ARP_MANGLE=m
+-CONFIG_XFRM=y
+-CONFIG_XFRM_USER=m
+-
+-#
+-# SCTP Configuration (EXPERIMENTAL)
+-#
+-# CONFIG_IP_SCTP is not set
+-# CONFIG_ATM is not set
+-# CONFIG_BRIDGE is not set
+-# CONFIG_VLAN_8021Q is not set
+-# CONFIG_DECNET is not set
+-CONFIG_LLC=m
+-CONFIG_LLC2=m
+-# CONFIG_IPX is not set
+-# CONFIG_ATALK is not set
+-# CONFIG_X25 is not set
+-# CONFIG_LAPB is not set
+-# CONFIG_NET_DIVERT is not set
+-# CONFIG_ECONET is not set
+-# CONFIG_WAN_ROUTER is not set
+-
+-#
+-# QoS and/or fair queueing
+-#
+-# CONFIG_NET_SCHED is not set
+-# CONFIG_NET_CLS_ROUTE is not set
+-
+-#
+-# Network testing
+-#
+-CONFIG_NET_PKTGEN=m
+-# CONFIG_NETPOLL is not set
+-# CONFIG_NET_POLL_CONTROLLER is not set
+-# CONFIG_HAMRADIO is not set
+-# CONFIG_IRDA is not set
+-# CONFIG_BT is not set
+ CONFIG_NETDEVICES=y
+ CONFIG_DUMMY=m
  CONFIG_BONDING=m
  # CONFIG_EQUALIZER is not set
  CONFIG_TUN=m
@@ -705,15 +1158,121 @@
  
  #
  # ARCnet devices
-@@ -491,7 +497,6 @@
+@@ -457,6 +540,11 @@
+ # CONFIG_ARCNET is not set
+ 
+ #
++# PHY device support
++#
++# CONFIG_PHYLIB is not set
++
++#
+ # Ethernet (10 or 100Mbit)
+ #
+ CONFIG_NET_ETHERNET=y
+@@ -479,6 +567,7 @@
+ # CONFIG_DE4X5 is not set
+ # CONFIG_WINBOND_840 is not set
+ # CONFIG_DM9102 is not set
++# CONFIG_ULI526X is not set
+ CONFIG_PCMCIA_XIRCOM=m
+ # CONFIG_PCMCIA_XIRTULIP is not set
+ CONFIG_HP100=m
+@@ -489,48 +578,43 @@
+ # CONFIG_B44 is not set
+ # CONFIG_FORCEDETH is not set
  # CONFIG_DGRS is not set
- CONFIG_EEPRO100=m
+-CONFIG_EEPRO100=m
++# CONFIG_EEPRO100 is not set
  CONFIG_E100=m
 -CONFIG_E100_NAPI=y
  # CONFIG_FEALNX is not set
- CONFIG_NATSEMI=m
+-CONFIG_NATSEMI=m
++# CONFIG_NATSEMI is not set
  # CONFIG_NE2K_PCI is not set
-@@ -633,13 +638,6 @@
+ # CONFIG_8139CP is not set
+-CONFIG_8139TOO=m
+-# CONFIG_8139TOO_PIO is not set
+-# CONFIG_8139TOO_TUNE_TWISTER is not set
+-# CONFIG_8139TOO_8129 is not set
+-# CONFIG_8139_OLD_RX_RESET is not set
++# CONFIG_8139TOO is not set
+ # CONFIG_SIS900 is not set
+-CONFIG_EPIC100=m
++# CONFIG_EPIC100 is not set
+ # CONFIG_SUNDANCE is not set
+-CONFIG_VIA_RHINE=m
+-CONFIG_VIA_RHINE_MMIO=y
++# CONFIG_VIA_RHINE is not set
+ 
+ #
+ # Ethernet (1000 Mbit)
+ #
+ CONFIG_ACENIC=m
+ CONFIG_ACENIC_OMIT_TIGON_I=y
+-CONFIG_DL2K=m
++# CONFIG_DL2K is not set
+ CONFIG_E1000=m
+ CONFIG_E1000_NAPI=y
+ # CONFIG_NS83820 is not set
+ # CONFIG_HAMACHI is not set
+ # CONFIG_YELLOWFIN is not set
+ # CONFIG_R8169 is not set
++# CONFIG_SIS190 is not set
++# CONFIG_SKGE is not set
+ # CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ CONFIG_TIGON3=m
++# CONFIG_BNX2 is not set
+ 
+ #
+ # Ethernet (10000 Mbit)
+ #
+-CONFIG_IXGB=m
+-CONFIG_IXGB_NAPI=y
+-CONFIG_S2IO=m
+-CONFIG_S2IO_NAPI=y
+-# CONFIG_2BUFF_MODE is not set
++# CONFIG_CHELSIO_T1 is not set
++# CONFIG_IXGB is not set
++# CONFIG_S2IO is not set
+ 
+ #
+ # Token Ring devices
+@@ -560,6 +644,7 @@
+ CONFIG_HERMES=m
+ CONFIG_PLX_HERMES=m
+ CONFIG_TMD_HERMES=m
++# CONFIG_NORTEL_HERMES is not set
+ CONFIG_PCI_HERMES=m
+ # CONFIG_ATMEL is not set
+ 
+@@ -567,6 +652,7 @@
+ # Wireless 802.11b Pcmcia/Cardbus cards support
+ #
+ CONFIG_PCMCIA_HERMES=m
++# CONFIG_PCMCIA_SPECTRUM is not set
+ CONFIG_AIRO_CS=m
+ CONFIG_PCMCIA_WL3501=m
+ 
+@@ -574,6 +660,7 @@
+ # Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
+ #
+ # CONFIG_PRISM54 is not set
++# CONFIG_HOSTAP is not set
+ CONFIG_NET_WIRELESS=y
+ 
+ #
+@@ -607,6 +694,8 @@
+ # CONFIG_NET_FC is not set
+ # CONFIG_SHAPER is not set
+ # CONFIG_NETCONSOLE is not set
++# CONFIG_NETPOLL is not set
++# CONFIG_NET_POLL_CONTROLLER is not set
+ 
+ #
+ # ISDN subsystem
+@@ -633,13 +722,6 @@
  # CONFIG_INPUT_EVBUG is not set
  
  #
@@ -727,7 +1286,7 @@
  # Input Device Drivers
  #
  # CONFIG_INPUT_KEYBOARD is not set
-@@ -649,6 +647,13 @@
+@@ -649,6 +731,12 @@
  # CONFIG_INPUT_MISC is not set
  
  #
@@ -735,13 +1294,20 @@
 +#
 +# CONFIG_SERIO is not set
 +# CONFIG_GAMEPORT is not set
-+CONFIG_SOUND_GAMEPORT=y
 +
 +#
  # Character devices
  #
  CONFIG_VT=y
-@@ -677,6 +682,7 @@
+@@ -667,7 +755,6 @@
+ CONFIG_SERIAL_8250_MANY_PORTS=y
+ CONFIG_SERIAL_8250_SHARE_IRQ=y
+ # CONFIG_SERIAL_8250_DETECT_IRQ is not set
+-# CONFIG_SERIAL_8250_MULTIPORT is not set
+ # CONFIG_SERIAL_8250_RSA is not set
+ 
+ #
+@@ -677,6 +764,7 @@
  CONFIG_PDC_CONSOLE=y
  CONFIG_SERIAL_CORE=y
  CONFIG_SERIAL_CORE_CONSOLE=y
@@ -749,7 +1315,7 @@
  CONFIG_UNIX98_PTYS=y
  # CONFIG_LEGACY_PTYS is not set
  
-@@ -708,6 +714,11 @@
+@@ -708,6 +796,11 @@
  CONFIG_MAX_RAW_DEVS=256
  
  #
@@ -761,18 +1327,36 @@
  # I2C support
  #
  # CONFIG_I2C is not set
-@@ -742,6 +753,10 @@
+@@ -718,10 +811,20 @@
+ # CONFIG_W1 is not set
+ 
+ #
++# Hardware Monitoring support
++#
++# CONFIG_HWMON is not set
++# CONFIG_HWMON_VID is not set
++
++#
+ # Misc devices
+ #
+ 
+ #
++# Multimedia Capabilities Port drivers
++#
++
++#
+ # Multimedia devices
+ #
+ # CONFIG_VIDEO_DEV is not set
+@@ -742,6 +845,7 @@
  CONFIG_DUMMY_CONSOLE=y
  CONFIG_DUMMY_CONSOLE_COLUMNS=160
  CONFIG_DUMMY_CONSOLE_ROWS=64
-+CONFIG_STI_CONSOLE=y
-+# CONFIG_FONTS is not set
-+CONFIG_FONT_8x8=y
-+CONFIG_FONT_8x16=y
++# CONFIG_STI_CONSOLE is not set
  
  #
  # Sound
-@@ -751,13 +766,9 @@
+@@ -751,13 +855,9 @@
  #
  # USB support
  #
@@ -787,14 +1371,141 @@
  
  #
  # USB Gadget Support
-@@ -950,11 +961,14 @@
+@@ -772,17 +872,18 @@
  #
+ # InfiniBand support
+ #
+-CONFIG_INFINIBAND=m
+-CONFIG_INFINIBAND_MTHCA=m
+-# CONFIG_INFINIBAND_MTHCA_DEBUG is not set
+-CONFIG_INFINIBAND_IPOIB=m
+-# CONFIG_INFINIBAND_IPOIB_DEBUG is not set
++# CONFIG_INFINIBAND is not set
++
++#
++# SN Devices
++#
+ 
+ #
+ # File systems
+ #
+ CONFIG_EXT2_FS=y
+ # CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
+ CONFIG_EXT3_FS=y
+ # CONFIG_EXT3_FS_XATTR is not set
+ CONFIG_JBD=y
+@@ -794,22 +895,20 @@
+ # CONFIG_JFS_DEBUG is not set
+ # CONFIG_JFS_STATISTICS is not set
+ CONFIG_FS_POSIX_ACL=y
+-
+-#
+-# XFS support
+-#
+ CONFIG_XFS_FS=m
+ CONFIG_XFS_EXPORT=y
+-# CONFIG_XFS_RT is not set
+ # CONFIG_XFS_QUOTA is not set
+ # CONFIG_XFS_SECURITY is not set
+ # CONFIG_XFS_POSIX_ACL is not set
++# CONFIG_XFS_RT is not set
+ # CONFIG_MINIX_FS is not set
+ # CONFIG_ROMFS_FS is not set
++CONFIG_INOTIFY=y
+ # CONFIG_QUOTA is not set
+ CONFIG_DNOTIFY=y
+ # CONFIG_AUTOFS_FS is not set
+ CONFIG_AUTOFS4_FS=y
++# CONFIG_FUSE_FS is not set
+ 
+ #
+ # CD-ROM/DVD Filesystems
+@@ -836,13 +935,11 @@
+ CONFIG_PROC_FS=y
+ CONFIG_PROC_KCORE=y
+ CONFIG_SYSFS=y
+-# CONFIG_DEVFS_FS is not set
+-# CONFIG_DEVPTS_FS_XATTR is not set
+ CONFIG_TMPFS=y
+-# CONFIG_TMPFS_XATTR is not set
+ # CONFIG_HUGETLBFS is not set
+ # CONFIG_HUGETLB_PAGE is not set
+ CONFIG_RAMFS=y
++# CONFIG_RELAYFS_FS is not set
+ 
+ #
+ # Miscellaneous filesystems
+@@ -867,15 +964,18 @@
+ #
+ CONFIG_NFS_FS=m
+ CONFIG_NFS_V3=y
++# CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+ CONFIG_NFS_DIRECTIO=y
+ CONFIG_NFSD=m
+ CONFIG_NFSD_V3=y
++# CONFIG_NFSD_V3_ACL is not set
+ CONFIG_NFSD_V4=y
+ CONFIG_NFSD_TCP=y
+ CONFIG_LOCKD=m
+ CONFIG_LOCKD_V4=y
+ CONFIG_EXPORTFS=m
++CONFIG_NFS_COMMON=y
+ CONFIG_SUNRPC=m
+ CONFIG_SUNRPC_GSS=m
+ CONFIG_RPCSEC_GSS_KRB5=m
+@@ -890,6 +990,7 @@
+ # CONFIG_NCP_FS is not set
+ # CONFIG_CODA_FS is not set
+ # CONFIG_AFS_FS is not set
++# CONFIG_9P_FS is not set
+ 
+ #
+ # Partition Types
+@@ -906,15 +1007,15 @@
+ # CONFIG_NLS_CODEPAGE_737 is not set
+ # CONFIG_NLS_CODEPAGE_775 is not set
+ CONFIG_NLS_CODEPAGE_850=m
+-CONFIG_NLS_CODEPAGE_852=m
++# CONFIG_NLS_CODEPAGE_852 is not set
+ # CONFIG_NLS_CODEPAGE_855 is not set
+ # CONFIG_NLS_CODEPAGE_857 is not set
+ # CONFIG_NLS_CODEPAGE_860 is not set
+ # CONFIG_NLS_CODEPAGE_861 is not set
+ # CONFIG_NLS_CODEPAGE_862 is not set
+-CONFIG_NLS_CODEPAGE_863=m
++# CONFIG_NLS_CODEPAGE_863 is not set
+ # CONFIG_NLS_CODEPAGE_864 is not set
+-CONFIG_NLS_CODEPAGE_865=m
++# CONFIG_NLS_CODEPAGE_865 is not set
+ # CONFIG_NLS_CODEPAGE_866 is not set
+ # CONFIG_NLS_CODEPAGE_869 is not set
+ # CONFIG_NLS_CODEPAGE_936 is not set
+@@ -926,10 +1027,10 @@
+ # CONFIG_NLS_CODEPAGE_1250 is not set
+ # CONFIG_NLS_CODEPAGE_1251 is not set
+ # CONFIG_NLS_ASCII is not set
+-CONFIG_NLS_ISO8859_1=m
+-CONFIG_NLS_ISO8859_2=m
+-CONFIG_NLS_ISO8859_3=m
+-CONFIG_NLS_ISO8859_4=m
++# CONFIG_NLS_ISO8859_1 is not set
++# CONFIG_NLS_ISO8859_2 is not set
++# CONFIG_NLS_ISO8859_3 is not set
++# CONFIG_NLS_ISO8859_4 is not set
+ # CONFIG_NLS_ISO8859_5 is not set
+ # CONFIG_NLS_ISO8859_6 is not set
+ # CONFIG_NLS_ISO8859_7 is not set
+@@ -950,11 +1051,15 @@
+ #
  # Kernel hacking
  #
 +# CONFIG_PRINTK_TIME is not set
  CONFIG_DEBUG_KERNEL=y
  CONFIG_MAGIC_SYSRQ=y
 +CONFIG_LOG_BUF_SHIFT=16
++CONFIG_DETECT_SOFTLOCKUP=y
  # CONFIG_SCHEDSTATS is not set
  # CONFIG_DEBUG_SLAB is not set
  # CONFIG_DEBUG_SPINLOCK is not set
@@ -802,17 +1513,59 @@
  # CONFIG_DEBUG_KOBJECT is not set
  # CONFIG_DEBUG_INFO is not set
  # CONFIG_DEBUG_IOREMAP is not set
-@@ -980,6 +994,7 @@
- CONFIG_CRYPTO_SHA256=m
- CONFIG_CRYPTO_SHA512=m
- CONFIG_CRYPTO_WP512=m
-+CONFIG_CRYPTO_TGR192=m
+@@ -974,25 +1079,26 @@
+ CONFIG_CRYPTO=y
+ CONFIG_CRYPTO_HMAC=y
+ CONFIG_CRYPTO_NULL=m
+-CONFIG_CRYPTO_MD4=m
+-CONFIG_CRYPTO_MD5=m
++# CONFIG_CRYPTO_MD4 is not set
++CONFIG_CRYPTO_MD5=y
+ CONFIG_CRYPTO_SHA1=m
+-CONFIG_CRYPTO_SHA256=m
+-CONFIG_CRYPTO_SHA512=m
+-CONFIG_CRYPTO_WP512=m
++# CONFIG_CRYPTO_SHA256 is not set
++# CONFIG_CRYPTO_SHA512 is not set
++# CONFIG_CRYPTO_WP512 is not set
++# CONFIG_CRYPTO_TGR192 is not set
  CONFIG_CRYPTO_DES=m
  CONFIG_CRYPTO_BLOWFISH=m
- CONFIG_CRYPTO_TWOFISH=m
-diff -Nur linux-2.6.13.org/arch/parisc/configs/b180_defconfig linux-2.6.13/arch/parisc/configs/b180_defconfig
---- linux-2.6.13.org/arch/parisc/configs/b180_defconfig	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/configs/b180_defconfig	2005-09-25 12:34:39.000000000 -0400
+-CONFIG_CRYPTO_TWOFISH=m
+-CONFIG_CRYPTO_SERPENT=m
+-CONFIG_CRYPTO_AES=m
+-CONFIG_CRYPTO_CAST5=m
+-CONFIG_CRYPTO_CAST6=m
+-CONFIG_CRYPTO_TEA=m
+-CONFIG_CRYPTO_ARC4=m
+-CONFIG_CRYPTO_KHAZAD=m
+-CONFIG_CRYPTO_ANUBIS=m
++# CONFIG_CRYPTO_TWOFISH is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_CAST5 is not set
++# CONFIG_CRYPTO_CAST6 is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_KHAZAD is not set
++# CONFIG_CRYPTO_ANUBIS is not set
+ CONFIG_CRYPTO_DEFLATE=m
+-CONFIG_CRYPTO_MICHAEL_MIC=m
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ CONFIG_CRYPTO_CRC32C=m
+ CONFIG_CRYPTO_TEST=m
+ 
+@@ -1004,6 +1110,7 @@
+ # Library routines
+ #
+ CONFIG_CRC_CCITT=m
++# CONFIG_CRC16 is not set
+ CONFIG_CRC32=y
+ CONFIG_LIBCRC32C=m
+ CONFIG_ZLIB_INFLATE=m
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/configs/b180_defconfig CVS2_6_14_RC2_PA6/arch/parisc/configs/b180_defconfig
+--- LINUS_2_6_14_RC2/arch/parisc/configs/b180_defconfig	2005-09-22 19:17:04.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/configs/b180_defconfig	2005-07-18 12:46:03.000000000 -0600
 @@ -1,12 +1,16 @@
  #
  # Automatically generated make config: don't edit
@@ -1228,16 +1981,16 @@
  # Library routines
  #
  # CONFIG_CRC_CCITT is not set
-diff -Nur linux-2.6.13.org/arch/parisc/configs/c3000_defconfig linux-2.6.13/arch/parisc/configs/c3000_defconfig
---- linux-2.6.13.org/arch/parisc/configs/c3000_defconfig	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/configs/c3000_defconfig	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/configs/c3000_defconfig CVS2_6_14_RC2_PA6/arch/parisc/configs/c3000_defconfig
+--- LINUS_2_6_14_RC2/arch/parisc/configs/c3000_defconfig	2005-09-22 19:17:04.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/configs/c3000_defconfig	2005-09-24 19:47:41.000000000 -0600
 @@ -1,12 +1,16 @@
  #
  # Automatically generated make config: don't edit
 -# Linux kernel version: 2.6.10-pa5
 -# Wed Jan  5 13:26:49 2005
-+# Linux kernel version: 2.6.12-pa2
-+# Sat Jun 25 03:10:57 2005
++# Linux kernel version: 2.6.14-rc2-pa1
++# Sat Sep 24 18:33:00 2005
  #
  CONFIG_PARISC=y
  CONFIG_MMU=y
@@ -1246,11 +1999,11 @@
 +CONFIG_GENERIC_CALIBRATE_DELAY=y
 +CONFIG_GENERIC_HARDIRQS=y
 +CONFIG_GENERIC_IRQ_PROBE=y
-+CONFIG_ISA_DMA_API=y
++CONFIG_ARCH_MAY_HAVE_PC_FDC=y
  
  #
  # Code maturity level options
-@@ -15,6 +19,7 @@
+@@ -15,26 +19,31 @@
  # CONFIG_CLEAN_COMPILE is not set
  CONFIG_BROKEN=y
  CONFIG_BROKEN_ON_SMP=y
@@ -1258,7 +2011,12 @@
  
  #
  # General setup
-@@ -26,7 +31,6 @@
+ #
+ CONFIG_LOCALVERSION=""
++# CONFIG_LOCALVERSION_AUTO is not set
+ CONFIG_SWAP=y
+ CONFIG_SYSVIPC=y
+ # CONFIG_POSIX_MQUEUE is not set
  # CONFIG_BSD_PROCESS_ACCT is not set
  CONFIG_SYSCTL=y
  # CONFIG_AUDIT is not set
@@ -1266,7 +2024,9 @@
  CONFIG_HOTPLUG=y
  CONFIG_KOBJECT_UEVENT=y
  CONFIG_IKCONFIG=y
-@@ -35,6 +39,9 @@
+ CONFIG_IKCONFIG_PROC=y
++CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_EMBEDDED=y
  CONFIG_KALLSYMS=y
  CONFIG_KALLSYMS_ALL=y
  # CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -1276,7 +2036,7 @@
  CONFIG_FUTEX=y
  CONFIG_EPOLL=y
  # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-@@ -44,6 +51,7 @@
+@@ -44,6 +53,7 @@
  CONFIG_CC_ALIGN_LOOPS=0
  CONFIG_CC_ALIGN_JUMPS=0
  # CONFIG_TINY_SHMEM is not set
@@ -1284,7 +2044,7 @@
  
  #
  # Loadable module support
-@@ -66,10 +74,8 @@
+@@ -66,10 +76,19 @@
  CONFIG_PA8X00=y
  CONFIG_PA20=y
  CONFIG_PREFETCH=y
@@ -1292,13 +2052,25 @@
  # CONFIG_64BIT is not set
  # CONFIG_SMP is not set
 -# CONFIG_DISCONTIGMEM is not set
++# CONFIG_HZ_100 is not set
++CONFIG_HZ_250=y
++# CONFIG_HZ_1000 is not set
++CONFIG_HZ=250
++CONFIG_SELECT_MEMORY_MODEL=y
++CONFIG_FLATMEM_MANUAL=y
++# CONFIG_DISCONTIGMEM_MANUAL is not set
++# CONFIG_SPARSEMEM_MANUAL is not set
++CONFIG_FLATMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++# CONFIG_SPARSEMEM_STATIC is not set
  # CONFIG_PREEMPT is not set
  # CONFIG_HPUX is not set
  
-@@ -80,12 +86,10 @@
+@@ -79,13 +98,10 @@
+ # CONFIG_GSC is not set
  CONFIG_PCI=y
  CONFIG_PCI_LEGACY_PROC=y
- CONFIG_PCI_NAMES=y
+-CONFIG_PCI_NAMES=y
 +# CONFIG_PCI_DEBUG is not set
  CONFIG_PCI_LBA=y
  CONFIG_IOSAPIC=y
@@ -1309,7 +2081,7 @@
  
  #
  # PCCARD (PCMCIA/CardBus) support
-@@ -93,13 +97,17 @@
+@@ -93,13 +109,17 @@
  # CONFIG_PCCARD is not set
  
  #
@@ -1330,15 +2102,221 @@
  
  #
  # Executable file formats
-@@ -141,6 +149,7 @@
+@@ -108,6 +128,184 @@
+ # CONFIG_BINFMT_MISC is not set
+ 
+ #
++# Networking
++#
++CONFIG_NET=y
++
++#
++# Networking options
++#
++CONFIG_PACKET=y
++CONFIG_PACKET_MMAP=y
++CONFIG_UNIX=y
++CONFIG_XFRM=y
++CONFIG_XFRM_USER=m
++CONFIG_NET_KEY=m
++CONFIG_INET=y
++CONFIG_IP_MULTICAST=y
++# CONFIG_IP_ADVANCED_ROUTER is not set
++CONFIG_IP_FIB_HASH=y
++CONFIG_IP_PNP=y
++# CONFIG_IP_PNP_DHCP is not set
++CONFIG_IP_PNP_BOOTP=y
++# CONFIG_IP_PNP_RARP is not set
++# CONFIG_NET_IPIP is not set
++# CONFIG_NET_IPGRE is not set
++# CONFIG_IP_MROUTE is not set
++# CONFIG_ARPD is not set
++# CONFIG_SYN_COOKIES is not set
++# CONFIG_INET_AH is not set
++# CONFIG_INET_ESP is not set
++# CONFIG_INET_IPCOMP is not set
++# CONFIG_INET_TUNNEL is not set
++# CONFIG_INET_DIAG is not set
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_BIC=y
++
++#
++# IP: Virtual Server Configuration
++#
++# CONFIG_IP_VS is not set
++CONFIG_IPV6=m
++# CONFIG_IPV6_PRIVACY is not set
++# CONFIG_INET6_AH is not set
++# CONFIG_INET6_ESP is not set
++CONFIG_INET6_IPCOMP=m
++CONFIG_INET6_TUNNEL=m
++CONFIG_IPV6_TUNNEL=m
++CONFIG_NETFILTER=y
++CONFIG_NETFILTER_DEBUG=y
++# CONFIG_NETFILTER_NETLINK is not set
++
++#
++# IP: Netfilter Configuration
++#
++CONFIG_IP_NF_CONNTRACK=m
++# CONFIG_IP_NF_CT_ACCT is not set
++# CONFIG_IP_NF_CONNTRACK_MARK is not set
++# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
++# CONFIG_IP_NF_CT_PROTO_SCTP is not set
++CONFIG_IP_NF_FTP=m
++CONFIG_IP_NF_IRC=m
++# CONFIG_IP_NF_NETBIOS_NS is not set
++CONFIG_IP_NF_TFTP=m
++CONFIG_IP_NF_AMANDA=m
++# CONFIG_IP_NF_PPTP is not set
++CONFIG_IP_NF_QUEUE=m
++CONFIG_IP_NF_IPTABLES=m
++CONFIG_IP_NF_MATCH_LIMIT=m
++CONFIG_IP_NF_MATCH_IPRANGE=m
++CONFIG_IP_NF_MATCH_MAC=m
++CONFIG_IP_NF_MATCH_PKTTYPE=m
++CONFIG_IP_NF_MATCH_MARK=m
++CONFIG_IP_NF_MATCH_MULTIPORT=m
++CONFIG_IP_NF_MATCH_TOS=m
++CONFIG_IP_NF_MATCH_RECENT=m
++CONFIG_IP_NF_MATCH_ECN=m
++CONFIG_IP_NF_MATCH_DSCP=m
++CONFIG_IP_NF_MATCH_AH_ESP=m
++CONFIG_IP_NF_MATCH_LENGTH=m
++CONFIG_IP_NF_MATCH_TTL=m
++CONFIG_IP_NF_MATCH_TCPMSS=m
++CONFIG_IP_NF_MATCH_HELPER=m
++CONFIG_IP_NF_MATCH_STATE=m
++CONFIG_IP_NF_MATCH_CONNTRACK=m
++CONFIG_IP_NF_MATCH_OWNER=m
++# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
++# CONFIG_IP_NF_MATCH_REALM is not set
++# CONFIG_IP_NF_MATCH_SCTP is not set
++# CONFIG_IP_NF_MATCH_DCCP is not set
++# CONFIG_IP_NF_MATCH_COMMENT is not set
++# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
++# CONFIG_IP_NF_MATCH_STRING is not set
++CONFIG_IP_NF_FILTER=m
++CONFIG_IP_NF_TARGET_REJECT=m
++CONFIG_IP_NF_TARGET_LOG=m
++CONFIG_IP_NF_TARGET_ULOG=m
++CONFIG_IP_NF_TARGET_TCPMSS=m
++CONFIG_IP_NF_NAT=m
++CONFIG_IP_NF_NAT_NEEDED=y
++CONFIG_IP_NF_TARGET_MASQUERADE=m
++CONFIG_IP_NF_TARGET_REDIRECT=m
++CONFIG_IP_NF_TARGET_NETMAP=m
++CONFIG_IP_NF_TARGET_SAME=m
++CONFIG_IP_NF_NAT_SNMP_BASIC=m
++CONFIG_IP_NF_NAT_IRC=m
++CONFIG_IP_NF_NAT_FTP=m
++CONFIG_IP_NF_NAT_TFTP=m
++CONFIG_IP_NF_NAT_AMANDA=m
++CONFIG_IP_NF_MANGLE=m
++CONFIG_IP_NF_TARGET_TOS=m
++CONFIG_IP_NF_TARGET_ECN=m
++CONFIG_IP_NF_TARGET_DSCP=m
++CONFIG_IP_NF_TARGET_MARK=m
++CONFIG_IP_NF_TARGET_CLASSIFY=m
++# CONFIG_IP_NF_TARGET_TTL is not set
++# CONFIG_IP_NF_RAW is not set
++CONFIG_IP_NF_ARPTABLES=m
++CONFIG_IP_NF_ARPFILTER=m
++CONFIG_IP_NF_ARP_MANGLE=m
++
++#
++# IPv6: Netfilter Configuration (EXPERIMENTAL)
++#
++# CONFIG_IP6_NF_QUEUE is not set
++CONFIG_IP6_NF_IPTABLES=m
++# CONFIG_IP6_NF_MATCH_LIMIT is not set
++CONFIG_IP6_NF_MATCH_MAC=m
++CONFIG_IP6_NF_MATCH_RT=m
++# CONFIG_IP6_NF_MATCH_OPTS is not set
++# CONFIG_IP6_NF_MATCH_FRAG is not set
++# CONFIG_IP6_NF_MATCH_HL is not set
++# CONFIG_IP6_NF_MATCH_MULTIPORT is not set
++CONFIG_IP6_NF_MATCH_OWNER=m
++# CONFIG_IP6_NF_MATCH_MARK is not set
++CONFIG_IP6_NF_MATCH_IPV6HEADER=m
++# CONFIG_IP6_NF_MATCH_AHESP is not set
++CONFIG_IP6_NF_MATCH_LENGTH=m
++# CONFIG_IP6_NF_MATCH_EUI64 is not set
++CONFIG_IP6_NF_FILTER=m
++CONFIG_IP6_NF_TARGET_LOG=m
++CONFIG_IP6_NF_TARGET_REJECT=m
++CONFIG_IP6_NF_MANGLE=m
++# CONFIG_IP6_NF_TARGET_MARK is not set
++# CONFIG_IP6_NF_TARGET_HL is not set
++# CONFIG_IP6_NF_RAW is not set
++
++#
++# DCCP Configuration (EXPERIMENTAL)
++#
++# CONFIG_IP_DCCP is not set
++
++#
++# SCTP Configuration (EXPERIMENTAL)
++#
++# CONFIG_IP_SCTP is not set
++# CONFIG_ATM is not set
++# CONFIG_BRIDGE is not set
++# CONFIG_VLAN_8021Q is not set
++# CONFIG_DECNET is not set
++# CONFIG_LLC2 is not set
++# CONFIG_IPX is not set
++# CONFIG_ATALK is not set
++# CONFIG_X25 is not set
++# CONFIG_LAPB is not set
++# CONFIG_NET_DIVERT is not set
++# CONFIG_ECONET is not set
++# CONFIG_WAN_ROUTER is not set
++# CONFIG_NET_SCHED is not set
++# CONFIG_NET_CLS_ROUTE is not set
++
++#
++# Network testing
++#
++CONFIG_NET_PKTGEN=m
++# CONFIG_HAMRADIO is not set
++# CONFIG_IRDA is not set
++# CONFIG_BT is not set
++# CONFIG_IEEE80211 is not set
++
++#
+ # Device Drivers
+ #
+ 
+@@ -120,6 +318,11 @@
+ # CONFIG_DEBUG_DRIVER is not set
+ 
+ #
++# Connector - unified userspace <-> kernelspace linker
++#
++# CONFIG_CONNECTOR is not set
++
++#
+ # Memory Technology Devices (MTD)
+ #
+ # CONFIG_MTD is not set
+@@ -141,14 +344,14 @@
  # CONFIG_BLK_CPQ_CISS_DA is not set
  # CONFIG_BLK_DEV_DAC960 is not set
  CONFIG_BLK_DEV_UMEM=m
 +# CONFIG_BLK_DEV_COW_COMMON is not set
  CONFIG_BLK_DEV_LOOP=y
- # CONFIG_BLK_DEV_CRYPTOLOOP is not set
+-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
++CONFIG_BLK_DEV_CRYPTOLOOP=m
  # CONFIG_BLK_DEV_NBD is not set
-@@ -158,6 +167,7 @@
+ # CONFIG_BLK_DEV_SX8 is not set
+ # CONFIG_BLK_DEV_UB is not set
+ # CONFIG_BLK_DEV_RAM is not set
+ CONFIG_BLK_DEV_RAM_COUNT=16
+-CONFIG_INITRAMFS_SOURCE=""
+ # CONFIG_CDROM_PKTCDVD is not set
+ 
+ #
+@@ -158,6 +361,7 @@
  CONFIG_IOSCHED_AS=y
  CONFIG_IOSCHED_DEADLINE=y
  CONFIG_IOSCHED_CFQ=y
@@ -1346,58 +2324,271 @@
  
  #
  # ATA/ATAPI/MFM/RLL support
-@@ -243,6 +253,7 @@
+@@ -201,6 +405,7 @@
+ # CONFIG_BLK_DEV_HPT366 is not set
+ # CONFIG_BLK_DEV_SC1200 is not set
+ # CONFIG_BLK_DEV_PIIX is not set
++# CONFIG_BLK_DEV_IT821X is not set
+ CONFIG_BLK_DEV_NS87415=y
+ # CONFIG_BLK_DEV_PDC202XX_OLD is not set
+ # CONFIG_BLK_DEV_PDC202XX_NEW is not set
+@@ -218,6 +423,7 @@
  #
+ # SCSI device support
+ #
++# CONFIG_RAID_ATTRS is not set
+ CONFIG_SCSI=y
+ CONFIG_SCSI_PROC_FS=y
+ 
+@@ -230,6 +436,7 @@
+ CONFIG_BLK_DEV_SR=y
+ # CONFIG_BLK_DEV_SR_VENDOR is not set
+ CONFIG_CHR_DEV_SG=y
++# CONFIG_CHR_DEV_SCH is not set
+ 
+ #
+ # Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+@@ -242,7 +449,9 @@
+ # SCSI Transport Attributes
+ #
  CONFIG_SCSI_SPI_ATTRS=y
- CONFIG_SCSI_FC_ATTRS=m
+-CONFIG_SCSI_FC_ATTRS=m
++# CONFIG_SCSI_FC_ATTRS is not set
 +CONFIG_SCSI_ISCSI_ATTRS=m
++# CONFIG_SCSI_SAS_ATTRS is not set
  
  #
  # SCSI low-level drivers
-@@ -264,6 +275,7 @@
+@@ -262,21 +471,20 @@
+ # CONFIG_SCSI_SATA_AHCI is not set
+ # CONFIG_SCSI_SATA_SVW is not set
  CONFIG_SCSI_ATA_PIIX=m
++# CONFIG_SCSI_SATA_MV is not set
  # CONFIG_SCSI_SATA_NV is not set
  CONFIG_SCSI_SATA_PROMISE=m
 +# CONFIG_SCSI_SATA_QSTOR is not set
  # CONFIG_SCSI_SATA_SX4 is not set
  CONFIG_SCSI_SATA_SIL=m
  # CONFIG_SCSI_SATA_SIS is not set
-@@ -299,7 +311,7 @@
- CONFIG_SCSI_QLA2300=m
- CONFIG_SCSI_QLA2322=m
- CONFIG_SCSI_QLA6312=m
+ # CONFIG_SCSI_SATA_ULI is not set
+ CONFIG_SCSI_SATA_VIA=m
+ # CONFIG_SCSI_SATA_VITESSE is not set
+-# CONFIG_SCSI_BUSLOGIC is not set
+ # CONFIG_SCSI_CPQFCTS is not set
+ # CONFIG_SCSI_DMX3191D is not set
+-# CONFIG_SCSI_EATA is not set
+ # CONFIG_SCSI_EATA_PIO is not set
+ # CONFIG_SCSI_FUTURE_DOMAIN is not set
+-# CONFIG_SCSI_GDTH is not set
+ # CONFIG_SCSI_IPS is not set
+ # CONFIG_SCSI_INITIO is not set
+ # CONFIG_SCSI_INIA100 is not set
+@@ -286,20 +494,17 @@
+ CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+ # CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
+ # CONFIG_SCSI_IPR is not set
+-# CONFIG_SCSI_PCI2000 is not set
+-# CONFIG_SCSI_PCI2220I is not set
+ # CONFIG_SCSI_QLOGIC_ISP is not set
+-CONFIG_SCSI_QLOGIC_FC=m
+-# CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set
+-CONFIG_SCSI_QLOGIC_1280=m
+-# CONFIG_SCSI_QLOGIC_1280_1040 is not set
++# CONFIG_SCSI_QLOGIC_FC is not set
++# CONFIG_SCSI_QLOGIC_1280 is not set
+ CONFIG_SCSI_QLA2XXX=y
+ # CONFIG_SCSI_QLA21XX is not set
+ # CONFIG_SCSI_QLA22XX is not set
+-CONFIG_SCSI_QLA2300=m
+-CONFIG_SCSI_QLA2322=m
+-CONFIG_SCSI_QLA6312=m
 -CONFIG_SCSI_QLA6322=m
++# CONFIG_SCSI_QLA2300 is not set
++# CONFIG_SCSI_QLA2322 is not set
++# CONFIG_SCSI_QLA6312 is not set
++# CONFIG_SCSI_QLA24XX is not set
 +# CONFIG_SCSI_LPFC is not set
  # CONFIG_SCSI_DC395x is not set
  # CONFIG_SCSI_DC390T is not set
  # CONFIG_SCSI_NSP32 is not set
-@@ -323,6 +335,8 @@
- # CONFIG_DM_SNAPSHOT is not set
- # CONFIG_DM_MIRROR is not set
- # CONFIG_DM_ZERO is not set
+@@ -316,19 +521,23 @@
+ # CONFIG_MD_RAID10 is not set
+ # CONFIG_MD_RAID5 is not set
+ # CONFIG_MD_RAID6 is not set
+-CONFIG_MD_MULTIPATH=y
++# CONFIG_MD_MULTIPATH is not set
+ # CONFIG_MD_FAULTY is not set
+-CONFIG_BLK_DEV_DM=y
+-# CONFIG_DM_CRYPT is not set
+-# CONFIG_DM_SNAPSHOT is not set
+-# CONFIG_DM_MIRROR is not set
+-# CONFIG_DM_ZERO is not set
++CONFIG_BLK_DEV_DM=m
++CONFIG_DM_CRYPT=m
++CONFIG_DM_SNAPSHOT=m
++CONFIG_DM_MIRROR=m
++CONFIG_DM_ZERO=m
 +CONFIG_DM_MULTIPATH=m
 +# CONFIG_DM_MULTIPATH_EMC is not set
  
  #
  # Fusion MPT device support
-@@ -351,7 +365,6 @@
  #
- CONFIG_PACKET=y
- CONFIG_PACKET_MMAP=y
+-CONFIG_FUSION=m
+-CONFIG_FUSION_MAX_SGE=40
++CONFIG_FUSION=y
++CONFIG_FUSION_SPI=m
++# CONFIG_FUSION_FC is not set
++CONFIG_FUSION_MAX_SGE=128
+ CONFIG_FUSION_CTL=m
+ 
+ #
+@@ -342,151 +551,13 @@
+ # CONFIG_I2O is not set
+ 
+ #
+-# Networking support
+-#
+-CONFIG_NET=y
+-
+-#
+-# Networking options
++# Network device support
+ #
+-CONFIG_PACKET=y
+-CONFIG_PACKET_MMAP=y
 -CONFIG_NETLINK_DEV=y
- CONFIG_UNIX=y
- CONFIG_NET_KEY=m
- CONFIG_INET=y
-@@ -443,8 +456,6 @@
- CONFIG_IP_NF_ARPTABLES=m
- CONFIG_IP_NF_ARPFILTER=m
- CONFIG_IP_NF_ARP_MANGLE=m
+-CONFIG_UNIX=y
+-CONFIG_NET_KEY=m
+-CONFIG_INET=y
+-CONFIG_IP_MULTICAST=y
+-# CONFIG_IP_ADVANCED_ROUTER is not set
+-CONFIG_IP_PNP=y
+-# CONFIG_IP_PNP_DHCP is not set
+-CONFIG_IP_PNP_BOOTP=y
+-# CONFIG_IP_PNP_RARP is not set
+-# CONFIG_NET_IPIP is not set
+-# CONFIG_NET_IPGRE is not set
+-# CONFIG_IP_MROUTE is not set
+-# CONFIG_ARPD is not set
+-# CONFIG_SYN_COOKIES is not set
+-CONFIG_INET_AH=m
+-CONFIG_INET_ESP=m
+-# CONFIG_INET_IPCOMP is not set
+-# CONFIG_INET_TUNNEL is not set
+-CONFIG_IP_TCPDIAG=y
+-# CONFIG_IP_TCPDIAG_IPV6 is not set
+-
+-#
+-# IP: Virtual Server Configuration
+-#
+-# CONFIG_IP_VS is not set
+-# CONFIG_IPV6 is not set
+-CONFIG_NETFILTER=y
+-CONFIG_NETFILTER_DEBUG=y
+-
+-#
+-# IP: Netfilter Configuration
+-#
+-CONFIG_IP_NF_CONNTRACK=m
+-# CONFIG_IP_NF_CT_ACCT is not set
+-# CONFIG_IP_NF_CONNTRACK_MARK is not set
+-# CONFIG_IP_NF_CT_PROTO_SCTP is not set
+-CONFIG_IP_NF_FTP=m
+-CONFIG_IP_NF_IRC=m
+-CONFIG_IP_NF_TFTP=m
+-CONFIG_IP_NF_AMANDA=m
+-CONFIG_IP_NF_QUEUE=m
+-CONFIG_IP_NF_IPTABLES=m
+-CONFIG_IP_NF_MATCH_LIMIT=m
+-CONFIG_IP_NF_MATCH_IPRANGE=m
+-CONFIG_IP_NF_MATCH_MAC=m
+-CONFIG_IP_NF_MATCH_PKTTYPE=m
+-CONFIG_IP_NF_MATCH_MARK=m
+-CONFIG_IP_NF_MATCH_MULTIPORT=m
+-CONFIG_IP_NF_MATCH_TOS=m
+-CONFIG_IP_NF_MATCH_RECENT=m
+-CONFIG_IP_NF_MATCH_ECN=m
+-CONFIG_IP_NF_MATCH_DSCP=m
+-CONFIG_IP_NF_MATCH_AH_ESP=m
+-CONFIG_IP_NF_MATCH_LENGTH=m
+-CONFIG_IP_NF_MATCH_TTL=m
+-CONFIG_IP_NF_MATCH_TCPMSS=m
+-CONFIG_IP_NF_MATCH_HELPER=m
+-CONFIG_IP_NF_MATCH_STATE=m
+-CONFIG_IP_NF_MATCH_CONNTRACK=m
+-CONFIG_IP_NF_MATCH_OWNER=m
+-# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
+-# CONFIG_IP_NF_MATCH_REALM is not set
+-# CONFIG_IP_NF_MATCH_SCTP is not set
+-# CONFIG_IP_NF_MATCH_COMMENT is not set
+-# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
+-CONFIG_IP_NF_FILTER=m
+-CONFIG_IP_NF_TARGET_REJECT=m
+-CONFIG_IP_NF_TARGET_LOG=m
+-CONFIG_IP_NF_TARGET_ULOG=m
+-CONFIG_IP_NF_TARGET_TCPMSS=m
+-CONFIG_IP_NF_NAT=m
+-CONFIG_IP_NF_NAT_NEEDED=y
+-CONFIG_IP_NF_TARGET_MASQUERADE=m
+-CONFIG_IP_NF_TARGET_REDIRECT=m
+-CONFIG_IP_NF_TARGET_NETMAP=m
+-CONFIG_IP_NF_TARGET_SAME=m
+-CONFIG_IP_NF_NAT_SNMP_BASIC=m
+-CONFIG_IP_NF_NAT_IRC=m
+-CONFIG_IP_NF_NAT_FTP=m
+-CONFIG_IP_NF_NAT_TFTP=m
+-CONFIG_IP_NF_NAT_AMANDA=m
+-CONFIG_IP_NF_MANGLE=m
+-CONFIG_IP_NF_TARGET_TOS=m
+-CONFIG_IP_NF_TARGET_ECN=m
+-CONFIG_IP_NF_TARGET_DSCP=m
+-CONFIG_IP_NF_TARGET_MARK=m
+-CONFIG_IP_NF_TARGET_CLASSIFY=m
+-# CONFIG_IP_NF_RAW is not set
+-CONFIG_IP_NF_ARPTABLES=m
+-CONFIG_IP_NF_ARPFILTER=m
+-CONFIG_IP_NF_ARP_MANGLE=m
 -CONFIG_IP_NF_COMPAT_IPCHAINS=m
 -CONFIG_IP_NF_COMPAT_IPFWADM=m
- CONFIG_XFRM=y
- CONFIG_XFRM_USER=m
- 
-@@ -486,7 +497,6 @@
+-CONFIG_XFRM=y
+-CONFIG_XFRM_USER=m
+-
+-#
+-# SCTP Configuration (EXPERIMENTAL)
+-#
+-# CONFIG_IP_SCTP is not set
+-# CONFIG_ATM is not set
+-# CONFIG_BRIDGE is not set
+-# CONFIG_VLAN_8021Q is not set
+-# CONFIG_DECNET is not set
+-CONFIG_LLC=m
+-CONFIG_LLC2=m
+-# CONFIG_IPX is not set
+-# CONFIG_ATALK is not set
+-# CONFIG_X25 is not set
+-# CONFIG_LAPB is not set
+-# CONFIG_NET_DIVERT is not set
+-# CONFIG_ECONET is not set
+-# CONFIG_WAN_ROUTER is not set
+-
+-#
+-# QoS and/or fair queueing
+-#
+-# CONFIG_NET_SCHED is not set
+-# CONFIG_NET_CLS_ROUTE is not set
+-
+-#
+-# Network testing
+-#
+-# CONFIG_NET_PKTGEN is not set
+-# CONFIG_NETPOLL is not set
+-# CONFIG_NET_POLL_CONTROLLER is not set
+-# CONFIG_HAMRADIO is not set
+-# CONFIG_IRDA is not set
+-# CONFIG_BT is not set
+ CONFIG_NETDEVICES=y
+ CONFIG_DUMMY=m
  CONFIG_BONDING=m
  # CONFIG_EQUALIZER is not set
  CONFIG_TUN=m
@@ -1405,17 +2596,66 @@
  
  #
  # ARCnet devices
-@@ -524,9 +534,7 @@
+@@ -494,11 +565,16 @@
+ # CONFIG_ARCNET is not set
+ 
+ #
++# PHY device support
++#
++# CONFIG_PHYLIB is not set
++
++#
+ # Ethernet (10 or 100Mbit)
+ #
+ CONFIG_NET_ETHERNET=y
+ CONFIG_MII=m
+-CONFIG_HAPPYMEAL=m
++# CONFIG_HAPPYMEAL is not set
+ # CONFIG_SUNGEM is not set
+ # CONFIG_NET_VENDOR_3COM is not set
+ 
+@@ -514,28 +590,22 @@
+ # CONFIG_DE4X5 is not set
+ # CONFIG_WINBOND_840 is not set
+ # CONFIG_DM9102 is not set
++# CONFIG_ULI526X is not set
+ # CONFIG_HP100 is not set
+ CONFIG_NET_PCI=y
+-CONFIG_PCNET32=m
++# CONFIG_PCNET32 is not set
+ # CONFIG_AMD8111_ETH is not set
+-CONFIG_ADAPTEC_STARFIRE=m
+-# CONFIG_ADAPTEC_STARFIRE_NAPI is not set
+-CONFIG_B44=m
++# CONFIG_ADAPTEC_STARFIRE is not set
++# CONFIG_B44 is not set
  # CONFIG_FORCEDETH is not set
  # CONFIG_DGRS is not set
- CONFIG_EEPRO100=m
+-CONFIG_EEPRO100=m
 -# CONFIG_EEPRO100_PIO is not set
++# CONFIG_EEPRO100 is not set
  CONFIG_E100=m
 -# CONFIG_E100_NAPI is not set
  # CONFIG_FEALNX is not set
- CONFIG_NATSEMI=m
+-CONFIG_NATSEMI=m
++# CONFIG_NATSEMI is not set
  # CONFIG_NE2K_PCI is not set
-@@ -557,6 +565,7 @@
+ # CONFIG_8139CP is not set
+-CONFIG_8139TOO=m
+-# CONFIG_8139TOO_PIO is not set
+-# CONFIG_8139TOO_TUNE_TWISTER is not set
+-# CONFIG_8139TOO_8129 is not set
+-# CONFIG_8139_OLD_RX_RESET is not set
++# CONFIG_8139TOO is not set
+ # CONFIG_SIS900 is not set
+ # CONFIG_EPIC100 is not set
+ # CONFIG_SUNDANCE is not set
+@@ -554,15 +624,18 @@
+ # CONFIG_HAMACHI is not set
+ # CONFIG_YELLOWFIN is not set
+ # CONFIG_R8169 is not set
++# CONFIG_SIS190 is not set
++# CONFIG_SKGE is not set
  # CONFIG_SK98LIN is not set
  # CONFIG_VIA_VELOCITY is not set
  CONFIG_TIGON3=m
@@ -1423,7 +2663,24 @@
  
  #
  # Ethernet (10000 Mbit)
-@@ -622,16 +631,6 @@
+ #
+-CONFIG_IXGB=y
+-CONFIG_IXGB_NAPI=y
++# CONFIG_CHELSIO_T1 is not set
++# CONFIG_IXGB is not set
+ # CONFIG_S2IO is not set
+ 
+ #
+@@ -593,6 +666,8 @@
+ # CONFIG_NET_FC is not set
+ # CONFIG_SHAPER is not set
+ # CONFIG_NETCONSOLE is not set
++# CONFIG_NETPOLL is not set
++# CONFIG_NET_POLL_CONTROLLER is not set
+ 
+ #
+ # ISDN subsystem
+@@ -622,16 +697,6 @@
  # CONFIG_INPUT_EVBUG is not set
  
  #
@@ -1440,7 +2697,7 @@
  # Input Device Drivers
  #
  CONFIG_INPUT_KEYBOARD=y
-@@ -649,6 +648,16 @@
+@@ -649,6 +714,16 @@
  # CONFIG_INPUT_MISC is not set
  
  #
@@ -1457,7 +2714,15 @@
  # Character devices
  #
  CONFIG_VT=y
-@@ -676,6 +685,7 @@
+@@ -666,7 +741,6 @@
+ CONFIG_SERIAL_8250_MANY_PORTS=y
+ CONFIG_SERIAL_8250_SHARE_IRQ=y
+ # CONFIG_SERIAL_8250_DETECT_IRQ is not set
+-# CONFIG_SERIAL_8250_MULTIPORT is not set
+ # CONFIG_SERIAL_8250_RSA is not set
+ 
+ #
+@@ -676,6 +750,7 @@
  # CONFIG_PDC_CONSOLE is not set
  CONFIG_SERIAL_CORE=y
  CONFIG_SERIAL_CORE_CONSOLE=y
@@ -1465,7 +2730,7 @@
  CONFIG_UNIX98_PTYS=y
  CONFIG_LEGACY_PTYS=y
  CONFIG_LEGACY_PTY_COUNT=256
-@@ -698,12 +708,16 @@
+@@ -698,12 +773,16 @@
  #
  # Ftape, the floppy tape device driver
  #
@@ -1483,7 +2748,28 @@
  # I2C support
  #
  # CONFIG_I2C is not set
-@@ -731,6 +745,11 @@
+@@ -714,10 +793,20 @@
+ # CONFIG_W1 is not set
+ 
+ #
++# Hardware Monitoring support
++#
++# CONFIG_HWMON is not set
++# CONFIG_HWMON_VID is not set
++
++#
+ # Misc devices
+ #
+ 
+ #
++# Multimedia Capabilities Port drivers
++#
++
++#
+ # Multimedia devices
+ #
+ # CONFIG_VIDEO_DEV is not set
+@@ -731,6 +820,11 @@
  # Graphics support
  #
  CONFIG_FB=y
@@ -1495,7 +2781,7 @@
  # CONFIG_FB_MODE_HELPERS is not set
  # CONFIG_FB_TILEBLITTING is not set
  # CONFIG_FB_CIRRUS is not set
-@@ -739,6 +758,7 @@
+@@ -739,6 +833,7 @@
  # CONFIG_FB_ASILIANT is not set
  # CONFIG_FB_IMSTT is not set
  CONFIG_FB_STI=y
@@ -1503,8 +2789,11 @@
  # CONFIG_FB_RIVA is not set
  # CONFIG_FB_MATROX is not set
  # CONFIG_FB_RADEON_OLD is not set
-@@ -753,16 +773,17 @@
+@@ -751,18 +846,20 @@
+ # CONFIG_FB_KYRO is not set
+ # CONFIG_FB_3DFX is not set
  # CONFIG_FB_VOODOO1 is not set
++# CONFIG_FB_CYBLA is not set
  # CONFIG_FB_TRIDENT is not set
  # CONFIG_FB_PM3 is not set
 +# CONFIG_FB_S1D13XXX is not set
@@ -1523,7 +2812,7 @@
  # CONFIG_FONTS is not set
  CONFIG_FONT_8x8=y
  CONFIG_FONT_8x16=y
-@@ -775,6 +796,7 @@
+@@ -775,6 +872,7 @@
  # CONFIG_LOGO_LINUX_VGA16 is not set
  # CONFIG_LOGO_LINUX_CLUT224 is not set
  CONFIG_LOGO_PARISC_CLUT224=y
@@ -1531,7 +2820,7 @@
  
  #
  # Sound
-@@ -784,7 +806,77 @@
+@@ -784,7 +882,78 @@
  #
  # Advanced Linux Sound Architecture
  #
@@ -1556,11 +2845,12 @@
 +# CONFIG_SND_MTPAV is not set
 +# CONFIG_SND_SERIAL_U16550 is not set
 +# CONFIG_SND_MPU401 is not set
++CONFIG_SND_AC97_CODEC=y
++CONFIG_SND_AC97_BUS=y
 +
 +#
 +# PCI devices
 +#
-+CONFIG_SND_AC97_CODEC=y
 +# CONFIG_SND_ALI5451 is not set
 +CONFIG_SND_AD1889=y
 +# CONFIG_SND_AD1889_OPL3 is not set
@@ -1583,9 +2873,9 @@
 +# CONFIG_SND_RME96 is not set
 +# CONFIG_SND_RME9652 is not set
 +# CONFIG_SND_HDSP is not set
++# CONFIG_SND_HDSPM is not set
 +# CONFIG_SND_TRIDENT is not set
 +# CONFIG_SND_YMFPCI is not set
-+# CONFIG_SND_ALS4000 is not set
 +# CONFIG_SND_CMIPCI is not set
 +# CONFIG_SND_ENS1370 is not set
 +# CONFIG_SND_ENS1371 is not set
@@ -1610,7 +2900,7 @@
  
  #
  # Open Sound System
-@@ -794,6 +886,8 @@
+@@ -794,6 +963,8 @@
  #
  # USB support
  #
@@ -1619,7 +2909,7 @@
  CONFIG_USB=y
  CONFIG_USB_DEBUG=y
  
-@@ -804,14 +898,14 @@
+@@ -804,23 +975,23 @@
  # CONFIG_USB_BANDWIDTH is not set
  # CONFIG_USB_DYNAMIC_MINORS is not set
  # CONFIG_USB_OTG is not set
@@ -1630,19 +2920,32 @@
  # USB Host Controller Drivers
  #
  # CONFIG_USB_EHCI_HCD is not set
++# CONFIG_USB_ISP116X_HCD is not set
  CONFIG_USB_OHCI_HCD=y
 +# CONFIG_USB_OHCI_BIG_ENDIAN is not set
 +CONFIG_USB_OHCI_LITTLE_ENDIAN=y
  # CONFIG_USB_UHCI_HCD is not set
  # CONFIG_USB_SL811_HCD is not set
  
-@@ -829,12 +923,11 @@
  #
+ # USB Device Class drivers
+ #
+-# CONFIG_USB_AUDIO is not set
++# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
+ # CONFIG_USB_BLUETOOTH_TTY is not set
+-# CONFIG_USB_MIDI is not set
+ # CONFIG_USB_ACM is not set
+ CONFIG_USB_PRINTER=m
+ 
+@@ -829,12 +1000,11 @@
+ #
  CONFIG_USB_STORAGE=m
  # CONFIG_USB_STORAGE_DEBUG is not set
 -# CONFIG_USB_STORAGE_RW_DETECT is not set
- CONFIG_USB_STORAGE_DATAFAB=y
- CONFIG_USB_STORAGE_FREECOM=y
+-CONFIG_USB_STORAGE_DATAFAB=y
+-CONFIG_USB_STORAGE_FREECOM=y
++# CONFIG_USB_STORAGE_DATAFAB is not set
++# CONFIG_USB_STORAGE_FREECOM is not set
  # CONFIG_USB_STORAGE_ISD200 is not set
  CONFIG_USB_STORAGE_DPCM=y
 -CONFIG_USB_STORAGE_HP8200e=y
@@ -1650,23 +2953,45 @@
  CONFIG_USB_STORAGE_SDDR09=y
  CONFIG_USB_STORAGE_SDDR55=y
  CONFIG_USB_STORAGE_JUMPSHOT=y
-@@ -860,7 +953,6 @@
+@@ -846,21 +1016,25 @@
+ CONFIG_USB_HIDINPUT=y
+ # CONFIG_HID_FF is not set
+ CONFIG_USB_HIDDEV=y
+-CONFIG_USB_AIPTEK=m
+-CONFIG_USB_WACOM=m
+-CONFIG_USB_KBTAB=m
++# CONFIG_USB_AIPTEK is not set
++# CONFIG_USB_WACOM is not set
++# CONFIG_USB_ACECAD is not set
++# CONFIG_USB_KBTAB is not set
+ # CONFIG_USB_POWERMATE is not set
+ # CONFIG_USB_MTOUCH is not set
++# CONFIG_USB_ITMTOUCH is not set
+ # CONFIG_USB_EGALAX is not set
++# CONFIG_USB_YEALINK is not set
+ # CONFIG_USB_XPAD is not set
+ # CONFIG_USB_ATI_REMOTE is not set
++# CONFIG_USB_KEYSPAN_REMOTE is not set
++# CONFIG_USB_APPLETOUCH is not set
+ 
  #
+ # USB Imaging devices
+ #
  CONFIG_USB_MDC800=m
  CONFIG_USB_MICROTEK=m
 -CONFIG_USB_HPUSBSCSI=m
  
  #
  # USB Multimedia devices
-@@ -879,6 +971,7 @@
+@@ -879,6 +1053,7 @@
  # CONFIG_USB_PEGASUS is not set
  # CONFIG_USB_RTL8150 is not set
  # CONFIG_USB_USBNET is not set
-+CONFIG_USB_MON=m
++# CONFIG_USB_MON is not set
  
  #
  # USB port drivers
-@@ -894,7 +987,6 @@
+@@ -894,7 +1069,6 @@
  #
  # CONFIG_USB_EMI62 is not set
  # CONFIG_USB_EMI26 is not set
@@ -1674,51 +2999,115 @@
  # CONFIG_USB_AUERSWALD is not set
  # CONFIG_USB_RIO500 is not set
  CONFIG_USB_LEGOTOWER=m
-@@ -903,6 +995,7 @@
+@@ -903,10 +1077,12 @@
  # CONFIG_USB_CYTHERM is not set
  # CONFIG_USB_PHIDGETKIT is not set
  # CONFIG_USB_PHIDGETSERVO is not set
 +# CONFIG_USB_IDMOUSE is not set
++# CONFIG_USB_LD is not set
  # CONFIG_USB_TEST is not set
  
  #
-@@ -920,6 +1013,15 @@
+-# USB ATM/DSL drivers
++# USB DSL modem support
+ #
+ 
+ #
+@@ -920,27 +1096,41 @@
  # CONFIG_MMC is not set
  
  #
 +# InfiniBand support
 +#
-+CONFIG_INFINIBAND=m
-+CONFIG_INFINIBAND_MTHCA=m
-+# CONFIG_INFINIBAND_MTHCA_DEBUG is not set
-+CONFIG_INFINIBAND_IPOIB=m
-+# CONFIG_INFINIBAND_IPOIB_DEBUG is not set
++# CONFIG_INFINIBAND is not set
 +
 +#
++# SN Devices
++#
++
++#
  # File systems
  #
  CONFIG_EXT2_FS=y
-@@ -930,7 +1032,12 @@
+ # CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
+ CONFIG_EXT3_FS=y
+ # CONFIG_EXT3_FS_XATTR is not set
+ CONFIG_JBD=y
  # CONFIG_JBD_DEBUG is not set
  # CONFIG_REISERFS_FS is not set
  # CONFIG_JFS_FS is not set
-+
-+#
-+# XFS support
-+#
++# CONFIG_FS_POSIX_ACL is not set
  CONFIG_XFS_FS=m
+-# CONFIG_XFS_RT is not set
 +CONFIG_XFS_EXPORT=y
- # CONFIG_XFS_RT is not set
  # CONFIG_XFS_QUOTA is not set
  # CONFIG_XFS_SECURITY is not set
-@@ -1074,13 +1181,18 @@
+ # CONFIG_XFS_POSIX_ACL is not set
++# CONFIG_XFS_RT is not set
+ # CONFIG_MINIX_FS is not set
+ # CONFIG_ROMFS_FS is not set
++CONFIG_INOTIFY=y
+ # CONFIG_QUOTA is not set
+ CONFIG_DNOTIFY=y
+ # CONFIG_AUTOFS_FS is not set
+ CONFIG_AUTOFS4_FS=y
++# CONFIG_FUSE_FS is not set
+ 
  #
+ # CD-ROM/DVD Filesystems
+@@ -966,13 +1156,11 @@
+ CONFIG_PROC_FS=y
+ CONFIG_PROC_KCORE=y
+ CONFIG_SYSFS=y
+-# CONFIG_DEVFS_FS is not set
+-# CONFIG_DEVPTS_FS_XATTR is not set
+ CONFIG_TMPFS=y
+-# CONFIG_TMPFS_XATTR is not set
+ # CONFIG_HUGETLBFS is not set
+ # CONFIG_HUGETLB_PAGE is not set
+ CONFIG_RAMFS=y
++# CONFIG_RELAYFS_FS is not set
+ 
+ #
+ # Miscellaneous filesystems
+@@ -996,16 +1184,19 @@
+ #
+ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
++# CONFIG_NFS_V3_ACL is not set
+ # CONFIG_NFS_V4 is not set
+ # CONFIG_NFS_DIRECTIO is not set
+ CONFIG_NFSD=y
+ CONFIG_NFSD_V3=y
++# CONFIG_NFSD_V3_ACL is not set
+ # CONFIG_NFSD_V4 is not set
+ # CONFIG_NFSD_TCP is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+ CONFIG_LOCKD_V4=y
+ CONFIG_EXPORTFS=y
++CONFIG_NFS_COMMON=y
+ CONFIG_SUNRPC=y
+ # CONFIG_RPCSEC_GSS_KRB5 is not set
+ # CONFIG_RPCSEC_GSS_SPKM3 is not set
+@@ -1014,6 +1205,7 @@
+ # CONFIG_NCP_FS is not set
+ # CONFIG_CODA_FS is not set
+ # CONFIG_AFS_FS is not set
++# CONFIG_9P_FS is not set
+ 
+ #
+ # Partition Types
+@@ -1074,13 +1266,19 @@
+ #
  # Kernel hacking
  #
 +# CONFIG_PRINTK_TIME is not set
  CONFIG_DEBUG_KERNEL=y
  CONFIG_MAGIC_SYSRQ=y
 +CONFIG_LOG_BUF_SHIFT=16
++CONFIG_DETECT_SOFTLOCKUP=y
  # CONFIG_SCHEDSTATS is not set
  # CONFIG_DEBUG_SLAB is not set
  # CONFIG_DEBUG_SPINLOCK is not set
@@ -1730,15 +3119,39 @@
  
  #
  # Security options
-@@ -1100,6 +1212,7 @@
- CONFIG_CRYPTO_SHA256=m
+@@ -1092,21 +1290,22 @@
+ # Cryptographic options
+ #
+ CONFIG_CRYPTO=y
+-CONFIG_CRYPTO_HMAC=y
++# CONFIG_CRYPTO_HMAC is not set
+ CONFIG_CRYPTO_NULL=m
+-CONFIG_CRYPTO_MD4=m
++# CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=m
+-CONFIG_CRYPTO_SHA1=m
+-CONFIG_CRYPTO_SHA256=m
++# CONFIG_CRYPTO_SHA1 is not set
++# CONFIG_CRYPTO_SHA256 is not set
  # CONFIG_CRYPTO_SHA512 is not set
  # CONFIG_CRYPTO_WP512 is not set
-+CONFIG_CRYPTO_TGR192=m
++# CONFIG_CRYPTO_TGR192 is not set
  CONFIG_CRYPTO_DES=m
  CONFIG_CRYPTO_BLOWFISH=m
- CONFIG_CRYPTO_TWOFISH=m
-@@ -1117,6 +1230,10 @@
+-CONFIG_CRYPTO_TWOFISH=m
+-CONFIG_CRYPTO_SERPENT=m
+-CONFIG_CRYPTO_AES=m
+-CONFIG_CRYPTO_CAST5=m
+-CONFIG_CRYPTO_CAST6=m
++# CONFIG_CRYPTO_TWOFISH is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_CAST5 is not set
++# CONFIG_CRYPTO_CAST6 is not set
+ # CONFIG_CRYPTO_TEA is not set
+ # CONFIG_CRYPTO_ARC4 is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+@@ -1117,9 +1316,14 @@
  CONFIG_CRYPTO_TEST=m
  
  #
@@ -1749,9 +3162,13 @@
  # Library routines
  #
  CONFIG_CRC_CCITT=m
-diff -Nur linux-2.6.13.org/arch/parisc/defconfig linux-2.6.13/arch/parisc/defconfig
---- linux-2.6.13.org/arch/parisc/defconfig	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/defconfig	2005-09-25 12:34:39.000000000 -0400
++# CONFIG_CRC16 is not set
+ CONFIG_CRC32=y
+ CONFIG_LIBCRC32C=m
+ CONFIG_ZLIB_INFLATE=m
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/defconfig CVS2_6_14_RC2_PA6/arch/parisc/defconfig
+--- LINUS_2_6_14_RC2/arch/parisc/defconfig	2005-09-22 19:17:04.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/defconfig	2005-09-13 12:38:25.000000000 -0600
 @@ -1,38 +1,56 @@
  #
  # Automatically generated make config: don't edit
@@ -2832,9 +4249,9 @@
 +# CONFIG_CRC_CCITT is not set
  CONFIG_CRC32=y
 +# CONFIG_LIBCRC32C is not set
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/cache.c linux-2.6.13/arch/parisc/kernel/cache.c
---- linux-2.6.13.org/arch/parisc/kernel/cache.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/cache.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/cache.c CVS2_6_14_RC2_PA6/arch/parisc/kernel/cache.c
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/cache.c	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/cache.c	2005-07-21 21:32:43.000000000 -0600
 @@ -27,6 +27,7 @@
  #include <asm/page.h>
  #include <asm/pgalloc.h>
@@ -2873,9 +4290,9 @@
  	rangetime = mfctl(16) - rangetime;
  
  	printk(KERN_DEBUG "Whole cache flush %lu cycles, flushing %lu bytes %lu cycles\n",
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/drivers.c linux-2.6.13/arch/parisc/kernel/drivers.c
---- linux-2.6.13.org/arch/parisc/kernel/drivers.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/drivers.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/drivers.c CVS2_6_14_RC2_PA6/arch/parisc/kernel/drivers.c
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/drivers.c	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/drivers.c	2005-09-11 20:36:49.000000000 -0600
 @@ -46,36 +46,51 @@
  	.bus_id = "parisc",
  };
@@ -3297,9 +4714,9 @@
 -	}
 +	for_each_padev(print_one_device, NULL);
  }
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/entry.S linux-2.6.13/arch/parisc/kernel/entry.S
---- linux-2.6.13.org/arch/parisc/kernel/entry.S	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/entry.S	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/entry.S CVS2_6_14_RC2_PA6/arch/parisc/kernel/entry.S
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/entry.S	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/entry.S	2005-09-14 06:54:53.000000000 -0600
 @@ -30,14 +30,14 @@
   *  - save registers to kernel stack and handle in assembly or C */
  
@@ -3900,9 +5317,9 @@
  	ldo	-16(%r30),%r29			/* Reference param save area */
  #endif
  	BL	do_signal,%r2
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/firmware.c linux-2.6.13/arch/parisc/kernel/firmware.c
---- linux-2.6.13.org/arch/parisc/kernel/firmware.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/firmware.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/firmware.c CVS2_6_14_RC2_PA6/arch/parisc/kernel/firmware.c
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/firmware.c	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/firmware.c	2005-08-17 09:52:35.000000000 -0600
 @@ -83,15 +83,15 @@
  int parisc_narrow_firmware = 1;
  #endif
@@ -3928,9 +5345,9 @@
   */
  
  #ifdef __LP64__
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/head.S linux-2.6.13/arch/parisc/kernel/head.S
---- linux-2.6.13.org/arch/parisc/kernel/head.S	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/head.S	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/head.S CVS2_6_14_RC2_PA6/arch/parisc/kernel/head.S
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/head.S	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/head.S	2005-09-14 06:54:53.000000000 -0600
 @@ -12,7 +12,7 @@
   * Initial Version 04-23-1999 by Helge Deller <deller at gmx.de>
   */
@@ -3938,7 +5355,7 @@
 -#include <linux/autoconf.h>	/* for CONFIG_SMP */
 +#include <linux/config.h>	/* for CONFIG_SMP */
  
- #include <asm/offsets.h>
+ #include <asm/asm-offsets.h>
  #include <asm/psw.h>
 @@ -36,10 +36,10 @@
  	.align	4
@@ -4112,9 +5529,9 @@
  	.word 0
 -#endif /*!LP64*/
 +#endif /*!CONFIG_64BIT*/
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/ioctl32.c linux-2.6.13/arch/parisc/kernel/ioctl32.c
---- linux-2.6.13.org/arch/parisc/kernel/ioctl32.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/ioctl32.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/ioctl32.c CVS2_6_14_RC2_PA6/arch/parisc/kernel/ioctl32.c
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/ioctl32.c	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/ioctl32.c	2005-04-12 13:17:10.000000000 -0600
 @@ -104,12 +104,9 @@
  	}
  
@@ -4189,9 +5606,106 @@
  	return ret;
  }
  
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/pacache.S linux-2.6.13/arch/parisc/kernel/pacache.S
---- linux-2.6.13.org/arch/parisc/kernel/pacache.S	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/pacache.S	2005-09-25 12:35:31.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/irq.c CVS2_6_14_RC2_PA6/arch/parisc/kernel/irq.c
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/irq.c	2005-02-13 20:22:34.000000000 -0700
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/irq.c	2005-10-18 12:05:46.000000000 -0600
+@@ -43,26 +43,34 @@
+ */
+ static volatile unsigned long cpu_eiem = 0;
+ 
+-static void cpu_set_eiem(void *info)
+-{
+-	set_eiem((unsigned long) info);
+-}
+-
+-static inline void cpu_disable_irq(unsigned int irq)
++static void cpu_disable_irq(unsigned int irq)
+ {
+ 	unsigned long eirr_bit = EIEM_MASK(irq);
+ 
+ 	cpu_eiem &= ~eirr_bit;
+-        on_each_cpu(cpu_set_eiem, (void *) cpu_eiem, 1, 1);
++	/* Do nothing on the other CPUs.  If they get this interrupt,
++	 * The & cpu_eiem in the do_cpu_irq_mask() ensures they won't
++	 * handle it, and the set_eiem() at the bottom will ensure it
++	 * then gets disabled */
+ }
+ 
+ static void cpu_enable_irq(unsigned int irq)
+ {
+ 	unsigned long eirr_bit = EIEM_MASK(irq);
+ 
+-	mtctl(eirr_bit, 23);	/* clear EIRR bit before unmasking */
+ 	cpu_eiem |= eirr_bit;
+-        on_each_cpu(cpu_set_eiem, (void *) cpu_eiem, 1, 1);
++
++	/* FIXME: while our interrupts aren't nested, we cannot reset
++	 * the eiem mask if we're already in an interrupt.  Once we
++	 * implement nested interrupts, this can go away
++	 */
++	if (!in_interrupt())
++		set_eiem(cpu_eiem);
++
++	/* This is just a simple NOP IPI.  But what it does is cause
++	 * all the other CPUs to do a set_eiem(cpu_eiem) at the end
++	 * of the interrupt handler */
++	smp_send_all_nop();
+ }
+ 
+ static unsigned int cpu_startup_irq(unsigned int irq)
+@@ -250,10 +258,11 @@
+ 	irq_enter();
+ 
+ 	/*
+-	 * Only allow interrupt processing to be interrupted by the
+-	 * timer tick
++	 * Don't allow TIMER or IPI nested interrupts.
++	 * Allowing any single interrupt to nest can lead to that CPU
++	 * handling interrupts with all enabled interrupts unmasked.
+ 	 */
+-	set_eiem(EIEM_MASK(TIMER_IRQ));
++	set_eiem(0UL);
+ 
+ 	/* 1) only process IRQs that are enabled/unmasked (cpu_eiem)
+ 	 * 2) We loop here on EIRR contents in order to avoid
+@@ -267,9 +276,6 @@
+ 		if (!eirr_val)
+ 			break;
+ 
+-		if (eirr_val & EIEM_MASK(TIMER_IRQ))
+-			set_eiem(0);
+-
+ 		mtctl(eirr_val, 23); /* reset bits we are going to process */
+ 
+ 		/* Work our way from MSb to LSb...same order we alloc EIRs */
+@@ -283,7 +289,8 @@
+ 			__do_IRQ(irq, regs);
+ 		}
+ 	}
+-	set_eiem(cpu_eiem);
++
++	set_eiem(cpu_eiem);	/* restore original mask */
+ 	irq_exit();
+ }
+ 
+@@ -291,12 +298,14 @@
+ static struct irqaction timer_action = {
+ 	.handler = timer_interrupt,
+ 	.name = "timer",
++	.flags = SA_INTERRUPT,
+ };
+ 
+ #ifdef CONFIG_SMP
+ static struct irqaction ipi_action = {
+ 	.handler = ipi_interrupt,
+ 	.name = "IPI",
++	.flags = SA_INTERRUPT,
+ };
+ #endif
+ 
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/pacache.S CVS2_6_14_RC2_PA6/arch/parisc/kernel/pacache.S
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/pacache.S	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/pacache.S	2005-10-05 22:41:47.000000000 -0600
 @@ -26,7 +26,7 @@
   *       can be used.
   */
@@ -4300,6 +5814,15 @@
  	.procend
  
  	.export flush_instruction_cache_local,code
+@@ -227,7 +227,7 @@
+ 
+ fimanyloop:					/* Loop if LOOP >= 2 */
+ 	ADDIB>		-1, %r31, fimanyloop	/* Adjusted inner loop decr */
+-	fice            0(%sr1, %arg0)
++	fice            %r0(%sr1, %arg0)
+ 	fice,m		%arg1(%sr1, %arg0)	/* Last fice and addr adjust */
+ 	movb,tr		%arg3, %r31, fimanyloop	/* Re-init inner loop count */
+ 	ADDIB<=,n	-1, %arg2, fisync	/* Outer loop decr */
 @@ -238,7 +238,7 @@
  
  fisync:
@@ -4309,6 +5832,15 @@
  	bv		%r0(%r2)
  	nop
  	.exit
+@@ -269,7 +269,7 @@
+ 
+ fdmanyloop:					/* Loop if LOOP >= 2 */
+ 	ADDIB>		-1, %r31, fdmanyloop	/* Adjusted inner loop decr */
+-	fdce		0(%sr1, %arg0)
++	fdce		%r0(%sr1, %arg0)
+ 	fdce,m		%arg1(%sr1, %arg0)	/* Last fdce and addr adjust */
+ 	movb,tr		%arg3, %r31, fdmanyloop	/* Re-init inner loop count */
+ 	ADDIB<=,n	-1, %arg2, fdsync	/* Outer loop decr */
 @@ -281,7 +281,7 @@
  fdsync:
  	syncdma
@@ -4617,9 +6149,9 @@
  	rfi
  	nop
  
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/pci-dma.c linux-2.6.13/arch/parisc/kernel/pci-dma.c
---- linux-2.6.13.org/arch/parisc/kernel/pci-dma.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/pci-dma.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/pci-dma.c CVS2_6_14_RC2_PA6/arch/parisc/kernel/pci-dma.c
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/pci-dma.c	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/pci-dma.c	2005-08-20 18:20:11.000000000 -0600
 @@ -31,7 +31,7 @@
  #include <asm/page.h>	/* get_order */
  #include <asm/pgalloc.h>
@@ -4709,9 +6241,9 @@
  	strcat(buf, "\n");
  	return strlen(buf);
  }
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/pci.c linux-2.6.13/arch/parisc/kernel/pci.c
---- linux-2.6.13.org/arch/parisc/kernel/pci.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/pci.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/pci.c CVS2_6_14_RC2_PA6/arch/parisc/kernel/pci.c
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/pci.c	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/pci.c	2005-08-10 10:33:32.000000000 -0600
 @@ -202,7 +202,8 @@
  pcibios_link_hba_resources( struct resource *hba_res, struct resource *r)
  {
@@ -4722,9 +6254,9 @@
  		r->parent = hba_res;
  
  		/* reverse link is harder *sigh*  */
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/pdc_cons.c linux-2.6.13/arch/parisc/kernel/pdc_cons.c
---- linux-2.6.13.org/arch/parisc/kernel/pdc_cons.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/pdc_cons.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/pdc_cons.c CVS2_6_14_RC2_PA6/arch/parisc/kernel/pdc_cons.c
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/pdc_cons.c	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/pdc_cons.c	2005-03-15 07:02:43.000000000 -0700
 @@ -41,7 +41,7 @@
  
  /* Define EARLY_BOOTUP_DEBUG to debug kernel related boot problems. 
@@ -4831,9 +6363,9 @@
  	pdc_console_init_force();
  }
 -
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/perf.c linux-2.6.13/arch/parisc/kernel/perf.c
---- linux-2.6.13.org/arch/parisc/kernel/perf.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/perf.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/perf.c CVS2_6_14_RC2_PA6/arch/parisc/kernel/perf.c
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/perf.c	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/perf.c	2005-09-11 19:23:52.000000000 -0600
 @@ -746,7 +746,8 @@
  	uint64_t *bptr;
  	uint32_t dwords;
@@ -4865,9 +6397,9 @@
  	}
  
  	return 0; 
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/process.c linux-2.6.13/arch/parisc/kernel/process.c
---- linux-2.6.13.org/arch/parisc/kernel/process.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/process.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/process.c CVS2_6_14_RC2_PA6/arch/parisc/kernel/process.c
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/process.c	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/process.c	2005-09-14 06:54:53.000000000 -0600
 @@ -9,7 +9,7 @@
   *    Copyright (C) 2000-2003 Paul Bame <bame at parisc-linux.org>
   *    Copyright (C) 2000 Philipp Rumpf <prumpf with tux.org>
@@ -4931,9 +6463,9 @@
  	}
  
  	return 0;
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/processor.c linux-2.6.13/arch/parisc/kernel/processor.c
---- linux-2.6.13.org/arch/parisc/kernel/processor.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/processor.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/processor.c CVS2_6_14_RC2_PA6/arch/parisc/kernel/processor.c
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/processor.c	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/processor.c	2005-09-10 12:19:37.000000000 -0600
 @@ -92,7 +92,7 @@
  	 * May get overwritten by PAT code.
  	 */
@@ -4970,9 +6502,9 @@
  	p->cpuid = cpuid;	/* save CPU id */
  	p->txn_addr = txn_addr;	/* save CPU IRQ address */
  #ifdef CONFIG_SMP
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/real2.S linux-2.6.13/arch/parisc/kernel/real2.S
---- linux-2.6.13.org/arch/parisc/kernel/real2.S	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/real2.S	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/real2.S CVS2_6_14_RC2_PA6/arch/parisc/kernel/real2.S
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/real2.S	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/real2.S	2005-05-12 23:25:09.000000000 -0600
 @@ -7,8 +7,10 @@
   * Copyright (C) 2000 Hewlett Packard (Paul Bame bame at puffin.external.hp.com)
   *
@@ -5098,10 +6630,18 @@
  	bve (%r2)
  #else
  	bv %r0(%r2)
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/signal.c linux-2.6.13/arch/parisc/kernel/signal.c
---- linux-2.6.13.org/arch/parisc/kernel/signal.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/signal.c	2005-09-25 12:34:39.000000000 -0400
-@@ -490,15 +490,7 @@
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/signal.c CVS2_6_14_RC2_PA6/arch/parisc/kernel/signal.c
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/signal.c	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/signal.c	2005-10-09 09:54:23.000000000 -0600
+@@ -296,7 +296,6 @@
+ 	struct rt_sigframe __user *frame;
+ 	unsigned long rp, usp;
+ 	unsigned long haddr, sigframe_size;
+-	struct siginfo si;
+ 	int err = 0;
+ #ifdef __LP64__
+ 	compat_int_t compat_val;
+@@ -490,15 +489,7 @@
  
  give_sigsegv:
  	DBG(1,"setup_rt_frame: sending SIGSEGV\n");
@@ -5118,17 +6658,28 @@
  	return 0;
  }
  
-@@ -637,6 +629,7 @@
- 			/* Stack is 64-byte aligned, and we only 
- 			 * need to flush 1 cache line */
- 			asm("fdc 0(%%sr3, %0)\n"
+@@ -633,10 +624,14 @@
+ 			put_user(0xe0008200, &usp[3]);
+ 			put_user(0x34140000, &usp[4]);
+ 
+-			/* Stack is 64-byte aligned, and we only 
+-			 * need to flush 1 cache line */
+-			asm("fdc 0(%%sr3, %0)\n"
+-			    "fic 0(%%sr3, %0)\n"
++			/* Stack is 64-byte aligned, and we only need
++			 * to flush 1 cache line.
++			 * Flushing one cacheline is cheap.
++			 * "sync" on bigger (> 4 way) boxes is not.
++			 */
++			asm("fdc %%r0(%%sr3, %0)\n"
 +			    "sync\n"
- 			    "fic 0(%%sr3, %0)\n"
++			    "fic %%r0(%%sr3, %0)\n"
  			    "sync\n"
  			    : : "r"(regs->gr[30]));
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/smp.c linux-2.6.13/arch/parisc/kernel/smp.c
---- linux-2.6.13.org/arch/parisc/kernel/smp.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/smp.c	2005-09-25 12:34:39.000000000 -0400
+ 
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/smp.c CVS2_6_14_RC2_PA6/arch/parisc/kernel/smp.c
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/smp.c	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/smp.c	2005-10-18 12:05:46.000000000 -0600
 @@ -18,7 +18,7 @@
  */
  #undef ENTRY_SYS_CPUS	/* syscall support for iCOD-like functionality */
@@ -5138,19 +6689,99 @@
  
  #include <linux/types.h>
  #include <linux/spinlock.h>
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/syscall.S linux-2.6.13/arch/parisc/kernel/syscall.S
---- linux-2.6.13.org/arch/parisc/kernel/syscall.S	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/syscall.S	2005-09-25 12:34:39.000000000 -0400
-@@ -4,8 +4,9 @@
-  * System call entry code Copyright (c) Matthew Wilcox 1999 <willy at bofh.ai>
-  * Licensed under the GNU GPL.
+@@ -181,12 +181,19 @@
+ 		while (ops) {
+ 			unsigned long which = ffz(~ops);
+ 
++			ops &= ~(1 << which);
++
+ 			switch (which) {
++			case IPI_NOP:
++#if (kDEBUG>=100)
++				printk(KERN_DEBUG "CPU%d IPI_NOP\n",this_cpu);
++#endif /* kDEBUG */
++				break;
++				
+ 			case IPI_RESCHEDULE:
+ #if (kDEBUG>=100)
+ 				printk(KERN_DEBUG "CPU%d IPI_RESCHEDULE\n",this_cpu);
+ #endif /* kDEBUG */
+-				ops &= ~(1 << IPI_RESCHEDULE);
+ 				/*
+ 				 * Reschedule callback.  Everything to be
+ 				 * done is done by the interrupt return path.
+@@ -197,7 +204,6 @@
+ #if (kDEBUG>=100)
+ 				printk(KERN_DEBUG "CPU%d IPI_CALL_FUNC\n",this_cpu);
+ #endif /* kDEBUG */
+-				ops &= ~(1 << IPI_CALL_FUNC);
+ 				{
+ 					volatile struct smp_call_struct *data;
+ 					void (*func)(void *info);
+@@ -231,7 +237,6 @@
+ #if (kDEBUG>=100)
+ 				printk(KERN_DEBUG "CPU%d IPI_CPU_START\n",this_cpu);
+ #endif /* kDEBUG */
+-				ops &= ~(1 << IPI_CPU_START);
+ #ifdef ENTRY_SYS_CPUS
+ 				p->state = STATE_RUNNING;
+ #endif
+@@ -241,7 +246,6 @@
+ #if (kDEBUG>=100)
+ 				printk(KERN_DEBUG "CPU%d IPI_CPU_STOP\n",this_cpu);
+ #endif /* kDEBUG */
+-				ops &= ~(1 << IPI_CPU_STOP);
+ #ifdef ENTRY_SYS_CPUS
+ #else
+ 				halt_processor();
+@@ -252,13 +256,11 @@
+ #if (kDEBUG>=100)
+ 				printk(KERN_DEBUG "CPU%d is alive!\n",this_cpu);
+ #endif /* kDEBUG */
+-				ops &= ~(1 << IPI_CPU_TEST);
+ 				break;
+ 
+ 			default:
+ 				printk(KERN_CRIT "Unknown IPI num on CPU%d: %lu\n",
+ 					this_cpu, which);
+-				ops &= ~(1 << which);
+ 				return IRQ_NONE;
+ 			} /* Switch */
+ 		} /* while (ops) */
+@@ -312,6 +314,12 @@
+ void 
+ smp_send_reschedule(int cpu) { send_IPI_single(cpu, IPI_RESCHEDULE); }
+ 
++void
++smp_send_all_nop(void)
++{
++	send_IPI_allbutself(IPI_NOP);
++}
++
+ 
+ /**
+  * Run a function on all other CPUs.
+@@ -338,6 +346,10 @@
+ 
+ 	/* Can deadlock when called with interrupts disabled */
+ 	WARN_ON(irqs_disabled());
++
++	/* can also deadlock if IPIs are disabled */
++	WARN_ON((get_eiem() & (1UL<<(CPU_IRQ_MAX - IPI_IRQ))) == 0);
++
+ 	
+ 	data.func = func;
+ 	data.info = info;
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/syscall.S CVS2_6_14_RC2_PA6/arch/parisc/kernel/syscall.S
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/syscall.S	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/syscall.S	2005-09-14 14:58:36.000000000 -0600
+@@ -6,6 +6,7 @@
   * thanks to Philipp Rumpf, Mike Shaver and various others
-- * sorry about the wall, puffin..
-+ * sorry about the wall, puffin.
+  * sorry about the wall, puffin..
   */
 +#include <linux/config.h> /* for CONFIG_SMP */
  
- #include <asm/offsets.h>
+ #include <asm/asm-offsets.h>
  #include <asm/unistd.h>
 @@ -22,15 +23,13 @@
  	 */
@@ -5322,9 +6953,9 @@
  	.align 4096
  	.export sys_call_table64
  .Lsys_call_table64:
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/syscall_table.S linux-2.6.13/arch/parisc/kernel/syscall_table.S
---- linux-2.6.13.org/arch/parisc/kernel/syscall_table.S	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/syscall_table.S	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/syscall_table.S CVS2_6_14_RC2_PA6/arch/parisc/kernel/syscall_table.S
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/syscall_table.S	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/syscall_table.S	2005-09-22 14:03:13.000000000 -0600
 @@ -35,7 +35,7 @@
  #undef ENTRY_UHOH
  #undef ENTRY_COMP
@@ -5343,7 +6974,7 @@
  #define ENTRY_SAME(_name_) .dword sys_##_name_
  #define ENTRY_DIFF(_name_) .dword sys_##_name_
  #define ENTRY_UHOH(_name_) .dword sys_##_name_
-@@ -368,5 +368,9 @@
+@@ -368,5 +368,11 @@
  	ENTRY_COMP(mbind)		/* 260 */
  	ENTRY_COMP(get_mempolicy)
  	ENTRY_COMP(set_mempolicy)
@@ -5351,11 +6982,13 @@
 +	ENTRY_SAME(add_key)
 +	ENTRY_SAME(request_key)		/* 265 */
 +	ENTRY_SAME(keyctl)
++	ENTRY_SAME(ioprio_set)
++	ENTRY_SAME(ioprio_get)
  	/* Nothing yet */
  
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/time.c linux-2.6.13/arch/parisc/kernel/time.c
---- linux-2.6.13.org/arch/parisc/kernel/time.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/time.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/time.c CVS2_6_14_RC2_PA6/arch/parisc/kernel/time.c
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/time.c	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/time.c	2005-09-14 06:54:53.000000000 -0600
 @@ -89,14 +89,6 @@
  		}
  	}
@@ -5396,9 +7029,9 @@
  /*** converted from ia64 ***/
  /*
   * Return the number of micro-seconds that elapsed since the last
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/traps.c linux-2.6.13/arch/parisc/kernel/traps.c
---- linux-2.6.13.org/arch/parisc/kernel/traps.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/traps.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/traps.c CVS2_6_14_RC2_PA6/arch/parisc/kernel/traps.c
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/traps.c	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/traps.c	2005-07-23 10:31:43.000000000 -0600
 @@ -74,7 +74,10 @@
  	char *level;
  	unsigned long cr30;
@@ -5450,9 +7083,9 @@
  
  	cr30 = mfctl(30);
  	cr31 = mfctl(31);
-diff -Nur linux-2.6.13.org/arch/parisc/kernel/unaligned.c linux-2.6.13/arch/parisc/kernel/unaligned.c
---- linux-2.6.13.org/arch/parisc/kernel/unaligned.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/kernel/unaligned.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/kernel/unaligned.c CVS2_6_14_RC2_PA6/arch/parisc/kernel/unaligned.c
+--- LINUS_2_6_14_RC2/arch/parisc/kernel/unaligned.c	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/kernel/unaligned.c	2005-09-14 15:00:31.000000000 -0600
 @@ -513,15 +513,18 @@
  	register int flop=0;	/* true if this is a flop */
  
@@ -5462,9 +7095,9 @@
 -		if (unaligned_count > 5 && jiffies - last_time > 5*HZ)
 -		{
 +	if (user_mode(regs)) {
-+                if (current->thread.flags & PARISC_UAC_SIGBUS) {
-+                        goto force_sigbus;
-+                }
++		if (current->thread.flags & PARISC_UAC_SIGBUS) {
++			goto force_sigbus;
++		}
 +
 +		if (unaligned_count > 5 && jiffies - last_time > 5*HZ) {
  			unaligned_count = 0;
@@ -5474,7 +7107,7 @@
 -		{
 +
 +		if (!(current->thread.flags & PARISC_UAC_NOPRINT) 
-+                    && ++unaligned_count < 5) {
++		    && ++unaligned_count < 5) {
  			char buf[256];
  			sprintf(buf, "%s(%d): unaligned access to 0x" RFMT " at ip=0x" RFMT "\n",
  				current->comm, current->pid, regs->ior, regs->iaoq[0]);
@@ -5486,9 +7119,30 @@
  		if (!unaligned_enabled)
  			goto force_sigbus;
  	}
-diff -Nur linux-2.6.13.org/arch/parisc/lib/memcpy.c linux-2.6.13/arch/parisc/lib/memcpy.c
---- linux-2.6.13.org/arch/parisc/lib/memcpy.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/arch/parisc/lib/memcpy.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/lib/fixup.S CVS2_6_14_RC2_PA6/arch/parisc/lib/fixup.S
+--- LINUS_2_6_14_RC2/arch/parisc/lib/fixup.S	2005-09-14 06:54:54.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/lib/fixup.S	2005-09-25 19:23:05.000000000 -0600
+@@ -35,7 +35,7 @@
+ 	extrd,u \t2,63,32,\t2
+ #endif
+ 	/* t2 = &__per_cpu_offset[smp_processor_id()]; */
+-	LDREG,s \t2(\t1),\t2 
++	LDREGX \t2(\t1),\t2 
+ 	addil LT%per_cpu__exception_data,%r27
+ 	LDREG RT%per_cpu__exception_data(%r1),\t1
+ 	/* t1 = &__get_cpu_var(exception_data) */
+@@ -53,6 +53,8 @@
+ 	.endm
+ #endif
+ 
++	.level LEVEL
++
+ 	.text
+ 	.section .fixup, "ax"
+ 
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/arch/parisc/lib/memcpy.c CVS2_6_14_RC2_PA6/arch/parisc/lib/memcpy.c
+--- LINUS_2_6_14_RC2/arch/parisc/lib/memcpy.c	2005-09-22 19:17:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/arch/parisc/lib/memcpy.c	2005-08-02 20:47:39.000000000 -0600
 @@ -339,6 +339,7 @@
  	pds = (double *)pcs;
  	pdd = (double *)pcd;
@@ -5505,21 +7159,9 @@
  
  	pws = (unsigned int *)pds;
  	pwd = (unsigned int *)pdd;
-diff -Nur linux-2.6.13.org/drivers/block/Kconfig linux-2.6.13/drivers/block/Kconfig
---- linux-2.6.13.org/drivers/block/Kconfig	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/block/Kconfig	2005-09-25 12:34:39.000000000 -0400
-@@ -6,7 +6,7 @@
- 
- config BLK_DEV_FD
- 	tristate "Normal floppy disk support"
--	depends on (!ARCH_S390 && !M68K && !IA64 && !UML && !ARM) || Q40 || (SUN3X && BROKEN) || ARCH_RPC || ARCH_EBSA285
-+	depends on (!ARCH_S390 && !M68K && !IA64 && !UML && !ARM) || Q40 || (SUN3X && BROKEN) || ARCH_RPC || ARCH_EBSA285 || (PARISC && BROKEN)
- 	---help---
- 	  If you want to use the floppy disk drive(s) of your PC under Linux,
- 	  say Y. Information about this driver, especially important for IBM
-diff -Nur linux-2.6.13.org/drivers/ide/Kconfig linux-2.6.13/drivers/ide/Kconfig
---- linux-2.6.13.org/drivers/ide/Kconfig	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/ide/Kconfig	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/ide/Kconfig CVS2_6_14_RC2_PA6/drivers/ide/Kconfig
+--- LINUS_2_6_14_RC2/drivers/ide/Kconfig	2005-09-22 19:17:29.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/ide/Kconfig	2005-08-28 20:41:00.000000000 -0600
 @@ -616,7 +616,7 @@
  	tristate "NS87415 chipset support"
  	help
@@ -5529,21 +7171,27 @@
  
  	  Please read the comments at the top of <file:drivers/ide/pci/ns87415.c>.
  
-diff -Nur linux-2.6.13.org/drivers/ide/ide-lib.c linux-2.6.13/drivers/ide/ide-lib.c
---- linux-2.6.13.org/drivers/ide/ide-lib.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/ide/ide-lib.c	2005-09-25 12:34:39.000000000 -0400
-@@ -410,7 +410,7 @@
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/ide/ide-lib.c CVS2_6_14_RC2_PA6/drivers/ide/ide-lib.c
+--- LINUS_2_6_14_RC2/drivers/ide/ide-lib.c	2005-09-22 19:17:29.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/ide/ide-lib.c	2005-10-16 17:22:26.000000000 -0600
+@@ -410,10 +410,10 @@
  {
  	u64 addr = BLK_BOUNCE_HIGH;	/* dma64_addr_t */
  
 -	if (on && drive->media == ide_disk) {
-+	if (on) {
- 		if (!PCI_DMA_BUS_IS_PHYS)
- 			addr = BLK_BOUNCE_ANY;
- 		else if (HWIF(drive)->pci_dev)
-diff -Nur linux-2.6.13.org/drivers/input/keyboard/hil_kbd.c linux-2.6.13/drivers/input/keyboard/hil_kbd.c
---- linux-2.6.13.org/drivers/input/keyboard/hil_kbd.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/input/keyboard/hil_kbd.c	2005-09-25 12:34:39.000000000 -0400
+-		if (!PCI_DMA_BUS_IS_PHYS)
+-			addr = BLK_BOUNCE_ANY;
+-		else if (HWIF(drive)->pci_dev)
++	if (!PCI_DMA_BUS_IS_PHYS) {
++		addr = BLK_BOUNCE_ANY;
++	} else if (on && drive->media == ide_disk) {
++		if (HWIF(drive)->pci_dev)
+ 			addr = HWIF(drive)->pci_dev->dma_mask;
+ 	}
+ 
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/input/keyboard/hil_kbd.c CVS2_6_14_RC2_PA6/drivers/input/keyboard/hil_kbd.c
+--- LINUS_2_6_14_RC2/drivers/input/keyboard/hil_kbd.c	2005-09-22 19:17:30.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/input/keyboard/hil_kbd.c	2005-03-25 22:00:08.000000000 -0700
 @@ -204,7 +204,7 @@
  	hil_packet packet;
  	int idx;
@@ -5621,9 +7269,9 @@
  	.connect 	= hil_kbd_connect,
  	.disconnect 	= hil_kbd_disconnect,
  	.interrupt 	= hil_kbd_interrupt
-diff -Nur linux-2.6.13.org/drivers/input/keyboard/hilkbd.c linux-2.6.13/drivers/input/keyboard/hilkbd.c
---- linux-2.6.13.org/drivers/input/keyboard/hilkbd.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/input/keyboard/hilkbd.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/input/keyboard/hilkbd.c CVS2_6_14_RC2_PA6/drivers/input/keyboard/hilkbd.c
+--- LINUS_2_6_14_RC2/drivers/input/keyboard/hilkbd.c	2005-09-22 19:17:30.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/input/keyboard/hilkbd.c	2005-09-14 07:17:49.000000000 -0600
 @@ -22,7 +22,7 @@
  #include <linux/errno.h>
  #include <linux/input.h>
@@ -5647,9 +7295,18 @@
  	hil_irq  = dev->irq;
  	hil_dev.dev_id = dev;
  	
-diff -Nur linux-2.6.13.org/drivers/input/mouse/hil_ptr.c linux-2.6.13/drivers/input/mouse/hil_ptr.c
---- linux-2.6.13.org/drivers/input/mouse/hil_ptr.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/input/mouse/hil_ptr.c	2005-09-25 12:34:39.000000000 -0400
+@@ -299,7 +299,7 @@
+ MODULE_DEVICE_TABLE(parisc, hil_tbl);
+ 
+ static struct parisc_driver hil_driver = {
+-	.name =		"HIL",
++	.name =		"hil",
+ 	.id_table =	hil_tbl,
+ 	.probe =	hil_init_chip,
+ };
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/input/mouse/hil_ptr.c CVS2_6_14_RC2_PA6/drivers/input/mouse/hil_ptr.c
+--- LINUS_2_6_14_RC2/drivers/input/mouse/hil_ptr.c	2005-09-22 19:17:30.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/input/mouse/hil_ptr.c	2005-03-25 22:00:10.000000000 -0700
 @@ -196,7 +196,7 @@
  	hil_packet packet;
  	int idx;
@@ -5733,9 +7390,9 @@
  };
  
  static int __init hil_ptr_init(void)
-diff -Nur linux-2.6.13.org/drivers/input/serio/gscps2.c linux-2.6.13/drivers/input/serio/gscps2.c
---- linux-2.6.13.org/drivers/input/serio/gscps2.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/input/serio/gscps2.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/input/serio/gscps2.c CVS2_6_14_RC2_PA6/drivers/input/serio/gscps2.c
+--- LINUS_2_6_14_RC2/drivers/input/serio/gscps2.c	2005-09-22 19:17:31.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/input/serio/gscps2.c	2005-09-14 07:17:52.000000000 -0600
 @@ -211,9 +211,6 @@
  	writeb(0xff, addr+GSC_RESET);
  	gscps2_flush(ps2port);
@@ -5793,9 +7450,18 @@
  
  fail_nomem:
  	kfree(ps2port);
-diff -Nur linux-2.6.13.org/drivers/input/serio/hil_mlc.c linux-2.6.13/drivers/input/serio/hil_mlc.c
---- linux-2.6.13.org/drivers/input/serio/hil_mlc.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/input/serio/hil_mlc.c	2005-09-25 12:34:39.000000000 -0400
+@@ -444,7 +443,7 @@
+ };
+ 
+ static struct parisc_driver parisc_ps2_driver = {
+-	.name		= "GSC PS2",
++	.name		= "gsc_ps2",
+ 	.id_table	= gscps2_device_tbl,
+ 	.probe		= gscps2_probe,
+ 	.remove		= gscps2_remove,
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/input/serio/hil_mlc.c CVS2_6_14_RC2_PA6/drivers/input/serio/hil_mlc.c
+--- LINUS_2_6_14_RC2/drivers/input/serio/hil_mlc.c	2005-09-22 19:17:31.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/input/serio/hil_mlc.c	2005-04-04 14:46:50.000000000 -0600
 @@ -801,7 +801,8 @@
  	struct hil_mlc_serio_map *map;
  	struct hil_mlc *mlc;
@@ -5835,9 +7501,18 @@
  		mlc_serio->write		= hil_mlc_serio_write;
  		mlc_serio->open			= hil_mlc_serio_open;
  		mlc_serio->close		= hil_mlc_serio_close;
-diff -Nur linux-2.6.13.org/drivers/input/serio/hp_sdc.c linux-2.6.13/drivers/input/serio/hp_sdc.c
---- linux-2.6.13.org/drivers/input/serio/hp_sdc.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/input/serio/hp_sdc.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/input/serio/hp_sdc.c CVS2_6_14_RC2_PA6/drivers/input/serio/hp_sdc.c
+--- LINUS_2_6_14_RC2/drivers/input/serio/hp_sdc.c	2005-09-22 19:17:31.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/input/serio/hp_sdc.c	2005-09-14 07:17:52.000000000 -0600
+@@ -764,7 +764,7 @@
+ static int __init hp_sdc_init_hppa(struct parisc_device *d);
+ 
+ static struct parisc_driver hp_sdc_driver = {
+-	.name =		"HP SDC",
++	.name =		"hp_sdc",
+ 	.id_table =	hp_sdc_tbl,
+ 	.probe =	hp_sdc_init_hppa,
+ };
 @@ -875,9 +875,9 @@
  	hp_sdc.dev		= d;
  	hp_sdc.irq		= d->irq;
@@ -5851,9 +7526,9 @@
  
  	return hp_sdc_init();
  }
-diff -Nur linux-2.6.13.org/drivers/isdn/hisax/Kconfig linux-2.6.13/drivers/isdn/hisax/Kconfig
---- linux-2.6.13.org/drivers/isdn/hisax/Kconfig	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/isdn/hisax/Kconfig	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/isdn/hisax/Kconfig CVS2_6_14_RC2_PA6/drivers/isdn/hisax/Kconfig
+--- LINUS_2_6_14_RC2/drivers/isdn/hisax/Kconfig	2005-09-22 19:17:32.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/isdn/hisax/Kconfig	2005-08-28 20:41:03.000000000 -0600
 @@ -110,7 +110,7 @@
  
  config HISAX_TELESPCI
@@ -5907,9 +7582,9 @@
  	help
  	  This enables HiSax support for the AMD7930 chips on some SPARCs.
  	  This code is not finished yet.
-diff -Nur linux-2.6.13.org/drivers/isdn/pcbit/Kconfig linux-2.6.13/drivers/isdn/pcbit/Kconfig
---- linux-2.6.13.org/drivers/isdn/pcbit/Kconfig	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/isdn/pcbit/Kconfig	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/isdn/pcbit/Kconfig CVS2_6_14_RC2_PA6/drivers/isdn/pcbit/Kconfig
+--- LINUS_2_6_14_RC2/drivers/isdn/pcbit/Kconfig	2005-09-22 19:17:33.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/isdn/pcbit/Kconfig	2005-03-07 08:07:30.000000000 -0700
 @@ -3,7 +3,7 @@
  #
  config ISDN_DRV_PCBIT
@@ -5919,9 +7594,9 @@
  	help
  	  This enables support for the PCBIT ISDN-card.  This card is
  	  manufactured in Portugal by Octal.  For running this card,
-diff -Nur linux-2.6.13.org/drivers/net/lasi_82596.c linux-2.6.13/drivers/net/lasi_82596.c
---- linux-2.6.13.org/drivers/net/lasi_82596.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/net/lasi_82596.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/net/lasi_82596.c CVS2_6_14_RC2_PA6/drivers/net/lasi_82596.c
+--- LINUS_2_6_14_RC2/drivers/net/lasi_82596.c	2005-09-22 19:17:39.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/net/lasi_82596.c	2005-09-10 12:21:47.000000000 -0600
 @@ -415,6 +415,10 @@
  static int ticks_limit = 100;
  static int max_cmd_backlog = TX_RING_SIZE-1;
@@ -6004,9 +7679,9 @@
  	.id_table	= lan_tbl,
  	.probe		= lan_init_chip,
  };
-diff -Nur linux-2.6.13.org/drivers/net/tulip/media.c linux-2.6.13/drivers/net/tulip/media.c
---- linux-2.6.13.org/drivers/net/tulip/media.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/net/tulip/media.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/net/tulip/media.c CVS2_6_14_RC2_PA6/drivers/net/tulip/media.c
+--- LINUS_2_6_14_RC2/drivers/net/tulip/media.c	2005-09-22 19:17:41.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/net/tulip/media.c	2005-09-14 06:56:25.000000000 -0600
 @@ -44,8 +44,10 @@
  
  /* MII transceiver control section.
@@ -6020,7 +7695,7 @@
  
  int tulip_mdio_read(struct net_device *dev, int phy_id, int location)
  {
-@@ -297,24 +299,56 @@
+@@ -261,24 +263,56 @@
  				u16 *reset_sequence = &((u16*)(p+3))[init_length];
  				int reset_length = p[2 + init_length*2];
  				misc_info = reset_sequence + reset_length;
@@ -6078,10 +7753,10 @@
  			tmp_info = get_u16(&misc_info[1]);
  			if (tmp_info)
  				tp->advertising[phy_num] = tmp_info | 1;
-diff -Nur linux-2.6.13.org/drivers/net/tulip/tulip.h linux-2.6.13/drivers/net/tulip/tulip.h
---- linux-2.6.13.org/drivers/net/tulip/tulip.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/net/tulip/tulip.h	2005-09-25 12:34:39.000000000 -0400
-@@ -475,8 +475,11 @@
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/net/tulip/tulip.h CVS2_6_14_RC2_PA6/drivers/net/tulip/tulip.h
+--- LINUS_2_6_14_RC2/drivers/net/tulip/tulip.h	2005-09-22 19:17:41.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/net/tulip/tulip.h	2005-09-14 06:56:25.000000000 -0600
+@@ -474,8 +474,11 @@
  			udelay(10);
  
  		if (!i)
@@ -6095,9 +7770,9 @@
  	}
  }
  
-diff -Nur linux-2.6.13.org/drivers/net/tulip/tulip_core.c linux-2.6.13/drivers/net/tulip/tulip_core.c
---- linux-2.6.13.org/drivers/net/tulip/tulip_core.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/net/tulip/tulip_core.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/net/tulip/tulip_core.c CVS2_6_14_RC2_PA6/drivers/net/tulip/tulip_core.c
+--- LINUS_2_6_14_RC2/drivers/net/tulip/tulip_core.c	2005-09-22 19:17:41.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/net/tulip/tulip_core.c	2005-09-14 06:56:25.000000000 -0600
 @@ -22,7 +22,7 @@
  #else
  #define DRV_VERSION	"1.1.13"
@@ -6116,9 +7791,9 @@
  	HAS_MII | HAS_MEDIA_TABLE | ALWAYS_CHECK_MII | HAS_ACPI | HAS_NWAY
  	| HAS_INTR_MITIGATION | HAS_PCI_MWI, t21142_timer },
  
-diff -Nur linux-2.6.13.org/drivers/parisc/asp.c linux-2.6.13/drivers/parisc/asp.c
---- linux-2.6.13.org/drivers/parisc/asp.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/parisc/asp.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/parisc/asp.c CVS2_6_14_RC2_PA6/drivers/parisc/asp.c
+--- LINUS_2_6_14_RC2/drivers/parisc/asp.c	2005-09-22 19:17:43.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/parisc/asp.c	2005-09-10 12:19:32.000000000 -0600
 @@ -77,12 +77,12 @@
  	struct gsc_irq gsc_irq;
  	int ret;
@@ -6143,9 +7818,9 @@
  	.id_table =	asp_tbl,
  	.probe =	asp_init_chip,
  };
-diff -Nur linux-2.6.13.org/drivers/parisc/ccio-dma.c linux-2.6.13/drivers/parisc/ccio-dma.c
---- linux-2.6.13.org/drivers/parisc/ccio-dma.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/parisc/ccio-dma.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/parisc/ccio-dma.c CVS2_6_14_RC2_PA6/drivers/parisc/ccio-dma.c
+--- LINUS_2_6_14_RC2/drivers/parisc/ccio-dma.c	2005-09-22 19:17:43.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/parisc/ccio-dma.c	2005-10-14 00:02:08.000000000 -0600
 @@ -100,9 +100,9 @@
  #define DBG_RUN_SG(x...)
  #endif
@@ -6217,6 +7892,24 @@
  	u8  *res_map;	                /* resource map, bit == pdir entry */
  	u64 *pdir_base;	                /* physical base address */
  	u32 pdir_size; 			/* bytes, function of IOV Space size */
+@@ -595,7 +595,7 @@
+ 	** Grab virtual index [0:11]
+ 	** Deposit virt_idx bits into I/O PDIR word
+ 	*/
+-	asm volatile ("lci 0(%%sr1, %1), %0" : "=r" (ci) : "r" (vba));
++	asm volatile ("lci %%r0(%%sr1, %1), %0" : "=r" (ci) : "r" (vba));
+ 	asm volatile ("extru %1,19,12,%0" : "+r" (ci) : "r" (ci));
+ 	asm volatile ("depw  %1,15,12,%0" : "+r" (pa) : "r" (ci));
+ 
+@@ -613,7 +613,7 @@
+ 	** the real mode coherence index generation of U2, the PDIR entry
+ 	** must be flushed to memory to retain coherence."
+ 	*/
+-	asm volatile("fdc 0(%0)" : : "r" (pdir_ptr));
++	asm volatile("fdc %%r0(%0)" : : "r" (pdir_ptr));
+ 	asm volatile("sync");
+ }
+ 
 @@ -636,7 +636,7 @@
  	byte_cnt += chain_size;
  
@@ -6226,6 +7919,15 @@
  		iovp += chain_size;
  		byte_cnt -= chain_size;
  	}
+@@ -684,7 +684,7 @@
+ 		** Hopefully someone figures out how to patch (NOP) the
+ 		** FDC/SYNC out at boot time.
+ 		*/
+-		asm volatile("fdc 0(%0)" : : "r" (pdir_ptr[7]));
++		asm volatile("fdc %%r0(%0)" : : "r" (pdir_ptr[7]));
+ 
+ 		iovp     += IOVP_SIZE;
+ 		byte_cnt -= IOVP_SIZE;
 @@ -1251,7 +1251,7 @@
  static int ccio_probe(struct parisc_device *dev);
  
@@ -6428,9 +8130,9 @@
  	ccio_ioc_init(ioc);
  	ccio_init_resources(ioc);
  	hppa_dma_ops = &ccio_ops;
-diff -Nur linux-2.6.13.org/drivers/parisc/ccio-rm-dma.c linux-2.6.13/drivers/parisc/ccio-rm-dma.c
---- linux-2.6.13.org/drivers/parisc/ccio-rm-dma.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/parisc/ccio-rm-dma.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/parisc/ccio-rm-dma.c CVS2_6_14_RC2_PA6/drivers/parisc/ccio-rm-dma.c
+--- LINUS_2_6_14_RC2/drivers/parisc/ccio-rm-dma.c	2005-09-22 19:17:43.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/parisc/ccio-rm-dma.c	2005-09-10 12:19:32.000000000 -0600
 @@ -167,7 +167,7 @@
  {
  	printk(KERN_INFO "%s found %s at 0x%lx\n", MODULE_NAME,
@@ -6440,9 +8142,9 @@
  
  /*
  ** FIXME - should check U2 registers to verify it's really running
-diff -Nur linux-2.6.13.org/drivers/parisc/dino.c linux-2.6.13/drivers/parisc/dino.c
---- linux-2.6.13.org/drivers/parisc/dino.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/parisc/dino.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/parisc/dino.c CVS2_6_14_RC2_PA6/drivers/parisc/dino.c
+--- LINUS_2_6_14_RC2/drivers/parisc/dino.c	2005-09-22 19:17:43.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/parisc/dino.c	2005-09-10 21:55:28.000000000 -0600
 @@ -178,6 +178,8 @@
  	void __iomem *base_addr = d->hba.base_addr;
  	unsigned long flags;
@@ -6574,9 +8276,9 @@
  };
  
  /*
-diff -Nur linux-2.6.13.org/drivers/parisc/eisa.c linux-2.6.13/drivers/parisc/eisa.c
---- linux-2.6.13.org/drivers/parisc/eisa.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/parisc/eisa.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/parisc/eisa.c CVS2_6_14_RC2_PA6/drivers/parisc/eisa.c
+--- LINUS_2_6_14_RC2/drivers/parisc/eisa.c	2005-09-22 19:17:43.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/parisc/eisa.c	2005-09-10 12:19:32.000000000 -0600
 @@ -315,7 +315,7 @@
  	char *name = is_mongoose(dev) ? "Mongoose" : "Wax";
  
@@ -6595,9 +8297,9 @@
  	.id_table =	eisa_tbl,
  	.probe =	eisa_probe,
  };
-diff -Nur linux-2.6.13.org/drivers/parisc/gsc.c linux-2.6.13/drivers/parisc/gsc.c
---- linux-2.6.13.org/drivers/parisc/gsc.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/parisc/gsc.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/parisc/gsc.c CVS2_6_14_RC2_PA6/drivers/parisc/gsc.c
+--- LINUS_2_6_14_RC2/drivers/parisc/gsc.c	2005-09-22 19:17:43.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/parisc/gsc.c	2005-07-28 12:16:52.000000000 -0600
 @@ -183,12 +183,20 @@
  	*irqp = irq;
  }
@@ -6628,9 +8330,9 @@
  }
  
  int gsc_common_setup(struct parisc_device *parent, struct gsc_asic *gsc_asic)
-diff -Nur linux-2.6.13.org/drivers/parisc/hppb.c linux-2.6.13/drivers/parisc/hppb.c
---- linux-2.6.13.org/drivers/parisc/hppb.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/parisc/hppb.c	2005-09-25 12:34:39.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/parisc/hppb.c CVS2_6_14_RC2_PA6/drivers/parisc/hppb.c
+--- LINUS_2_6_14_RC2/drivers/parisc/hppb.c	2005-09-22 19:17:43.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/parisc/hppb.c	2005-09-10 12:25:41.000000000 -0600
 @@ -68,14 +68,14 @@
  		memset(card->next, '\0', sizeof(struct hppb_card));
  		card = card->next;
@@ -6659,10 +8361,22 @@
          .id_table =     hppb_tbl,
  	.probe =        hppb_probe,
  };
-diff -Nur linux-2.6.13.org/drivers/parisc/lasi.c linux-2.6.13/drivers/parisc/lasi.c
---- linux-2.6.13.org/drivers/parisc/lasi.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/parisc/lasi.c	2005-09-25 12:34:39.000000000 -0400
-@@ -176,7 +176,7 @@
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/parisc/iosapic.c CVS2_6_14_RC2_PA6/drivers/parisc/iosapic.c
+--- LINUS_2_6_14_RC2/drivers/parisc/iosapic.c	2005-09-14 06:56:31.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/parisc/iosapic.c	2005-09-24 19:52:20.000000000 -0600
+@@ -244,7 +244,7 @@
+ 	 * 4-byte alignment on 32-bit kernels
+ 	 */
+ 	a = (unsigned long)kmalloc(sizeof(struct irt_entry) * num_entries + 8, GFP_KERNEL);
+-	a = (a + 7) & ~7;
++	a = (a + 7UL) & ~7UL;
+ 	return (struct irt_entry *)a;
+ }
+ 
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/parisc/lasi.c CVS2_6_14_RC2_PA6/drivers/parisc/lasi.c
+--- LINUS_2_6_14_RC2/drivers/parisc/lasi.c	2005-09-22 19:17:43.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/parisc/lasi.c	2005-09-14 06:56:31.000000000 -0600
+@@ -175,7 +175,7 @@
  		return -ENOMEM;
  
  	lasi->name = "Lasi";
@@ -6671,7 +8385,7 @@
  
  	/* Check the 4-bit (yes, only 4) version register */
  	lasi->version = gsc_readl(lasi->hpa + LASI_VER) & 0xf;
-@@ -234,7 +234,7 @@
+@@ -233,7 +233,7 @@
  };
  
  struct parisc_driver lasi_driver = {
@@ -6680,9 +8394,9 @@
  	.id_table =	lasi_tbl,
  	.probe =	lasi_init_chip,
  };
-diff -Nur linux-2.6.13.org/drivers/parisc/lba_pci.c linux-2.6.13/drivers/parisc/lba_pci.c
---- linux-2.6.13.org/drivers/parisc/lba_pci.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/parisc/lba_pci.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/parisc/lba_pci.c CVS2_6_14_RC2_PA6/drivers/parisc/lba_pci.c
+--- LINUS_2_6_14_RC2/drivers/parisc/lba_pci.c	2005-09-22 19:17:43.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/parisc/lba_pci.c	2005-09-10 12:19:32.000000000 -0600
 @@ -1288,7 +1288,7 @@
  		** Adjust "window" for this rope.
  		*/
@@ -6740,9 +8454,9 @@
  
  	imask <<= 2;	/* adjust for hints - 2 more bits */
  
-diff -Nur linux-2.6.13.org/drivers/parisc/led.c linux-2.6.13/drivers/parisc/led.c
---- linux-2.6.13.org/drivers/parisc/led.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/parisc/led.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/parisc/led.c CVS2_6_14_RC2_PA6/drivers/parisc/led.c
+--- LINUS_2_6_14_RC2/drivers/parisc/led.c	2005-09-22 19:17:43.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/parisc/led.c	2005-04-05 13:01:50.000000000 -0600
 @@ -18,6 +18,9 @@
   * Changes:
   *      - Audit copy_from_user in led_proc_write.
@@ -6758,9 +8472,9 @@
  #include <linux/ctype.h>
  #include <linux/blkdev.h>
 +#include <linux/workqueue.h>
+ #include <linux/rcupdate.h>
  #include <asm/io.h>
  #include <asm/processor.h>
- #include <asm/hardware.h>
 @@ -46,25 +50,30 @@
  #include <asm/uaccess.h>
  
@@ -7123,9 +8837,9 @@
  
  	return lcd_info.lcd_width;
  }
-diff -Nur linux-2.6.13.org/drivers/parisc/pdc_stable.c linux-2.6.13/drivers/parisc/pdc_stable.c
---- linux-2.6.13.org/drivers/parisc/pdc_stable.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/parisc/pdc_stable.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/parisc/pdc_stable.c CVS2_6_14_RC2_PA6/drivers/parisc/pdc_stable.c
+--- LINUS_2_6_14_RC2/drivers/parisc/pdc_stable.c	2005-09-22 19:17:43.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/parisc/pdc_stable.c	2005-07-31 23:19:54.000000000 -0600
 @@ -536,7 +536,7 @@
  
  	out += sprintf(out, "Memory tested: ");
@@ -7135,9 +8849,9 @@
  	else
  		out += sprintf(out, "All");
  	out += sprintf(out, "\n");
-diff -Nur linux-2.6.13.org/drivers/parisc/sba_iommu.c linux-2.6.13/drivers/parisc/sba_iommu.c
---- linux-2.6.13.org/drivers/parisc/sba_iommu.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/parisc/sba_iommu.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/parisc/sba_iommu.c CVS2_6_14_RC2_PA6/drivers/parisc/sba_iommu.c
+--- LINUS_2_6_14_RC2/drivers/parisc/sba_iommu.c	2005-09-22 19:17:43.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/parisc/sba_iommu.c	2005-10-14 00:02:08.000000000 -0600
 @@ -91,8 +91,8 @@
  #define DBG_RES(x...)
  #endif
@@ -7203,7 +8917,101 @@
  #define SBA_DMA_HINT(ioc, val) ((val) << (ioc)->hint_shift_pdir)
  #endif
  
-@@ -819,18 +819,29 @@
+@@ -743,9 +743,8 @@
+ 	 * (bit #61, big endian), we have to flush and sync every time
+ 	 * IO-PDIR is changed in Ike/Astro.
+ 	 */
+-	if (ioc_needs_fdc) {
+-		asm volatile("fdc 0(%%sr1,%0)\n\tsync" : : "r" (pdir_ptr));
+-	}
++	if (ioc_needs_fdc)
++		asm volatile("fdc %%r0(%0)" : : "r" (pdir_ptr));
+ }
+ 
+ 
+@@ -769,42 +768,57 @@
+ sba_mark_invalid(struct ioc *ioc, dma_addr_t iova, size_t byte_cnt)
+ {
+ 	u32 iovp = (u32) SBA_IOVP(ioc,iova);
+-
+-	/* Even though this is a big-endian machine, the entries
+-	** in the iopdir are little endian. That's why we clear the byte
+-	** at +7 instead of at +0.
+-	*/
+-	int off = PDIR_INDEX(iovp)*sizeof(u64)+7;
++	u64 *pdir_ptr = &ioc->pdir_base[PDIR_INDEX(iovp)];
+ 
+ #ifdef ASSERT_PDIR_SANITY
+-	/* Assert first pdir entry is set */
+-	if (0x80 != (((u8 *) ioc->pdir_base)[off])) {
++	/* Assert first pdir entry is set.
++	**
++	** Even though this is a big-endian machine, the entries
++	** in the iopdir are little endian. That's why we look at
++	** the byte at +7 instead of at +0.
++	*/
++	if (0x80 != (((u8 *) pdir_ptr)[7])) {
+ 		sba_dump_pdir_entry(ioc,"sba_mark_invalid()", PDIR_INDEX(iovp));
+ 	}
+ #endif
+ 
+-	if (byte_cnt <= IOVP_SIZE)
++	if (byte_cnt > IOVP_SIZE)
+ 	{
+-		iovp |= IOVP_SHIFT;     /* set "size" field for PCOM */
++#if 0
++		unsigned long entries_per_cacheline = ioc_needs_fdc ?
++				L1_CACHE_ALIGN(((unsigned long) pdir_ptr))
++					- (unsigned long) pdir_ptr;
++				: 262144;
++#endif
+ 
+-		/*
+-		** clear I/O PDIR entry "valid" bit
+-		** Do NOT clear the rest - save it for debugging.
+-		** We should only clear bits that have previously
+-		** been enabled.
+-		*/
+-		((u8 *)(ioc->pdir_base))[off] = 0;
+-	} else {
+-		u32 t = get_order(byte_cnt) + PAGE_SHIFT;
++		/* set "size" field for PCOM */
++		iovp |= get_order(byte_cnt) + PAGE_SHIFT;
+ 
+-		iovp |= t;
+ 		do {
+ 			/* clear I/O Pdir entry "valid" bit first */
+-			((u8 *)(ioc->pdir_base))[off] = 0;
+-			off += sizeof(u64);
++			((u8 *) pdir_ptr)[7] = 0;
++			if (ioc_needs_fdc) {
++				asm volatile("fdc %%r0(%0)" : : "r" (pdir_ptr));
++#if 0
++				entries_per_cacheline = L1_CACHE_SHIFT - 3;
++#endif
++			}
++			pdir_ptr++;
+ 			byte_cnt -= IOVP_SIZE;
+-		} while (byte_cnt > 0);
+-	}
++		} while (byte_cnt > IOVP_SIZE);
++	} else
++		iovp |= IOVP_SHIFT;     /* set "size" field for PCOM */
++
++	/*
++	** clear I/O PDIR entry "valid" bit.
++	** We have to R/M/W the cacheline regardless how much of the
++	** pdir entry that we clobber.
++	** The rest of the entry would be useful for debugging if we
++	** could dump core on HPMC.
++	*/
++	((u8 *) pdir_ptr)[7] = 0;
++	if (ioc_needs_fdc)
++		asm volatile("fdc %%r0(%0)" : : "r" (pdir_ptr));
+ 
+ 	WRITE_REG( SBA_IOVA(ioc, iovp, 0, 0), ioc->ioc_hpa+IOC_PCOM);
+ }
+@@ -819,18 +833,29 @@
  static int sba_dma_supported( struct device *dev, u64 mask)
  {
  	struct ioc *ioc;
@@ -7237,7 +9045,57 @@
  }
  
  
-@@ -1234,8 +1245,10 @@
+@@ -898,11 +923,17 @@
+ 		size -= IOVP_SIZE;
+ 		pdir_start++;
+ 	}
+-	/* form complete address */
++
++	/* force FDC ops in io_pdir_entry() to be visible to IOMMU */
++	if (ioc_needs_fdc)
++		asm volatile("sync" : : );
++
+ #ifdef ASSERT_PDIR_SANITY
+ 	sba_check_pdir(ioc,"Check after sba_map_single()");
+ #endif
+ 	spin_unlock_irqrestore(&ioc->res_lock, flags);
++
++	/* form complete address */
+ 	return SBA_IOVA(ioc, iovp, offset, DEFAULT_DMA_HINT_REG);
+ }
+ 
+@@ -958,12 +989,19 @@
+ 			d--;
+ 		}
+ 		ioc->saved_cnt = 0;
++
+ 		READ_REG(ioc->ioc_hpa+IOC_PCOM);	/* flush purges */
+ 	}
+ #else /* DELAYED_RESOURCE_CNT == 0 */
+ 	sba_free_range(ioc, iova, size);
++
++	/* If fdc's were issued, force fdc's to be visible now */
++	if (ioc_needs_fdc)
++		asm volatile("sync" : : );
++
+ 	READ_REG(ioc->ioc_hpa+IOC_PCOM);	/* flush purges */
+ #endif /* DELAYED_RESOURCE_CNT == 0 */
++
+ 	spin_unlock_irqrestore(&ioc->res_lock, flags);
+ 
+ 	/* XXX REVISIT for 2.5 Linux - need syncdma for zero-copy support.
+@@ -1106,6 +1144,10 @@
+ 	*/
+ 	filled = iommu_fill_pdir(ioc, sglist, nents, 0, sba_io_pdir_entry);
+ 
++	/* force FDC ops in io_pdir_entry() to be visible to IOMMU */
++	if (ioc_needs_fdc)
++		asm volatile("sync" : : );
++
+ #ifdef ASSERT_PDIR_SANITY
+ 	if (sba_check_pdir(ioc,"Check after sba_map_sg()"))
+ 	{
+@@ -1234,8 +1276,10 @@
  	unsigned long pdir_order = get_order(pdir_size);
  
  	pdir_base = __get_free_pages(GFP_KERNEL, pdir_order);
@@ -7250,7 +9108,7 @@
  
  	/* If this is not PA8700 (PCX-W2)
  	**	OR newer than ver 2.2
-@@ -1322,19 +1335,29 @@
+@@ -1322,19 +1366,29 @@
  	return (void *) pdir_base;
  }
  
@@ -7284,7 +9142,7 @@
  }
  
  static void
-@@ -1343,7 +1366,7 @@
+@@ -1343,7 +1397,7 @@
  	u32 iova_space_mask;
  	u32 iova_space_size;
  	int iov_order, tcnfg;
@@ -7293,7 +9151,7 @@
  	int agp_found = 0;
  #endif
  	/*
-@@ -1380,7 +1403,7 @@
+@@ -1380,7 +1434,7 @@
  	DBG_INIT("%s() pdir %p size %x\n",
  			__FUNCTION__, ioc->pdir_base, ioc->pdir_size);
  
@@ -7302,7 +9160,7 @@
  	ioc->hint_shift_pdir = iov_order + PAGE_SHIFT;
  	ioc->hint_mask_pdir = ~(0x3 << (iov_order + PAGE_SHIFT));
  
-@@ -1404,7 +1427,7 @@
+@@ -1404,7 +1458,7 @@
  
  	WRITE_REG(ioc->imask, ioc->ioc_hpa + IOC_IMASK);
  
@@ -7311,7 +9169,7 @@
  	/*
  	** Setting the upper bits makes checking for bypass addresses
  	** a little faster later on.
-@@ -1437,7 +1460,7 @@
+@@ -1437,7 +1491,7 @@
  	*/
  	WRITE_REG(ioc->ibase | 31, ioc->ioc_hpa + IOC_PCOM);
  
@@ -7320,7 +9178,7 @@
  	/*
  	** If an AGP device is present, only use half of the IOV space
  	** for PCI DMA.  Unfortunately we can't know ahead of time
-@@ -1489,11 +1512,9 @@
+@@ -1489,11 +1543,9 @@
  	if (iova_space_size < (1 << (20 - PAGE_SHIFT))) {
  		iova_space_size = 1 << (20 - PAGE_SHIFT);
  	}
@@ -7332,7 +9190,7 @@
  
  	/*
  	** iova space must be log2() in size.
-@@ -1519,7 +1540,7 @@
+@@ -1519,7 +1571,7 @@
  	DBG_INIT("%s() pdir %p size %x\n",
  			__FUNCTION__, ioc->pdir_base, pdir_size);
  
@@ -7341,7 +9199,7 @@
  	/* FIXME : DMA HINTs not used */
  	ioc->hint_shift_pdir = iov_order + PAGE_SHIFT;
  	ioc->hint_mask_pdir = ~(0x3 << (iov_order + PAGE_SHIFT));
-@@ -1590,7 +1611,7 @@
+@@ -1590,7 +1642,7 @@
  
  static void __iomem *ioc_remap(struct sba_device *sba_dev, int offset)
  {
@@ -7350,7 +9208,7 @@
  }
  
  static void sba_hw_init(struct sba_device *sba_dev)
-@@ -1968,7 +1989,7 @@
+@@ -1968,7 +2020,7 @@
  	u32 func_class;
  	int i;
  	char *version;
@@ -7359,7 +9217,7 @@
  
  	sba_dump_ranges(sba_addr);
  
-@@ -2010,7 +2031,7 @@
+@@ -2010,7 +2062,7 @@
  	}
  
  	printk(KERN_INFO "%s found %s at 0x%lx\n",
@@ -7368,9 +9226,9 @@
  
  	sba_dev = kmalloc(sizeof(struct sba_device), GFP_KERNEL);
  	if (!sba_dev) {
-diff -Nur linux-2.6.13.org/drivers/parisc/superio.c linux-2.6.13/drivers/parisc/superio.c
---- linux-2.6.13.org/drivers/parisc/superio.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/parisc/superio.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/parisc/superio.c CVS2_6_14_RC2_PA6/drivers/parisc/superio.c
+--- LINUS_2_6_14_RC2/drivers/parisc/superio.c	2005-09-22 19:17:43.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/parisc/superio.c	2005-08-02 20:38:20.000000000 -0600
 @@ -11,6 +11,7 @@
   * 	(C) Copyright 2000 Alex deVries <alex at onefishtwo.ca>
   *      (C) Copyright 2001 John Marvin <jsm fc hp com>
@@ -7395,9 +9253,9 @@
  	retval = early_serial_setup(&serial[1]);
  
  	if (retval < 0)
-diff -Nur linux-2.6.13.org/drivers/parisc/wax.c linux-2.6.13/drivers/parisc/wax.c
---- linux-2.6.13.org/drivers/parisc/wax.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/parisc/wax.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/parisc/wax.c CVS2_6_14_RC2_PA6/drivers/parisc/wax.c
+--- LINUS_2_6_14_RC2/drivers/parisc/wax.c	2005-09-22 19:17:43.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/parisc/wax.c	2005-09-10 12:19:32.000000000 -0600
 @@ -81,7 +81,7 @@
  		return -ENOMEM;
  
@@ -7407,9 +9265,9 @@
  
  	wax->version = 0;   /* gsc_readb(wax->hpa+WAX_VER); */
  	printk(KERN_INFO "%s at 0x%lx found.\n", wax->name, wax->hpa);
-diff -Nur linux-2.6.13.org/drivers/parport/parport_gsc.c linux-2.6.13/drivers/parport/parport_gsc.c
---- linux-2.6.13.org/drivers/parport/parport_gsc.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/parport/parport_gsc.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/parport/parport_gsc.c CVS2_6_14_RC2_PA6/drivers/parport/parport_gsc.c
+--- LINUS_2_6_14_RC2/drivers/parport/parport_gsc.c	2005-09-22 19:17:43.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/parport/parport_gsc.c	2005-09-10 12:19:34.000000000 -0600
 @@ -359,11 +359,12 @@
  	unsigned long port;
  
@@ -7425,9 +9283,9 @@
  	
  	/* some older machines with ASP-chip don't support
  	 * the enhanced parport modes.
-diff -Nur linux-2.6.13.org/drivers/pcmcia/Kconfig linux-2.6.13/drivers/pcmcia/Kconfig
---- linux-2.6.13.org/drivers/pcmcia/Kconfig	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/pcmcia/Kconfig	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/pcmcia/Kconfig CVS2_6_14_RC2_PA6/drivers/pcmcia/Kconfig
+--- LINUS_2_6_14_RC2/drivers/pcmcia/Kconfig	2005-09-22 19:17:45.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/pcmcia/Kconfig	2005-09-14 06:56:33.000000000 -0600
 @@ -190,7 +190,11 @@
  
  config PCMCIA_PROBE
@@ -7441,9 +9299,9 @@
  
  config M32R_PCC
  	bool "M32R PCMCIA I/F"
-diff -Nur linux-2.6.13.org/drivers/pcmcia/rsrc_nonstatic.c linux-2.6.13/drivers/pcmcia/rsrc_nonstatic.c
---- linux-2.6.13.org/drivers/pcmcia/rsrc_nonstatic.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/pcmcia/rsrc_nonstatic.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/pcmcia/rsrc_nonstatic.c CVS2_6_14_RC2_PA6/drivers/pcmcia/rsrc_nonstatic.c
+--- LINUS_2_6_14_RC2/drivers/pcmcia/rsrc_nonstatic.c	2005-09-22 19:17:45.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/pcmcia/rsrc_nonstatic.c	2005-06-30 08:25:50.000000000 -0600
 @@ -43,7 +43,11 @@
  
  #define INT_MODULE_PARM(n, v) static int n = v; module_param(n, int, 0444)
@@ -7456,9 +9314,9 @@
  #ifdef CONFIG_PCMCIA_PROBE
  INT_MODULE_PARM(probe_io,	1);		/* IO port probe? */
  INT_MODULE_PARM(mem_limit,	0x10000);
-diff -Nur linux-2.6.13.org/drivers/scsi/53c700.c linux-2.6.13/drivers/scsi/53c700.c
---- linux-2.6.13.org/drivers/scsi/53c700.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/scsi/53c700.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/scsi/53c700.c CVS2_6_14_RC2_PA6/drivers/scsi/53c700.c
+--- LINUS_2_6_14_RC2/drivers/scsi/53c700.c	2005-09-22 19:17:49.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/scsi/53c700.c	2005-06-30 08:25:53.000000000 -0600
 @@ -301,6 +301,7 @@
  	__u8 *memory;
  	__u32 *script;
@@ -7483,9 +9341,9 @@
  	/* reset the chip */
  	NCR_700_chip_reset(host);
  
-diff -Nur linux-2.6.13.org/drivers/scsi/lasi700.c linux-2.6.13/drivers/scsi/lasi700.c
---- linux-2.6.13.org/drivers/scsi/lasi700.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/scsi/lasi700.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/scsi/lasi700.c CVS2_6_14_RC2_PA6/drivers/scsi/lasi700.c
+--- LINUS_2_6_14_RC2/drivers/scsi/lasi700.c	2005-09-22 19:17:49.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/scsi/lasi700.c	2005-09-10 12:19:41.000000000 -0600
 @@ -98,7 +98,7 @@
  static int __init
  lasi700_probe(struct parisc_device *dev)
@@ -7513,9 +9371,9 @@
  	.id_table =	lasi700_ids,
  	.probe =	lasi700_probe,
  	.remove =	__devexit_p(lasi700_driver_remove),
-diff -Nur linux-2.6.13.org/drivers/scsi/sym53c8xx_2/sym_fw.c linux-2.6.13/drivers/scsi/sym53c8xx_2/sym_fw.c
---- linux-2.6.13.org/drivers/scsi/sym53c8xx_2/sym_fw.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/scsi/sym53c8xx_2/sym_fw.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/scsi/sym53c8xx_2/sym_fw.c CVS2_6_14_RC2_PA6/drivers/scsi/sym53c8xx_2/sym_fw.c
+--- LINUS_2_6_14_RC2/drivers/scsi/sym53c8xx_2/sym_fw.c	2005-09-22 19:17:50.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/scsi/sym53c8xx_2/sym_fw.c	2005-09-27 08:18:02.000000000 -0600
 @@ -37,11 +37,7 @@
   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   */
@@ -7528,7 +9386,7 @@
  
  /*
   *  Macros used for all firmwares.
-@@ -60,11 +56,7 @@
+@@ -60,19 +56,12 @@
  #define	SYM_FWA_SCR		sym_fw1a_scr
  #define	SYM_FWB_SCR		sym_fw1b_scr
  #define	SYM_FWZ_SCR		sym_fw1z_scr
@@ -7540,7 +9398,15 @@
  static struct sym_fwa_ofs sym_fw1a_ofs = {
  	SYM_GEN_FW_A(struct SYM_FWA_SCR)
  };
-@@ -88,11 +80,7 @@
+ static struct sym_fwb_ofs sym_fw1b_ofs = {
+ 	SYM_GEN_FW_B(struct SYM_FWB_SCR)
+-#ifdef SYM_OPT_HANDLE_DIR_UNKNOWN
+-	SYM_GEN_B(struct SYM_FWB_SCR, data_io)
+-#endif
+ };
+ static struct sym_fwz_ofs sym_fw1z_ofs = {
+ 	SYM_GEN_FW_Z(struct SYM_FWZ_SCR)
+@@ -88,19 +77,12 @@
  #define	SYM_FWA_SCR		sym_fw2a_scr
  #define	SYM_FWB_SCR		sym_fw2b_scr
  #define	SYM_FWZ_SCR		sym_fw2z_scr
@@ -7552,11 +9418,238 @@
  static struct sym_fwa_ofs sym_fw2a_ofs = {
  	SYM_GEN_FW_A(struct SYM_FWA_SCR)
  };
-diff -Nur linux-2.6.13.org/drivers/scsi/sym53c8xx_2/sym_glue.c linux-2.6.13/drivers/scsi/sym53c8xx_2/sym_glue.c
---- linux-2.6.13.org/drivers/scsi/sym53c8xx_2/sym_glue.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/scsi/sym53c8xx_2/sym_glue.c	2005-09-25 12:34:40.000000000 -0400
-@@ -563,10 +563,7 @@
+ static struct sym_fwb_ofs sym_fw2b_ofs = {
+ 	SYM_GEN_FW_B(struct SYM_FWB_SCR)
+-#ifdef SYM_OPT_HANDLE_DIR_UNKNOWN
+-	SYM_GEN_B(struct SYM_FWB_SCR, data_io)
+-#endif
+ 	SYM_GEN_B(struct SYM_FWB_SCR, start64)
+ 	SYM_GEN_B(struct SYM_FWB_SCR, pm_handle)
+ };
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/scsi/sym53c8xx_2/sym_fw.h CVS2_6_14_RC2_PA6/drivers/scsi/sym53c8xx_2/sym_fw.h
+--- LINUS_2_6_14_RC2/drivers/scsi/sym53c8xx_2/sym_fw.h	2004-09-09 21:15:32.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/scsi/sym53c8xx_2/sym_fw.h	2005-09-27 08:18:02.000000000 -0600
+@@ -92,9 +92,6 @@
+ };
+ struct sym_fwb_ofs {
+ 	SYM_GEN_FW_B(u_short)
+-#ifdef SYM_OPT_HANDLE_DIR_UNKNOWN
+-	SYM_GEN_B(u_short, data_io)
+-#endif
+ 	SYM_GEN_B(u_short, start64)
+ 	SYM_GEN_B(u_short, pm_handle)
+ };
+@@ -111,9 +108,6 @@
+ };
+ struct sym_fwb_ba {
+ 	SYM_GEN_FW_B(u32)
+-#ifdef SYM_OPT_HANDLE_DIR_UNKNOWN
+-	SYM_GEN_B(u32, data_io)
+-#endif
+ 	SYM_GEN_B(u32, start64);
+ 	SYM_GEN_B(u32, pm_handle);
+ };
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/scsi/sym53c8xx_2/sym_fw1.h CVS2_6_14_RC2_PA6/drivers/scsi/sym53c8xx_2/sym_fw1.h
+--- LINUS_2_6_14_RC2/drivers/scsi/sym53c8xx_2/sym_fw1.h	2004-09-09 21:15:32.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/scsi/sym53c8xx_2/sym_fw1.h	2005-09-27 08:18:02.000000000 -0600
+@@ -197,12 +197,6 @@
+ 	u32 bad_status		[  7];
+ 	u32 wsr_ma_helper	[  4];
+ 
+-#ifdef SYM_OPT_HANDLE_DIR_UNKNOWN
+-	/* Unknown direction handling */
+-	u32 data_io		[  2];
+-	u32 data_io_com		[  8];
+-	u32 data_io_out		[  7];
+-#endif
+ 	/* Data area */
+ 	u32 zero		[  1];
+ 	u32 scratch		[  1];
+@@ -1747,48 +1741,6 @@
+ 	SCR_JUMP,
+ 		PADDR_A (dispatch),
+ 
+-#ifdef SYM_OPT_HANDLE_DIR_UNKNOWN
+-}/*-------------------------< DATA_IO >--------------------------*/,{
+-	/*
+-	 *  We jump here if the data direction was unknown at the 
+-	 *  time we had to queue the command to the scripts processor.
+-	 *  Pointers had been set as follow in this situation:
+-	 *    savep   -->   DATA_IO
+-	 *    lastp   -->   start pointer when DATA_IN
+-	 *    wlastp  -->   start pointer when DATA_OUT
+-	 *  This script sets savep and lastp according to the 
+-	 *  direction chosen by the target.
+-	 */
+-	SCR_JUMP ^ IFTRUE (WHEN (SCR_DATA_OUT)),
+-		PADDR_B (data_io_out),
+-}/*-------------------------< DATA_IO_COM >----------------------*/,{
+-	/*
+-	 *  Direction is DATA IN.
+-	 */
+-	SCR_COPY  (4),
+-		HADDR_1 (ccb_head.lastp),
+-		HADDR_1 (ccb_head.savep),
+-	/*
+-	 *  Jump to the SCRIPTS according to actual direction.
+-	 */
+-	SCR_COPY  (4),
+-		HADDR_1 (ccb_head.savep),
+-		RADDR_1 (temp),
+-	SCR_RETURN,
+-		0,
+-}/*-------------------------< DATA_IO_OUT >----------------------*/,{
+-	/*
+-	 *  Direction is DATA OUT.
+-	 */
+-	SCR_REG_REG (HF_REG, SCR_AND, (~HF_DATA_IN)),
+-		0,
+-	SCR_COPY  (4),
+-		HADDR_1 (ccb_head.wlastp),
+-		HADDR_1 (ccb_head.lastp),
+-	SCR_JUMP,
+-		PADDR_B(data_io_com),
+-#endif /* SYM_OPT_HANDLE_DIR_UNKNOWN */
+-
+ }/*-------------------------< ZERO >-----------------------------*/,{
+ 	SCR_DATA_ZERO,
+ }/*-------------------------< SCRATCH >--------------------------*/,{
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/scsi/sym53c8xx_2/sym_fw2.h CVS2_6_14_RC2_PA6/drivers/scsi/sym53c8xx_2/sym_fw2.h
+--- LINUS_2_6_14_RC2/drivers/scsi/sym53c8xx_2/sym_fw2.h	2004-09-09 21:15:32.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/scsi/sym53c8xx_2/sym_fw2.h	2005-09-27 08:18:02.000000000 -0600
+@@ -191,13 +191,6 @@
+ 	u32 pm_wsr_handle	[ 38];
+ 	u32 wsr_ma_helper	[  4];
+ 
+-#ifdef SYM_OPT_HANDLE_DIR_UNKNOWN
+-	/* Unknown direction handling */
+-	u32 data_io		[  2];
+-	u32 data_io_in		[  2];
+-	u32 data_io_com		[  6];
+-	u32 data_io_out		[  8];
+-#endif
+ 	/* Data area */
+ 	u32 zero		[  1];
+ 	u32 scratch		[  1];
+@@ -1838,51 +1831,6 @@
+ 	SCR_JUMP,
+ 		PADDR_A (dispatch),
+ 
+-#ifdef SYM_OPT_HANDLE_DIR_UNKNOWN
+-}/*-------------------------< DATA_IO >--------------------------*/,{
+-	/*
+-	 *  We jump here if the data direction was unknown at the 
+-	 *  time we had to queue the command to the scripts processor.
+-	 *  Pointers had been set as follow in this situation:
+-	 *    savep   -->   DATA_IO
+-	 *    lastp   -->   start pointer when DATA_IN
+-	 *    wlastp  -->   start pointer when DATA_OUT
+-	 *  This script sets savep and lastp according to the 
+-	 *  direction chosen by the target.
+-	 */
+-	SCR_JUMP ^ IFTRUE (WHEN (SCR_DATA_OUT)),
+-		PADDR_B (data_io_out),
+-}/*-------------------------< DATA_IO_IN >-----------------------*/,{
+-	/*
+-	 *  Direction is DATA IN.
+-	 */
+-	SCR_LOAD_REL  (scratcha, 4),
+-		offsetof (struct sym_ccb, phys.head.lastp),
+-}/*-------------------------< DATA_IO_COM >----------------------*/,{
+-	SCR_STORE_REL (scratcha, 4),
+-		offsetof (struct sym_ccb, phys.head.savep),
+-
+-	/*
+-	 *  Jump to the SCRIPTS according to actual direction.
+-	 */
+-	SCR_LOAD_REL  (temp, 4),
+-		offsetof (struct sym_ccb, phys.head.savep),
+-	SCR_RETURN,
+-		0,
+-}/*-------------------------< DATA_IO_OUT >----------------------*/,{
+-	/*
+-	 *  Direction is DATA OUT.
+-	 */
+-	SCR_REG_REG (HF_REG, SCR_AND, (~HF_DATA_IN)),
+-		0,
+-	SCR_LOAD_REL  (scratcha, 4),
+-		offsetof (struct sym_ccb, phys.head.wlastp),
+-	SCR_STORE_REL (scratcha, 4),
+-		offsetof (struct sym_ccb, phys.head.lastp),
+-	SCR_JUMP,
+-		PADDR_B(data_io_com),
+-#endif /* SYM_OPT_HANDLE_DIR_UNKNOWN */
+-
+ }/*-------------------------< ZERO >-----------------------------*/,{
+ 	SCR_DATA_ZERO,
+ }/*-------------------------< SCRATCH >--------------------------*/,{
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/scsi/sym53c8xx_2/sym_glue.c CVS2_6_14_RC2_PA6/drivers/scsi/sym53c8xx_2/sym_glue.c
+--- LINUS_2_6_14_RC2/drivers/scsi/sym53c8xx_2/sym_glue.c	2005-09-22 19:17:50.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/scsi/sym53c8xx_2/sym_glue.c	2005-09-27 08:18:02.000000000 -0600
+@@ -514,9 +514,10 @@
+  */
+ int sym_setup_data_and_start(struct sym_hcb *np, struct scsi_cmnd *cmd, struct sym_ccb *cp)
+ {
+-	int dir;
+ 	struct sym_tcb *tp = &np->target[cp->target];
+ 	struct sym_lcb *lp = sym_lp(tp, cp->lun);
++	u32 lastp, goalp;
++	int dir;
+ 
  	/*
+ 	 *  Build the CDB.
+@@ -534,15 +535,47 @@
+ 			sym_set_cam_status(cmd, DID_ERROR);
+ 			goto out_abort;
+ 		}
++
++		/*
++		 *  No segments means no data.
++		 */
++		if (!cp->segments)
++			dir = DMA_NONE;
+ 	} else {
+ 		cp->data_len = 0;
+ 		cp->segments = 0;
+ 	}
+ 
+ 	/*
+-	 *  Set data pointers.
++	 *  Set the data pointer.
+ 	 */
+-	sym_setup_data_pointers(np, cp, dir);
++	switch (dir) {
++	case DMA_BIDIRECTIONAL:
++		printk("%s: got DMA_BIDIRECTIONAL command", sym_name(np));
++		sym_set_cam_status(cmd, DID_ERROR);
++		goto out_abort;
++	case DMA_TO_DEVICE:
++		goalp = SCRIPTA_BA(np, data_out2) + 8;
++		lastp = goalp - 8 - (cp->segments * (2*4));
++		break;
++	case DMA_FROM_DEVICE:
++		cp->host_flags |= HF_DATA_IN;
++		goalp = SCRIPTA_BA(np, data_in2) + 8;
++		lastp = goalp - 8 - (cp->segments * (2*4));
++		break;
++	case DMA_NONE:
++	default:
++		lastp = goalp = SCRIPTB_BA(np, no_data);
++		break;
++	}
++
++	/*
++	 *  Set all pointers values needed by SCRIPTS.
++	 */
++	cp->phys.head.lastp = cpu_to_scr(lastp);
++	cp->phys.head.savep = cpu_to_scr(lastp);
++	cp->startp	    = cp->phys.head.savep;
++	cp->goalp	    = cpu_to_scr(goalp);
+ 
+ 	/*
+ 	 *  When `#ifed 1', the code below makes the driver 
+@@ -563,10 +596,7 @@
+ 	/*
  	 *	activate this job.
  	 */
 -	if (lp)
@@ -7567,7 +9660,7 @@
  	return 0;
  
  out_abort:
-@@ -981,15 +978,13 @@
+@@ -981,15 +1011,13 @@
  
  static int sym53c8xx_slave_alloc(struct scsi_device *sdev)
  {
@@ -7586,7 +9679,7 @@
  	/*
  	 * Fail the device init if the device is flagged NOSCAN at BOOT in
  	 * the NVRAM.  This may speed up boot and maintain coherency with
-@@ -1005,6 +1000,10 @@
+@@ -1005,6 +1033,10 @@
  		return -ENXIO;
  	}
  
@@ -7597,7 +9690,7 @@
  	tp->starget = sdev->sdev_target;
  	return 0;
  }
-@@ -1012,22 +1011,14 @@
+@@ -1012,22 +1044,14 @@
  /*
   * Linux entry point for device queue sizing.
   */
@@ -7624,7 +9717,7 @@
  	 *  Get user flags.
  	 */
  	lp->curr_flags = lp->user_flags;
-@@ -1038,10 +1029,10 @@
+@@ -1038,10 +1062,10 @@
  	 *  Use at least 2.
  	 *  Donnot use more than our maximum.
  	 */
@@ -7637,7 +9730,7 @@
  		reqtags = 0;
  #if 1 /* Avoid to locally queue commands for no good reasons */
  	if (reqtags > SYM_CONF_MAX_TAG)
-@@ -1050,19 +1041,30 @@
+@@ -1050,19 +1074,30 @@
  #else
  	depth_to_use = (reqtags ? SYM_CONF_MAX_TAG : 2);
  #endif
@@ -7673,7 +9766,7 @@
  /*
   *  Linux entry point for info() function
   */
-@@ -1926,6 +1928,7 @@
+@@ -1926,6 +1961,7 @@
  	.queuecommand		= sym53c8xx_queue_command,
  	.slave_alloc		= sym53c8xx_slave_alloc,
  	.slave_configure	= sym53c8xx_slave_configure,
@@ -7681,19 +9774,27 @@
  	.eh_abort_handler	= sym53c8xx_eh_abort_handler,
  	.eh_device_reset_handler = sym53c8xx_eh_device_reset_handler,
  	.eh_bus_reset_handler	= sym53c8xx_eh_bus_reset_handler,
-diff -Nur linux-2.6.13.org/drivers/scsi/sym53c8xx_2/sym_glue.h linux-2.6.13/drivers/scsi/sym53c8xx_2/sym_glue.h
---- linux-2.6.13.org/drivers/scsi/sym53c8xx_2/sym_glue.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/scsi/sym53c8xx_2/sym_glue.h	2005-09-25 12:34:40.000000000 -0400
-@@ -268,6 +268,5 @@
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/scsi/sym53c8xx_2/sym_glue.h CVS2_6_14_RC2_PA6/drivers/scsi/sym53c8xx_2/sym_glue.h
+--- LINUS_2_6_14_RC2/drivers/scsi/sym53c8xx_2/sym_glue.h	2005-09-22 19:17:50.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/scsi/sym53c8xx_2/sym_glue.h	2005-09-27 08:18:02.000000000 -0600
+@@ -68,7 +68,6 @@
+  */
+ #define	SYM_CONF_TIMER_INTERVAL		((HZ+1)/2)
+ 
+-#define SYM_OPT_HANDLE_DIR_UNKNOWN
+ #define SYM_OPT_HANDLE_DEVICE_QUEUEING
+ #define SYM_OPT_LIMIT_COMMAND_REORDERING
+ 
+@@ -268,6 +267,5 @@
  void sym_xpt_async_sent_bdr(struct sym_hcb *np, int target);
  int  sym_setup_data_and_start (struct sym_hcb *np, struct scsi_cmnd *csio, struct sym_ccb *cp);
  void sym_log_bus_error(struct sym_hcb *np);
 -void sym_sniff_inquiry(struct sym_hcb *np, struct scsi_cmnd *cmd, int resid);
  
  #endif /* SYM_GLUE_H */
-diff -Nur linux-2.6.13.org/drivers/scsi/sym53c8xx_2/sym_hipd.c linux-2.6.13/drivers/scsi/sym53c8xx_2/sym_hipd.c
---- linux-2.6.13.org/drivers/scsi/sym53c8xx_2/sym_hipd.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/scsi/sym53c8xx_2/sym_hipd.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/scsi/sym53c8xx_2/sym_hipd.c CVS2_6_14_RC2_PA6/drivers/scsi/sym53c8xx_2/sym_hipd.c
+--- LINUS_2_6_14_RC2/drivers/scsi/sym53c8xx_2/sym_hipd.c	2005-09-22 19:17:50.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/scsi/sym53c8xx_2/sym_hipd.c	2005-09-27 08:18:02.000000000 -0600
 @@ -1519,7 +1519,7 @@
  /*
   *  Insert a job into the start queue.
@@ -7703,6 +9804,33 @@
  {
  	u_short	qidx;
  
+@@ -3650,7 +3650,7 @@
+ 	 *  If result is dp_sg = SYM_CONF_MAX_SG, then we are at the 
+ 	 *  end of the data.
+ 	 */
+-	tmp = scr_to_cpu(sym_goalp(cp));
++	tmp = scr_to_cpu(cp->goalp);
+ 	dp_sg = SYM_CONF_MAX_SG;
+ 	if (dp_scr != tmp)
+ 		dp_sg -= (tmp - 8 - (int)dp_scr) / (2*4);
+@@ -3757,7 +3757,7 @@
+ 	 *  And our alchemy:) allows to easily calculate the data 
+ 	 *  script address we want to return for the next data phase.
+ 	 */
+-	dp_ret = cpu_to_scr(sym_goalp(cp));
++	dp_ret = cpu_to_scr(cp->goalp);
+ 	dp_ret = dp_ret - 8 - (SYM_CONF_MAX_SG - dp_sg) * (2*4);
+ 
+ 	/*
+@@ -3853,7 +3853,7 @@
+ 	 *  If all data has been transferred,
+ 	 *  there is no residual.
+ 	 */
+-	if (cp->phys.head.lastp == sym_goalp(cp))
++	if (cp->phys.head.lastp == cp->goalp)
+ 		return resid;
+ 
+ 	/*
 @@ -4660,30 +4660,7 @@
  		goto out;
  	cp = sym_que_entry(qp, struct sym_ccb, link_ccbq);
@@ -7808,7 +9936,7 @@
  #endif
  }
  
-@@ -5517,12 +5462,6 @@
+@@ -5517,17 +5462,11 @@
  	lp = sym_lp(tp, cp->lun);
  
  	/*
@@ -7821,6 +9949,12 @@
  	 *  If all data have been transferred, given than no
  	 *  extended error did occur, there is no residual.
  	 */
+ 	resid = 0;
+-	if (cp->phys.head.lastp != sym_goalp(cp))
++	if (cp->phys.head.lastp != cp->goalp)
+ 		resid = sym_compute_residual(np, cp);
+ 
+ 	/*
 @@ -5547,15 +5486,6 @@
  	 */
  	sym_set_cam_result_ok(cp, cmd, resid);
@@ -7873,10 +10007,31 @@
  #if SYM_CONF_MAX_LUN > 1
  		kfree(tp->lunmp);
  #endif 
-diff -Nur linux-2.6.13.org/drivers/scsi/sym53c8xx_2/sym_hipd.h linux-2.6.13/drivers/scsi/sym53c8xx_2/sym_hipd.h
---- linux-2.6.13.org/drivers/scsi/sym53c8xx_2/sym_hipd.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/scsi/sym53c8xx_2/sym_hipd.h	2005-09-25 12:34:40.000000000 -0400
-@@ -414,19 +414,6 @@
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/scsi/sym53c8xx_2/sym_hipd.h CVS2_6_14_RC2_PA6/drivers/scsi/sym53c8xx_2/sym_hipd.h
+--- LINUS_2_6_14_RC2/drivers/scsi/sym53c8xx_2/sym_hipd.h	2005-09-22 19:17:50.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/scsi/sym53c8xx_2/sym_hipd.h	2005-09-27 08:18:02.000000000 -0600
+@@ -46,12 +46,6 @@
+  *  They may be defined in platform specific headers, if they 
+  *  are useful.
+  *
+- *    SYM_OPT_HANDLE_DIR_UNKNOWN
+- *        When this option is set, the SCRIPTS used by the driver 
+- *        are able to handle SCSI transfers with direction not 
+- *        supplied by user.
+- *        (set for Linux-2.0.X)
+- *
+  *    SYM_OPT_HANDLE_DEVICE_QUEUEING
+  *        When this option is set, the driver will use a queue per 
+  *        device and handle QUEUE FULL status requeuing internally.
+@@ -62,7 +56,6 @@
+  *        (set for Linux)
+  */
+ #if 0
+-#define SYM_OPT_HANDLE_DIR_UNKNOWN
+ #define SYM_OPT_HANDLE_DEVICE_QUEUEING
+ #define SYM_OPT_LIMIT_COMMAND_REORDERING
+ #endif
+@@ -414,19 +407,6 @@
  	struct sym_lcb **lunmp;		/* Other LCBs [1..MAX_LUN]	*/
  #endif
  
@@ -7896,7 +10051,40 @@
  #ifdef	SYM_HAVE_STCB
  	/*
  	 *  O/S specific data structure.
-@@ -1075,7 +1062,6 @@
+@@ -670,9 +650,6 @@
+ 	 */
+ 	u32	savep;		/* Jump address to saved data pointer	*/
+ 	u32	lastp;		/* SCRIPTS address at end of data	*/
+-#ifdef	SYM_OPT_HANDLE_DIR_UNKNOWN
+-	u32	wlastp;
+-#endif
+ 
+ 	/*
+ 	 *  Status fields.
+@@ -802,9 +779,6 @@
+ 	SYM_QUEHEAD link_ccbq;	/* Link to free/busy CCB queue	*/
+ 	u32	startp;		/* Initial data pointer		*/
+ 	u32	goalp;		/* Expected last data pointer	*/
+-#ifdef	SYM_OPT_HANDLE_DIR_UNKNOWN
+-	u32	wgoalp;
+-#endif
+ 	int	ext_sg;		/* Extreme data pointer, used	*/
+ 	int	ext_ofs;	/*  to calculate the residual.	*/
+ #ifdef SYM_OPT_HANDLE_DEVICE_QUEUEING
+@@ -819,12 +793,6 @@
+ 
+ #define CCB_BA(cp,lbl)	cpu_to_scr(cp->ccb_ba + offsetof(struct sym_ccb, lbl))
+ 
+-#ifdef	SYM_OPT_HANDLE_DIR_UNKNOWN
+-#define	sym_goalp(cp) ((cp->host_flags & HF_DATA_IN) ? cp->goalp : cp->wgoalp)
+-#else
+-#define	sym_goalp(cp) (cp->goalp)
+-#endif
+-
+ typedef struct device *m_pool_ident_t;
+ 
+ /*
+@@ -1075,7 +1043,6 @@
  void sym_print_xerr(struct scsi_cmnd *cmd, int x_status);
  int sym_reset_scsi_bus(struct sym_hcb *np, int enab_int);
  struct sym_chip *sym_lookup_chip_table(u_short device_id, u_char revision);
@@ -7904,9 +10092,96 @@
  #ifdef SYM_OPT_HANDLE_DEVICE_QUEUEING
  void sym_start_next_ccbs(struct sym_hcb *np, struct sym_lcb *lp, int maxn);
  #endif
-diff -Nur linux-2.6.13.org/drivers/scsi/zalon.c linux-2.6.13/drivers/scsi/zalon.c
---- linux-2.6.13.org/drivers/scsi/zalon.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/scsi/zalon.c	2005-09-25 12:34:40.000000000 -0400
+@@ -1134,71 +1101,6 @@
+ #endif
+ 
+ /*
+- *  Set up data pointers used by SCRIPTS.
+- *  Called from O/S specific code.
+- */
+-static inline void sym_setup_data_pointers(struct sym_hcb *np,
+-		struct sym_ccb *cp, int dir)
+-{
+-	u32 lastp, goalp;
+-
+-	/*
+-	 *  No segments means no data.
+-	 */
+-	if (!cp->segments)
+-		dir = DMA_NONE;
+-
+-	/*
+-	 *  Set the data pointer.
+-	 */
+-	switch(dir) {
+-#ifdef	SYM_OPT_HANDLE_DIR_UNKNOWN
+-	case DMA_BIDIRECTIONAL:
+-#endif
+-	case DMA_TO_DEVICE:
+-		goalp = SCRIPTA_BA(np, data_out2) + 8;
+-		lastp = goalp - 8 - (cp->segments * (2*4));
+-#ifdef	SYM_OPT_HANDLE_DIR_UNKNOWN
+-		cp->wgoalp = cpu_to_scr(goalp);
+-		if (dir != DMA_BIDIRECTIONAL)
+-			break;
+-		cp->phys.head.wlastp = cpu_to_scr(lastp);
+-		/* fall through */
+-#else
+-		break;
+-#endif
+-	case DMA_FROM_DEVICE:
+-		cp->host_flags |= HF_DATA_IN;
+-		goalp = SCRIPTA_BA(np, data_in2) + 8;
+-		lastp = goalp - 8 - (cp->segments * (2*4));
+-		break;
+-	case DMA_NONE:
+-	default:
+-#ifdef	SYM_OPT_HANDLE_DIR_UNKNOWN
+-		cp->host_flags |= HF_DATA_IN;
+-#endif
+-		lastp = goalp = SCRIPTB_BA(np, no_data);
+-		break;
+-	}
+-
+-	/*
+-	 *  Set all pointers values needed by SCRIPTS.
+-	 */
+-	cp->phys.head.lastp = cpu_to_scr(lastp);
+-	cp->phys.head.savep = cpu_to_scr(lastp);
+-	cp->startp	    = cp->phys.head.savep;
+-	cp->goalp	    = cpu_to_scr(goalp);
+-
+-#ifdef	SYM_OPT_HANDLE_DIR_UNKNOWN
+-	/*
+-	 *  If direction is unknown, start at data_io.
+-	 */
+-	if (dir == DMA_BIDIRECTIONAL)
+-		cp->phys.head.savep = cpu_to_scr(SCRIPTB_BA(np, data_io));
+-#endif
+-}
+-
+-/*
+  *  MEMORY ALLOCATOR.
+  */
+ 
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/scsi/sym53c8xx_2/sym_malloc.c CVS2_6_14_RC2_PA6/drivers/scsi/sym53c8xx_2/sym_malloc.c
+--- LINUS_2_6_14_RC2/drivers/scsi/sym53c8xx_2/sym_malloc.c	2005-03-04 08:35:58.000000000 -0700
++++ CVS2_6_14_RC2_PA6/drivers/scsi/sym53c8xx_2/sym_malloc.c	2005-09-27 06:03:22.000000000 -0600
+@@ -37,11 +37,7 @@
+  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  */
+ 
+-#ifdef __FreeBSD__
+-#include <dev/sym/sym_glue.h>
+-#else
+ #include "sym_glue.h"
+-#endif
+ 
+ /*
+  *  Simple power of two buddy-like generic allocator.
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/scsi/zalon.c CVS2_6_14_RC2_PA6/drivers/scsi/zalon.c
+--- LINUS_2_6_14_RC2/drivers/scsi/zalon.c	2005-09-22 19:17:49.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/scsi/zalon.c	2005-09-10 12:19:41.000000000 -0600
 @@ -88,7 +88,7 @@
  	struct gsc_irq gsc_irq;
  	u32 zalon_vers;
@@ -7925,9 +10200,9 @@
  	device.slot.base_v	= io_port;
  	device.slot.irq		= dev->irq;
  	device.differential	= 2;
-diff -Nur linux-2.6.13.org/drivers/serial/8250_gsc.c linux-2.6.13/drivers/serial/8250_gsc.c
---- linux-2.6.13.org/drivers/serial/8250_gsc.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/serial/8250_gsc.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/serial/8250_gsc.c CVS2_6_14_RC2_PA6/drivers/serial/8250_gsc.c
+--- LINUS_2_6_14_RC2/drivers/serial/8250_gsc.c	2005-09-22 19:17:51.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/serial/8250_gsc.c	2005-09-10 12:26:14.000000000 -0600
 @@ -29,7 +29,6 @@
  static int __init 
  serial_init_chip(struct parisc_device *dev)
@@ -7952,9 +10227,9 @@
  	if (dev->id.sversion != 0x8d) {
  		address += 0x800;
  	}
-diff -Nur linux-2.6.13.org/drivers/serial/mux.c linux-2.6.13/drivers/serial/mux.c
---- linux-2.6.13.org/drivers/serial/mux.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/serial/mux.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/serial/mux.c CVS2_6_14_RC2_PA6/drivers/serial/mux.c
+--- LINUS_2_6_14_RC2/drivers/serial/mux.c	2005-09-22 19:17:51.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/serial/mux.c	2005-09-14 06:56:44.000000000 -0600
 @@ -27,6 +27,7 @@
  #include <linux/delay.h> /* for udelay */
  #include <linux/device.h>
@@ -7963,7 +10238,7 @@
  #include <asm/parisc-device.h>
  
  #ifdef CONFIG_MAGIC_SYSRQ
-@@ -446,7 +447,7 @@
+@@ -444,7 +445,7 @@
  	unsigned long bytecnt;
  	struct uart_port *port;
  
@@ -7972,7 +10247,7 @@
  	if(status != PDC_OK) {
  		printk(KERN_ERR "Serial mux: Unable to read IODC.\n");
  		return 1;
-@@ -471,16 +472,18 @@
+@@ -469,16 +470,18 @@
  	for(i = 0; i < ports; ++i, ++port_cnt) {
  		port = &mux_ports[port_cnt];
  		port->iobase	= 0;
@@ -7993,7 +10268,7 @@
  		status = uart_add_one_port(&mux_driver, port);
  		BUG_ON(status);
  	}
-@@ -499,7 +502,7 @@
+@@ -497,7 +500,7 @@
  MODULE_DEVICE_TABLE(parisc, mux_tbl);
  
  static struct parisc_driver serial_mux_driver = {
@@ -8002,29 +10277,41 @@
  	.id_table =	mux_tbl,
  	.probe =	mux_probe,
  };
-diff -Nur linux-2.6.13.org/drivers/serial/serial_core.c linux-2.6.13/drivers/serial/serial_core.c
---- linux-2.6.13.org/drivers/serial/serial_core.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/serial/serial_core.c	2005-09-25 12:34:40.000000000 -0400
-@@ -1961,7 +1961,14 @@
- 		printk("MMIO 0x%lx", port->mapbase);
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/serial/serial_core.c CVS2_6_14_RC2_PA6/drivers/serial/serial_core.c
+--- LINUS_2_6_14_RC2/drivers/serial/serial_core.c	2005-09-22 19:17:51.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/serial/serial_core.c	2005-09-14 06:56:44.000000000 -0600
+@@ -1948,6 +1948,7 @@
+ uart_report_port(struct uart_driver *drv, struct uart_port *port)
+ {
+ 	char address[64];
++	char irq[16];
+ 
+ 	switch (port->iotype) {
+ 	case UPIO_PORT:
+@@ -1968,8 +1969,17 @@
  		break;
  	}
--	printk(" (irq = %d) is a %s\n", port->irq, uart_type(port));
+ 
+-	printk(KERN_INFO "%s%d at %s (irq = %d) is a %s\n",
+-	       drv->dev_name, port->line, address, port->irq, uart_type(port));
 +#ifndef NO_IRQ
 +#define NO_IRQ (-1)
 +#endif
 +	if (port->irq == NO_IRQ) {
-+		printk(" (polled) is a %s\n", uart_type(port));
++		strlcpy(irq, "polled", sizeof(irq));
 +	} else {
-+		printk(" (irq = %d) is a %s\n", port->irq, uart_type(port));
++		snprintf(irq, sizeof(irq), "irq = %d", port->irq);
 +	}
++
++	printk(KERN_INFO "%s%d at %s (%s) is a %s\n",
++	       drv->dev_name, port->line, address, irq, uart_type(port));
  }
  
  static void
-diff -Nur linux-2.6.13.org/drivers/usb/input/hid-core.c linux-2.6.13/drivers/usb/input/hid-core.c
---- linux-2.6.13.org/drivers/usb/input/hid-core.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/usb/input/hid-core.c	2005-09-25 12:34:40.000000000 -0400
-@@ -759,21 +759,31 @@
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/usb/input/hid-core.c CVS2_6_14_RC2_PA6/drivers/usb/input/hid-core.c
+--- LINUS_2_6_14_RC2/drivers/usb/input/hid-core.c	2005-09-22 19:17:51.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/usb/input/hid-core.c	2005-09-14 06:56:49.000000000 -0600
+@@ -760,21 +760,31 @@
  }
  
  /*
@@ -8063,9 +10350,9 @@
  }
  
  /*
-diff -Nur linux-2.6.13.org/drivers/video/console/Kconfig linux-2.6.13/drivers/video/console/Kconfig
---- linux-2.6.13.org/drivers/video/console/Kconfig	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/video/console/Kconfig	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/video/console/Kconfig CVS2_6_14_RC2_PA6/drivers/video/console/Kconfig
+--- LINUS_2_6_14_RC2/drivers/video/console/Kconfig	2005-09-22 19:17:53.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/video/console/Kconfig	2005-09-14 06:56:57.000000000 -0600
 @@ -110,7 +110,7 @@
  
  config FONTS
@@ -8088,8 +10375,8 @@
  
  config FONT_8x16
  	bool "VGA 8x16 font" if FONTS
--	depends on FRAMEBUFFER_CONSOLE || SGI_NEWPORT_CONSOLE=y
-+	depends on FRAMEBUFFER_CONSOLE || SGI_NEWPORT_CONSOLE=y || STI_CONSOLE
+-	depends on FRAMEBUFFER_CONSOLE || SGI_NEWPORT_CONSOLE=y || USB_SISUSBVGA_CON
++	depends on FRAMEBUFFER_CONSOLE || SGI_NEWPORT_CONSOLE=y || STI_CONSOLE || USB_SISUSBVGA_CON 
  	default y if !SPARC32 && !SPARC64 && !FONTS
  	help
  	  This is the "high resolution" font for the VGA frame buffer (the one
@@ -8102,9 +10389,9 @@
  	default y if !SPARC32 && !SPARC64 && !FONTS && MAC
  	help
  	  Small console font with Macintosh-style high-half glyphs.  Some Mac
-diff -Nur linux-2.6.13.org/drivers/video/console/sticore.c linux-2.6.13/drivers/video/console/sticore.c
---- linux-2.6.13.org/drivers/video/console/sticore.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/drivers/video/console/sticore.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/drivers/video/console/sticore.c CVS2_6_14_RC2_PA6/drivers/video/console/sticore.c
+--- LINUS_2_6_14_RC2/drivers/video/console/sticore.c	2005-09-22 19:17:54.000000000 -0600
++++ CVS2_6_14_RC2_PA6/drivers/video/console/sticore.c	2005-09-10 12:30:10.000000000 -0600
 @@ -511,12 +511,12 @@
  	struct sti_cooked_font *cooked_font;
  	
@@ -8343,9 +10630,9 @@
  	return 0;
  }
  
-diff -Nur linux-2.6.13.org/fs/ioctl.c linux-2.6.13/fs/ioctl.c
---- linux-2.6.13.org/fs/ioctl.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/fs/ioctl.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/fs/ioctl.c CVS2_6_14_RC2_PA6/fs/ioctl.c
+--- LINUS_2_6_14_RC2/fs/ioctl.c	2005-09-22 19:17:55.000000000 -0600
++++ CVS2_6_14_RC2_PA6/fs/ioctl.c	2005-03-14 06:24:36.000000000 -0700
 @@ -71,7 +71,11 @@
  				return -EBADF;
  			return put_user(inode->i_sb->s_blocksize, p);
@@ -8359,9 +10646,9 @@
  	}
  
  	return do_ioctl(filp, cmd, arg);
-diff -Nur linux-2.6.13.org/include/asm-generic/compat_signal.h linux-2.6.13/include/asm-generic/compat_signal.h
---- linux-2.6.13.org/include/asm-generic/compat_signal.h	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.13/include/asm-generic/compat_signal.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-generic/compat_signal.h CVS2_6_14_RC2_PA6/include/asm-generic/compat_signal.h
+--- LINUS_2_6_14_RC2/include/asm-generic/compat_signal.h	1969-12-31 17:00:00.000000000 -0700
++++ CVS2_6_14_RC2_PA6/include/asm-generic/compat_signal.h	2004-01-27 22:12:47.000000000 -0700
 @@ -0,0 +1,25 @@
 +#ifndef _ASM_GENERIC_COMPAT_SIGNAL_H
 +#define _ASM_GENERIC_COMPAT_SIGNAL_H
@@ -8388,51 +10675,58 @@
 +
 +#endif /* !__ASSEMBLY__ */
 +#endif /* !_ASM_GENERIC_COMPAT_SIGNAL_H */
-diff -Nur linux-2.6.13.org/include/asm-ia64/compat.h linux-2.6.13/include/asm-ia64/compat.h
---- linux-2.6.13.org/include/asm-ia64/compat.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/asm-ia64/compat.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-ia64/compat.h CVS2_6_14_RC2_PA6/include/asm-ia64/compat.h
+--- LINUS_2_6_14_RC2/include/asm-ia64/compat.h	2005-09-22 19:18:05.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-ia64/compat.h	2005-09-14 06:57:31.000000000 -0600
 @@ -15,6 +15,9 @@
  typedef s32		compat_pid_t;
- typedef u16		compat_uid_t;
- typedef u16		compat_gid_t;
+ typedef u16		__compat_uid_t;
+ typedef u16		__compat_gid_t;
 +/* Define for use in compat_siginfo_t */
 +#undef __ARCH_SI_COMPAT_UID_T
-+#define __ARCH_SI_COMPAT_UID_T	compat_uid32_t
- typedef u32		compat_uid32_t;
- typedef u32		compat_gid32_t;
++#define __ARCH_SI_COMPAT_UID_T	__compat_uid32_t
+ typedef u32		__compat_uid32_t;
+ typedef u32		__compat_gid32_t;
  typedef u16		compat_mode_t;
-diff -Nur linux-2.6.13.org/include/asm-parisc/assembly.h linux-2.6.13/include/asm-parisc/assembly.h
---- linux-2.6.13.org/include/asm-parisc/assembly.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/asm-parisc/assembly.h	2005-09-25 12:34:40.000000000 -0400
-@@ -21,6 +21,7 @@
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-parisc/assembly.h CVS2_6_14_RC2_PA6/include/asm-parisc/assembly.h
+--- LINUS_2_6_14_RC2/include/asm-parisc/assembly.h	2005-09-22 19:18:07.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-parisc/assembly.h	2005-09-25 19:23:05.000000000 -0600
+@@ -21,7 +21,9 @@
  #ifndef _PARISC_ASSEMBLY_H
  #define _PARISC_ASSEMBLY_H
  
+-#ifdef __LP64__
 +#define CALLEE_FLOAT_FRAME_SIZE	80
- #ifdef __LP64__
++
++#ifdef CONFIG_64BIT
  #define LDREG	ldd
  #define STREG	std
-@@ -30,7 +31,7 @@
+ #define LDREGX  ldd,s
+@@ -30,8 +32,8 @@
  #define SHRREG  shrd
  #define RP_OFFSET	16
  #define FRAME_SIZE	128
 -#define CALLEE_SAVE_FRAME_SIZE	144
+-#else
 +#define CALLEE_REG_FRAME_SIZE	144
- #else
++#else	/* CONFIG_64BIT */
  #define LDREG	ldw
  #define STREG	stw
-@@ -40,8 +41,9 @@
+ #define LDREGX  ldwx,s
+@@ -40,9 +42,11 @@
  #define SHRREG  shr
  #define RP_OFFSET	20
  #define FRAME_SIZE	64
 -#define CALLEE_SAVE_FRAME_SIZE	128
 +#define CALLEE_REG_FRAME_SIZE	128
  #endif
+ 
 +#define CALLEE_SAVE_FRAME_SIZE (CALLEE_REG_FRAME_SIZE + CALLEE_FLOAT_FRAME_SIZE)
- 
++
  #ifdef CONFIG_PA20
  #define BL		b,l
-@@ -300,9 +302,35 @@
+ # ifdef CONFIG_64BIT
+@@ -300,9 +304,35 @@
  	fldd,mb	-8(\regs),       %fr0
  	.endm
  
@@ -8469,7 +10763,7 @@
  	mfctl	  %cr27, %r3
  	std	  %r4,	-136(%r30)
  	std	  %r5,	-128(%r30)
-@@ -340,13 +368,13 @@
+@@ -340,13 +370,13 @@
  	ldd	-128(%r30),    %r5
  	ldd	-136(%r30),    %r4
  	mtctl	%r3, %cr27
@@ -8485,7 +10779,7 @@
  	mfctl	 %cr27, %r3
  	stw	 %r4,	-124(%r30)
  	stw	 %r5,	-120(%r30)
-@@ -384,7 +412,7 @@
+@@ -384,7 +414,7 @@
  	ldw	-120(%r30),   %r5
  	ldw	-124(%r30),   %r4
  	mtctl	%r3, %cr27
@@ -8494,7 +10788,7 @@
  	.endm
  #endif /* ! __LP64__ */
  
-@@ -450,5 +478,30 @@
+@@ -450,5 +480,30 @@
  	REST_CR	(%cr22, PT_PSW	(\regs))
  	.endm
  
@@ -8525,18 +10819,19 @@
 +
  #endif /* __ASSEMBLY__ */
  #endif
-diff -Nur linux-2.6.13.org/include/asm-parisc/bitops.h linux-2.6.13/include/asm-parisc/bitops.h
---- linux-2.6.13.org/include/asm-parisc/bitops.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/asm-parisc/bitops.h	2005-09-25 12:34:40.000000000 -0400
-@@ -2,6 +2,7 @@
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-parisc/bitops.h CVS2_6_14_RC2_PA6/include/asm-parisc/bitops.h
+--- LINUS_2_6_14_RC2/include/asm-parisc/bitops.h	2005-09-22 19:18:07.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-parisc/bitops.h	2005-09-14 07:22:22.000000000 -0600
+@@ -2,7 +2,7 @@
  #define _PARISC_BITOPS_H
  
  #include <linux/compiler.h>
+-#include <asm/spinlock.h>
 +#include <asm/types.h>		/* for BITS_PER_LONG/SHIFT_PER_LONG */
- #include <asm/system.h>
  #include <asm/byteorder.h>
  #include <asm/atomic.h>
-@@ -12,193 +13,157 @@
+ 
+@@ -12,193 +12,157 @@
   * to include/asm-i386/bitops.h or kerneldoc
   */
  
@@ -8791,7 +11086,7 @@
  	
  	return !!(*addr & mask);
  }
-@@ -229,7 +194,7 @@
+@@ -229,7 +193,7 @@
  	unsigned long ret;
  
  	__asm__(
@@ -8800,7 +11095,7 @@
  		" ldi       63,%1\n"
  		" extrd,u,*<>  %0,63,32,%%r0\n"
  		" extrd,u,*TR  %0,31,32,%0\n"	/* move top 32-bits down */
-@@ -304,14 +269,7 @@
+@@ -304,14 +268,7 @@
   * hweightN: returns the hamming weight (i.e. the number
   * of bits set) of a N-bit word
   */
@@ -8816,7 +11111,7 @@
  #define hweight32(x) generic_hweight32(x)
  #define hweight16(x) generic_hweight16(x)
  #define hweight8(x) generic_hweight8(x)
-@@ -324,7 +282,13 @@
+@@ -324,7 +281,13 @@
   */
  static inline int sched_find_first_bit(const unsigned long *b)
  {
@@ -8831,7 +11126,7 @@
  	if (unlikely(b[0]))
  		return __ffs(b[0]);
  	if (unlikely(b[1]))
-@@ -334,14 +298,6 @@
+@@ -334,14 +297,6 @@
  	if (b[3])
  		return __ffs(b[3]) + 96;
  	return __ffs(b[4]) + 128;
@@ -8846,7 +11141,7 @@
  #endif
  }
  
-@@ -391,7 +347,7 @@
+@@ -391,7 +346,7 @@
  
  static __inline__ unsigned long find_next_bit(const unsigned long *addr, unsigned long size, unsigned long offset)
  {
@@ -8855,7 +11150,7 @@
  	unsigned long result = offset & ~(BITS_PER_LONG-1);
  	unsigned long tmp;
  
-@@ -445,71 +401,90 @@
+@@ -445,71 +400,90 @@
   * test_and_{set,clear}_bit guarantee atomicity without
   * disabling interrupts.
   */
@@ -8987,9 +11282,9 @@
  /* Bitmap functions for the minix filesystem.  */
  #define minix_test_and_set_bit(nr,addr) ext2_set_bit(nr,addr)
  #define minix_set_bit(nr,addr) ((void)ext2_set_bit(nr,addr))
-diff -Nur linux-2.6.13.org/include/asm-parisc/errno.h linux-2.6.13/include/asm-parisc/errno.h
---- linux-2.6.13.org/include/asm-parisc/errno.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/asm-parisc/errno.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-parisc/errno.h CVS2_6_14_RC2_PA6/include/asm-parisc/errno.h
+--- LINUS_2_6_14_RC2/include/asm-parisc/errno.h	2005-09-22 19:18:07.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-parisc/errno.h	2005-05-08 20:00:54.000000000 -0600
 @@ -114,6 +114,7 @@
  
  #define ENOTSUP		252	/* Function not implemented (POSIX.4 / HPUX) */
@@ -8998,9 +11293,9 @@
  
  /* for robust mutexes */
  #define EOWNERDEAD	254	/* Owner died */
-diff -Nur linux-2.6.13.org/include/asm-parisc/grfioctl.h linux-2.6.13/include/asm-parisc/grfioctl.h
---- linux-2.6.13.org/include/asm-parisc/grfioctl.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/asm-parisc/grfioctl.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-parisc/grfioctl.h CVS2_6_14_RC2_PA6/include/asm-parisc/grfioctl.h
+--- LINUS_2_6_14_RC2/include/asm-parisc/grfioctl.h	2005-09-22 19:18:07.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-parisc/grfioctl.h	2005-07-31 16:24:55.000000000 -0600
 @@ -69,6 +69,8 @@
  #define CRT_ID_TVRX		S9000_ID_98765	/* TVRX (gto/falcon) */
  #define CRT_ID_ARTIST		S9000_ID_ARTIST	/* Artist */
@@ -9010,9 +11305,9 @@
  
  /* structure for ioctl(GCDESCRIBE) */
  
-diff -Nur linux-2.6.13.org/include/asm-parisc/led.h linux-2.6.13/include/asm-parisc/led.h
---- linux-2.6.13.org/include/asm-parisc/led.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/asm-parisc/led.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-parisc/led.h CVS2_6_14_RC2_PA6/include/asm-parisc/led.h
+--- LINUS_2_6_14_RC2/include/asm-parisc/led.h	2005-09-22 19:18:07.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-parisc/led.h	2005-03-27 23:50:20.000000000 -0700
 @@ -23,9 +23,6 @@
  
  #define LED_CMD_REG_NONE 0		/* NULL == no addr for the cmd register */
@@ -9023,9 +11318,9 @@
  /* register_led_driver() */
  int __init register_led_driver(int model, unsigned long cmd_reg, unsigned long data_reg);
  
-diff -Nur linux-2.6.13.org/include/asm-parisc/parisc-device.h linux-2.6.13/include/asm-parisc/parisc-device.h
---- linux-2.6.13.org/include/asm-parisc/parisc-device.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/asm-parisc/parisc-device.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-parisc/parisc-device.h CVS2_6_14_RC2_PA6/include/asm-parisc/parisc-device.h
+--- LINUS_2_6_14_RC2/include/asm-parisc/parisc-device.h	2005-09-22 19:18:07.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-parisc/parisc-device.h	2005-09-10 12:12:02.000000000 -0600
 @@ -1,7 +1,7 @@
  #include <linux/device.h>
  
@@ -9047,10 +11342,22 @@
  static inline void
  parisc_set_drvdata(struct parisc_device *d, void *p)
  {
-diff -Nur linux-2.6.13.org/include/asm-parisc/pgtable.h linux-2.6.13/include/asm-parisc/pgtable.h
---- linux-2.6.13.org/include/asm-parisc/pgtable.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/asm-parisc/pgtable.h	2005-09-25 12:34:40.000000000 -0400
-@@ -504,6 +504,8 @@
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-parisc/pci.h CVS2_6_14_RC2_PA6/include/asm-parisc/pci.h
+--- LINUS_2_6_14_RC2/include/asm-parisc/pci.h	2005-09-22 19:18:07.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-parisc/pci.h	2005-09-14 07:21:28.000000000 -0600
+@@ -69,7 +69,7 @@
+ #define PCI_PORT_HBA(a)		((a) >> HBA_PORT_SPACE_BITS)
+ #define PCI_PORT_ADDR(a)	((a) & (HBA_PORT_SPACE_SIZE - 1))
+ 
+-#if CONFIG_64BIT
++#ifdef CONFIG_64BIT
+ #define PCI_F_EXTEND		0xffffffff00000000UL
+ #define PCI_IS_LMMIO(hba,a)	pci_is_lmmio(hba,a)
+ 
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-parisc/pgtable.h CVS2_6_14_RC2_PA6/include/asm-parisc/pgtable.h
+--- LINUS_2_6_14_RC2/include/asm-parisc/pgtable.h	2005-09-22 19:18:07.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-parisc/pgtable.h	2005-09-23 21:43:51.000000000 -0600
+@@ -501,6 +501,8 @@
  #define io_remap_pfn_range(vma, vaddr, pfn, size, prot)		\
  		remap_pfn_range(vma, vaddr, pfn, size, prot)
  
@@ -9059,10 +11366,10 @@
  #define MK_IOSPACE_PFN(space, pfn)	(pfn)
  #define GET_IOSPACE(pfn)		0
  #define GET_PFN(pfn)			(pfn)
-diff -Nur linux-2.6.13.org/include/asm-parisc/processor.h linux-2.6.13/include/asm-parisc/processor.h
---- linux-2.6.13.org/include/asm-parisc/processor.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/asm-parisc/processor.h	2005-09-25 12:34:40.000000000 -0400
-@@ -121,8 +121,27 @@
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-parisc/processor.h CVS2_6_14_RC2_PA6/include/asm-parisc/processor.h
+--- LINUS_2_6_14_RC2/include/asm-parisc/processor.h	2005-09-22 19:18:07.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-parisc/processor.h	2005-09-14 06:57:40.000000000 -0600
+@@ -122,8 +122,27 @@
  }; 
  
  /* Thread struct flags. */
@@ -9090,9 +11397,9 @@
  #define INIT_THREAD { \
  	regs:	{	gr: { 0, }, \
  			fr: { 0, }, \
-diff -Nur linux-2.6.13.org/include/asm-parisc/psw.h linux-2.6.13/include/asm-parisc/psw.h
---- linux-2.6.13.org/include/asm-parisc/psw.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/asm-parisc/psw.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-parisc/psw.h CVS2_6_14_RC2_PA6/include/asm-parisc/psw.h
+--- LINUS_2_6_14_RC2/include/asm-parisc/psw.h	2005-09-22 19:18:07.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-parisc/psw.h	2005-05-12 22:39:05.000000000 -0600
 @@ -1,4 +1,7 @@
  #ifndef _PARISC_PSW_H
 +
@@ -9165,9 +11472,9 @@
 +#define USER_PSW      (PSW_C | PSW_Q | PSW_P | PSW_D | PSW_I)
 +
  #endif
-diff -Nur linux-2.6.13.org/include/asm-parisc/ptrace.h linux-2.6.13/include/asm-parisc/ptrace.h
---- linux-2.6.13.org/include/asm-parisc/ptrace.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/asm-parisc/ptrace.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-parisc/ptrace.h CVS2_6_14_RC2_PA6/include/asm-parisc/ptrace.h
+--- LINUS_2_6_14_RC2/include/asm-parisc/ptrace.h	2005-09-22 19:18:07.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-parisc/ptrace.h	2005-03-31 08:27:13.000000000 -0700
 @@ -49,7 +49,7 @@
  #define user_mode(regs)			(((regs)->iaoq[0] & 3) ? 1 : 0)
  #define user_space(regs)		(((regs)->iasq[1] != 0) ? 1 : 0)
@@ -9177,81 +11484,56 @@
  extern void show_regs(struct pt_regs *);
  #endif
  
-diff -Nur linux-2.6.13.org/include/asm-parisc/spinlock.h linux-2.6.13/include/asm-parisc/spinlock.h
---- linux-2.6.13.org/include/asm-parisc/spinlock.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/asm-parisc/spinlock.h	2005-09-25 12:34:40.000000000 -0400
-@@ -8,9 +8,15 @@
-  * the semaphore address has to be 16-byte aligned.
-  */
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-parisc/smp.h CVS2_6_14_RC2_PA6/include/asm-parisc/smp.h
+--- LINUS_2_6_14_RC2/include/asm-parisc/smp.h	2005-06-30 08:26:22.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-parisc/smp.h	2005-10-18 12:06:36.000000000 -0600
+@@ -29,6 +29,7 @@
+ #define cpu_logical_map(cpu)	(cpu)
  
-+#ifdef CONFIG_PA20
-+#define __SPIN_FIELD_UNLOCKED	1
-+#else
-+#define __SPIN_FIELD_UNLOCKED	{ 1, 1, 1, 1 }
-+#endif
-+
- #ifndef CONFIG_DEBUG_SPINLOCK
+ extern void smp_send_reschedule(int cpu);
++extern void smp_send_all_nop(void);
  
--#define __SPIN_LOCK_UNLOCKED	{ { 1, 1, 1, 1 } }
-+#define __SPIN_LOCK_UNLOCKED    { .lock = __SPIN_FIELD_UNLOCKED, }
- #undef SPIN_LOCK_UNLOCKED
- #define SPIN_LOCK_UNLOCKED (spinlock_t) __SPIN_LOCK_UNLOCKED
+ #endif /* !ASSEMBLY */
  
-@@ -64,7 +70,15 @@
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-parisc/spinlock.h CVS2_6_14_RC2_PA6/include/asm-parisc/spinlock.h
+--- LINUS_2_6_14_RC2/include/asm-parisc/spinlock.h	2005-09-22 19:18:07.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-parisc/spinlock.h	2005-09-14 08:42:11.000000000 -0600
+@@ -5,11 +5,6 @@
+ #include <asm/processor.h>
+ #include <asm/spinlock_types.h>
  
- #define SPINLOCK_MAGIC	0x1D244B3C
+-/* Note that PA-RISC has to use `1' to mean unlocked and `0' to mean locked
+- * since it only has load-and-zero. Moreover, at least on some PA processors,
+- * the semaphore address has to be 16-byte aligned.
+- */
+-
+ static inline int __raw_spin_is_locked(raw_spinlock_t *x)
+ {
+ 	volatile unsigned int *a = __ldcw_align(x);
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-parisc/spinlock_types.h CVS2_6_14_RC2_PA6/include/asm-parisc/spinlock_types.h
+--- LINUS_2_6_14_RC2/include/asm-parisc/spinlock_types.h	2005-09-22 19:18:07.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-parisc/spinlock_types.h	2005-09-27 09:22:08.000000000 -0600
+@@ -6,11 +6,15 @@
+ #endif
  
--#define __SPIN_LOCK_UNLOCKED	{ { 1, 1, 1, 1 }, SPINLOCK_MAGIC, 10, __FILE__ , NULL, 0, -1, NULL, NULL }
-+#define __SPIN_LOCK_UNLOCKED	{ .lock = __SPIN_FIELD_UNLOCKED, 	\
-+				  .magic = SPINLOCK_MAGIC, 		\
-+				  .babble = 10, 			\
-+				  .module = __FILE__, 			\
-+				  .bfile = NULL, 			\
-+				  .bline = 0, 				\
-+				  .oncpu = -1, 				\
-+				  .previous = NULL, 			\
-+				  .task = NULL }
- #undef SPIN_LOCK_UNLOCKED
- #define SPIN_LOCK_UNLOCKED (spinlock_t) __SPIN_LOCK_UNLOCKED
+ typedef struct {
++#ifdef CONFIG_PA20
++	volatile unsigned int slock;
++# define __RAW_SPIN_LOCK_UNLOCKED { 1 }
++#else
+ 	volatile unsigned int lock[4];
++# define __RAW_SPIN_LOCK_UNLOCKED	{ { 1, 1, 1, 1 } }
++#endif
+ } raw_spinlock_t;
  
-@@ -72,7 +86,7 @@
- 
- #define CHECK_LOCK(x)							\
- 	do {								\
--	 	if (unlikely((x)->magic != SPINLOCK_MAGIC)) {			\
-+	 	if (unlikely((x)->magic != SPINLOCK_MAGIC)) {		\
- 			printk(KERN_ERR "%s:%d: spin_is_locked"		\
- 			" on uninitialized spinlock %p.\n",		\
- 				__FILE__, __LINE__, (x)); 		\
-@@ -81,9 +95,10 @@
- 
- #define spin_is_locked(x)						\
- 	({								\
-+		volatile unsigned int *a;				\
- 	 	CHECK_LOCK(x);						\
--		volatile unsigned int *a = __ldcw_align(x);		\
--		if (unlikely((*a == 0) && (x)->babble)) {				\
-+		a = __ldcw_align(x);					\
-+		if (unlikely((*a == 0) && (x)->babble)) {		\
- 			(x)->babble--;					\
- 			printk("KERN_WARNING				\
- 				%s:%d: spin_is_locked(%s/%p) already"	\
-@@ -97,9 +112,10 @@
- 
- #define spin_unlock_wait(x)						\
- 	do {								\
-+		volatile unsigned int *a;				\
- 	 	CHECK_LOCK(x);						\
--		volatile unsigned int *a = __ldcw_align(x);		\
--		if (unlikely((*a == 0) && (x)->babble)) {				\
-+		a = __ldcw_align(x);					\
-+		if (unlikely((*a == 0) && (x)->babble)) {		\
- 			(x)->babble--;					\
- 			printk("KERN_WARNING				\
- 				%s:%d: spin_unlock_wait(%s/%p)"		\
-diff -Nur linux-2.6.13.org/include/asm-parisc/system.h linux-2.6.13/include/asm-parisc/system.h
---- linux-2.6.13.org/include/asm-parisc/system.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/asm-parisc/system.h	2005-09-25 12:34:40.000000000 -0400
+-#define __RAW_SPIN_LOCK_UNLOCKED	{ { 1, 1, 1, 1 } }
+-
+ typedef struct {
+ 	raw_spinlock_t lock;
+ 	volatile int counter;
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-parisc/system.h CVS2_6_14_RC2_PA6/include/asm-parisc/system.h
+--- LINUS_2_6_14_RC2/include/asm-parisc/system.h	2005-09-22 19:18:07.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-parisc/system.h	2005-09-14 06:57:40.000000000 -0600
 @@ -138,13 +138,7 @@
  #define set_wmb(var, value)		do { var = value; wmb(); } while (0)
  
@@ -9267,7 +11549,7 @@
  /* Because kmalloc only guarantees 8-byte alignment for kmalloc'd data,
     and GCC only guarantees 8-byte alignment for stack locals, we can't
     be assured of 16-byte alignment for atomic lock data even if we
-@@ -152,12 +146,35 @@
+@@ -152,37 +146,41 @@
     we use a struct containing an array of four ints for the atomic lock
     type and dynamically select the 16-byte aligned int from the array
     for the semaphore.  */
@@ -9279,7 +11561,10 @@
    (volatile unsigned int *) __ret;                                      \
  })
 +#define LDCW	"ldcw"
-+
+ 
+-#ifdef CONFIG_SMP
+-# define __lock_aligned __attribute__((__section__(".data.lock_aligned")))
+-#endif
 +#else /*CONFIG_PA20*/
 +/* From: "Jim Hull" <jim.hull of hp.com>
 +   I've attached a summary of the change, but basically, for PA 2.0, as
@@ -9291,36 +11576,10 @@
 +#define __PA_LDCW_ALIGNMENT 4
 +#define __ldcw_align(a) ((volatile unsigned int *)a)
 +#define LDCW	"ldcw,co"
-+
+ 
+-#define KERNEL_START (0x10100000 - 0x1000)
 +#endif /*!CONFIG_PA20*/
-+
-+/* LDCW, the only atomic read-write operation PA-RISC has. *sigh*.  */
-+#define __ldcw(a) ({ \
-+	unsigned __ret; \
-+	__asm__ __volatile__(LDCW " 0(%1),%0" : "=r" (__ret) : "r" (a)); \
-+	__ret; \
-+})
  
- #ifdef CONFIG_SMP
- /*
-@@ -165,7 +182,11 @@
-  */
- 
- typedef struct {
--	volatile unsigned int lock[4];
-+#ifdef CONFIG_PA20
-+	volatile unsigned int lock;
-+#else
-+        volatile unsigned int lock[4];
-+#endif
- #ifdef CONFIG_DEBUG_SPINLOCK
- 	unsigned long magic;
- 	volatile unsigned int babble;
-@@ -186,25 +207,6 @@
- #endif
- 
- #define KERNEL_START (0x10100000 - 0x1000)
--
 -/* This is for the serialisation of PxTLB broadcasts.  At least on the
 - * N class systems, only one PxTLB inter processor broadcast can be
 - * active at any one time on the Merced bus.  This tlb purge
@@ -9336,15 +11595,24 @@
 -
 -#define purge_tlb_start(x) do { } while(0)
 -#define purge_tlb_end(x) do { } while (0)
--
--#endif
--
++/* LDCW, the only atomic read-write operation PA-RISC has. *sigh*.  */
++#define __ldcw(a) ({ \
++	unsigned __ret; \
++	__asm__ __volatile__(LDCW " 0(%1),%0" : "=r" (__ret) : "r" (a)); \
++	__ret; \
++})
+ 
++#ifdef CONFIG_SMP
++# define __lock_aligned __attribute__((__section__(".data.lock_aligned")))
+ #endif
+ 
++#define KERNEL_START (0x10100000 - 0x1000)
  #define arch_align_stack(x) (x)
  
  #endif
-diff -Nur linux-2.6.13.org/include/asm-parisc/tlbflush.h linux-2.6.13/include/asm-parisc/tlbflush.h
---- linux-2.6.13.org/include/asm-parisc/tlbflush.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/asm-parisc/tlbflush.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-parisc/tlbflush.h CVS2_6_14_RC2_PA6/include/asm-parisc/tlbflush.h
+--- LINUS_2_6_14_RC2/include/asm-parisc/tlbflush.h	2005-09-22 19:18:07.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-parisc/tlbflush.h	2005-06-04 01:11:25.000000000 -0600
 @@ -7,6 +7,26 @@
  #include <linux/mm.h>
  #include <asm/mmu_context.h>
@@ -9405,9 +11673,9 @@
  	}
  }
  
-diff -Nur linux-2.6.13.org/include/asm-parisc/types.h linux-2.6.13/include/asm-parisc/types.h
---- linux-2.6.13.org/include/asm-parisc/types.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/asm-parisc/types.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-parisc/types.h CVS2_6_14_RC2_PA6/include/asm-parisc/types.h
+--- LINUS_2_6_14_RC2/include/asm-parisc/types.h	2005-09-22 19:18:07.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-parisc/types.h	2005-09-14 06:57:40.000000000 -0600
 @@ -33,8 +33,10 @@
  
  #ifdef __LP64__
@@ -9419,9 +11687,9 @@
  #endif
  
  #ifndef __ASSEMBLY__
-diff -Nur linux-2.6.13.org/include/asm-parisc/unistd.h linux-2.6.13/include/asm-parisc/unistd.h
---- linux-2.6.13.org/include/asm-parisc/unistd.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/asm-parisc/unistd.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-parisc/unistd.h CVS2_6_14_RC2_PA6/include/asm-parisc/unistd.h
+--- LINUS_2_6_14_RC2/include/asm-parisc/unistd.h	2005-09-22 19:18:07.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-parisc/unistd.h	2005-09-21 22:26:33.000000000 -0600
 @@ -687,8 +687,8 @@
  #define __NR_shmget             (__NR_Linux + 194)
  #define __NR_shmctl             (__NR_Linux + 195)
@@ -9433,7 +11701,7 @@
  
  #define __NR_lstat64            (__NR_Linux + 198)
  #define __NR_truncate64         (__NR_Linux + 199)
-@@ -755,8 +755,12 @@
+@@ -755,8 +755,14 @@
  #define __NR_mbind		(__NR_Linux + 260)
  #define __NR_get_mempolicy	(__NR_Linux + 261)
  #define __NR_set_mempolicy	(__NR_Linux + 262)
@@ -9441,13 +11709,15 @@
 +#define __NR_add_key		(__NR_Linux + 264)
 +#define __NR_request_key	(__NR_Linux + 265)
 +#define __NR_keyctl		(__NR_Linux + 266)
++#define __NR_ioprio_set		(__NR_Linux + 267)
++#define __NR_ioprio_get		(__NR_Linux + 268)
  
 -#define __NR_Linux_syscalls     263
-+#define __NR_Linux_syscalls     267
++#define __NR_Linux_syscalls     269
  
  #define HPUX_GATEWAY_ADDR       0xC0000004
  #define LINUX_GATEWAY_ADDR      0x100
-@@ -807,10 +811,10 @@
+@@ -807,10 +813,10 @@
  #define K_INLINE_SYSCALL(name, nr, args...)	({			\
  	long __sys_res;							\
  	{								\
@@ -9460,35 +11730,35 @@
  			K_STW_ASM_PIC					\
  			"	ble  0x100(%%sr2, %%r0)\n"		\
  			"	ldi %1, %%r20\n"			\
-diff -Nur linux-2.6.13.org/include/asm-s390/compat.h linux-2.6.13/include/asm-s390/compat.h
---- linux-2.6.13.org/include/asm-s390/compat.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/asm-s390/compat.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-s390/compat.h CVS2_6_14_RC2_PA6/include/asm-s390/compat.h
+--- LINUS_2_6_14_RC2/include/asm-s390/compat.h	2005-09-22 19:18:09.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-s390/compat.h	2005-09-14 06:57:44.000000000 -0600
 @@ -15,6 +15,9 @@
  typedef s32		compat_pid_t;
- typedef u16		compat_uid_t;
- typedef u16		compat_gid_t;
+ typedef u16		__compat_uid_t;
+ typedef u16		__compat_gid_t;
 +/* Define for use in compat_siginfo_t */
 +#undef __ARCH_SI_COMPAT_UID_T
-+#define __ARCH_SI_COMPAT_UID_T compat_uid32_t
- typedef u32		compat_uid32_t;
- typedef u32		compat_gid32_t;
++#define __ARCH_SI_COMPAT_UID_T __compat_uid32_t
+ typedef u32		__compat_uid32_t;
+ typedef u32		__compat_gid32_t;
  typedef u16		compat_mode_t;
-diff -Nur linux-2.6.13.org/include/asm-sparc64/compat.h linux-2.6.13/include/asm-sparc64/compat.h
---- linux-2.6.13.org/include/asm-sparc64/compat.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/asm-sparc64/compat.h	2005-09-25 12:34:40.000000000 -0400
-@@ -12,6 +12,9 @@
- typedef s32		compat_time_t;
- typedef s32		compat_clock_t;
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/asm-sparc64/compat.h CVS2_6_14_RC2_PA6/include/asm-sparc64/compat.h
+--- LINUS_2_6_14_RC2/include/asm-sparc64/compat.h	2005-09-22 19:18:11.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/asm-sparc64/compat.h	2005-09-14 06:57:45.000000000 -0600
+@@ -14,6 +14,9 @@
  typedef s32		compat_pid_t;
+ typedef u16		__compat_uid_t;
+ typedef u16		__compat_gid_t;
 +/* Define for use in the compat_siginfo_t */
 +#undef __ARCH_SI_COMPAT_UID_T
 +#define __ARCH_SI_COMPAT_UID_T compat_uint_t
- typedef u16		compat_uid_t;
- typedef u16		compat_gid_t;
+ typedef u32		__compat_uid32_t;
+ typedef u32		__compat_gid32_t;
  typedef u16		compat_mode_t;
-diff -Nur linux-2.6.13.org/include/linux/compat.h linux-2.6.13/include/linux/compat.h
---- linux-2.6.13.org/include/linux/compat.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/linux/compat.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/linux/compat.h CVS2_6_14_RC2_PA6/include/linux/compat.h
+--- LINUS_2_6_14_RC2/include/linux/compat.h	2005-09-22 19:18:13.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/linux/compat.h	2005-09-14 06:57:49.000000000 -0600
 @@ -6,10 +6,16 @@
   */
  #include <linux/config.h>
@@ -9515,11 +11785,11 @@
 +#ifndef HAVE_ARCH_IS_COMPAT_TASK
 +#define is_compat_task(x) (personality(x->personality) == PER_LINUX32)
 +#endif
-+	
- struct rusage;
++
+ typedef __compat_uid32_t	compat_uid_t;
+ typedef __compat_gid32_t	compat_gid_t;
  
- struct compat_itimerspec { 
-@@ -96,28 +107,6 @@
+@@ -99,28 +110,6 @@
  	char		d_name[256];
  };
  
@@ -9548,7 +11818,7 @@
  
  long compat_sys_semctl(int first, int second, int third, void __user *uptr);
  long compat_sys_msgsnd(int first, int second, int third, void __user *uptr);
-@@ -153,10 +142,6 @@
+@@ -156,10 +145,6 @@
  		       unsigned long bitmap_size);
  long compat_put_bitmap(compat_ulong_t __user *umask, unsigned long *mask,
  		       unsigned long bitmap_size);
@@ -9559,9 +11829,9 @@
  
  #endif /* CONFIG_COMPAT */
  #endif /* _LINUX_COMPAT_H */
-diff -Nur linux-2.6.13.org/include/linux/compat_siginfo.h linux-2.6.13/include/linux/compat_siginfo.h
---- linux-2.6.13.org/include/linux/compat_siginfo.h	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.13/include/linux/compat_siginfo.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/linux/compat_siginfo.h CVS2_6_14_RC2_PA6/include/linux/compat_siginfo.h
+--- LINUS_2_6_14_RC2/include/linux/compat_siginfo.h	1969-12-31 17:00:00.000000000 -0700
++++ CVS2_6_14_RC2_PA6/include/linux/compat_siginfo.h	2005-08-02 08:33:30.000000000 -0600
 @@ -0,0 +1,182 @@
 +#ifndef _ASM_GENERIC_COMPAT_SIGINFO_H
 +#define _ASM_GENERIC_COMPAT_SIGINFO_H
@@ -9745,9 +12015,9 @@
 +#endif /* CONFIG_COMPAT */
 +#endif /* _ASM_GENERIC_COMPAT_SIGINFO_H */
 +
-diff -Nur linux-2.6.13.org/include/linux/hil.h linux-2.6.13/include/linux/hil.h
---- linux-2.6.13.org/include/linux/hil.h	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.13/include/linux/hil.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/linux/hil.h CVS2_6_14_RC2_PA6/include/linux/hil.h
+--- LINUS_2_6_14_RC2/include/linux/hil.h	1969-12-31 17:00:00.000000000 -0700
++++ CVS2_6_14_RC2_PA6/include/linux/hil.h	2004-10-31 14:05:59.000000000 -0700
 @@ -0,0 +1,483 @@
 +#ifndef _HIL_H_
 +#define _HIL_H_
@@ -10232,9 +12502,9 @@
 +
 +
 +#endif /* _HIL_H_ */
-diff -Nur linux-2.6.13.org/include/linux/hil_mlc.h linux-2.6.13/include/linux/hil_mlc.h
---- linux-2.6.13.org/include/linux/hil_mlc.h	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.13/include/linux/hil_mlc.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/linux/hil_mlc.h CVS2_6_14_RC2_PA6/include/linux/hil_mlc.h
+--- LINUS_2_6_14_RC2/include/linux/hil_mlc.h	1969-12-31 17:00:00.000000000 -0700
++++ CVS2_6_14_RC2_PA6/include/linux/hil_mlc.h	2004-10-30 13:51:51.000000000 -0600
 @@ -0,0 +1,168 @@
 +/*
 + * HP Human Interface Loop Master Link Controller driver.
@@ -10404,9 +12674,9 @@
 +
 +int hil_mlc_register(hil_mlc *mlc);
 +int hil_mlc_unregister(hil_mlc *mlc);
-diff -Nur linux-2.6.13.org/include/linux/hp_sdc.h linux-2.6.13/include/linux/hp_sdc.h
---- linux-2.6.13.org/include/linux/hp_sdc.h	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.13/include/linux/hp_sdc.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/linux/hp_sdc.h CVS2_6_14_RC2_PA6/include/linux/hp_sdc.h
+--- LINUS_2_6_14_RC2/include/linux/hp_sdc.h	1969-12-31 17:00:00.000000000 -0700
++++ CVS2_6_14_RC2_PA6/include/linux/hp_sdc.h	2004-07-11 16:03:48.000000000 -0600
 @@ -0,0 +1,300 @@
 +/*
 + * HP i8042 System Device Controller -- header
@@ -10708,10 +12978,10 @@
 +} hp_i8042_sdc;
 +
 +#endif /* _LINUX_HP_SDC_H */
-diff -Nur linux-2.6.13.org/include/linux/input.h linux-2.6.13/include/linux/input.h
---- linux-2.6.13.org/include/linux/input.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/linux/input.h	2005-09-25 12:34:40.000000000 -0400
-@@ -620,6 +620,7 @@
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/linux/input.h CVS2_6_14_RC2_PA6/include/linux/input.h
+--- LINUS_2_6_14_RC2/include/linux/input.h	2005-09-22 19:18:13.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/linux/input.h	2005-09-14 06:57:49.000000000 -0600
+@@ -644,6 +644,7 @@
  #define BUS_ADB			0x17
  #define BUS_I2C			0x18
  #define BUS_HOST		0x19
@@ -10719,9 +12989,9 @@
  
  /*
   * Values describing the status of an effect
-diff -Nur linux-2.6.13.org/include/linux/serio.h linux-2.6.13/include/linux/serio.h
---- linux-2.6.13.org/include/linux/serio.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/linux/serio.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/linux/serio.h CVS2_6_14_RC2_PA6/include/linux/serio.h
+--- LINUS_2_6_14_RC2/include/linux/serio.h	2005-09-22 19:18:13.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/linux/serio.h	2005-06-30 08:26:28.000000000 -0600
 @@ -185,7 +185,7 @@
  #define SERIO_8042_XL	0x06
  
@@ -10731,9 +13001,9 @@
   */
  #define SERIO_UNKNOWN	0x00
  #define SERIO_MSC	0x01
-diff -Nur linux-2.6.13.org/include/linux/signal.h linux-2.6.13/include/linux/signal.h
---- linux-2.6.13.org/include/linux/signal.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/linux/signal.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/linux/signal.h CVS2_6_14_RC2_PA6/include/linux/signal.h
+--- LINUS_2_6_14_RC2/include/linux/signal.h	2005-09-22 19:18:13.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/linux/signal.h	2005-06-17 21:32:55.000000000 -0600
 @@ -234,6 +234,9 @@
  struct pt_regs;
  extern int get_signal_to_deliver(siginfo_t *info, struct k_sigaction *return_ka, struct pt_regs *regs, void *cookie);
@@ -10744,10 +13014,10 @@
  #endif /* __KERNEL__ */
  
  #endif /* _LINUX_SIGNAL_H */
-diff -Nur linux-2.6.13.org/include/sound/opl3.h linux-2.6.13/include/sound/opl3.h
---- linux-2.6.13.org/include/sound/opl3.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/include/sound/opl3.h	2005-09-25 12:34:40.000000000 -0400
-@@ -261,8 +261,8 @@
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/include/sound/opl3.h CVS2_6_14_RC2_PA6/include/sound/opl3.h
+--- LINUS_2_6_14_RC2/include/sound/opl3.h	2005-09-22 19:18:16.000000000 -0600
++++ CVS2_6_14_RC2_PA6/include/sound/opl3.h	2005-09-13 18:31:04.000000000 -0600
+@@ -261,10 +261,11 @@
  } snd_opl3_voice_t;
  
  struct snd_opl3 {
@@ -10757,8 +13027,11 @@
 +	void __iomem *r_port;
  	struct resource *res_l_port;
  	struct resource *res_r_port;
++	int unmap_on_free;
  	unsigned short hardware;
-@@ -319,6 +319,9 @@
+ 	/* hardware access */
+ 	void (*command) (opl3_t * opl3, unsigned short cmd, unsigned char val);
+@@ -319,6 +320,9 @@
  void snd_opl3_interrupt(snd_hwdep_t * hw);
  int snd_opl3_new(snd_card_t *card, unsigned short hardware, opl3_t **ropl3);
  int snd_opl3_init(opl3_t *opl3);
@@ -10768,9 +13041,9 @@
  int snd_opl3_create(snd_card_t * card,
  		    unsigned long l_port, unsigned long r_port,
  		    unsigned short hardware,
-diff -Nur linux-2.6.13.org/ipc/compat_mq.c linux-2.6.13/ipc/compat_mq.c
---- linux-2.6.13.org/ipc/compat_mq.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/ipc/compat_mq.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/ipc/compat_mq.c CVS2_6_14_RC2_PA6/ipc/compat_mq.c
+--- LINUS_2_6_14_RC2/ipc/compat_mq.c	2005-09-22 19:18:17.000000000 -0600
++++ CVS2_6_14_RC2_PA6/ipc/compat_mq.c	2005-03-18 06:17:54.000000000 -0700
 @@ -7,6 +7,7 @@
   */
  
@@ -10779,10 +13052,10 @@
  #include <linux/fs.h>
  #include <linux/kernel.h>
  #include <linux/mqueue.h>
-diff -Nur linux-2.6.13.org/kernel/Makefile linux-2.6.13/kernel/Makefile
---- linux-2.6.13.org/kernel/Makefile	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/kernel/Makefile	2005-09-25 12:34:40.000000000 -0400
-@@ -18,7 +18,7 @@
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/kernel/Makefile CVS2_6_14_RC2_PA6/kernel/Makefile
+--- LINUS_2_6_14_RC2/kernel/Makefile	2005-09-22 19:18:17.000000000 -0600
++++ CVS2_6_14_RC2_PA6/kernel/Makefile	2005-09-14 06:57:58.000000000 -0600
+@@ -19,7 +19,7 @@
  obj-$(CONFIG_PM) += power/
  obj-$(CONFIG_BSD_PROCESS_ACCT) += acct.o
  obj-$(CONFIG_KEXEC) += kexec.o
@@ -10791,9 +13064,9 @@
  obj-$(CONFIG_CPUSETS) += cpuset.o
  obj-$(CONFIG_IKCONFIG) += configs.o
  obj-$(CONFIG_IKCONFIG_PROC) += configs.o
-diff -Nur linux-2.6.13.org/kernel/compat.c linux-2.6.13/kernel/compat.c
---- linux-2.6.13.org/kernel/compat.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/kernel/compat.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/kernel/compat.c CVS2_6_14_RC2_PA6/kernel/compat.c
+--- LINUS_2_6_14_RC2/kernel/compat.c	2005-09-22 19:18:17.000000000 -0600
++++ CVS2_6_14_RC2_PA6/kernel/compat.c	2005-09-14 06:57:58.000000000 -0600
 @@ -13,6 +13,7 @@
  
  #include <linux/linkage.h>
@@ -10802,7 +13075,7 @@
  #include <linux/errno.h>
  #include <linux/time.h>
  #include <linux/signal.h>
-@@ -441,7 +442,11 @@
+@@ -439,7 +440,11 @@
  
  	BUG_ON(info.si_code & __SI_MASK);
  	info.si_code |= __SI_CHLD;
@@ -10815,7 +13088,7 @@
  }
  
  static int compat_get_user_cpu_mask(compat_ulong_t __user *user_mask_ptr,
-@@ -653,6 +658,44 @@
+@@ -651,6 +656,44 @@
  
  /* timer_create is architecture specific because it needs sigevent conversion */
  
@@ -10860,7 +13133,7 @@
  long compat_get_bitmap(unsigned long *mask, compat_ulong_t __user *umask,
  		       unsigned long bitmap_size)
  {
-@@ -810,7 +853,7 @@
+@@ -807,7 +850,7 @@
  	if (sig) {
  		ret = sig;
  		if (uinfo) {
@@ -10869,9 +13142,9 @@
  				ret = -EFAULT;
  		}
  	}else {
-diff -Nur linux-2.6.13.org/kernel/compat_signal.c linux-2.6.13/kernel/compat_signal.c
---- linux-2.6.13.org/kernel/compat_signal.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.13/kernel/compat_signal.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/kernel/compat_signal.c CVS2_6_14_RC2_PA6/kernel/compat_signal.c
+--- LINUS_2_6_14_RC2/kernel/compat_signal.c	1969-12-31 17:00:00.000000000 -0700
++++ CVS2_6_14_RC2_PA6/kernel/compat_signal.c	2005-08-02 10:22:04.000000000 -0600
 @@ -0,0 +1,280 @@
 +/*
 + *  Copyright (C) 2003 Carlos O'Donell
@@ -11153,9 +13426,9 @@
 +}
 +#endif
 +
-diff -Nur linux-2.6.13.org/kernel/posix-cpu-timers.c linux-2.6.13/kernel/posix-cpu-timers.c
---- linux-2.6.13.org/kernel/posix-cpu-timers.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/kernel/posix-cpu-timers.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/kernel/posix-cpu-timers.c CVS2_6_14_RC2_PA6/kernel/posix-cpu-timers.c
+--- LINUS_2_6_14_RC2/kernel/posix-cpu-timers.c	2005-09-22 19:18:18.000000000 -0600
++++ CVS2_6_14_RC2_PA6/kernel/posix-cpu-timers.c	2005-04-04 14:47:32.000000000 -0600
 @@ -1270,8 +1270,6 @@
  	LIST_HEAD(firing);
  	struct k_itimer *timer, *next;
@@ -11165,10 +13438,10 @@
  #define UNEXPIRED(clock) \
  		(cputime_eq(tsk->it_##clock##_expires, cputime_zero) || \
  		 cputime_lt(clock##_ticks(tsk), tsk->it_##clock##_expires))
-diff -Nur linux-2.6.13.org/kernel/ptrace.c linux-2.6.13/kernel/ptrace.c
---- linux-2.6.13.org/kernel/ptrace.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/kernel/ptrace.c	2005-09-25 12:34:40.000000000 -0400
-@@ -344,7 +344,7 @@
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/kernel/ptrace.c CVS2_6_14_RC2_PA6/kernel/ptrace.c
+--- LINUS_2_6_14_RC2/kernel/ptrace.c	2005-09-22 19:18:18.000000000 -0600
++++ CVS2_6_14_RC2_PA6/kernel/ptrace.c	2005-09-14 06:57:58.000000000 -0600
+@@ -359,7 +359,7 @@
  	siginfo_t newinfo;
  	int error = -ESRCH;
  
@@ -11177,9 +13450,9 @@
  		return -EFAULT;
  
  	read_lock(&tasklist_lock);
-diff -Nur linux-2.6.13.org/kernel/resource.c linux-2.6.13/kernel/resource.c
---- linux-2.6.13.org/kernel/resource.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/kernel/resource.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/kernel/resource.c CVS2_6_14_RC2_PA6/kernel/resource.c
+--- LINUS_2_6_14_RC2/kernel/resource.c	2005-09-22 19:18:18.000000000 -0600
++++ CVS2_6_14_RC2_PA6/kernel/resource.c	2005-09-14 06:57:58.000000000 -0600
 @@ -181,6 +181,8 @@
  {
  	struct resource *tmp, **p;
@@ -11189,9 +13462,9 @@
  	p = &old->parent->child;
  	for (;;) {
  		tmp = *p;
-diff -Nur linux-2.6.13.org/kernel/signal.c linux-2.6.13/kernel/signal.c
---- linux-2.6.13.org/kernel/signal.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/kernel/signal.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/kernel/signal.c CVS2_6_14_RC2_PA6/kernel/signal.c
+--- LINUS_2_6_14_RC2/kernel/signal.c	2005-09-22 19:18:18.000000000 -0600
++++ CVS2_6_14_RC2_PA6/kernel/signal.c	2005-09-14 06:57:58.000000000 -0600
 @@ -22,6 +22,7 @@
  #include <linux/security.h>
  #include <linux/syscalls.h>
@@ -11200,7 +13473,7 @@
  #include <linux/posix-timers.h>
  #include <linux/signal.h>
  #include <linux/audit.h>
-@@ -2113,17 +2114,35 @@
+@@ -2106,17 +2107,35 @@
  	return do_sigpending(set, sigsetsize);
  }
  
@@ -11236,7 +13509,7 @@
  	/*
  	 * If you change siginfo_t structure, please be sure
  	 * this code is fixed accordingly.
-@@ -2361,7 +2380,7 @@
+@@ -2353,7 +2372,7 @@
  {
  	siginfo_t info;
  
@@ -11245,9 +13518,9 @@
  		return -EFAULT;
  
  	/* Not even root can pretend to send signals from the kernel.
-diff -Nur linux-2.6.13.org/kernel/sys.c linux-2.6.13/kernel/sys.c
---- linux-2.6.13.org/kernel/sys.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/kernel/sys.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/kernel/sys.c CVS2_6_14_RC2_PA6/kernel/sys.c
+--- LINUS_2_6_14_RC2/kernel/sys.c	2005-09-22 19:18:18.000000000 -0600
++++ CVS2_6_14_RC2_PA6/kernel/sys.c	2005-09-23 21:43:57.000000000 -0600
 @@ -32,6 +32,7 @@
  #include <linux/compat.h>
  #include <linux/syscalls.h>
@@ -11256,10 +13529,10 @@
  #include <asm/uaccess.h>
  #include <asm/io.h>
  #include <asm/unistd.h>
-diff -Nur linux-2.6.13.org/mm/shmem.c linux-2.6.13/mm/shmem.c
---- linux-2.6.13.org/mm/shmem.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/mm/shmem.c	2005-09-25 12:34:40.000000000 -0400
-@@ -461,7 +461,7 @@
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/mm/shmem.c CVS2_6_14_RC2_PA6/mm/shmem.c
+--- LINUS_2_6_14_RC2/mm/shmem.c	2005-09-22 19:18:19.000000000 -0600
++++ CVS2_6_14_RC2_PA6/mm/shmem.c	2005-09-14 06:58:00.000000000 -0600
+@@ -459,7 +459,7 @@
  	} while (next);
  }
  
@@ -11268,9 +13541,9 @@
  {
  	struct shmem_inode_info *info = SHMEM_I(inode);
  	unsigned long idx;
-diff -Nur linux-2.6.13.org/sound/drivers/opl3/opl3_lib.c linux-2.6.13/sound/drivers/opl3/opl3_lib.c
---- linux-2.6.13.org/sound/drivers/opl3/opl3_lib.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/sound/drivers/opl3/opl3_lib.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/sound/drivers/opl3/opl3_lib.c CVS2_6_14_RC2_PA6/sound/drivers/opl3/opl3_lib.c
+--- LINUS_2_6_14_RC2/sound/drivers/opl3/opl3_lib.c	2005-09-22 19:18:30.000000000 -0600
++++ CVS2_6_14_RC2_PA6/sound/drivers/opl3/opl3_lib.c	2005-09-23 21:44:05.000000000 -0600
 @@ -40,7 +40,7 @@
  static void snd_opl2_command(opl3_t * opl3, unsigned short cmd, unsigned char val)
  {
@@ -11483,9 +13756,9 @@
  EXPORT_SYMBOL(snd_opl3_timer_new);
  EXPORT_SYMBOL(snd_opl3_hwdep_new);
  
-diff -Nur linux-2.6.13.org/sound/oss/ad1889.c linux-2.6.13/sound/oss/ad1889.c
---- linux-2.6.13.org/sound/oss/ad1889.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/sound/oss/ad1889.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/sound/oss/ad1889.c CVS2_6_14_RC2_PA6/sound/oss/ad1889.c
+--- LINUS_2_6_14_RC2/sound/oss/ad1889.c	2005-09-22 19:18:35.000000000 -0600
++++ CVS2_6_14_RC2_PA6/sound/oss/ad1889.c	2005-06-30 08:26:47.000000000 -0600
 @@ -74,7 +74,7 @@
  
  	DBG("Setting WAV rate to %d\n", rate);
@@ -11877,9 +14150,9 @@
  	if (!dev->regbase) {
  		printk(KERN_ERR DEVNAME ": unable to remap iomem\n");
  		goto out2;
-diff -Nur linux-2.6.13.org/sound/oss/ad1889.h linux-2.6.13/sound/oss/ad1889.h
---- linux-2.6.13.org/sound/oss/ad1889.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/sound/oss/ad1889.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/sound/oss/ad1889.h CVS2_6_14_RC2_PA6/sound/oss/ad1889.h
+--- LINUS_2_6_14_RC2/sound/oss/ad1889.h	2005-09-22 19:18:35.000000000 -0600
++++ CVS2_6_14_RC2_PA6/sound/oss/ad1889.h	2005-03-01 16:00:56.000000000 -0700
 @@ -1,57 +1,58 @@
  #ifndef _AD1889_H_
  #define _AD1889_H_
@@ -11999,9 +14272,9 @@
  
  #define AD_WAV_STATE	0
  #define AD_ADC_STATE	1
-diff -Nur linux-2.6.13.org/sound/oss/harmony.c linux-2.6.13/sound/oss/harmony.c
---- linux-2.6.13.org/sound/oss/harmony.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/sound/oss/harmony.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/sound/oss/harmony.c CVS2_6_14_RC2_PA6/sound/oss/harmony.c
+--- LINUS_2_6_14_RC2/sound/oss/harmony.c	2005-09-22 19:18:35.000000000 -0600
++++ CVS2_6_14_RC2_PA6/sound/oss/harmony.c	2005-09-13 11:30:53.000000000 -0600
 @@ -1236,7 +1236,7 @@
  	}
  
@@ -12011,9 +14284,9 @@
  	harmony.dev = dev;
  
  	/* Grab the ID and revision from the device */
-diff -Nur linux-2.6.13.org/sound/parisc/harmony.c linux-2.6.13/sound/parisc/harmony.c
---- linux-2.6.13.org/sound/parisc/harmony.c	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/sound/parisc/harmony.c	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/sound/parisc/harmony.c CVS2_6_14_RC2_PA6/sound/parisc/harmony.c
+--- LINUS_2_6_14_RC2/sound/parisc/harmony.c	2005-09-22 19:18:36.000000000 -0600
++++ CVS2_6_14_RC2_PA6/sound/parisc/harmony.c	2005-09-23 21:44:09.000000000 -0600
 @@ -197,7 +197,7 @@
  	spin_unlock(&h->lock);
  
@@ -12223,9 +14496,9 @@
  		err = -EBUSY;
  		goto free_and_ret;
  	}
-diff -Nur linux-2.6.13.org/sound/parisc/harmony.h linux-2.6.13/sound/parisc/harmony.h
---- linux-2.6.13.org/sound/parisc/harmony.h	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/sound/parisc/harmony.h	2005-09-25 12:34:40.000000000 -0400
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/sound/parisc/harmony.h CVS2_6_14_RC2_PA6/sound/parisc/harmony.h
+--- LINUS_2_6_14_RC2/sound/parisc/harmony.h	2005-09-22 19:18:36.000000000 -0600
++++ CVS2_6_14_RC2_PA6/sound/parisc/harmony.h	2005-05-31 15:45:55.000000000 -0600
 @@ -61,7 +61,7 @@
  #define HARMONY_SIZE       64
  
@@ -12273,25 +14546,13 @@
  #define HARMONY_GAIN_OUT        0x3f
  #define HARMONY_GAIN_LO_SHIFT   6
  #define HARMONY_GAIN_LO_MASK    (HARMONY_GAIN_OUT << HARMONY_GAIN_LO_SHIFT)
-diff -Nur linux-2.6.13.org/sound/pci/Kconfig linux-2.6.13/sound/pci/Kconfig
---- linux-2.6.13.org/sound/pci/Kconfig	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/sound/pci/Kconfig	2005-09-25 12:34:40.000000000 -0400
-@@ -21,6 +21,26 @@
- 	  To compile this driver as a module, choose M here: the module
- 	  will be called snd-ali5451.
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/sound/pci/Kconfig CVS2_6_14_RC2_PA6/sound/pci/Kconfig
+--- LINUS_2_6_14_RC2/sound/pci/Kconfig	2005-09-22 19:18:36.000000000 -0600
++++ CVS2_6_14_RC2_PA6/sound/pci/Kconfig	2005-09-29 21:29:18.000000000 -0600
+@@ -328,6 +328,14 @@
+ 	  To compile this as a module, choose M here: the module
+ 	  will be called snd-ad1889.
  
-+config SND_AD1889
-+	tristate "Analog Devices AD1889"
-+	depends on SND
-+	select SND_AC97_CODEC
-+	help
-+	  Say Y here to include support for the integrated AC97 sound
-+	  device found in particular on the Hewlett-Packard [BCJ]-xxx0
-+	  class PA-RISC workstations, using the AD1819 codec.
-+
-+	  To compile this as a module, choose M here: the module
-+	  will be called snd-ad1889.
-+
 +config SND_AD1889_OPL3
 +	bool "Analog Devices AD1889 OPL3 Support (Experimental)"
 +	depends on SND_AD1889 && EXPERIMENTAL
@@ -12300,25 +14561,173 @@
 +	  Say Y here to include support for the OPL3-compatible interface
 +	  provided on an Analog Devices AD1889.
 +
- config SND_ATIIXP
- 	tristate "ATI IXP AC97 Controller"
- 	depends on SND
-diff -Nur linux-2.6.13.org/sound/pci/Makefile linux-2.6.13/sound/pci/Makefile
---- linux-2.6.13.org/sound/pci/Makefile	2005-08-28 19:41:01.000000000 -0400
-+++ linux-2.6.13/sound/pci/Makefile	2005-09-25 12:34:40.000000000 -0400
-@@ -4,6 +4,7 @@
- #
+ config SND_ALS4000
+ 	tristate "Avance Logic ALS4000"
+ 	depends on SND && ISA_DMA_API
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_14_RC2/sound/pci/ad1889.c CVS2_6_14_RC2_PA6/sound/pci/ad1889.c
+--- LINUS_2_6_14_RC2/sound/pci/ad1889.c	2005-09-22 19:18:37.000000000 -0600
++++ CVS2_6_14_RC2_PA6/sound/pci/ad1889.c	2005-08-31 21:28:22.000000000 -0600
+@@ -45,16 +45,21 @@
+ #include <sound/initval.h>
+ #include <sound/ac97_codec.h>
  
- snd-als4000-objs := als4000.o
-+snd-ad1889-objs := ad1889.o
- snd-atiixp-objs := atiixp.o
- snd-atiixp-modem-objs := atiixp_modem.o
- snd-azt3328-objs := azt3328.o
-@@ -26,6 +27,7 @@
++#ifdef CONFIG_SND_AD1889_OPL3
++#include <sound/opl3.h>
++#endif
++
+ #include <asm/io.h>
  
- # Toplevel Module Dependency
- obj-$(CONFIG_SND_ALS4000) += snd-als4000.o
-+obj-$(CONFIG_SND_AD1889) += snd-ad1889.o
- obj-$(CONFIG_SND_ATIIXP) += snd-atiixp.o
- obj-$(CONFIG_SND_ATIIXP_MODEM) += snd-atiixp-modem.o
- obj-$(CONFIG_SND_AZT3328) += snd-azt3328.o
+ #include "ad1889.h"
+ #include "ac97/ac97_id.h"
+ 
+-#define	AD1889_DRVVER	"$Revision: 1.3 $"
++#define	AD1889_DRVVER	"$Revision: 1.31 $"
+ 
+ MODULE_AUTHOR("Kyle McMartin <kyle at parisc-linux.org>, Thibaut Varene <t-bone at parisc-linux.org>");
+ MODULE_DESCRIPTION("Analog Devices AD1889 ALSA sound driver");
+ MODULE_LICENSE("GPL");
++MODULE_VERSION(AD1889_DRVVER);
+ MODULE_SUPPORTED_DEVICE("{{Analog Devices,AD1889}}");
+ 
+ static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX;
+@@ -94,11 +99,20 @@
+ 	unsigned long bar;
+ 	void __iomem *iobase;
+ 
++#ifdef CONFIG_SND_AD1889_OPL3
++	unsigned long opl3_bar;
++	void __iomem *opl3_iobase;
++
++	opl3_t *opl3;
++	snd_hwdep_t *opl3hwdep;
++#endif
++
+ 	ac97_t *ac97;
+ 	ac97_bus_t *ac97_bus;
+ 	snd_pcm_t *pcm;
+ 	snd_info_entry_t *proc;
+ 
++	struct snd_dma_device dma;
+ 	snd_pcm_substream_t *psubs;
+ 	snd_pcm_substream_t *csubs;
+ 
+@@ -112,25 +126,25 @@
+ static inline u16
+ ad1889_readw(struct snd_ad1889 *chip, unsigned reg)
+ {
+-	return readw(chip->iobase + reg);
++	return ioread16(chip->iobase + reg);
+ }
+ 
+ static inline void
+ ad1889_writew(struct snd_ad1889 *chip, unsigned reg, u16 val)
+ {
+-	writew(val, chip->iobase + reg);
++	iowrite16(val, chip->iobase + reg);
+ }
+ 
+ static inline u32
+ ad1889_readl(struct snd_ad1889 *chip, unsigned reg)
+ {
+-	return readl(chip->iobase + reg);
++	return ioread32(chip->iobase + reg);
+ }
+ 
+ static inline void
+ ad1889_writel(struct snd_ad1889 *chip, unsigned reg, u32 val)
+ {
+-	writel(val, chip->iobase + reg);
++	iowrite32(val, chip->iobase + reg);
+ }
+ 
+ static inline void
+@@ -620,6 +634,9 @@
+ 	if ((st & AD_DMA_DISR_ADCI) && chip->csubs)
+ 		snd_pcm_period_elapsed(chip->csubs);
+ 
++	ad1889_readl(chip, AD_DMA_DISR); /* flush */
++	/* XXX under some circumstances the DISR write flush may not happen */
++
+ 	return IRQ_HANDLED;
+ }
+ 
+@@ -658,6 +675,9 @@
+ 	chip->psubs = NULL;
+ 	chip->csubs = NULL;
+ 
++	chip->dma.dev = &chip->pci->dev;
++	chip->dma.type = SNDRV_DMA_TYPE_DEV;
++
+ 	err = snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
+ 						snd_dma_pci_data(chip->pci),
+ 						BUFFER_BYTES_MAX / 2,
+@@ -874,6 +894,11 @@
+ 	if (chip->iobase)
+ 		iounmap(chip->iobase);
+ 
++#ifdef CONFIG_SND_AD1889_OPL3
++	if (chip->opl3_iobase)
++		iounmap(chip->opl3_iobase);
++#endif
++	
+ 	pci_release_regions(chip->pci);
+ 	pci_disable_device(chip->pci);
+ 
+@@ -928,7 +953,7 @@
+ 	}
+ 
+ 	/* allocate chip specific data with zero-filled memory */
+-	if ((chip = kzalloc(sizeof(*chip), GFP_KERNEL)) == NULL) {
++	if ((chip = kcalloc(1, sizeof(*chip), GFP_KERNEL)) == NULL) {
+ 		pci_disable_device(pci);
+ 		return -ENOMEM;
+ 	}
+@@ -954,6 +979,17 @@
+ 
+ 	spin_lock_init(&chip->lock);	/* only now can we call ad1889_free */
+ 
++#ifdef CONFIG_SND_AD1889_OPL3
++	chip->opl3_bar = pci_resource_start(pci, 1);
++	chip->opl3_iobase = ioremap_nocache(chip->opl3_bar, 
++					   pci_resource_len(pci, 1));
++	if (chip->opl3_iobase == NULL) {
++		printk(KERN_ERR PFX "unable to reserve region.\n");
++		snd_ad1889_free(chip);
++		return -EBUSY;
++	}
++#endif
++
+ 	if (request_irq(pci->irq, snd_ad1889_interrupt,
+ 			SA_INTERRUPT|SA_SHIRQ, card->driver, (void*)chip)) {
+ 		printk(KERN_ERR PFX "cannot obtain IRQ %d\n", pci->irq);
+@@ -1030,6 +1066,22 @@
+ 	if (err < 0)
+ 		goto free_and_ret;
+ 	
++#ifdef CONFIG_SND_AD1889_OPL3
++	err = snd_opl3_create_mapped(card, chip->opl3_iobase,
++				     chip->opl3_iobase + 2, OPL3_HW_OPL3,
++				     &chip->opl3);
++	if (err) {
++		printk(KERN_ERR PFX "failed to create opl3\n");
++		goto free_and_ret;
++	}
++
++	err = snd_opl3_hwdep_new(chip->opl3, 0, 0, &chip->opl3hwdep);
++	if (err) {
++		printk(KERN_ERR PFX "failed to create opl3hwdep\n");
++		goto free_and_ret;
++	}
++#endif
++
+ 	err = snd_ad1889_pcm_init(chip, 0, NULL);
+ 	if (err < 0)
+ 		goto free_and_ret;
+@@ -1068,7 +1120,6 @@
+ 
+ static struct pci_driver ad1889_pci = {
+ 	.name = "AD1889 Audio",
+-	.owner = THIS_MODULE,
+ 	.id_table = snd_ad1889_ids,
+ 	.probe = snd_ad1889_probe,
+ 	.remove = __devexit_p(snd_ad1889_remove),




More information about the Kernel-svn-changes mailing list