[kernel] r11662 - in dists/trunk/linux-2.6/debian/patches: bugfix/all series

Maximilian Attems maks at alioth.debian.org
Thu Jun 19 08:43:18 UTC 2008


Author: maks
Date: Thu Jun 19 08:43:15 2008
New Revision: 11662

Log:
update to 2.6.26-rc6-git6

no new conflicts


Added:
   dists/trunk/linux-2.6/debian/patches/bugfix/all/patch-2.6.26-rc6-git6
Removed:
   dists/trunk/linux-2.6/debian/patches/bugfix/all/patch-2.6.26-rc6-git1
Modified:
   dists/trunk/linux-2.6/debian/patches/series/1~experimental.1

Added: dists/trunk/linux-2.6/debian/patches/bugfix/all/patch-2.6.26-rc6-git6
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/all/patch-2.6.26-rc6-git6	Thu Jun 19 08:43:15 2008
@@ -0,0 +1,31126 @@
+diff --git a/.gitignore b/.gitignore
+index d24ad50..9bb1cb6 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -26,6 +26,7 @@ tags
+ TAGS
+ vmlinux*
+ !vmlinux.lds.S
++!vmlinux.lds.h
+ System.map
+ Module.markers
+ Module.symvers
+diff --git a/Documentation/cciss.txt b/Documentation/cciss.txt
+index e65736c..63e59b8 100644
+--- a/Documentation/cciss.txt
++++ b/Documentation/cciss.txt
+@@ -21,6 +21,11 @@ This driver is known to work with the following cards:
+ 	* SA E200
+ 	* SA E200i
+ 	* SA E500
++	* SA P212
++	* SA P410
++	* SA P410i
++	* SA P411
++	* SA P812
+ 
+ Detecting drive failures:
+ -------------------------
+diff --git a/Documentation/filesystems/sysfs-pci.txt b/Documentation/filesystems/sysfs-pci.txt
+index 5daa2aa..68ef488 100644
+--- a/Documentation/filesystems/sysfs-pci.txt
++++ b/Documentation/filesystems/sysfs-pci.txt
+@@ -36,6 +36,7 @@ files, each with their own function.
+        local_cpus	   nearby CPU mask (cpumask, ro)
+        resource		   PCI resource host addresses (ascii, ro)
+        resource0..N	   PCI resource N, if present (binary, mmap)
++       resource0_wc..N_wc  PCI WC map resource N, if prefetchable (binary, mmap)
+        rom		   PCI ROM resource, if present (binary, ro)
+        subsystem_device	   PCI subsystem device (ascii, ro)
+        subsystem_vendor	   PCI subsystem vendor (ascii, ro)
+diff --git a/MAINTAINERS b/MAINTAINERS
+index 9d43042..cd587ee 100644
+--- a/MAINTAINERS
++++ b/MAINTAINERS
+@@ -274,7 +274,7 @@ S:      Maintained
+ 
+ AD1889 ALSA SOUND DRIVER
+ P:     Kyle McMartin
+-M:     kyle at parisc-linux.org
++M:     kyle at mcmartin.ca
+ P:     Thibaut Varene
+ M:     T-Bone at parisc-linux.org
+ W:     http://wiki.parisc-linux.org/AD1889
+@@ -995,8 +995,8 @@ L:	netdev at vger.kernel.org
+ S:	Supported
+ 
+ BROADCOM BNX2X 10 GIGABIT ETHERNET DRIVER
+-P:	Eliezer Tamir
+-M:	eliezert at broadcom.com
++P:	Eilon Greenstein
++M:	eilong at broadcom.com
+ L:	netdev at vger.kernel.org
+ S:	Supported
+ 
+@@ -1202,6 +1202,7 @@ M:	pj at sgi.com
+ M:	menage at google.com
+ L:	linux-kernel at vger.kernel.org
+ W:	http://www.bullopensource.org/cpuset/
++W:	http://oss.sgi.com/projects/cpusets/
+ S:	Supported
+ 
+ CRAMFS FILESYSTEM
+@@ -1827,7 +1828,7 @@ S:	Maintained
+ 
+ HARMONY SOUND DRIVER
+ P:	Kyle McMartin
+-M:	kyle at parisc-linux.org
++M:	kyle at mcmartin.ca
+ L:	linux-parisc at vger.kernel.org
+ S:	Maintained
+ 
+@@ -3120,7 +3121,7 @@ S:	Maintained
+ 
+ PARISC ARCHITECTURE
+ P:	Kyle McMartin
+-M:	kyle at parisc-linux.org
++M:	kyle at mcmartin.ca
+ P:	Matthew Wilcox
+ M:	matthew at wil.cx
+ P:	Grant Grundler
+@@ -3329,9 +3330,11 @@ L:	video4linux-list at redhat.com
+ W:	http://www.isely.net/pvrusb2/
+ S:	Maintained
+ 
+-PXA2xx SUPPORT
+-P:	Nicolas Pitre
+-M:	nico at cam.org
++PXA2xx/PXA3xx SUPPORT
++P:	Eric Miao
++M:	eric.miao at marvell.com
++P:	Russell King
++M:	linux at arm.linux.org.uk
+ L:	linux-arm-kernel at lists.arm.linux.org.uk	(subscribers-only)
+ S:	Maintained
+ 
+@@ -4023,7 +4026,7 @@ TULIP NETWORK DRIVERS
+ P:	Grant Grundler
+ M:	grundler at parisc-linux.org
+ P:	Kyle McMartin
+-M:	kyle at parisc-linux.org
++M:	kyle at mcmartin.ca
+ L:	netdev at vger.kernel.org
+ S:	Maintained
+ 
+diff --git a/arch/arm/mach-pxa/ssp.c b/arch/arm/mach-pxa/ssp.c
+index 00af7f2..0bb3198 100644
+--- a/arch/arm/mach-pxa/ssp.c
++++ b/arch/arm/mach-pxa/ssp.c
+@@ -330,7 +330,7 @@ struct ssp_device *ssp_request(int port, const char *label)
+ 
+ 	mutex_unlock(&ssp_lock);
+ 
+-	if (ssp->port_id != port)
++	if (&ssp->node == &ssp_list)
+ 		return NULL;
+ 
+ 	return ssp;
+diff --git a/arch/ia64/Makefile b/arch/ia64/Makefile
+index 88f1a55..e67ee3f 100644
+--- a/arch/ia64/Makefile
++++ b/arch/ia64/Makefile
+@@ -57,6 +57,7 @@ core-$(CONFIG_IA64_GENERIC) 	+= arch/ia64/dig/
+ core-$(CONFIG_IA64_HP_ZX1)	+= arch/ia64/dig/
+ core-$(CONFIG_IA64_HP_ZX1_SWIOTLB) += arch/ia64/dig/
+ core-$(CONFIG_IA64_SGI_SN2)	+= arch/ia64/sn/
++core-$(CONFIG_IA64_SGI_UV)	+= arch/ia64/uv/
+ core-$(CONFIG_KVM) 		+= arch/ia64/kvm/
+ 
+ drivers-$(CONFIG_PCI)		+= arch/ia64/pci/
+diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c
+index 71d0513..7714a97 100644
+--- a/arch/ia64/kernel/perfmon.c
++++ b/arch/ia64/kernel/perfmon.c
+@@ -1864,11 +1864,6 @@ pfm_flush(struct file *filp, fl_owner_t id)
+ 	 * invoked after, it will find an empty queue and no
+ 	 * signal will be sent. In both case, we are safe
+ 	 */
+-	if (filp->f_flags & FASYNC) {
+-		DPRINT(("cleaning up async_queue=%p\n", ctx->ctx_async_queue));
+-		pfm_do_fasync (-1, filp, ctx, 0);
+-	}
+-
+ 	PROTECT_CTX(ctx, flags);
+ 
+ 	state     = ctx->ctx_state;
+@@ -1999,6 +1994,11 @@ pfm_close(struct inode *inode, struct file *filp)
+ 		return -EBADF;
+ 	}
+ 
++	if (filp->f_flags & FASYNC) {
++		DPRINT(("cleaning up async_queue=%p\n", ctx->ctx_async_queue));
++		pfm_do_fasync(-1, filp, ctx, 0);
++	}
++
+ 	PROTECT_CTX(ctx, flags);
+ 
+ 	state     = ctx->ctx_state;
+diff --git a/arch/ia64/kernel/sal.c b/arch/ia64/kernel/sal.c
+index 7e02597..0464173 100644
+--- a/arch/ia64/kernel/sal.c
++++ b/arch/ia64/kernel/sal.c
+@@ -252,11 +252,10 @@ check_sal_cache_flush (void)
+ 	local_irq_save(flags);
+ 
+ 	/*
+-	 * Schedule a timer interrupt, wait until it's reported, and see if
+-	 * SAL_CACHE_FLUSH drops it.
++	 * Send ourselves a timer interrupt, wait until it's reported, and see
++	 * if SAL_CACHE_FLUSH drops it.
+ 	 */
+-	ia64_set_itv(IA64_TIMER_VECTOR);
+-	ia64_set_itm(ia64_get_itc() + 1000);
++	platform_send_ipi(cpu, IA64_TIMER_VECTOR, IA64_IPI_DM_INT, 0);
+ 
+ 	while (!ia64_get_irr(IA64_TIMER_VECTOR))
+ 		cpu_relax();
+diff --git a/arch/ia64/uv/kernel/setup.c b/arch/ia64/uv/kernel/setup.c
+index 9aa7432..cf5f28a 100644
+--- a/arch/ia64/uv/kernel/setup.c
++++ b/arch/ia64/uv/kernel/setup.c
+@@ -17,6 +17,9 @@
+ DEFINE_PER_CPU(struct uv_hub_info_s, __uv_hub_info);
+ EXPORT_PER_CPU_SYMBOL_GPL(__uv_hub_info);
+ 
++#ifdef CONFIG_IA64_SGI_UV
++int sn_prom_type;
++#endif
+ 
+ struct redir_addr {
+ 	unsigned long redirect;
+@@ -64,6 +67,15 @@ void __init uv_setup(char **cmdline_p)
+ 		m_n_config.s.m_skt = 37;
+ 		m_n_config.s.n_skt = 0;
+ 		mmr_base = 0;
++#if 0
++		/* Need BIOS calls - TDB */
++		if (!ia64_sn_is_fake_prom())
++			sn_prom_type = 1;
++		else
++#endif
++			sn_prom_type = 2;
++		printk(KERN_INFO "Running on medusa with %s PROM\n",
++					(sn_prom_type == 1) ? "real" : "fake");
+ 	} else {
+ 		get_lowmem_redirect(&lowmem_redir_base, &lowmem_redir_size);
+ 		node_id.v = uv_read_local_mmr(UVH_NODE_ID);
+diff --git a/arch/m68knommu/platform/coldfire/timers.c b/arch/m68knommu/platform/coldfire/timers.c
+index ba5a9f3..454f254 100644
+--- a/arch/m68knommu/platform/coldfire/timers.c
++++ b/arch/m68knommu/platform/coldfire/timers.c
+@@ -111,7 +111,13 @@ void hw_timer_init(void)
+ 
+ 	__raw_writew(MCFTIMER_TMR_DISABLE, TA(MCFTIMER_TMR));
+ 	mcftmr_cycles_per_jiffy = FREQ / HZ;
+-	__raw_writetrr(mcftmr_cycles_per_jiffy, TA(MCFTIMER_TRR));
++	/*
++	 *	The coldfire timer runs from 0 to TRR included, then 0
++	 *	again and so on.  It counts thus actually TRR + 1 steps
++	 *	for 1 tick, not TRR.  So if you want n cycles,
++	 *	initialize TRR with n - 1.
++	 */
++	__raw_writetrr(mcftmr_cycles_per_jiffy - 1, TA(MCFTIMER_TRR));
+ 	__raw_writew(MCFTIMER_TMR_ENORI | MCFTIMER_TMR_CLK16 |
+ 		MCFTIMER_TMR_RESTART | MCFTIMER_TMR_ENABLE, TA(MCFTIMER_TMR));
+ 
+diff --git a/arch/mips/Makefile b/arch/mips/Makefile
+index 69648d0..ad36c94 100644
+--- a/arch/mips/Makefile
++++ b/arch/mips/Makefile
+@@ -538,19 +538,19 @@ cflags-$(CONFIG_SIBYTE_BCM1x80)	+= -Iinclude/asm-mips/mach-sibyte \
+ # Sibyte SWARM board
+ # Sibyte BCM91x80 (BigSur) board
+ #
+-libs-$(CONFIG_SIBYTE_CARMEL)	+= arch/mips/sibyte/swarm/
++core-$(CONFIG_SIBYTE_CARMEL)	+= arch/mips/sibyte/swarm/
+ load-$(CONFIG_SIBYTE_CARMEL)	:= 0xffffffff80100000
+-libs-$(CONFIG_SIBYTE_CRHINE)	+= arch/mips/sibyte/swarm/
++core-$(CONFIG_SIBYTE_CRHINE)	+= arch/mips/sibyte/swarm/
+ load-$(CONFIG_SIBYTE_CRHINE)	:= 0xffffffff80100000
+-libs-$(CONFIG_SIBYTE_CRHONE)	+= arch/mips/sibyte/swarm/
++core-$(CONFIG_SIBYTE_CRHONE)	+= arch/mips/sibyte/swarm/
+ load-$(CONFIG_SIBYTE_CRHONE)	:= 0xffffffff80100000
+-libs-$(CONFIG_SIBYTE_RHONE)	+= arch/mips/sibyte/swarm/
++core-$(CONFIG_SIBYTE_RHONE)	+= arch/mips/sibyte/swarm/
+ load-$(CONFIG_SIBYTE_RHONE)	:= 0xffffffff80100000
+-libs-$(CONFIG_SIBYTE_SENTOSA)	+= arch/mips/sibyte/swarm/
++core-$(CONFIG_SIBYTE_SENTOSA)	+= arch/mips/sibyte/swarm/
+ load-$(CONFIG_SIBYTE_SENTOSA)	:= 0xffffffff80100000
+-libs-$(CONFIG_SIBYTE_SWARM)	+= arch/mips/sibyte/swarm/
++core-$(CONFIG_SIBYTE_SWARM)	+= arch/mips/sibyte/swarm/
+ load-$(CONFIG_SIBYTE_SWARM)	:= 0xffffffff80100000
+-libs-$(CONFIG_SIBYTE_BIGSUR)	+= arch/mips/sibyte/swarm/
++core-$(CONFIG_SIBYTE_BIGSUR)	+= arch/mips/sibyte/swarm/
+ load-$(CONFIG_SIBYTE_BIGSUR)	:= 0xffffffff80100000
+ 
+ #
+@@ -565,7 +565,11 @@ load-$(CONFIG_BCM47XX)		:= 0xffffffff80001000
+ #
+ core-$(CONFIG_SNI_RM)		+= arch/mips/sni/
+ cflags-$(CONFIG_SNI_RM)		+= -Iinclude/asm-mips/mach-rm
++ifdef CONFIG_CPU_LITTLE_ENDIAN
+ load-$(CONFIG_SNI_RM)		+= 0xffffffff80600000
++else
++load-$(CONFIG_SNI_RM)		+= 0xffffffff80030000
++endif
+ all-$(CONFIG_SNI_RM)		:= vmlinux.ecoff
+ 
+ #
+diff --git a/arch/mips/au1000/common/platform.c b/arch/mips/au1000/common/platform.c
+index 8cae775..74d6d4a 100644
+--- a/arch/mips/au1000/common/platform.c
++++ b/arch/mips/au1000/common/platform.c
+@@ -165,12 +165,12 @@ static struct resource au1xxx_usb_gdt_resources[] = {
+ static struct resource au1xxx_mmc_resources[] = {
+ 	[0] = {
+ 		.start          = SD0_PHYS_ADDR,
+-		.end            = SD0_PHYS_ADDR + 0x40,
++		.end            = SD0_PHYS_ADDR + 0x7ffff,
+ 		.flags          = IORESOURCE_MEM,
+ 	},
+ 	[1] = {
+ 		.start		= SD1_PHYS_ADDR,
+-		.end 		= SD1_PHYS_ADDR + 0x40,
++		.end 		= SD1_PHYS_ADDR + 0x7ffff,
+ 		.flags		= IORESOURCE_MEM,
+ 	},
+ 	[2] = {
+diff --git a/arch/mips/configs/sb1250-swarm_defconfig b/arch/mips/configs/sb1250-swarm_defconfig
+index 117470b..4b87998 100644
+--- a/arch/mips/configs/sb1250-swarm_defconfig
++++ b/arch/mips/configs/sb1250-swarm_defconfig
+@@ -1,67 +1,58 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.20
+-# Tue Feb 20 21:47:40 2007
++# Linux kernel version: 2.6.25
++# Sat May  3 00:38:11 2008
+ #
+ CONFIG_MIPS=y
+ 
+ #
+ # Machine selection
+ #
+-CONFIG_ZONE_DMA=y
+-# CONFIG_MIPS_MTX1 is not set
+-# CONFIG_MIPS_BOSPORUS is not set
+-# CONFIG_MIPS_PB1000 is not set
+-# CONFIG_MIPS_PB1100 is not set
+-# CONFIG_MIPS_PB1500 is not set
+-# CONFIG_MIPS_PB1550 is not set
+-# CONFIG_MIPS_PB1200 is not set
+-# CONFIG_MIPS_DB1000 is not set
+-# CONFIG_MIPS_DB1100 is not set
+-# CONFIG_MIPS_DB1500 is not set
+-# CONFIG_MIPS_DB1550 is not set
+-# CONFIG_MIPS_DB1200 is not set
+-# CONFIG_MIPS_MIRAGE is not set
++# CONFIG_MACH_ALCHEMY is not set
+ # CONFIG_BASLER_EXCITE is not set
++# CONFIG_BCM47XX is not set
+ # CONFIG_MIPS_COBALT is not set
+ # CONFIG_MACH_DECSTATION is not set
+ # CONFIG_MACH_JAZZ is not set
++# CONFIG_LASAT is not set
++# CONFIG_LEMOTE_FULONG is not set
+ # CONFIG_MIPS_ATLAS is not set
+ # CONFIG_MIPS_MALTA is not set
+ # CONFIG_MIPS_SEAD is not set
+-# CONFIG_WR_PPMC is not set
+ # CONFIG_MIPS_SIM is not set
+-# CONFIG_MOMENCO_JAGUAR_ATX is not set
+-# CONFIG_MIPS_XXS1500 is not set
++# CONFIG_MARKEINS is not set
++# CONFIG_MACH_VR41XX is not set
+ # CONFIG_PNX8550_JBS is not set
+ # CONFIG_PNX8550_STB810 is not set
+-# CONFIG_MACH_VR41XX is not set
++# CONFIG_PMC_MSP is not set
+ # CONFIG_PMC_YOSEMITE is not set
+-# CONFIG_MARKEINS is not set
+ # CONFIG_SGI_IP22 is not set
+ # CONFIG_SGI_IP27 is not set
++# CONFIG_SGI_IP28 is not set
+ # CONFIG_SGI_IP32 is not set
+-# CONFIG_SIBYTE_BIGSUR is not set
+-CONFIG_SIBYTE_SWARM=y
+-# CONFIG_SIBYTE_SENTOSA is not set
+-# CONFIG_SIBYTE_RHONE is not set
+-# CONFIG_SIBYTE_CARMEL is not set
+-# CONFIG_SIBYTE_LITTLESUR is not set
+ # CONFIG_SIBYTE_CRHINE is not set
++# CONFIG_SIBYTE_CARMEL is not set
+ # CONFIG_SIBYTE_CRHONE is not set
++# CONFIG_SIBYTE_RHONE is not set
++CONFIG_SIBYTE_SWARM=y
++# CONFIG_SIBYTE_LITTLESUR is not set
++# CONFIG_SIBYTE_SENTOSA is not set
++# CONFIG_SIBYTE_BIGSUR is not set
+ # CONFIG_SNI_RM is not set
+ # CONFIG_TOSHIBA_JMR3927 is not set
+ # CONFIG_TOSHIBA_RBTX4927 is not set
+ # CONFIG_TOSHIBA_RBTX4938 is not set
++# CONFIG_WR_PPMC is not set
+ CONFIG_SIBYTE_SB1250=y
+ CONFIG_SIBYTE_SB1xxx_SOC=y
+-CONFIG_CPU_SB1_PASS_1=y
++# CONFIG_CPU_SB1_PASS_1 is not set
+ # CONFIG_CPU_SB1_PASS_2_1250 is not set
+-# CONFIG_CPU_SB1_PASS_2_2 is not set
++CONFIG_CPU_SB1_PASS_2_2=y
+ # CONFIG_CPU_SB1_PASS_4 is not set
+ # CONFIG_CPU_SB1_PASS_2_112x is not set
+ # CONFIG_CPU_SB1_PASS_3 is not set
+ CONFIG_SIBYTE_HAS_LDT=y
++CONFIG_SIBYTE_ENABLE_LDT_IF_PCI=y
+ # CONFIG_SIMULATION is not set
+ # CONFIG_SB1_CEX_ALWAYS_FATAL is not set
+ # CONFIG_SB1_CERR_STALL is not set
+@@ -69,20 +60,32 @@ CONFIG_SIBYTE_CFE=y
+ # CONFIG_SIBYTE_CFE_CONSOLE is not set
+ # CONFIG_SIBYTE_BUS_WATCHER is not set
+ # CONFIG_SIBYTE_TBPROF is not set
++CONFIG_SIBYTE_HAS_ZBUS_PROFILING=y
+ CONFIG_RWSEM_GENERIC_SPINLOCK=y
+ # CONFIG_ARCH_HAS_ILOG2_U32 is not set
+ # CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_ARCH_SUPPORTS_OPROFILE=y
+ CONFIG_GENERIC_FIND_NEXT_BIT=y
+ CONFIG_GENERIC_HWEIGHT=y
+ CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_TIME=y
++CONFIG_GENERIC_CMOS_UPDATE=y
+ CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+ # CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set
++CONFIG_CEVT_SB1250=y
++CONFIG_CSRC_SB1250=y
++CONFIG_CFE=y
+ CONFIG_DMA_COHERENT=y
++CONFIG_EARLY_PRINTK=y
++CONFIG_SYS_HAS_EARLY_PRINTK=y
++# CONFIG_HOTPLUG_CPU is not set
++# CONFIG_NO_IOPORT is not set
+ CONFIG_CPU_BIG_ENDIAN=y
+ # CONFIG_CPU_LITTLE_ENDIAN is not set
+ CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
+ CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
++CONFIG_IRQ_CPU=y
+ CONFIG_SWAP_IO_SPACE=y
+ CONFIG_BOOT_ELF32=y
+ CONFIG_MIPS_L1_CACHE_SHIFT=5
+@@ -90,6 +93,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5
+ #
+ # CPU selection
+ #
++# CONFIG_CPU_LOONGSON2 is not set
+ # CONFIG_CPU_MIPS32_R1 is not set
+ # CONFIG_CPU_MIPS32_R2 is not set
+ # CONFIG_CPU_MIPS64_R1 is not set
+@@ -130,8 +134,7 @@ CONFIG_CPU_HAS_PREFETCH=y
+ CONFIG_MIPS_MT_DISABLED=y
+ # CONFIG_MIPS_MT_SMP is not set
+ # CONFIG_MIPS_MT_SMTC is not set
+-# CONFIG_MIPS_VPE_LOADER is not set
+-CONFIG_SB1_PASS_1_WORKAROUNDS=y
++CONFIG_SB1_PASS_2_WORKAROUNDS=y
+ CONFIG_CPU_HAS_LLSC=y
+ CONFIG_CPU_HAS_SYNC=y
+ CONFIG_GENERIC_HARDIRQS=y
+@@ -140,6 +143,7 @@ CONFIG_IRQ_PER_CPU=y
+ CONFIG_CPU_SUPPORTS_HIGHMEM=y
+ CONFIG_SYS_SUPPORTS_HIGHMEM=y
+ CONFIG_ARCH_FLATMEM_ENABLE=y
++CONFIG_ARCH_POPULATES_NODE_MAP=y
+ CONFIG_SELECT_MEMORY_MODEL=y
+ CONFIG_FLATMEM_MANUAL=y
+ # CONFIG_DISCONTIGMEM_MANUAL is not set
+@@ -147,13 +151,19 @@ CONFIG_FLATMEM_MANUAL=y
+ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ CONFIG_RESOURCES_64BIT=y
+-CONFIG_ZONE_DMA_FLAG=1
++CONFIG_ZONE_DMA_FLAG=0
++CONFIG_VIRT_TO_BUS=y
+ CONFIG_SMP=y
+ CONFIG_SYS_SUPPORTS_SMP=y
+ CONFIG_NR_CPUS_DEFAULT_2=y
+ CONFIG_NR_CPUS=2
++CONFIG_TICK_ONESHOT=y
++# CONFIG_NO_HZ is not set
++CONFIG_HIGH_RES_TIMERS=y
++CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+ # CONFIG_HZ_48 is not set
+ # CONFIG_HZ_100 is not set
+ # CONFIG_HZ_128 is not set
+@@ -166,38 +176,49 @@ CONFIG_HZ=1000
+ CONFIG_PREEMPT_NONE=y
+ # CONFIG_PREEMPT_VOLUNTARY is not set
+ # CONFIG_PREEMPT is not set
+-CONFIG_PREEMPT_BKL=y
+ # CONFIG_KEXEC is not set
++CONFIG_SECCOMP=y
+ CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_STACKTRACE_SUPPORT=y
+ CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+ 
+ #
+-# Code maturity level options
++# General setup
+ #
+ CONFIG_EXPERIMENTAL=y
+ CONFIG_LOCK_KERNEL=y
+ CONFIG_INIT_ENV_ARG_LIMIT=32
+-
+-#
+-# General setup
+-#
+ CONFIG_LOCALVERSION=""
+ CONFIG_LOCALVERSION_AUTO=y
+ CONFIG_SWAP=y
+ CONFIG_SYSVIPC=y
+-# CONFIG_IPC_NS is not set
+ CONFIG_SYSVIPC_SYSCTL=y
+ # CONFIG_POSIX_MQUEUE is not set
+ # CONFIG_BSD_PROCESS_ACCT is not set
+ # CONFIG_TASKSTATS is not set
+-# CONFIG_UTS_NS is not set
+ # CONFIG_AUDIT is not set
+ # CONFIG_IKCONFIG is not set
++CONFIG_LOG_BUF_SHIFT=15
+ CONFIG_CGROUPS=y
++# CONFIG_CGROUP_DEBUG is not set
++# CONFIG_CGROUP_NS is not set
+ CONFIG_CPUSETS=y
+-CONFIG_SYSFS_DEPRECATED=y
++CONFIG_GROUP_SCHED=y
++CONFIG_FAIR_GROUP_SCHED=y
++# CONFIG_RT_GROUP_SCHED is not set
++CONFIG_USER_SCHED=y
++# CONFIG_CGROUP_SCHED is not set
++CONFIG_CGROUP_CPUACCT=y
++# CONFIG_RESOURCE_COUNTERS is not set
++# CONFIG_SYSFS_DEPRECATED_V2 is not set
++# CONFIG_PROC_PID_CPUSET is not set
+ CONFIG_RELAY=y
++CONFIG_NAMESPACES=y
++# CONFIG_UTS_NS is not set
++# CONFIG_IPC_NS is not set
++# CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
++CONFIG_BLK_DEV_INITRD=y
+ CONFIG_INITRAMFS_SOURCE=""
+ # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+ CONFIG_SYSCTL=y
+@@ -209,20 +230,29 @@ CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+ CONFIG_BUG=y
+ CONFIG_ELF_CORE=y
++# CONFIG_COMPAT_BRK is not set
+ CONFIG_BASE_FULL=y
+ CONFIG_FUTEX=y
++CONFIG_ANON_INODES=y
+ CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
+ CONFIG_SHMEM=y
+-CONFIG_SLAB=y
+ CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_SLAB=y
++# CONFIG_SLUB is not set
++# CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++# CONFIG_MARKERS is not set
++CONFIG_HAVE_OPROFILE=y
++# CONFIG_HAVE_KPROBES is not set
++# CONFIG_HAVE_KRETPROBES is not set
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+-# CONFIG_SLOB is not set
+-
+-#
+-# Loadable module support
+-#
+ CONFIG_MODULES=y
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+@@ -230,12 +260,10 @@ CONFIG_MODVERSIONS=y
+ CONFIG_MODULE_SRCVERSION_ALL=y
+ CONFIG_KMOD=y
+ CONFIG_STOP_MACHINE=y
+-
+-#
+-# Block layer
+-#
+ CONFIG_BLOCK=y
+ # CONFIG_BLK_DEV_IO_TRACE is not set
++CONFIG_BLK_DEV_BSG=y
++CONFIG_BLOCK_COMPAT=y
+ 
+ #
+ # IO Schedulers
+@@ -249,22 +277,19 @@ CONFIG_DEFAULT_AS=y
+ # CONFIG_DEFAULT_CFQ is not set
+ # CONFIG_DEFAULT_NOOP is not set
+ CONFIG_DEFAULT_IOSCHED="anticipatory"
++CONFIG_CLASSIC_RCU=y
+ 
+ #
+ # Bus options (PCI, PCMCIA, EISA, ISA, TC)
+ #
+ CONFIG_HW_HAS_PCI=y
+ CONFIG_PCI=y
++CONFIG_PCI_DOMAINS=y
++# CONFIG_ARCH_SUPPORTS_MSI is not set
++# CONFIG_PCI_LEGACY is not set
+ CONFIG_MMU=y
+-
+-#
+-# PCCARD (PCMCIA/CardBus) support
+-#
++CONFIG_ZONE_DMA32=y
+ # CONFIG_PCCARD is not set
+-
+-#
+-# PCI Hotplug Support
+-#
+ # CONFIG_HOTPLUG_PCI is not set
+ 
+ #
+@@ -272,7 +297,6 @@ CONFIG_MMU=y
+ #
+ CONFIG_BINFMT_ELF=y
+ # CONFIG_BINFMT_MISC is not set
+-# CONFIG_BUILD_ELF64 is not set
+ CONFIG_MIPS32_COMPAT=y
+ CONFIG_COMPAT=y
+ CONFIG_SYSVIPC_COMPAT=y
+@@ -286,7 +310,6 @@ CONFIG_BINFMT_ELF32=y
+ CONFIG_PM=y
+ # CONFIG_PM_LEGACY is not set
+ # CONFIG_PM_DEBUG is not set
+-# CONFIG_PM_SYSFS_DEPRECATED is not set
+ 
+ #
+ # Networking
+@@ -296,7 +319,6 @@ CONFIG_NET=y
+ #
+ # Networking options
+ #
+-# CONFIG_NETDEBUG is not set
+ CONFIG_PACKET=y
+ CONFIG_PACKET_MMAP=y
+ CONFIG_UNIX=y
+@@ -304,6 +326,7 @@ CONFIG_XFRM=y
+ CONFIG_XFRM_USER=m
+ # CONFIG_XFRM_SUB_POLICY is not set
+ CONFIG_XFRM_MIGRATE=y
++# CONFIG_XFRM_STATISTICS is not set
+ CONFIG_NET_KEY=y
+ CONFIG_NET_KEY_MIGRATE=y
+ CONFIG_INET=y
+@@ -326,6 +349,7 @@ CONFIG_IP_PNP_BOOTP=y
+ CONFIG_INET_XFRM_MODE_TRANSPORT=m
+ CONFIG_INET_XFRM_MODE_TUNNEL=m
+ CONFIG_INET_XFRM_MODE_BEET=m
++CONFIG_INET_LRO=m
+ CONFIG_INET_DIAG=y
+ CONFIG_INET_TCP_DIAG=y
+ # CONFIG_TCP_CONG_ADVANCED is not set
+@@ -333,24 +357,15 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ CONFIG_TCP_MD5SIG=y
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ CONFIG_NETWORK_SECMARK=y
+ # CONFIG_NETFILTER is not set
+-
+-#
+-# DCCP Configuration (EXPERIMENTAL)
+-#
+ # CONFIG_IP_DCCP is not set
+-
+-#
+-# SCTP Configuration (EXPERIMENTAL)
+-#
+-# CONFIG_IP_SCTP is not set
+-
+-#
+-# TIPC Configuration (EXPERIMENTAL)
+-#
++CONFIG_IP_SCTP=m
++# CONFIG_SCTP_DBG_MSG is not set
++# CONFIG_SCTP_DBG_OBJCNT is not set
++# CONFIG_SCTP_HMAC_NONE is not set
++# CONFIG_SCTP_HMAC_SHA1 is not set
++CONFIG_SCTP_HMAC_MD5=y
+ # CONFIG_TIPC is not set
+ # CONFIG_ATM is not set
+ # CONFIG_BRIDGE is not set
+@@ -363,26 +378,52 @@ CONFIG_NETWORK_SECMARK=y
+ # CONFIG_LAPB 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_SCH_FIFO=y
+ 
+ #
+ # Network testing
+ #
+ # CONFIG_NET_PKTGEN is not set
+ # CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
+ # CONFIG_IRDA is not set
+ # CONFIG_BT is not set
++# CONFIG_AF_RXRPC is not set
++
++#
++# Wireless
++#
++CONFIG_CFG80211=m
++CONFIG_NL80211=y
++CONFIG_WIRELESS_EXT=y
++CONFIG_MAC80211=m
++
++#
++# Rate control algorithm selection
++#
++CONFIG_MAC80211_RC_DEFAULT_PID=y
++# CONFIG_MAC80211_RC_DEFAULT_NONE is not set
++
++#
++# Selecting 'y' for an algorithm will
++#
++
++#
++# build the algorithm into mac80211.
++#
++CONFIG_MAC80211_RC_DEFAULT="pid"
++CONFIG_MAC80211_RC_PID=y
++# CONFIG_MAC80211_MESH is not set
++# CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT is not set
++# CONFIG_MAC80211_DEBUG is not set
+ CONFIG_IEEE80211=m
+ # CONFIG_IEEE80211_DEBUG is not set
+ CONFIG_IEEE80211_CRYPT_WEP=m
+ CONFIG_IEEE80211_CRYPT_CCMP=m
+-CONFIG_IEEE80211_SOFTMAC=m
+-# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
+-CONFIG_WIRELESS_EXT=y
++CONFIG_IEEE80211_CRYPT_TKIP=m
++CONFIG_RFKILL=m
++# CONFIG_NET_9P is not set
+ 
+ #
+ # Device Drivers
+@@ -391,34 +432,15 @@ CONFIG_WIRELESS_EXT=y
+ #
+ # Generic Driver Options
+ #
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+ CONFIG_STANDALONE=y
+ CONFIG_PREVENT_FIRMWARE_BUILD=y
+ CONFIG_FW_LOADER=m
+ # CONFIG_SYS_HYPERVISOR is not set
+-
+-#
+-# Connector - unified userspace <-> kernelspace linker
+-#
+ CONFIG_CONNECTOR=m
+-
+-#
+-# Memory Technology Devices (MTD)
+-#
+ # CONFIG_MTD is not set
+-
+-#
+-# Parallel port support
+-#
+ # CONFIG_PARPORT is not set
+-
+-#
+-# Plug and Play support
+-#
+-# CONFIG_PNPACPI is not set
+-
+-#
+-# Block devices
+-#
++CONFIG_BLK_DEV=y
+ # CONFIG_BLK_CPQ_DA is not set
+ # CONFIG_BLK_CPQ_CISS_DA is not set
+ # CONFIG_BLK_DEV_DAC960 is not set
+@@ -427,49 +449,77 @@ CONFIG_CONNECTOR=m
+ # CONFIG_BLK_DEV_LOOP is not set
+ # CONFIG_BLK_DEV_NBD is not set
+ # CONFIG_BLK_DEV_SX8 is not set
++# CONFIG_BLK_DEV_UB is not set
+ CONFIG_BLK_DEV_RAM=y
+ CONFIG_BLK_DEV_RAM_COUNT=16
+ CONFIG_BLK_DEV_RAM_SIZE=9220
+-CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+-CONFIG_BLK_DEV_INITRD=y
++# CONFIG_BLK_DEV_XIP is not set
+ CONFIG_CDROM_PKTCDVD=m
+ CONFIG_CDROM_PKTCDVD_BUFFERS=8
+ # CONFIG_CDROM_PKTCDVD_WCACHE is not set
+ CONFIG_ATA_OVER_ETH=m
+-
+-#
+-# Misc devices
+-#
++CONFIG_MISC_DEVICES=y
++# CONFIG_PHANTOM is not set
++# CONFIG_EEPROM_93CX6 is not set
+ CONFIG_SGI_IOC4=m
+ # CONFIG_TIFM_CORE is not set
+-
+-#
+-# ATA/ATAPI/MFM/RLL support
+-#
++# CONFIG_ENCLOSURE_SERVICES is not set
++CONFIG_HAVE_IDE=y
+ CONFIG_IDE=y
+ CONFIG_IDE_MAX_HWIFS=4
+ CONFIG_BLK_DEV_IDE=y
+ 
+ #
+-# Please see Documentation/ide.txt for help/info on IDE drives
++# Please see Documentation/ide/ide.txt for help/info on IDE drives
+ #
+ # CONFIG_BLK_DEV_IDE_SATA is not set
+ CONFIG_BLK_DEV_IDEDISK=y
+ # CONFIG_IDEDISK_MULTI_MODE is not set
+ CONFIG_BLK_DEV_IDECD=y
++CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
+ CONFIG_BLK_DEV_IDETAPE=y
+ CONFIG_BLK_DEV_IDEFLOPPY=y
+ # CONFIG_IDE_TASK_IOCTL is not set
++CONFIG_IDE_PROC_FS=y
+ 
+ #
+ # IDE chipset support/bugfixes
+ #
+-CONFIG_IDE_GENERIC=y
+-# CONFIG_BLK_DEV_IDEPCI is not set
++# CONFIG_IDE_GENERIC is not set
++# CONFIG_BLK_DEV_PLATFORM is not set
++
++#
++# PCI IDE chipsets support
++#
++# CONFIG_BLK_DEV_GENERIC is not set
++# CONFIG_BLK_DEV_OPTI621 is not set
++# CONFIG_BLK_DEV_AEC62XX is not set
++# CONFIG_BLK_DEV_ALI15X3 is not set
++# CONFIG_BLK_DEV_AMD74XX is not set
++# CONFIG_BLK_DEV_CMD64X is not set
++# CONFIG_BLK_DEV_TRIFLEX is not set
++# CONFIG_BLK_DEV_CY82C693 is not set
++# CONFIG_BLK_DEV_CS5520 is not set
++# CONFIG_BLK_DEV_CS5530 is not set
++# CONFIG_BLK_DEV_HPT34X is not set
++# CONFIG_BLK_DEV_HPT366 is not set
++# CONFIG_BLK_DEV_JMICRON is not set
++# CONFIG_BLK_DEV_SC1200 is not set
++# CONFIG_BLK_DEV_PIIX is not set
++# CONFIG_BLK_DEV_IT8213 is not set
++# CONFIG_BLK_DEV_IT821X is not set
++# CONFIG_BLK_DEV_NS87415 is not set
++# CONFIG_BLK_DEV_PDC202XX_OLD is not set
++# CONFIG_BLK_DEV_PDC202XX_NEW is not set
++# CONFIG_BLK_DEV_SVWKS is not set
++# CONFIG_BLK_DEV_SIIMAGE is not set
++# CONFIG_BLK_DEV_SLC90E66 is not set
++# CONFIG_BLK_DEV_TRM290 is not set
++# CONFIG_BLK_DEV_VIA82CXXX is not set
++# CONFIG_BLK_DEV_TC86C001 is not set
+ CONFIG_BLK_DEV_IDE_SWARM=y
+-# CONFIG_IDE_ARM is not set
+ # CONFIG_BLK_DEV_IDEDMA is not set
+-# CONFIG_IDEDMA_AUTO is not set
++# CONFIG_BLK_DEV_HD_ONLY is not set
+ # CONFIG_BLK_DEV_HD is not set
+ 
+ #
+@@ -477,89 +527,68 @@ CONFIG_BLK_DEV_IDE_SWARM=y
+ #
+ CONFIG_RAID_ATTRS=m
+ # CONFIG_SCSI is not set
++# CONFIG_SCSI_DMA is not set
+ # CONFIG_SCSI_NETLINK is not set
+-
+-#
+-# Serial ATA (prod) and Parallel ATA (experimental) drivers
+-#
+ # CONFIG_ATA is not set
+-
+-#
+-# Multi-device support (RAID and LVM)
+-#
+ # CONFIG_MD is not set
+-
+-#
+-# Fusion MPT device support
+-#
+ # CONFIG_FUSION is not set
+ 
+ #
+ # IEEE 1394 (FireWire) support
+ #
++# CONFIG_FIREWIRE is not set
+ # CONFIG_IEEE1394 is not set
+-
+-#
+-# I2O device support
+-#
+ # CONFIG_I2O is not set
+-
+-#
+-# Network device support
+-#
+ CONFIG_NETDEVICES=y
++CONFIG_NETDEVICES_MULTIQUEUE=y
+ # CONFIG_DUMMY is not set
+ # CONFIG_BONDING is not set
++CONFIG_MACVLAN=m
+ # CONFIG_EQUALIZER is not set
+ # CONFIG_TUN is not set
+-
+-#
+-# ARCnet devices
+-#
++# CONFIG_VETH is not set
+ # CONFIG_ARCNET is not set
+-
+-#
+-# PHY device support
+-#
+-CONFIG_PHYLIB=m
++CONFIG_PHYLIB=y
+ 
+ #
+ # MII PHY device drivers
+ #
+-CONFIG_MARVELL_PHY=m
+-CONFIG_DAVICOM_PHY=m
+-CONFIG_QSEMI_PHY=m
+-CONFIG_LXT_PHY=m
+-CONFIG_CICADA_PHY=m
+-CONFIG_VITESSE_PHY=m
+-CONFIG_SMSC_PHY=m
+-# CONFIG_BROADCOM_PHY is not set
++# CONFIG_MARVELL_PHY is not set
++# CONFIG_DAVICOM_PHY is not set
++# CONFIG_QSEMI_PHY is not set
++# CONFIG_LXT_PHY is not set
++# CONFIG_CICADA_PHY is not set
++# CONFIG_VITESSE_PHY is not set
++# CONFIG_SMSC_PHY is not set
++CONFIG_BROADCOM_PHY=y
++# CONFIG_ICPLUS_PHY is not set
++# CONFIG_REALTEK_PHY is not set
+ # CONFIG_FIXED_PHY is not set
+-
+-#
+-# Ethernet (10 or 100Mbit)
+-#
++# CONFIG_MDIO_BITBANG is not set
+ CONFIG_NET_ETHERNET=y
+ CONFIG_MII=y
++# CONFIG_AX88796 is not set
+ # CONFIG_HAPPYMEAL is not set
+ # CONFIG_SUNGEM is not set
+ # CONFIG_CASSINI is not set
+ # CONFIG_NET_VENDOR_3COM is not set
+ # CONFIG_DM9000 is not set
+-
+-#
+-# Tulip family network device support
+-#
+ # CONFIG_NET_TULIP is not set
+ # CONFIG_HP100 is not set
++# CONFIG_IBM_NEW_EMAC_ZMII is not set
++# CONFIG_IBM_NEW_EMAC_RGMII is not set
++# CONFIG_IBM_NEW_EMAC_TAH is not set
++# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+ # CONFIG_NET_PCI is not set
+-
+-#
+-# Ethernet (1000 Mbit)
+-#
++# CONFIG_B44 is not set
++CONFIG_NETDEV_1000=y
+ # CONFIG_ACENIC is not set
+ # CONFIG_DL2K is not set
+ # CONFIG_E1000 is not set
++# CONFIG_E1000E is not set
++# CONFIG_E1000E_ENABLED is not set
++# CONFIG_IP1000 is not set
++# CONFIG_IGB is not set
+ # CONFIG_NS83820 is not set
+ # CONFIG_HAMACHI is not set
+ # CONFIG_YELLOWFIN is not set
+@@ -568,53 +597,70 @@ CONFIG_SB1250_MAC=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
++# CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+-CONFIG_QLA3XXX=m
++# CONFIG_QLA3XXX is not set
+ # CONFIG_ATL1 is not set
+-
+-#
+-# Ethernet (10000 Mbit)
+-#
++CONFIG_NETDEV_10000=y
+ # CONFIG_CHELSIO_T1 is not set
+-CONFIG_CHELSIO_T3=m
++# CONFIG_CHELSIO_T3 is not set
++# CONFIG_IXGBE is not set
+ # CONFIG_IXGB is not set
+ # CONFIG_S2IO is not set
+ # CONFIG_MYRI10GE is not set
+-CONFIG_NETXEN_NIC=m
+-
+-#
+-# Token Ring devices
+-#
++# CONFIG_NETXEN_NIC is not set
++# CONFIG_NIU is not set
++# CONFIG_MLX4_CORE is not set
++# CONFIG_TEHUTI is not set
++# CONFIG_BNX2X is not set
+ # CONFIG_TR is not set
+ 
+ #
+-# Wireless LAN (non-hamradio)
+-#
+-# CONFIG_NET_RADIO is not set
+-
+-#
+-# Wan interfaces
+-#
++# Wireless LAN
++#
++# CONFIG_WLAN_PRE80211 is not set
++CONFIG_WLAN_80211=y
++# CONFIG_IPW2100 is not set
++# CONFIG_IPW2200 is not set
++# CONFIG_LIBERTAS is not set
++# CONFIG_HERMES is not set
++# CONFIG_ATMEL is not set
++# CONFIG_PRISM54 is not set
++# CONFIG_USB_ZD1201 is not set
++# CONFIG_USB_NET_RNDIS_WLAN is not set
++# CONFIG_RTL8180 is not set
++# CONFIG_RTL8187 is not set
++# CONFIG_ADM8211 is not set
++# CONFIG_P54_COMMON is not set
++# CONFIG_ATH5K is not set
++# CONFIG_IWLCORE is not set
++# CONFIG_IWLWIFI_LEDS is not set
++# CONFIG_IWL4965 is not set
++# CONFIG_IWL3945 is not set
++# CONFIG_HOSTAP is not set
++# CONFIG_B43 is not set
++# CONFIG_B43LEGACY is not set
++# CONFIG_ZD1211RW is not set
++# CONFIG_RT2X00 is not set
++
++#
++# USB Network Adapters
++#
++# CONFIG_USB_CATC is not set
++# CONFIG_USB_KAWETH is not set
++# CONFIG_USB_PEGASUS is not set
++# CONFIG_USB_RTL8150 is not set
++# CONFIG_USB_USBNET is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+ # CONFIG_HIPPI is not set
+ # CONFIG_PPP is not set
+ # CONFIG_SLIP 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
+-#
+ # CONFIG_ISDN is not set
+-
+-#
+-# Telephony Support
+-#
+ # CONFIG_PHONE is not set
+ 
+ #
+@@ -637,24 +683,8 @@ CONFIG_SERIO_RAW=m
+ # Character devices
+ #
+ # CONFIG_VT is not set
+-CONFIG_SERIAL_NONSTANDARD=y
+-# CONFIG_COMPUTONE is not set
+-# CONFIG_ROCKETPORT is not set
+-# CONFIG_CYCLADES is not set
+-# CONFIG_DIGIEPCA is not set
+-# CONFIG_MOXA_INTELLIO is not set
+-# CONFIG_MOXA_SMARTIO is not set
+-CONFIG_MOXA_SMARTIO_NEW=m
+-# CONFIG_ISI is not set
+-# CONFIG_SYNCLINKMP is not set
+-# CONFIG_SYNCLINK_GT is not set
+-# CONFIG_N_HDLC is not set
+-# CONFIG_SPECIALIX is not set
+-# CONFIG_SX is not set
+-# CONFIG_RIO is not set
+-# CONFIG_STALDRV is not set
+-CONFIG_SERIAL_SB1250_DUART=y
+-CONFIG_SERIAL_SB1250_DUART_CONSOLE=y
++# CONFIG_SERIAL_NONSTANDARD is not set
++# CONFIG_NOZOMI is not set
+ 
+ #
+ # Serial drivers
+@@ -664,37 +694,22 @@ CONFIG_SERIAL_SB1250_DUART_CONSOLE=y
+ #
+ # Non-8250 serial port support
+ #
++CONFIG_SERIAL_SB1250_DUART=y
++CONFIG_SERIAL_SB1250_DUART_CONSOLE=y
++CONFIG_SERIAL_CORE=y
++CONFIG_SERIAL_CORE_CONSOLE=y
+ # CONFIG_SERIAL_JSM is not set
+ CONFIG_UNIX98_PTYS=y
+ CONFIG_LEGACY_PTYS=y
+ CONFIG_LEGACY_PTY_COUNT=256
+-
+-#
+-# IPMI
+-#
+ # CONFIG_IPMI_HANDLER is not set
+-
+-#
+-# Watchdog Cards
+-#
+-# CONFIG_WATCHDOG is not set
+ # CONFIG_HW_RANDOM is not set
+ # CONFIG_RTC is not set
+-# CONFIG_GEN_RTC is not set
+-# CONFIG_DTLK is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+-# CONFIG_DRM is not set
+ # CONFIG_RAW_DRIVER is not set
+-
+-#
+-# TPM devices
+-#
+ # CONFIG_TCG_TPM is not set
+-
+-#
+-# I2C support
+-#
++CONFIG_DEVPORT=y
+ # CONFIG_I2C is not set
+ 
+ #
+@@ -702,109 +717,139 @@ CONFIG_LEGACY_PTY_COUNT=256
+ #
+ # CONFIG_SPI is not set
+ # CONFIG_SPI_MASTER is not set
++# CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++# CONFIG_HWMON is not set
++# CONFIG_THERMAL is not set
++# CONFIG_WATCHDOG is not set
+ 
+ #
+-# Dallas's 1-wire bus
++# Sonics Silicon Backplane
+ #
+-# CONFIG_W1 is not set
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
+ 
+ #
+-# Hardware Monitoring support
++# Multifunction device drivers
+ #
+-# CONFIG_HWMON is not set
+-# CONFIG_HWMON_VID is not set
++# CONFIG_MFD_SM501 is not set
+ 
+ #
+ # Multimedia devices
+ #
+ # CONFIG_VIDEO_DEV is not set
+-
+-#
+-# Digital Video Broadcasting Devices
+-#
+-# CONFIG_DVB is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_DAB is not set
+ 
+ #
+ # Graphics support
+ #
+-# CONFIG_FIRMWARE_EDID is not set
++# CONFIG_DRM is not set
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+ # CONFIG_FB is not set
+ # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+ 
+ #
+-# Sound
++# Display device support
+ #
+-# CONFIG_SOUND is not set
++# CONFIG_DISPLAY_SUPPORT is not set
+ 
+ #
+-# USB support
++# Sound
+ #
++# CONFIG_SOUND is not set
++CONFIG_USB_SUPPORT=y
+ CONFIG_USB_ARCH_HAS_HCD=y
+ CONFIG_USB_ARCH_HAS_OHCI=y
+ CONFIG_USB_ARCH_HAS_EHCI=y
+-# CONFIG_USB is not set
+-
+-#
+-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+-#
++CONFIG_USB=y
++# CONFIG_USB_DEBUG is not set
++# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+ 
+ #
+-# USB Gadget Support
++# Miscellaneous USB options
+ #
+-# CONFIG_USB_GADGET is not set
++CONFIG_USB_DEVICEFS=y
++CONFIG_USB_DEVICE_CLASS=y
++# CONFIG_USB_DYNAMIC_MINORS is not set
++# CONFIG_USB_SUSPEND is not set
++# CONFIG_USB_PERSIST is not set
++# CONFIG_USB_OTG is not set
+ 
+ #
+-# MMC/SD Card support
++# USB Host Controller Drivers
+ #
+-# CONFIG_MMC is not set
++# CONFIG_USB_EHCI_HCD is not set
++# CONFIG_USB_ISP116X_HCD is not set
++CONFIG_USB_OHCI_HCD=y
++# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
++# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
++CONFIG_USB_OHCI_LITTLE_ENDIAN=y
++# CONFIG_USB_UHCI_HCD is not set
++# CONFIG_USB_SL811_HCD is not set
++# CONFIG_USB_R8A66597_HCD is not set
+ 
+ #
+-# LED devices
++# USB Device Class drivers
+ #
+-# CONFIG_NEW_LEDS is not set
++# CONFIG_USB_ACM is not set
++# CONFIG_USB_PRINTER is not set
+ 
+ #
+-# LED drivers
++# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+ #
+ 
+ #
+-# LED Triggers
++# may also be needed; see USB_STORAGE Help for more information
+ #
++# CONFIG_USB_LIBUSUAL is not set
+ 
+ #
+-# InfiniBand support
++# USB Imaging devices
+ #
+-# CONFIG_INFINIBAND is not set
++# CONFIG_USB_MDC800 is not set
++CONFIG_USB_MON=y
+ 
+ #
+-# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
++# USB port drivers
+ #
++# CONFIG_USB_SERIAL is not set
+ 
+ #
+-# Real Time Clock
++# USB Miscellaneous drivers
+ #
++# CONFIG_USB_EMI62 is not set
++# CONFIG_USB_EMI26 is not set
++# CONFIG_USB_ADUTUX is not set
++# CONFIG_USB_AUERSWALD is not set
++# CONFIG_USB_RIO500 is not set
++# CONFIG_USB_LEGOTOWER is not set
++# CONFIG_USB_LCD is not set
++# CONFIG_USB_BERRY_CHARGE is not set
++# CONFIG_USB_LED is not set
++# CONFIG_USB_CYPRESS_CY7C63 is not set
++# CONFIG_USB_CYTHERM is not set
++# CONFIG_USB_PHIDGET is not set
++# CONFIG_USB_IDMOUSE is not set
++# CONFIG_USB_FTDI_ELAN is not set
++# CONFIG_USB_APPLEDISPLAY is not set
++# CONFIG_USB_LD is not set
++# CONFIG_USB_TRANCEVIBRATOR is not set
++# CONFIG_USB_IOWARRIOR is not set
++# CONFIG_USB_TEST is not set
++# CONFIG_USB_GADGET is not set
++# CONFIG_MMC is not set
++# CONFIG_MEMSTICK is not set
++# CONFIG_NEW_LEDS is not set
++# CONFIG_INFINIBAND is not set
++CONFIG_RTC_LIB=y
+ # CONFIG_RTC_CLASS is not set
+ 
+ #
+-# DMA Engine support
+-#
+-# CONFIG_DMA_ENGINE is not set
+-
+-#
+-# DMA Clients
+-#
+-
+-#
+-# DMA Devices
+-#
+-
+-#
+-# Auxiliary Display support
+-#
+-
+-#
+-# Virtualization
++# Userspace I/O
+ #
++# CONFIG_UIO is not set
+ 
+ #
+ # File systems
+@@ -823,15 +868,14 @@ CONFIG_FS_POSIX_ACL=y
+ # CONFIG_XFS_FS is not set
+ # CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+-# CONFIG_MINIX_FS is not set
+-# CONFIG_ROMFS_FS is not set
++CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+ CONFIG_INOTIFY_USER=y
+ # CONFIG_QUOTA is not set
+-CONFIG_DNOTIFY=y
+ # CONFIG_AUTOFS_FS is not set
+ # CONFIG_AUTOFS4_FS is not set
+ CONFIG_FUSE_FS=m
++CONFIG_GENERIC_ACL=y
+ 
+ #
+ # CD-ROM/DVD Filesystems
+@@ -853,9 +897,9 @@ CONFIG_PROC_FS=y
+ CONFIG_PROC_KCORE=y
+ CONFIG_PROC_SYSCTL=y
+ CONFIG_SYSFS=y
+-# CONFIG_TMPFS is not set
++CONFIG_TMPFS=y
++CONFIG_TMPFS_POSIX_ACL=y
+ # CONFIG_HUGETLB_PAGE is not set
+-CONFIG_RAMFS=y
+ CONFIG_CONFIGFS_FS=m
+ 
+ #
+@@ -871,14 +915,13 @@ CONFIG_CONFIGFS_FS=m
+ # CONFIG_EFS_FS is not set
+ # CONFIG_CRAMFS is not set
+ # CONFIG_VXFS_FS is not set
++# CONFIG_MINIX_FS is not set
+ # CONFIG_HPFS_FS is not set
+ # CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
+ # CONFIG_SYSV_FS is not set
+ # CONFIG_UFS_FS is not set
+-
+-#
+-# Network File Systems
+-#
++CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+@@ -890,6 +933,7 @@ CONFIG_LOCKD=y
+ CONFIG_LOCKD_V4=y
+ CONFIG_NFS_COMMON=y
+ CONFIG_SUNRPC=y
++# CONFIG_SUNRPC_BIND34 is not set
+ # CONFIG_RPCSEC_GSS_KRB5 is not set
+ # CONFIG_RPCSEC_GSS_SPKM3 is not set
+ # CONFIG_SMB_FS is not set
+@@ -897,45 +941,29 @@ CONFIG_SUNRPC=y
+ # 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
+ #
+ # CONFIG_PARTITION_ADVANCED is not set
+ CONFIG_MSDOS_PARTITION=y
+-
+-#
+-# Native Language Support
+-#
+ # CONFIG_NLS is not set
+-
+-#
+-# Distributed Lock Manager
+-#
+ CONFIG_DLM=m
+-CONFIG_DLM_TCP=y
+-# CONFIG_DLM_SCTP is not set
+ # CONFIG_DLM_DEBUG is not set
+ 
+ #
+-# Profiling support
+-#
+-# CONFIG_PROFILING is not set
+-
+-#
+ # Kernel hacking
+ #
+ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+ # CONFIG_PRINTK_TIME is not set
++CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+ # CONFIG_HEADERS_CHECK is not set
+ # CONFIG_DEBUG_KERNEL is not set
+-CONFIG_LOG_BUF_SHIFT=15
+-CONFIG_CROSSCOMPILE=y
++# CONFIG_SAMPLES is not set
+ CONFIG_CMDLINE=""
+ CONFIG_SYS_SUPPORTS_KGDB=y
+ # CONFIG_SB1XXX_CORELIS is not set
+@@ -946,13 +974,12 @@ CONFIG_SYS_SUPPORTS_KGDB=y
+ CONFIG_KEYS=y
+ CONFIG_KEYS_DEBUG_PROC_KEYS=y
+ # CONFIG_SECURITY is not set
+-
+-#
+-# Cryptographic options
+-#
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
+ CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_AEAD=m
+ CONFIG_CRYPTO_BLKCIPHER=m
++CONFIG_CRYPTO_SEQIV=m
+ CONFIG_CRYPTO_HASH=y
+ CONFIG_CRYPTO_MANAGER=y
+ CONFIG_CRYPTO_HMAC=y
+@@ -970,6 +997,11 @@ CONFIG_CRYPTO_ECB=m
+ CONFIG_CRYPTO_CBC=m
+ CONFIG_CRYPTO_PCBC=m
+ CONFIG_CRYPTO_LRW=m
++CONFIG_CRYPTO_XTS=m
++CONFIG_CRYPTO_CTR=m
++CONFIG_CRYPTO_GCM=m
++CONFIG_CRYPTO_CCM=m
++CONFIG_CRYPTO_CRYPTD=m
+ CONFIG_CRYPTO_DES=m
+ CONFIG_CRYPTO_FCRYPT=m
+ CONFIG_CRYPTO_BLOWFISH=m
+@@ -983,15 +1015,16 @@ CONFIG_CRYPTO_TEA=m
+ CONFIG_CRYPTO_ARC4=m
+ CONFIG_CRYPTO_KHAZAD=m
+ CONFIG_CRYPTO_ANUBIS=m
++CONFIG_CRYPTO_SEED=m
++CONFIG_CRYPTO_SALSA20=m
+ CONFIG_CRYPTO_DEFLATE=m
+ CONFIG_CRYPTO_MICHAEL_MIC=m
+ CONFIG_CRYPTO_CRC32C=m
+ CONFIG_CRYPTO_CAMELLIA=m
+ # CONFIG_CRYPTO_TEST is not set
+-
+-#
+-# Hardware crypto devices
+-#
++CONFIG_CRYPTO_AUTHENC=m
++CONFIG_CRYPTO_LZO=m
++# CONFIG_CRYPTO_HW is not set
+ 
+ #
+ # Library routines
+@@ -999,10 +1032,15 @@ CONFIG_CRYPTO_CAMELLIA=m
+ CONFIG_BITREVERSE=y
+ # CONFIG_CRC_CCITT is not set
+ CONFIG_CRC16=m
++# CONFIG_CRC_ITU_T is not set
+ CONFIG_CRC32=y
++# CONFIG_CRC7 is not set
+ CONFIG_LIBCRC32C=m
+ CONFIG_ZLIB_INFLATE=m
+ CONFIG_ZLIB_DEFLATE=m
++CONFIG_LZO_COMPRESS=m
++CONFIG_LZO_DECOMPRESS=m
+ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
++CONFIG_HAS_DMA=y
+diff --git a/arch/mips/configs/tb0219_defconfig b/arch/mips/configs/tb0219_defconfig
+index af82e1a..8dd3ae3 100644
+--- a/arch/mips/configs/tb0219_defconfig
++++ b/arch/mips/configs/tb0219_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.23-rc2
+-# Wed Aug  8 16:11:47 2007
++# Linux kernel version: 2.6.26-rc1
++# Mon May 12 11:54:51 2008
+ #
+ CONFIG_MIPS=y
+ 
+@@ -10,9 +10,11 @@ CONFIG_MIPS=y
+ #
+ # CONFIG_MACH_ALCHEMY is not set
+ # CONFIG_BASLER_EXCITE is not set
++# CONFIG_BCM47XX is not set
+ # CONFIG_MIPS_COBALT is not set
+ # CONFIG_MACH_DECSTATION is not set
+ # CONFIG_MACH_JAZZ is not set
++# CONFIG_LASAT is not set
+ # CONFIG_LEMOTE_FULONG is not set
+ # CONFIG_MIPS_ATLAS is not set
+ # CONFIG_MIPS_MALTA is not set
+@@ -26,6 +28,7 @@ CONFIG_MACH_VR41XX=y
+ # CONFIG_PMC_YOSEMITE is not set
+ # CONFIG_SGI_IP22 is not set
+ # CONFIG_SGI_IP27 is not set
++# CONFIG_SGI_IP28 is not set
+ # CONFIG_SGI_IP32 is not set
+ # CONFIG_SIBYTE_CRHINE is not set
+ # CONFIG_SIBYTE_CARMEL is not set
+@@ -53,12 +56,17 @@ CONFIG_PCI_VR41XX=y
+ CONFIG_RWSEM_GENERIC_SPINLOCK=y
+ # CONFIG_ARCH_HAS_ILOG2_U32 is not set
+ # CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_ARCH_SUPPORTS_OPROFILE=y
+ CONFIG_GENERIC_FIND_NEXT_BIT=y
+ CONFIG_GENERIC_HWEIGHT=y
+ CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_TIME=y
++CONFIG_GENERIC_CMOS_UPDATE=y
+ CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+ CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
++CONFIG_CEVT_R4K=y
++CONFIG_CSRC_R4K=y
+ CONFIG_DMA_NONCOHERENT=y
+ CONFIG_DMA_NEED_PCI_MAP_STATE=y
+ # CONFIG_HOTPLUG_CPU is not set
+@@ -113,6 +121,7 @@ CONFIG_CPU_HAS_SYNC=y
+ CONFIG_GENERIC_HARDIRQS=y
+ CONFIG_GENERIC_IRQ_PROBE=y
+ CONFIG_ARCH_FLATMEM_ENABLE=y
++CONFIG_ARCH_POPULATES_NODE_MAP=y
+ CONFIG_SELECT_MEMORY_MODEL=y
+ CONFIG_FLATMEM_MANUAL=y
+ # CONFIG_DISCONTIGMEM_MANUAL is not set
+@@ -120,10 +129,16 @@ CONFIG_FLATMEM_MANUAL=y
+ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=0
+ CONFIG_VIRT_TO_BUS=y
++# CONFIG_TICK_ONESHOT is not set
++# CONFIG_NO_HZ is not set
++# CONFIG_HIGH_RES_TIMERS is not set
++CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+ # CONFIG_HZ_48 is not set
+ # CONFIG_HZ_100 is not set
+ # CONFIG_HZ_128 is not set
+@@ -156,23 +171,29 @@ CONFIG_SYSVIPC_SYSCTL=y
+ # CONFIG_POSIX_MQUEUE is not set
+ # CONFIG_BSD_PROCESS_ACCT is not set
+ # CONFIG_TASKSTATS is not set
+-# CONFIG_USER_NS is not set
+ # CONFIG_AUDIT is not set
+ # CONFIG_IKCONFIG is not set
+ CONFIG_LOG_BUF_SHIFT=14
++# CONFIG_CGROUPS is not set
++# CONFIG_GROUP_SCHED is not set
+ CONFIG_SYSFS_DEPRECATED=y
++CONFIG_SYSFS_DEPRECATED_V2=y
+ # CONFIG_RELAY is not set
++# CONFIG_NAMESPACES is not set
+ # CONFIG_BLK_DEV_INITRD is not set
+ # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+ CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+ CONFIG_BUG=y
+ CONFIG_ELF_CORE=y
++# CONFIG_PCSPKR_PLATFORM is not set
++CONFIG_COMPAT_BRK=y
+ CONFIG_BASE_FULL=y
+ CONFIG_FUTEX=y
+ CONFIG_ANON_INODES=y
+@@ -185,10 +206,19 @@ CONFIG_VM_EVENT_COUNTERS=y
+ CONFIG_SLAB=y
+ # CONFIG_SLUB is not set
+ # CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++# CONFIG_MARKERS is not set
++CONFIG_HAVE_OPROFILE=y
++# CONFIG_HAVE_KPROBES is not set
++# CONFIG_HAVE_KRETPROBES is not set
++# CONFIG_HAVE_DMA_ATTRS is not set
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ CONFIG_MODULE_FORCE_UNLOAD=y
+ CONFIG_MODVERSIONS=y
+@@ -212,18 +242,17 @@ CONFIG_DEFAULT_AS=y
+ # CONFIG_DEFAULT_CFQ is not set
+ # CONFIG_DEFAULT_NOOP is not set
+ CONFIG_DEFAULT_IOSCHED="anticipatory"
++CONFIG_CLASSIC_RCU=y
+ 
+ #
+ # Bus options (PCI, PCMCIA, EISA, ISA, TC)
+ #
+ CONFIG_HW_HAS_PCI=y
+ CONFIG_PCI=y
++CONFIG_PCI_DOMAINS=y
+ # CONFIG_ARCH_SUPPORTS_MSI is not set
++CONFIG_PCI_LEGACY=y
+ CONFIG_MMU=y
+-
+-#
+-# PCCARD (PCMCIA/CardBus) support
+-#
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
+ 
+@@ -237,6 +266,7 @@ CONFIG_TRAD_SIGNALS=y
+ #
+ # Power management options
+ #
++CONFIG_ARCH_SUSPEND_POSSIBLE=y
+ # CONFIG_PM is not set
+ 
+ #
+@@ -278,6 +308,7 @@ CONFIG_INET_TUNNEL=m
+ # CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+ # CONFIG_INET_XFRM_MODE_TUNNEL is not set
+ # CONFIG_INET_XFRM_MODE_BEET is not set
++# CONFIG_INET_LRO is not set
+ CONFIG_INET_DIAG=y
+ CONFIG_INET_TCP_DIAG=y
+ # CONFIG_TCP_CONG_ADVANCED is not set
+@@ -285,15 +316,10 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ CONFIG_NETWORK_SECMARK=y
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+ # CONFIG_IP_SCTP is not set
+-# CONFIG_SCTP_HMAC_NONE is not set
+-# CONFIG_SCTP_HMAC_SHA1 is not set
+-# CONFIG_SCTP_HMAC_MD5 is not set
+ # CONFIG_TIPC is not set
+ # CONFIG_ATM is not set
+ # CONFIG_BRIDGE is not set
+@@ -306,10 +332,6 @@ CONFIG_NETWORK_SECMARK=y
+ # CONFIG_LAPB 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
+ 
+ #
+@@ -317,6 +339,7 @@ CONFIG_NETWORK_SECMARK=y
+ #
+ # CONFIG_NET_PKTGEN is not set
+ # CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
+ # CONFIG_IRDA is not set
+ # CONFIG_BT is not set
+ # CONFIG_AF_RXRPC is not set
+@@ -339,6 +362,7 @@ CONFIG_FIB_RULES=y
+ #
+ # Generic Driver Options
+ #
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+ CONFIG_STANDALONE=y
+ CONFIG_PREVENT_FIRMWARE_BUILD=y
+ CONFIG_FW_LOADER=m
+@@ -360,10 +384,11 @@ CONFIG_BLK_DEV_NBD=m
+ CONFIG_BLK_DEV_RAM=y
+ CONFIG_BLK_DEV_RAM_COUNT=16
+ CONFIG_BLK_DEV_RAM_SIZE=4096
+-CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
++CONFIG_BLK_DEV_XIP=y
+ # CONFIG_CDROM_PKTCDVD is not set
+ # CONFIG_ATA_OVER_ETH is not set
+ # CONFIG_MISC_DEVICES is not set
++CONFIG_HAVE_IDE=y
+ # CONFIG_IDE is not set
+ 
+ #
+@@ -375,10 +400,6 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+ # CONFIG_SCSI_NETLINK is not set
+ # CONFIG_ATA is not set
+ # CONFIG_MD is not set
+-
+-#
+-# Fusion MPT device support
+-#
+ # CONFIG_FUSION is not set
+ 
+ #
+@@ -394,6 +415,7 @@ CONFIG_NETDEVICES=y
+ # CONFIG_MACVLAN is not set
+ # CONFIG_EQUALIZER is not set
+ # CONFIG_TUN is not set
++# CONFIG_VETH is not set
+ # CONFIG_ARCNET is not set
+ CONFIG_PHYLIB=m
+ 
+@@ -409,7 +431,8 @@ CONFIG_VITESSE_PHY=m
+ CONFIG_SMSC_PHY=m
+ # CONFIG_BROADCOM_PHY is not set
+ # CONFIG_ICPLUS_PHY is not set
+-# CONFIG_FIXED_PHY is not set
++# CONFIG_REALTEK_PHY is not set
++# CONFIG_MDIO_BITBANG is not set
+ CONFIG_NET_ETHERNET=y
+ CONFIG_MII=y
+ # CONFIG_AX88796 is not set
+@@ -420,6 +443,10 @@ CONFIG_MII=y
+ # CONFIG_DM9000 is not set
+ # CONFIG_NET_TULIP is not set
+ # CONFIG_HP100 is not set
++# CONFIG_IBM_NEW_EMAC_ZMII is not set
++# CONFIG_IBM_NEW_EMAC_RGMII is not set
++# CONFIG_IBM_NEW_EMAC_TAH is not set
++# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+ CONFIG_NET_PCI=y
+ # CONFIG_PCNET32 is not set
+ # CONFIG_AMD8111_ETH is not set
+@@ -427,7 +454,6 @@ CONFIG_NET_PCI=y
+ # CONFIG_B44 is not set
+ # CONFIG_FORCEDETH is not set
+ # CONFIG_TC35815 is not set
+-# CONFIG_DGRS is not set
+ # CONFIG_EEPRO100 is not set
+ # CONFIG_E100 is not set
+ # CONFIG_FEALNX is not set
+@@ -439,6 +465,7 @@ CONFIG_8139TOO_PIO=y
+ # CONFIG_8139TOO_TUNE_TWISTER is not set
+ # CONFIG_8139TOO_8129 is not set
+ # CONFIG_8139_OLD_RX_RESET is not set
++# CONFIG_R6040 is not set
+ # CONFIG_SIS900 is not set
+ # CONFIG_EPIC100 is not set
+ # CONFIG_SUNDANCE is not set
+@@ -451,6 +478,10 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_ACENIC is not set
+ # CONFIG_DL2K is not set
+ # CONFIG_E1000 is not set
++# CONFIG_E1000E is not set
++# CONFIG_E1000E_ENABLED is not set
++# CONFIG_IP1000 is not set
++# CONFIG_IGB is not set
+ # CONFIG_NS83820 is not set
+ # CONFIG_HAMACHI is not set
+ # CONFIG_YELLOWFIN is not set
+@@ -472,6 +503,7 @@ CONFIG_VIA_VELOCITY=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ 
+ #
+ # USB Network Adapters
+@@ -480,14 +512,12 @@ CONFIG_VIA_VELOCITY=y
+ # CONFIG_USB_KAWETH is not set
+ # CONFIG_USB_PEGASUS is not set
+ # CONFIG_USB_RTL8150 is not set
+-# CONFIG_USB_USBNET_MII is not set
+ # CONFIG_USB_USBNET is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+ # CONFIG_HIPPI is not set
+ # CONFIG_PPP is not set
+ # CONFIG_SLIP 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
+@@ -506,7 +536,6 @@ CONFIG_INPUT=y
+ #
+ # CONFIG_INPUT_MOUSEDEV is not set
+ # CONFIG_INPUT_JOYDEV is not set
+-# CONFIG_INPUT_TSDEV is not set
+ # CONFIG_INPUT_EVDEV is not set
+ # CONFIG_INPUT_EVBUG is not set
+ 
+@@ -533,7 +562,9 @@ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
+ CONFIG_VT_HW_CONSOLE_BINDING=y
++# CONFIG_DEVKMEM is not set
+ # CONFIG_SERIAL_NONSTANDARD is not set
++# CONFIG_NOZOMI is not set
+ 
+ #
+ # Serial drivers
+@@ -552,52 +583,62 @@ CONFIG_UNIX98_PTYS=y
+ CONFIG_LEGACY_PTYS=y
+ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+-# CONFIG_WATCHDOG is not set
+ # CONFIG_HW_RANDOM is not set
+-# CONFIG_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ CONFIG_GPIO_TB0219=y
+-# CONFIG_DRM is not set
+ CONFIG_GPIO_VR41XX=y
+ # CONFIG_RAW_DRIVER is not set
+ # CONFIG_TCG_TPM is not set
+ CONFIG_DEVPORT=y
+ # CONFIG_I2C is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ # CONFIG_HWMON is not set
++# CONFIG_THERMAL is not set
++# CONFIG_WATCHDOG is not set
++
++#
++# Sonics Silicon Backplane
++#
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
+ 
+ #
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++
++#
++# Multimedia drivers
++#
+ # CONFIG_DAB is not set
+ 
+ #
+ # Graphics support
+ #
++# CONFIG_DRM is not set
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
++# CONFIG_FB is not set
+ # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+ 
+ #
+ # Display device support
+ #
+ # CONFIG_DISPLAY_SUPPORT is not set
+-# CONFIG_VGASTATE is not set
+-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+-# CONFIG_FB is not set
+ 
+ #
+ # Console display driver support
+@@ -616,6 +657,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
+ CONFIG_USB_ARCH_HAS_EHCI=y
+ CONFIG_USB=m
+ # CONFIG_USB_DEBUG is not set
++# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+ 
+ #
+ # Miscellaneous USB options
+@@ -624,15 +666,18 @@ CONFIG_USB_DEVICEFS=y
+ CONFIG_USB_DEVICE_CLASS=y
+ # CONFIG_USB_DYNAMIC_MINORS is not set
+ # CONFIG_USB_OTG is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # USB Host Controller Drivers
+ #
++# CONFIG_USB_C67X00_HCD is not set
+ CONFIG_USB_EHCI_HCD=m
+-# CONFIG_USB_EHCI_SPLIT_ISO is not set
+ # CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+ # CONFIG_USB_EHCI_TT_NEWSCHED is not set
+ # CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_ISP1760_HCD is not set
+ CONFIG_USB_OHCI_HCD=m
+ # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+ # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+@@ -665,10 +710,6 @@ CONFIG_USB_MON=y
+ #
+ # USB port drivers
+ #
+-
+-#
+-# USB Serial Converter support
+-#
+ # CONFIG_USB_SERIAL is not set
+ 
+ #
+@@ -694,17 +735,11 @@ CONFIG_USB_MON=y
+ # CONFIG_USB_TRANCEVIBRATOR is not set
+ # CONFIG_USB_IOWARRIOR is not set
+ # CONFIG_USB_TEST is not set
+-
+-#
+-# USB DSL modem support
+-#
+-
+-#
+-# USB Gadget Support
+-#
+ # CONFIG_USB_GADGET is not set
+ # CONFIG_MMC is not set
++# CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ CONFIG_RTC_LIB=y
+ CONFIG_RTC_CLASS=y
+@@ -729,9 +764,10 @@ CONFIG_RTC_INTF_DEV=y
+ # Platform RTC drivers
+ #
+ # CONFIG_RTC_DRV_CMOS is not set
++# CONFIG_RTC_DRV_DS1511 is not set
+ # CONFIG_RTC_DRV_DS1553 is not set
+-# CONFIG_RTC_DRV_STK17TA8 is not set
+ # CONFIG_RTC_DRV_DS1742 is not set
++# CONFIG_RTC_DRV_STK17TA8 is not set
+ # CONFIG_RTC_DRV_M48T86 is not set
+ # CONFIG_RTC_DRV_M48T59 is not set
+ # CONFIG_RTC_DRV_V3020 is not set
+@@ -740,23 +776,6 @@ CONFIG_RTC_INTF_DEV=y
+ # on-CPU RTC drivers
+ #
+ CONFIG_RTC_DRV_VR41XX=y
+-
+-#
+-# DMA Engine support
+-#
+-# CONFIG_DMA_ENGINE is not set
+-
+-#
+-# DMA Clients
+-#
+-
+-#
+-# DMA Devices
+-#
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -771,20 +790,16 @@ CONFIG_EXT3_FS_XATTR=y
+ # CONFIG_EXT3_FS_SECURITY is not set
+ # CONFIG_EXT4DEV_FS is not set
+ CONFIG_JBD=y
+-# CONFIG_JBD_DEBUG is not set
+ CONFIG_FS_MBCACHE=y
+ # CONFIG_REISERFS_FS is not set
+ # CONFIG_JFS_FS is not set
+ CONFIG_FS_POSIX_ACL=y
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+-# CONFIG_MINIX_FS is not set
+-CONFIG_ROMFS_FS=m
++CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+ CONFIG_INOTIFY_USER=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
+@@ -813,7 +828,6 @@ CONFIG_SYSFS=y
+ CONFIG_TMPFS=y
+ CONFIG_TMPFS_POSIX_ACL=y
+ # CONFIG_HUGETLB_PAGE is not set
+-CONFIG_RAMFS=y
+ # CONFIG_CONFIGFS_FS is not set
+ 
+ #
+@@ -828,24 +842,21 @@ CONFIG_RAMFS=y
+ # CONFIG_EFS_FS is not set
+ CONFIG_CRAMFS=m
+ # CONFIG_VXFS_FS is not set
++# CONFIG_MINIX_FS is not set
+ # CONFIG_HPFS_FS is not set
+ # CONFIG_QNX4FS_FS is not set
++CONFIG_ROMFS_FS=m
+ # CONFIG_SYSV_FS is not set
+ # CONFIG_UFS_FS is not set
+-
+-#
+-# Network File Systems
+-#
++CONFIG_NETWORK_FILESYSTEMS=y
+ 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=y
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+ CONFIG_LOCKD_V4=y
+@@ -866,47 +877,38 @@ CONFIG_SUNRPC=y
+ #
+ # CONFIG_PARTITION_ADVANCED is not set
+ CONFIG_MSDOS_PARTITION=y
+-
+-#
+-# Native Language Support
+-#
+ # CONFIG_NLS is not set
+-
+-#
+-# Distributed Lock Manager
+-#
+ # CONFIG_DLM is not set
+ 
+ #
+-# Profiling support
+-#
+-# CONFIG_PROFILING is not set
+-
+-#
+ # Kernel hacking
+ #
+ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+ # CONFIG_PRINTK_TIME is not set
++CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+ # CONFIG_HEADERS_CHECK is not set
+ # CONFIG_DEBUG_KERNEL is not set
+-CONFIG_CROSSCOMPILE=y
+-CONFIG_CMDLINE="mem=64M console=ttyVR0,115200 ip=any root=/dev/nfs"
++# CONFIG_SAMPLES is not set
++CONFIG_CMDLINE="cca=3 mem=64M console=ttyVR0,115200 ip=any root=/dev/nfs"
+ 
+ #
+ # Security options
+ #
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ # CONFIG_CRYPTO is not set
+ 
+ #
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ CONFIG_CRC_CCITT=y
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+diff --git a/arch/mips/configs/tb0226_defconfig b/arch/mips/configs/tb0226_defconfig
+index a95385b..2ba240e 100644
+--- a/arch/mips/configs/tb0226_defconfig
++++ b/arch/mips/configs/tb0226_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.23-rc2
+-# Thu Aug  9 11:16:55 2007
++# Linux kernel version: 2.6.26-rc1
++# Mon May 12 11:53:54 2008
+ #
+ CONFIG_MIPS=y
+ 
+@@ -10,9 +10,11 @@ CONFIG_MIPS=y
+ #
+ # CONFIG_MACH_ALCHEMY is not set
+ # CONFIG_BASLER_EXCITE is not set
++# CONFIG_BCM47XX is not set
+ # CONFIG_MIPS_COBALT is not set
+ # CONFIG_MACH_DECSTATION is not set
+ # CONFIG_MACH_JAZZ is not set
++# CONFIG_LASAT is not set
+ # CONFIG_LEMOTE_FULONG is not set
+ # CONFIG_MIPS_ATLAS is not set
+ # CONFIG_MIPS_MALTA is not set
+@@ -26,6 +28,7 @@ CONFIG_MACH_VR41XX=y
+ # CONFIG_PMC_YOSEMITE is not set
+ # CONFIG_SGI_IP22 is not set
+ # CONFIG_SGI_IP27 is not set
++# CONFIG_SGI_IP28 is not set
+ # CONFIG_SGI_IP32 is not set
+ # CONFIG_SIBYTE_CRHINE is not set
+ # CONFIG_SIBYTE_CARMEL is not set
+@@ -53,12 +56,17 @@ CONFIG_PCI_VR41XX=y
+ CONFIG_RWSEM_GENERIC_SPINLOCK=y
+ # CONFIG_ARCH_HAS_ILOG2_U32 is not set
+ # CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_ARCH_SUPPORTS_OPROFILE=y
+ CONFIG_GENERIC_FIND_NEXT_BIT=y
+ CONFIG_GENERIC_HWEIGHT=y
+ CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_TIME=y
++CONFIG_GENERIC_CMOS_UPDATE=y
+ CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+ CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
++CONFIG_CEVT_R4K=y
++CONFIG_CSRC_R4K=y
+ CONFIG_DMA_NONCOHERENT=y
+ CONFIG_DMA_NEED_PCI_MAP_STATE=y
+ # CONFIG_HOTPLUG_CPU is not set
+@@ -113,6 +121,7 @@ CONFIG_CPU_HAS_SYNC=y
+ CONFIG_GENERIC_HARDIRQS=y
+ CONFIG_GENERIC_IRQ_PROBE=y
+ CONFIG_ARCH_FLATMEM_ENABLE=y
++CONFIG_ARCH_POPULATES_NODE_MAP=y
+ CONFIG_SELECT_MEMORY_MODEL=y
+ CONFIG_FLATMEM_MANUAL=y
+ # CONFIG_DISCONTIGMEM_MANUAL is not set
+@@ -120,10 +129,16 @@ CONFIG_FLATMEM_MANUAL=y
+ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=0
+ CONFIG_VIRT_TO_BUS=y
++# CONFIG_TICK_ONESHOT is not set
++# CONFIG_NO_HZ is not set
++# CONFIG_HIGH_RES_TIMERS is not set
++CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+ # CONFIG_HZ_48 is not set
+ # CONFIG_HZ_100 is not set
+ # CONFIG_HZ_128 is not set
+@@ -156,23 +171,29 @@ CONFIG_SYSVIPC_SYSCTL=y
+ # CONFIG_POSIX_MQUEUE is not set
+ # CONFIG_BSD_PROCESS_ACCT is not set
+ # CONFIG_TASKSTATS is not set
+-# CONFIG_USER_NS is not set
+ # CONFIG_AUDIT is not set
+ # CONFIG_IKCONFIG is not set
+ CONFIG_LOG_BUF_SHIFT=14
++# CONFIG_CGROUPS is not set
++# CONFIG_GROUP_SCHED is not set
+ CONFIG_SYSFS_DEPRECATED=y
++CONFIG_SYSFS_DEPRECATED_V2=y
+ # CONFIG_RELAY is not set
++# CONFIG_NAMESPACES is not set
+ # CONFIG_BLK_DEV_INITRD is not set
+ # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+ CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+ CONFIG_BUG=y
+ CONFIG_ELF_CORE=y
++# CONFIG_PCSPKR_PLATFORM is not set
++CONFIG_COMPAT_BRK=y
+ CONFIG_BASE_FULL=y
+ CONFIG_FUTEX=y
+ CONFIG_ANON_INODES=y
+@@ -185,10 +206,19 @@ CONFIG_VM_EVENT_COUNTERS=y
+ CONFIG_SLAB=y
+ # CONFIG_SLUB is not set
+ # CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++# CONFIG_MARKERS is not set
++CONFIG_HAVE_OPROFILE=y
++# CONFIG_HAVE_KPROBES is not set
++# CONFIG_HAVE_KRETPROBES is not set
++# CONFIG_HAVE_DMA_ATTRS is not set
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ CONFIG_MODULE_FORCE_UNLOAD=y
+ CONFIG_MODVERSIONS=y
+@@ -212,18 +242,17 @@ CONFIG_DEFAULT_AS=y
+ # CONFIG_DEFAULT_CFQ is not set
+ # CONFIG_DEFAULT_NOOP is not set
+ CONFIG_DEFAULT_IOSCHED="anticipatory"
++CONFIG_CLASSIC_RCU=y
+ 
+ #
+ # Bus options (PCI, PCMCIA, EISA, ISA, TC)
+ #
+ CONFIG_HW_HAS_PCI=y
+ CONFIG_PCI=y
++CONFIG_PCI_DOMAINS=y
+ # CONFIG_ARCH_SUPPORTS_MSI is not set
++CONFIG_PCI_LEGACY=y
+ CONFIG_MMU=y
+-
+-#
+-# PCCARD (PCMCIA/CardBus) support
+-#
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
+ 
+@@ -237,6 +266,7 @@ CONFIG_TRAD_SIGNALS=y
+ #
+ # Power management options
+ #
++CONFIG_ARCH_SUSPEND_POSSIBLE=y
+ # CONFIG_PM is not set
+ 
+ #
+@@ -277,6 +307,7 @@ CONFIG_SYN_COOKIES=y
+ # CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+ # CONFIG_INET_XFRM_MODE_TUNNEL is not set
+ # CONFIG_INET_XFRM_MODE_BEET is not set
++# CONFIG_INET_LRO is not set
+ CONFIG_INET_DIAG=y
+ CONFIG_INET_TCP_DIAG=y
+ # CONFIG_TCP_CONG_ADVANCED is not set
+@@ -284,15 +315,10 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ CONFIG_NETWORK_SECMARK=y
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+ # CONFIG_IP_SCTP is not set
+-# CONFIG_SCTP_HMAC_NONE is not set
+-# CONFIG_SCTP_HMAC_SHA1 is not set
+-# CONFIG_SCTP_HMAC_MD5 is not set
+ # CONFIG_TIPC is not set
+ # CONFIG_ATM is not set
+ # CONFIG_BRIDGE is not set
+@@ -305,10 +331,6 @@ CONFIG_NETWORK_SECMARK=y
+ # CONFIG_LAPB 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
+ 
+ #
+@@ -316,6 +338,7 @@ CONFIG_NETWORK_SECMARK=y
+ #
+ # CONFIG_NET_PKTGEN is not set
+ # CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
+ # CONFIG_IRDA is not set
+ # CONFIG_BT is not set
+ # CONFIG_AF_RXRPC is not set
+@@ -338,6 +361,7 @@ CONFIG_FIB_RULES=y
+ #
+ # Generic Driver Options
+ #
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+ CONFIG_STANDALONE=y
+ CONFIG_PREVENT_FIRMWARE_BUILD=y
+ CONFIG_FW_LOADER=y
+@@ -359,10 +383,11 @@ CONFIG_BLK_DEV_NBD=m
+ CONFIG_BLK_DEV_RAM=y
+ CONFIG_BLK_DEV_RAM_COUNT=16
+ CONFIG_BLK_DEV_RAM_SIZE=4096
+-CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
++CONFIG_BLK_DEV_XIP=y
+ # CONFIG_CDROM_PKTCDVD is not set
+ # CONFIG_ATA_OVER_ETH is not set
+ # CONFIG_MISC_DEVICES is not set
++CONFIG_HAVE_IDE=y
+ # CONFIG_IDE is not set
+ 
+ #
+@@ -402,18 +427,13 @@ CONFIG_SCSI_WAIT_SCAN=m
+ # CONFIG_SCSI_ISCSI_ATTRS is not set
+ CONFIG_SCSI_SAS_ATTRS=m
+ CONFIG_SCSI_SAS_LIBSAS=m
++CONFIG_SCSI_SAS_HOST_SMP=y
+ # CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
++# CONFIG_SCSI_SRP_ATTRS is not set
+ # CONFIG_SCSI_LOWLEVEL is not set
+ # CONFIG_ATA is not set
+ # CONFIG_MD is not set
+-
+-#
+-# Fusion MPT device support
+-#
+ # CONFIG_FUSION is not set
+-# CONFIG_FUSION_SPI is not set
+-# CONFIG_FUSION_FC is not set
+-# CONFIG_FUSION_SAS is not set
+ 
+ #
+ # IEEE 1394 (FireWire) support
+@@ -428,6 +448,7 @@ CONFIG_NETDEVICES=y
+ # CONFIG_MACVLAN is not set
+ # CONFIG_EQUALIZER is not set
+ # CONFIG_TUN is not set
++# CONFIG_VETH is not set
+ # CONFIG_ARCNET is not set
+ # CONFIG_PHYLIB is not set
+ CONFIG_NET_ETHERNET=y
+@@ -440,6 +461,10 @@ CONFIG_MII=y
+ # CONFIG_DM9000 is not set
+ # CONFIG_NET_TULIP is not set
+ # CONFIG_HP100 is not set
++# CONFIG_IBM_NEW_EMAC_ZMII is not set
++# CONFIG_IBM_NEW_EMAC_RGMII is not set
++# CONFIG_IBM_NEW_EMAC_TAH is not set
++# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+ CONFIG_NET_PCI=y
+ # CONFIG_PCNET32 is not set
+ # CONFIG_AMD8111_ETH is not set
+@@ -447,7 +472,6 @@ CONFIG_NET_PCI=y
+ # CONFIG_B44 is not set
+ # CONFIG_FORCEDETH is not set
+ # CONFIG_TC35815 is not set
+-# CONFIG_DGRS is not set
+ # CONFIG_EEPRO100 is not set
+ CONFIG_E100=y
+ # CONFIG_FEALNX is not set
+@@ -455,6 +479,7 @@ CONFIG_E100=y
+ # CONFIG_NE2K_PCI is not set
+ # CONFIG_8139CP is not set
+ # CONFIG_8139TOO is not set
++# CONFIG_R6040 is not set
+ # CONFIG_SIS900 is not set
+ # CONFIG_EPIC100 is not set
+ # CONFIG_SUNDANCE is not set
+@@ -470,6 +495,7 @@ CONFIG_E100=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ 
+ #
+ # USB Network Adapters
+@@ -478,7 +504,6 @@ CONFIG_USB_CATC=m
+ CONFIG_USB_KAWETH=m
+ CONFIG_USB_PEGASUS=m
+ CONFIG_USB_RTL8150=m
+-# CONFIG_USB_USBNET_MII is not set
+ # CONFIG_USB_USBNET is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+@@ -486,7 +511,6 @@ CONFIG_USB_RTL8150=m
+ # CONFIG_PPP is not set
+ # CONFIG_SLIP is not set
+ # 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
+@@ -505,7 +529,6 @@ CONFIG_INPUT=y
+ #
+ # CONFIG_INPUT_MOUSEDEV is not set
+ # CONFIG_INPUT_JOYDEV is not set
+-# CONFIG_INPUT_TSDEV is not set
+ # CONFIG_INPUT_EVDEV is not set
+ # CONFIG_INPUT_EVBUG is not set
+ 
+@@ -532,7 +555,9 @@ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
+ CONFIG_VT_HW_CONSOLE_BINDING=y
++# CONFIG_DEVKMEM is not set
+ # CONFIG_SERIAL_NONSTANDARD is not set
++# CONFIG_NOZOMI is not set
+ 
+ #
+ # Serial drivers
+@@ -551,52 +576,62 @@ CONFIG_UNIX98_PTYS=y
+ CONFIG_LEGACY_PTYS=y
+ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+-# CONFIG_WATCHDOG is not set
+ # CONFIG_HW_RANDOM is not set
+-# CONFIG_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_GPIO_TB0219 is not set
+-# CONFIG_DRM is not set
+ CONFIG_GPIO_VR41XX=y
+ # CONFIG_RAW_DRIVER is not set
+ # CONFIG_TCG_TPM is not set
+ CONFIG_DEVPORT=y
+ # CONFIG_I2C is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ # CONFIG_HWMON is not set
++# CONFIG_THERMAL is not set
++# CONFIG_WATCHDOG is not set
++
++#
++# Sonics Silicon Backplane
++#
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
+ 
+ #
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++
++#
++# Multimedia drivers
++#
+ # CONFIG_DAB is not set
+ 
+ #
+ # Graphics support
+ #
++# CONFIG_DRM is not set
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
++# CONFIG_FB is not set
+ # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+ 
+ #
+ # Display device support
+ #
+ # CONFIG_DISPLAY_SUPPORT is not set
+-# CONFIG_VGASTATE is not set
+-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+-# CONFIG_FB is not set
+ 
+ #
+ # Console display driver support
+@@ -615,6 +650,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
+ CONFIG_USB_ARCH_HAS_EHCI=y
+ CONFIG_USB=y
+ # CONFIG_USB_DEBUG is not set
++# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+ 
+ #
+ # Miscellaneous USB options
+@@ -623,15 +659,18 @@ CONFIG_USB_DEVICEFS=y
+ CONFIG_USB_DEVICE_CLASS=y
+ # CONFIG_USB_DYNAMIC_MINORS is not set
+ # CONFIG_USB_OTG is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # USB Host Controller Drivers
+ #
++# CONFIG_USB_C67X00_HCD is not set
+ CONFIG_USB_EHCI_HCD=y
+-# CONFIG_USB_EHCI_SPLIT_ISO is not set
+ # CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+ # CONFIG_USB_EHCI_TT_NEWSCHED is not set
+ # CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_ISP1760_HCD is not set
+ CONFIG_USB_OHCI_HCD=y
+ # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+ # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+@@ -657,13 +696,16 @@ CONFIG_USB_STORAGE=y
+ # CONFIG_USB_STORAGE_DEBUG is not set
+ # 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 is not set
+ # CONFIG_USB_STORAGE_USBAT is not set
+ # CONFIG_USB_STORAGE_SDDR09 is not set
+ # CONFIG_USB_STORAGE_SDDR55 is not set
+ # CONFIG_USB_STORAGE_JUMPSHOT is not set
+ # CONFIG_USB_STORAGE_ALAUDA is not set
++# CONFIG_USB_STORAGE_ONETOUCH is not set
+ # CONFIG_USB_STORAGE_KARMA is not set
++# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+ # CONFIG_USB_LIBUSUAL is not set
+ 
+ #
+@@ -676,10 +718,6 @@ CONFIG_USB_STORAGE=y
+ #
+ # USB port drivers
+ #
+-
+-#
+-# USB Serial Converter support
+-#
+ # CONFIG_USB_SERIAL is not set
+ 
+ #
+@@ -705,17 +743,11 @@ CONFIG_USB_STORAGE=y
+ # CONFIG_USB_TRANCEVIBRATOR is not set
+ # CONFIG_USB_IOWARRIOR is not set
+ # CONFIG_USB_TEST is not set
+-
+-#
+-# USB DSL modem support
+-#
+-
+-#
+-# USB Gadget Support
+-#
+ # CONFIG_USB_GADGET is not set
+ # CONFIG_MMC is not set
++# CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ CONFIG_RTC_LIB=y
+ CONFIG_RTC_CLASS=y
+@@ -740,9 +772,10 @@ CONFIG_RTC_INTF_DEV=y
+ # Platform RTC drivers
+ #
+ # CONFIG_RTC_DRV_CMOS is not set
++# CONFIG_RTC_DRV_DS1511 is not set
+ # CONFIG_RTC_DRV_DS1553 is not set
+-# CONFIG_RTC_DRV_STK17TA8 is not set
+ # CONFIG_RTC_DRV_DS1742 is not set
++# CONFIG_RTC_DRV_STK17TA8 is not set
+ # CONFIG_RTC_DRV_M48T86 is not set
+ # CONFIG_RTC_DRV_M48T59 is not set
+ # CONFIG_RTC_DRV_V3020 is not set
+@@ -751,23 +784,6 @@ CONFIG_RTC_INTF_DEV=y
+ # on-CPU RTC drivers
+ #
+ CONFIG_RTC_DRV_VR41XX=y
+-
+-#
+-# DMA Engine support
+-#
+-# CONFIG_DMA_ENGINE is not set
+-
+-#
+-# DMA Clients
+-#
+-
+-#
+-# DMA Devices
+-#
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -782,14 +798,11 @@ CONFIG_EXT2_FS=y
+ # CONFIG_JFS_FS is not set
+ CONFIG_FS_POSIX_ACL=y
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+-# CONFIG_MINIX_FS is not set
+-CONFIG_ROMFS_FS=m
++CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+ CONFIG_INOTIFY_USER=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
+@@ -818,7 +831,6 @@ CONFIG_SYSFS=y
+ CONFIG_TMPFS=y
+ CONFIG_TMPFS_POSIX_ACL=y
+ # CONFIG_HUGETLB_PAGE is not set
+-CONFIG_RAMFS=y
+ # CONFIG_CONFIGFS_FS is not set
+ 
+ #
+@@ -833,24 +845,21 @@ CONFIG_RAMFS=y
+ # CONFIG_EFS_FS is not set
+ CONFIG_CRAMFS=m
+ # CONFIG_VXFS_FS is not set
++# CONFIG_MINIX_FS is not set
+ # CONFIG_HPFS_FS is not set
+ # CONFIG_QNX4FS_FS is not set
++CONFIG_ROMFS_FS=m
+ # CONFIG_SYSV_FS is not set
+ # CONFIG_UFS_FS is not set
+-
+-#
+-# Network File Systems
+-#
++CONFIG_NETWORK_FILESYSTEMS=y
+ 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=m
+ 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
+@@ -871,47 +880,38 @@ CONFIG_SUNRPC=y
+ #
+ # CONFIG_PARTITION_ADVANCED is not set
+ CONFIG_MSDOS_PARTITION=y
+-
+-#
+-# Native Language Support
+-#
+ # CONFIG_NLS is not set
+-
+-#
+-# Distributed Lock Manager
+-#
+ # CONFIG_DLM is not set
+ 
+ #
+-# Profiling support
+-#
+-# CONFIG_PROFILING is not set
+-
+-#
+ # Kernel hacking
+ #
+ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+ # CONFIG_PRINTK_TIME is not set
++CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+ # CONFIG_HEADERS_CHECK is not set
+ # CONFIG_DEBUG_KERNEL is not set
+-CONFIG_CROSSCOMPILE=y
+-CONFIG_CMDLINE="mem=32M console=ttyVR0,115200"
++# CONFIG_SAMPLES is not set
++CONFIG_CMDLINE="cca=3 mem=32M console=ttyVR0,115200"
+ 
+ #
+ # Security options
+ #
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ # CONFIG_CRYPTO is not set
+ 
+ #
+ # Library routines
+ #
+ CONFIG_BITREVERSE=m
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+diff --git a/arch/mips/configs/tb0287_defconfig b/arch/mips/configs/tb0287_defconfig
+index 40d4a40..a5d0f3c 100644
+--- a/arch/mips/configs/tb0287_defconfig
++++ b/arch/mips/configs/tb0287_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.23-rc2
+-# Thu Aug  9 14:03:54 2007
++# Linux kernel version: 2.6.26-rc1
++# Mon May 12 11:55:55 2008
+ #
+ CONFIG_MIPS=y
+ 
+@@ -10,9 +10,11 @@ CONFIG_MIPS=y
+ #
+ # CONFIG_MACH_ALCHEMY is not set
+ # CONFIG_BASLER_EXCITE is not set
++# CONFIG_BCM47XX is not set
+ # CONFIG_MIPS_COBALT is not set
+ # CONFIG_MACH_DECSTATION is not set
+ # CONFIG_MACH_JAZZ is not set
++# CONFIG_LASAT is not set
+ # CONFIG_LEMOTE_FULONG is not set
+ # CONFIG_MIPS_ATLAS is not set
+ # CONFIG_MIPS_MALTA is not set
+@@ -26,6 +28,7 @@ CONFIG_MACH_VR41XX=y
+ # CONFIG_PMC_YOSEMITE is not set
+ # CONFIG_SGI_IP22 is not set
+ # CONFIG_SGI_IP27 is not set
++# CONFIG_SGI_IP28 is not set
+ # CONFIG_SGI_IP32 is not set
+ # CONFIG_SIBYTE_CRHINE is not set
+ # CONFIG_SIBYTE_CARMEL is not set
+@@ -53,12 +56,17 @@ CONFIG_PCI_VR41XX=y
+ CONFIG_RWSEM_GENERIC_SPINLOCK=y
+ # CONFIG_ARCH_HAS_ILOG2_U32 is not set
+ # CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_ARCH_SUPPORTS_OPROFILE=y
+ CONFIG_GENERIC_FIND_NEXT_BIT=y
+ CONFIG_GENERIC_HWEIGHT=y
+ CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_TIME=y
++CONFIG_GENERIC_CMOS_UPDATE=y
+ CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+ CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
++CONFIG_CEVT_R4K=y
++CONFIG_CSRC_R4K=y
+ CONFIG_DMA_NONCOHERENT=y
+ CONFIG_DMA_NEED_PCI_MAP_STATE=y
+ # CONFIG_HOTPLUG_CPU is not set
+@@ -113,6 +121,7 @@ CONFIG_CPU_HAS_SYNC=y
+ CONFIG_GENERIC_HARDIRQS=y
+ CONFIG_GENERIC_IRQ_PROBE=y
+ CONFIG_ARCH_FLATMEM_ENABLE=y
++CONFIG_ARCH_POPULATES_NODE_MAP=y
+ CONFIG_SELECT_MEMORY_MODEL=y
+ CONFIG_FLATMEM_MANUAL=y
+ # CONFIG_DISCONTIGMEM_MANUAL is not set
+@@ -120,10 +129,16 @@ CONFIG_FLATMEM_MANUAL=y
+ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=0
+ CONFIG_VIRT_TO_BUS=y
++# CONFIG_TICK_ONESHOT is not set
++# CONFIG_NO_HZ is not set
++# CONFIG_HIGH_RES_TIMERS is not set
++CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+ # CONFIG_HZ_48 is not set
+ # CONFIG_HZ_100 is not set
+ # CONFIG_HZ_128 is not set
+@@ -156,12 +171,15 @@ CONFIG_SYSVIPC_SYSCTL=y
+ # CONFIG_POSIX_MQUEUE is not set
+ # CONFIG_BSD_PROCESS_ACCT is not set
+ # CONFIG_TASKSTATS is not set
+-# CONFIG_USER_NS is not set
+ # CONFIG_AUDIT is not set
+ # CONFIG_IKCONFIG is not set
+ CONFIG_LOG_BUF_SHIFT=14
++# CONFIG_CGROUPS is not set
++# CONFIG_GROUP_SCHED is not set
+ CONFIG_SYSFS_DEPRECATED=y
++CONFIG_SYSFS_DEPRECATED_V2=y
+ # CONFIG_RELAY is not set
++# CONFIG_NAMESPACES is not set
+ # CONFIG_BLK_DEV_INITRD is not set
+ # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+ CONFIG_SYSCTL=y
+@@ -173,6 +191,8 @@ CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+ CONFIG_BUG=y
+ CONFIG_ELF_CORE=y
++# CONFIG_PCSPKR_PLATFORM is not set
++CONFIG_COMPAT_BRK=y
+ CONFIG_BASE_FULL=y
+ CONFIG_FUTEX=y
+ CONFIG_ANON_INODES=y
+@@ -185,10 +205,19 @@ CONFIG_VM_EVENT_COUNTERS=y
+ CONFIG_SLAB=y
+ # CONFIG_SLUB is not set
+ # CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++# CONFIG_MARKERS is not set
++CONFIG_HAVE_OPROFILE=y
++# CONFIG_HAVE_KPROBES is not set
++# CONFIG_HAVE_KRETPROBES is not set
++# CONFIG_HAVE_DMA_ATTRS is not set
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ CONFIG_MODULE_FORCE_UNLOAD=y
+ CONFIG_MODVERSIONS=y
+@@ -212,18 +241,17 @@ CONFIG_DEFAULT_AS=y
+ # CONFIG_DEFAULT_CFQ is not set
+ # CONFIG_DEFAULT_NOOP is not set
+ CONFIG_DEFAULT_IOSCHED="anticipatory"
++CONFIG_CLASSIC_RCU=y
+ 
+ #
+ # Bus options (PCI, PCMCIA, EISA, ISA, TC)
+ #
+ CONFIG_HW_HAS_PCI=y
+ CONFIG_PCI=y
++CONFIG_PCI_DOMAINS=y
+ # CONFIG_ARCH_SUPPORTS_MSI is not set
++CONFIG_PCI_LEGACY=y
+ CONFIG_MMU=y
+-
+-#
+-# PCCARD (PCMCIA/CardBus) support
+-#
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
+ 
+@@ -237,6 +265,7 @@ CONFIG_TRAD_SIGNALS=y
+ #
+ # Power management options
+ #
++CONFIG_ARCH_SUSPEND_POSSIBLE=y
+ # CONFIG_PM is not set
+ 
+ #
+@@ -278,6 +307,7 @@ CONFIG_INET_TUNNEL=m
+ # CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+ # CONFIG_INET_XFRM_MODE_TUNNEL is not set
+ # CONFIG_INET_XFRM_MODE_BEET is not set
++# CONFIG_INET_LRO is not set
+ CONFIG_INET_DIAG=y
+ CONFIG_INET_TCP_DIAG=y
+ CONFIG_TCP_CONG_ADVANCED=y
+@@ -302,8 +332,6 @@ CONFIG_DEFAULT_BIC=y
+ CONFIG_DEFAULT_TCP_CONG="bic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ CONFIG_NETWORK_SECMARK=y
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -320,10 +348,6 @@ CONFIG_NETWORK_SECMARK=y
+ # CONFIG_LAPB 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
+ 
+ #
+@@ -331,6 +355,7 @@ CONFIG_NETWORK_SECMARK=y
+ #
+ # CONFIG_NET_PKTGEN is not set
+ # CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
+ # CONFIG_IRDA is not set
+ # CONFIG_BT is not set
+ # CONFIG_AF_RXRPC is not set
+@@ -353,6 +378,7 @@ CONFIG_FIB_RULES=y
+ #
+ # Generic Driver Options
+ #
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+ CONFIG_STANDALONE=y
+ CONFIG_PREVENT_FIRMWARE_BUILD=y
+ CONFIG_FW_LOADER=m
+@@ -374,10 +400,11 @@ CONFIG_BLK_DEV_NBD=m
+ CONFIG_BLK_DEV_RAM=y
+ CONFIG_BLK_DEV_RAM_COUNT=16
+ CONFIG_BLK_DEV_RAM_SIZE=4096
+-CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
++CONFIG_BLK_DEV_XIP=y
+ # CONFIG_CDROM_PKTCDVD is not set
+ # CONFIG_ATA_OVER_ETH is not set
+ # CONFIG_MISC_DEVICES is not set
++CONFIG_HAVE_IDE=y
+ # CONFIG_IDE is not set
+ 
+ #
+@@ -416,10 +443,14 @@ CONFIG_SCSI_WAIT_SCAN=m
+ # CONFIG_SCSI_FC_ATTRS is not set
+ # CONFIG_SCSI_ISCSI_ATTRS is not set
+ # CONFIG_SCSI_SAS_LIBSAS is not set
++# CONFIG_SCSI_SRP_ATTRS is not set
+ # CONFIG_SCSI_LOWLEVEL is not set
+ CONFIG_ATA=y
+ # CONFIG_ATA_NONSTANDARD is not set
++CONFIG_SATA_PMP=y
+ # CONFIG_SATA_AHCI is not set
++# CONFIG_SATA_SIL24 is not set
++CONFIG_ATA_SFF=y
+ # CONFIG_SATA_SVW is not set
+ # CONFIG_ATA_PIIX is not set
+ # CONFIG_SATA_MV is not set
+@@ -429,7 +460,6 @@ CONFIG_ATA=y
+ # CONFIG_SATA_PROMISE is not set
+ # CONFIG_SATA_SX4 is not set
+ # CONFIG_SATA_SIL is not set
+-# CONFIG_SATA_SIL24 is not set
+ # CONFIG_SATA_SIS is not set
+ # CONFIG_SATA_ULI is not set
+ # CONFIG_SATA_VIA is not set
+@@ -458,7 +488,9 @@ CONFIG_ATA=y
+ # CONFIG_PATA_MPIIX is not set
+ # CONFIG_PATA_OLDPIIX is not set
+ # CONFIG_PATA_NETCELL is not set
++# CONFIG_PATA_NINJA32 is not set
+ # CONFIG_PATA_NS87410 is not set
++# CONFIG_PATA_NS87415 is not set
+ # CONFIG_PATA_OPTI is not set
+ # CONFIG_PATA_OPTIDMA is not set
+ # CONFIG_PATA_PDC_OLD is not set
+@@ -472,15 +504,9 @@ CONFIG_PATA_SIL680=y
+ # CONFIG_PATA_VIA is not set
+ # CONFIG_PATA_WINBOND is not set
+ # CONFIG_PATA_PLATFORM is not set
++# CONFIG_PATA_SCH is not set
+ # CONFIG_MD is not set
+-
+-#
+-# Fusion MPT device support
+-#
+ # CONFIG_FUSION is not set
+-# CONFIG_FUSION_SPI is not set
+-# CONFIG_FUSION_FC is not set
+-# CONFIG_FUSION_SAS is not set
+ 
+ #
+ # IEEE 1394 (FireWire) support
+@@ -520,6 +546,7 @@ CONFIG_NETDEVICES=y
+ # CONFIG_MACVLAN is not set
+ # CONFIG_EQUALIZER is not set
+ # CONFIG_TUN is not set
++# CONFIG_VETH is not set
+ # CONFIG_ARCNET is not set
+ # CONFIG_PHYLIB is not set
+ CONFIG_NET_ETHERNET=y
+@@ -532,6 +559,10 @@ CONFIG_MII=y
+ # CONFIG_DM9000 is not set
+ # CONFIG_NET_TULIP is not set
+ # CONFIG_HP100 is not set
++# CONFIG_IBM_NEW_EMAC_ZMII is not set
++# CONFIG_IBM_NEW_EMAC_RGMII is not set
++# CONFIG_IBM_NEW_EMAC_TAH is not set
++# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+ CONFIG_NET_PCI=y
+ # CONFIG_PCNET32 is not set
+ # CONFIG_AMD8111_ETH is not set
+@@ -539,7 +570,6 @@ CONFIG_NET_PCI=y
+ # CONFIG_B44 is not set
+ # CONFIG_FORCEDETH is not set
+ # CONFIG_TC35815 is not set
+-# CONFIG_DGRS is not set
+ # CONFIG_EEPRO100 is not set
+ # CONFIG_E100 is not set
+ # CONFIG_FEALNX is not set
+@@ -551,6 +581,7 @@ CONFIG_8139TOO_PIO=y
+ # CONFIG_8139TOO_TUNE_TWISTER is not set
+ # CONFIG_8139TOO_8129 is not set
+ # CONFIG_8139_OLD_RX_RESET is not set
++# CONFIG_R6040 is not set
+ # CONFIG_SIS900 is not set
+ # CONFIG_EPIC100 is not set
+ # CONFIG_SUNDANCE is not set
+@@ -563,6 +594,10 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_ACENIC is not set
+ # CONFIG_DL2K is not set
+ # CONFIG_E1000 is not set
++# CONFIG_E1000E is not set
++# CONFIG_E1000E_ENABLED is not set
++# CONFIG_IP1000 is not set
++# CONFIG_IGB is not set
+ # CONFIG_NS83820 is not set
+ # CONFIG_HAMACHI is not set
+ # CONFIG_YELLOWFIN is not set
+@@ -584,6 +619,7 @@ CONFIG_VIA_VELOCITY=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ 
+ #
+ # USB Network Adapters
+@@ -592,7 +628,6 @@ CONFIG_VIA_VELOCITY=y
+ # CONFIG_USB_KAWETH is not set
+ # CONFIG_USB_PEGASUS is not set
+ # CONFIG_USB_RTL8150 is not set
+-# CONFIG_USB_USBNET_MII is not set
+ # CONFIG_USB_USBNET is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+@@ -600,7 +635,6 @@ CONFIG_VIA_VELOCITY=y
+ # CONFIG_PPP is not set
+ # CONFIG_SLIP is not set
+ # 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
+@@ -622,7 +656,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
+ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+ # CONFIG_INPUT_JOYDEV is not set
+-# CONFIG_INPUT_TSDEV is not set
+ # CONFIG_INPUT_EVDEV is not set
+ # CONFIG_INPUT_EVBUG is not set
+ 
+@@ -649,7 +682,9 @@ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
+ CONFIG_VT_HW_CONSOLE_BINDING=y
++# CONFIG_DEVKMEM is not set
+ # CONFIG_SERIAL_NONSTANDARD is not set
++# CONFIG_NOZOMI is not set
+ 
+ #
+ # Serial drivers
+@@ -668,49 +703,53 @@ CONFIG_UNIX98_PTYS=y
+ CONFIG_LEGACY_PTYS=y
+ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+-# CONFIG_WATCHDOG is not set
+ # CONFIG_HW_RANDOM is not set
+-# CONFIG_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_GPIO_TB0219 is not set
+-# CONFIG_DRM is not set
+ CONFIG_GPIO_VR41XX=y
+ # CONFIG_RAW_DRIVER is not set
+ # CONFIG_TCG_TPM is not set
+ CONFIG_DEVPORT=y
+ # CONFIG_I2C is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ # CONFIG_HWMON is not set
++# CONFIG_THERMAL is not set
++# CONFIG_WATCHDOG is not set
++
++#
++# Sonics Silicon Backplane
++#
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
+ 
+ #
+ # Multifunction device drivers
+ #
+ CONFIG_MFD_SM501=y
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
+-# CONFIG_DAB is not set
+ 
+ #
+-# Graphics support
++# Multimedia drivers
+ #
+-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++# CONFIG_DAB is not set
+ 
+ #
+-# Display device support
++# Graphics support
+ #
+-# CONFIG_DISPLAY_SUPPORT is not set
++# CONFIG_DRM is not set
+ # CONFIG_VGASTATE is not set
+ CONFIG_VIDEO_OUTPUT_CONTROL=m
+ CONFIG_FB=y
+@@ -719,9 +758,11 @@ CONFIG_FB=y
+ CONFIG_FB_CFB_FILLRECT=y
+ CONFIG_FB_CFB_COPYAREA=y
+ CONFIG_FB_CFB_IMAGEBLIT=y
++# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+ # CONFIG_FB_SYS_FILLRECT is not set
+ # CONFIG_FB_SYS_COPYAREA is not set
+ # CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_FOREIGN_ENDIAN is not set
+ # CONFIG_FB_SYS_FOPS is not set
+ CONFIG_FB_DEFERRED_IO=y
+ # CONFIG_FB_SVGALIB is not set
+@@ -757,7 +798,14 @@ CONFIG_FB_DEFERRED_IO=y
+ # CONFIG_FB_ARK is not set
+ # CONFIG_FB_PM3 is not set
+ CONFIG_FB_SM501=y
++# CONFIG_FB_COBALT is not set
+ # CONFIG_FB_VIRTUAL is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++
++#
++# Display device support
++#
++# CONFIG_DISPLAY_SUPPORT is not set
+ 
+ #
+ # Console display driver support
+@@ -787,6 +835,7 @@ CONFIG_FONT_8x16=y
+ CONFIG_HID_SUPPORT=y
+ CONFIG_HID=y
+ # CONFIG_HID_DEBUG is not set
++# CONFIG_HIDRAW is not set
+ 
+ #
+ # USB Input Devices
+@@ -807,6 +856,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
+ CONFIG_USB_ARCH_HAS_EHCI=y
+ CONFIG_USB=m
+ # CONFIG_USB_DEBUG is not set
++# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+ 
+ #
+ # Miscellaneous USB options
+@@ -815,15 +865,18 @@ CONFIG_USB=m
+ CONFIG_USB_DEVICE_CLASS=y
+ # CONFIG_USB_DYNAMIC_MINORS is not set
+ # CONFIG_USB_OTG is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # USB Host Controller Drivers
+ #
++# CONFIG_USB_C67X00_HCD is not set
+ CONFIG_USB_EHCI_HCD=m
+-# CONFIG_USB_EHCI_SPLIT_ISO is not set
+ # CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+ # CONFIG_USB_EHCI_TT_NEWSCHED is not set
+ # CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_ISP1760_HCD is not set
+ CONFIG_USB_OHCI_HCD=m
+ # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+ # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+@@ -849,13 +902,16 @@ CONFIG_USB_STORAGE=m
+ # CONFIG_USB_STORAGE_DEBUG is not set
+ # 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 is not set
+ # CONFIG_USB_STORAGE_USBAT is not set
+ # CONFIG_USB_STORAGE_SDDR09 is not set
+ # CONFIG_USB_STORAGE_SDDR55 is not set
+ # CONFIG_USB_STORAGE_JUMPSHOT is not set
+ # CONFIG_USB_STORAGE_ALAUDA is not set
++# CONFIG_USB_STORAGE_ONETOUCH is not set
+ # CONFIG_USB_STORAGE_KARMA is not set
++# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+ # CONFIG_USB_LIBUSUAL is not set
+ 
+ #
+@@ -868,10 +924,6 @@ CONFIG_USB_MON=y
+ #
+ # USB port drivers
+ #
+-
+-#
+-# USB Serial Converter support
+-#
+ # CONFIG_USB_SERIAL is not set
+ 
+ #
+@@ -896,36 +948,14 @@ CONFIG_USB_MON=y
+ # CONFIG_USB_LD is not set
+ # CONFIG_USB_TRANCEVIBRATOR is not set
+ # CONFIG_USB_IOWARRIOR is not set
+-
+-#
+-# USB DSL modem support
+-#
+-
+-#
+-# USB Gadget Support
+-#
+ # CONFIG_USB_GADGET is not set
+ # CONFIG_MMC is not set
++# CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
++CONFIG_RTC_LIB=y
+ # CONFIG_RTC_CLASS is not set
+-
+-#
+-# DMA Engine support
+-#
+-# CONFIG_DMA_ENGINE is not set
+-
+-#
+-# DMA Clients
+-#
+-
+-#
+-# DMA Devices
+-#
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -940,25 +970,21 @@ CONFIG_EXT3_FS_XATTR=y
+ # CONFIG_EXT3_FS_SECURITY is not set
+ # CONFIG_EXT4DEV_FS is not set
+ CONFIG_JBD=y
+-# CONFIG_JBD_DEBUG is not set
+ CONFIG_FS_MBCACHE=y
+ # CONFIG_REISERFS_FS is not set
+ # CONFIG_JFS_FS is not set
+ CONFIG_FS_POSIX_ACL=y
+ CONFIG_XFS_FS=y
+ CONFIG_XFS_QUOTA=y
+-# CONFIG_XFS_SECURITY is not set
+ CONFIG_XFS_POSIX_ACL=y
+ # CONFIG_XFS_RT is not set
+-# CONFIG_GFS2_FS is not set
++# CONFIG_XFS_DEBUG is not set
+ # CONFIG_OCFS2_FS is not set
+-# CONFIG_MINIX_FS is not set
+-CONFIG_ROMFS_FS=m
++CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+ CONFIG_INOTIFY_USER=y
+ # CONFIG_QUOTA is not set
+ CONFIG_QUOTACTL=y
+-CONFIG_DNOTIFY=y
+ # CONFIG_AUTOFS_FS is not set
+ CONFIG_AUTOFS4_FS=y
+ # CONFIG_FUSE_FS is not set
+@@ -987,7 +1013,6 @@ CONFIG_SYSFS=y
+ CONFIG_TMPFS=y
+ CONFIG_TMPFS_POSIX_ACL=y
+ # CONFIG_HUGETLB_PAGE is not set
+-CONFIG_RAMFS=y
+ # CONFIG_CONFIGFS_FS is not set
+ 
+ #
+@@ -1002,24 +1027,21 @@ CONFIG_RAMFS=y
+ # CONFIG_EFS_FS is not set
+ CONFIG_CRAMFS=m
+ # CONFIG_VXFS_FS is not set
++# CONFIG_MINIX_FS is not set
+ # CONFIG_HPFS_FS is not set
+ # CONFIG_QNX4FS_FS is not set
++CONFIG_ROMFS_FS=m
+ # CONFIG_SYSV_FS is not set
+ # CONFIG_UFS_FS is not set
+-
+-#
+-# Network File Systems
+-#
++CONFIG_NETWORK_FILESYSTEMS=y
+ 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=m
+ CONFIG_NFSD_V3=y
+ # CONFIG_NFSD_V3_ACL is not set
+ # CONFIG_NFSD_V4 is not set
+-CONFIG_NFSD_TCP=y
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+ CONFIG_LOCKD_V4=y
+@@ -1040,47 +1062,38 @@ CONFIG_SUNRPC=y
+ #
+ # CONFIG_PARTITION_ADVANCED is not set
+ CONFIG_MSDOS_PARTITION=y
+-
+-#
+-# Native Language Support
+-#
+ # CONFIG_NLS is not set
+-
+-#
+-# Distributed Lock Manager
+-#
+ # CONFIG_DLM is not set
+ 
+ #
+-# Profiling support
+-#
+-# CONFIG_PROFILING is not set
+-
+-#
+ # Kernel hacking
+ #
+ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+ # CONFIG_PRINTK_TIME is not set
++CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+ # CONFIG_HEADERS_CHECK is not set
+ # CONFIG_DEBUG_KERNEL is not set
+-CONFIG_CROSSCOMPILE=y
+-CONFIG_CMDLINE="mem=64M console=ttyVR0,115200 ip=any root=/dev/nfs"
++# CONFIG_SAMPLES is not set
++CONFIG_CMDLINE="cca=3 mem=64M console=ttyVR0,115200 ip=any root=/dev/nfs"
+ 
+ #
+ # Security options
+ #
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ # CONFIG_CRYPTO is not set
+ 
+ #
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ CONFIG_CRC_CCITT=y
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+diff --git a/arch/mips/fw/arc/identify.c b/arch/mips/fw/arc/identify.c
+index 28dfd2e..2306698 100644
+--- a/arch/mips/fw/arc/identify.c
++++ b/arch/mips/fw/arc/identify.c
+@@ -67,6 +67,11 @@ static struct smatch mach_table[] = {
+ 		.liname		= "SNI RM200_PCI",
+ 		.type		= MACH_SNI_RM200_PCI,
+ 		.flags		= PROM_FLAG_DONT_FREE_TEMP,
++	}, {
++		.arcname	= "RM200PCI-R5K",
++		.liname		= "SNI RM200_PCI-R5K",
++		.type		= MACH_SNI_RM200_PCI,
++		.flags		= PROM_FLAG_DONT_FREE_TEMP,
+ 	}
+ };
+ 
+diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
+index 63370cd..cdf87a9 100644
+--- a/arch/mips/kernel/smp.c
++++ b/arch/mips/kernel/smp.c
+@@ -216,6 +216,7 @@ int smp_call_function(void (*func) (void *info), void *info, int retry,
+ {
+ 	return smp_call_function_mask(cpu_online_map, func, info, retry, wait);
+ }
++EXPORT_SYMBOL(smp_call_function);
+ 
+ void smp_call_function_interrupt(void)
+ {
+@@ -271,6 +272,7 @@ int smp_call_function_single(int cpu, void (*func) (void *info), void *info,
+ 	put_cpu();
+ 	return 0;
+ }
++EXPORT_SYMBOL(smp_call_function_single);
+ 
+ static void stop_this_cpu(void *dummy)
+ {
+diff --git a/arch/mips/lasat/interrupt.c b/arch/mips/lasat/interrupt.c
+index cfeab66..a56c150 100644
+--- a/arch/mips/lasat/interrupt.c
++++ b/arch/mips/lasat/interrupt.c
+@@ -34,11 +34,13 @@ static volatile int lasat_int_mask_shift;
+ 
+ void disable_lasat_irq(unsigned int irq_nr)
+ {
++	irq_nr -= LASAT_IRQ_BASE;
+ 	*lasat_int_mask &= ~(1 << irq_nr) << lasat_int_mask_shift;
+ }
+ 
+ void enable_lasat_irq(unsigned int irq_nr)
+ {
++	irq_nr -= LASAT_IRQ_BASE;
+ 	*lasat_int_mask |= (1 << irq_nr) << lasat_int_mask_shift;
+ }
+ 
+diff --git a/arch/mips/lasat/lasat_board.c b/arch/mips/lasat/lasat_board.c
+index ec2f658..31e328b 100644
+--- a/arch/mips/lasat/lasat_board.c
++++ b/arch/mips/lasat/lasat_board.c
+@@ -23,18 +23,19 @@
+ #include <linux/kernel.h>
+ #include <linux/string.h>
+ #include <linux/ctype.h>
++#include <linux/mutex.h>
+ #include <asm/bootinfo.h>
+ #include <asm/addrspace.h>
+ #include "at93c.h"
+ /* New model description table */
+ #include "lasat_models.h"
+ 
++static DEFINE_MUTEX(lasat_eeprom_mutex);
++
+ #define EEPROM_CRC(data, len) (~crc32(~0, data, len))
+ 
+ struct lasat_info lasat_board_info;
+ 
+-void update_bcastaddr(void);
+-
+ int EEPROMRead(unsigned int pos, unsigned char *data, int len)
+ {
+ 	int i;
+@@ -258,10 +259,6 @@ int lasat_init_board_info(void)
+ 			sprintf(lasat_board_info.li_typestr, "%d", 10 * c);
+ 	}
+ 
+-#if defined(CONFIG_INET) && defined(CONFIG_SYSCTL)
+-	update_bcastaddr();
+-#endif
+-
+ 	return 0;
+ }
+ 
+@@ -269,6 +266,8 @@ void lasat_write_eeprom_info(void)
+ {
+ 	unsigned long crc;
+ 
++	mutex_lock(&lasat_eeprom_mutex);
++
+ 	/* Generate the CRC */
+ 	crc = EEPROM_CRC((unsigned char *)(&lasat_board_info.li_eeprom_info),
+ 		    sizeof(struct lasat_eeprom_struct) - 4);
+@@ -277,4 +276,6 @@ void lasat_write_eeprom_info(void)
+ 	/* Write the EEPROM info */
+ 	EEPROMWrite(0, (unsigned char *)&lasat_board_info.li_eeprom_info,
+ 		    sizeof(struct lasat_eeprom_struct));
++
++	mutex_unlock(&lasat_eeprom_mutex);
+ }
+diff --git a/arch/mips/lasat/sysctl.c b/arch/mips/lasat/sysctl.c
+index 389336c..866881e 100644
+--- a/arch/mips/lasat/sysctl.c
++++ b/arch/mips/lasat/sysctl.c
+@@ -29,15 +29,13 @@
+ #include <linux/string.h>
+ #include <linux/net.h>
+ #include <linux/inet.h>
+-#include <linux/mutex.h>
+ #include <linux/uaccess.h>
+ 
+ #include <asm/time.h>
+ 
+-#include "sysctl.h"
++#ifdef CONFIG_DS1603
+ #include "ds1603.h"
+-
+-static DEFINE_MUTEX(lasat_info_mutex);
++#endif
+ 
+ /* Strategy function to write EEPROM after changing string entry */
+ int sysctl_lasatstring(ctl_table *table, int *name, int nlen,
+@@ -46,18 +44,15 @@ int sysctl_lasatstring(ctl_table *table, int *name, int nlen,
+ {
+ 	int r;
+ 
+-	mutex_lock(&lasat_info_mutex);
+ 	r = sysctl_string(table, name,
+ 			  nlen, oldval, oldlenp, newval, newlen);
+-	if (r < 0) {
+-		mutex_unlock(&lasat_info_mutex);
++	if (r < 0)
+ 		return r;
+-	}
++
+ 	if (newval && newlen)
+ 		lasat_write_eeprom_info();
+-	mutex_unlock(&lasat_info_mutex);
+ 
+-	return 1;
++	return 0;
+ }
+ 
+ 
+@@ -67,14 +62,11 @@ int proc_dolasatstring(ctl_table *table, int write, struct file *filp,
+ {
+ 	int r;
+ 
+-	mutex_lock(&lasat_info_mutex);
+ 	r = proc_dostring(table, write, filp, buffer, lenp, ppos);
+-	if ((!write) || r) {
+-		mutex_unlock(&lasat_info_mutex);
++	if ((!write) || r)
+ 		return r;
+-	}
++
+ 	lasat_write_eeprom_info();
+-	mutex_unlock(&lasat_info_mutex);
+ 
+ 	return 0;
+ }
+@@ -85,28 +77,24 @@ int proc_dolasatint(ctl_table *table, int write, struct file *filp,
+ {
+ 	int r;
+ 
+-	mutex_lock(&lasat_info_mutex);
+ 	r = proc_dointvec(table, write, filp, buffer, lenp, ppos);
+-	if ((!write) || r) {
+-		mutex_unlock(&lasat_info_mutex);
++	if ((!write) || r)
+ 		return r;
+-	}
++
+ 	lasat_write_eeprom_info();
+-	mutex_unlock(&lasat_info_mutex);
+ 
+ 	return 0;
+ }
+ 
++#ifdef CONFIG_DS1603
+ static int rtctmp;
+ 
+-#ifdef CONFIG_DS1603
+ /* proc function to read/write RealTime Clock */
+ int proc_dolasatrtc(ctl_table *table, int write, struct file *filp,
+ 		       void *buffer, size_t *lenp, loff_t *ppos)
+ {
+ 	int r;
+ 
+-	mutex_lock(&lasat_info_mutex);
+ 	if (!write) {
+ 		rtctmp = read_persistent_clock();
+ 		/* check for time < 0 and set to 0 */
+@@ -114,12 +102,11 @@ int proc_dolasatrtc(ctl_table *table, int write, struct file *filp,
+ 			rtctmp = 0;
+ 	}
+ 	r = proc_dointvec(table, write, filp, buffer, lenp, ppos);
+-	if ((!write) || r) {
+-		mutex_unlock(&lasat_info_mutex);
++	if (r)
+ 		return r;
+-	}
+-	rtc_mips_set_mmss(rtctmp);
+-	mutex_unlock(&lasat_info_mutex);
++
++	if (write)
++		rtc_mips_set_mmss(rtctmp);
+ 
+ 	return 0;
+ }
+@@ -132,17 +119,14 @@ int sysctl_lasat_intvec(ctl_table *table, int *name, int nlen,
+ {
+ 	int r;
+ 
+-	mutex_lock(&lasat_info_mutex);
+ 	r = sysctl_intvec(table, name, nlen, oldval, oldlenp, newval, newlen);
+-	if (r < 0) {
+-		mutex_unlock(&lasat_info_mutex);
++	if (r < 0)
+ 		return r;
+-	}
++
+ 	if (newval && newlen)
+ 		lasat_write_eeprom_info();
+-	mutex_unlock(&lasat_info_mutex);
+ 
+-	return 1;
++	return 0;
+ }
+ 
+ #ifdef CONFIG_DS1603
+@@ -153,50 +137,27 @@ int sysctl_lasat_rtc(ctl_table *table, int *name, int nlen,
+ {
+ 	int r;
+ 
+-	mutex_lock(&lasat_info_mutex);
+ 	rtctmp = read_persistent_clock();
+ 	if (rtctmp < 0)
+ 		rtctmp = 0;
+ 	r = sysctl_intvec(table, name, nlen, oldval, oldlenp, newval, newlen);
+-	if (r < 0) {
+-		mutex_unlock(&lasat_info_mutex);
++	if (r < 0)
+ 		return r;
+-	}
+ 	if (newval && newlen)
+ 		rtc_mips_set_mmss(rtctmp);
+-	mutex_unlock(&lasat_info_mutex);
+ 
+-	return 1;
++	return r;
+ }
+ #endif
+ 
+ #ifdef CONFIG_INET
+-static char lasat_bcastaddr[16];
+-
+-void update_bcastaddr(void)
+-{
+-	unsigned int ip;
+-
+-	ip = (lasat_board_info.li_eeprom_info.ipaddr &
+-		lasat_board_info.li_eeprom_info.netmask) |
+-		~lasat_board_info.li_eeprom_info.netmask;
+-
+-	sprintf(lasat_bcastaddr, "%d.%d.%d.%d",
+-			(ip)       & 0xff,
+-			(ip >>  8) & 0xff,
+-			(ip >> 16) & 0xff,
+-			(ip >> 24) & 0xff);
+-}
+-
+-static char proc_lasat_ipbuf[32];
+-
+-/* Parsing of IP address */
+ int proc_lasat_ip(ctl_table *table, int write, struct file *filp,
+ 		       void *buffer, size_t *lenp, loff_t *ppos)
+ {
+ 	unsigned int ip;
+ 	char *p, c;
+ 	int len;
++	char ipbuf[32];
+ 
+ 	if (!table->data || !table->maxlen || !*lenp ||
+ 	    (*ppos && !write)) {
+@@ -204,117 +165,88 @@ int proc_lasat_ip(ctl_table *table, int write, struct file *filp,
+ 		return 0;
+ 	}
+ 
+-	mutex_lock(&lasat_info_mutex);
+ 	if (write) {
+ 		len = 0;
+ 		p = buffer;
+ 		while (len < *lenp) {
+-			if (get_user(c, p++)) {
+-				mutex_unlock(&lasat_info_mutex);
++			if (get_user(c, p++))
+ 				return -EFAULT;
+-			}
+ 			if (c == 0 || c == '\n')
+ 				break;
+ 			len++;
+ 		}
+-		if (len >= sizeof(proc_lasat_ipbuf)-1)
+-			len = sizeof(proc_lasat_ipbuf) - 1;
+-		if (copy_from_user(proc_lasat_ipbuf, buffer, len)) {
+-			mutex_unlock(&lasat_info_mutex);
++		if (len >= sizeof(ipbuf)-1)
++			len = sizeof(ipbuf) - 1;
++		if (copy_from_user(ipbuf, buffer, len))
+ 			return -EFAULT;
+-		}
+-		proc_lasat_ipbuf[len] = 0;
++		ipbuf[len] = 0;
+ 		*ppos += *lenp;
+ 		/* Now see if we can convert it to a valid IP */
+-		ip = in_aton(proc_lasat_ipbuf);
++		ip = in_aton(ipbuf);
+ 		*(unsigned int *)(table->data) = ip;
+ 		lasat_write_eeprom_info();
+ 	} else {
+ 		ip = *(unsigned int *)(table->data);
+-		sprintf(proc_lasat_ipbuf, "%d.%d.%d.%d",
++		sprintf(ipbuf, "%d.%d.%d.%d",
+ 			(ip)       & 0xff,
+ 			(ip >>  8) & 0xff,
+ 			(ip >> 16) & 0xff,
+ 			(ip >> 24) & 0xff);
+-		len = strlen(proc_lasat_ipbuf);
++		len = strlen(ipbuf);
+ 		if (len > *lenp)
+ 			len = *lenp;
+ 		if (len)
+-			if (copy_to_user(buffer, proc_lasat_ipbuf, len)) {
+-				mutex_unlock(&lasat_info_mutex);
++			if (copy_to_user(buffer, ipbuf, len))
+ 				return -EFAULT;
+-			}
+ 		if (len < *lenp) {
+-			if (put_user('\n', ((char *) buffer) + len)) {
+-				mutex_unlock(&lasat_info_mutex);
++			if (put_user('\n', ((char *) buffer) + len))
+ 				return -EFAULT;
+-			}
+ 			len++;
+ 		}
+ 		*lenp = len;
+ 		*ppos += len;
+ 	}
+-	update_bcastaddr();
+-	mutex_unlock(&lasat_info_mutex);
+ 
+ 	return 0;
+ }
+-#endif /* defined(CONFIG_INET) */
++#endif
+ 
+-static int sysctl_lasat_eeprom_value(ctl_table *table, int *name, int nlen,
++static int sysctl_lasat_prid(ctl_table *table, int *name, int nlen,
+ 				     void *oldval, size_t *oldlenp,
+ 				     void *newval, size_t newlen)
+ {
+ 	int r;
+ 
+-	mutex_lock(&lasat_info_mutex);
+ 	r = sysctl_intvec(table, name, nlen, oldval, oldlenp, newval, newlen);
+-	if (r < 0) {
+-		mutex_unlock(&lasat_info_mutex);
++	if (r < 0)
+ 		return r;
+-	}
+-
+ 	if (newval && newlen) {
+-		if (name && *name == LASAT_PRID)
+-			lasat_board_info.li_eeprom_info.prid = *(int *)newval;
+-
++		lasat_board_info.li_eeprom_info.prid = *(int *)newval;
+ 		lasat_write_eeprom_info();
+ 		lasat_init_board_info();
+ 	}
+-	mutex_unlock(&lasat_info_mutex);
+-
+ 	return 0;
+ }
+ 
+-int proc_lasat_eeprom_value(ctl_table *table, int write, struct file *filp,
++int proc_lasat_prid(ctl_table *table, int write, struct file *filp,
+ 		       void *buffer, size_t *lenp, loff_t *ppos)
+ {
+ 	int r;
+ 
+-	mutex_lock(&lasat_info_mutex);
+ 	r = proc_dointvec(table, write, filp, buffer, lenp, ppos);
+-	if ((!write) || r) {
+-		mutex_unlock(&lasat_info_mutex);
++	if (r < 0)
+ 		return r;
++	if (write) {
++		lasat_board_info.li_eeprom_info.prid =
++			lasat_board_info.li_prid;
++		lasat_write_eeprom_info();
++		lasat_init_board_info();
+ 	}
+-	if (filp && filp->f_path.dentry) {
+-		if (!strcmp(filp->f_path.dentry->d_name.name, "prid"))
+-			lasat_board_info.li_eeprom_info.prid =
+-				lasat_board_info.li_prid;
+-		if (!strcmp(filp->f_path.dentry->d_name.name, "debugaccess"))
+-			lasat_board_info.li_eeprom_info.debugaccess =
+-				lasat_board_info.li_debugaccess;
+-	}
+-	lasat_write_eeprom_info();
+-	mutex_unlock(&lasat_info_mutex);
+-
+ 	return 0;
+ }
+ 
+ extern int lasat_boot_to_service;
+ 
+-#ifdef CONFIG_SYSCTL
+-
+ static ctl_table lasat_table[] = {
+ 	{
+ 		.ctl_name	= CTL_UNNUMBERED,
+@@ -349,8 +281,8 @@ static ctl_table lasat_table[] = {
+ 		.data		= &lasat_board_info.li_prid,
+ 		.maxlen		= sizeof(int),
+ 		.mode		= 0644,
+-		.proc_handler	= &proc_lasat_eeprom_value,
+-		.strategy	= &sysctl_lasat_eeprom_value
++		.proc_handler	= &proc_lasat_prid,
++		.strategy	= &sysctl_lasat_prid
+ 	},
+ #ifdef CONFIG_INET
+ 	{
+@@ -363,7 +295,7 @@ static ctl_table lasat_table[] = {
+ 		.strategy	= &sysctl_lasat_intvec
+ 	},
+ 	{
+-		.ctl_name	= LASAT_NETMASK,
++		.ctl_name	= CTL_UNNUMBERED,
+ 		.procname	= "netmask",
+ 		.data		= &lasat_board_info.li_eeprom_info.netmask,
+ 		.maxlen		= sizeof(int),
+@@ -371,15 +303,6 @@ static ctl_table lasat_table[] = {
+ 		.proc_handler	= &proc_lasat_ip,
+ 		.strategy	= &sysctl_lasat_intvec
+ 	},
+-	{
+-		.ctl_name	= CTL_UNNUMBERED,
+-		.procname	= "bcastaddr",
+-		.data		= &lasat_bcastaddr,
+-		.maxlen		= sizeof(lasat_bcastaddr),
+-		.mode		= 0600,
+-		.proc_handler	= &proc_dostring,
+-		.strategy	= &sysctl_string
+-	},
+ #endif
+ 	{
+ 		.ctl_name	= CTL_UNNUMBERED,
+@@ -417,7 +340,7 @@ static ctl_table lasat_table[] = {
+ 		.data		= &lasat_board_info.li_namestr,
+ 		.maxlen		= sizeof(lasat_board_info.li_namestr),
+ 		.mode		= 0444,
+-		.proc_handler	=  &proc_dostring,
++		.proc_handler	= &proc_dostring,
+ 		.strategy	= &sysctl_string
+ 	},
+ 	{
+@@ -448,9 +371,12 @@ static int __init lasat_register_sysctl(void)
+ 
+ 	lasat_table_header =
+ 		register_sysctl_table(lasat_root_table);
++	if (!lasat_table_header) {
++		printk(KERN_ERR "Unable to register LASAT sysctl\n");
++		return -ENOMEM;
++	}
+ 
+ 	return 0;
+ }
+ 
+ __initcall(lasat_register_sysctl);
+-#endif /* CONFIG_SYSCTL */
+diff --git a/arch/mips/lasat/sysctl.h b/arch/mips/lasat/sysctl.h
+deleted file mode 100644
+index 341b979..0000000
+--- a/arch/mips/lasat/sysctl.h
++++ /dev/null
+@@ -1,24 +0,0 @@
+-/*
+- * LASAT sysctl values
+- */
+-
+-#ifndef _LASAT_SYSCTL_H
+-#define _LASAT_SYSCTL_H
+-
+-/* /proc/sys/lasat */
+-enum {
+-	LASAT_CPU_HZ = 1,
+-	LASAT_BUS_HZ,
+-	LASAT_MODEL,
+-	LASAT_PRID,
+-	LASAT_IPADDR,
+-	LASAT_NETMASK,
+-	LASAT_BCAST,
+-	LASAT_PASSWORD,
+-	LASAT_SBOOT,
+-	LASAT_RTC,
+-	LASAT_NAMESTR,
+-	LASAT_TYPESTR,
+-};
+-
+-#endif /* _LASAT_SYSCTL_H */
+diff --git a/arch/mips/mips-boards/generic/amon.c b/arch/mips/mips-boards/generic/amon.c
+index b7633fd..96236bf 100644
+--- a/arch/mips/mips-boards/generic/amon.c
++++ b/arch/mips/mips-boards/generic/amon.c
+@@ -28,7 +28,7 @@
+ 
+ int amon_cpu_avail(int cpu)
+ {
+-	struct cpulaunch *launch = (struct cpulaunch *)KSEG0ADDR(CPULAUNCH);
++	struct cpulaunch *launch = (struct cpulaunch *)CKSEG0ADDR(CPULAUNCH);
+ 
+ 	if (cpu < 0 || cpu >= NCPULAUNCH) {
+ 		pr_debug("avail: cpu%d is out of range\n", cpu);
+@@ -53,7 +53,7 @@ void amon_cpu_start(int cpu,
+ 		    unsigned long gp, unsigned long a0)
+ {
+ 	volatile struct cpulaunch *launch =
+-		(struct cpulaunch  *)KSEG0ADDR(CPULAUNCH);
++		(struct cpulaunch  *)CKSEG0ADDR(CPULAUNCH);
+ 
+ 	if (!amon_cpu_avail(cpu))
+ 		return;
+diff --git a/arch/mips/mips-boards/malta/Makefile b/arch/mips/mips-boards/malta/Makefile
+index 8dc6e2a..db4ad65 100644
+--- a/arch/mips/mips-boards/malta/Makefile
++++ b/arch/mips/mips-boards/malta/Makefile
+@@ -19,9 +19,8 @@
+ # under Linux.
+ #
+ 
+-obj-y := malta_int.o malta_platform.o malta_setup.o
++obj-y := malta_int.o malta_mtd.o malta_platform.o malta_setup.o
+ 
+-obj-$(CONFIG_MTD) += malta_mtd.o
+ # FIXME FIXME FIXME
+ obj-$(CONFIG_MIPS_MT_SMTC) += malta_smtc.o
+ 
+diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
+index 643c8bc..2709675 100644
+--- a/arch/mips/mm/c-r4k.c
++++ b/arch/mips/mm/c-r4k.c
+@@ -446,6 +446,7 @@ static inline void local_r4k_flush_cache_page(void *args)
+ 	struct page *page = pfn_to_page(fcp_args->pfn);
+ 	int exec = vma->vm_flags & VM_EXEC;
+ 	struct mm_struct *mm = vma->vm_mm;
++	int map_coherent = 0;
+ 	pgd_t *pgdp;
+ 	pud_t *pudp;
+ 	pmd_t *pmdp;
+@@ -479,7 +480,9 @@ static inline void local_r4k_flush_cache_page(void *args)
+ 		 * Use kmap_coherent or kmap_atomic to do flushes for
+ 		 * another ASID than the current one.
+ 		 */
+-		if (cpu_has_dc_aliases)
++		map_coherent = (cpu_has_dc_aliases &&
++				page_mapped(page) && !Page_dcache_dirty(page));
++		if (map_coherent)
+ 			vaddr = kmap_coherent(page, addr);
+ 		else
+ 			vaddr = kmap_atomic(page, KM_USER0);
+@@ -502,7 +505,7 @@ static inline void local_r4k_flush_cache_page(void *args)
+ 	}
+ 
+ 	if (vaddr) {
+-		if (cpu_has_dc_aliases)
++		if (map_coherent)
+ 			kunmap_coherent();
+ 		else
+ 			kunmap_atomic(vaddr, KM_USER0);
+@@ -1226,6 +1229,28 @@ void au1x00_fixup_config_od(void)
+ 	}
+ }
+ 
++/* CP0 hazard avoidance. */
++#define NXP_BARRIER()							\
++	 __asm__ __volatile__(						\
++	".set noreorder\n\t"						\
++	"nop; nop; nop; nop; nop; nop;\n\t"				\
++	".set reorder\n\t")
++
++static void nxp_pr4450_fixup_config(void)
++{
++	unsigned long config0;
++
++	config0 = read_c0_config();
++
++	/* clear all three cache coherency fields */
++	config0 &= ~(0x7 | (7 << 25) | (7 << 28));
++	config0 |= (((_page_cachable_default >> _CACHE_SHIFT) <<  0) |
++		    ((_page_cachable_default >> _CACHE_SHIFT) << 25) |
++		    ((_page_cachable_default >> _CACHE_SHIFT) << 28));
++	write_c0_config(config0);
++	NXP_BARRIER();
++}
++
+ static int __cpuinitdata cca = -1;
+ 
+ static int __init cca_setup(char *str)
+@@ -1271,6 +1296,10 @@ static void __cpuinit coherency_setup(void)
+ 	case CPU_AU1500: /* rev. AB */
+ 		au1x00_fixup_config_od();
+ 		break;
++
++	case PRID_IMP_PR4450:
++		nxp_pr4450_fixup_config();
++		break;
+ 	}
+ }
+ 
+diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c
+index ecd562d..137c14b 100644
+--- a/arch/mips/mm/init.c
++++ b/arch/mips/mm/init.c
+@@ -71,6 +71,7 @@ DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
+  * don't have to care about aliases on other CPUs.
+  */
+ unsigned long empty_zero_page, zero_page_mask;
++EXPORT_SYMBOL_GPL(empty_zero_page);
+ 
+ /*
+  * Not static inline because used by IP27 special magic initialization code
+diff --git a/arch/mips/mm/page.c b/arch/mips/mm/page.c
+index cab81f4..1edf0cb 100644
+--- a/arch/mips/mm/page.c
++++ b/arch/mips/mm/page.c
+@@ -460,7 +460,7 @@ void __cpuinit build_copy_page(void)
+ 		build_copy_load_pref(&buf, -off);
+ 		off -= cache_line_size;
+ 	}
+-	off = cache_line_size ? min(8, pref_bias_copy_load / cache_line_size) *
++	off = cache_line_size ? min(8, pref_bias_copy_store / cache_line_size) *
+ 	                        cache_line_size : 0;
+ 	while (off) {
+ 		build_copy_store_pref(&buf, -off);
+diff --git a/arch/mips/nxp/pnx8550/jbs/board_setup.c b/arch/mips/nxp/pnx8550/jbs/board_setup.c
+index f92826e..57dd903 100644
+--- a/arch/mips/nxp/pnx8550/jbs/board_setup.c
++++ b/arch/mips/nxp/pnx8550/jbs/board_setup.c
+@@ -47,16 +47,7 @@
+ 
+ void __init board_setup(void)
+ {
+-	unsigned long config0, configpr;
+-
+-	config0 = read_c0_config();
+-
+-	/* clear all three cache coherency fields */
+-	config0 &= ~(0x7 | (7<<25) | (7<<28));
+-	config0 |= (CONF_CM_DEFAULT | (CONF_CM_DEFAULT<<25) |
+-			(CONF_CM_DEFAULT<<28));
+-	write_c0_config(config0);
+-	BARRIER;
++	unsigned long configpr;
+ 
+ 	configpr = read_c0_config7();
+ 	configpr |= (1<<19); /* enable tlb */
+diff --git a/arch/mips/nxp/pnx8550/stb810/board_setup.c b/arch/mips/nxp/pnx8550/stb810/board_setup.c
+index 1282c27..af2a55e 100644
+--- a/arch/mips/nxp/pnx8550/stb810/board_setup.c
++++ b/arch/mips/nxp/pnx8550/stb810/board_setup.c
+@@ -33,15 +33,7 @@
+ 
+ void __init board_setup(void)
+ {
+-	unsigned long config0, configpr;
+-
+-	config0 = read_c0_config();
+-
+-	/* clear all three cache coherency fields */
+-	config0 &= ~(0x7 | (7<<25) | (7<<28));
+-	config0 |= (CONF_CM_DEFAULT | (CONF_CM_DEFAULT<<25) |
+-			(CONF_CM_DEFAULT<<28));
+-	write_c0_config(config0);
++	unsigned long configpr;
+ 
+ 	configpr = read_c0_config7();
+ 	configpr |= (1<<19); /* enable tlb */
+diff --git a/arch/mips/pci/pci-sb1250.c b/arch/mips/pci/pci-sb1250.c
+index 42e4d2c..2a09ad9 100644
+--- a/arch/mips/pci/pci-sb1250.c
++++ b/arch/mips/pci/pci-sb1250.c
+@@ -207,6 +207,7 @@ struct pci_controller sb1250_controller = {
+ 
+ static int __init sb1250_pcibios_init(void)
+ {
++	void __iomem *io_map_base;
+ 	uint32_t cmdreg;
+ 	uint64_t reg;
+ 	extern int pci_probe_only;
+@@ -253,12 +254,13 @@ static int __init sb1250_pcibios_init(void)
+ 	 * works correctly with most of Linux's drivers.
+ 	 * XXX ehs: Should this happen in PCI Device mode?
+ 	 */
+-
+-	set_io_port_base((unsigned long)
+-			 ioremap(A_PHYS_LDTPCI_IO_MATCH_BYTES, 65536));
+ 	isa_slot_offset = (unsigned long)
+ 	    ioremap(A_PHYS_LDTPCI_IO_MATCH_BYTES_32, 1024 * 1024);
+ 
++	io_map_base = ioremap(A_PHYS_LDTPCI_IO_MATCH_BYTES, 1024 * 1024);
++	sb1250_controller.io_map_base = io_map_base;
++	set_io_port_base((unsigned long)io_map_base);
++
+ #ifdef CONFIG_SIBYTE_HAS_LDT
+ 	/*
+ 	 * Also check the LDT bridge's enable, just in case we didn't
+diff --git a/arch/mips/pci/pci-vr41xx.c b/arch/mips/pci/pci-vr41xx.c
+index 33c4f68..d1e049b 100644
+--- a/arch/mips/pci/pci-vr41xx.c
++++ b/arch/mips/pci/pci-vr41xx.c
+@@ -3,7 +3,7 @@
+  *
+  *  Copyright (C) 2001-2003 MontaVista Software Inc.
+  *    Author: Yoichi Yuasa <yyuasa at mvista.com or source at mvista.com>
+- *  Copyright (C) 2004-2005  Yoichi Yuasa <yoichi_yuasa at tripeaks.co.jp>
++ *  Copyright (C) 2004-2008  Yoichi Yuasa <yoichi_yuasa at tripeaks.co.jp>
+  *  Copyright (C) 2004 by Ralf Baechle (ralf at linux-mips.org)
+  *
+  *  This program is free software; you can redistribute it and/or modify
+@@ -300,6 +300,18 @@ static int __init vr41xx_pciu_init(void)
+ 		ioport_resource.end = IO_PORT_RESOURCE_END;
+ 	}
+ 
++	if (setup->master_io) {
++		void __iomem *io_map_base;
++		struct resource *res = vr41xx_pci_controller.io_resource;
++		master = setup->master_io;
++		io_map_base = ioremap(master->bus_base_address,
++				      res->end - res->start + 1);
++		if (!io_map_base)
++			return -EBUSY;
++
++		vr41xx_pci_controller.io_map_base = (unsigned long)io_map_base;
++	}
++
+ 	register_pci_controller(&vr41xx_pci_controller);
+ 
+ 	return 0;
+diff --git a/arch/mips/sibyte/swarm/Makefile b/arch/mips/sibyte/swarm/Makefile
+index 2d62603..1775755 100644
+--- a/arch/mips/sibyte/swarm/Makefile
++++ b/arch/mips/sibyte/swarm/Makefile
+@@ -1,3 +1,3 @@
+-lib-y				= setup.o rtc_xicor1241.o rtc_m41t81.o
++obj-y				:= setup.o rtc_xicor1241.o rtc_m41t81.o
+ 
+-lib-$(CONFIG_KGDB)		+= dbg_io.o
++obj-$(CONFIG_KGDB)		+= dbg_io.o
+diff --git a/arch/mn10300/kernel/process.c b/arch/mn10300/kernel/process.c
+index 3b0d579..9c623c8 100644
+--- a/arch/mn10300/kernel/process.c
++++ b/arch/mn10300/kernel/process.c
+@@ -20,7 +20,6 @@
+ #include <linux/ptrace.h>
+ #include <linux/slab.h>
+ #include <linux/user.h>
+-#include <linux/a.out.h>
+ #include <linux/interrupt.h>
+ #include <linux/delay.h>
+ #include <linux/reboot.h>
+diff --git a/arch/mn10300/kernel/setup.c b/arch/mn10300/kernel/setup.c
+index 6b7ce26..017121c 100644
+--- a/arch/mn10300/kernel/setup.c
++++ b/arch/mn10300/kernel/setup.c
+@@ -17,7 +17,6 @@
+ #include <linux/ptrace.h>
+ #include <linux/slab.h>
+ #include <linux/user.h>
+-#include <linux/a.out.h>
+ #include <linux/tty.h>
+ #include <linux/ioport.h>
+ #include <linux/delay.h>
+diff --git a/arch/parisc/hpux/gate.S b/arch/parisc/hpux/gate.S
+index f0b18ce..38a1c1b 100644
+--- a/arch/parisc/hpux/gate.S
++++ b/arch/parisc/hpux/gate.S
+@@ -13,10 +13,9 @@
+ #include <asm/unistd.h>
+ #include <asm/errno.h>
+ #include <linux/linkage.h>
+-#include <linux/init.h>
+ 
+ 	.level	LEVEL
+-	__HEAD
++	.text
+ 
+ 	.import hpux_call_table
+ 	.import hpux_syscall_exit,code
+diff --git a/arch/parisc/hpux/wrappers.S b/arch/parisc/hpux/wrappers.S
+index ccd3a50..58c53c8 100644
+--- a/arch/parisc/hpux/wrappers.S
++++ b/arch/parisc/hpux/wrappers.S
+@@ -28,10 +28,9 @@
+ #include <asm/assembly.h>
+ #include <asm/signal.h>
+ #include <linux/linkage.h>
+-#include <linux/init.h>
+ 
+ 	.level	LEVEL
+-	__HEAD
++	.text
+ 
+ 	/* These should probably go in a header file somewhere.
+ 	 * They are duplicated in kernel/wrappers.S
+diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S
+index 5d08374..d1fa4ed 100644
+--- a/arch/parisc/kernel/entry.S
++++ b/arch/parisc/kernel/entry.S
+@@ -38,7 +38,6 @@
+ #include <asm/thread_info.h>
+ 
+ #include <linux/linkage.h>
+-#include <linux/init.h>
+ 
+ #ifdef CONFIG_64BIT
+ 	.level 2.0w
+@@ -622,7 +621,7 @@
+ 	 * the static part of the kernel address space.
+ 	 */
+ 
+-	__HEAD
++	.text
+ 
+ 	.align	PAGE_SIZE
+ 
+diff --git a/arch/parisc/kernel/head.S b/arch/parisc/kernel/head.S
+index 5680a2c..a84e31e 100644
+--- a/arch/parisc/kernel/head.S
++++ b/arch/parisc/kernel/head.S
+@@ -33,6 +33,7 @@ ENTRY(boot_args)
+ END(boot_args)
+ 
+ 	__HEAD
++
+ 	.align	4
+ 	.import init_thread_union,data
+ 	.import fault_vector_20,code    /* IVA parisc 2.0 32 bit */
+diff --git a/arch/parisc/kernel/hpmc.S b/arch/parisc/kernel/hpmc.S
+index 068322e..2cbf13b 100644
+--- a/arch/parisc/kernel/hpmc.S
++++ b/arch/parisc/kernel/hpmc.S
+@@ -47,7 +47,6 @@
+ #include <asm/pdc.h>
+ 
+ #include <linux/linkage.h>
+-#include <linux/init.h>
+ 
+ 	/*
+ 	 * stack for os_hpmc, the HPMC handler.
+@@ -77,7 +76,7 @@ ENTRY(hpmc_pim_data)
+ 	.block HPMC_PIM_DATA_SIZE
+ END(hpmc_pim_data)
+ 
+-	__HEAD
++	.text
+ 
+ 	.import intr_save, code
+ ENTRY(os_hpmc)
+diff --git a/arch/parisc/kernel/pacache.S b/arch/parisc/kernel/pacache.S
+index e3246a5..09b77b2 100644
+--- a/arch/parisc/kernel/pacache.S
++++ b/arch/parisc/kernel/pacache.S
+@@ -37,9 +37,8 @@
+ #include <asm/pgtable.h>
+ #include <asm/cache.h>
+ #include <linux/linkage.h>
+-#include <linux/init.h>
+ 
+-	__HEAD
++	.text
+ 	.align	128
+ 
+ ENTRY(flush_tlb_all_local)
+diff --git a/arch/parisc/kernel/parisc_ksyms.c b/arch/parisc/kernel/parisc_ksyms.c
+index 5b7fc4a..0eecfbb 100644
+--- a/arch/parisc/kernel/parisc_ksyms.c
++++ b/arch/parisc/kernel/parisc_ksyms.c
+@@ -152,3 +152,6 @@ EXPORT_SYMBOL($$dyncall);
+ EXPORT_SYMBOL(node_data);
+ EXPORT_SYMBOL(pfnnid_map);
+ #endif
++
++/* from pacache.S -- needed for copy_page */
++EXPORT_SYMBOL(copy_user_page_asm);
+diff --git a/arch/parisc/kernel/perf_asm.S b/arch/parisc/kernel/perf_asm.S
+index d411dfb..fa6ea99 100644
+--- a/arch/parisc/kernel/perf_asm.S
++++ b/arch/parisc/kernel/perf_asm.S
+@@ -43,7 +43,7 @@
+ ; The coprocessor only needs to be enabled when
+ ; starting/stopping the coprocessor with the pmenb/pmdis.
+ ;
+-	__HEAD
++	.text
+ 
+ ENTRY(perf_intrigue_enable_perf_counters)
+ 	.proc
+diff --git a/arch/parisc/kernel/real2.S b/arch/parisc/kernel/real2.S
+index 47fbdae..7a92695 100644
+--- a/arch/parisc/kernel/real2.S
++++ b/arch/parisc/kernel/real2.S
+@@ -12,7 +12,6 @@
+ #include <asm/assembly.h>
+ 
+ #include <linux/linkage.h>
+-#include <linux/init.h>
+ 
+ 	.section	.bss
+ 	.export real_stack
+@@ -40,7 +39,7 @@ save_cr_end:
+ /************************ 32-bit real-mode calls ***********************/
+ /* This can be called in both narrow and wide kernels */
+ 
+-	__HEAD
++	.text
+ 
+ 	/* unsigned long real32_call_asm(unsigned int *sp,
+ 	 *		unsigned int *arg0p,
+@@ -114,7 +113,7 @@ ENDPROC(real32_call_asm)
+ #  define PUSH_CR(r, where) mfctl r, %r1 ! STREG,ma %r1, REG_SZ(where)
+ #  define POP_CR(r, where) LDREG,mb -REG_SZ(where), %r1 ! mtctl %r1, r
+ 
+-	__HEAD
++	.text
+ save_control_regs:
+ 	load32	PA(save_cr_space), %r28
+ 	PUSH_CR(%cr24, %r28)
+@@ -146,7 +145,7 @@ restore_control_regs:
+ /* rfi_virt2real() and rfi_real2virt() could perhaps be adapted for
+  * more general-purpose use by the several places which need RFIs
+  */
+-	__HEAD
++	.text
+ 	.align 128
+ rfi_virt2real:
+ 	/* switch to real mode... */
+@@ -181,7 +180,7 @@ rfi_v2r_1:
+ 	bv	0(%r2)
+ 	nop
+ 
+-	__HEAD
++	.text
+ 	.align 128
+ rfi_real2virt:
+ 	rsm		PSW_SM_I,%r0
+@@ -219,7 +218,7 @@ rfi_r2v_1:
+ 
+ /************************ 64-bit real-mode calls ***********************/
+ /* This is only usable in wide kernels right now and will probably stay so */
+-	__HEAD
++	.text
+ 	/* unsigned long real64_call_asm(unsigned long *sp,
+ 	 *		unsigned long *arg0p,
+ 	 *		unsigned long fn)
+@@ -277,7 +276,7 @@ ENDPROC(real64_call_asm)
+ 
+ #endif
+ 
+-	__HEAD
++	.text
+ 	/* http://lists.parisc-linux.org/hypermail/parisc-linux/10916.html
+ 	**	GCC 3.3 and later has a new function in libgcc.a for
+ 	**	comparing function pointers.
+diff --git a/arch/parisc/kernel/signal32.c b/arch/parisc/kernel/signal32.c
+index db94aff..fb59852 100644
+--- a/arch/parisc/kernel/signal32.c
++++ b/arch/parisc/kernel/signal32.c
+@@ -289,7 +289,7 @@ setup_sigcontext32(struct compat_sigcontext __user *sc, struct compat_regfile __
+ 				&sc->sc_iaoq[0], compat_reg);
+ 		
+ 		/* Store upper half */
+-		compat_reg = (compat_uint_t)(regs->gr[32] >> 32);
++		compat_reg = (compat_uint_t)(regs->gr[31] >> 32);
+ 		err |= __put_user(compat_reg, &rf->rf_iaoq[0]);
+ 		DBG(2,"setup_sigcontext32: upper half iaoq[0] = %#x\n", compat_reg);
+ 		
+@@ -299,7 +299,7 @@ setup_sigcontext32(struct compat_sigcontext __user *sc, struct compat_regfile __
+ 		DBG(2,"setup_sigcontext32: sc->sc_iaoq[1] = %p <= %#x\n",
+ 				&sc->sc_iaoq[1], compat_reg);
+ 		/* Store upper half */
+-		compat_reg = (compat_uint_t)((regs->gr[32]+4) >> 32);
++		compat_reg = (compat_uint_t)((regs->gr[31]+4) >> 32);
+ 		err |= __put_user(compat_reg, &rf->rf_iaoq[1]);
+ 		DBG(2,"setup_sigcontext32: upper half iaoq[1] = %#x\n", compat_reg);
+ 		
+diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S
+index ae509d8..69b6eeb 100644
+--- a/arch/parisc/kernel/syscall.S
++++ b/arch/parisc/kernel/syscall.S
+@@ -17,7 +17,6 @@
+ #include <asm/processor.h>
+ 
+ #include <linux/linkage.h>
+-#include <linux/init.h>
+ 
+ 	/* We fill the empty parts of the gateway page with
+  	 * something that will kill the kernel or a
+@@ -27,7 +26,7 @@
+ 
+ 	.level          LEVEL
+ 
+-	__HEAD
++	.text
+ 
+ 	.import syscall_exit,code
+ 	.import syscall_exit_rfi,code
+@@ -637,7 +636,7 @@ END(sys_call_table64)
+ 		All light-weight-syscall atomic operations 
+ 		will use this set of locks 
+ 	*/
+-	.section .data, "aw"
++	.section .data
+ 	.align	PAGE_SIZE
+ ENTRY(lws_lock_start)
+ 	/* lws locks */
+diff --git a/arch/parisc/kernel/vmlinux.lds.S b/arch/parisc/kernel/vmlinux.lds.S
+index 50b4a3a..2e516b8 100644
+--- a/arch/parisc/kernel/vmlinux.lds.S
++++ b/arch/parisc/kernel/vmlinux.lds.S
+@@ -50,6 +50,7 @@ SECTIONS
+ 
+ 	_text = .;		/* Text and read-only data */
+ 	.text ALIGN(16) : {
++		HEAD_TEXT
+ 		TEXT_TEXT
+ 		SCHED_TEXT
+ 		LOCK_TEXT
+diff --git a/arch/parisc/lib/fixup.S b/arch/parisc/lib/fixup.S
+index 4821ad6..d172d42 100644
+--- a/arch/parisc/lib/fixup.S
++++ b/arch/parisc/lib/fixup.S
+@@ -23,7 +23,6 @@
+ #include <asm/assembly.h>
+ #include <asm/errno.h>
+ #include <linux/linkage.h>
+-#include <linux/init.h>
+ 
+ #ifdef CONFIG_SMP
+ 	.macro  get_fault_ip t1 t2
+@@ -56,7 +55,7 @@
+ 
+ 	.level LEVEL
+ 
+-	__HEAD
++	.text
+ 	.section .fixup, "ax"
+ 
+ 	/* get_user() fixups, store -EFAULT in r8, and 0 in r9 */
+diff --git a/arch/parisc/lib/lusercopy.S b/arch/parisc/lib/lusercopy.S
+index b0d8853..1bd23cc 100644
+--- a/arch/parisc/lib/lusercopy.S
++++ b/arch/parisc/lib/lusercopy.S
+@@ -33,12 +33,11 @@
+  */
+ 
+ 
++	.text
++	
+ #include <asm/assembly.h>
+ #include <asm/errno.h>
+ #include <linux/linkage.h>
+-#include <linux/init.h>
+-
+-	__HEAD
+ 
+ 	/*
+ 	 * get_sr gets the appropriate space value into
+diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c
+index 78fe252..ce0da68 100644
+--- a/arch/parisc/mm/init.c
++++ b/arch/parisc/mm/init.c
+@@ -547,6 +547,7 @@ void __init mem_init(void)
+ }
+ 
+ unsigned long *empty_zero_page __read_mostly;
++EXPORT_SYMBOL(empty_zero_page);
+ 
+ void show_mem(void)
+ {
+diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
+index 9dcdc03..b7d4c4c 100644
+--- a/arch/powerpc/Makefile
++++ b/arch/powerpc/Makefile
+@@ -96,6 +96,8 @@ endif
+ else
+ 	KBUILD_CFLAGS += $(call cc-option,-mtune=power4)
+ endif
++else
++LDFLAGS_MODULE	+= arch/powerpc/lib/crtsavres.o
+ endif
+ 
+ ifeq ($(CONFIG_TUNE_CELL),y)
+@@ -154,7 +156,7 @@ all: zImage
+ 
+ CPPFLAGS_vmlinux.lds	:= -Upowerpc
+ 
+-BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% cuImage.%
++BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% cuImage.% simpleImage.%
+ 
+ PHONY += $(BOOT_TARGETS)
+ 
+diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
+index d53b84e..1cee2f9 100644
+--- a/arch/powerpc/boot/Makefile
++++ b/arch/powerpc/boot/Makefile
+@@ -51,7 +51,7 @@ $(addprefix $(obj)/,$(zlib) gunzip_util.o main.o): \
+ 	$(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader))
+ 
+ src-libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c
+-src-wlib := string.S crt0.S stdio.c main.c \
++src-wlib := string.S crt0.S crtsavres.S stdio.c main.c \
+ 		$(addprefix libfdt/,$(src-libfdt)) libfdt-wrapper.c \
+ 		ns16550.c serial.c simple_alloc.c div64.S util.S \
+ 		gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \
+diff --git a/arch/powerpc/boot/crtsavres.S b/arch/powerpc/boot/crtsavres.S
+new file mode 100644
+index 0000000..f3d9b35
+--- /dev/null
++++ b/arch/powerpc/boot/crtsavres.S
+@@ -0,0 +1,233 @@
++/*
++ * Special support for eabi and SVR4
++ *
++ *   Copyright (C) 1995, 1996, 1998, 2000, 2001 Free Software Foundation, Inc.
++ *   Copyright 2008 Freescale Semiconductor, Inc.
++ *   Written By Michael Meissner
++ *
++ * Based on gcc/config/rs6000/crtsavres.asm from gcc
++ *
++ * This file is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by the
++ * Free Software Foundation; either version 2, or (at your option) any
++ * later version.
++ *
++ * In addition to the permissions in the GNU General Public License, the
++ * Free Software Foundation gives you unlimited permission to link the
++ * compiled version of this file with other programs, and to distribute
++ * those programs without any restriction coming from the use of this
++ * file.  (The General Public License restrictions do apply in other
++ * respects; for example, they cover modification of the file, and
++ * distribution when not linked into another program.)
++ *
++ * This file is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; see the file COPYING.  If not, write to
++ * the Free Software Foundation, 51 Franklin Street, Fifth Floor,
++ * Boston, MA 02110-1301, USA.
++ *
++ *    As a special exception, if you link this library with files
++ *    compiled with GCC to produce an executable, this does not cause
++ *    the resulting executable to be covered by the GNU General Public License.
++ *    This exception does not however invalidate any other reasons why
++ *    the executable file might be covered by the GNU General Public License.
++ */
++
++	.file	"crtsavres.S"
++	.section ".text"
++
++/* On PowerPC64 Linux, these functions are provided by the linker.  */
++#ifndef __powerpc64__
++
++#define _GLOBAL(name) \
++	.type name, at function; \
++	.globl name; \
++name:
++
++/* Routines for saving integer registers, called by the compiler.  */
++/* Called with r11 pointing to the stack header word of the caller of the */
++/* function, just beyond the end of the integer save area.  */
++
++_GLOBAL(_savegpr_14)
++_GLOBAL(_save32gpr_14)
++	stw	14,-72(11)	/* save gp registers */
++_GLOBAL(_savegpr_15)
++_GLOBAL(_save32gpr_15)
++	stw	15,-68(11)
++_GLOBAL(_savegpr_16)
++_GLOBAL(_save32gpr_16)
++	stw	16,-64(11)
++_GLOBAL(_savegpr_17)
++_GLOBAL(_save32gpr_17)
++	stw	17,-60(11)
++_GLOBAL(_savegpr_18)
++_GLOBAL(_save32gpr_18)
++	stw	18,-56(11)
++_GLOBAL(_savegpr_19)
++_GLOBAL(_save32gpr_19)
++	stw	19,-52(11)
++_GLOBAL(_savegpr_20)
++_GLOBAL(_save32gpr_20)
++	stw	20,-48(11)
++_GLOBAL(_savegpr_21)
++_GLOBAL(_save32gpr_21)
++	stw	21,-44(11)
++_GLOBAL(_savegpr_22)
++_GLOBAL(_save32gpr_22)
++	stw	22,-40(11)
++_GLOBAL(_savegpr_23)
++_GLOBAL(_save32gpr_23)
++	stw	23,-36(11)
++_GLOBAL(_savegpr_24)
++_GLOBAL(_save32gpr_24)
++	stw	24,-32(11)
++_GLOBAL(_savegpr_25)
++_GLOBAL(_save32gpr_25)
++	stw	25,-28(11)
++_GLOBAL(_savegpr_26)
++_GLOBAL(_save32gpr_26)
++	stw	26,-24(11)
++_GLOBAL(_savegpr_27)
++_GLOBAL(_save32gpr_27)
++	stw	27,-20(11)
++_GLOBAL(_savegpr_28)
++_GLOBAL(_save32gpr_28)
++	stw	28,-16(11)
++_GLOBAL(_savegpr_29)
++_GLOBAL(_save32gpr_29)
++	stw	29,-12(11)
++_GLOBAL(_savegpr_30)
++_GLOBAL(_save32gpr_30)
++	stw	30,-8(11)
++_GLOBAL(_savegpr_31)
++_GLOBAL(_save32gpr_31)
++	stw	31,-4(11)
++	blr
++
++/* Routines for restoring integer registers, called by the compiler.  */
++/* Called with r11 pointing to the stack header word of the caller of the */
++/* function, just beyond the end of the integer restore area.  */
++
++_GLOBAL(_restgpr_14)
++_GLOBAL(_rest32gpr_14)
++	lwz	14,-72(11)	/* restore gp registers */
++_GLOBAL(_restgpr_15)
++_GLOBAL(_rest32gpr_15)
++	lwz	15,-68(11)
++_GLOBAL(_restgpr_16)
++_GLOBAL(_rest32gpr_16)
++	lwz	16,-64(11)
++_GLOBAL(_restgpr_17)
++_GLOBAL(_rest32gpr_17)
++	lwz	17,-60(11)
++_GLOBAL(_restgpr_18)
++_GLOBAL(_rest32gpr_18)
++	lwz	18,-56(11)
++_GLOBAL(_restgpr_19)
++_GLOBAL(_rest32gpr_19)
++	lwz	19,-52(11)
++_GLOBAL(_restgpr_20)
++_GLOBAL(_rest32gpr_20)
++	lwz	20,-48(11)
++_GLOBAL(_restgpr_21)
++_GLOBAL(_rest32gpr_21)
++	lwz	21,-44(11)
++_GLOBAL(_restgpr_22)
++_GLOBAL(_rest32gpr_22)
++	lwz	22,-40(11)
++_GLOBAL(_restgpr_23)
++_GLOBAL(_rest32gpr_23)
++	lwz	23,-36(11)
++_GLOBAL(_restgpr_24)
++_GLOBAL(_rest32gpr_24)
++	lwz	24,-32(11)
++_GLOBAL(_restgpr_25)
++_GLOBAL(_rest32gpr_25)
++	lwz	25,-28(11)
++_GLOBAL(_restgpr_26)
++_GLOBAL(_rest32gpr_26)
++	lwz	26,-24(11)
++_GLOBAL(_restgpr_27)
++_GLOBAL(_rest32gpr_27)
++	lwz	27,-20(11)
++_GLOBAL(_restgpr_28)
++_GLOBAL(_rest32gpr_28)
++	lwz	28,-16(11)
++_GLOBAL(_restgpr_29)
++_GLOBAL(_rest32gpr_29)
++	lwz	29,-12(11)
++_GLOBAL(_restgpr_30)
++_GLOBAL(_rest32gpr_30)
++	lwz	30,-8(11)
++_GLOBAL(_restgpr_31)
++_GLOBAL(_rest32gpr_31)
++	lwz	31,-4(11)
++	blr
++
++/* Routines for restoring integer registers, called by the compiler.  */
++/* Called with r11 pointing to the stack header word of the caller of the */
++/* function, just beyond the end of the integer restore area.  */
++
++_GLOBAL(_restgpr_14_x)
++_GLOBAL(_rest32gpr_14_x)
++	lwz	14,-72(11)	/* restore gp registers */
++_GLOBAL(_restgpr_15_x)
++_GLOBAL(_rest32gpr_15_x)
++	lwz	15,-68(11)
++_GLOBAL(_restgpr_16_x)
++_GLOBAL(_rest32gpr_16_x)
++	lwz	16,-64(11)
++_GLOBAL(_restgpr_17_x)
++_GLOBAL(_rest32gpr_17_x)
++	lwz	17,-60(11)
++_GLOBAL(_restgpr_18_x)
++_GLOBAL(_rest32gpr_18_x)
++	lwz	18,-56(11)
++_GLOBAL(_restgpr_19_x)
++_GLOBAL(_rest32gpr_19_x)
++	lwz	19,-52(11)
++_GLOBAL(_restgpr_20_x)
++_GLOBAL(_rest32gpr_20_x)
++	lwz	20,-48(11)
++_GLOBAL(_restgpr_21_x)
++_GLOBAL(_rest32gpr_21_x)
++	lwz	21,-44(11)
++_GLOBAL(_restgpr_22_x)
++_GLOBAL(_rest32gpr_22_x)
++	lwz	22,-40(11)
++_GLOBAL(_restgpr_23_x)
++_GLOBAL(_rest32gpr_23_x)
++	lwz	23,-36(11)
++_GLOBAL(_restgpr_24_x)
++_GLOBAL(_rest32gpr_24_x)
++	lwz	24,-32(11)
++_GLOBAL(_restgpr_25_x)
++_GLOBAL(_rest32gpr_25_x)
++	lwz	25,-28(11)
++_GLOBAL(_restgpr_26_x)
++_GLOBAL(_rest32gpr_26_x)
++	lwz	26,-24(11)
++_GLOBAL(_restgpr_27_x)
++_GLOBAL(_rest32gpr_27_x)
++	lwz	27,-20(11)
++_GLOBAL(_restgpr_28_x)
++_GLOBAL(_rest32gpr_28_x)
++	lwz	28,-16(11)
++_GLOBAL(_restgpr_29_x)
++_GLOBAL(_rest32gpr_29_x)
++	lwz	29,-12(11)
++_GLOBAL(_restgpr_30_x)
++_GLOBAL(_rest32gpr_30_x)
++	lwz	30,-8(11)
++_GLOBAL(_restgpr_31_x)
++_GLOBAL(_rest32gpr_31_x)
++	lwz	0,4(11)
++	lwz	31,-4(11)
++	mtlr	0
++	mr	1,11
++	blr
++#endif
+diff --git a/arch/powerpc/boot/dts/mpc8377_rdb.dts b/arch/powerpc/boot/dts/mpc8377_rdb.dts
+index 5bc09ad..f3083c7 100644
+--- a/arch/powerpc/boot/dts/mpc8377_rdb.dts
++++ b/arch/powerpc/boot/dts/mpc8377_rdb.dts
+@@ -164,12 +164,6 @@
+ 				reg = <0x2>;
+ 				device_type = "ethernet-phy";
+ 			};
+-			phy3: ethernet-phy at 3 {
+-				interrupt-parent = <&ipic>;
+-				interrupts = <18 0x8>;
+-				reg = <0x3>;
+-				device_type = "ethernet-phy";
+-			};
+ 		};
+ 
+ 		enet0: ethernet at 24000 {
+@@ -195,7 +189,7 @@
+ 			interrupts = <35 0x8 36 0x8 37 0x8>;
+ 			phy-connection-type = "mii";
+ 			interrupt-parent = <&ipic>;
+-			phy-handle = <&phy3>;
++			fixed-link = <1 1 1000 0 0>;
+ 		};
+ 
+ 		serial0: serial at 4500 {
+diff --git a/arch/powerpc/boot/dts/mpc8378_rdb.dts b/arch/powerpc/boot/dts/mpc8378_rdb.dts
+index 711f9a3..0e872a6 100644
+--- a/arch/powerpc/boot/dts/mpc8378_rdb.dts
++++ b/arch/powerpc/boot/dts/mpc8378_rdb.dts
+@@ -164,12 +164,6 @@
+ 				reg = <0x2>;
+ 				device_type = "ethernet-phy";
+ 			};
+-			phy3: ethernet-phy at 3 {
+-				interrupt-parent = <&ipic>;
+-				interrupts = <18 0x8>;
+-				reg = <0x3>;
+-				device_type = "ethernet-phy";
+-			};
+ 		};
+ 
+ 		enet0: ethernet at 24000 {
+@@ -195,7 +189,7 @@
+ 			interrupts = <35 0x8 36 0x8 37 0x8>;
+ 			phy-connection-type = "mii";
+ 			interrupt-parent = <&ipic>;
+-			phy-handle = <&phy3>;
++			fixed-link = <1 1 1000 0 0>;
+ 		};
+ 
+ 		serial0: serial at 4500 {
+diff --git a/arch/powerpc/boot/dts/mpc8379_rdb.dts b/arch/powerpc/boot/dts/mpc8379_rdb.dts
+index c11ceb7..1eb8def 100644
+--- a/arch/powerpc/boot/dts/mpc8379_rdb.dts
++++ b/arch/powerpc/boot/dts/mpc8379_rdb.dts
+@@ -164,12 +164,6 @@
+ 				reg = <0x2>;
+ 				device_type = "ethernet-phy";
+ 			};
+-			phy3: ethernet-phy at 3 {
+-				interrupt-parent = <&ipic>;
+-				interrupts = <18 0x8>;
+-				reg = <0x3>;
+-				device_type = "ethernet-phy";
+-			};
+ 		};
+ 
+ 		enet0: ethernet at 24000 {
+@@ -195,7 +189,7 @@
+ 			interrupts = <35 0x8 36 0x8 37 0x8>;
+ 			phy-connection-type = "mii";
+ 			interrupt-parent = <&ipic>;
+-			phy-handle = <&phy3>;
++			fixed-link = <1 1 1000 0 0>;
+ 		};
+ 
+ 		serial0: serial at 4500 {
+diff --git a/arch/powerpc/boot/dts/mpc8548cds.dts b/arch/powerpc/boot/dts/mpc8548cds.dts
+index fa298a8..4811b81 100644
+--- a/arch/powerpc/boot/dts/mpc8548cds.dts
++++ b/arch/powerpc/boot/dts/mpc8548cds.dts
+@@ -409,7 +409,7 @@
+ 		interrupts = <26 2>;
+ 		bus-range = <0 255>;
+ 		ranges = <0x2000000 0x0 0xa0000000 0xa0000000 0x0 0x20000000
+-			  0x1000000 0x0 0x0 0xe3000000 0x0 0x8000000>;
++			  0x1000000 0x0 0x0 0xe3000000 0x0 0x100000>;
+ 		clock-frequency = <33333333>;
+ 		#interrupt-cells = <1>;
+ 		#size-cells = <2>;
+@@ -428,7 +428,7 @@
+ 
+ 				  0x1000000 0x0 0x0
+ 				  0x1000000 0x0 0x0
+-				  0x0 0x8000000>;
++				  0x0 0x100000>;
+ 		};
+ 	};
+ };
+diff --git a/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig b/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig
+index 7d18440..5428f9f 100644
+--- a/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig
++++ b/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Fri Apr 11 11:10:09 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:21 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -31,6 +31,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -86,6 +88,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ # CONFIG_KALLSYMS is not set
+ CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+@@ -110,12 +113,14 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+ # CONFIG_MODVERSIONS is not set
+@@ -196,7 +201,6 @@ CONFIG_PREEMPT_NONE=y
+ # CONFIG_PREEMPT is not set
+ CONFIG_BINFMT_ELF=y
+ # CONFIG_BINFMT_MISC is not set
+-CONFIG_FORCE_MAX_ZONEORDER=11
+ # CONFIG_IOMMU_HELPER is not set
+ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+ CONFIG_ARCH_HAS_WALK_MEMORY=y
+@@ -211,11 +215,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -239,6 +245,7 @@ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCI_DEBUG is not set
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -248,11 +255,11 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -300,8 +307,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -362,6 +367,7 @@ CONFIG_MTD_PARTITIONS=y
+ # CONFIG_MTD_REDBOOT_PARTS is not set
+ # CONFIG_MTD_CMDLINE_PARTS is not set
+ CONFIG_MTD_OF_PARTS=y
++# CONFIG_MTD_AR7_PARTS is not set
+ 
+ #
+ # User Modules And Translation Layers
+@@ -445,6 +451,7 @@ CONFIG_MTD_NAND_FSL_ELBC=y
+ #
+ # CONFIG_MTD_UBI is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -641,7 +648,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -661,6 +667,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -668,6 +675,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ 
+ #
+ # USB Network Adapters
+@@ -724,6 +732,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -751,7 +760,6 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ CONFIG_HW_RANDOM=y
+ # CONFIG_NVRAM is not set
+-# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -762,13 +770,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -795,6 +796,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -804,17 +806,12 @@ CONFIG_I2C_MPC=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ CONFIG_SPI=y
+ # CONFIG_SPI_DEBUG is not set
+ CONFIG_SPI_MASTER=y
+@@ -919,12 +916,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ # CONFIG_USB_DABUSB is not set
+ 
+@@ -977,16 +984,20 @@ CONFIG_USB_DEVICEFS=y
+ CONFIG_USB_DEVICE_CLASS=y
+ # CONFIG_USB_DYNAMIC_MINORS is not set
+ # CONFIG_USB_OTG is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # USB Host Controller Drivers
+ #
++# CONFIG_USB_C67X00_HCD is not set
+ CONFIG_USB_EHCI_HCD=y
+ CONFIG_USB_EHCI_ROOT_HUB_TT=y
+ # CONFIG_USB_EHCI_TT_NEWSCHED is not set
+ CONFIG_USB_EHCI_FSL=y
+ CONFIG_USB_EHCI_HCD_PPC_OF=y
+ # CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_ISP1760_HCD is not set
+ CONFIG_USB_OHCI_HCD=y
+ CONFIG_USB_OHCI_HCD_PPC_OF=y
+ CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
+@@ -1004,6 +1015,7 @@ CONFIG_USB_UHCI_HCD=y
+ #
+ # CONFIG_USB_ACM is not set
+ # CONFIG_USB_PRINTER is not set
++# CONFIG_USB_WDM is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -1023,7 +1035,9 @@ CONFIG_USB_STORAGE=y
+ # CONFIG_USB_STORAGE_SDDR55 is not set
+ # CONFIG_USB_STORAGE_JUMPSHOT is not set
+ # CONFIG_USB_STORAGE_ALAUDA is not set
++# CONFIG_USB_STORAGE_ONETOUCH is not set
+ # CONFIG_USB_STORAGE_KARMA is not set
++# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+ # CONFIG_USB_LIBUSUAL is not set
+ 
+ #
+@@ -1061,6 +1075,7 @@ CONFIG_USB_MON=y
+ # CONFIG_USB_TRANCEVIBRATOR is not set
+ # CONFIG_USB_IOWARRIOR is not set
+ # CONFIG_USB_TEST is not set
++# CONFIG_USB_ISIGHTFW is not set
+ CONFIG_USB_GADGET=y
+ # CONFIG_USB_GADGET_DEBUG is not set
+ # CONFIG_USB_GADGET_DEBUG_FILES is not set
+@@ -1072,6 +1087,7 @@ CONFIG_USB_GADGET_NET2280=y
+ CONFIG_USB_NET2280=y
+ # CONFIG_USB_GADGET_PXA2XX is not set
+ # CONFIG_USB_GADGET_M66592 is not set
++# CONFIG_USB_GADGET_PXA27X is not set
+ # CONFIG_USB_GADGET_GOKU is not set
+ # CONFIG_USB_GADGET_LH7A40X is not set
+ # CONFIG_USB_GADGET_OMAP is not set
+@@ -1090,6 +1106,7 @@ CONFIG_USB_ETH_RNDIS=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+@@ -1144,11 +1161,8 @@ CONFIG_RTC_DRV_DS1307=y
+ #
+ # on-CPU RTC drivers
+ #
++# CONFIG_RTC_DRV_PPC is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -1168,7 +1182,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -1237,7 +1250,6 @@ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -1282,6 +1294,7 @@ CONFIG_MSDOS_PARTITION=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -1302,6 +1315,7 @@ CONFIG_HAVE_LMB=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1312,6 +1326,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_SLUB_DEBUG_ON is not set
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_RT_MUTEXES is not set
+@@ -1324,6 +1339,7 @@ CONFIG_SCHED_DEBUG=y
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_DEBUG_INFO is not set
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -1335,6 +1351,7 @@ CONFIG_SCHED_DEBUG=y
+ # CONFIG_DEBUG_STACK_USAGE is not set
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_BDI_SWITCH is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+@@ -1345,51 +1362,81 @@ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig b/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig
+index 1f57456..9bc3a03 100644
+--- a/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig
++++ b/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:15 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:21 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -31,6 +31,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -86,6 +88,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ # CONFIG_KALLSYMS is not set
+ CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+@@ -110,12 +113,14 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+ # CONFIG_MODVERSIONS is not set
+@@ -210,11 +215,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -238,6 +245,7 @@ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCI_DEBUG is not set
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -247,11 +255,11 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -299,8 +307,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -361,6 +367,7 @@ CONFIG_MTD_PARTITIONS=y
+ # CONFIG_MTD_REDBOOT_PARTS is not set
+ # CONFIG_MTD_CMDLINE_PARTS is not set
+ # CONFIG_MTD_OF_PARTS is not set
++# CONFIG_MTD_AR7_PARTS is not set
+ 
+ #
+ # User Modules And Translation Layers
+@@ -444,6 +451,7 @@ CONFIG_MTD_NAND_IDS=y
+ #
+ # CONFIG_MTD_UBI is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -549,7 +557,11 @@ CONFIG_SCSI_LOWLEVEL=y
+ # CONFIG_SCSI_SRP is not set
+ CONFIG_ATA=y
+ # CONFIG_ATA_NONSTANDARD is not set
++CONFIG_SATA_PMP=y
+ # CONFIG_SATA_AHCI is not set
++# CONFIG_SATA_SIL24 is not set
++CONFIG_SATA_FSL=y
++CONFIG_ATA_SFF=y
+ # CONFIG_SATA_SVW is not set
+ # CONFIG_ATA_PIIX is not set
+ # CONFIG_SATA_MV is not set
+@@ -559,13 +571,11 @@ CONFIG_ATA=y
+ # CONFIG_SATA_PROMISE is not set
+ # CONFIG_SATA_SX4 is not set
+ # CONFIG_SATA_SIL is not set
+-# CONFIG_SATA_SIL24 is not set
+ # CONFIG_SATA_SIS is not set
+ # CONFIG_SATA_ULI is not set
+ # CONFIG_SATA_VIA is not set
+ # CONFIG_SATA_VITESSE is not set
+ # CONFIG_SATA_INIC162X is not set
+-CONFIG_SATA_FSL=y
+ # CONFIG_PATA_ALI is not set
+ # CONFIG_PATA_AMD is not set
+ # CONFIG_PATA_ARTOP is not set
+@@ -605,6 +615,7 @@ CONFIG_SATA_FSL=y
+ # CONFIG_PATA_VIA is not set
+ # CONFIG_PATA_WINBOND is not set
+ # CONFIG_PATA_PLATFORM is not set
++# CONFIG_PATA_SCH is not set
+ CONFIG_MD=y
+ CONFIG_BLK_DEV_MD=y
+ CONFIG_MD_LINEAR=y
+@@ -698,7 +709,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -718,6 +728,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -725,6 +736,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ 
+ #
+ # USB Network Adapters
+@@ -781,6 +793,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -808,7 +821,6 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ CONFIG_HW_RANDOM=y
+ # CONFIG_NVRAM is not set
+-# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -819,13 +831,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -852,6 +857,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -861,17 +867,12 @@ CONFIG_I2C_MPC=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ CONFIG_SPI=y
+ # CONFIG_SPI_DEBUG is not set
+ CONFIG_SPI_MASTER=y
+@@ -976,12 +977,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ # CONFIG_USB_DABUSB is not set
+ 
+@@ -1034,16 +1045,20 @@ CONFIG_USB_DEVICEFS=y
+ CONFIG_USB_DEVICE_CLASS=y
+ # CONFIG_USB_DYNAMIC_MINORS is not set
+ # CONFIG_USB_OTG is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # USB Host Controller Drivers
+ #
++# CONFIG_USB_C67X00_HCD is not set
+ CONFIG_USB_EHCI_HCD=y
+ CONFIG_USB_EHCI_ROOT_HUB_TT=y
+ # CONFIG_USB_EHCI_TT_NEWSCHED is not set
+ CONFIG_USB_EHCI_FSL=y
+ CONFIG_USB_EHCI_HCD_PPC_OF=y
+ # CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_ISP1760_HCD is not set
+ CONFIG_USB_OHCI_HCD=y
+ CONFIG_USB_OHCI_HCD_PPC_OF=y
+ CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
+@@ -1061,6 +1076,7 @@ CONFIG_USB_UHCI_HCD=y
+ #
+ # CONFIG_USB_ACM is not set
+ # CONFIG_USB_PRINTER is not set
++# CONFIG_USB_WDM is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -1080,7 +1096,9 @@ CONFIG_USB_STORAGE=y
+ # CONFIG_USB_STORAGE_SDDR55 is not set
+ # CONFIG_USB_STORAGE_JUMPSHOT is not set
+ # CONFIG_USB_STORAGE_ALAUDA is not set
++# CONFIG_USB_STORAGE_ONETOUCH is not set
+ # CONFIG_USB_STORAGE_KARMA is not set
++# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+ # CONFIG_USB_LIBUSUAL is not set
+ 
+ #
+@@ -1118,6 +1136,7 @@ CONFIG_USB_MON=y
+ # CONFIG_USB_TRANCEVIBRATOR is not set
+ # CONFIG_USB_IOWARRIOR is not set
+ # CONFIG_USB_TEST is not set
++# CONFIG_USB_ISIGHTFW is not set
+ CONFIG_USB_GADGET=y
+ # CONFIG_USB_GADGET_DEBUG is not set
+ # CONFIG_USB_GADGET_DEBUG_FILES is not set
+@@ -1129,6 +1148,7 @@ CONFIG_USB_GADGET_NET2280=y
+ CONFIG_USB_NET2280=y
+ # CONFIG_USB_GADGET_PXA2XX is not set
+ # CONFIG_USB_GADGET_M66592 is not set
++# CONFIG_USB_GADGET_PXA27X is not set
+ # CONFIG_USB_GADGET_GOKU is not set
+ # CONFIG_USB_GADGET_LH7A40X is not set
+ # CONFIG_USB_GADGET_OMAP is not set
+@@ -1147,6 +1167,7 @@ CONFIG_USB_ETH_RNDIS=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+@@ -1201,11 +1222,8 @@ CONFIG_RTC_DRV_DS1307=y
+ #
+ # on-CPU RTC drivers
+ #
++# CONFIG_RTC_DRV_PPC is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -1225,7 +1243,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -1294,7 +1311,6 @@ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -1339,6 +1355,7 @@ CONFIG_MSDOS_PARTITION=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -1351,6 +1368,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -1358,6 +1376,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1368,6 +1387,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_SLUB_DEBUG_ON is not set
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_RT_MUTEXES is not set
+@@ -1380,6 +1400,7 @@ CONFIG_SCHED_DEBUG=y
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_DEBUG_INFO is not set
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -1391,6 +1412,7 @@ CONFIG_SCHED_DEBUG=y
+ # CONFIG_DEBUG_STACK_USAGE is not set
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_BDI_SWITCH is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+@@ -1401,51 +1423,81 @@ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/83xx/mpc832x_mds_defconfig b/arch/powerpc/configs/83xx/mpc832x_mds_defconfig
+index 50cceda..1eca26f 100644
+--- a/arch/powerpc/configs/83xx/mpc832x_mds_defconfig
++++ b/arch/powerpc/configs/83xx/mpc832x_mds_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc7
+-# Mon Mar 31 11:36:51 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:22 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -31,6 +31,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -86,6 +88,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ # CONFIG_KALLSYMS is not set
+ CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+@@ -110,12 +113,14 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+ # CONFIG_MODVERSIONS is not set
+@@ -212,11 +217,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -239,6 +246,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
+ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -248,11 +256,11 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -300,8 +308,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -355,6 +361,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
+ # CONFIG_CONNECTOR is not set
+ # CONFIG_MTD is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -522,7 +529,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -546,6 +552,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -553,6 +560,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+ # CONFIG_HIPPI is not set
+@@ -600,6 +608,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -628,7 +637,6 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ CONFIG_HW_RANDOM=y
+ # CONFIG_NVRAM is not set
+-# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -639,13 +647,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -671,6 +672,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -680,19 +682,13 @@ CONFIG_I2C_MPC=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -775,12 +771,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -811,6 +817,8 @@ CONFIG_USB_ARCH_HAS_HCD=y
+ CONFIG_USB_ARCH_HAS_OHCI=y
+ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_USB is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -819,6 +827,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+@@ -870,11 +879,8 @@ CONFIG_RTC_DRV_DS1374=y
+ #
+ # on-CPU RTC drivers
+ #
++# CONFIG_RTC_DRV_PPC is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -894,7 +900,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -952,7 +957,6 @@ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -995,6 +999,7 @@ CONFIG_UCC=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -1005,6 +1010,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -1012,6 +1018,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1021,6 +1028,7 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_SAMPLES is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+ #
+@@ -1030,52 +1038,82 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=m
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-CONFIG_CRYPTO_ECB=m
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
+ CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig b/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig
+index ac91302..de95d32 100644
+--- a/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig
++++ b/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:16 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:24 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -31,6 +31,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -86,6 +88,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ # CONFIG_KALLSYMS is not set
+ CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+@@ -110,12 +113,14 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+ # CONFIG_MODVERSIONS is not set
+@@ -212,11 +217,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -239,6 +246,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
+ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -248,11 +256,11 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -300,8 +308,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -355,6 +361,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
+ # CONFIG_CONNECTOR is not set
+ # CONFIG_MTD is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -526,7 +533,6 @@ CONFIG_E1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -550,6 +556,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -557,6 +564,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ 
+ #
+ # USB Network Adapters
+@@ -613,6 +621,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -653,13 +662,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -686,6 +688,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -695,17 +698,12 @@ CONFIG_I2C_MPC=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ CONFIG_SPI=y
+ CONFIG_SPI_MASTER=y
+ 
+@@ -809,12 +807,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ # CONFIG_USB_DABUSB is not set
+ 
+@@ -867,16 +875,20 @@ CONFIG_USB_DEVICEFS=y
+ CONFIG_USB_DEVICE_CLASS=y
+ # CONFIG_USB_DYNAMIC_MINORS is not set
+ # CONFIG_USB_OTG is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # USB Host Controller Drivers
+ #
++# CONFIG_USB_C67X00_HCD is not set
+ CONFIG_USB_EHCI_HCD=y
+ # CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+ # CONFIG_USB_EHCI_TT_NEWSCHED is not set
+ # CONFIG_USB_EHCI_FSL is not set
+ CONFIG_USB_EHCI_HCD_PPC_OF=y
+ # CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_ISP1760_HCD is not set
+ CONFIG_USB_OHCI_HCD=y
+ CONFIG_USB_OHCI_HCD_PPC_OF=y
+ CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
+@@ -894,6 +906,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+ #
+ # CONFIG_USB_ACM is not set
+ # CONFIG_USB_PRINTER is not set
++# CONFIG_USB_WDM is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -913,7 +926,9 @@ CONFIG_USB_STORAGE=y
+ # CONFIG_USB_STORAGE_SDDR55 is not set
+ # CONFIG_USB_STORAGE_JUMPSHOT is not set
+ # CONFIG_USB_STORAGE_ALAUDA is not set
++# CONFIG_USB_STORAGE_ONETOUCH is not set
+ # CONFIG_USB_STORAGE_KARMA is not set
++# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+ # CONFIG_USB_LIBUSUAL is not set
+ 
+ #
+@@ -951,6 +966,7 @@ CONFIG_USB_MON=y
+ # CONFIG_USB_TRANCEVIBRATOR is not set
+ # CONFIG_USB_IOWARRIOR is not set
+ # CONFIG_USB_TEST is not set
++# CONFIG_USB_ISIGHTFW is not set
+ # CONFIG_USB_GADGET is not set
+ CONFIG_MMC=y
+ # CONFIG_MMC_DEBUG is not set
+@@ -962,6 +978,7 @@ CONFIG_MMC=y
+ CONFIG_MMC_BLOCK=y
+ CONFIG_MMC_BLOCK_BOUNCE=y
+ # CONFIG_SDIO_UART is not set
++# CONFIG_MMC_TEST is not set
+ 
+ #
+ # MMC/SD Host Controller Drivers
+@@ -972,14 +989,11 @@ CONFIG_MMC_BLOCK_BOUNCE=y
+ CONFIG_MMC_SPI=y
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -999,7 +1013,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -1060,7 +1073,6 @@ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -1147,6 +1159,7 @@ CONFIG_UCC=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ CONFIG_CRC_ITU_T=y
+@@ -1157,6 +1170,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -1164,6 +1178,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1173,6 +1188,7 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_SAMPLES is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+ #
+@@ -1182,52 +1198,82 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=m
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-CONFIG_CRYPTO_ECB=m
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
+ CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/83xx/mpc834x_itx_defconfig b/arch/powerpc/configs/83xx/mpc834x_itx_defconfig
+index e1de399..b47fc91 100644
+--- a/arch/powerpc/configs/83xx/mpc834x_itx_defconfig
++++ b/arch/powerpc/configs/83xx/mpc834x_itx_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:17 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:25 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -31,6 +31,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -86,6 +88,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ # CONFIG_KALLSYMS is not set
+ CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+@@ -110,12 +113,14 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+ # CONFIG_MODVERSIONS is not set
+@@ -210,11 +215,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -237,6 +244,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
+ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -246,11 +254,11 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -298,8 +306,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -432,6 +438,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+ #
+ # CONFIG_MTD_UBI is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -541,7 +548,11 @@ CONFIG_SCSI_LOWLEVEL=y
+ # CONFIG_SCSI_SRP is not set
+ CONFIG_ATA=y
+ # CONFIG_ATA_NONSTANDARD is not set
++CONFIG_SATA_PMP=y
+ # CONFIG_SATA_AHCI is not set
++# CONFIG_SATA_SIL24 is not set
++# CONFIG_SATA_FSL is not set
++CONFIG_ATA_SFF=y
+ # CONFIG_SATA_SVW is not set
+ # CONFIG_ATA_PIIX is not set
+ # CONFIG_SATA_MV is not set
+@@ -551,13 +562,11 @@ CONFIG_ATA=y
+ # CONFIG_SATA_PROMISE is not set
+ # CONFIG_SATA_SX4 is not set
+ CONFIG_SATA_SIL=y
+-# CONFIG_SATA_SIL24 is not set
+ # CONFIG_SATA_SIS is not set
+ # CONFIG_SATA_ULI is not set
+ # CONFIG_SATA_VIA is not set
+ # CONFIG_SATA_VITESSE is not set
+ # CONFIG_SATA_INIC162X is not set
+-# CONFIG_SATA_FSL is not set
+ # CONFIG_PATA_ALI is not set
+ # CONFIG_PATA_AMD is not set
+ # CONFIG_PATA_ARTOP is not set
+@@ -598,6 +607,7 @@ CONFIG_SATA_SIL=y
+ # CONFIG_PATA_WINBOND is not set
+ CONFIG_PATA_PLATFORM=y
+ CONFIG_PATA_OF_PLATFORM=y
++# CONFIG_PATA_SCH is not set
+ CONFIG_MD=y
+ CONFIG_BLK_DEV_MD=y
+ CONFIG_MD_LINEAR=y
+@@ -659,7 +669,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -679,6 +688,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -686,6 +696,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ 
+ #
+ # USB Network Adapters
+@@ -722,6 +733,7 @@ CONFIG_NETDEV_10000=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -749,7 +761,6 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ CONFIG_HW_RANDOM=y
+ # CONFIG_NVRAM is not set
+-# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -760,13 +771,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -793,6 +797,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -802,17 +807,12 @@ CONFIG_I2C_MPC=y
+ CONFIG_SENSORS_PCF8574=y
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ CONFIG_SPI=y
+ CONFIG_SPI_MASTER=y
+ 
+@@ -862,12 +862,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ # CONFIG_USB_DABUSB is not set
+ 
+@@ -905,16 +915,20 @@ CONFIG_USB_DEVICEFS=y
+ CONFIG_USB_DEVICE_CLASS=y
+ # CONFIG_USB_DYNAMIC_MINORS is not set
+ # CONFIG_USB_OTG is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # USB Host Controller Drivers
+ #
++# CONFIG_USB_C67X00_HCD is not set
+ CONFIG_USB_EHCI_HCD=y
+ CONFIG_USB_EHCI_ROOT_HUB_TT=y
+ # CONFIG_USB_EHCI_TT_NEWSCHED is not set
+ CONFIG_USB_EHCI_FSL=y
+ CONFIG_USB_EHCI_HCD_PPC_OF=y
+ # CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_ISP1760_HCD is not set
+ # CONFIG_USB_OHCI_HCD is not set
+ CONFIG_USB_UHCI_HCD=y
+ # CONFIG_USB_SL811_HCD is not set
+@@ -925,6 +939,7 @@ CONFIG_USB_UHCI_HCD=y
+ #
+ # CONFIG_USB_ACM is not set
+ # CONFIG_USB_PRINTER is not set
++# CONFIG_USB_WDM is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -945,6 +960,7 @@ CONFIG_USB_STORAGE=y
+ # CONFIG_USB_STORAGE_JUMPSHOT is not set
+ # CONFIG_USB_STORAGE_ALAUDA is not set
+ # CONFIG_USB_STORAGE_KARMA is not set
++# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+ # CONFIG_USB_LIBUSUAL is not set
+ 
+ #
+@@ -982,10 +998,12 @@ CONFIG_USB_MON=y
+ # CONFIG_USB_TRANCEVIBRATOR is not set
+ # CONFIG_USB_IOWARRIOR is not set
+ # CONFIG_USB_TEST is not set
++# CONFIG_USB_ISIGHTFW is not set
+ # CONFIG_USB_GADGET is not set
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+@@ -1040,11 +1058,8 @@ CONFIG_RTC_DRV_DS1307=y
+ #
+ # on-CPU RTC drivers
+ #
++# CONFIG_RTC_DRV_PPC is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -1064,7 +1079,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -1126,7 +1140,6 @@ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -1210,6 +1223,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -1220,6 +1234,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -1227,6 +1242,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1236,6 +1252,7 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_SAMPLES is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+ #
+@@ -1245,51 +1262,81 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig b/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig
+index b4e39cf..fdac484 100644
+--- a/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig
++++ b/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:18 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:26 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -31,6 +31,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -86,6 +88,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ # CONFIG_KALLSYMS is not set
+ CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+@@ -110,12 +113,14 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+ # CONFIG_MODVERSIONS is not set
+@@ -210,11 +215,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -237,6 +244,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
+ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -246,11 +254,11 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -298,8 +306,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -432,6 +438,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+ #
+ # CONFIG_MTD_UBI is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -587,7 +594,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -607,6 +613,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -614,6 +621,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ 
+ #
+ # USB Network Adapters
+@@ -650,6 +658,7 @@ CONFIG_NETDEV_10000=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -677,7 +686,6 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ CONFIG_HW_RANDOM=y
+ # CONFIG_NVRAM is not set
+-# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -688,13 +696,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -721,6 +722,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -730,17 +732,12 @@ CONFIG_I2C_MPC=y
+ CONFIG_SENSORS_PCF8574=y
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ CONFIG_SPI=y
+ CONFIG_SPI_MASTER=y
+ 
+@@ -790,12 +787,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ # CONFIG_USB_DABUSB is not set
+ 
+@@ -833,16 +840,20 @@ CONFIG_USB=y
+ CONFIG_USB_DEVICE_CLASS=y
+ # CONFIG_USB_DYNAMIC_MINORS is not set
+ # CONFIG_USB_OTG is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # USB Host Controller Drivers
+ #
++# CONFIG_USB_C67X00_HCD is not set
+ CONFIG_USB_EHCI_HCD=y
+ CONFIG_USB_EHCI_ROOT_HUB_TT=y
+ # CONFIG_USB_EHCI_TT_NEWSCHED is not set
+ CONFIG_USB_EHCI_FSL=y
+ CONFIG_USB_EHCI_HCD_PPC_OF=y
+ # CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_ISP1760_HCD is not set
+ # CONFIG_USB_OHCI_HCD is not set
+ CONFIG_USB_UHCI_HCD=y
+ # CONFIG_USB_SL811_HCD is not set
+@@ -853,6 +864,7 @@ CONFIG_USB_UHCI_HCD=y
+ #
+ # CONFIG_USB_ACM is not set
+ # CONFIG_USB_PRINTER is not set
++# CONFIG_USB_WDM is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -873,6 +885,7 @@ CONFIG_USB_STORAGE=y
+ # CONFIG_USB_STORAGE_JUMPSHOT is not set
+ # CONFIG_USB_STORAGE_ALAUDA is not set
+ # CONFIG_USB_STORAGE_KARMA is not set
++# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+ # CONFIG_USB_LIBUSUAL is not set
+ 
+ #
+@@ -909,10 +922,12 @@ CONFIG_USB_MON=y
+ # CONFIG_USB_LD is not set
+ # CONFIG_USB_TRANCEVIBRATOR is not set
+ # CONFIG_USB_IOWARRIOR is not set
++# CONFIG_USB_ISIGHTFW is not set
+ # CONFIG_USB_GADGET is not set
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+@@ -967,11 +982,8 @@ CONFIG_RTC_DRV_DS1307=y
+ #
+ # on-CPU RTC drivers
+ #
++# CONFIG_RTC_DRV_PPC is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -991,7 +1003,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -1053,7 +1064,6 @@ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -1137,6 +1147,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -1147,6 +1158,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -1154,6 +1166,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1163,6 +1176,7 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_SAMPLES is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+ #
+@@ -1172,51 +1186,81 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/83xx/mpc834x_mds_defconfig b/arch/powerpc/configs/83xx/mpc834x_mds_defconfig
+index b4e82c0..c82e96e 100644
+--- a/arch/powerpc/configs/83xx/mpc834x_mds_defconfig
++++ b/arch/powerpc/configs/83xx/mpc834x_mds_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc7
+-# Mon Mar 31 11:36:56 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:26 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -31,6 +31,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -86,6 +88,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ # CONFIG_KALLSYMS is not set
+ CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+@@ -110,12 +113,14 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+ # CONFIG_MODVERSIONS is not set
+@@ -210,11 +215,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -237,6 +244,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
+ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -246,11 +254,11 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -298,8 +306,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -353,6 +359,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
+ # CONFIG_CONNECTOR is not set
+ # CONFIG_MTD is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -471,7 +478,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -491,6 +497,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -498,6 +505,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+ # CONFIG_HIPPI is not set
+@@ -544,6 +552,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -571,7 +580,6 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ # CONFIG_HW_RANDOM is not set
+ # CONFIG_NVRAM is not set
+-# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -582,13 +590,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -614,6 +615,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -623,19 +625,13 @@ CONFIG_I2C_MPC=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -718,12 +714,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -754,6 +760,8 @@ CONFIG_USB_ARCH_HAS_HCD=y
+ CONFIG_USB_ARCH_HAS_OHCI=y
+ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_USB is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -762,6 +770,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+@@ -813,11 +822,8 @@ CONFIG_RTC_DRV_DS1374=y
+ #
+ # on-CPU RTC drivers
+ #
++# CONFIG_RTC_DRV_PPC is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -837,7 +843,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -895,7 +900,6 @@ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -936,6 +940,7 @@ CONFIG_PARTITION_ADVANCED=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -946,6 +951,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -953,6 +959,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -962,6 +969,7 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_SAMPLES is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+ #
+@@ -971,51 +979,81 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=m
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-CONFIG_CRYPTO_ECB=m
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/83xx/mpc836x_mds_defconfig b/arch/powerpc/configs/83xx/mpc836x_mds_defconfig
+index d50a96e..20fd9f5 100644
+--- a/arch/powerpc/configs/83xx/mpc836x_mds_defconfig
++++ b/arch/powerpc/configs/83xx/mpc836x_mds_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc7
+-# Mon Mar 31 11:36:57 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:27 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -31,6 +31,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -86,6 +88,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ # CONFIG_KALLSYMS is not set
+ CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+@@ -110,12 +113,14 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+ # CONFIG_MODVERSIONS is not set
+@@ -210,11 +215,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -237,6 +244,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
+ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -246,11 +254,11 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -298,8 +306,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -353,6 +359,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
+ # CONFIG_CONNECTOR is not set
+ # CONFIG_MTD is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -520,7 +527,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -544,6 +550,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -551,6 +558,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+ # CONFIG_HIPPI is not set
+@@ -598,6 +606,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -626,7 +635,6 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ CONFIG_HW_RANDOM=y
+ # CONFIG_NVRAM is not set
+-# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -637,13 +645,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -669,6 +670,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -678,19 +680,13 @@ CONFIG_I2C_MPC=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -773,12 +769,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -809,6 +815,8 @@ CONFIG_USB_ARCH_HAS_HCD=y
+ CONFIG_USB_ARCH_HAS_OHCI=y
+ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_USB is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -817,6 +825,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+@@ -868,11 +877,8 @@ CONFIG_RTC_DRV_DS1374=y
+ #
+ # on-CPU RTC drivers
+ #
++# CONFIG_RTC_DRV_PPC is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -892,7 +898,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -950,7 +955,6 @@ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -993,6 +997,7 @@ CONFIG_UCC=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -1003,6 +1008,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -1010,6 +1016,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1019,6 +1026,7 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_SAMPLES is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+ #
+@@ -1028,52 +1036,82 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=m
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-CONFIG_CRYPTO_ECB=m
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
+ CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/83xx/mpc837x_mds_defconfig b/arch/powerpc/configs/83xx/mpc837x_mds_defconfig
+index f377cde..0f94d9f 100644
+--- a/arch/powerpc/configs/83xx/mpc837x_mds_defconfig
++++ b/arch/powerpc/configs/83xx/mpc837x_mds_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:23 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:28 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -31,6 +31,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -86,6 +88,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+ CONFIG_HOTPLUG=y
+@@ -111,12 +114,14 @@ CONFIG_HAVE_OPROFILE=y
+ # CONFIG_KPROBES is not set
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+ # CONFIG_MODVERSIONS is not set
+@@ -211,11 +216,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -234,6 +241,7 @@ CONFIG_FSL_SOC=y
+ # CONFIG_PCI_SYSCALL is not set
+ # CONFIG_ARCH_SUPPORTS_MSI is not set
+ # CONFIG_PCCARD is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -243,11 +251,11 @@ CONFIG_FSL_SOC=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -295,8 +303,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -350,6 +356,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
+ # CONFIG_CONNECTOR is not set
+ # CONFIG_MTD is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -411,8 +418,10 @@ CONFIG_SCSI_LOWLEVEL=y
+ # CONFIG_SCSI_DEBUG is not set
+ CONFIG_ATA=y
+ # CONFIG_ATA_NONSTANDARD is not set
+-# CONFIG_SATA_MV is not set
++CONFIG_SATA_PMP=y
+ CONFIG_SATA_FSL=y
++CONFIG_ATA_SFF=y
++# CONFIG_SATA_MV is not set
+ # CONFIG_PATA_PLATFORM is not set
+ # CONFIG_MD is not set
+ # CONFIG_MACINTOSH_DRIVERS is not set
+@@ -459,6 +468,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_PPP is not set
+ # CONFIG_SLIP is not set
+@@ -503,6 +513,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ 
+ #
+@@ -537,13 +548,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ CONFIG_I2C_MPC=y
+@@ -552,6 +556,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_SIMTEC is not set
+ # CONFIG_I2C_TAOS_EVM is not set
+ # CONFIG_I2C_STUB is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -561,19 +566,13 @@ CONFIG_I2C_MPC=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -646,12 +645,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -680,6 +689,8 @@ CONFIG_USB_ARCH_HAS_HCD=y
+ # CONFIG_USB_ARCH_HAS_OHCI is not set
+ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_USB is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -688,13 +699,10 @@ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -714,7 +722,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -772,7 +779,6 @@ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -817,6 +823,7 @@ CONFIG_MSDOS_PARTITION=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -827,6 +834,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -834,6 +842,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -841,6 +850,7 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_DEBUG_KERNEL is not set
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_SAMPLES is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+ #
+@@ -850,50 +860,80 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=m
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-CONFIG_CRYPTO_ECB=m
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig b/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig
+index a633176..0d44855 100644
+--- a/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig
++++ b/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:24 2008
++# Linux kernel version: 2.6.26-rc5
++# Tue Jun 10 09:17:12 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -31,6 +31,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -86,6 +88,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+ CONFIG_HOTPLUG=y
+@@ -111,12 +114,14 @@ CONFIG_HAVE_OPROFILE=y
+ # CONFIG_KPROBES is not set
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+ # CONFIG_MODVERSIONS is not set
+@@ -211,11 +216,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -234,6 +241,7 @@ CONFIG_FSL_SOC=y
+ # CONFIG_PCI_SYSCALL is not set
+ # CONFIG_ARCH_SUPPORTS_MSI is not set
+ # CONFIG_PCCARD is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -243,11 +251,11 @@ CONFIG_FSL_SOC=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -290,8 +298,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -345,6 +351,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
+ # CONFIG_CONNECTOR is not set
+ # CONFIG_MTD is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -352,6 +359,7 @@ CONFIG_BLK_DEV=y
+ CONFIG_BLK_DEV_LOOP=y
+ # CONFIG_BLK_DEV_CRYPTOLOOP is not set
+ # CONFIG_BLK_DEV_NBD is not set
++# CONFIG_BLK_DEV_UB is not set
+ CONFIG_BLK_DEV_RAM=y
+ CONFIG_BLK_DEV_RAM_COUNT=16
+ CONFIG_BLK_DEV_RAM_SIZE=32768
+@@ -406,8 +414,10 @@ CONFIG_SCSI_LOWLEVEL=y
+ # CONFIG_SCSI_DEBUG is not set
+ CONFIG_ATA=y
+ # CONFIG_ATA_NONSTANDARD is not set
+-# CONFIG_SATA_MV is not set
++CONFIG_SATA_PMP=y
+ CONFIG_SATA_FSL=y
++CONFIG_ATA_SFF=y
++# CONFIG_SATA_MV is not set
+ # CONFIG_PATA_PLATFORM is not set
+ CONFIG_MD=y
+ CONFIG_BLK_DEV_MD=y
+@@ -444,7 +454,7 @@ CONFIG_MARVELL_PHY=y
+ # CONFIG_BROADCOM_PHY is not set
+ # CONFIG_ICPLUS_PHY is not set
+ # CONFIG_REALTEK_PHY is not set
+-# CONFIG_FIXED_PHY is not set
++CONFIG_FIXED_PHY=y
+ # CONFIG_MDIO_BITBANG is not set
+ CONFIG_NET_ETHERNET=y
+ CONFIG_MII=y
+@@ -464,6 +474,16 @@ CONFIG_GFAR_NAPI=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
++
++#
++# USB Network Adapters
++#
++# CONFIG_USB_CATC is not set
++# CONFIG_USB_KAWETH is not set
++# CONFIG_USB_PEGASUS is not set
++# CONFIG_USB_RTL8150 is not set
++# CONFIG_USB_USBNET is not set
+ # CONFIG_WAN is not set
+ # CONFIG_PPP is not set
+ # CONFIG_SLIP is not set
+@@ -508,6 +528,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ 
+ #
+@@ -542,13 +563,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ CONFIG_I2C_MPC=y
+@@ -557,6 +571,8 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_SIMTEC is not set
+ # CONFIG_I2C_TAOS_EVM is not set
+ # CONFIG_I2C_STUB is not set
++# CONFIG_I2C_TINY_USB is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -566,19 +582,13 @@ CONFIG_I2C_MPC=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -642,6 +652,11 @@ CONFIG_WATCHDOG=y
+ CONFIG_83xx_WDT=y
+ 
+ #
++# USB-based Watchdog Cards
++#
++# CONFIG_USBPCWATCHDOG is not set
++
++#
+ # Sonics Silicon Backplane
+ #
+ CONFIG_SSB_POSSIBLE=y
+@@ -651,13 +666,24 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
++# CONFIG_USB_DABUSB is not set
+ 
+ #
+ # Graphics support
+@@ -680,6 +706,14 @@ CONFIG_HID_SUPPORT=y
+ CONFIG_HID=y
+ # CONFIG_HID_DEBUG is not set
+ # CONFIG_HIDRAW is not set
++
++#
++# USB Input Devices
++#
++CONFIG_USB_HID=y
++# CONFIG_USB_HIDINPUT_POWERBOOK is not set
++# CONFIG_HID_FF is not set
++# CONFIG_USB_HIDDEV is not set
+ CONFIG_USB_SUPPORT=y
+ CONFIG_USB_ARCH_HAS_HCD=y
+ # CONFIG_USB_ARCH_HAS_OHCI is not set
+@@ -695,33 +729,83 @@ CONFIG_USB=y
+ CONFIG_USB_DEVICE_CLASS=y
+ # CONFIG_USB_DYNAMIC_MINORS is not set
+ # CONFIG_USB_OTG is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # USB Host Controller Drivers
+ #
++# CONFIG_USB_C67X00_HCD is not set
+ CONFIG_USB_EHCI_HCD=y
+ CONFIG_USB_EHCI_ROOT_HUB_TT=y
+ # CONFIG_USB_EHCI_TT_NEWSCHED is not set
+ CONFIG_USB_EHCI_FSL=y
+ CONFIG_USB_EHCI_HCD_PPC_OF=y
+ # CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_ISP1760_HCD is not set
+ # CONFIG_USB_SL811_HCD is not set
+ # CONFIG_USB_R8A66597_HCD is not set
+ 
+ #
++# USB Device Class drivers
++#
++# CONFIG_USB_ACM is not set
++# CONFIG_USB_PRINTER is not set
++# CONFIG_USB_WDM is not set
++
++#
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+ #
++
++#
++# may also be needed; see USB_STORAGE Help for more information
++#
++# CONFIG_USB_STORAGE is not set
++# CONFIG_USB_LIBUSUAL is not set
++
++#
++# USB Imaging devices
++#
++# CONFIG_USB_MDC800 is not set
++# CONFIG_USB_MICROTEK is not set
++CONFIG_USB_MON=y
++
++#
++# USB port drivers
++#
++# CONFIG_USB_SERIAL is not set
++
++#
++# USB Miscellaneous drivers
++#
++# CONFIG_USB_EMI62 is not set
++# CONFIG_USB_EMI26 is not set
++# CONFIG_USB_ADUTUX is not set
++# CONFIG_USB_AUERSWALD is not set
++# CONFIG_USB_RIO500 is not set
++# CONFIG_USB_LEGOTOWER is not set
++# CONFIG_USB_LCD is not set
++# CONFIG_USB_BERRY_CHARGE is not set
++# CONFIG_USB_LED is not set
++# CONFIG_USB_CYPRESS_CY7C63 is not set
++# CONFIG_USB_CYTHERM is not set
++# CONFIG_USB_PHIDGET is not set
++# CONFIG_USB_IDMOUSE is not set
++# CONFIG_USB_FTDI_ELAN is not set
++# CONFIG_USB_APPLEDISPLAY is not set
++# CONFIG_USB_SISUSBVGA is not set
++# CONFIG_USB_LD is not set
++# CONFIG_USB_TRANCEVIBRATOR is not set
++# CONFIG_USB_IOWARRIOR is not set
++# CONFIG_USB_ISIGHTFW is not set
+ # CONFIG_USB_GADGET is not set
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -741,7 +825,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -799,7 +882,6 @@ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -844,6 +926,7 @@ CONFIG_MSDOS_PARTITION=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -854,6 +937,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -861,6 +945,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ # CONFIG_ENABLE_MUST_CHECK is not set
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -868,6 +953,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
+ # CONFIG_DEBUG_KERNEL is not set
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_SAMPLES is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+ #
+@@ -881,50 +967,80 @@ CONFIG_ASYNC_CORE=y
+ CONFIG_ASYNC_MEMCPY=y
+ CONFIG_ASYNC_XOR=y
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=m
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-CONFIG_CRYPTO_ECB=m
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/83xx/sbc834x_defconfig b/arch/powerpc/configs/83xx/sbc834x_defconfig
+index 1f15182..1752918 100644
+--- a/arch/powerpc/configs/83xx/sbc834x_defconfig
++++ b/arch/powerpc/configs/83xx/sbc834x_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:38 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:30 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -31,6 +31,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -86,6 +88,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ # CONFIG_KALLSYMS is not set
+ CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+@@ -109,12 +112,14 @@ CONFIG_SLAB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+ # CONFIG_MODVERSIONS is not set
+@@ -209,11 +214,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -232,6 +239,7 @@ CONFIG_FSL_SOC=y
+ # CONFIG_PCI_SYSCALL is not set
+ # CONFIG_ARCH_SUPPORTS_MSI is not set
+ # CONFIG_PCCARD is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -241,11 +249,11 @@ CONFIG_FSL_SOC=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -293,8 +301,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -348,6 +354,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
+ # CONFIG_CONNECTOR is not set
+ # CONFIG_MTD is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -420,6 +427,7 @@ CONFIG_GIANFAR=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_PPP is not set
+ # CONFIG_SLIP is not set
+@@ -464,6 +472,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ 
+ #
+@@ -498,13 +507,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ CONFIG_I2C_MPC=y
+@@ -513,6 +515,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_SIMTEC is not set
+ # CONFIG_I2C_TAOS_EVM is not set
+ # CONFIG_I2C_STUB is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -522,19 +525,13 @@ CONFIG_I2C_MPC=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -607,12 +604,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ # CONFIG_DAB is not set
+ 
+ #
+@@ -640,13 +647,10 @@ CONFIG_HID=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -659,7 +663,6 @@ CONFIG_HID=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -717,7 +720,6 @@ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -746,6 +748,7 @@ CONFIG_MSDOS_PARTITION=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -756,6 +759,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -763,6 +767,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -770,6 +775,7 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_DEBUG_KERNEL is not set
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_SAMPLES is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+ #
+@@ -779,50 +785,80 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=m
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-CONFIG_CRYPTO_ECB=m
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ # CONFIG_CRYPTO_HW is not set
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/85xx/ksi8560_defconfig b/arch/powerpc/configs/85xx/ksi8560_defconfig
+index 2d0debc..b82bb04 100644
+--- a/arch/powerpc/configs/85xx/ksi8560_defconfig
++++ b/arch/powerpc/configs/85xx/ksi8560_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.24
+-# Mon Feb 11 16:25:19 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:30 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -32,6 +32,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -68,23 +70,22 @@ CONFIG_SYSVIPC_SYSCTL=y
+ # CONFIG_POSIX_MQUEUE is not set
+ # CONFIG_BSD_PROCESS_ACCT is not set
+ # CONFIG_TASKSTATS is not set
+-# CONFIG_USER_NS is not set
+-# CONFIG_PID_NS is not set
+ # CONFIG_AUDIT is not set
+ # CONFIG_IKCONFIG is not set
+ CONFIG_LOG_BUF_SHIFT=14
+ # CONFIG_CGROUPS is not set
+-CONFIG_FAIR_GROUP_SCHED=y
+-CONFIG_FAIR_USER_SCHED=y
+-# CONFIG_FAIR_CGROUP_SCHED is not set
++# CONFIG_GROUP_SCHED is not set
+ CONFIG_SYSFS_DEPRECATED=y
++CONFIG_SYSFS_DEPRECATED_V2=y
+ # CONFIG_RELAY is not set
++# CONFIG_NAMESPACES is not set
+ CONFIG_BLK_DEV_INITRD=y
+ CONFIG_INITRAMFS_SOURCE=""
+ # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ # CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+@@ -92,6 +93,7 @@ CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+ CONFIG_BUG=y
+ CONFIG_ELF_CORE=y
++CONFIG_COMPAT_BRK=y
+ CONFIG_BASE_FULL=y
+ CONFIG_FUTEX=y
+ CONFIG_ANON_INODES=y
+@@ -109,6 +111,8 @@ CONFIG_SLUB=y
+ # CONFIG_MARKERS is not set
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
++CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+@@ -134,7 +138,6 @@ CONFIG_DEFAULT_AS=y
+ # CONFIG_DEFAULT_NOOP is not set
+ CONFIG_DEFAULT_IOSCHED="anticipatory"
+ CONFIG_CLASSIC_RCU=y
+-# CONFIG_PREEMPT_RCU is not set
+ 
+ #
+ # Platform support
+@@ -191,12 +194,13 @@ CONFIG_HZ=250
+ CONFIG_PREEMPT_NONE=y
+ # CONFIG_PREEMPT_VOLUNTARY is not set
+ # CONFIG_PREEMPT is not set
+-CONFIG_RCU_TRACE=y
+ CONFIG_BINFMT_ELF=y
+ CONFIG_BINFMT_MISC=y
+ CONFIG_MATH_EMULATION=y
+ # CONFIG_IOMMU_HELPER is not set
+ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
++CONFIG_ARCH_HAS_WALK_MEMORY=y
++CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+ CONFIG_ARCH_FLATMEM_ENABLE=y
+ CONFIG_ARCH_POPULATES_NODE_MAP=y
+ CONFIG_SELECT_MEMORY_MODEL=y
+@@ -207,16 +211,17 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ # CONFIG_PROC_DEVICETREE is not set
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+ # CONFIG_SECCOMP is not set
+-CONFIG_WANT_DEVICE_TREE=y
+ CONFIG_ISA_DMA_API=y
+ 
+ #
+@@ -229,6 +234,7 @@ CONFIG_FSL_SOC=y
+ # CONFIG_PCI_SYSCALL is not set
+ # CONFIG_ARCH_SUPPORTS_MSI is not set
+ # CONFIG_PCCARD is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -238,11 +244,12 @@ CONFIG_FSL_SOC=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
++CONFIG_PHYSICAL_ALIGN=0x10000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -290,8 +297,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -351,6 +356,8 @@ CONFIG_MTD_CONCAT=y
+ CONFIG_MTD_PARTITIONS=y
+ # CONFIG_MTD_REDBOOT_PARTS is not set
+ # CONFIG_MTD_CMDLINE_PARTS is not set
++# CONFIG_MTD_OF_PARTS is not set
++# CONFIG_MTD_AR7_PARTS is not set
+ 
+ #
+ # User Modules And Translation Layers
+@@ -430,17 +437,19 @@ CONFIG_BLK_DEV_LOOP=y
+ CONFIG_BLK_DEV_RAM=y
+ CONFIG_BLK_DEV_RAM_COUNT=16
+ CONFIG_BLK_DEV_RAM_SIZE=32768
+-CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
++# CONFIG_BLK_DEV_XIP is not set
+ # CONFIG_CDROM_PKTCDVD is not set
+ # CONFIG_ATA_OVER_ETH is not set
+ CONFIG_MISC_DEVICES=y
+ # CONFIG_EEPROM_93CX6 is not set
++# CONFIG_ENCLOSURE_SERVICES is not set
++CONFIG_HAVE_IDE=y
+ CONFIG_IDE=y
+ CONFIG_IDE_MAX_HWIFS=4
+ CONFIG_BLK_DEV_IDE=y
+ 
+ #
+-# Please see Documentation/ide.txt for help/info on IDE drives
++# Please see Documentation/ide/ide.txt for help/info on IDE drives
+ #
+ # CONFIG_BLK_DEV_IDE_SATA is not set
+ # CONFIG_BLK_DEV_IDEDISK is not set
+@@ -457,7 +466,7 @@ CONFIG_IDE_PROC_FS=y
+ CONFIG_IDE_GENERIC=y
+ # CONFIG_BLK_DEV_PLATFORM is not set
+ # CONFIG_BLK_DEV_IDEDMA is not set
+-CONFIG_IDE_ARCH_OBSOLETE_INIT=y
++# CONFIG_BLK_DEV_HD_ONLY is not set
+ # CONFIG_BLK_DEV_HD is not set
+ 
+ #
+@@ -517,6 +526,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_PPP is not set
+ # CONFIG_SLIP is not set
+@@ -561,6 +571,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ 
+ #
+@@ -594,12 +605,7 @@ CONFIG_GEN_RTC=y
+ # CONFIG_RAW_DRIVER is not set
+ # CONFIG_TCG_TPM is not set
+ # CONFIG_I2C is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -615,6 +621,7 @@ CONFIG_HWMON=y
+ # CONFIG_SENSORS_W83627HF is not set
+ # CONFIG_SENSORS_W83627EHF is not set
+ # CONFIG_HWMON_DEBUG_CHIP is not set
++# CONFIG_THERMAL is not set
+ # CONFIG_WATCHDOG is not set
+ 
+ #
+@@ -627,12 +634,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -660,19 +677,20 @@ CONFIG_USB_SUPPORT=y
+ # CONFIG_USB_ARCH_HAS_HCD is not set
+ # CONFIG_USB_ARCH_HAS_OHCI is not set
+ # CONFIG_USB_ARCH_HAS_EHCI is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+ #
+ # CONFIG_USB_GADGET is not set
+ # CONFIG_MMC is not set
++# CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+-
+-#
+-# Userspace I/O
+-#
++# CONFIG_DMADEVICES is not set
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -693,14 +711,11 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+-# CONFIG_MINIX_FS is not set
+-# CONFIG_ROMFS_FS is not set
++CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+ CONFIG_INOTIFY_USER=y
+ # CONFIG_QUOTA is not set
+-CONFIG_DNOTIFY=y
+ # CONFIG_AUTOFS_FS is not set
+ # CONFIG_AUTOFS4_FS is not set
+ # CONFIG_FUSE_FS is not set
+@@ -743,15 +758,16 @@ CONFIG_TMPFS=y
+ # CONFIG_JFFS2_FS is not set
+ # CONFIG_CRAMFS is not set
+ # CONFIG_VXFS_FS is not set
++# CONFIG_MINIX_FS is not set
+ # CONFIG_HPFS_FS is not set
+ # CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
+ # CONFIG_SYSV_FS is not set
+ # CONFIG_UFS_FS is not set
+ CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ # CONFIG_NFS_V3 is not set
+ # CONFIG_NFS_V4 is not set
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -790,6 +806,7 @@ CONFIG_PARTITION_ADVANCED=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -800,6 +817,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -807,6 +825,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ CONFIG_DEBUG_FS=y
+@@ -817,7 +836,9 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_SLUB_DEBUG_ON is not set
++# CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_RT_MUTEXES is not set
+ # CONFIG_RT_MUTEX_TESTER is not set
+ # CONFIG_DEBUG_SPINLOCK is not set
+@@ -829,9 +850,9 @@ CONFIG_DEBUG_MUTEXES=y
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_DEBUG_INFO is not set
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+-CONFIG_FORCED_INLINING=y
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+ # CONFIG_BACKTRACE_SELF_TEST is not set
+ # CONFIG_FAULT_INJECTION is not set
+@@ -841,6 +862,7 @@ CONFIG_FORCED_INLINING=y
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
+ # CONFIG_KGDB_CONSOLE is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_VIRQ_DEBUG is not set
+ # CONFIG_BDI_SWITCH is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+@@ -852,48 +874,78 @@ CONFIG_FORCED_INLINING=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
+-# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Crypto core or helper
++#
+ # CONFIG_CRYPTO_MANAGER is not set
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++# CONFIG_CRYPTO_CBC is not set
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++# CONFIG_CRYPTO_PCBC is not set
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ # CONFIG_CRYPTO_MD5 is not set
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-# CONFIG_CRYPTO_CBC is not set
+-# CONFIG_CRYPTO_PCBC is not set
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-# CONFIG_CRYPTO_DES is not set
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES is not set
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_PPC_CLOCK is not set
+ CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/85xx/mpc8540_ads_defconfig b/arch/powerpc/configs/85xx/mpc8540_ads_defconfig
+index b998539..f33fd51 100644
+--- a/arch/powerpc/configs/85xx/mpc8540_ads_defconfig
++++ b/arch/powerpc/configs/85xx/mpc8540_ads_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:25 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:31 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -32,6 +32,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -87,6 +89,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ # CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+@@ -113,6 +116,7 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+@@ -153,6 +157,7 @@ CONFIG_MPC8540_ADS=y
+ # CONFIG_MPC85xx_CDS is not set
+ # CONFIG_MPC85xx_MDS is not set
+ # CONFIG_MPC85xx_DS is not set
++# CONFIG_KSI8560 is not set
+ # CONFIG_STX_GP3 is not set
+ # CONFIG_TQM8540 is not set
+ # CONFIG_TQM8541 is not set
+@@ -208,11 +213,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -229,6 +236,7 @@ CONFIG_FSL_SOC=y
+ # CONFIG_PCI_SYSCALL is not set
+ # CONFIG_ARCH_SUPPORTS_MSI is not set
+ # CONFIG_PCCARD is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -238,11 +246,12 @@ CONFIG_FSL_SOC=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
++CONFIG_PHYSICAL_ALIGN=0x10000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -290,8 +299,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -419,6 +426,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_PPP is not set
+ # CONFIG_SLIP is not set
+@@ -463,6 +471,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ 
+ #
+@@ -494,12 +503,7 @@ CONFIG_GEN_RTC=y
+ # CONFIG_RAW_DRIVER is not set
+ # CONFIG_TCG_TPM is not set
+ # CONFIG_I2C is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -528,12 +532,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -561,6 +575,8 @@ CONFIG_USB_SUPPORT=y
+ # CONFIG_USB_ARCH_HAS_HCD is not set
+ # CONFIG_USB_ARCH_HAS_OHCI is not set
+ # CONFIG_USB_ARCH_HAS_EHCI is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -569,13 +585,10 @@ CONFIG_USB_SUPPORT=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -595,7 +608,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -652,7 +664,6 @@ CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ # CONFIG_NFS_V3 is not set
+ # CONFIG_NFS_V4 is not set
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -691,6 +702,7 @@ CONFIG_PARTITION_ADVANCED=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -701,6 +713,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -708,6 +721,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -718,6 +732,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_SLUB_DEBUG_ON is not set
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_RT_MUTEXES is not set
+@@ -730,6 +745,7 @@ CONFIG_DEBUG_MUTEXES=y
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_DEBUG_INFO is not set
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -740,6 +756,7 @@ CONFIG_DEBUG_MUTEXES=y
+ # CONFIG_DEBUG_STACK_USAGE is not set
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_BDI_SWITCH is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+@@ -750,47 +767,77 @@ CONFIG_DEBUG_MUTEXES=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
+-# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Crypto core or helper
++#
+ # CONFIG_CRYPTO_MANAGER is not set
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++# CONFIG_CRYPTO_CBC is not set
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++# CONFIG_CRYPTO_PCBC is not set
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ # CONFIG_CRYPTO_MD5 is not set
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-# CONFIG_CRYPTO_CBC is not set
+-# CONFIG_CRYPTO_PCBC is not set
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-# CONFIG_CRYPTO_DES is not set
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES is not set
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/85xx/mpc8544_ds_defconfig b/arch/powerpc/configs/85xx/mpc8544_ds_defconfig
+index a9f113b..042a85e 100644
+--- a/arch/powerpc/configs/85xx/mpc8544_ds_defconfig
++++ b/arch/powerpc/configs/85xx/mpc8544_ds_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc7
+-# Mon Mar 31 11:37:03 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:32 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -32,6 +32,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -90,6 +92,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ CONFIG_KALLSYMS_ALL=y
+ CONFIG_KALLSYMS_EXTRA_PASS=y
+@@ -117,12 +120,14 @@ CONFIG_HAVE_OPROFILE=y
+ # CONFIG_KPROBES is not set
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ CONFIG_MODULE_FORCE_UNLOAD=y
+ CONFIG_MODVERSIONS=y
+@@ -203,7 +208,6 @@ CONFIG_PREEMPT_NONE=y
+ # CONFIG_PREEMPT is not set
+ CONFIG_BINFMT_ELF=y
+ CONFIG_BINFMT_MISC=m
+-CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_MATH_EMULATION=y
+ # CONFIG_IOMMU_HELPER is not set
+ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+@@ -219,11 +223,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -248,6 +254,7 @@ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCI_DEBUG is not set
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -257,11 +264,12 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
++CONFIG_PHYSICAL_ALIGN=0x10000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -332,8 +340,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=y
+ CONFIG_INET6_XFRM_MODE_BEET=y
+ # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+ CONFIG_IPV6_SIT=y
++CONFIG_IPV6_NDISC_NODETYPE=y
+ # CONFIG_IPV6_TUNNEL is not set
+ # CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_IPV6_MROUTE is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -395,6 +405,7 @@ CONFIG_FW_LOADER=y
+ # CONFIG_CONNECTOR is not set
+ # CONFIG_MTD is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -501,7 +512,11 @@ CONFIG_SCSI_LOWLEVEL=y
+ # CONFIG_SCSI_SRP is not set
+ CONFIG_ATA=y
+ # CONFIG_ATA_NONSTANDARD is not set
++CONFIG_SATA_PMP=y
+ CONFIG_SATA_AHCI=y
++# CONFIG_SATA_SIL24 is not set
++# CONFIG_SATA_FSL is not set
++CONFIG_ATA_SFF=y
+ # CONFIG_SATA_SVW is not set
+ # CONFIG_ATA_PIIX is not set
+ # CONFIG_SATA_MV is not set
+@@ -511,13 +526,11 @@ CONFIG_SATA_AHCI=y
+ # CONFIG_SATA_PROMISE is not set
+ # CONFIG_SATA_SX4 is not set
+ # CONFIG_SATA_SIL is not set
+-# CONFIG_SATA_SIL24 is not set
+ # CONFIG_SATA_SIS is not set
+ # CONFIG_SATA_ULI is not set
+ # CONFIG_SATA_VIA is not set
+ # CONFIG_SATA_VITESSE is not set
+ # CONFIG_SATA_INIC162X is not set
+-# CONFIG_SATA_FSL is not set
+ CONFIG_PATA_ALI=y
+ # CONFIG_PATA_AMD is not set
+ # CONFIG_PATA_ARTOP is not set
+@@ -557,6 +570,7 @@ CONFIG_PATA_ALI=y
+ # CONFIG_PATA_VIA is not set
+ # CONFIG_PATA_WINBOND is not set
+ # CONFIG_PATA_PLATFORM is not set
++# CONFIG_PATA_SCH is not set
+ # CONFIG_MD is not set
+ # CONFIG_FUSION is not set
+ 
+@@ -622,7 +636,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -642,6 +655,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -649,6 +663,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ 
+ #
+ # USB Network Adapters
+@@ -713,6 +728,7 @@ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
+ # CONFIG_VT_HW_CONSOLE_BINDING is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -744,7 +760,6 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ # CONFIG_HW_RANDOM is not set
+ CONFIG_NVRAM=y
+-# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -755,13 +770,6 @@ CONFIG_I2C_BOARDINFO=y
+ # CONFIG_I2C_CHARDEV is not set
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -788,6 +796,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -797,19 +806,13 @@ CONFIG_SENSORS_EEPROM=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ # CONFIG_HWMON is not set
+@@ -826,13 +829,33 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ CONFIG_DVB_CORE=m
+-# CONFIG_DVB_CORE_ATTACH is not set
++CONFIG_VIDEO_MEDIA=m
++
++#
++# Multimedia drivers
++#
++# CONFIG_MEDIA_ATTACH is not set
++CONFIG_MEDIA_TUNER=m
++# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
++CONFIG_MEDIA_TUNER_SIMPLE=m
++CONFIG_MEDIA_TUNER_TDA8290=m
++CONFIG_MEDIA_TUNER_TDA9887=m
++CONFIG_MEDIA_TUNER_TEA5761=m
++CONFIG_MEDIA_TUNER_TEA5767=m
++CONFIG_MEDIA_TUNER_MT20XX=m
++CONFIG_MEDIA_TUNER_XC2028=m
++CONFIG_MEDIA_TUNER_XC5000=m
+ CONFIG_DVB_CAPTURE_DRIVERS=y
+ 
+ #
+@@ -875,14 +898,17 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
+ #
+ # DVB-S (satellite) frontends
+ #
+-# CONFIG_DVB_STV0299 is not set
+ # CONFIG_DVB_CX24110 is not set
+ # CONFIG_DVB_CX24123 is not set
+-# CONFIG_DVB_TDA8083 is not set
+ # CONFIG_DVB_MT312 is not set
+-# CONFIG_DVB_VES1X93 is not set
+ # CONFIG_DVB_S5H1420 is not set
++# CONFIG_DVB_STV0299 is not set
++# CONFIG_DVB_TDA8083 is not set
+ # CONFIG_DVB_TDA10086 is not set
++# CONFIG_DVB_VES1X93 is not set
++# CONFIG_DVB_TUNER_ITD1000 is not set
++# CONFIG_DVB_TDA826X is not set
++# CONFIG_DVB_TUA6100 is not set
+ 
+ #
+ # DVB-T (terrestrial) frontends
+@@ -900,6 +926,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
+ # CONFIG_DVB_DIB3000MC is not set
+ # CONFIG_DVB_DIB7000M is not set
+ # CONFIG_DVB_DIB7000P is not set
++# CONFIG_DVB_TDA10048 is not set
+ 
+ #
+ # DVB-C (cable) frontends
+@@ -918,27 +945,21 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
+ # CONFIG_DVB_BCM3510 is not set
+ # CONFIG_DVB_LGDT330X is not set
+ # CONFIG_DVB_S5H1409 is not set
++# CONFIG_DVB_AU8522 is not set
++# CONFIG_DVB_S5H1411 is not set
+ 
+ #
+-# Tuners/PLL support
++# Digital terrestrial only tuners/PLL
+ #
+ # CONFIG_DVB_PLL is not set
+-# CONFIG_DVB_TDA826X is not set
+-# CONFIG_DVB_TDA827X is not set
+-# CONFIG_DVB_TDA18271 is not set
+-# CONFIG_DVB_TUNER_QT1010 is not set
+-# CONFIG_DVB_TUNER_MT2060 is not set
+-# CONFIG_DVB_TUNER_MT2266 is not set
+-# CONFIG_DVB_TUNER_MT2131 is not set
+ # CONFIG_DVB_TUNER_DIB0070 is not set
+-# CONFIG_DVB_TUNER_XC5000 is not set
+ 
+ #
+-# Miscellaneous devices
++# SEC control devices for DVB-S
+ #
+ # CONFIG_DVB_LNBP21 is not set
++# CONFIG_DVB_ISL6405 is not set
+ # CONFIG_DVB_ISL6421 is not set
+-# CONFIG_DVB_TUA6100 is not set
+ CONFIG_DAB=y
+ # CONFIG_USB_DABUSB is not set
+ 
+@@ -1005,6 +1026,7 @@ CONFIG_SND_AC97_CODEC=y
+ # CONFIG_SND_AU8810 is not set
+ # CONFIG_SND_AU8820 is not set
+ # CONFIG_SND_AU8830 is not set
++# CONFIG_SND_AW2 is not set
+ # CONFIG_SND_AZT3328 is not set
+ # CONFIG_SND_BT87X is not set
+ # CONFIG_SND_CA0106 is not set
+@@ -1079,11 +1101,11 @@ CONFIG_SND_INTEL8X0=y
+ # CONFIG_SND_SOC is not set
+ 
+ #
+-# SoC Audio support for SuperH
++# ALSA SoC audio for Freescale SOCs
+ #
+ 
+ #
+-# ALSA SoC audio for Freescale SOCs
++# SoC Audio for the Texas Instruments OMAP
+ #
+ 
+ #
+@@ -1118,16 +1140,20 @@ CONFIG_USB_DEVICEFS=y
+ CONFIG_USB_DEVICE_CLASS=y
+ # CONFIG_USB_DYNAMIC_MINORS is not set
+ # CONFIG_USB_OTG is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # USB Host Controller Drivers
+ #
++# CONFIG_USB_C67X00_HCD is not set
+ CONFIG_USB_EHCI_HCD=y
+ # CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+ # CONFIG_USB_EHCI_TT_NEWSCHED is not set
+ # CONFIG_USB_EHCI_FSL is not set
+ CONFIG_USB_EHCI_HCD_PPC_OF=y
+ # CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_ISP1760_HCD is not set
+ CONFIG_USB_OHCI_HCD=y
+ CONFIG_USB_OHCI_HCD_PPC_OF=y
+ CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
+@@ -1145,6 +1171,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+ #
+ # CONFIG_USB_ACM is not set
+ # CONFIG_USB_PRINTER is not set
++# CONFIG_USB_WDM is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -1164,7 +1191,9 @@ CONFIG_USB_STORAGE=y
+ # CONFIG_USB_STORAGE_SDDR55 is not set
+ # CONFIG_USB_STORAGE_JUMPSHOT is not set
+ # CONFIG_USB_STORAGE_ALAUDA is not set
++# CONFIG_USB_STORAGE_ONETOUCH is not set
+ # CONFIG_USB_STORAGE_KARMA is not set
++# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+ # CONFIG_USB_LIBUSUAL is not set
+ 
+ #
+@@ -1202,10 +1231,12 @@ CONFIG_USB_MON=y
+ # CONFIG_USB_TRANCEVIBRATOR is not set
+ # CONFIG_USB_IOWARRIOR is not set
+ # CONFIG_USB_TEST is not set
++# CONFIG_USB_ISIGHTFW is not set
+ # CONFIG_USB_GADGET is not set
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+@@ -1257,23 +1288,19 @@ CONFIG_RTC_DRV_CMOS=y
+ #
+ # on-CPU RTC drivers
+ #
++# CONFIG_RTC_DRV_PPC is not set
+ CONFIG_DMADEVICES=y
+ 
+ #
+ # DMA Devices
+ #
+ CONFIG_FSL_DMA=y
+-# CONFIG_FSL_DMA_SELFTEST is not set
+ CONFIG_DMA_ENGINE=y
+ 
+ #
+ # DMA Clients
+ #
+ # CONFIG_NET_DMA is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -1293,7 +1320,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -1363,10 +1389,9 @@ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+-# CONFIG_NFS_DIRECTIO is not set
+ CONFIG_NFSD=y
+ # CONFIG_NFSD_V3 is not set
+-CONFIG_NFSD_TCP=y
++# CONFIG_NFSD_V4 is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+ CONFIG_LOCKD_V4=y
+@@ -1450,9 +1475,10 @@ CONFIG_NLS_UTF8=m
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+-# CONFIG_CRC_ITU_T is not set
++CONFIG_CRC_ITU_T=m
+ CONFIG_CRC32=y
+ # CONFIG_CRC7 is not set
+ CONFIG_LIBCRC32C=m
+@@ -1469,6 +1495,7 @@ CONFIG_HAVE_LMB=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1479,6 +1506,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_SLUB_DEBUG_ON is not set
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_RT_MUTEXES is not set
+@@ -1492,6 +1520,7 @@ CONFIG_SCHED_DEBUG=y
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -1503,6 +1532,7 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_STACK_USAGE is not set
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_BDI_SWITCH is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+@@ -1513,52 +1543,82 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_HASH=y
+ CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ CONFIG_CRYPTO_HMAC=y
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ CONFIG_CRYPTO_SHA1=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_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/85xx/mpc8560_ads_defconfig b/arch/powerpc/configs/85xx/mpc8560_ads_defconfig
+index 851ac91..e19592b 100644
+--- a/arch/powerpc/configs/85xx/mpc8560_ads_defconfig
++++ b/arch/powerpc/configs/85xx/mpc8560_ads_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:27 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:33 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -32,6 +32,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -87,6 +89,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ # CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+@@ -113,6 +116,7 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+@@ -153,6 +157,7 @@ CONFIG_MPC8560_ADS=y
+ # CONFIG_MPC85xx_CDS is not set
+ # CONFIG_MPC85xx_MDS is not set
+ # CONFIG_MPC85xx_DS is not set
++# CONFIG_KSI8560 is not set
+ # CONFIG_STX_GP3 is not set
+ # CONFIG_TQM8540 is not set
+ # CONFIG_TQM8541 is not set
+@@ -210,11 +215,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ # CONFIG_PROC_DEVICETREE is not set
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -238,6 +245,7 @@ CONFIG_PCI_LEGACY=y
+ CONFIG_PCI_DEBUG=y
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -247,11 +255,12 @@ CONFIG_PCI_DEBUG=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
++CONFIG_PHYSICAL_ALIGN=0x10000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -299,8 +308,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -462,7 +469,6 @@ CONFIG_E1000_NAPI=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -482,6 +488,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -489,6 +496,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+ # CONFIG_HIPPI is not set
+@@ -535,6 +543,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -572,12 +581,7 @@ CONFIG_GEN_RTC=y
+ # CONFIG_TCG_TPM is not set
+ CONFIG_DEVPORT=y
+ # CONFIG_I2C is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -610,12 +614,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -646,6 +660,8 @@ CONFIG_USB_ARCH_HAS_HCD=y
+ CONFIG_USB_ARCH_HAS_OHCI=y
+ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_USB is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -654,14 +670,11 @@ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -681,7 +694,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -738,7 +750,6 @@ CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ # CONFIG_NFS_V3 is not set
+ # CONFIG_NFS_V4 is not set
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -777,6 +788,7 @@ CONFIG_PARTITION_ADVANCED=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -787,6 +799,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -794,6 +807,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -804,6 +818,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_SLUB_DEBUG_ON is not set
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_RT_MUTEXES is not set
+@@ -816,6 +831,7 @@ CONFIG_DEBUG_MUTEXES=y
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_DEBUG_INFO is not set
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -827,6 +843,7 @@ CONFIG_DEBUG_MUTEXES=y
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
+ # CONFIG_KGDB_CONSOLE is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_BDI_SWITCH is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+@@ -837,49 +854,79 @@ CONFIG_DEBUG_MUTEXES=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
+-# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Crypto core or helper
++#
+ # CONFIG_CRYPTO_MANAGER is not set
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++# CONFIG_CRYPTO_CBC is not set
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++# CONFIG_CRYPTO_PCBC is not set
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ # CONFIG_CRYPTO_MD5 is not set
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-# CONFIG_CRYPTO_CBC is not set
+-# CONFIG_CRYPTO_PCBC is not set
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-# CONFIG_CRYPTO_DES is not set
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES is not set
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
+ CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/85xx/mpc8568mds_defconfig b/arch/powerpc/configs/85xx/mpc8568mds_defconfig
+index 2b866b3..28004e9 100644
+--- a/arch/powerpc/configs/85xx/mpc8568mds_defconfig
++++ b/arch/powerpc/configs/85xx/mpc8568mds_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc7
+-# Mon Mar 31 11:37:05 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:34 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -32,6 +32,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -87,6 +89,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ # CONFIG_KALLSYMS is not set
+ CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+@@ -111,12 +114,14 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+ # CONFIG_MODVERSIONS is not set
+@@ -156,6 +161,7 @@ CONFIG_MPC85xx=y
+ # CONFIG_MPC85xx_CDS is not set
+ CONFIG_MPC85xx_MDS=y
+ # CONFIG_MPC85xx_DS is not set
++# CONFIG_KSI8560 is not set
+ # CONFIG_STX_GP3 is not set
+ # CONFIG_TQM8540 is not set
+ # CONFIG_TQM8541 is not set
+@@ -212,11 +218,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -240,6 +248,7 @@ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCI_DEBUG is not set
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -249,11 +258,12 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
++CONFIG_PHYSICAL_ALIGN=0x10000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -301,8 +311,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -358,6 +366,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
+ # CONFIG_CONNECTOR is not set
+ # CONFIG_MTD is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -525,7 +534,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -546,6 +554,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -553,6 +562,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+ # CONFIG_HIPPI is not set
+@@ -600,6 +610,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -629,7 +640,6 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ CONFIG_HW_RANDOM=y
+ # CONFIG_NVRAM is not set
+-# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -640,13 +650,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -672,6 +675,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -681,19 +685,13 @@ CONFIG_I2C_MPC=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -776,12 +774,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -812,6 +820,8 @@ CONFIG_USB_ARCH_HAS_HCD=y
+ CONFIG_USB_ARCH_HAS_OHCI=y
+ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_USB is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -820,6 +830,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+@@ -871,11 +882,8 @@ CONFIG_RTC_DRV_DS1374=y
+ #
+ # on-CPU RTC drivers
+ #
++# CONFIG_RTC_DRV_PPC is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -895,7 +903,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -953,7 +960,6 @@ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -994,6 +1000,7 @@ CONFIG_PARTITION_ADVANCED=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -1004,6 +1011,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -1011,6 +1019,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1021,6 +1030,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_SLUB_DEBUG_ON is not set
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_RT_MUTEXES is not set
+@@ -1033,6 +1043,7 @@ CONFIG_SCHED_DEBUG=y
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_DEBUG_INFO is not set
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -1045,6 +1056,7 @@ CONFIG_SCHED_DEBUG=y
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ CONFIG_DEBUGGER=y
+ # CONFIG_XMON is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_BDI_SWITCH is not set
+ CONFIG_PPC_EARLY_DEBUG=y
+ # CONFIG_PPC_EARLY_DEBUG_LPAR is not set
+@@ -1066,52 +1078,82 @@ CONFIG_PPC_EARLY_DEBUG=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=m
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-CONFIG_CRYPTO_ECB=m
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
+ CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/85xx/mpc8572_ds_defconfig b/arch/powerpc/configs/85xx/mpc8572_ds_defconfig
+index 53aa6f3..03627cf 100644
+--- a/arch/powerpc/configs/85xx/mpc8572_ds_defconfig
++++ b/arch/powerpc/configs/85xx/mpc8572_ds_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc7
+-# Mon Mar 31 11:37:06 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:35 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -32,6 +32,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -90,6 +92,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ CONFIG_KALLSYMS_ALL=y
+ CONFIG_KALLSYMS_EXTRA_PASS=y
+@@ -117,12 +120,14 @@ CONFIG_HAVE_OPROFILE=y
+ # CONFIG_KPROBES is not set
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ CONFIG_MODULE_FORCE_UNLOAD=y
+ CONFIG_MODVERSIONS=y
+@@ -162,6 +167,7 @@ CONFIG_MPC85xx=y
+ # CONFIG_MPC85xx_CDS is not set
+ # CONFIG_MPC85xx_MDS is not set
+ CONFIG_MPC85xx_DS=y
++# CONFIG_KSI8560 is not set
+ # CONFIG_STX_GP3 is not set
+ # CONFIG_TQM8540 is not set
+ # CONFIG_TQM8541 is not set
+@@ -217,11 +223,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -246,6 +254,7 @@ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCI_DEBUG is not set
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -255,11 +264,12 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
++CONFIG_PHYSICAL_ALIGN=0x10000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -330,8 +340,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=y
+ CONFIG_INET6_XFRM_MODE_BEET=y
+ # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+ CONFIG_IPV6_SIT=y
++CONFIG_IPV6_NDISC_NODETYPE=y
+ # CONFIG_IPV6_TUNNEL is not set
+ # CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_IPV6_MROUTE is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -393,6 +405,7 @@ CONFIG_FW_LOADER=y
+ # CONFIG_CONNECTOR is not set
+ # CONFIG_MTD is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -499,7 +512,11 @@ CONFIG_SCSI_LOWLEVEL=y
+ # CONFIG_SCSI_SRP is not set
+ CONFIG_ATA=y
+ # CONFIG_ATA_NONSTANDARD is not set
++CONFIG_SATA_PMP=y
+ CONFIG_SATA_AHCI=y
++# CONFIG_SATA_SIL24 is not set
++# CONFIG_SATA_FSL is not set
++CONFIG_ATA_SFF=y
+ # CONFIG_SATA_SVW is not set
+ # CONFIG_ATA_PIIX is not set
+ # CONFIG_SATA_MV is not set
+@@ -509,13 +526,11 @@ CONFIG_SATA_AHCI=y
+ # CONFIG_SATA_PROMISE is not set
+ # CONFIG_SATA_SX4 is not set
+ # CONFIG_SATA_SIL is not set
+-# CONFIG_SATA_SIL24 is not set
+ # CONFIG_SATA_SIS is not set
+ # CONFIG_SATA_ULI is not set
+ # CONFIG_SATA_VIA is not set
+ # CONFIG_SATA_VITESSE is not set
+ # CONFIG_SATA_INIC162X is not set
+-# CONFIG_SATA_FSL is not set
+ CONFIG_PATA_ALI=y
+ # CONFIG_PATA_AMD is not set
+ # CONFIG_PATA_ARTOP is not set
+@@ -555,6 +570,7 @@ CONFIG_PATA_ALI=y
+ # CONFIG_PATA_VIA is not set
+ # CONFIG_PATA_WINBOND is not set
+ # CONFIG_PATA_PLATFORM is not set
++# CONFIG_PATA_SCH is not set
+ # CONFIG_MD is not set
+ # CONFIG_FUSION is not set
+ 
+@@ -620,7 +636,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -640,6 +655,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -647,6 +663,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ 
+ #
+ # USB Network Adapters
+@@ -711,6 +728,7 @@ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
+ # CONFIG_VT_HW_CONSOLE_BINDING is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -742,7 +760,6 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ # CONFIG_HW_RANDOM is not set
+ CONFIG_NVRAM=y
+-# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -753,13 +770,6 @@ CONFIG_I2C_BOARDINFO=y
+ # CONFIG_I2C_CHARDEV is not set
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -786,6 +796,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -795,19 +806,13 @@ CONFIG_SENSORS_EEPROM=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ # CONFIG_HWMON is not set
+@@ -824,13 +829,33 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ CONFIG_DVB_CORE=m
+-# CONFIG_DVB_CORE_ATTACH is not set
++CONFIG_VIDEO_MEDIA=m
++
++#
++# Multimedia drivers
++#
++# CONFIG_MEDIA_ATTACH is not set
++CONFIG_MEDIA_TUNER=m
++# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
++CONFIG_MEDIA_TUNER_SIMPLE=m
++CONFIG_MEDIA_TUNER_TDA8290=m
++CONFIG_MEDIA_TUNER_TDA9887=m
++CONFIG_MEDIA_TUNER_TEA5761=m
++CONFIG_MEDIA_TUNER_TEA5767=m
++CONFIG_MEDIA_TUNER_MT20XX=m
++CONFIG_MEDIA_TUNER_XC2028=m
++CONFIG_MEDIA_TUNER_XC5000=m
+ CONFIG_DVB_CAPTURE_DRIVERS=y
+ 
+ #
+@@ -873,14 +898,17 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
+ #
+ # DVB-S (satellite) frontends
+ #
+-# CONFIG_DVB_STV0299 is not set
+ # CONFIG_DVB_CX24110 is not set
+ # CONFIG_DVB_CX24123 is not set
+-# CONFIG_DVB_TDA8083 is not set
+ # CONFIG_DVB_MT312 is not set
+-# CONFIG_DVB_VES1X93 is not set
+ # CONFIG_DVB_S5H1420 is not set
++# CONFIG_DVB_STV0299 is not set
++# CONFIG_DVB_TDA8083 is not set
+ # CONFIG_DVB_TDA10086 is not set
++# CONFIG_DVB_VES1X93 is not set
++# CONFIG_DVB_TUNER_ITD1000 is not set
++# CONFIG_DVB_TDA826X is not set
++# CONFIG_DVB_TUA6100 is not set
+ 
+ #
+ # DVB-T (terrestrial) frontends
+@@ -898,6 +926,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
+ # CONFIG_DVB_DIB3000MC is not set
+ # CONFIG_DVB_DIB7000M is not set
+ # CONFIG_DVB_DIB7000P is not set
++# CONFIG_DVB_TDA10048 is not set
+ 
+ #
+ # DVB-C (cable) frontends
+@@ -916,27 +945,21 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
+ # CONFIG_DVB_BCM3510 is not set
+ # CONFIG_DVB_LGDT330X is not set
+ # CONFIG_DVB_S5H1409 is not set
++# CONFIG_DVB_AU8522 is not set
++# CONFIG_DVB_S5H1411 is not set
+ 
+ #
+-# Tuners/PLL support
++# Digital terrestrial only tuners/PLL
+ #
+ # CONFIG_DVB_PLL is not set
+-# CONFIG_DVB_TDA826X is not set
+-# CONFIG_DVB_TDA827X is not set
+-# CONFIG_DVB_TDA18271 is not set
+-# CONFIG_DVB_TUNER_QT1010 is not set
+-# CONFIG_DVB_TUNER_MT2060 is not set
+-# CONFIG_DVB_TUNER_MT2266 is not set
+-# CONFIG_DVB_TUNER_MT2131 is not set
+ # CONFIG_DVB_TUNER_DIB0070 is not set
+-# CONFIG_DVB_TUNER_XC5000 is not set
+ 
+ #
+-# Miscellaneous devices
++# SEC control devices for DVB-S
+ #
+ # CONFIG_DVB_LNBP21 is not set
++# CONFIG_DVB_ISL6405 is not set
+ # CONFIG_DVB_ISL6421 is not set
+-# CONFIG_DVB_TUA6100 is not set
+ CONFIG_DAB=y
+ # CONFIG_USB_DABUSB is not set
+ 
+@@ -1003,6 +1026,7 @@ CONFIG_SND_AC97_CODEC=y
+ # CONFIG_SND_AU8810 is not set
+ # CONFIG_SND_AU8820 is not set
+ # CONFIG_SND_AU8830 is not set
++# CONFIG_SND_AW2 is not set
+ # CONFIG_SND_AZT3328 is not set
+ # CONFIG_SND_BT87X is not set
+ # CONFIG_SND_CA0106 is not set
+@@ -1077,11 +1101,11 @@ CONFIG_SND_INTEL8X0=y
+ # CONFIG_SND_SOC is not set
+ 
+ #
+-# SoC Audio support for SuperH
++# ALSA SoC audio for Freescale SOCs
+ #
+ 
+ #
+-# ALSA SoC audio for Freescale SOCs
++# SoC Audio for the Texas Instruments OMAP
+ #
+ 
+ #
+@@ -1116,16 +1140,20 @@ CONFIG_USB_DEVICEFS=y
+ CONFIG_USB_DEVICE_CLASS=y
+ # CONFIG_USB_DYNAMIC_MINORS is not set
+ # CONFIG_USB_OTG is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # USB Host Controller Drivers
+ #
++# CONFIG_USB_C67X00_HCD is not set
+ CONFIG_USB_EHCI_HCD=y
+ # CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+ # CONFIG_USB_EHCI_TT_NEWSCHED is not set
+ # CONFIG_USB_EHCI_FSL is not set
+ CONFIG_USB_EHCI_HCD_PPC_OF=y
+ # CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_ISP1760_HCD is not set
+ CONFIG_USB_OHCI_HCD=y
+ CONFIG_USB_OHCI_HCD_PPC_OF=y
+ CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
+@@ -1143,6 +1171,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+ #
+ # CONFIG_USB_ACM is not set
+ # CONFIG_USB_PRINTER is not set
++# CONFIG_USB_WDM is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -1162,7 +1191,9 @@ CONFIG_USB_STORAGE=y
+ # CONFIG_USB_STORAGE_SDDR55 is not set
+ # CONFIG_USB_STORAGE_JUMPSHOT is not set
+ # CONFIG_USB_STORAGE_ALAUDA is not set
++# CONFIG_USB_STORAGE_ONETOUCH is not set
+ # CONFIG_USB_STORAGE_KARMA is not set
++# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+ # CONFIG_USB_LIBUSUAL is not set
+ 
+ #
+@@ -1200,10 +1231,12 @@ CONFIG_USB_MON=y
+ # CONFIG_USB_TRANCEVIBRATOR is not set
+ # CONFIG_USB_IOWARRIOR is not set
+ # CONFIG_USB_TEST is not set
++# CONFIG_USB_ISIGHTFW is not set
+ # CONFIG_USB_GADGET is not set
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+@@ -1255,11 +1288,8 @@ CONFIG_RTC_DRV_CMOS=y
+ #
+ # on-CPU RTC drivers
+ #
++# CONFIG_RTC_DRV_PPC is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -1279,7 +1309,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -1349,10 +1378,9 @@ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+-# CONFIG_NFS_DIRECTIO is not set
+ CONFIG_NFSD=y
+ # CONFIG_NFSD_V3 is not set
+-CONFIG_NFSD_TCP=y
++# CONFIG_NFSD_V4 is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+ CONFIG_LOCKD_V4=y
+@@ -1436,9 +1464,10 @@ CONFIG_NLS_UTF8=m
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+-# CONFIG_CRC_ITU_T is not set
++CONFIG_CRC_ITU_T=m
+ CONFIG_CRC32=y
+ # CONFIG_CRC7 is not set
+ CONFIG_LIBCRC32C=m
+@@ -1447,6 +1476,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -1454,6 +1484,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1464,6 +1495,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_SLUB_DEBUG_ON is not set
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_RT_MUTEXES is not set
+@@ -1477,6 +1509,7 @@ CONFIG_SCHED_DEBUG=y
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -1488,6 +1521,7 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_STACK_USAGE is not set
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_BDI_SWITCH is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+@@ -1498,52 +1532,82 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_HASH=y
+ CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ CONFIG_CRYPTO_HMAC=y
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ CONFIG_CRYPTO_SHA1=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_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig b/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig
+index a469fe9..b09f003 100644
+--- a/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig
++++ b/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:30 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:36 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -32,6 +32,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -87,6 +89,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ # CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+@@ -113,6 +116,7 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+@@ -153,6 +157,7 @@ CONFIG_MPC85xx=y
+ CONFIG_MPC85xx_CDS=y
+ # CONFIG_MPC85xx_MDS is not set
+ # CONFIG_MPC85xx_DS is not set
++# CONFIG_KSI8560 is not set
+ # CONFIG_STX_GP3 is not set
+ # CONFIG_TQM8540 is not set
+ # CONFIG_TQM8541 is not set
+@@ -208,11 +213,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -236,6 +243,7 @@ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCI_DEBUG is not set
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -245,11 +253,12 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
++CONFIG_PHYSICAL_ALIGN=0x10000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -297,8 +306,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -437,7 +444,7 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
+ CONFIG_BLK_DEV_VIA82CXXX=y
+ # CONFIG_BLK_DEV_TC86C001 is not set
+ CONFIG_BLK_DEV_IDEDMA=y
+-CONFIG_IDE_ARCH_OBSOLETE_INIT=y
++# CONFIG_BLK_DEV_HD_ONLY is not set
+ # CONFIG_BLK_DEV_HD is not set
+ 
+ #
+@@ -515,7 +522,6 @@ CONFIG_E1000_NAPI=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -535,6 +541,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -542,6 +549,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+ # CONFIG_HIPPI is not set
+@@ -588,6 +596,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -624,12 +633,7 @@ CONFIG_GEN_RTC=y
+ # CONFIG_TCG_TPM is not set
+ CONFIG_DEVPORT=y
+ # CONFIG_I2C is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -662,12 +666,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -698,6 +712,8 @@ CONFIG_USB_ARCH_HAS_HCD=y
+ CONFIG_USB_ARCH_HAS_OHCI=y
+ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_USB is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -706,14 +722,11 @@ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -733,7 +746,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -790,7 +802,6 @@ CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ # CONFIG_NFS_V3 is not set
+ # CONFIG_NFS_V4 is not set
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -829,6 +840,7 @@ CONFIG_PARTITION_ADVANCED=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -839,6 +851,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -846,6 +859,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -856,6 +870,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_SLUB_DEBUG_ON is not set
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_RT_MUTEXES is not set
+@@ -868,6 +883,7 @@ CONFIG_DEBUG_MUTEXES=y
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_DEBUG_INFO is not set
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -878,6 +894,7 @@ CONFIG_DEBUG_MUTEXES=y
+ # CONFIG_DEBUG_STACK_USAGE is not set
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_BDI_SWITCH is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+@@ -888,48 +905,78 @@ CONFIG_DEBUG_MUTEXES=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
+-# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Crypto core or helper
++#
+ # CONFIG_CRYPTO_MANAGER is not set
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++# CONFIG_CRYPTO_CBC is not set
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++# CONFIG_CRYPTO_PCBC is not set
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ # CONFIG_CRYPTO_MD5 is not set
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-# CONFIG_CRYPTO_CBC is not set
+-# CONFIG_CRYPTO_PCBC is not set
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-# CONFIG_CRYPTO_DES is not set
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES is not set
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/85xx/sbc8548_defconfig b/arch/powerpc/configs/85xx/sbc8548_defconfig
+index 67f6797..24f7f44 100644
+--- a/arch/powerpc/configs/85xx/sbc8548_defconfig
++++ b/arch/powerpc/configs/85xx/sbc8548_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:39 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:37 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -32,6 +32,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -87,6 +89,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+ CONFIG_HOTPLUG=y
+@@ -111,6 +114,7 @@ CONFIG_SLAB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+@@ -151,6 +155,7 @@ CONFIG_MPC85xx=y
+ # CONFIG_MPC85xx_CDS is not set
+ # CONFIG_MPC85xx_MDS is not set
+ # CONFIG_MPC85xx_DS is not set
++# CONFIG_KSI8560 is not set
+ # CONFIG_STX_GP3 is not set
+ # CONFIG_TQM8540 is not set
+ # CONFIG_TQM8541 is not set
+@@ -206,11 +211,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -233,6 +240,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
+ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -242,11 +250,12 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
++CONFIG_PHYSICAL_ALIGN=0x10000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -294,8 +303,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -449,7 +456,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -469,6 +475,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -476,6 +483,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+ # CONFIG_HIPPI is not set
+@@ -522,6 +530,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -558,12 +567,7 @@ CONFIG_GEN_RTC=y
+ # CONFIG_TCG_TPM is not set
+ CONFIG_DEVPORT=y
+ # CONFIG_I2C is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -596,12 +600,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -628,14 +642,11 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -648,7 +659,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -705,7 +715,6 @@ CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ # CONFIG_NFS_V3 is not set
+ # CONFIG_NFS_V4 is not set
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -732,6 +741,7 @@ CONFIG_MSDOS_PARTITION=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -742,6 +752,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -749,6 +760,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -756,6 +768,7 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_DEBUG_KERNEL is not set
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_SAMPLES is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+ #
+@@ -765,48 +778,78 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
+-# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Crypto core or helper
++#
+ # CONFIG_CRYPTO_MANAGER is not set
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++# CONFIG_CRYPTO_CBC is not set
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++# CONFIG_CRYPTO_PCBC is not set
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ # CONFIG_CRYPTO_MD5 is not set
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-# CONFIG_CRYPTO_CBC is not set
+-# CONFIG_CRYPTO_PCBC is not set
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-# CONFIG_CRYPTO_DES is not set
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES is not set
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/85xx/sbc8560_defconfig b/arch/powerpc/configs/85xx/sbc8560_defconfig
+index fef6055..655518d 100644
+--- a/arch/powerpc/configs/85xx/sbc8560_defconfig
++++ b/arch/powerpc/configs/85xx/sbc8560_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:39 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:38 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -32,6 +32,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -87,6 +89,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ # CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+@@ -112,6 +115,7 @@ CONFIG_SLAB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+@@ -152,6 +156,7 @@ CONFIG_MPC85xx=y
+ # CONFIG_MPC85xx_CDS is not set
+ # CONFIG_MPC85xx_MDS is not set
+ # CONFIG_MPC85xx_DS is not set
++# CONFIG_KSI8560 is not set
+ # CONFIG_STX_GP3 is not set
+ # CONFIG_TQM8540 is not set
+ # CONFIG_TQM8541 is not set
+@@ -207,11 +212,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -228,6 +235,7 @@ CONFIG_FSL_SOC=y
+ # CONFIG_PCI_SYSCALL is not set
+ # CONFIG_ARCH_SUPPORTS_MSI is not set
+ # CONFIG_PCCARD is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -237,11 +245,12 @@ CONFIG_FSL_SOC=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
++CONFIG_PHYSICAL_ALIGN=0x10000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -289,8 +298,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -418,6 +425,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_PPP is not set
+ # CONFIG_SLIP is not set
+@@ -462,6 +470,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ 
+ #
+@@ -487,17 +496,11 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ # CONFIG_HW_RANDOM is not set
+ # CONFIG_NVRAM is not set
+-# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_RAW_DRIVER is not set
+ # CONFIG_TCG_TPM is not set
+ # CONFIG_I2C is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -526,12 +529,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -559,6 +572,8 @@ CONFIG_USB_SUPPORT=y
+ # CONFIG_USB_ARCH_HAS_HCD is not set
+ # CONFIG_USB_ARCH_HAS_OHCI is not set
+ # CONFIG_USB_ARCH_HAS_EHCI is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -567,6 +582,7 @@ CONFIG_USB_SUPPORT=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+ CONFIG_RTC_CLASS=y
+@@ -602,11 +618,8 @@ CONFIG_RTC_DRV_M48T59=y
+ #
+ # on-CPU RTC drivers
+ #
++# CONFIG_RTC_DRV_PPC is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -619,7 +632,6 @@ CONFIG_RTC_DRV_M48T59=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -676,7 +688,6 @@ CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ # CONFIG_NFS_V3 is not set
+ # CONFIG_NFS_V4 is not set
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -715,6 +726,7 @@ CONFIG_PARTITION_ADVANCED=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -725,6 +737,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -732,6 +745,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ CONFIG_MAGIC_SYSRQ=y
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -742,6 +756,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_DEBUG_SLAB is not set
+ # CONFIG_DEBUG_RT_MUTEXES is not set
+ # CONFIG_RT_MUTEX_TESTER is not set
+@@ -753,6 +768,7 @@ CONFIG_DEBUG_MUTEXES=y
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_DEBUG_INFO is not set
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -763,6 +779,7 @@ CONFIG_DEBUG_MUTEXES=y
+ # CONFIG_DEBUG_STACK_USAGE is not set
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_BDI_SWITCH is not set
+ CONFIG_PPC_EARLY_DEBUG=y
+ # CONFIG_PPC_EARLY_DEBUG_LPAR is not set
+@@ -784,47 +801,77 @@ CONFIG_PPC_EARLY_DEBUG=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
+-# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Crypto core or helper
++#
+ # CONFIG_CRYPTO_MANAGER is not set
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++# CONFIG_CRYPTO_CBC is not set
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++# CONFIG_CRYPTO_PCBC is not set
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ # CONFIG_CRYPTO_MD5 is not set
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-# CONFIG_CRYPTO_CBC is not set
+-# CONFIG_CRYPTO_PCBC is not set
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-# CONFIG_CRYPTO_DES is not set
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES is not set
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/85xx/stx_gp3_defconfig b/arch/powerpc/configs/85xx/stx_gp3_defconfig
+index 1d303c4..7804ca1 100644
+--- a/arch/powerpc/configs/85xx/stx_gp3_defconfig
++++ b/arch/powerpc/configs/85xx/stx_gp3_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:42 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:38 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -32,6 +32,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -87,6 +89,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ # CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+@@ -114,12 +117,14 @@ CONFIG_HAVE_OPROFILE=y
+ # CONFIG_KPROBES is not set
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ # CONFIG_MODULE_UNLOAD is not set
+ CONFIG_MODVERSIONS=y
+ # CONFIG_MODULE_SRCVERSION_ALL is not set
+@@ -158,6 +163,7 @@ CONFIG_MPC85xx=y
+ # CONFIG_MPC85xx_CDS is not set
+ # CONFIG_MPC85xx_MDS is not set
+ # CONFIG_MPC85xx_DS is not set
++# CONFIG_KSI8560 is not set
+ CONFIG_STX_GP3=y
+ # CONFIG_TQM8540 is not set
+ # CONFIG_TQM8541 is not set
+@@ -215,11 +221,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -243,6 +251,7 @@ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCI_DEBUG is not set
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -252,11 +261,12 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
++CONFIG_PHYSICAL_ALIGN=0x10000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -304,8 +314,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IP_VS is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ CONFIG_NETFILTER=y
+ # CONFIG_NETFILTER_DEBUG is not set
+@@ -418,6 +426,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
+ # CONFIG_CONNECTOR is not set
+ # CONFIG_MTD is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=m
+ CONFIG_PARPORT=m
+ CONFIG_PARPORT_PC=m
+ # CONFIG_PARPORT_PC_FIFO is not set
+@@ -505,7 +514,7 @@ CONFIG_IDE_GENERIC=y
+ # CONFIG_BLK_DEV_VIA82CXXX is not set
+ # CONFIG_BLK_DEV_TC86C001 is not set
+ # CONFIG_BLK_DEV_IDEDMA is not set
+-CONFIG_IDE_ARCH_OBSOLETE_INIT=y
++# CONFIG_BLK_DEV_HD_ONLY is not set
+ # CONFIG_BLK_DEV_HD is not set
+ 
+ #
+@@ -653,7 +662,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -673,6 +681,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -680,6 +689,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+ # CONFIG_HIPPI is not set
+@@ -753,6 +763,7 @@ CONFIG_SERIO_LIBPS2=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -796,13 +807,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=m
+ 
+ #
+-# I2C Algorithms
+-#
+-CONFIG_I2C_ALGOBIT=m
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -829,6 +833,7 @@ CONFIG_I2C_ALGOBIT=m
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -838,19 +843,13 @@ CONFIG_I2C_ALGOBIT=m
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -920,12 +919,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -973,6 +982,8 @@ CONFIG_USB_ARCH_HAS_HCD=y
+ CONFIG_USB_ARCH_HAS_OHCI=y
+ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_USB is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -981,15 +992,12 @@ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+ # CONFIG_AUXDISPLAY is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -1009,7 +1017,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -1073,7 +1080,6 @@ 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 is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -1141,9 +1147,10 @@ CONFIG_NLS_DEFAULT="iso8859-1"
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ CONFIG_CRC_CCITT=y
+ # CONFIG_CRC16 is not set
+-# CONFIG_CRC_ITU_T is not set
++CONFIG_CRC_ITU_T=m
+ CONFIG_CRC32=y
+ # CONFIG_CRC7 is not set
+ # CONFIG_LIBCRC32C is not set
+@@ -1152,6 +1159,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -1159,6 +1167,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1169,6 +1178,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_SLUB_DEBUG_ON is not set
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_RT_MUTEXES is not set
+@@ -1182,6 +1192,7 @@ CONFIG_SCHED_DEBUG=y
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_DEBUG_INFO is not set
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -1194,6 +1205,7 @@ CONFIG_SCHED_DEBUG=y
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
+ # CONFIG_KGDB_CONSOLE is not set
++# CONFIG_IRQSTACKS is not set
+ CONFIG_BDI_SWITCH=y
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+@@ -1204,50 +1216,80 @@ CONFIG_BDI_SWITCH=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
+-# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Crypto core or helper
++#
+ # CONFIG_CRYPTO_MANAGER is not set
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++# CONFIG_CRYPTO_CBC is not set
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++# CONFIG_CRYPTO_PCBC is not set
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ # CONFIG_CRYPTO_MD5 is not set
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-# CONFIG_CRYPTO_CBC is not set
+-# CONFIG_CRYPTO_PCBC is not set
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-# CONFIG_CRYPTO_DES is not set
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES is not set
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
+ CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/85xx/tqm8540_defconfig b/arch/powerpc/configs/85xx/tqm8540_defconfig
+index d39ee3b..e0b5559 100644
+--- a/arch/powerpc/configs/85xx/tqm8540_defconfig
++++ b/arch/powerpc/configs/85xx/tqm8540_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:43 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:39 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -32,6 +32,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -87,6 +89,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ # CONFIG_KALLSYMS is not set
+ # CONFIG_HOTPLUG is not set
+ CONFIG_PRINTK=y
+@@ -111,6 +114,7 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+@@ -151,6 +155,7 @@ CONFIG_MPC85xx=y
+ # CONFIG_MPC85xx_CDS is not set
+ # CONFIG_MPC85xx_MDS is not set
+ # CONFIG_MPC85xx_DS is not set
++# CONFIG_KSI8560 is not set
+ # CONFIG_STX_GP3 is not set
+ CONFIG_TQM8540=y
+ # CONFIG_TQM8541 is not set
+@@ -171,7 +176,6 @@ CONFIG_MPIC=y
+ # CONFIG_GENERIC_IOMAP is not set
+ # CONFIG_CPU_FREQ is not set
+ # CONFIG_CPM2 is not set
+-CONFIG_PPC_CPM_NEW_BINDING=y
+ # CONFIG_FSL_ULI1575 is not set
+ 
+ #
+@@ -208,11 +212,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ # CONFIG_PROC_DEVICETREE is not set
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -233,6 +239,7 @@ CONFIG_PCI_SYSCALL=y
+ CONFIG_ARCH_SUPPORTS_MSI=y
+ # CONFIG_PCI_MSI is not set
+ CONFIG_PCI_LEGACY=y
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -242,11 +249,12 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
++CONFIG_PHYSICAL_ALIGN=0x10000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -294,8 +302,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -352,6 +358,7 @@ CONFIG_MTD_PARTITIONS=y
+ # CONFIG_MTD_REDBOOT_PARTS is not set
+ CONFIG_MTD_CMDLINE_PARTS=y
+ # CONFIG_MTD_OF_PARTS is not set
++# CONFIG_MTD_AR7_PARTS is not set
+ 
+ #
+ # User Modules And Translation Layers
+@@ -423,6 +430,7 @@ CONFIG_MTD_CFI_UTIL=y
+ #
+ # CONFIG_MTD_UBI is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -506,7 +514,7 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
+ CONFIG_BLK_DEV_VIA82CXXX=y
+ # CONFIG_BLK_DEV_TC86C001 is not set
+ CONFIG_BLK_DEV_IDEDMA=y
+-CONFIG_IDE_ARCH_OBSOLETE_INIT=y
++# CONFIG_BLK_DEV_HD_ONLY is not set
+ # CONFIG_BLK_DEV_HD is not set
+ 
+ #
+@@ -600,7 +608,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -620,6 +627,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -627,6 +635,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+ # CONFIG_HIPPI is not set
+@@ -673,6 +682,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -713,13 +723,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -744,6 +747,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -753,19 +757,13 @@ CONFIG_I2C_MPC=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -835,12 +833,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -871,6 +879,8 @@ CONFIG_USB_ARCH_HAS_HCD=y
+ CONFIG_USB_ARCH_HAS_OHCI=y
+ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_USB is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -879,14 +889,11 @@ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -906,7 +913,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -974,7 +980,6 @@ CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ # CONFIG_NFS_V3 is not set
+ # CONFIG_NFS_V4 is not set
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -1013,6 +1018,7 @@ CONFIG_PARTITION_ADVANCED=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -1025,6 +1031,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -1032,6 +1039,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1041,6 +1049,7 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_SAMPLES is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+ #
+@@ -1050,48 +1059,78 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
+-# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Crypto core or helper
++#
+ # CONFIG_CRYPTO_MANAGER is not set
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++# CONFIG_CRYPTO_CBC is not set
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++# CONFIG_CRYPTO_PCBC is not set
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ # CONFIG_CRYPTO_MD5 is not set
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-# CONFIG_CRYPTO_CBC is not set
+-# CONFIG_CRYPTO_PCBC is not set
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-# CONFIG_CRYPTO_DES is not set
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES is not set
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/85xx/tqm8541_defconfig b/arch/powerpc/configs/85xx/tqm8541_defconfig
+index cbf6ad2..6f9067b 100644
+--- a/arch/powerpc/configs/85xx/tqm8541_defconfig
++++ b/arch/powerpc/configs/85xx/tqm8541_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:44 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:40 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -32,6 +32,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -87,6 +89,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ # CONFIG_KALLSYMS is not set
+ # CONFIG_HOTPLUG is not set
+ CONFIG_PRINTK=y
+@@ -111,6 +114,7 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+@@ -151,6 +155,7 @@ CONFIG_MPC85xx=y
+ # CONFIG_MPC85xx_CDS is not set
+ # CONFIG_MPC85xx_MDS is not set
+ # CONFIG_MPC85xx_DS is not set
++# CONFIG_KSI8560 is not set
+ # CONFIG_STX_GP3 is not set
+ # CONFIG_TQM8540 is not set
+ CONFIG_TQM8541=y
+@@ -209,11 +214,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ # CONFIG_PROC_DEVICETREE is not set
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -234,6 +241,7 @@ CONFIG_PCI_SYSCALL=y
+ CONFIG_ARCH_SUPPORTS_MSI=y
+ # CONFIG_PCI_MSI is not set
+ CONFIG_PCI_LEGACY=y
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -243,11 +251,12 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
++CONFIG_PHYSICAL_ALIGN=0x10000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -295,8 +304,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -353,6 +360,7 @@ CONFIG_MTD_PARTITIONS=y
+ # CONFIG_MTD_REDBOOT_PARTS is not set
+ CONFIG_MTD_CMDLINE_PARTS=y
+ # CONFIG_MTD_OF_PARTS is not set
++# CONFIG_MTD_AR7_PARTS is not set
+ 
+ #
+ # User Modules And Translation Layers
+@@ -424,6 +432,7 @@ CONFIG_MTD_CFI_UTIL=y
+ #
+ # CONFIG_MTD_UBI is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -507,7 +516,7 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
+ CONFIG_BLK_DEV_VIA82CXXX=y
+ # CONFIG_BLK_DEV_TC86C001 is not set
+ CONFIG_BLK_DEV_IDEDMA=y
+-CONFIG_IDE_ARCH_OBSOLETE_INIT=y
++# CONFIG_BLK_DEV_HD_ONLY is not set
+ # CONFIG_BLK_DEV_HD is not set
+ 
+ #
+@@ -602,7 +611,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -622,6 +630,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -629,6 +638,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+ # CONFIG_HIPPI is not set
+@@ -675,6 +685,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -723,13 +734,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -754,6 +758,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -763,19 +768,13 @@ CONFIG_I2C_MPC=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -845,12 +844,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -881,6 +890,8 @@ CONFIG_USB_ARCH_HAS_HCD=y
+ CONFIG_USB_ARCH_HAS_OHCI=y
+ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_USB is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -889,14 +900,11 @@ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -916,7 +924,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -984,7 +991,6 @@ CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ # CONFIG_NFS_V3 is not set
+ # CONFIG_NFS_V4 is not set
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -1023,6 +1029,7 @@ CONFIG_PARTITION_ADVANCED=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -1035,6 +1042,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -1042,6 +1050,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1052,6 +1061,7 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_SAMPLES is not set
+ # CONFIG_KGDB_CONSOLE is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+ #
+@@ -1061,49 +1071,79 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
+-# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Crypto core or helper
++#
+ # CONFIG_CRYPTO_MANAGER is not set
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++# CONFIG_CRYPTO_CBC is not set
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++# CONFIG_CRYPTO_PCBC is not set
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ # CONFIG_CRYPTO_MD5 is not set
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-# CONFIG_CRYPTO_CBC is not set
+-# CONFIG_CRYPTO_PCBC is not set
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-# CONFIG_CRYPTO_DES is not set
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES is not set
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
+ CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/85xx/tqm8555_defconfig b/arch/powerpc/configs/85xx/tqm8555_defconfig
+index bbff962..03120b5 100644
+--- a/arch/powerpc/configs/85xx/tqm8555_defconfig
++++ b/arch/powerpc/configs/85xx/tqm8555_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:44 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:41 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -32,6 +32,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -87,6 +89,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ # CONFIG_KALLSYMS is not set
+ # CONFIG_HOTPLUG is not set
+ CONFIG_PRINTK=y
+@@ -111,6 +114,7 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+@@ -151,6 +155,7 @@ CONFIG_MPC85xx=y
+ # CONFIG_MPC85xx_CDS is not set
+ # CONFIG_MPC85xx_MDS is not set
+ # CONFIG_MPC85xx_DS is not set
++# CONFIG_KSI8560 is not set
+ # CONFIG_STX_GP3 is not set
+ # CONFIG_TQM8540 is not set
+ # CONFIG_TQM8541 is not set
+@@ -209,11 +214,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ # CONFIG_PROC_DEVICETREE is not set
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -234,6 +241,7 @@ CONFIG_PCI_SYSCALL=y
+ CONFIG_ARCH_SUPPORTS_MSI=y
+ # CONFIG_PCI_MSI is not set
+ CONFIG_PCI_LEGACY=y
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -243,11 +251,12 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
++CONFIG_PHYSICAL_ALIGN=0x10000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -295,8 +304,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -353,6 +360,7 @@ CONFIG_MTD_PARTITIONS=y
+ # CONFIG_MTD_REDBOOT_PARTS is not set
+ CONFIG_MTD_CMDLINE_PARTS=y
+ # CONFIG_MTD_OF_PARTS is not set
++# CONFIG_MTD_AR7_PARTS is not set
+ 
+ #
+ # User Modules And Translation Layers
+@@ -424,6 +432,7 @@ CONFIG_MTD_CFI_UTIL=y
+ #
+ # CONFIG_MTD_UBI is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -507,7 +516,7 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
+ CONFIG_BLK_DEV_VIA82CXXX=y
+ # CONFIG_BLK_DEV_TC86C001 is not set
+ CONFIG_BLK_DEV_IDEDMA=y
+-CONFIG_IDE_ARCH_OBSOLETE_INIT=y
++# CONFIG_BLK_DEV_HD_ONLY is not set
+ # CONFIG_BLK_DEV_HD is not set
+ 
+ #
+@@ -602,7 +611,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -622,6 +630,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -629,6 +638,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+ # CONFIG_HIPPI is not set
+@@ -675,6 +685,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -723,13 +734,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -754,6 +758,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -763,19 +768,13 @@ CONFIG_I2C_MPC=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -845,12 +844,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -881,6 +890,8 @@ CONFIG_USB_ARCH_HAS_HCD=y
+ CONFIG_USB_ARCH_HAS_OHCI=y
+ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_USB is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -889,14 +900,11 @@ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -916,7 +924,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -984,7 +991,6 @@ CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ # CONFIG_NFS_V3 is not set
+ # CONFIG_NFS_V4 is not set
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -1023,6 +1029,7 @@ CONFIG_PARTITION_ADVANCED=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -1035,6 +1042,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -1042,6 +1050,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1052,6 +1061,7 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_SAMPLES is not set
+ # CONFIG_KGDB_CONSOLE is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+ #
+@@ -1061,49 +1071,79 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
+-# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Crypto core or helper
++#
+ # CONFIG_CRYPTO_MANAGER is not set
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++# CONFIG_CRYPTO_CBC is not set
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++# CONFIG_CRYPTO_PCBC is not set
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ # CONFIG_CRYPTO_MD5 is not set
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-# CONFIG_CRYPTO_CBC is not set
+-# CONFIG_CRYPTO_PCBC is not set
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-# CONFIG_CRYPTO_DES is not set
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES is not set
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
+ CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/85xx/tqm8560_defconfig b/arch/powerpc/configs/85xx/tqm8560_defconfig
+index 63c5ec8..3113257 100644
+--- a/arch/powerpc/configs/85xx/tqm8560_defconfig
++++ b/arch/powerpc/configs/85xx/tqm8560_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:45 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:42 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -32,6 +32,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -87,6 +89,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ # CONFIG_KALLSYMS is not set
+ # CONFIG_HOTPLUG is not set
+ CONFIG_PRINTK=y
+@@ -111,6 +114,7 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+@@ -151,6 +155,7 @@ CONFIG_MPC85xx=y
+ # CONFIG_MPC85xx_CDS is not set
+ # CONFIG_MPC85xx_MDS is not set
+ # CONFIG_MPC85xx_DS is not set
++# CONFIG_KSI8560 is not set
+ # CONFIG_STX_GP3 is not set
+ # CONFIG_TQM8540 is not set
+ # CONFIG_TQM8541 is not set
+@@ -209,11 +214,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ # CONFIG_PROC_DEVICETREE is not set
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -234,6 +241,7 @@ CONFIG_PCI_SYSCALL=y
+ CONFIG_ARCH_SUPPORTS_MSI=y
+ # CONFIG_PCI_MSI is not set
+ CONFIG_PCI_LEGACY=y
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -243,11 +251,12 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
++CONFIG_PHYSICAL_ALIGN=0x10000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -295,8 +304,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -353,6 +360,7 @@ CONFIG_MTD_PARTITIONS=y
+ # CONFIG_MTD_REDBOOT_PARTS is not set
+ CONFIG_MTD_CMDLINE_PARTS=y
+ # CONFIG_MTD_OF_PARTS is not set
++# CONFIG_MTD_AR7_PARTS is not set
+ 
+ #
+ # User Modules And Translation Layers
+@@ -424,6 +432,7 @@ CONFIG_MTD_CFI_UTIL=y
+ #
+ # CONFIG_MTD_UBI is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -507,7 +516,7 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
+ CONFIG_BLK_DEV_VIA82CXXX=y
+ # CONFIG_BLK_DEV_TC86C001 is not set
+ CONFIG_BLK_DEV_IDEDMA=y
+-CONFIG_IDE_ARCH_OBSOLETE_INIT=y
++# CONFIG_BLK_DEV_HD_ONLY is not set
+ # CONFIG_BLK_DEV_HD is not set
+ 
+ #
+@@ -602,7 +611,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -622,6 +630,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -629,6 +638,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+ # CONFIG_HIPPI is not set
+@@ -675,6 +685,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -723,13 +734,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -754,6 +758,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -763,19 +768,13 @@ CONFIG_I2C_MPC=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -845,12 +844,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -881,6 +890,8 @@ CONFIG_USB_ARCH_HAS_HCD=y
+ CONFIG_USB_ARCH_HAS_OHCI=y
+ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_USB is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -889,14 +900,11 @@ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -916,7 +924,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -984,7 +991,6 @@ CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ # CONFIG_NFS_V3 is not set
+ # CONFIG_NFS_V4 is not set
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -1023,6 +1029,7 @@ CONFIG_PARTITION_ADVANCED=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -1035,6 +1042,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -1042,6 +1050,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1052,6 +1061,7 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_SAMPLES is not set
+ # CONFIG_KGDB_CONSOLE is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+ #
+@@ -1061,49 +1071,79 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
+-# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Crypto core or helper
++#
+ # CONFIG_CRYPTO_MANAGER is not set
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++# CONFIG_CRYPTO_CBC is not set
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++# CONFIG_CRYPTO_PCBC is not set
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ # CONFIG_CRYPTO_MD5 is not set
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-# CONFIG_CRYPTO_CBC is not set
+-# CONFIG_CRYPTO_PCBC is not set
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-# CONFIG_CRYPTO_DES is not set
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES is not set
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
+ CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/adder875_defconfig b/arch/powerpc/configs/adder875_defconfig
+index a3cc94a..6740f2a 100644
+--- a/arch/powerpc/configs/adder875_defconfig
++++ b/arch/powerpc/configs/adder875_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc2
+-# Wed Feb 20 12:26:07 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:08 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -28,6 +28,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -75,6 +77,7 @@ CONFIG_FAIR_GROUP_SCHED=y
+ CONFIG_USER_SCHED=y
+ # CONFIG_CGROUP_SCHED is not set
+ CONFIG_SYSFS_DEPRECATED=y
++CONFIG_SYSFS_DEPRECATED_V2=y
+ # CONFIG_RELAY is not set
+ # CONFIG_NAMESPACES is not set
+ # CONFIG_BLK_DEV_INITRD is not set
+@@ -107,6 +110,8 @@ CONFIG_SLUB=y
+ # CONFIG_MARKERS is not set
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
++CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ # CONFIG_TINY_SHMEM is not set
+@@ -131,7 +136,6 @@ CONFIG_DEFAULT_DEADLINE=y
+ # CONFIG_DEFAULT_NOOP is not set
+ CONFIG_DEFAULT_IOSCHED="deadline"
+ CONFIG_CLASSIC_RCU=y
+-# CONFIG_PREEMPT_RCU is not set
+ 
+ #
+ # Platform support
+@@ -194,7 +198,6 @@ CONFIG_HZ=1000
+ CONFIG_PREEMPT_NONE=y
+ # CONFIG_PREEMPT_VOLUNTARY is not set
+ # CONFIG_PREEMPT is not set
+-CONFIG_RCU_TRACE=y
+ CONFIG_BINFMT_ELF=y
+ # CONFIG_BINFMT_MISC is not set
+ # CONFIG_MATH_EMULATION is not set
+@@ -213,11 +216,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ # CONFIG_PROC_DEVICETREE is not set
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -235,6 +240,7 @@ CONFIG_FSL_SOC=y
+ # CONFIG_PCI_QSPAN is not set
+ # CONFIG_ARCH_SUPPORTS_MSI is not set
+ # CONFIG_PCCARD is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -244,13 +250,13 @@ CONFIG_FSL_SOC=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0x80000000
+ CONFIG_CONSISTENT_START=0xfd000000
+ CONFIG_CONSISTENT_SIZE=0x00200000
+-CONFIG_BOOT_LOAD=0x00400000
+ 
+ #
+ # Networking
+@@ -293,8 +299,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -482,6 +486,7 @@ CONFIG_FS_ENET_MDIO_FEC=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_PPP is not set
+ # CONFIG_SLIP is not set
+@@ -548,6 +553,7 @@ CONFIG_SERIO_LIBPS2=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ 
+ #
+@@ -580,12 +586,7 @@ CONFIG_GEN_RTC=y
+ # CONFIG_RAW_DRIVER is not set
+ # CONFIG_TCG_TPM is not set
+ # CONFIG_I2C is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ # CONFIG_HWMON is not set
+@@ -602,12 +603,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -632,12 +643,10 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+-
+-#
+-# Userspace I/O
+-#
++# CONFIG_DMADEVICES is not set
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -650,7 +659,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ # CONFIG_DNOTIFY is not set
+ # CONFIG_INOTIFY is not set
+@@ -708,7 +716,6 @@ 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 is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -751,6 +758,7 @@ CONFIG_MSDOS_PARTITION=y
+ #
+ # Library routines
+ #
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -761,6 +769,7 @@ CONFIG_ZLIB_INFLATE=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -768,6 +777,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ CONFIG_MAGIC_SYSRQ=y
+ # CONFIG_UNUSED_SYMBOLS is not set
+ CONFIG_DEBUG_FS=y
+@@ -778,6 +788,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_SLUB_DEBUG_ON is not set
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_SPINLOCK is not set
+@@ -788,6 +799,7 @@ CONFIG_SCHED_DEBUG=y
+ CONFIG_DEBUG_BUGVERBOSE=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -798,6 +810,7 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_STACK_USAGE is not set
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_VIRQ_DEBUG is not set
+ # CONFIG_BDI_SWITCH is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+@@ -811,3 +824,4 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_CRYPTO is not set
+ # CONFIG_PPC_CLOCK is not set
+ CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/ep8248e_defconfig b/arch/powerpc/configs/ep8248e_defconfig
+index 2b1504e..ba2a463 100644
+--- a/arch/powerpc/configs/ep8248e_defconfig
++++ b/arch/powerpc/configs/ep8248e_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:09 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:09 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -30,6 +30,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -70,18 +72,16 @@ CONFIG_IKCONFIG=y
+ CONFIG_IKCONFIG_PROC=y
+ CONFIG_LOG_BUF_SHIFT=14
+ # CONFIG_CGROUPS is not set
+-CONFIG_GROUP_SCHED=y
+-CONFIG_FAIR_GROUP_SCHED=y
+-CONFIG_USER_SCHED=y
+-# CONFIG_CGROUP_SCHED is not set
+ CONFIG_SYSFS_DEPRECATED=y
+ CONFIG_SYSFS_DEPRECATED_V2=y
+ # CONFIG_RELAY is not set
+ # CONFIG_NAMESPACES is not set
+ # CONFIG_BLK_DEV_INITRD is not set
++CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ CONFIG_KALLSYMS_ALL=y
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+@@ -107,6 +107,7 @@ CONFIG_SLAB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+@@ -194,11 +195,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -215,6 +218,7 @@ CONFIG_FSL_SOC=y
+ # CONFIG_PCI_SYSCALL is not set
+ # CONFIG_ARCH_SUPPORTS_MSI is not set
+ # CONFIG_PCCARD is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -224,11 +228,11 @@ CONFIG_FSL_SOC=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00400000
+ 
+ #
+ # Networking
+@@ -283,6 +287,7 @@ CONFIG_INET6_XFRM_MODE_TRANSPORT=y
+ CONFIG_INET6_XFRM_MODE_TUNNEL=y
+ CONFIG_INET6_XFRM_MODE_BEET=y
+ CONFIG_IPV6_SIT=y
++CONFIG_IPV6_NDISC_NODETYPE=y
+ # CONFIG_IPV6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ CONFIG_NETFILTER=y
+@@ -498,6 +503,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_PPP is not set
+ # CONFIG_SLIP is not set
+@@ -521,6 +527,7 @@ CONFIG_NETDEV_10000=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ 
+ #
+@@ -552,12 +559,7 @@ CONFIG_HW_RANDOM=y
+ # CONFIG_R3964 is not set
+ # CONFIG_RAW_DRIVER is not set
+ # CONFIG_I2C is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ # CONFIG_HWMON is not set
+@@ -574,12 +576,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -603,12 +615,9 @@ CONFIG_DAB=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -675,7 +684,6 @@ CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -752,6 +760,7 @@ CONFIG_NLS_UTF8=y
+ #
+ # Library routines
+ #
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -763,6 +772,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -770,6 +780,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ CONFIG_MAGIC_SYSRQ=y
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -780,6 +791,7 @@ CONFIG_DEBUG_KERNEL=y
+ # CONFIG_SCHED_DEBUG is not set
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_DEBUG_SLAB is not set
+ # CONFIG_DEBUG_RT_MUTEXES is not set
+ # CONFIG_RT_MUTEX_TESTER is not set
+@@ -791,6 +803,7 @@ CONFIG_DEBUG_KERNEL=y
+ CONFIG_DEBUG_BUGVERBOSE=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -802,6 +815,7 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
+ # CONFIG_KGDB_CONSOLE is not set
++# CONFIG_IRQSTACKS is not set
+ CONFIG_BDI_SWITCH=y
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+@@ -811,45 +825,75 @@ CONFIG_BDI_SWITCH=y
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_MANAGER=y
+-# CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=y
++CONFIG_CRYPTO_PCBC=y
++
++#
++# Hash modes
++#
++# CONFIG_CRYPTO_HMAC is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-CONFIG_CRYPTO_ECB=y
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=y
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+ # CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ # CONFIG_CRYPTO_HW is not set
+ # CONFIG_PPC_CLOCK is not set
+ CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/ep88xc_defconfig b/arch/powerpc/configs/ep88xc_defconfig
+index 125b476..ac72b48 100644
+--- a/arch/powerpc/configs/ep88xc_defconfig
++++ b/arch/powerpc/configs/ep88xc_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:10 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:09 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -28,6 +28,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -108,6 +110,7 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ # CONFIG_TINY_SHMEM is not set
+@@ -212,11 +215,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -234,6 +239,7 @@ CONFIG_FSL_SOC=y
+ # CONFIG_PCI_QSPAN is not set
+ # CONFIG_ARCH_SUPPORTS_MSI is not set
+ # CONFIG_PCCARD is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -243,13 +249,13 @@ CONFIG_FSL_SOC=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0x80000000
+ CONFIG_CONSISTENT_START=0xfd000000
+ CONFIG_CONSISTENT_SIZE=0x00200000
+-CONFIG_BOOT_LOAD=0x00400000
+ 
+ #
+ # Networking
+@@ -292,8 +298,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -481,6 +485,7 @@ CONFIG_FS_ENET_MDIO_FEC=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_PPP is not set
+ # CONFIG_SLIP is not set
+@@ -505,6 +510,7 @@ CONFIG_FS_ENET_MDIO_FEC=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ 
+ #
+@@ -537,12 +543,7 @@ CONFIG_GEN_RTC=y
+ # CONFIG_RAW_DRIVER is not set
+ # CONFIG_TCG_TPM is not set
+ # CONFIG_I2C is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ # CONFIG_HWMON is not set
+@@ -559,12 +560,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -588,13 +599,10 @@ CONFIG_DAB=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -607,7 +615,6 @@ CONFIG_DAB=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ # CONFIG_DNOTIFY is not set
+ # CONFIG_INOTIFY is not set
+@@ -665,7 +672,6 @@ 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 is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -708,6 +714,7 @@ CONFIG_MSDOS_PARTITION=y
+ #
+ # Library routines
+ #
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -718,6 +725,7 @@ CONFIG_ZLIB_INFLATE=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -725,6 +733,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ CONFIG_MAGIC_SYSRQ=y
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -735,6 +744,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_SLUB_DEBUG_ON is not set
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_SPINLOCK is not set
+@@ -745,6 +755,7 @@ CONFIG_SCHED_DEBUG=y
+ CONFIG_DEBUG_BUGVERBOSE=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -755,6 +766,7 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_STACK_USAGE is not set
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_BDI_SWITCH is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+@@ -767,3 +779,4 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_CRYPTO is not set
+ # CONFIG_PPC_CLOCK is not set
+ CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/g5_defconfig b/arch/powerpc/configs/g5_defconfig
+index db34909..0ccc6e4 100644
+--- a/arch/powerpc/configs/g5_defconfig
++++ b/arch/powerpc/configs/g5_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.26-rc3
+-# Tue May 20 20:01:18 2008
++# Linux kernel version: 2.6.26-rc6
++# Mon Jun 16 21:08:31 2008
+ #
+ CONFIG_PPC64=y
+ 
+@@ -597,7 +597,61 @@ CONFIG_ATA=y
+ CONFIG_SATA_PMP=y
+ # CONFIG_SATA_AHCI is not set
+ # CONFIG_SATA_SIL24 is not set
+-# CONFIG_ATA_SFF is not set
++CONFIG_ATA_SFF=y
++CONFIG_SATA_SVW=y
++# CONFIG_ATA_PIIX is not set
++# CONFIG_SATA_MV is not set
++# CONFIG_SATA_NV is not set
++# CONFIG_PDC_ADMA is not set
++# CONFIG_SATA_QSTOR is not set
++# CONFIG_SATA_PROMISE is not set
++# CONFIG_SATA_SX4 is not set
++# CONFIG_SATA_SIL is not set
++# CONFIG_SATA_SIS is not set
++# CONFIG_SATA_ULI is not set
++# CONFIG_SATA_VIA is not set
++# CONFIG_SATA_VITESSE is not set
++# CONFIG_SATA_INIC162X is not set
++# CONFIG_PATA_ALI is not set
++# CONFIG_PATA_AMD is not set
++# CONFIG_PATA_ARTOP is not set
++# CONFIG_PATA_ATIIXP is not set
++# CONFIG_PATA_CMD640_PCI is not set
++# CONFIG_PATA_CMD64X is not set
++# CONFIG_PATA_CS5520 is not set
++# CONFIG_PATA_CS5530 is not set
++# CONFIG_PATA_CYPRESS is not set
++# CONFIG_PATA_EFAR is not set
++# CONFIG_ATA_GENERIC is not set
++# CONFIG_PATA_HPT366 is not set
++# CONFIG_PATA_HPT37X is not set
++# CONFIG_PATA_HPT3X2N is not set
++# CONFIG_PATA_HPT3X3 is not set
++# CONFIG_PATA_IT821X is not set
++# CONFIG_PATA_IT8213 is not set
++# CONFIG_PATA_JMICRON is not set
++# CONFIG_PATA_TRIFLEX is not set
++# CONFIG_PATA_MARVELL is not set
++# CONFIG_PATA_MPIIX is not set
++# CONFIG_PATA_OLDPIIX is not set
++# CONFIG_PATA_NETCELL is not set
++# CONFIG_PATA_NINJA32 is not set
++# CONFIG_PATA_NS87410 is not set
++# CONFIG_PATA_NS87415 is not set
++# CONFIG_PATA_OPTI is not set
++# CONFIG_PATA_OPTIDMA is not set
++# CONFIG_PATA_PDC_OLD is not set
++# CONFIG_PATA_RADISYS is not set
++# CONFIG_PATA_RZ1000 is not set
++# CONFIG_PATA_SC1200 is not set
++# CONFIG_PATA_SERVERWORKS is not set
++# CONFIG_PATA_PDC2027X is not set
++# CONFIG_PATA_SIL680 is not set
++# CONFIG_PATA_SIS is not set
++# CONFIG_PATA_VIA is not set
++# CONFIG_PATA_WINBOND is not set
++# CONFIG_PATA_PLATFORM is not set
++# CONFIG_PATA_SCH is not set
+ CONFIG_MD=y
+ CONFIG_BLK_DEV_MD=y
+ CONFIG_MD_LINEAR=y
+@@ -1230,6 +1284,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+ #
+ CONFIG_USB_ACM=m
+ CONFIG_USB_PRINTER=y
++# CONFIG_USB_WDM is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -1345,6 +1400,7 @@ CONFIG_USB_APPLEDISPLAY=m
+ # CONFIG_USB_TRANCEVIBRATOR is not set
+ # CONFIG_USB_IOWARRIOR is not set
+ # CONFIG_USB_TEST is not set
++# CONFIG_USB_ISIGHTFW is not set
+ # CONFIG_USB_GADGET is not set
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+diff --git a/arch/powerpc/configs/linkstation_defconfig b/arch/powerpc/configs/linkstation_defconfig
+index 22a943a..48434c2 100644
+--- a/arch/powerpc/configs/linkstation_defconfig
++++ b/arch/powerpc/configs/linkstation_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:10 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:10 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -31,6 +31,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -91,6 +93,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ # CONFIG_EMBEDDED is not set
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ # CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+@@ -118,12 +121,14 @@ CONFIG_HAVE_OPROFILE=y
+ # CONFIG_KPROBES is not set
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+ # CONFIG_MODVERSIONS is not set
+@@ -223,11 +228,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -251,6 +258,7 @@ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCI_DEBUG is not set
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -260,11 +268,11 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -313,8 +321,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IP_VS is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ CONFIG_NETFILTER=y
+ # CONFIG_NETFILTER_DEBUG is not set
+@@ -329,6 +335,7 @@ CONFIG_NF_CONNTRACK=m
+ # CONFIG_NF_CT_ACCT is not set
+ # CONFIG_NF_CONNTRACK_MARK is not set
+ # CONFIG_NF_CONNTRACK_EVENTS is not set
++# CONFIG_NF_CT_PROTO_DCCP is not set
+ CONFIG_NF_CT_PROTO_GRE=m
+ CONFIG_NF_CT_PROTO_SCTP=m
+ # CONFIG_NF_CT_PROTO_UDPLITE is not set
+@@ -407,6 +414,7 @@ CONFIG_IP_NF_TARGET_REDIRECT=m
+ # CONFIG_IP_NF_TARGET_NETMAP is not set
+ # CONFIG_NF_NAT_SNMP_BASIC is not set
+ CONFIG_NF_NAT_PROTO_GRE=m
++CONFIG_NF_NAT_PROTO_SCTP=m
+ CONFIG_NF_NAT_FTP=m
+ CONFIG_NF_NAT_IRC=m
+ CONFIG_NF_NAT_TFTP=m
+@@ -459,8 +467,6 @@ CONFIG_IEEE80211_DEBUG=y
+ CONFIG_IEEE80211_CRYPT_WEP=m
+ CONFIG_IEEE80211_CRYPT_CCMP=m
+ CONFIG_IEEE80211_CRYPT_TKIP=m
+-CONFIG_IEEE80211_SOFTMAC=m
+-CONFIG_IEEE80211_SOFTMAC_DEBUG=y
+ # CONFIG_RFKILL is not set
+ # CONFIG_NET_9P is not set
+ 
+@@ -486,6 +492,7 @@ CONFIG_MTD_PARTITIONS=y
+ # CONFIG_MTD_REDBOOT_PARTS is not set
+ # CONFIG_MTD_CMDLINE_PARTS is not set
+ # CONFIG_MTD_OF_PARTS is not set
++# CONFIG_MTD_AR7_PARTS is not set
+ 
+ #
+ # User Modules And Translation Layers
+@@ -565,6 +572,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1
+ #
+ # CONFIG_MTD_UBI is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -670,7 +678,11 @@ CONFIG_SCSI_LOWLEVEL=y
+ # CONFIG_SCSI_SRP is not set
+ CONFIG_ATA=y
+ # CONFIG_ATA_NONSTANDARD is not set
++CONFIG_SATA_PMP=y
+ # CONFIG_SATA_AHCI is not set
++# CONFIG_SATA_SIL24 is not set
++# CONFIG_SATA_FSL is not set
++CONFIG_ATA_SFF=y
+ # CONFIG_SATA_SVW is not set
+ # CONFIG_ATA_PIIX is not set
+ # CONFIG_SATA_MV is not set
+@@ -680,13 +692,11 @@ CONFIG_ATA=y
+ # CONFIG_SATA_PROMISE is not set
+ # CONFIG_SATA_SX4 is not set
+ # CONFIG_SATA_SIL is not set
+-# CONFIG_SATA_SIL24 is not set
+ # CONFIG_SATA_SIS is not set
+ # CONFIG_SATA_ULI is not set
+ # CONFIG_SATA_VIA is not set
+ # CONFIG_SATA_VITESSE is not set
+ # CONFIG_SATA_INIC162X is not set
+-# CONFIG_SATA_FSL is not set
+ # CONFIG_PATA_ALI is not set
+ # CONFIG_PATA_AMD is not set
+ # CONFIG_PATA_ARTOP is not set
+@@ -726,6 +736,7 @@ CONFIG_PATA_SIL680=y
+ # CONFIG_PATA_VIA is not set
+ # CONFIG_PATA_WINBOND is not set
+ # CONFIG_PATA_PLATFORM is not set
++# CONFIG_PATA_SCH is not set
+ # CONFIG_MD is not set
+ # CONFIG_FUSION is not set
+ 
+@@ -785,7 +796,6 @@ CONFIG_R8169=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -805,6 +815,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -812,6 +823,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ 
+ #
+ # USB Network Adapters
+@@ -886,6 +898,7 @@ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
+ # CONFIG_VT_HW_CONSOLE_BINDING is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -913,7 +926,6 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ CONFIG_HW_RANDOM=y
+ # CONFIG_NVRAM is not set
+-# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -924,13 +936,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -957,6 +962,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -966,19 +972,13 @@ CONFIG_SENSORS_EEPROM=m
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -1048,12 +1048,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ # CONFIG_DAB is not set
+ 
+ #
+@@ -1115,12 +1125,14 @@ CONFIG_USB_DEVICE_CLASS=y
+ #
+ # USB Host Controller Drivers
+ #
++# CONFIG_USB_C67X00_HCD is not set
+ CONFIG_USB_EHCI_HCD=y
+ # CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+ # CONFIG_USB_EHCI_TT_NEWSCHED is not set
+ # CONFIG_USB_EHCI_FSL is not set
+ CONFIG_USB_EHCI_HCD_PPC_OF=y
+ # CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_ISP1760_HCD is not set
+ CONFIG_USB_OHCI_HCD=y
+ CONFIG_USB_OHCI_HCD_PPC_OF=y
+ CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
+@@ -1138,6 +1150,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+ #
+ # CONFIG_USB_ACM is not set
+ CONFIG_USB_PRINTER=m
++# CONFIG_USB_WDM is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -1159,6 +1172,7 @@ CONFIG_USB_STORAGE=m
+ # CONFIG_USB_STORAGE_ALAUDA is not set
+ # CONFIG_USB_STORAGE_ONETOUCH is not set
+ # CONFIG_USB_STORAGE_KARMA is not set
++# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+ # CONFIG_USB_LIBUSUAL is not set
+ 
+ #
+@@ -1202,9 +1216,11 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
+ # CONFIG_USB_SERIAL_MCT_U232 is not set
+ # CONFIG_USB_SERIAL_MOS7720 is not set
+ # CONFIG_USB_SERIAL_MOS7840 is not set
++# CONFIG_USB_SERIAL_MOTOROLA is not set
+ # CONFIG_USB_SERIAL_NAVMAN is not set
+ # CONFIG_USB_SERIAL_PL2303 is not set
+ # CONFIG_USB_SERIAL_OTI6858 is not set
++# CONFIG_USB_SERIAL_SPCP8X5 is not set
+ # CONFIG_USB_SERIAL_HP4X is not set
+ # CONFIG_USB_SERIAL_SAFE is not set
+ # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
+@@ -1238,10 +1254,12 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
+ # CONFIG_USB_TRANCEVIBRATOR is not set
+ # CONFIG_USB_IOWARRIOR is not set
+ # CONFIG_USB_TEST is not set
++# CONFIG_USB_ISIGHTFW is not set
+ # CONFIG_USB_GADGET is not set
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+@@ -1293,11 +1311,8 @@ CONFIG_RTC_DRV_RS5C372=y
+ #
+ # on-CPU RTC drivers
+ #
++# CONFIG_RTC_DRV_PPC is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -1318,10 +1333,9 @@ CONFIG_FS_MBCACHE=y
+ CONFIG_FS_POSIX_ACL=y
+ CONFIG_XFS_FS=m
+ # 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_GFS2_FS is not set
++# CONFIG_XFS_DEBUG is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -1388,12 +1402,10 @@ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ CONFIG_NFS_V3_ACL=y
+ CONFIG_NFS_V4=y
+-# CONFIG_NFS_DIRECTIO is not set
+ CONFIG_NFSD=m
+ CONFIG_NFSD_V3=y
+ # CONFIG_NFSD_V3_ACL is not set
+ # CONFIG_NFSD_V4 is not set
+-CONFIG_NFSD_TCP=y
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+ CONFIG_LOCKD_V4=y
+@@ -1467,9 +1479,10 @@ CONFIG_NLS_UTF8=m
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ CONFIG_CRC_CCITT=m
+ # CONFIG_CRC16 is not set
+-# CONFIG_CRC_ITU_T is not set
++CONFIG_CRC_ITU_T=m
+ CONFIG_CRC32=y
+ # CONFIG_CRC7 is not set
+ CONFIG_LIBCRC32C=m
+@@ -1481,6 +1494,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -1488,6 +1502,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ CONFIG_MAGIC_SYSRQ=y
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1498,6 +1513,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_SLUB_DEBUG_ON is not set
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_RT_MUTEXES is not set
+@@ -1510,6 +1526,7 @@ CONFIG_SCHED_DEBUG=y
+ CONFIG_DEBUG_BUGVERBOSE=y
+ # CONFIG_DEBUG_INFO is not set
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -1521,6 +1538,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
+ # CONFIG_DEBUG_STACK_USAGE is not set
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_BDI_SWITCH is not set
+ # CONFIG_BOOTX_TEXT is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+@@ -1532,52 +1550,82 @@ CONFIG_DEBUG_BUGVERBOSE=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=m
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++CONFIG_CRYPTO_CRC32C=m
+ CONFIG_CRYPTO_MD4=m
+ CONFIG_CRYPTO_MD5=y
++CONFIG_CRYPTO_MICHAEL_MIC=m
+ CONFIG_CRYPTO_SHA1=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_GF128MUL is not set
+-CONFIG_CRYPTO_ECB=m
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-CONFIG_CRYPTO_BLOWFISH=m
+-CONFIG_CRYPTO_TWOFISH=m
+-CONFIG_CRYPTO_TWOFISH_COMMON=m
+-CONFIG_CRYPTO_SERPENT=m
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ CONFIG_CRYPTO_AES=m
++# CONFIG_CRYPTO_ANUBIS is not set
++CONFIG_CRYPTO_ARC4=m
++CONFIG_CRYPTO_BLOWFISH=m
++# CONFIG_CRYPTO_CAMELLIA is not set
+ # CONFIG_CRYPTO_CAST5 is not set
+ # CONFIG_CRYPTO_CAST6 is not set
+-# CONFIG_CRYPTO_TEA is not set
+-CONFIG_CRYPTO_ARC4=m
++CONFIG_CRYPTO_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++CONFIG_CRYPTO_SERPENT=m
++# CONFIG_CRYPTO_TEA is not set
++CONFIG_CRYPTO_TWOFISH=m
++CONFIG_CRYPTO_TWOFISH_COMMON=m
++
++#
++# Compression
++#
+ CONFIG_CRYPTO_DEFLATE=m
+-CONFIG_CRYPTO_MICHAEL_MIC=m
+-CONFIG_CRYPTO_CRC32C=m
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/mpc7448_hpc2_defconfig b/arch/powerpc/configs/mpc7448_hpc2_defconfig
+index a3d52e3..066c583 100644
+--- a/arch/powerpc/configs/mpc7448_hpc2_defconfig
++++ b/arch/powerpc/configs/mpc7448_hpc2_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:11 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:11 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -31,6 +31,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -86,6 +88,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+ CONFIG_HOTPLUG=y
+@@ -111,6 +114,7 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+@@ -209,11 +213,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -235,6 +241,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
+ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -244,11 +251,11 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -296,8 +303,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -454,7 +459,10 @@ CONFIG_SCSI_LOWLEVEL=y
+ # CONFIG_SCSI_SRP is not set
+ CONFIG_ATA=y
+ # CONFIG_ATA_NONSTANDARD is not set
++CONFIG_SATA_PMP=y
+ # CONFIG_SATA_AHCI is not set
++# CONFIG_SATA_SIL24 is not set
++CONFIG_ATA_SFF=y
+ # CONFIG_SATA_SVW is not set
+ # CONFIG_ATA_PIIX is not set
+ CONFIG_SATA_MV=y
+@@ -464,7 +472,6 @@ CONFIG_SATA_MV=y
+ # CONFIG_SATA_PROMISE is not set
+ # CONFIG_SATA_SX4 is not set
+ # CONFIG_SATA_SIL is not set
+-# CONFIG_SATA_SIL24 is not set
+ # CONFIG_SATA_SIS is not set
+ # CONFIG_SATA_ULI is not set
+ # CONFIG_SATA_VIA is not set
+@@ -509,6 +516,7 @@ CONFIG_SATA_MV=y
+ # CONFIG_PATA_VIA is not set
+ # CONFIG_PATA_WINBOND is not set
+ # CONFIG_PATA_PLATFORM is not set
++# CONFIG_PATA_SCH is not set
+ # CONFIG_MD is not set
+ # CONFIG_FUSION is not set
+ 
+@@ -596,7 +604,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -616,6 +623,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -623,6 +631,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+ # CONFIG_HIPPI is not set
+@@ -670,6 +679,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -705,12 +715,7 @@ CONFIG_GEN_RTC=y
+ # CONFIG_TCG_TPM is not set
+ CONFIG_DEVPORT=y
+ # CONFIG_I2C is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -743,12 +748,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -779,6 +794,8 @@ CONFIG_USB_ARCH_HAS_HCD=y
+ CONFIG_USB_ARCH_HAS_OHCI=y
+ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_USB is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -787,14 +804,11 @@ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -814,7 +828,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -871,7 +884,6 @@ CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ # CONFIG_NFS_V3 is not set
+ # CONFIG_NFS_V4 is not set
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -914,6 +926,7 @@ CONFIG_MSDOS_PARTITION=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -924,6 +937,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -931,6 +945,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -940,6 +955,7 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_SAMPLES is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_BOOTX_TEXT is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+@@ -950,48 +966,78 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
+-# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Crypto core or helper
++#
+ # CONFIG_CRYPTO_MANAGER is not set
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++# CONFIG_CRYPTO_CBC is not set
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++# CONFIG_CRYPTO_PCBC is not set
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ # CONFIG_CRYPTO_MD5 is not set
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-# CONFIG_CRYPTO_CBC is not set
+-# CONFIG_CRYPTO_PCBC is not set
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-# CONFIG_CRYPTO_DES is not set
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES is not set
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/mpc8272_ads_defconfig b/arch/powerpc/configs/mpc8272_ads_defconfig
+index 0264c57..30d7834 100644
+--- a/arch/powerpc/configs/mpc8272_ads_defconfig
++++ b/arch/powerpc/configs/mpc8272_ads_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:13 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:12 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -30,6 +30,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -70,18 +72,16 @@ CONFIG_IKCONFIG=y
+ CONFIG_IKCONFIG_PROC=y
+ CONFIG_LOG_BUF_SHIFT=14
+ # CONFIG_CGROUPS is not set
+-CONFIG_GROUP_SCHED=y
+-# CONFIG_FAIR_GROUP_SCHED is not set
+-CONFIG_USER_SCHED=y
+-# CONFIG_CGROUP_SCHED is not set
+ CONFIG_SYSFS_DEPRECATED=y
+ CONFIG_SYSFS_DEPRECATED_V2=y
+ # CONFIG_RELAY is not set
+ # CONFIG_NAMESPACES is not set
+ # CONFIG_BLK_DEV_INITRD is not set
++CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ CONFIG_KALLSYMS_ALL=y
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+@@ -108,6 +108,7 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+@@ -196,11 +197,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -224,6 +227,7 @@ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCI_DEBUG is not set
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -233,11 +237,11 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00400000
+ 
+ #
+ # Networking
+@@ -292,6 +296,7 @@ CONFIG_INET6_XFRM_MODE_TRANSPORT=y
+ CONFIG_INET6_XFRM_MODE_TUNNEL=y
+ CONFIG_INET6_XFRM_MODE_BEET=y
+ CONFIG_IPV6_SIT=y
++CONFIG_IPV6_NDISC_NODETYPE=y
+ # CONFIG_IPV6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ CONFIG_NETFILTER=y
+@@ -536,7 +541,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -554,6 +558,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -561,6 +566,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+ CONFIG_PPP=y
+@@ -634,6 +640,7 @@ CONFIG_SERIO_LIBPS2=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ 
+ #
+@@ -668,12 +675,7 @@ CONFIG_HW_RANDOM=y
+ # CONFIG_RAW_DRIVER is not set
+ CONFIG_DEVPORT=y
+ # CONFIG_I2C is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ # CONFIG_HWMON is not set
+@@ -690,12 +692,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -722,13 +734,10 @@ CONFIG_DAB=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -798,7 +807,6 @@ CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ CONFIG_NFS_V3_ACL=y
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -877,6 +885,7 @@ CONFIG_NLS_UTF8=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ CONFIG_CRC_CCITT=y
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -889,6 +898,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -896,6 +906,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ CONFIG_MAGIC_SYSRQ=y
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -906,6 +917,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_SLUB_DEBUG_ON is not set
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_RT_MUTEXES is not set
+@@ -918,6 +930,7 @@ CONFIG_SCHED_DEBUG=y
+ CONFIG_DEBUG_BUGVERBOSE=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -929,6 +942,7 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
+ # CONFIG_KGDB_CONSOLE is not set
++# CONFIG_IRQSTACKS is not set
+ CONFIG_BDI_SWITCH=y
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+@@ -938,45 +952,75 @@ CONFIG_BDI_SWITCH=y
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_MANAGER=y
+-# CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=y
++CONFIG_CRYPTO_PCBC=y
++
++#
++# Hash modes
++#
++# CONFIG_CRYPTO_HMAC is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-CONFIG_CRYPTO_ECB=y
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=y
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+ # CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ # CONFIG_CRYPTO_HW is not set
+ # CONFIG_PPC_CLOCK is not set
+ CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/mpc83xx_defconfig b/arch/powerpc/configs/mpc83xx_defconfig
+index 9e0dd82..4293c8b 100644
+--- a/arch/powerpc/configs/mpc83xx_defconfig
++++ b/arch/powerpc/configs/mpc83xx_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc9
+-# Tue Apr 15 18:07:36 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:14 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -31,6 +31,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -86,6 +88,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+ CONFIG_HOTPLUG=y
+@@ -111,12 +114,14 @@ CONFIG_HAVE_OPROFILE=y
+ # CONFIG_KPROBES is not set
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+ # CONFIG_MODVERSIONS is not set
+@@ -201,7 +206,6 @@ CONFIG_PREEMPT_NONE=y
+ # CONFIG_PREEMPT is not set
+ CONFIG_BINFMT_ELF=y
+ # CONFIG_BINFMT_MISC is not set
+-CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_MATH_EMULATION=y
+ # CONFIG_IOMMU_HELPER is not set
+ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+@@ -217,11 +221,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -240,6 +246,7 @@ CONFIG_FSL_SOC=y
+ # CONFIG_PCI_SYSCALL is not set
+ # CONFIG_ARCH_SUPPORTS_MSI is not set
+ # CONFIG_PCCARD is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -249,11 +256,11 @@ CONFIG_FSL_SOC=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -301,8 +308,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -361,6 +366,7 @@ CONFIG_MTD_PARTITIONS=y
+ # CONFIG_MTD_REDBOOT_PARTS is not set
+ # CONFIG_MTD_CMDLINE_PARTS is not set
+ CONFIG_MTD_OF_PARTS=y
++# CONFIG_MTD_AR7_PARTS is not set
+ 
+ #
+ # User Modules And Translation Layers
+@@ -439,6 +445,7 @@ CONFIG_MTD_NAND_FSL_ELBC=y
+ #
+ # CONFIG_MTD_UBI is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -501,8 +508,10 @@ CONFIG_SCSI_LOWLEVEL=y
+ # CONFIG_SCSI_DEBUG is not set
+ CONFIG_ATA=y
+ # CONFIG_ATA_NONSTANDARD is not set
+-# CONFIG_SATA_MV is not set
++CONFIG_SATA_PMP=y
+ CONFIG_SATA_FSL=y
++CONFIG_ATA_SFF=y
++# CONFIG_SATA_MV is not set
+ # CONFIG_PATA_PLATFORM is not set
+ # CONFIG_MD is not set
+ # CONFIG_MACINTOSH_DRIVERS is not set
+@@ -554,6 +563,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ 
+ #
+ # USB Network Adapters
+@@ -607,6 +617,7 @@ CONFIG_INPUT=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ 
+ #
+@@ -642,13 +653,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ CONFIG_I2C_MPC=y
+@@ -658,6 +662,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_TAOS_EVM is not set
+ # CONFIG_I2C_STUB is not set
+ # CONFIG_I2C_TINY_USB is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -667,19 +672,13 @@ CONFIG_I2C_MPC=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -757,12 +756,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ # CONFIG_USB_DABUSB is not set
+ 
+@@ -810,16 +819,20 @@ CONFIG_USB=y
+ CONFIG_USB_DEVICE_CLASS=y
+ # CONFIG_USB_DYNAMIC_MINORS is not set
+ # CONFIG_USB_OTG is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # USB Host Controller Drivers
+ #
++# CONFIG_USB_C67X00_HCD is not set
+ CONFIG_USB_EHCI_HCD=y
+ CONFIG_USB_EHCI_ROOT_HUB_TT=y
+ # CONFIG_USB_EHCI_TT_NEWSCHED is not set
+ CONFIG_USB_EHCI_FSL=y
+ CONFIG_USB_EHCI_HCD_PPC_OF=y
+ # CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_ISP1760_HCD is not set
+ # CONFIG_USB_SL811_HCD is not set
+ # CONFIG_USB_R8A66597_HCD is not set
+ 
+@@ -828,6 +841,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
+ #
+ # CONFIG_USB_ACM is not set
+ # CONFIG_USB_PRINTER is not set
++# CONFIG_USB_WDM is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -873,17 +887,15 @@ CONFIG_USB_MON=y
+ # CONFIG_USB_LD is not set
+ # CONFIG_USB_TRANCEVIBRATOR is not set
+ # CONFIG_USB_IOWARRIOR is not set
++# CONFIG_USB_ISIGHTFW is not set
+ # CONFIG_USB_GADGET is not set
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -903,7 +915,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -962,7 +973,6 @@ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -1009,6 +1019,7 @@ CONFIG_UCC=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -1027,6 +1038,7 @@ CONFIG_HAVE_LMB=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1034,6 +1046,7 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_DEBUG_KERNEL is not set
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_SAMPLES is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+ #
+@@ -1043,51 +1056,81 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=m
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-CONFIG_CRYPTO_ECB=m
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_PPC_CLOCK is not set
+ CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/mpc85xx_defconfig b/arch/powerpc/configs/mpc85xx_defconfig
+index 2075722..3efab71 100644
+--- a/arch/powerpc/configs/mpc85xx_defconfig
++++ b/arch/powerpc/configs/mpc85xx_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc7
+-# Mon Mar 31 11:37:08 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 09:03:46 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -32,6 +32,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -90,6 +92,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ CONFIG_KALLSYMS_ALL=y
+ CONFIG_KALLSYMS_EXTRA_PASS=y
+@@ -117,12 +120,14 @@ CONFIG_HAVE_OPROFILE=y
+ # CONFIG_KPROBES is not set
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ CONFIG_MODULE_FORCE_UNLOAD=y
+ CONFIG_MODVERSIONS=y
+@@ -162,6 +167,7 @@ CONFIG_MPC8560_ADS=y
+ CONFIG_MPC85xx_CDS=y
+ CONFIG_MPC85xx_MDS=y
+ CONFIG_MPC85xx_DS=y
++CONFIG_KSI8560=y
+ # CONFIG_STX_GP3 is not set
+ CONFIG_TQM8540=y
+ CONFIG_TQM8541=y
+@@ -221,11 +227,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -250,6 +258,7 @@ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCI_DEBUG is not set
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -259,11 +268,12 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
++CONFIG_PHYSICAL_ALIGN=0x10000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -334,8 +344,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=y
+ CONFIG_INET6_XFRM_MODE_BEET=y
+ # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+ CONFIG_IPV6_SIT=y
++CONFIG_IPV6_NDISC_NODETYPE=y
+ # CONFIG_IPV6_TUNNEL is not set
+ # CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_IPV6_MROUTE is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -397,6 +409,7 @@ CONFIG_FW_LOADER=y
+ # CONFIG_CONNECTOR is not set
+ # CONFIG_MTD is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -503,7 +516,11 @@ CONFIG_SCSI_LOWLEVEL=y
+ # CONFIG_SCSI_SRP is not set
+ CONFIG_ATA=y
+ # CONFIG_ATA_NONSTANDARD is not set
++CONFIG_SATA_PMP=y
+ CONFIG_SATA_AHCI=y
++# CONFIG_SATA_SIL24 is not set
++CONFIG_SATA_FSL=y
++CONFIG_ATA_SFF=y
+ # CONFIG_SATA_SVW is not set
+ # CONFIG_ATA_PIIX is not set
+ # CONFIG_SATA_MV is not set
+@@ -513,13 +530,11 @@ CONFIG_SATA_AHCI=y
+ # CONFIG_SATA_PROMISE is not set
+ # CONFIG_SATA_SX4 is not set
+ # CONFIG_SATA_SIL is not set
+-# CONFIG_SATA_SIL24 is not set
+ # CONFIG_SATA_SIS is not set
+ # CONFIG_SATA_ULI is not set
+ # CONFIG_SATA_VIA is not set
+ # CONFIG_SATA_VITESSE is not set
+ # CONFIG_SATA_INIC162X is not set
+-# CONFIG_SATA_FSL is not set
+ CONFIG_PATA_ALI=y
+ # CONFIG_PATA_AMD is not set
+ # CONFIG_PATA_ARTOP is not set
+@@ -559,6 +574,7 @@ CONFIG_PATA_ALI=y
+ # CONFIG_PATA_VIA is not set
+ # CONFIG_PATA_WINBOND is not set
+ # CONFIG_PATA_PLATFORM is not set
++# CONFIG_PATA_SCH is not set
+ # CONFIG_MD is not set
+ # CONFIG_FUSION is not set
+ 
+@@ -625,7 +641,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -646,6 +661,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -653,6 +669,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ 
+ #
+ # USB Network Adapters
+@@ -717,6 +734,7 @@ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
+ # CONFIG_VT_HW_CONSOLE_BINDING is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -750,7 +768,6 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ # CONFIG_HW_RANDOM is not set
+ CONFIG_NVRAM=y
+-# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -761,13 +778,6 @@ CONFIG_I2C_BOARDINFO=y
+ # CONFIG_I2C_CHARDEV is not set
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -794,6 +804,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -803,19 +814,13 @@ CONFIG_SENSORS_EEPROM=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ # CONFIG_HWMON is not set
+@@ -832,13 +837,33 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ CONFIG_DVB_CORE=m
+-# CONFIG_DVB_CORE_ATTACH is not set
++CONFIG_VIDEO_MEDIA=m
++
++#
++# Multimedia drivers
++#
++# CONFIG_MEDIA_ATTACH is not set
++CONFIG_MEDIA_TUNER=m
++# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
++CONFIG_MEDIA_TUNER_SIMPLE=m
++CONFIG_MEDIA_TUNER_TDA8290=m
++CONFIG_MEDIA_TUNER_TDA9887=m
++CONFIG_MEDIA_TUNER_TEA5761=m
++CONFIG_MEDIA_TUNER_TEA5767=m
++CONFIG_MEDIA_TUNER_MT20XX=m
++CONFIG_MEDIA_TUNER_XC2028=m
++CONFIG_MEDIA_TUNER_XC5000=m
+ CONFIG_DVB_CAPTURE_DRIVERS=y
+ 
+ #
+@@ -881,14 +906,17 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
+ #
+ # DVB-S (satellite) frontends
+ #
+-# CONFIG_DVB_STV0299 is not set
+ # CONFIG_DVB_CX24110 is not set
+ # CONFIG_DVB_CX24123 is not set
+-# CONFIG_DVB_TDA8083 is not set
+ # CONFIG_DVB_MT312 is not set
+-# CONFIG_DVB_VES1X93 is not set
+ # CONFIG_DVB_S5H1420 is not set
++# CONFIG_DVB_STV0299 is not set
++# CONFIG_DVB_TDA8083 is not set
+ # CONFIG_DVB_TDA10086 is not set
++# CONFIG_DVB_VES1X93 is not set
++# CONFIG_DVB_TUNER_ITD1000 is not set
++# CONFIG_DVB_TDA826X is not set
++# CONFIG_DVB_TUA6100 is not set
+ 
+ #
+ # DVB-T (terrestrial) frontends
+@@ -906,6 +934,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
+ # CONFIG_DVB_DIB3000MC is not set
+ # CONFIG_DVB_DIB7000M is not set
+ # CONFIG_DVB_DIB7000P is not set
++# CONFIG_DVB_TDA10048 is not set
+ 
+ #
+ # DVB-C (cable) frontends
+@@ -924,27 +953,21 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
+ # CONFIG_DVB_BCM3510 is not set
+ # CONFIG_DVB_LGDT330X is not set
+ # CONFIG_DVB_S5H1409 is not set
++# CONFIG_DVB_AU8522 is not set
++# CONFIG_DVB_S5H1411 is not set
+ 
+ #
+-# Tuners/PLL support
++# Digital terrestrial only tuners/PLL
+ #
+ # CONFIG_DVB_PLL is not set
+-# CONFIG_DVB_TDA826X is not set
+-# CONFIG_DVB_TDA827X is not set
+-# CONFIG_DVB_TDA18271 is not set
+-# CONFIG_DVB_TUNER_QT1010 is not set
+-# CONFIG_DVB_TUNER_MT2060 is not set
+-# CONFIG_DVB_TUNER_MT2266 is not set
+-# CONFIG_DVB_TUNER_MT2131 is not set
+ # CONFIG_DVB_TUNER_DIB0070 is not set
+-# CONFIG_DVB_TUNER_XC5000 is not set
+ 
+ #
+-# Miscellaneous devices
++# SEC control devices for DVB-S
+ #
+ # CONFIG_DVB_LNBP21 is not set
++# CONFIG_DVB_ISL6405 is not set
+ # CONFIG_DVB_ISL6421 is not set
+-# CONFIG_DVB_TUA6100 is not set
+ CONFIG_DAB=y
+ # CONFIG_USB_DABUSB is not set
+ 
+@@ -1011,6 +1034,7 @@ CONFIG_SND_AC97_CODEC=y
+ # CONFIG_SND_AU8810 is not set
+ # CONFIG_SND_AU8820 is not set
+ # CONFIG_SND_AU8830 is not set
++# CONFIG_SND_AW2 is not set
+ # CONFIG_SND_AZT3328 is not set
+ # CONFIG_SND_BT87X is not set
+ # CONFIG_SND_CA0106 is not set
+@@ -1085,11 +1109,11 @@ CONFIG_SND_INTEL8X0=y
+ # CONFIG_SND_SOC is not set
+ 
+ #
+-# SoC Audio support for SuperH
++# ALSA SoC audio for Freescale SOCs
+ #
+ 
+ #
+-# ALSA SoC audio for Freescale SOCs
++# SoC Audio for the Texas Instruments OMAP
+ #
+ 
+ #
+@@ -1124,16 +1148,20 @@ CONFIG_USB_DEVICEFS=y
+ CONFIG_USB_DEVICE_CLASS=y
+ # CONFIG_USB_DYNAMIC_MINORS is not set
+ # CONFIG_USB_OTG is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # USB Host Controller Drivers
+ #
++# CONFIG_USB_C67X00_HCD is not set
+ CONFIG_USB_EHCI_HCD=y
+-# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
++CONFIG_USB_EHCI_ROOT_HUB_TT=y
+ # CONFIG_USB_EHCI_TT_NEWSCHED is not set
+-# CONFIG_USB_EHCI_FSL is not set
++CONFIG_USB_EHCI_FSL=y
+ CONFIG_USB_EHCI_HCD_PPC_OF=y
+ # CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_ISP1760_HCD is not set
+ CONFIG_USB_OHCI_HCD=y
+ CONFIG_USB_OHCI_HCD_PPC_OF=y
+ CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
+@@ -1151,6 +1179,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+ #
+ # CONFIG_USB_ACM is not set
+ # CONFIG_USB_PRINTER is not set
++# CONFIG_USB_WDM is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -1170,7 +1199,9 @@ CONFIG_USB_STORAGE=y
+ # CONFIG_USB_STORAGE_SDDR55 is not set
+ # CONFIG_USB_STORAGE_JUMPSHOT is not set
+ # CONFIG_USB_STORAGE_ALAUDA is not set
++# CONFIG_USB_STORAGE_ONETOUCH is not set
+ # CONFIG_USB_STORAGE_KARMA is not set
++# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+ # CONFIG_USB_LIBUSUAL is not set
+ 
+ #
+@@ -1208,12 +1239,21 @@ CONFIG_USB_MON=y
+ # CONFIG_USB_TRANCEVIBRATOR is not set
+ # CONFIG_USB_IOWARRIOR is not set
+ # CONFIG_USB_TEST is not set
++# CONFIG_USB_ISIGHTFW is not set
+ # CONFIG_USB_GADGET is not set
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+-# CONFIG_EDAC is not set
++CONFIG_EDAC=y
++
++#
++# Reporting subsystems
++#
++# CONFIG_EDAC_DEBUG is not set
++CONFIG_EDAC_MM_EDAC=y
++CONFIG_EDAC_MPC85XX=y
+ CONFIG_RTC_LIB=y
+ CONFIG_RTC_CLASS=y
+ CONFIG_RTC_HCTOSYS=y
+@@ -1263,11 +1303,19 @@ CONFIG_RTC_DRV_CMOS=y
+ #
+ # on-CPU RTC drivers
+ #
+-# CONFIG_DMADEVICES is not set
++# CONFIG_RTC_DRV_PPC is not set
++CONFIG_DMADEVICES=y
+ 
+ #
+-# Userspace I/O
++# DMA Devices
+ #
++CONFIG_FSL_DMA=y
++CONFIG_DMA_ENGINE=y
++
++#
++# DMA Clients
++#
++# CONFIG_NET_DMA is not set
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -1287,7 +1335,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -1357,10 +1404,9 @@ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+-# CONFIG_NFS_DIRECTIO is not set
+ CONFIG_NFSD=y
+ # CONFIG_NFSD_V3 is not set
+-CONFIG_NFSD_TCP=y
++# CONFIG_NFSD_V4 is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+ CONFIG_LOCKD_V4=y
+@@ -1444,9 +1490,10 @@ CONFIG_NLS_UTF8=m
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+-# CONFIG_CRC_ITU_T is not set
++CONFIG_CRC_ITU_T=m
+ CONFIG_CRC32=y
+ # CONFIG_CRC7 is not set
+ CONFIG_LIBCRC32C=m
+@@ -1455,6 +1502,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -1462,6 +1510,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1472,6 +1521,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_SLUB_DEBUG_ON is not set
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_RT_MUTEXES is not set
+@@ -1485,6 +1535,7 @@ CONFIG_SCHED_DEBUG=y
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -1497,6 +1548,7 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
+ # CONFIG_KGDB_CONSOLE is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_BDI_SWITCH is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+@@ -1507,53 +1559,83 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_HASH=y
+ CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ CONFIG_CRYPTO_HMAC=y
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ CONFIG_CRYPTO_SHA1=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_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
+ CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/mpc8610_hpcd_defconfig b/arch/powerpc/configs/mpc8610_hpcd_defconfig
+index 7e5b9ce..5612d40 100644
+--- a/arch/powerpc/configs/mpc8610_hpcd_defconfig
++++ b/arch/powerpc/configs/mpc8610_hpcd_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:33 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:50:24 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -31,6 +31,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -60,9 +62,10 @@ CONFIG_EXPERIMENTAL=y
+ CONFIG_BROKEN_ON_SMP=y
+ CONFIG_INIT_ENV_ARG_LIMIT=32
+ CONFIG_LOCALVERSION=""
+-# CONFIG_LOCALVERSION_AUTO is not set
++CONFIG_LOCALVERSION_AUTO=y
+ # CONFIG_SWAP is not set
+-# CONFIG_SYSVIPC is not set
++CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
+ # CONFIG_POSIX_MQUEUE is not set
+ # CONFIG_BSD_PROCESS_ACCT is not set
+ # CONFIG_TASKSTATS is not set
+@@ -86,6 +89,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ # CONFIG_KALLSYMS_ALL is not set
+ CONFIG_KALLSYMS_EXTRA_PASS=y
+@@ -110,14 +114,22 @@ CONFIG_SLUB=y
+ # CONFIG_PROFILING is not set
+ # CONFIG_MARKERS is not set
+ CONFIG_HAVE_OPROFILE=y
++# CONFIG_KPROBES is not set
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+-# CONFIG_MODULES is not set
++CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
++CONFIG_MODULE_UNLOAD=y
++# CONFIG_MODULE_FORCE_UNLOAD is not set
++# CONFIG_MODVERSIONS is not set
++# CONFIG_MODULE_SRCVERSION_ALL is not set
++CONFIG_KMOD=y
+ CONFIG_BLOCK=y
+ # CONFIG_LBD is not set
+ # CONFIG_BLK_DEV_IO_TRACE is not set
+@@ -151,6 +163,7 @@ CONFIG_PPC_86xx=y
+ # CONFIG_PPC_CELL_NATIVE is not set
+ # CONFIG_PQ2ADS is not set
+ # CONFIG_MPC8641_HPCN is not set
++# CONFIG_SBC8641D is not set
+ CONFIG_MPC8610_HPCD=y
+ CONFIG_MPC8610=y
+ # CONFIG_IPIC is not set
+@@ -199,11 +212,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=12
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -223,12 +238,14 @@ CONFIG_PCI_DOMAINS=y
+ CONFIG_PCI_SYSCALL=y
+ CONFIG_PCIEPORTBUS=y
+ CONFIG_PCIEAER=y
++# CONFIG_PCIEASPM is not set
+ CONFIG_ARCH_SUPPORTS_MSI=y
+ # CONFIG_PCI_MSI is not set
+ CONFIG_PCI_LEGACY=y
+ CONFIG_PCI_DEBUG=y
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -238,11 +255,11 @@ CONFIG_PCI_DEBUG=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -303,8 +320,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=y
+ CONFIG_INET6_XFRM_MODE_BEET=y
+ # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+ CONFIG_IPV6_SIT=y
++CONFIG_IPV6_NDISC_NODETYPE=y
+ # CONFIG_IPV6_TUNNEL is not set
+ # CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_IPV6_MROUTE is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -446,6 +465,7 @@ CONFIG_MTD_NAND_FSL_ELBC=y
+ #
+ # CONFIG_MTD_UBI is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -504,6 +524,7 @@ CONFIG_CHR_DEV_SG=y
+ # CONFIG_SCSI_CONSTANTS is not set
+ # CONFIG_SCSI_LOGGING is not set
+ # CONFIG_SCSI_SCAN_ASYNC is not set
++CONFIG_SCSI_WAIT_SCAN=m
+ 
+ #
+ # SCSI Transports
+@@ -553,7 +574,11 @@ CONFIG_SCSI_LOWLEVEL=y
+ # CONFIG_SCSI_SRP is not set
+ CONFIG_ATA=y
+ # CONFIG_ATA_NONSTANDARD is not set
++CONFIG_SATA_PMP=y
+ CONFIG_SATA_AHCI=y
++# CONFIG_SATA_SIL24 is not set
++# CONFIG_SATA_FSL is not set
++CONFIG_ATA_SFF=y
+ # CONFIG_SATA_SVW is not set
+ # CONFIG_ATA_PIIX is not set
+ # CONFIG_SATA_MV is not set
+@@ -563,13 +588,11 @@ CONFIG_SATA_AHCI=y
+ # CONFIG_SATA_PROMISE is not set
+ # CONFIG_SATA_SX4 is not set
+ # CONFIG_SATA_SIL is not set
+-# CONFIG_SATA_SIL24 is not set
+ # CONFIG_SATA_SIS is not set
+ # CONFIG_SATA_ULI is not set
+ # CONFIG_SATA_VIA is not set
+ # CONFIG_SATA_VITESSE is not set
+ # CONFIG_SATA_INIC162X is not set
+-# CONFIG_SATA_FSL is not set
+ CONFIG_PATA_ALI=y
+ # CONFIG_PATA_AMD is not set
+ # CONFIG_PATA_ARTOP is not set
+@@ -609,6 +632,7 @@ CONFIG_PATA_ALI=y
+ # CONFIG_PATA_VIA is not set
+ # CONFIG_PATA_WINBOND is not set
+ # CONFIG_PATA_PLATFORM is not set
++# CONFIG_PATA_SCH is not set
+ # CONFIG_MD is not set
+ # CONFIG_FUSION is not set
+ 
+@@ -628,25 +652,9 @@ CONFIG_DUMMY=y
+ # CONFIG_TUN is not set
+ # CONFIG_VETH is not set
+ # CONFIG_ARCNET is not set
+-CONFIG_PHYLIB=y
+-
+-#
+-# MII PHY device drivers
+-#
+-# CONFIG_MARVELL_PHY is not set
+-# CONFIG_DAVICOM_PHY is not set
+-# CONFIG_QSEMI_PHY is not set
+-# CONFIG_LXT_PHY is not set
+-# CONFIG_CICADA_PHY is not set
+-# CONFIG_VITESSE_PHY is not set
+-# CONFIG_SMSC_PHY is not set
+-# CONFIG_BROADCOM_PHY is not set
+-# CONFIG_ICPLUS_PHY is not set
+-# CONFIG_REALTEK_PHY is not set
+-# CONFIG_FIXED_PHY is not set
+-# CONFIG_MDIO_BITBANG is not set
++# CONFIG_PHYLIB is not set
+ CONFIG_NET_ETHERNET=y
+-CONFIG_MII=y
++# CONFIG_MII is not set
+ # CONFIG_HAPPYMEAL is not set
+ # CONFIG_SUNGEM is not set
+ # CONFIG_CASSINI is not set
+@@ -663,64 +671,10 @@ CONFIG_ULI526X=y
+ # CONFIG_IBM_NEW_EMAC_RGMII is not set
+ # CONFIG_IBM_NEW_EMAC_TAH is not set
+ # CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+-CONFIG_NET_PCI=y
+-# CONFIG_PCNET32 is not set
+-# CONFIG_AMD8111_ETH is not set
+-# CONFIG_ADAPTEC_STARFIRE is not set
++# CONFIG_NET_PCI is not set
+ # CONFIG_B44 is not set
+-# CONFIG_FORCEDETH is not set
+-# CONFIG_EEPRO100 is not set
+-# CONFIG_E100 is not set
+-# CONFIG_FEALNX is not set
+-# CONFIG_NATSEMI is not set
+-# CONFIG_NE2K_PCI is not set
+-# CONFIG_8139CP is not set
+-CONFIG_8139TOO=y
+-CONFIG_8139TOO_PIO=y
+-# CONFIG_8139TOO_TUNE_TWISTER is not set
+-# CONFIG_8139TOO_8129 is not set
+-# CONFIG_8139_OLD_RX_RESET is not set
+-# CONFIG_R6040 is not set
+-# CONFIG_SIS900 is not set
+-# CONFIG_EPIC100 is not set
+-# CONFIG_SUNDANCE is not set
+-# CONFIG_TLAN is not set
+-# CONFIG_VIA_RHINE is not set
+-# CONFIG_SC92031 is not set
+-CONFIG_NETDEV_1000=y
+-# CONFIG_ACENIC is not set
+-# CONFIG_DL2K is not set
+-# CONFIG_E1000 is not set
+-# CONFIG_E1000E is not set
+-# CONFIG_E1000E_ENABLED is not set
+-# CONFIG_IP1000 is not set
+-# CONFIG_IGB is not set
+-# 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_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+-# CONFIG_VIA_VELOCITY is not set
+-# CONFIG_TIGON3 is not set
+-# CONFIG_BNX2 is not set
+-# CONFIG_GIANFAR is not set
+-# CONFIG_QLA3XXX is not set
+-# CONFIG_ATL1 is not set
+-CONFIG_NETDEV_10000=y
+-# CONFIG_CHELSIO_T1 is not set
+-# CONFIG_CHELSIO_T3 is not set
+-# CONFIG_IXGBE is not set
+-# CONFIG_IXGB is not set
+-# CONFIG_S2IO is not set
+-# CONFIG_MYRI10GE is not set
+-# CONFIG_NETXEN_NIC is not set
+-# CONFIG_NIU is not set
+-# CONFIG_MLX4_CORE is not set
+-# CONFIG_TEHUTI is not set
+-# CONFIG_BNX2X is not set
++# CONFIG_NETDEV_1000 is not set
++# CONFIG_NETDEV_10000 is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -728,6 +682,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+ # CONFIG_HIPPI is not set
+@@ -783,6 +738,7 @@ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
+ # CONFIG_VT_HW_CONSOLE_BINDING is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -824,13 +780,6 @@ CONFIG_I2C_BOARDINFO=y
+ # CONFIG_I2C_CHARDEV is not set
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -852,9 +801,11 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_SIS630 is not set
+ # CONFIG_I2C_SIS96X is not set
+ # CONFIG_I2C_TAOS_EVM is not set
++# CONFIG_I2C_STUB is not set
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -864,19 +815,13 @@ CONFIG_I2C_MPC=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ # CONFIG_HWMON is not set
+@@ -893,12 +838,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -908,7 +863,56 @@ CONFIG_DAB=y
+ # CONFIG_DRM is not set
+ # CONFIG_VGASTATE is not set
+ CONFIG_VIDEO_OUTPUT_CONTROL=y
+-# CONFIG_FB is not set
++CONFIG_FB=y
++# CONFIG_FIRMWARE_EDID is not set
++# CONFIG_FB_DDC is not set
++CONFIG_FB_CFB_FILLRECT=y
++CONFIG_FB_CFB_COPYAREA=y
++CONFIG_FB_CFB_IMAGEBLIT=y
++# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
++# CONFIG_FB_SYS_FILLRECT is not set
++# CONFIG_FB_SYS_COPYAREA is not set
++# CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_FOREIGN_ENDIAN is not set
++# CONFIG_FB_SYS_FOPS is not set
++# CONFIG_FB_SVGALIB is not set
++# CONFIG_FB_MACMODES is not set
++# CONFIG_FB_BACKLIGHT is not set
++# CONFIG_FB_MODE_HELPERS is not set
++# CONFIG_FB_TILEBLITTING is not set
++
++#
++# Frame buffer hardware drivers
++#
++# CONFIG_FB_CIRRUS is not set
++# CONFIG_FB_PM2 is not set
++# CONFIG_FB_CYBER2000 is not set
++# CONFIG_FB_OF is not set
++# CONFIG_FB_CT65550 is not set
++# CONFIG_FB_ASILIANT is not set
++# CONFIG_FB_IMSTT is not set
++# CONFIG_FB_VGA16 is not set
++# CONFIG_FB_S1D13XXX is not set
++# CONFIG_FB_NVIDIA is not set
++# CONFIG_FB_RIVA is not set
++# CONFIG_FB_MATROX is not set
++# CONFIG_FB_RADEON is not set
++# CONFIG_FB_ATY128 is not set
++# CONFIG_FB_ATY is not set
++# CONFIG_FB_S3 is not set
++# CONFIG_FB_SAVAGE is not set
++# CONFIG_FB_SIS is not set
++# CONFIG_FB_NEOMAGIC is not set
++# CONFIG_FB_KYRO is not set
++# CONFIG_FB_3DFX is not set
++# CONFIG_FB_VOODOO1 is not set
++# CONFIG_FB_VT8623 is not set
++# CONFIG_FB_TRIDENT is not set
++# CONFIG_FB_ARK is not set
++# CONFIG_FB_PM3 is not set
++CONFIG_FB_FSL_DIU=y
++# CONFIG_FB_IBM_GXT4500 is not set
++# CONFIG_FB_VIRTUAL is not set
+ # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+ 
+ #
+@@ -922,6 +926,8 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
+ CONFIG_VGA_CONSOLE=y
+ # CONFIG_VGACON_SOFT_SCROLLBACK is not set
+ CONFIG_DUMMY_CONSOLE=y
++# CONFIG_FRAMEBUFFER_CONSOLE is not set
++# CONFIG_LOGO is not set
+ 
+ #
+ # Sound
+@@ -938,7 +944,7 @@ CONFIG_SND_PCM=y
+ CONFIG_SND_OSSEMUL=y
+ CONFIG_SND_MIXER_OSS=y
+ CONFIG_SND_PCM_OSS=y
+-# CONFIG_SND_PCM_OSS_PLUGINS is not set
++CONFIG_SND_PCM_OSS_PLUGINS=y
+ # CONFIG_SND_DYNAMIC_MINORS is not set
+ # CONFIG_SND_SUPPORT_OLD_API is not set
+ CONFIG_SND_VERBOSE_PROCFS=y
+@@ -965,6 +971,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
+ # CONFIG_SND_AU8810 is not set
+ # CONFIG_SND_AU8820 is not set
+ # CONFIG_SND_AU8830 is not set
++# CONFIG_SND_AW2 is not set
+ # CONFIG_SND_AZT3328 is not set
+ # CONFIG_SND_BT87X is not set
+ # CONFIG_SND_CA0106 is not set
+@@ -1031,14 +1038,14 @@ CONFIG_SND_VERBOSE_PROCFS=y
+ CONFIG_SND_SOC=y
+ 
+ #
+-# SoC Audio support for SuperH
+-#
+-
+-#
+ # ALSA SoC audio for Freescale SOCs
+ #
+ CONFIG_SND_SOC_MPC8610=y
+ CONFIG_SND_SOC_MPC8610_HPCD=y
++
++#
++# SoC Audio for the Texas Instruments OMAP
++#
+ CONFIG_SND_SOC_CS4270=y
+ CONFIG_SND_SOC_CS4270_VD33_ERRATA=y
+ 
+@@ -1055,6 +1062,8 @@ CONFIG_USB_ARCH_HAS_HCD=y
+ CONFIG_USB_ARCH_HAS_OHCI=y
+ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_USB is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -1063,14 +1072,11 @@ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -1090,7 +1096,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ # CONFIG_DNOTIFY is not set
+ # CONFIG_INOTIFY is not set
+@@ -1134,6 +1139,7 @@ CONFIG_TMPFS=y
+ # CONFIG_BEFS_FS is not set
+ # CONFIG_BFS_FS is not set
+ # CONFIG_EFS_FS is not set
++# CONFIG_JFFS2_FS is not set
+ # CONFIG_CRAMFS is not set
+ # CONFIG_VXFS_FS is not set
+ # CONFIG_MINIX_FS is not set
+@@ -1147,10 +1153,9 @@ 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 is not set
+-CONFIG_NFSD_TCP=y
++# CONFIG_NFSD_V4 is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+ CONFIG_LOCKD_V4=y
+@@ -1234,6 +1239,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -1244,6 +1250,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -1251,6 +1258,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1261,6 +1269,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_SLUB_DEBUG_ON is not set
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_RT_MUTEXES is not set
+@@ -1274,9 +1283,11 @@ CONFIG_SCHED_DEBUG=y
+ CONFIG_DEBUG_BUGVERBOSE=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
++# CONFIG_RCU_TORTURE_TEST is not set
+ # CONFIG_BACKTRACE_SELF_TEST is not set
+ # CONFIG_FAULT_INJECTION is not set
+ # CONFIG_SAMPLES is not set
+@@ -1284,6 +1295,7 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_STACK_USAGE is not set
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_BDI_SWITCH is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+@@ -1294,48 +1306,80 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
+-# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Crypto core or helper
++#
+ # CONFIG_CRYPTO_MANAGER is not set
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++# CONFIG_CRYPTO_CBC is not set
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++# CONFIG_CRYPTO_PCBC is not set
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ # CONFIG_CRYPTO_MD5 is not set
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-# CONFIG_CRYPTO_CBC is not set
+-# CONFIG_CRYPTO_PCBC is not set
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-# CONFIG_CRYPTO_DES is not set
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES is not set
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
++CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/mpc8641_hpcn_defconfig b/arch/powerpc/configs/mpc8641_hpcn_defconfig
+index d01dcdb..4a81715 100644
+--- a/arch/powerpc/configs/mpc8641_hpcn_defconfig
++++ b/arch/powerpc/configs/mpc8641_hpcn_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc7
+-# Mon Mar 31 11:37:11 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:15 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -32,6 +32,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -90,6 +92,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ CONFIG_KALLSYMS_ALL=y
+ CONFIG_KALLSYMS_EXTRA_PASS=y
+@@ -117,12 +120,14 @@ CONFIG_HAVE_OPROFILE=y
+ # CONFIG_KPROBES is not set
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ CONFIG_MODULE_FORCE_UNLOAD=y
+ CONFIG_MODVERSIONS=y
+@@ -162,6 +167,7 @@ CONFIG_PPC_86xx=y
+ # CONFIG_PPC_CELL_NATIVE is not set
+ # CONFIG_PQ2ADS is not set
+ CONFIG_MPC8641_HPCN=y
++# CONFIG_SBC8641D is not set
+ # CONFIG_MPC8610_HPCD is not set
+ CONFIG_MPC8641=y
+ # CONFIG_IPIC is not set
+@@ -211,11 +217,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -240,6 +248,8 @@ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCI_DEBUG is not set
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++CONFIG_HAS_RAPIDIO=y
++# CONFIG_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -249,11 +259,11 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -324,8 +334,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=y
+ CONFIG_INET6_XFRM_MODE_BEET=y
+ # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+ CONFIG_IPV6_SIT=y
++CONFIG_IPV6_NDISC_NODETYPE=y
+ # CONFIG_IPV6_TUNNEL is not set
+ # CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_IPV6_MROUTE is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -387,6 +399,7 @@ CONFIG_FW_LOADER=y
+ # CONFIG_CONNECTOR is not set
+ # CONFIG_MTD is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -493,7 +506,11 @@ CONFIG_SCSI_LOWLEVEL=y
+ # CONFIG_SCSI_SRP is not set
+ CONFIG_ATA=y
+ # CONFIG_ATA_NONSTANDARD is not set
++CONFIG_SATA_PMP=y
+ CONFIG_SATA_AHCI=y
++# CONFIG_SATA_SIL24 is not set
++# CONFIG_SATA_FSL is not set
++CONFIG_ATA_SFF=y
+ # CONFIG_SATA_SVW is not set
+ # CONFIG_ATA_PIIX is not set
+ # CONFIG_SATA_MV is not set
+@@ -503,13 +520,11 @@ CONFIG_SATA_AHCI=y
+ # CONFIG_SATA_PROMISE is not set
+ # CONFIG_SATA_SX4 is not set
+ # CONFIG_SATA_SIL is not set
+-# CONFIG_SATA_SIL24 is not set
+ # CONFIG_SATA_SIS is not set
+ # CONFIG_SATA_ULI is not set
+ # CONFIG_SATA_VIA is not set
+ # CONFIG_SATA_VITESSE is not set
+ # CONFIG_SATA_INIC162X is not set
+-# CONFIG_SATA_FSL is not set
+ CONFIG_PATA_ALI=y
+ # CONFIG_PATA_AMD is not set
+ # CONFIG_PATA_ARTOP is not set
+@@ -549,6 +564,7 @@ CONFIG_PATA_ALI=y
+ # CONFIG_PATA_VIA is not set
+ # CONFIG_PATA_WINBOND is not set
+ # CONFIG_PATA_PLATFORM is not set
++# CONFIG_PATA_SCH is not set
+ # CONFIG_MD is not set
+ # CONFIG_FUSION is not set
+ 
+@@ -614,7 +630,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -634,6 +649,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -641,6 +657,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ 
+ #
+ # USB Network Adapters
+@@ -705,6 +722,7 @@ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
+ # CONFIG_VT_HW_CONSOLE_BINDING is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -736,7 +754,6 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ # CONFIG_HW_RANDOM is not set
+ CONFIG_NVRAM=y
+-# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -747,13 +764,6 @@ CONFIG_I2C_BOARDINFO=y
+ # CONFIG_I2C_CHARDEV is not set
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -780,6 +790,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -789,19 +800,13 @@ CONFIG_SENSORS_EEPROM=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ # CONFIG_HWMON is not set
+@@ -818,13 +823,33 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ CONFIG_DVB_CORE=m
+-# CONFIG_DVB_CORE_ATTACH is not set
++CONFIG_VIDEO_MEDIA=m
++
++#
++# Multimedia drivers
++#
++# CONFIG_MEDIA_ATTACH is not set
++CONFIG_MEDIA_TUNER=m
++# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
++CONFIG_MEDIA_TUNER_SIMPLE=m
++CONFIG_MEDIA_TUNER_TDA8290=m
++CONFIG_MEDIA_TUNER_TDA9887=m
++CONFIG_MEDIA_TUNER_TEA5761=m
++CONFIG_MEDIA_TUNER_TEA5767=m
++CONFIG_MEDIA_TUNER_MT20XX=m
++CONFIG_MEDIA_TUNER_XC2028=m
++CONFIG_MEDIA_TUNER_XC5000=m
+ CONFIG_DVB_CAPTURE_DRIVERS=y
+ 
+ #
+@@ -867,14 +892,17 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
+ #
+ # DVB-S (satellite) frontends
+ #
+-# CONFIG_DVB_STV0299 is not set
+ # CONFIG_DVB_CX24110 is not set
+ # CONFIG_DVB_CX24123 is not set
+-# CONFIG_DVB_TDA8083 is not set
+ # CONFIG_DVB_MT312 is not set
+-# CONFIG_DVB_VES1X93 is not set
+ # CONFIG_DVB_S5H1420 is not set
++# CONFIG_DVB_STV0299 is not set
++# CONFIG_DVB_TDA8083 is not set
+ # CONFIG_DVB_TDA10086 is not set
++# CONFIG_DVB_VES1X93 is not set
++# CONFIG_DVB_TUNER_ITD1000 is not set
++# CONFIG_DVB_TDA826X is not set
++# CONFIG_DVB_TUA6100 is not set
+ 
+ #
+ # DVB-T (terrestrial) frontends
+@@ -892,6 +920,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
+ # CONFIG_DVB_DIB3000MC is not set
+ # CONFIG_DVB_DIB7000M is not set
+ # CONFIG_DVB_DIB7000P is not set
++# CONFIG_DVB_TDA10048 is not set
+ 
+ #
+ # DVB-C (cable) frontends
+@@ -910,27 +939,21 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
+ # CONFIG_DVB_BCM3510 is not set
+ # CONFIG_DVB_LGDT330X is not set
+ # CONFIG_DVB_S5H1409 is not set
++# CONFIG_DVB_AU8522 is not set
++# CONFIG_DVB_S5H1411 is not set
+ 
+ #
+-# Tuners/PLL support
++# Digital terrestrial only tuners/PLL
+ #
+ # CONFIG_DVB_PLL is not set
+-# CONFIG_DVB_TDA826X is not set
+-# CONFIG_DVB_TDA827X is not set
+-# CONFIG_DVB_TDA18271 is not set
+-# CONFIG_DVB_TUNER_QT1010 is not set
+-# CONFIG_DVB_TUNER_MT2060 is not set
+-# CONFIG_DVB_TUNER_MT2266 is not set
+-# CONFIG_DVB_TUNER_MT2131 is not set
+ # CONFIG_DVB_TUNER_DIB0070 is not set
+-# CONFIG_DVB_TUNER_XC5000 is not set
+ 
+ #
+-# Miscellaneous devices
++# SEC control devices for DVB-S
+ #
+ # CONFIG_DVB_LNBP21 is not set
++# CONFIG_DVB_ISL6405 is not set
+ # CONFIG_DVB_ISL6421 is not set
+-# CONFIG_DVB_TUA6100 is not set
+ CONFIG_DAB=y
+ # CONFIG_USB_DABUSB is not set
+ 
+@@ -997,6 +1020,7 @@ CONFIG_SND_AC97_CODEC=y
+ # CONFIG_SND_AU8810 is not set
+ # CONFIG_SND_AU8820 is not set
+ # CONFIG_SND_AU8830 is not set
++# CONFIG_SND_AW2 is not set
+ # CONFIG_SND_AZT3328 is not set
+ # CONFIG_SND_BT87X is not set
+ # CONFIG_SND_CA0106 is not set
+@@ -1071,11 +1095,11 @@ CONFIG_SND_INTEL8X0=y
+ # CONFIG_SND_SOC is not set
+ 
+ #
+-# SoC Audio support for SuperH
++# ALSA SoC audio for Freescale SOCs
+ #
+ 
+ #
+-# ALSA SoC audio for Freescale SOCs
++# SoC Audio for the Texas Instruments OMAP
+ #
+ 
+ #
+@@ -1110,16 +1134,20 @@ CONFIG_USB_DEVICEFS=y
+ CONFIG_USB_DEVICE_CLASS=y
+ # CONFIG_USB_DYNAMIC_MINORS is not set
+ # CONFIG_USB_OTG is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # USB Host Controller Drivers
+ #
++# CONFIG_USB_C67X00_HCD is not set
+ CONFIG_USB_EHCI_HCD=y
+ # CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+ # CONFIG_USB_EHCI_TT_NEWSCHED is not set
+ # CONFIG_USB_EHCI_FSL is not set
+ CONFIG_USB_EHCI_HCD_PPC_OF=y
+ # CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_ISP1760_HCD is not set
+ CONFIG_USB_OHCI_HCD=y
+ CONFIG_USB_OHCI_HCD_PPC_OF=y
+ CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
+@@ -1137,6 +1165,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+ #
+ # CONFIG_USB_ACM is not set
+ # CONFIG_USB_PRINTER is not set
++# CONFIG_USB_WDM is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -1156,7 +1185,9 @@ CONFIG_USB_STORAGE=y
+ # CONFIG_USB_STORAGE_SDDR55 is not set
+ # CONFIG_USB_STORAGE_JUMPSHOT is not set
+ # CONFIG_USB_STORAGE_ALAUDA is not set
++# CONFIG_USB_STORAGE_ONETOUCH is not set
+ # CONFIG_USB_STORAGE_KARMA is not set
++# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+ # CONFIG_USB_LIBUSUAL is not set
+ 
+ #
+@@ -1194,10 +1225,12 @@ CONFIG_USB_MON=y
+ # CONFIG_USB_TRANCEVIBRATOR is not set
+ # CONFIG_USB_IOWARRIOR is not set
+ # CONFIG_USB_TEST is not set
++# CONFIG_USB_ISIGHTFW is not set
+ # CONFIG_USB_GADGET is not set
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+@@ -1249,11 +1282,8 @@ CONFIG_RTC_DRV_CMOS=y
+ #
+ # on-CPU RTC drivers
+ #
++# CONFIG_RTC_DRV_PPC is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -1273,7 +1303,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -1343,10 +1372,9 @@ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+-# CONFIG_NFS_DIRECTIO is not set
+ CONFIG_NFSD=y
+ # CONFIG_NFSD_V3 is not set
+-CONFIG_NFSD_TCP=y
++# CONFIG_NFSD_V4 is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+ CONFIG_LOCKD_V4=y
+@@ -1430,9 +1458,10 @@ CONFIG_NLS_UTF8=m
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+-# CONFIG_CRC_ITU_T is not set
++CONFIG_CRC_ITU_T=m
+ CONFIG_CRC32=y
+ # CONFIG_CRC7 is not set
+ CONFIG_LIBCRC32C=m
+@@ -1441,6 +1470,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -1448,6 +1478,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1458,6 +1489,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_SLUB_DEBUG_ON is not set
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_RT_MUTEXES is not set
+@@ -1471,6 +1503,7 @@ CONFIG_SCHED_DEBUG=y
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -1482,6 +1515,7 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_STACK_USAGE is not set
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_BDI_SWITCH is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+@@ -1492,52 +1526,82 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_HASH=y
+ CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ CONFIG_CRYPTO_HMAC=y
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ CONFIG_CRYPTO_SHA1=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_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/mpc866_ads_defconfig b/arch/powerpc/configs/mpc866_ads_defconfig
+index 2d831db..46fffbc 100644
+--- a/arch/powerpc/configs/mpc866_ads_defconfig
++++ b/arch/powerpc/configs/mpc866_ads_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:35 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:16 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -28,6 +28,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -106,6 +108,7 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+@@ -210,11 +213,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ # CONFIG_PROC_DEVICETREE is not set
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -231,6 +236,7 @@ CONFIG_FSL_SOC=y
+ # CONFIG_PCI_SYSCALL is not set
+ # CONFIG_PCI_QSPAN is not set
+ # CONFIG_ARCH_SUPPORTS_MSI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -240,13 +246,13 @@ CONFIG_FSL_SOC=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0x80000000
+ CONFIG_CONSISTENT_START=0xfd000000
+ CONFIG_CONSISTENT_SIZE=0x00200000
+-CONFIG_BOOT_LOAD=0x00400000
+ 
+ #
+ # Networking
+@@ -294,8 +300,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -419,6 +423,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_PPP is not set
+ # CONFIG_SLIP is not set
+@@ -485,6 +490,7 @@ CONFIG_SERIO_LIBPS2=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ 
+ #
+@@ -517,12 +523,7 @@ CONFIG_GEN_RTC=y
+ # CONFIG_RAW_DRIVER is not set
+ # CONFIG_TCG_TPM is not set
+ # CONFIG_I2C is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -551,12 +552,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -584,6 +595,8 @@ CONFIG_USB_SUPPORT=y
+ # CONFIG_USB_ARCH_HAS_HCD is not set
+ # CONFIG_USB_ARCH_HAS_OHCI is not set
+ # CONFIG_USB_ARCH_HAS_EHCI is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -592,13 +605,10 @@ CONFIG_USB_SUPPORT=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -620,7 +630,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -678,7 +687,6 @@ 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 is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -722,6 +730,7 @@ CONFIG_MSDOS_PARTITION=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ CONFIG_CRC_CCITT=y
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -733,6 +742,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -740,6 +750,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -748,6 +759,7 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SLUB_DEBUG_ON is not set
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_SAMPLES is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+ #
+@@ -757,48 +769,78 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
+-# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Crypto core or helper
++#
+ # CONFIG_CRYPTO_MANAGER is not set
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++# CONFIG_CRYPTO_CBC is not set
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++# CONFIG_CRYPTO_PCBC is not set
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ # CONFIG_CRYPTO_MD5 is not set
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-# CONFIG_CRYPTO_CBC is not set
+-# CONFIG_CRYPTO_PCBC is not set
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-# CONFIG_CRYPTO_DES is not set
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES is not set
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_PPC_CLOCK is not set
+ CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/mpc885_ads_defconfig b/arch/powerpc/configs/mpc885_ads_defconfig
+index 82151b9..9df7897 100644
+--- a/arch/powerpc/configs/mpc885_ads_defconfig
++++ b/arch/powerpc/configs/mpc885_ads_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:35 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:17 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -28,6 +28,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -108,6 +110,7 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ # CONFIG_TINY_SHMEM is not set
+@@ -219,11 +222,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -241,6 +246,7 @@ CONFIG_FSL_SOC=y
+ # CONFIG_PCI_QSPAN is not set
+ # CONFIG_ARCH_SUPPORTS_MSI is not set
+ # CONFIG_PCCARD is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -250,13 +256,13 @@ CONFIG_FSL_SOC=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0x80000000
+ CONFIG_CONSISTENT_START=0xfd000000
+ CONFIG_CONSISTENT_SIZE=0x00200000
+-CONFIG_BOOT_LOAD=0x00400000
+ 
+ #
+ # Networking
+@@ -299,8 +305,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -492,6 +496,7 @@ CONFIG_FS_ENET_MDIO_FEC=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_PPP is not set
+ # CONFIG_SLIP is not set
+@@ -516,6 +521,7 @@ CONFIG_FS_ENET_MDIO_FEC=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ 
+ #
+@@ -548,12 +554,7 @@ CONFIG_GEN_RTC=y
+ # CONFIG_RAW_DRIVER is not set
+ # CONFIG_TCG_TPM is not set
+ # CONFIG_I2C is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ # CONFIG_HWMON is not set
+@@ -570,12 +571,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -599,13 +610,10 @@ CONFIG_DAB=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -618,7 +626,6 @@ CONFIG_DAB=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ # CONFIG_DNOTIFY is not set
+ # CONFIG_INOTIFY is not set
+@@ -676,7 +683,6 @@ 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 is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -719,6 +725,7 @@ CONFIG_MSDOS_PARTITION=y
+ #
+ # Library routines
+ #
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -729,6 +736,7 @@ CONFIG_ZLIB_INFLATE=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -736,6 +744,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ CONFIG_MAGIC_SYSRQ=y
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -746,6 +755,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_SLUB_DEBUG_ON is not set
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_SPINLOCK is not set
+@@ -756,6 +766,7 @@ CONFIG_SCHED_DEBUG=y
+ CONFIG_DEBUG_BUGVERBOSE=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -766,6 +777,7 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_STACK_USAGE is not set
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_BDI_SWITCH is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+@@ -778,3 +790,4 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_CRYPTO is not set
+ # CONFIG_PPC_CLOCK is not set
+ CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig
+index 40f84fa..ce250bc 100644
+--- a/arch/powerpc/configs/ppc64_defconfig
++++ b/arch/powerpc/configs/ppc64_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.26-rc3
+-# Tue May 20 20:03:02 2008
++# Linux kernel version: 2.6.26-rc6
++# Mon Jun 16 21:11:19 2008
+ #
+ CONFIG_PPC64=y
+ 
+@@ -763,7 +763,63 @@ CONFIG_ATA_NONSTANDARD=y
+ CONFIG_SATA_PMP=y
+ # CONFIG_SATA_AHCI is not set
+ CONFIG_SATA_SIL24=y
+-# CONFIG_ATA_SFF is not set
++CONFIG_ATA_SFF=y
++CONFIG_SATA_SVW=y
++# CONFIG_ATA_PIIX is not set
++# CONFIG_SATA_MV is not set
++# CONFIG_SATA_NV is not set
++# CONFIG_PDC_ADMA is not set
++# CONFIG_SATA_QSTOR is not set
++# CONFIG_SATA_PROMISE is not set
++# CONFIG_SATA_SX4 is not set
++# CONFIG_SATA_SIL is not set
++# CONFIG_SATA_SIS is not set
++# CONFIG_SATA_ULI is not set
++# CONFIG_SATA_VIA is not set
++# CONFIG_SATA_VITESSE is not set
++# CONFIG_SATA_INIC162X is not set
++# CONFIG_PATA_ALI is not set
++# CONFIG_PATA_AMD is not set
++# CONFIG_PATA_ARTOP is not set
++# CONFIG_PATA_ATIIXP is not set
++# CONFIG_PATA_CMD640_PCI is not set
++# CONFIG_PATA_CMD64X is not set
++# CONFIG_PATA_CS5520 is not set
++# CONFIG_PATA_CS5530 is not set
++# CONFIG_PATA_CYPRESS is not set
++# CONFIG_PATA_EFAR is not set
++# CONFIG_ATA_GENERIC is not set
++# CONFIG_PATA_HPT366 is not set
++# CONFIG_PATA_HPT37X is not set
++# CONFIG_PATA_HPT3X2N is not set
++# CONFIG_PATA_HPT3X3 is not set
++# CONFIG_PATA_IT821X is not set
++# CONFIG_PATA_IT8213 is not set
++# CONFIG_PATA_JMICRON is not set
++# CONFIG_PATA_TRIFLEX is not set
++# CONFIG_PATA_MARVELL is not set
++# CONFIG_PATA_MPIIX is not set
++# CONFIG_PATA_OLDPIIX is not set
++# CONFIG_PATA_NETCELL is not set
++# CONFIG_PATA_NINJA32 is not set
++# CONFIG_PATA_NS87410 is not set
++# CONFIG_PATA_NS87415 is not set
++# CONFIG_PATA_OPTI is not set
++# CONFIG_PATA_OPTIDMA is not set
++# CONFIG_PATA_PCMCIA is not set
++# CONFIG_PATA_PDC_OLD is not set
++# CONFIG_PATA_RADISYS is not set
++# CONFIG_PATA_RZ1000 is not set
++# CONFIG_PATA_SC1200 is not set
++# CONFIG_PATA_SERVERWORKS is not set
++# CONFIG_PATA_PDC2027X is not set
++# CONFIG_PATA_SIL680 is not set
++# CONFIG_PATA_SIS is not set
++# CONFIG_PATA_VIA is not set
++# CONFIG_PATA_WINBOND is not set
++# CONFIG_PATA_PLATFORM is not set
++# CONFIG_PATA_SCC is not set
++# CONFIG_PATA_SCH is not set
+ CONFIG_MD=y
+ CONFIG_BLK_DEV_MD=y
+ CONFIG_MD_LINEAR=y
+@@ -1478,6 +1534,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+ #
+ # CONFIG_USB_ACM is not set
+ # CONFIG_USB_PRINTER is not set
++# CONFIG_USB_WDM is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -1537,6 +1594,7 @@ CONFIG_USB_APPLEDISPLAY=m
+ # CONFIG_USB_TRANCEVIBRATOR is not set
+ # CONFIG_USB_IOWARRIOR is not set
+ # CONFIG_USB_TEST is not set
++# CONFIG_USB_ISIGHTFW is not set
+ # CONFIG_USB_GADGET is not set
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+@@ -1597,6 +1655,7 @@ CONFIG_RTC_DRV_DS1307=y
+ # CONFIG_RTC_DRV_PCF8583 is not set
+ # CONFIG_RTC_DRV_M41T80 is not set
+ # CONFIG_RTC_DRV_S35390A is not set
++# CONFIG_RTC_DRV_FM3130 is not set
+ 
+ #
+ # SPI RTC drivers
+@@ -1617,6 +1676,7 @@ CONFIG_RTC_DRV_DS1307=y
+ #
+ # on-CPU RTC drivers
+ #
++CONFIG_RTC_DRV_PPC=y
+ # CONFIG_DMADEVICES is not set
+ # CONFIG_UIO is not set
+ 
+diff --git a/arch/powerpc/configs/pq2fads_defconfig b/arch/powerpc/configs/pq2fads_defconfig
+index 1383eb6..bc3bf62 100644
+--- a/arch/powerpc/configs/pq2fads_defconfig
++++ b/arch/powerpc/configs/pq2fads_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:36 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:18 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -30,6 +30,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -70,19 +72,17 @@ CONFIG_IKCONFIG=y
+ CONFIG_IKCONFIG_PROC=y
+ CONFIG_LOG_BUF_SHIFT=14
+ # CONFIG_CGROUPS is not set
+-CONFIG_GROUP_SCHED=y
+-# CONFIG_FAIR_GROUP_SCHED is not set
+-CONFIG_USER_SCHED=y
+-# CONFIG_CGROUP_SCHED is not set
+ CONFIG_SYSFS_DEPRECATED=y
+ CONFIG_SYSFS_DEPRECATED_V2=y
+ # CONFIG_RELAY is not set
+ # CONFIG_NAMESPACES is not set
+ CONFIG_BLK_DEV_INITRD=y
+ CONFIG_INITRAMFS_SOURCE=""
++CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ CONFIG_KALLSYMS_ALL=y
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+@@ -109,6 +109,7 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+@@ -196,11 +197,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -225,6 +228,7 @@ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCI_DEBUG is not set
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -234,11 +238,11 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00400000
+ 
+ #
+ # Networking
+@@ -293,6 +297,7 @@ CONFIG_INET6_XFRM_MODE_TRANSPORT=y
+ CONFIG_INET6_XFRM_MODE_TUNNEL=y
+ CONFIG_INET6_XFRM_MODE_BEET=y
+ CONFIG_IPV6_SIT=y
++CONFIG_IPV6_NDISC_NODETYPE=y
+ # CONFIG_IPV6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ CONFIG_NETFILTER=y
+@@ -513,7 +518,7 @@ CONFIG_IDE_PROC_FS=y
+ # CONFIG_BLK_DEV_VIA82CXXX is not set
+ # CONFIG_BLK_DEV_TC86C001 is not set
+ # CONFIG_BLK_DEV_IDEDMA is not set
+-CONFIG_IDE_ARCH_OBSOLETE_INIT=y
++# CONFIG_BLK_DEV_HD_ONLY is not set
+ # CONFIG_BLK_DEV_HD is not set
+ 
+ #
+@@ -593,7 +598,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -611,6 +615,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -618,6 +623,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ # CONFIG_FDDI is not set
+ CONFIG_PPP=y
+@@ -692,6 +698,7 @@ CONFIG_SERIO_LIBPS2=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ 
+ #
+@@ -726,12 +733,7 @@ CONFIG_HW_RANDOM=y
+ # CONFIG_RAW_DRIVER is not set
+ CONFIG_DEVPORT=y
+ # CONFIG_I2C is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ # CONFIG_HWMON is not set
+@@ -748,12 +750,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -781,11 +793,14 @@ CONFIG_USB_ARCH_HAS_HCD=y
+ CONFIG_USB_ARCH_HAS_OHCI=y
+ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_USB is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+ #
+ CONFIG_USB_GADGET=y
++# CONFIG_USB_GADGET_DEBUG is not set
+ # CONFIG_USB_GADGET_DEBUG_FILES is not set
+ CONFIG_USB_GADGET_SELECTED=y
+ # CONFIG_USB_GADGET_AMD5536UDC is not set
+@@ -795,6 +810,7 @@ CONFIG_USB_GADGET_SELECTED=y
+ # CONFIG_USB_GADGET_PXA2XX is not set
+ CONFIG_USB_GADGET_M66592=y
+ CONFIG_USB_M66592=y
++# CONFIG_USB_GADGET_PXA27X is not set
+ # CONFIG_USB_GADGET_GOKU is not set
+ # CONFIG_USB_GADGET_LH7A40X is not set
+ # CONFIG_USB_GADGET_OMAP is not set
+@@ -804,6 +820,7 @@ CONFIG_USB_M66592=y
+ CONFIG_USB_GADGET_DUALSPEED=y
+ # CONFIG_USB_ZERO is not set
+ CONFIG_USB_ETH=y
++CONFIG_USB_ETH_RNDIS=y
+ # CONFIG_USB_GADGETFS is not set
+ # CONFIG_USB_FILE_STORAGE is not set
+ # CONFIG_USB_G_SERIAL is not set
+@@ -812,13 +829,10 @@ CONFIG_USB_ETH=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -888,7 +902,6 @@ CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ CONFIG_NFS_V3_ACL=y
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -967,6 +980,7 @@ CONFIG_NLS_UTF8=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ CONFIG_CRC_CCITT=y
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -979,6 +993,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -986,6 +1001,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ CONFIG_MAGIC_SYSRQ=y
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -996,6 +1012,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ # CONFIG_SCHED_DEBUG is not set
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_SLUB_DEBUG_ON is not set
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_RT_MUTEXES is not set
+@@ -1008,6 +1025,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_DEBUG_BUGVERBOSE=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -1019,6 +1037,7 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ # CONFIG_DEBUGGER is not set
+ # CONFIG_KGDB_CONSOLE is not set
++# CONFIG_IRQSTACKS is not set
+ CONFIG_BDI_SWITCH=y
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+@@ -1028,46 +1047,76 @@ CONFIG_BDI_SWITCH=y
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_MANAGER=y
+-# CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=y
++CONFIG_CRYPTO_PCBC=y
++
++#
++# Hash modes
++#
++# CONFIG_CRYPTO_HMAC is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-CONFIG_CRYPTO_ECB=y
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=y
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+ # CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
+ CONFIG_PPC_LIB_RHEAP=y
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/prpmc2800_defconfig b/arch/powerpc/configs/prpmc2800_defconfig
+index f912168..c6b8357 100644
+--- a/arch/powerpc/configs/prpmc2800_defconfig
++++ b/arch/powerpc/configs/prpmc2800_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc7
+-# Mon Mar 31 11:37:15 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:18 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -33,6 +33,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -92,6 +94,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ # CONFIG_EMBEDDED is not set
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+ CONFIG_HOTPLUG=y
+@@ -117,6 +120,7 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+@@ -215,11 +219,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -241,6 +247,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
+ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -250,13 +257,13 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+ CONFIG_CONSISTENT_START=0xff100000
+ CONFIG_CONSISTENT_SIZE=0x00200000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -304,8 +311,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -364,6 +369,7 @@ CONFIG_MTD_PARTITIONS=y
+ # CONFIG_MTD_REDBOOT_PARTS is not set
+ # CONFIG_MTD_CMDLINE_PARTS is not set
+ # CONFIG_MTD_OF_PARTS is not set
++# CONFIG_MTD_AR7_PARTS is not set
+ 
+ #
+ # User Modules And Translation Layers
+@@ -435,6 +441,7 @@ CONFIG_MTD_PHYSMAP_OF=y
+ #
+ # CONFIG_MTD_UBI is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -519,7 +526,7 @@ CONFIG_BLK_DEV_PDC202XX_NEW=y
+ # CONFIG_BLK_DEV_VIA82CXXX is not set
+ # CONFIG_BLK_DEV_TC86C001 is not set
+ CONFIG_BLK_DEV_IDEDMA=y
+-CONFIG_IDE_ARCH_OBSOLETE_INIT=y
++# CONFIG_BLK_DEV_HD_ONLY is not set
+ # CONFIG_BLK_DEV_HD is not set
+ 
+ #
+@@ -598,7 +605,10 @@ CONFIG_SCSI_LOWLEVEL=y
+ # CONFIG_SCSI_SRP is not set
+ CONFIG_ATA=y
+ # CONFIG_ATA_NONSTANDARD is not set
++CONFIG_SATA_PMP=y
+ # CONFIG_SATA_AHCI is not set
++# CONFIG_SATA_SIL24 is not set
++CONFIG_ATA_SFF=y
+ # CONFIG_SATA_SVW is not set
+ # CONFIG_ATA_PIIX is not set
+ CONFIG_SATA_MV=y
+@@ -608,7 +618,6 @@ CONFIG_SATA_MV=y
+ # CONFIG_SATA_PROMISE is not set
+ # CONFIG_SATA_SX4 is not set
+ # CONFIG_SATA_SIL is not set
+-# CONFIG_SATA_SIL24 is not set
+ # CONFIG_SATA_SIS is not set
+ # CONFIG_SATA_ULI is not set
+ # CONFIG_SATA_VIA is not set
+@@ -653,6 +662,7 @@ CONFIG_SATA_MV=y
+ # CONFIG_PATA_VIA is not set
+ # CONFIG_PATA_WINBOND is not set
+ # CONFIG_PATA_PLATFORM is not set
++# CONFIG_PATA_SCH is not set
+ # CONFIG_MD is not set
+ # CONFIG_FUSION is not set
+ 
+@@ -744,7 +754,6 @@ CONFIG_E1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -763,6 +772,7 @@ CONFIG_NETDEV_10000=y
+ # CONFIG_MLX4_CORE is not set
+ # CONFIG_TEHUTI is not set
+ # CONFIG_BNX2X is not set
++# CONFIG_SFC is not set
+ # CONFIG_TR is not set
+ 
+ #
+@@ -770,6 +780,7 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ 
+ #
+ # USB Network Adapters
+@@ -832,6 +843,7 @@ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
+ # CONFIG_VT_HW_CONSOLE_BINDING is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -855,7 +867,6 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ # CONFIG_HW_RANDOM is not set
+ # CONFIG_NVRAM is not set
+-# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -866,13 +877,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -898,6 +902,7 @@ CONFIG_I2C_CHARDEV=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ CONFIG_I2C_MV64XXX=y
+ 
+ #
+@@ -908,19 +913,13 @@ CONFIG_I2C_MV64XXX=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -990,12 +989,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ # CONFIG_DAB is not set
+ 
+ #
+@@ -1055,11 +1064,13 @@ CONFIG_USB_DEVICEFS=y
+ #
+ # USB Host Controller Drivers
+ #
++# CONFIG_USB_C67X00_HCD is not set
+ CONFIG_USB_EHCI_HCD=y
+ # CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+ # CONFIG_USB_EHCI_TT_NEWSCHED is not set
+ CONFIG_USB_EHCI_HCD_PPC_OF=y
+ # CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_ISP1760_HCD is not set
+ CONFIG_USB_OHCI_HCD=y
+ # CONFIG_USB_OHCI_HCD_PPC_OF is not set
+ # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+@@ -1074,6 +1085,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+ #
+ # CONFIG_USB_ACM is not set
+ # CONFIG_USB_PRINTER is not set
++# CONFIG_USB_WDM is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -1120,10 +1132,12 @@ CONFIG_USB_MON=y
+ # CONFIG_USB_TRANCEVIBRATOR is not set
+ # CONFIG_USB_IOWARRIOR is not set
+ # CONFIG_USB_TEST is not set
++# CONFIG_USB_ISIGHTFW is not set
+ # CONFIG_USB_GADGET is not set
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+@@ -1175,11 +1189,8 @@ CONFIG_RTC_DRV_MAX6900=y
+ #
+ # on-CPU RTC drivers
+ #
++# CONFIG_RTC_DRV_PPC is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -1199,7 +1210,6 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -1257,7 +1267,6 @@ CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ # CONFIG_NFS_V3 is not set
+ # CONFIG_NFS_V4 is not set
+-# CONFIG_NFS_DIRECTIO is not set
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -1300,6 +1309,7 @@ CONFIG_MSDOS_PARTITION=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -1310,6 +1320,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -1317,6 +1328,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1326,6 +1338,7 @@ CONFIG_ENABLE_MUST_CHECK=y
+ # CONFIG_SLUB_STATS is not set
+ CONFIG_DEBUG_BUGVERBOSE=y
+ # CONFIG_SAMPLES is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_BOOTX_TEXT is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+@@ -1336,48 +1349,78 @@ CONFIG_DEBUG_BUGVERBOSE=y
+ # CONFIG_SECURITY is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
+-# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Crypto core or helper
++#
+ # CONFIG_CRYPTO_MANAGER is not set
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++# CONFIG_CRYPTO_CBC is not set
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++# CONFIG_CRYPTO_ECB is not set
++# CONFIG_CRYPTO_LRW is not set
++# CONFIG_CRYPTO_PCBC is not set
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ # CONFIG_CRYPTO_HMAC is not set
+ # CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
+ # CONFIG_CRYPTO_MD4 is not set
+ # CONFIG_CRYPTO_MD5 is not set
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
+ # 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 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-# CONFIG_CRYPTO_ECB is not set
+-# CONFIG_CRYPTO_CBC is not set
+-# CONFIG_CRYPTO_PCBC is not set
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-# CONFIG_CRYPTO_DES is not set
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
+ # CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA 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_DES is not set
++# CONFIG_CRYPTO_FCRYPT is not set
+ # CONFIG_CRYPTO_KHAZAD is not set
+-# CONFIG_CRYPTO_ANUBIS is not set
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
+ # CONFIG_CRYPTO_DEFLATE is not set
+-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+-# CONFIG_CRYPTO_CRC32C is not set
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-# CONFIG_CRYPTO_AUTHENC is not set
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/sbc8641d_defconfig b/arch/powerpc/configs/sbc8641d_defconfig
+index 3180125..8227510 100644
+--- a/arch/powerpc/configs/sbc8641d_defconfig
++++ b/arch/powerpc/configs/sbc8641d_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Thu Apr 10 18:03:25 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:19 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -32,6 +32,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_GENERIC_LOCKBREAK=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+@@ -90,6 +92,7 @@ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ CONFIG_KALLSYMS=y
+ # CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+@@ -116,12 +119,14 @@ CONFIG_HAVE_OPROFILE=y
+ # CONFIG_KPROBES is not set
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+ # CONFIG_MODVERSIONS is not set
+@@ -197,7 +202,6 @@ CONFIG_PREEMPT=y
+ # CONFIG_PREEMPT_RCU is not set
+ CONFIG_BINFMT_ELF=y
+ CONFIG_BINFMT_MISC=m
+-CONFIG_FORCE_MAX_ZONEORDER=11
+ # CONFIG_IOMMU_HELPER is not set
+ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+ CONFIG_ARCH_HAS_WALK_MEMORY=y
+@@ -213,11 +217,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ # CONFIG_PROC_DEVICETREE is not set
+ # CONFIG_CMDLINE_BOOL is not set
+ # CONFIG_PM is not set
+@@ -237,12 +243,14 @@ CONFIG_PCI_DOMAINS=y
+ CONFIG_PCI_SYSCALL=y
+ CONFIG_PCIEPORTBUS=y
+ CONFIG_PCIEAER=y
++# CONFIG_PCIEASPM is not set
+ CONFIG_ARCH_SUPPORTS_MSI=y
+ # CONFIG_PCI_MSI is not set
+ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCI_DEBUG is not set
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -252,11 +260,11 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -328,8 +336,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=m
+ CONFIG_INET6_XFRM_MODE_BEET=m
+ # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+ CONFIG_IPV6_SIT=m
++CONFIG_IPV6_NDISC_NODETYPE=y
+ CONFIG_IPV6_TUNNEL=m
+ # CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_IPV6_MROUTE is not set
+ # CONFIG_NETLABEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ CONFIG_NETFILTER=y
+@@ -534,6 +544,7 @@ CONFIG_MTD_PARTITIONS=y
+ # CONFIG_MTD_REDBOOT_PARTS is not set
+ # CONFIG_MTD_CMDLINE_PARTS is not set
+ # CONFIG_MTD_OF_PARTS is not set
++# CONFIG_MTD_AR7_PARTS is not set
+ 
+ #
+ # User Modules And Translation Layers
+@@ -610,6 +621,7 @@ CONFIG_MTD_PHYSMAP_OF=y
+ #
+ # CONFIG_MTD_UBI is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -727,7 +739,6 @@ CONFIG_NETDEV_1000=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -743,6 +754,7 @@ CONFIG_GIANFAR=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_WAN is not set
+ CONFIG_ATM_DRIVERS=y
+ # CONFIG_ATM_DUMMY is not set
+@@ -825,6 +837,7 @@ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
+ # CONFIG_VT_HW_CONSOLE_BINDING is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -863,13 +876,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -895,6 +901,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -904,19 +911,13 @@ CONFIG_I2C_MPC=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ CONFIG_HWMON=y
+@@ -998,12 +999,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ CONFIG_DAB=y
+ 
+ #
+@@ -1041,6 +1052,8 @@ CONFIG_USB_ARCH_HAS_HCD=y
+ CONFIG_USB_ARCH_HAS_OHCI=y
+ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_USB is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -1049,14 +1062,11 @@ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ # CONFIG_RTC_CLASS is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -1084,8 +1094,8 @@ CONFIG_REISERFS_FS_POSIX_ACL=y
+ # CONFIG_JFS_FS is not set
+ CONFIG_FS_POSIX_ACL=y
+ # CONFIG_XFS_FS is not set
+-# CONFIG_GFS2_FS is not set
+ CONFIG_OCFS2_FS=m
++CONFIG_OCFS2_FS_O2CB=m
+ CONFIG_OCFS2_DEBUG_MASKLOG=y
+ # CONFIG_OCFS2_DEBUG_FS is not set
+ CONFIG_DNOTIFY=y
+@@ -1145,7 +1155,6 @@ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
+ # CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+-CONFIG_NFS_DIRECTIO=y
+ # CONFIG_NFSD is not set
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+@@ -1221,6 +1230,7 @@ CONFIG_NLS_UTF8=m
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ CONFIG_CRC_CCITT=m
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -1241,6 +1251,7 @@ CONFIG_HAVE_LMB=y
+ # CONFIG_PRINTK_TIME is not set
+ CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
+ CONFIG_MAGIC_SYSRQ=y
+ # CONFIG_UNUSED_SYMBOLS is not set
+ CONFIG_DEBUG_FS=y
+@@ -1251,6 +1262,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
+ CONFIG_SCHED_DEBUG=y
+ # CONFIG_SCHEDSTATS is not set
+ # CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
+ # CONFIG_DEBUG_SLAB is not set
+ # CONFIG_DEBUG_RT_MUTEXES is not set
+ # CONFIG_RT_MUTEX_TESTER is not set
+@@ -1262,6 +1274,7 @@ CONFIG_SCHED_DEBUG=y
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+@@ -1274,6 +1287,7 @@ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_PAGEALLOC is not set
+ CONFIG_DEBUGGER=y
+ # CONFIG_XMON is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_VIRQ_DEBUG is not set
+ # CONFIG_BDI_SWITCH is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+@@ -1289,54 +1303,84 @@ CONFIG_SECURITY_CAPABILITIES=y
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0
+ CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
+ CONFIG_CRYPTO_ALGAPI=y
+ CONFIG_CRYPTO_AEAD=m
+ CONFIG_CRYPTO_BLKCIPHER=y
+-# CONFIG_CRYPTO_SEQIV is not set
+ CONFIG_CRYPTO_HASH=y
+ CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++CONFIG_CRYPTO_NULL=m
++# CONFIG_CRYPTO_CRYPTD is not set
++CONFIG_CRYPTO_AUTHENC=m
++CONFIG_CRYPTO_TEST=m
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=m
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
+ CONFIG_CRYPTO_HMAC=y
+ # CONFIG_CRYPTO_XCBC is not set
+-CONFIG_CRYPTO_NULL=m
++
++#
++# Digest
++#
++CONFIG_CRYPTO_CRC32C=m
+ CONFIG_CRYPTO_MD4=m
+ CONFIG_CRYPTO_MD5=y
++CONFIG_CRYPTO_MICHAEL_MIC=m
+ CONFIG_CRYPTO_SHA1=m
+ CONFIG_CRYPTO_SHA256=m
+ CONFIG_CRYPTO_SHA512=m
+-CONFIG_CRYPTO_WP512=m
+ # CONFIG_CRYPTO_TGR192 is not set
+-# CONFIG_CRYPTO_GF128MUL is not set
+-CONFIG_CRYPTO_ECB=m
+-CONFIG_CRYPTO_CBC=y
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_XTS is not set
+-# CONFIG_CRYPTO_CTR is not set
+-# CONFIG_CRYPTO_GCM is not set
+-# CONFIG_CRYPTO_CCM is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-CONFIG_CRYPTO_DES=y
+-# CONFIG_CRYPTO_FCRYPT is not set
+-CONFIG_CRYPTO_BLOWFISH=m
+-CONFIG_CRYPTO_TWOFISH=m
+-CONFIG_CRYPTO_TWOFISH_COMMON=m
+-CONFIG_CRYPTO_SERPENT=m
++CONFIG_CRYPTO_WP512=m
++
++#
++# Ciphers
++#
+ CONFIG_CRYPTO_AES=m
++CONFIG_CRYPTO_ANUBIS=m
++CONFIG_CRYPTO_ARC4=m
++CONFIG_CRYPTO_BLOWFISH=m
++# CONFIG_CRYPTO_CAMELLIA is not set
+ CONFIG_CRYPTO_CAST5=m
+ CONFIG_CRYPTO_CAST6=m
+-CONFIG_CRYPTO_TEA=m
+-CONFIG_CRYPTO_ARC4=m
++CONFIG_CRYPTO_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
+ CONFIG_CRYPTO_KHAZAD=m
+-CONFIG_CRYPTO_ANUBIS=m
+-# CONFIG_CRYPTO_SEED is not set
+ # CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++CONFIG_CRYPTO_SERPENT=m
++CONFIG_CRYPTO_TEA=m
++CONFIG_CRYPTO_TWOFISH=m
++CONFIG_CRYPTO_TWOFISH_COMMON=m
++
++#
++# Compression
++#
+ CONFIG_CRYPTO_DEFLATE=m
+-CONFIG_CRYPTO_MICHAEL_MIC=m
+-CONFIG_CRYPTO_CRC32C=m
+-# CONFIG_CRYPTO_CAMELLIA is not set
+-CONFIG_CRYPTO_TEST=m
+-CONFIG_CRYPTO_AUTHENC=m
+ # CONFIG_CRYPTO_LZO is not set
+ CONFIG_CRYPTO_HW=y
+ # CONFIG_CRYPTO_DEV_HIFN_795X is not set
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/configs/storcenter_defconfig b/arch/powerpc/configs/storcenter_defconfig
+index fdbfd39..88f6aa8 100644
+--- a/arch/powerpc/configs/storcenter_defconfig
++++ b/arch/powerpc/configs/storcenter_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc7
+-# Mon Mar 31 11:37:19 2008
++# Linux kernel version: 2.6.26-rc5
++# Mon Jun  9 08:52:20 2008
+ #
+ # CONFIG_PPC64 is not set
+ 
+@@ -31,6 +31,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_GENERIC_HARDIRQS=y
+ # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+ CONFIG_IRQ_PER_CPU=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
+ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+ CONFIG_ARCH_HAS_ILOG2_U32=y
+ CONFIG_GENERIC_HWEIGHT=y
+@@ -85,6 +87,7 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+ CONFIG_SYSCTL=y
+ CONFIG_EMBEDDED=y
+ CONFIG_SYSCTL_SYSCALL=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
+ # CONFIG_KALLSYMS is not set
+ CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+@@ -109,12 +112,14 @@ CONFIG_SLUB=y
+ CONFIG_HAVE_OPROFILE=y
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
++# CONFIG_HAVE_DMA_ATTRS is not set
+ CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+ # CONFIG_MODVERSIONS is not set
+@@ -214,11 +219,13 @@ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
+ # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_FORCE_MAX_ZONEORDER=11
+ CONFIG_PROC_DEVICETREE=y
+ CONFIG_CMDLINE_BOOL=y
+ CONFIG_CMDLINE="console=ttyS0,115200"
+@@ -242,6 +249,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
+ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCCARD is not set
+ # CONFIG_HOTPLUG_PCI is not set
++# CONFIG_HAS_RAPIDIO is not set
+ 
+ #
+ # Advanced setup
+@@ -251,11 +259,11 @@ CONFIG_PCI_LEGACY=y
+ #
+ # Default settings for advanced configuration options are used
+ #
+-CONFIG_HIGHMEM_START=0xfe000000
+ CONFIG_LOWMEM_SIZE=0x30000000
++CONFIG_PAGE_OFFSET=0xc0000000
+ CONFIG_KERNEL_START=0xc0000000
++CONFIG_PHYSICAL_START=0x00000000
+ CONFIG_TASK_SIZE=0xc0000000
+-CONFIG_BOOT_LOAD=0x00800000
+ 
+ #
+ # Networking
+@@ -298,8 +306,6 @@ CONFIG_TCP_CONG_CUBIC=y
+ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IPV6 is not set
+-# CONFIG_INET6_XFRM_TUNNEL is not set
+-# CONFIG_INET6_TUNNEL is not set
+ # CONFIG_NETWORK_SECMARK is not set
+ # CONFIG_NETFILTER is not set
+ # CONFIG_IP_DCCP is not set
+@@ -358,6 +364,7 @@ CONFIG_MTD_PARTITIONS=y
+ # CONFIG_MTD_REDBOOT_PARTS is not set
+ # CONFIG_MTD_CMDLINE_PARTS is not set
+ # CONFIG_MTD_OF_PARTS is not set
++# CONFIG_MTD_AR7_PARTS is not set
+ 
+ #
+ # User Modules And Translation Layers
+@@ -433,6 +440,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1
+ #
+ # CONFIG_MTD_UBI is not set
+ CONFIG_OF_DEVICE=y
++CONFIG_OF_I2C=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+@@ -513,7 +521,7 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
+ CONFIG_BLK_DEV_VIA82CXXX=y
+ # CONFIG_BLK_DEV_TC86C001 is not set
+ CONFIG_BLK_DEV_IDEDMA=y
+-CONFIG_IDE_ARCH_OBSOLETE_INIT=y
++# CONFIG_BLK_DEV_HD_ONLY is not set
+ # CONFIG_BLK_DEV_HD is not set
+ 
+ #
+@@ -638,7 +646,6 @@ CONFIG_R8169=y
+ # CONFIG_SIS190 is not set
+ # CONFIG_SKGE is not set
+ # CONFIG_SKY2 is not set
+-# CONFIG_SK98LIN is not set
+ # CONFIG_VIA_VELOCITY is not set
+ # CONFIG_TIGON3 is not set
+ # CONFIG_BNX2 is not set
+@@ -654,6 +661,7 @@ CONFIG_R8169=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
+ 
+ #
+ # USB Network Adapters
+@@ -690,6 +698,7 @@ CONFIG_R8169=y
+ # Character devices
+ #
+ # CONFIG_VT is not set
++CONFIG_DEVKMEM=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ # CONFIG_NOZOMI is not set
+ 
+@@ -717,7 +726,6 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ CONFIG_HW_RANDOM=m
+ CONFIG_NVRAM=y
+-# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -728,13 +736,6 @@ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ 
+ #
+-# I2C Algorithms
+-#
+-# CONFIG_I2C_ALGOBIT is not set
+-# CONFIG_I2C_ALGOPCF is not set
+-# CONFIG_I2C_ALGOPCA is not set
+-
+-#
+ # I2C Hardware Bus support
+ #
+ # CONFIG_I2C_ALI1535 is not set
+@@ -761,6 +762,7 @@ CONFIG_I2C_MPC=y
+ # CONFIG_I2C_VIA is not set
+ # CONFIG_I2C_VIAPRO is not set
+ # CONFIG_I2C_VOODOO3 is not set
++# CONFIG_I2C_PCA_PLATFORM is not set
+ 
+ #
+ # Miscellaneous I2C Chip support
+@@ -770,19 +772,13 @@ CONFIG_I2C_MPC=y
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+ # CONFIG_I2C_DEBUG_ALGO is not set
+ # CONFIG_I2C_DEBUG_BUS is not set
+ # CONFIG_I2C_DEBUG_CHIP is not set
+-
+-#
+-# SPI support
+-#
+ # CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ # CONFIG_HWMON is not set
+@@ -799,12 +795,22 @@ CONFIG_SSB_POSSIBLE=y
+ # Multifunction device drivers
+ #
+ # CONFIG_MFD_SM501 is not set
++# CONFIG_HTC_PASIC3 is not set
+ 
+ #
+ # Multimedia devices
+ #
++
++#
++# Multimedia core support
++#
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
+ # CONFIG_DAB is not set
+ 
+ #
+@@ -841,16 +847,20 @@ CONFIG_USB_DEVICEFS=y
+ CONFIG_USB_DEVICE_CLASS=y
+ # CONFIG_USB_DYNAMIC_MINORS is not set
+ # CONFIG_USB_OTG is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ 
+ #
+ # USB Host Controller Drivers
+ #
++# CONFIG_USB_C67X00_HCD is not set
+ CONFIG_USB_EHCI_HCD=y
+ # CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+ # CONFIG_USB_EHCI_TT_NEWSCHED is not set
+ # CONFIG_USB_EHCI_FSL is not set
+ CONFIG_USB_EHCI_HCD_PPC_OF=y
+ # CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_ISP1760_HCD is not set
+ CONFIG_USB_OHCI_HCD=y
+ # CONFIG_USB_OHCI_HCD_PPC_OF is not set
+ # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+@@ -865,6 +875,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+ #
+ # CONFIG_USB_ACM is not set
+ # CONFIG_USB_PRINTER is not set
++# CONFIG_USB_WDM is not set
+ 
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -885,6 +896,7 @@ CONFIG_USB_STORAGE=y
+ # CONFIG_USB_STORAGE_JUMPSHOT is not set
+ # CONFIG_USB_STORAGE_ALAUDA is not set
+ # CONFIG_USB_STORAGE_KARMA is not set
++# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+ # CONFIG_USB_LIBUSUAL is not set
+ 
+ #
+@@ -922,10 +934,12 @@ CONFIG_USB_STORAGE=y
+ # CONFIG_USB_TRANCEVIBRATOR is not set
+ # CONFIG_USB_IOWARRIOR is not set
+ # CONFIG_USB_TEST is not set
++# CONFIG_USB_ISIGHTFW is not set
+ # CONFIG_USB_GADGET is not set
+ # CONFIG_MMC is not set
+ # CONFIG_MEMSTICK is not set
+ # CONFIG_NEW_LEDS is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_INFINIBAND is not set
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+@@ -977,11 +991,8 @@ CONFIG_RTC_DRV_DS1307=y
+ #
+ # on-CPU RTC drivers
+ #
++# CONFIG_RTC_DRV_PPC is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Userspace I/O
+-#
+ # CONFIG_UIO is not set
+ 
+ #
+@@ -1002,10 +1013,9 @@ CONFIG_FS_MBCACHE=y
+ # CONFIG_FS_POSIX_ACL is not set
+ CONFIG_XFS_FS=m
+ # 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_GFS2_FS is not set
++# CONFIG_XFS_DEBUG is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+@@ -1138,6 +1148,7 @@ CONFIG_NLS_UTF8=y
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
++# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+ # CONFIG_CRC_CCITT is not set
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_ITU_T is not set
+@@ -1150,6 +1161,7 @@ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+ CONFIG_HAS_DMA=y
++CONFIG_HAVE_LMB=y
+ 
+ #
+ # Kernel hacking
+@@ -1157,6 +1169,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_PRINTK_TIME is not set
+ # CONFIG_ENABLE_WARN_DEPRECATED is not set
+ # CONFIG_ENABLE_MUST_CHECK is not set
++CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+@@ -1166,6 +1179,7 @@ CONFIG_HAS_DMA=y
+ # CONFIG_SLUB_STATS is not set
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+ # CONFIG_SAMPLES is not set
++# CONFIG_IRQSTACKS is not set
+ # CONFIG_BOOTX_TEXT is not set
+ # CONFIG_PPC_EARLY_DEBUG is not set
+ 
+@@ -1181,3 +1195,4 @@ CONFIG_ASYNC_MEMCPY=y
+ CONFIG_ASYNC_XOR=y
+ # CONFIG_CRYPTO is not set
+ # CONFIG_PPC_CLOCK is not set
++# CONFIG_VIRTUALIZATION is not set
+diff --git a/arch/powerpc/kernel/head_44x.S b/arch/powerpc/kernel/head_44x.S
+index c2b9dc4..22b5d2c 100644
+--- a/arch/powerpc/kernel/head_44x.S
++++ b/arch/powerpc/kernel/head_44x.S
+@@ -368,7 +368,12 @@ interrupt_base:
+ 
+ 	rlwimi	r11,r13,0,26,31		/* Insert static perms */
+ 
+-	rlwinm	r11,r11,0,20,15		/* Clear U0-U3 */
++	/*
++	 * Clear U0-U3 and WL1 IL1I IL1D IL2I IL2D bits which are added
++	 * on newer 440 cores like the 440x6 used on AMCC 460EX/460GT (see
++	 * include/asm-powerpc/pgtable-ppc32.h for details).
++	 */
++	rlwinm	r11,r11,0,20,10
+ 
+ 	/* find the TLB index that caused the fault.  It has to be here. */
+ 	tlbsx	r10, 0, r10
+diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
+index 2f73f70..bcc249d 100644
+--- a/arch/powerpc/kernel/irq.c
++++ b/arch/powerpc/kernel/irq.c
+@@ -1073,7 +1073,7 @@ static const struct file_operations virq_debug_fops = {
+ static int __init irq_debugfs_init(void)
+ {
+ 	if (debugfs_create_file("virq_mapping", S_IRUGO, powerpc_debugfs_root,
+-				 NULL, &virq_debug_fops))
++				 NULL, &virq_debug_fops) == NULL)
+ 		return -ENOMEM;
+ 
+ 	return 0;
+diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c
+index cf6b5a7..d3ac631 100644
+--- a/arch/powerpc/kernel/ppc_ksyms.c
++++ b/arch/powerpc/kernel/ppc_ksyms.c
+@@ -8,7 +8,6 @@
+ #include <linux/screen_info.h>
+ #include <linux/vt_kern.h>
+ #include <linux/nvram.h>
+-#include <linux/console.h>
+ #include <linux/irq.h>
+ #include <linux/pci.h>
+ #include <linux/delay.h>
+@@ -160,7 +159,6 @@ EXPORT_SYMBOL(screen_info);
+ EXPORT_SYMBOL(timer_interrupt);
+ EXPORT_SYMBOL(irq_desc);
+ EXPORT_SYMBOL(tb_ticks_per_jiffy);
+-EXPORT_SYMBOL(console_drivers);
+ EXPORT_SYMBOL(cacheable_memcpy);
+ #endif
+ 
+diff --git a/arch/powerpc/kernel/prom_init_check.sh b/arch/powerpc/kernel/prom_init_check.sh
+index 31729a9..2c7e8e8 100644
+--- a/arch/powerpc/kernel/prom_init_check.sh
++++ b/arch/powerpc/kernel/prom_init_check.sh
+@@ -48,6 +48,20 @@ do
+ 		fi
+ 	done
+ 
++	# ignore register save/restore funcitons
++	if [ "${UNDEF:0:9}" = "_restgpr_" ]; then
++		OK=1
++	fi
++	if [ "${UNDEF:0:11}" = "_rest32gpr_" ]; then
++		OK=1
++	fi
++	if [ "${UNDEF:0:9}" = "_savegpr_" ]; then
++		OK=1
++	fi
++	if [ "${UNDEF:0:11}" = "_save32gpr_" ]; then
++		OK=1
++	fi
++
+ 	if [ $OK -eq 0 ]; then
+ 		ERROR=1
+ 		echo "Error: External symbol '$UNDEF' referenced" \
+diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile
+index c71d37d..e522b06 100644
+--- a/arch/powerpc/lib/Makefile
++++ b/arch/powerpc/lib/Makefile
+@@ -9,7 +9,7 @@ endif
+ ifeq ($(CONFIG_PPC_MERGE),y)
+ obj-y			:= string.o alloc.o \
+ 			   checksum_$(CONFIG_WORD_SIZE).o
+-obj-$(CONFIG_PPC32)	+= div64.o copy_32.o
++obj-$(CONFIG_PPC32)	+= div64.o copy_32.o crtsavres.o
+ obj-$(CONFIG_HAS_IOMEM)	+= devres.o
+ endif
+ 
+diff --git a/arch/powerpc/lib/crtsavres.S b/arch/powerpc/lib/crtsavres.S
+new file mode 100644
+index 0000000..70a9cd8
+--- /dev/null
++++ b/arch/powerpc/lib/crtsavres.S
+@@ -0,0 +1,229 @@
++/*
++ * Special support for eabi and SVR4
++ *
++ *   Copyright (C) 1995, 1996, 1998, 2000, 2001 Free Software Foundation, Inc.
++ *   Copyright 2008 Freescale Semiconductor, Inc.
++ *   Written By Michael Meissner
++ *
++ * Based on gcc/config/rs6000/crtsavres.asm from gcc
++ *
++ * This file is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by the
++ * Free Software Foundation; either version 2, or (at your option) any
++ * later version.
++ *
++ * In addition to the permissions in the GNU General Public License, the
++ * Free Software Foundation gives you unlimited permission to link the
++ * compiled version of this file with other programs, and to distribute
++ * those programs without any restriction coming from the use of this
++ * file.  (The General Public License restrictions do apply in other
++ * respects; for example, they cover modification of the file, and
++ * distribution when not linked into another program.)
++ *
++ * This file is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; see the file COPYING.  If not, write to
++ * the Free Software Foundation, 51 Franklin Street, Fifth Floor,
++ * Boston, MA 02110-1301, USA.
++ *
++ *    As a special exception, if you link this library with files
++ *    compiled with GCC to produce an executable, this does not cause
++ *    the resulting executable to be covered by the GNU General Public License.
++ *    This exception does not however invalidate any other reasons why
++ *    the executable file might be covered by the GNU General Public License.
++ */
++
++#include <asm/ppc_asm.h>
++
++	.file	"crtsavres.S"
++	.section ".text"
++
++#ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
++
++/* Routines for saving integer registers, called by the compiler.  */
++/* Called with r11 pointing to the stack header word of the caller of the */
++/* function, just beyond the end of the integer save area.  */
++
++_GLOBAL(_savegpr_14)
++_GLOBAL(_save32gpr_14)
++	stw	14,-72(11)	/* save gp registers */
++_GLOBAL(_savegpr_15)
++_GLOBAL(_save32gpr_15)
++	stw	15,-68(11)
++_GLOBAL(_savegpr_16)
++_GLOBAL(_save32gpr_16)
++	stw	16,-64(11)
++_GLOBAL(_savegpr_17)
++_GLOBAL(_save32gpr_17)
++	stw	17,-60(11)
++_GLOBAL(_savegpr_18)
++_GLOBAL(_save32gpr_18)
++	stw	18,-56(11)
++_GLOBAL(_savegpr_19)
++_GLOBAL(_save32gpr_19)
++	stw	19,-52(11)
++_GLOBAL(_savegpr_20)
++_GLOBAL(_save32gpr_20)
++	stw	20,-48(11)
++_GLOBAL(_savegpr_21)
++_GLOBAL(_save32gpr_21)
++	stw	21,-44(11)
++_GLOBAL(_savegpr_22)
++_GLOBAL(_save32gpr_22)
++	stw	22,-40(11)
++_GLOBAL(_savegpr_23)
++_GLOBAL(_save32gpr_23)
++	stw	23,-36(11)
++_GLOBAL(_savegpr_24)
++_GLOBAL(_save32gpr_24)
++	stw	24,-32(11)
++_GLOBAL(_savegpr_25)
++_GLOBAL(_save32gpr_25)
++	stw	25,-28(11)
++_GLOBAL(_savegpr_26)
++_GLOBAL(_save32gpr_26)
++	stw	26,-24(11)
++_GLOBAL(_savegpr_27)
++_GLOBAL(_save32gpr_27)
++	stw	27,-20(11)
++_GLOBAL(_savegpr_28)
++_GLOBAL(_save32gpr_28)
++	stw	28,-16(11)
++_GLOBAL(_savegpr_29)
++_GLOBAL(_save32gpr_29)
++	stw	29,-12(11)
++_GLOBAL(_savegpr_30)
++_GLOBAL(_save32gpr_30)
++	stw	30,-8(11)
++_GLOBAL(_savegpr_31)
++_GLOBAL(_save32gpr_31)
++	stw	31,-4(11)
++	blr
++
++/* Routines for restoring integer registers, called by the compiler.  */
++/* Called with r11 pointing to the stack header word of the caller of the */
++/* function, just beyond the end of the integer restore area.  */
++
++_GLOBAL(_restgpr_14)
++_GLOBAL(_rest32gpr_14)
++	lwz	14,-72(11)	/* restore gp registers */
++_GLOBAL(_restgpr_15)
++_GLOBAL(_rest32gpr_15)
++	lwz	15,-68(11)
++_GLOBAL(_restgpr_16)
++_GLOBAL(_rest32gpr_16)
++	lwz	16,-64(11)
++_GLOBAL(_restgpr_17)
++_GLOBAL(_rest32gpr_17)
++	lwz	17,-60(11)
++_GLOBAL(_restgpr_18)
++_GLOBAL(_rest32gpr_18)
++	lwz	18,-56(11)
++_GLOBAL(_restgpr_19)
++_GLOBAL(_rest32gpr_19)
++	lwz	19,-52(11)
++_GLOBAL(_restgpr_20)
++_GLOBAL(_rest32gpr_20)
++	lwz	20,-48(11)
++_GLOBAL(_restgpr_21)
++_GLOBAL(_rest32gpr_21)
++	lwz	21,-44(11)
++_GLOBAL(_restgpr_22)
++_GLOBAL(_rest32gpr_22)
++	lwz	22,-40(11)
++_GLOBAL(_restgpr_23)
++_GLOBAL(_rest32gpr_23)
++	lwz	23,-36(11)
++_GLOBAL(_restgpr_24)
++_GLOBAL(_rest32gpr_24)
++	lwz	24,-32(11)
++_GLOBAL(_restgpr_25)
++_GLOBAL(_rest32gpr_25)
++	lwz	25,-28(11)
++_GLOBAL(_restgpr_26)
++_GLOBAL(_rest32gpr_26)
++	lwz	26,-24(11)
++_GLOBAL(_restgpr_27)
++_GLOBAL(_rest32gpr_27)
++	lwz	27,-20(11)
++_GLOBAL(_restgpr_28)
++_GLOBAL(_rest32gpr_28)
++	lwz	28,-16(11)
++_GLOBAL(_restgpr_29)
++_GLOBAL(_rest32gpr_29)
++	lwz	29,-12(11)
++_GLOBAL(_restgpr_30)
++_GLOBAL(_rest32gpr_30)
++	lwz	30,-8(11)
++_GLOBAL(_restgpr_31)
++_GLOBAL(_rest32gpr_31)
++	lwz	31,-4(11)
++	blr
++
++/* Routines for restoring integer registers, called by the compiler.  */
++/* Called with r11 pointing to the stack header word of the caller of the */
++/* function, just beyond the end of the integer restore area.  */
++
++_GLOBAL(_restgpr_14_x)
++_GLOBAL(_rest32gpr_14_x)
++	lwz	14,-72(11)	/* restore gp registers */
++_GLOBAL(_restgpr_15_x)
++_GLOBAL(_rest32gpr_15_x)
++	lwz	15,-68(11)
++_GLOBAL(_restgpr_16_x)
++_GLOBAL(_rest32gpr_16_x)
++	lwz	16,-64(11)
++_GLOBAL(_restgpr_17_x)
++_GLOBAL(_rest32gpr_17_x)
++	lwz	17,-60(11)
++_GLOBAL(_restgpr_18_x)
++_GLOBAL(_rest32gpr_18_x)
++	lwz	18,-56(11)
++_GLOBAL(_restgpr_19_x)
++_GLOBAL(_rest32gpr_19_x)
++	lwz	19,-52(11)
++_GLOBAL(_restgpr_20_x)
++_GLOBAL(_rest32gpr_20_x)
++	lwz	20,-48(11)
++_GLOBAL(_restgpr_21_x)
++_GLOBAL(_rest32gpr_21_x)
++	lwz	21,-44(11)
++_GLOBAL(_restgpr_22_x)
++_GLOBAL(_rest32gpr_22_x)
++	lwz	22,-40(11)
++_GLOBAL(_restgpr_23_x)
++_GLOBAL(_rest32gpr_23_x)
++	lwz	23,-36(11)
++_GLOBAL(_restgpr_24_x)
++_GLOBAL(_rest32gpr_24_x)
++	lwz	24,-32(11)
++_GLOBAL(_restgpr_25_x)
++_GLOBAL(_rest32gpr_25_x)
++	lwz	25,-28(11)
++_GLOBAL(_restgpr_26_x)
++_GLOBAL(_rest32gpr_26_x)
++	lwz	26,-24(11)
++_GLOBAL(_restgpr_27_x)
++_GLOBAL(_rest32gpr_27_x)
++	lwz	27,-20(11)
++_GLOBAL(_restgpr_28_x)
++_GLOBAL(_rest32gpr_28_x)
++	lwz	28,-16(11)
++_GLOBAL(_restgpr_29_x)
++_GLOBAL(_rest32gpr_29_x)
++	lwz	29,-12(11)
++_GLOBAL(_restgpr_30_x)
++_GLOBAL(_rest32gpr_30_x)
++	lwz	30,-8(11)
++_GLOBAL(_restgpr_31_x)
++_GLOBAL(_rest32gpr_31_x)
++	lwz	0,4(11)
++	lwz	31,-4(11)
++	mtlr	0
++	mr	1,11
++	blr
++#endif
+diff --git a/arch/powerpc/mm/hash_low_64.S b/arch/powerpc/mm/hash_low_64.S
+index 21d2484..70f4c83 100644
+--- a/arch/powerpc/mm/hash_low_64.S
++++ b/arch/powerpc/mm/hash_low_64.S
+@@ -568,6 +568,10 @@ htab_inval_old_hpte:
+ 	ld	r7,STK_PARM(r9)(r1)	/* ssize */
+ 	ld	r8,STK_PARM(r8)(r1)	/* local */
+ 	bl	.flush_hash_page
++	/* Clear out _PAGE_HPTE_SUB bits in the new linux PTE */
++	lis	r0,_PAGE_HPTE_SUB at h
++	ori	r0,r0,_PAGE_HPTE_SUB at l
++	andc	r30,r30,r0
+ 	b	htab_insert_pte
+ 	
+ htab_bail_ok:
+diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig
+index 7ff29d5..ecbe580 100644
+--- a/arch/powerpc/platforms/85xx/Kconfig
++++ b/arch/powerpc/platforms/85xx/Kconfig
+@@ -34,6 +34,7 @@ config MPC85xx_MDS
+ 	bool "Freescale MPC85xx MDS"
+ 	select DEFAULT_UIMAGE
+ 	select QUICC_ENGINE
++	select PHYLIB
+ 	help
+ 	  This option enables support for the MPC85xx MDS board
+ 
+diff --git a/arch/powerpc/platforms/cell/spu_base.c b/arch/powerpc/platforms/cell/spu_base.c
+index 70c6601..78f905b 100644
+--- a/arch/powerpc/platforms/cell/spu_base.c
++++ b/arch/powerpc/platforms/cell/spu_base.c
+@@ -219,15 +219,25 @@ static int __spu_trap_data_seg(struct spu *spu, unsigned long ea)
+ extern int hash_page(unsigned long ea, unsigned long access, unsigned long trap); //XXX
+ static int __spu_trap_data_map(struct spu *spu, unsigned long ea, u64 dsisr)
+ {
++	int ret;
++
+ 	pr_debug("%s, %lx, %lx\n", __func__, dsisr, ea);
+ 
+-	/* Handle kernel space hash faults immediately.
+-	   User hash faults need to be deferred to process context. */
+-	if ((dsisr & MFC_DSISR_PTE_NOT_FOUND)
+-	    && REGION_ID(ea) != USER_REGION_ID
+-	    && hash_page(ea, _PAGE_PRESENT, 0x300) == 0) {
+-		spu_restart_dma(spu);
+-		return 0;
++	/*
++	 * Handle kernel space hash faults immediately. User hash
++	 * faults need to be deferred to process context.
++	 */
++	if ((dsisr & MFC_DSISR_PTE_NOT_FOUND) &&
++	    (REGION_ID(ea) != USER_REGION_ID)) {
++
++		spin_unlock(&spu->register_lock);
++		ret = hash_page(ea, _PAGE_PRESENT, 0x300);
++		spin_lock(&spu->register_lock);
++
++		if (!ret) {
++			spu_restart_dma(spu);
++			return 0;
++		}
+ 	}
+ 
+ 	spu->class_1_dar = ea;
+@@ -324,17 +334,13 @@ spu_irq_class_0(int irq, void *data)
+ 	stat = spu_int_stat_get(spu, 0) & mask;
+ 
+ 	spu->class_0_pending |= stat;
+-	spu->class_0_dsisr = spu_mfc_dsisr_get(spu);
+ 	spu->class_0_dar = spu_mfc_dar_get(spu);
+-	spin_unlock(&spu->register_lock);
+-
+ 	spu->stop_callback(spu, 0);
+-
+ 	spu->class_0_pending = 0;
+-	spu->class_0_dsisr = 0;
+ 	spu->class_0_dar = 0;
+ 
+ 	spu_int_stat_clear(spu, 0, stat);
++	spin_unlock(&spu->register_lock);
+ 
+ 	return IRQ_HANDLED;
+ }
+@@ -357,13 +363,12 @@ spu_irq_class_1(int irq, void *data)
+ 		spu_mfc_dsisr_set(spu, 0ul);
+ 	spu_int_stat_clear(spu, 1, stat);
+ 
+-	if (stat & CLASS1_SEGMENT_FAULT_INTR)
+-		__spu_trap_data_seg(spu, dar);
+-
+-	spin_unlock(&spu->register_lock);
+ 	pr_debug("%s: %lx %lx %lx %lx\n", __func__, mask, stat,
+ 			dar, dsisr);
+ 
++	if (stat & CLASS1_SEGMENT_FAULT_INTR)
++		__spu_trap_data_seg(spu, dar);
++
+ 	if (stat & CLASS1_STORAGE_FAULT_INTR)
+ 		__spu_trap_data_map(spu, dar, dsisr);
+ 
+@@ -376,6 +381,8 @@ spu_irq_class_1(int irq, void *data)
+ 	spu->class_1_dsisr = 0;
+ 	spu->class_1_dar = 0;
+ 
++	spin_unlock(&spu->register_lock);
++
+ 	return stat ? IRQ_HANDLED : IRQ_NONE;
+ }
+ 
+@@ -394,14 +401,12 @@ spu_irq_class_2(int irq, void *data)
+ 	mask = spu_int_mask_get(spu, 2);
+ 	/* ignore interrupts we're not waiting for */
+ 	stat &= mask;
+-
+ 	/* mailbox interrupts are level triggered. mask them now before
+ 	 * acknowledging */
+ 	if (stat & mailbox_intrs)
+ 		spu_int_mask_and(spu, 2, ~(stat & mailbox_intrs));
+ 	/* acknowledge all interrupts before the callbacks */
+ 	spu_int_stat_clear(spu, 2, stat);
+-	spin_unlock(&spu->register_lock);
+ 
+ 	pr_debug("class 2 interrupt %d, %lx, %lx\n", irq, stat, mask);
+ 
+@@ -421,6 +426,9 @@ spu_irq_class_2(int irq, void *data)
+ 		spu->wbox_callback(spu);
+ 
+ 	spu->stats.class2_intr++;
++
++	spin_unlock(&spu->register_lock);
++
+ 	return stat ? IRQ_HANDLED : IRQ_NONE;
+ }
+ 
+diff --git a/arch/powerpc/platforms/cell/spufs/run.c b/arch/powerpc/platforms/cell/spufs/run.c
+index b7493b8..f7edba6 100644
+--- a/arch/powerpc/platforms/cell/spufs/run.c
++++ b/arch/powerpc/platforms/cell/spufs/run.c
+@@ -27,7 +27,6 @@ void spufs_stop_callback(struct spu *spu, int irq)
+ 		switch(irq) {
+ 		case 0 :
+ 			ctx->csa.class_0_pending = spu->class_0_pending;
+-			ctx->csa.class_0_dsisr = spu->class_0_dsisr;
+ 			ctx->csa.class_0_dar = spu->class_0_dar;
+ 			break;
+ 		case 1 :
+@@ -51,18 +50,22 @@ int spu_stopped(struct spu_context *ctx, u32 *stat)
+ 	u64 dsisr;
+ 	u32 stopped;
+ 
+-	*stat = ctx->ops->status_read(ctx);
+-
+-	if (test_bit(SPU_SCHED_NOTIFY_ACTIVE, &ctx->sched_flags))
+-		return 1;
+-
+ 	stopped = SPU_STATUS_INVALID_INSTR | SPU_STATUS_SINGLE_STEP |
+ 		SPU_STATUS_STOPPED_BY_HALT | SPU_STATUS_STOPPED_BY_STOP;
+-	if (!(*stat & SPU_STATUS_RUNNING) && (*stat & stopped))
++
++top:
++	*stat = ctx->ops->status_read(ctx);
++	if (*stat & stopped) {
++		/*
++		 * If the spu hasn't finished stopping, we need to
++		 * re-read the register to get the stopped value.
++		 */
++		if (*stat & SPU_STATUS_RUNNING)
++			goto top;
+ 		return 1;
++	}
+ 
+-	dsisr = ctx->csa.class_0_dsisr;
+-	if (dsisr & (MFC_DSISR_PTE_NOT_FOUND | MFC_DSISR_ACCESS_DENIED))
++	if (test_bit(SPU_SCHED_NOTIFY_ACTIVE, &ctx->sched_flags))
+ 		return 1;
+ 
+ 	dsisr = ctx->csa.class_1_dsisr;
+diff --git a/arch/powerpc/platforms/cell/spufs/sched.c b/arch/powerpc/platforms/cell/spufs/sched.c
+index 745dd51..e929e70 100644
+--- a/arch/powerpc/platforms/cell/spufs/sched.c
++++ b/arch/powerpc/platforms/cell/spufs/sched.c
+@@ -230,19 +230,23 @@ static void spu_bind_context(struct spu *spu, struct spu_context *ctx)
+ 	ctx->stats.slb_flt_base = spu->stats.slb_flt;
+ 	ctx->stats.class2_intr_base = spu->stats.class2_intr;
+ 
++	spu_associate_mm(spu, ctx->owner);
++
++	spin_lock_irq(&spu->register_lock);
+ 	spu->ctx = ctx;
+ 	spu->flags = 0;
+ 	ctx->spu = spu;
+ 	ctx->ops = &spu_hw_ops;
+ 	spu->pid = current->pid;
+ 	spu->tgid = current->tgid;
+-	spu_associate_mm(spu, ctx->owner);
+ 	spu->ibox_callback = spufs_ibox_callback;
+ 	spu->wbox_callback = spufs_wbox_callback;
+ 	spu->stop_callback = spufs_stop_callback;
+ 	spu->mfc_callback = spufs_mfc_callback;
+-	mb();
++	spin_unlock_irq(&spu->register_lock);
++
+ 	spu_unmap_mappings(ctx);
++
+ 	spu_switch_log_notify(spu, ctx, SWITCH_LOG_START, 0);
+ 	spu_restore(&ctx->csa, spu);
+ 	spu->timestamp = jiffies;
+@@ -403,6 +407,8 @@ static int has_affinity(struct spu_context *ctx)
+  */
+ static void spu_unbind_context(struct spu *spu, struct spu_context *ctx)
+ {
++	u32 status;
++
+ 	spu_context_trace(spu_unbind_context__enter, ctx, spu);
+ 
+ 	spuctx_switch_state(ctx, SPU_UTIL_SYSTEM);
+@@ -423,18 +429,22 @@ static void spu_unbind_context(struct spu *spu, struct spu_context *ctx)
+ 	spu_unmap_mappings(ctx);
+ 	spu_save(&ctx->csa, spu);
+ 	spu_switch_log_notify(spu, ctx, SWITCH_LOG_STOP, 0);
++
++	spin_lock_irq(&spu->register_lock);
+ 	spu->timestamp = jiffies;
+ 	ctx->state = SPU_STATE_SAVED;
+ 	spu->ibox_callback = NULL;
+ 	spu->wbox_callback = NULL;
+ 	spu->stop_callback = NULL;
+ 	spu->mfc_callback = NULL;
+-	spu_associate_mm(spu, NULL);
+ 	spu->pid = 0;
+ 	spu->tgid = 0;
+ 	ctx->ops = &spu_backing_ops;
+ 	spu->flags = 0;
+ 	spu->ctx = NULL;
++	spin_unlock_irq(&spu->register_lock);
++
++	spu_associate_mm(spu, NULL);
+ 
+ 	ctx->stats.slb_flt +=
+ 		(spu->stats.slb_flt - ctx->stats.slb_flt_base);
+@@ -444,6 +454,9 @@ static void spu_unbind_context(struct spu *spu, struct spu_context *ctx)
+ 	/* This maps the underlying spu state to idle */
+ 	spuctx_switch_state(ctx, SPU_UTIL_IDLE_LOADED);
+ 	ctx->spu = NULL;
++
++	if (spu_stopped(ctx, &status))
++		wake_up_all(&ctx->stop_wq);
+ }
+ 
+ /**
+diff --git a/arch/powerpc/platforms/pseries/eeh_driver.c b/arch/powerpc/platforms/pseries/eeh_driver.c
+index 68ea5ee..8c1ca47 100644
+--- a/arch/powerpc/platforms/pseries/eeh_driver.c
++++ b/arch/powerpc/platforms/pseries/eeh_driver.c
+@@ -42,17 +42,20 @@ static inline const char * pcid_name (struct pci_dev *pdev)
+ }
+ 
+ #ifdef DEBUG
+-static void print_device_node_tree (struct pci_dn *pdn, int dent)
++static void print_device_node_tree(struct pci_dn *pdn, int dent)
+ {
+ 	int i;
+-	if (!pdn) return;
+-	for (i=0;i<dent; i++)
++	struct device_node *pc;
++
++	if (!pdn)
++		return;
++	for (i = 0; i < dent; i++)
+ 		printk(" ");
+ 	printk("dn=%s mode=%x \tcfg_addr=%x pe_addr=%x \tfull=%s\n",
+ 		pdn->node->name, pdn->eeh_mode, pdn->eeh_config_addr,
+ 		pdn->eeh_pe_config_addr, pdn->node->full_name);
+ 	dent += 3;
+-	struct device_node *pc = pdn->node->child;
++	pc = pdn->node->child;
+ 	while (pc) {
+ 		print_device_node_tree(PCI_DN(pc), dent);
+ 		pc = pc->sibling;
+diff --git a/arch/powerpc/platforms/pseries/nvram.c b/arch/powerpc/platforms/pseries/nvram.c
+index f68903e..42f7e38 100644
+--- a/arch/powerpc/platforms/pseries/nvram.c
++++ b/arch/powerpc/platforms/pseries/nvram.c
+@@ -131,8 +131,10 @@ int __init pSeries_nvram_init(void)
+ 		return -ENODEV;
+ 
+ 	nbytes_p = of_get_property(nvram, "#bytes", &proplen);
+-	if (nbytes_p == NULL || proplen != sizeof(unsigned int))
++	if (nbytes_p == NULL || proplen != sizeof(unsigned int)) {
++		of_node_put(nvram);
+ 		return -EIO;
++	}
+ 
+ 	nvram_size = *nbytes_p;
+ 
+diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
+index 1702de9..bfcf70e 100644
+--- a/arch/powerpc/xmon/xmon.c
++++ b/arch/powerpc/xmon/xmon.c
+@@ -2844,7 +2844,6 @@ static void dump_spu_fields(struct spu *spu)
+ 	DUMP_FIELD(spu, "0x%lx", flags);
+ 	DUMP_FIELD(spu, "%d", class_0_pending);
+ 	DUMP_FIELD(spu, "0x%lx", class_0_dar);
+-	DUMP_FIELD(spu, "0x%lx", class_0_dsisr);
+ 	DUMP_FIELD(spu, "0x%lx", class_1_dar);
+ 	DUMP_FIELD(spu, "0x%lx", class_1_dsisr);
+ 	DUMP_FIELD(spu, "0x%lx", irqs[0]);
+diff --git a/arch/um/os-Linux/start_up.c b/arch/um/os-Linux/start_up.c
+index b4b36e0..183db26 100644
+--- a/arch/um/os-Linux/start_up.c
++++ b/arch/um/os-Linux/start_up.c
+@@ -121,8 +121,10 @@ static int stop_ptraced_child(int pid, int exitcode, int mustexit)
+ {
+ 	int status, n, ret = 0;
+ 
+-	if (ptrace(PTRACE_CONT, pid, 0, 0) < 0)
+-		fatal_perror("stop_ptraced_child : ptrace failed");
++	if (ptrace(PTRACE_CONT, pid, 0, 0) < 0) {
++		perror("stop_ptraced_child : ptrace failed");
++		return -1;
++	}
+ 	CATCH_EINTR(n = waitpid(pid, &status, 0));
+ 	if (!WIFEXITED(status) || (WEXITSTATUS(status) != exitcode)) {
+ 		int exit_with = WEXITSTATUS(status);
+@@ -212,7 +214,7 @@ static void __init check_sysemu(void)
+ 	if (n < 0)
+ 		fatal_perror("check_sysemu : wait failed");
+ 	if (!WIFSTOPPED(status) || (WSTOPSIG(status) != SIGTRAP))
+-		fatal("check_sysemu : expected SIGTRAP, got status = %d",
++		fatal("check_sysemu : expected SIGTRAP, got status = %d\n",
+ 		      status);
+ 
+ 	if (ptrace(PTRACE_GETREGS, pid, 0, regs) < 0)
+@@ -254,9 +256,11 @@ static void __init check_sysemu(void)
+ 
+ 		if (WIFSTOPPED(status) &&
+ 		    (WSTOPSIG(status) == (SIGTRAP|0x80))) {
+-			if (!count)
+-				fatal("check_ptrace : SYSEMU_SINGLESTEP "
+-				      "doesn't singlestep");
++			if (!count) {
++				non_fatal("check_ptrace : SYSEMU_SINGLESTEP "
++					  "doesn't singlestep");
++				goto fail;
++			}
+ 			n = ptrace(PTRACE_POKEUSR, pid, PT_SYSCALL_RET_OFFSET,
+ 				   os_getpid());
+ 			if (n < 0)
+@@ -266,9 +270,12 @@ static void __init check_sysemu(void)
+ 		}
+ 		else if (WIFSTOPPED(status) && (WSTOPSIG(status) == SIGTRAP))
+ 			count++;
+-		else
+-			fatal("check_ptrace : expected SIGTRAP or "
+-			      "(SIGTRAP | 0x80), got status = %d", status);
++		else {
++			non_fatal("check_ptrace : expected SIGTRAP or "
++				  "(SIGTRAP | 0x80), got status = %d\n",
++				  status);
++			goto fail;
++		}
+ 	}
+ 	if (stop_ptraced_child(pid, 0, 0) < 0)
+ 		goto fail_stopped;
+diff --git a/arch/um/os-Linux/sys-i386/registers.c b/arch/um/os-Linux/sys-i386/registers.c
+index b487cbe..229f7a5 100644
+--- a/arch/um/os-Linux/sys-i386/registers.c
++++ b/arch/um/os-Linux/sys-i386/registers.c
+@@ -6,7 +6,7 @@
+ 
+ #include <errno.h>
+ #include <sys/ptrace.h>
+-#include <asm/user.h>
++#include <sys/user.h>
+ #include "kern_constants.h"
+ #include "longjmp.h"
+ #include "user.h"
+@@ -76,7 +76,7 @@ int put_fp_registers(int pid, unsigned long *regs)
+ 
+ void arch_init_registers(int pid)
+ {
+-	struct user_fxsr_struct fpx_regs;
++	struct user_fpxregs_struct fpx_regs;
+ 	int err;
+ 
+ 	err = ptrace(PTRACE_GETFPXREGS, pid, 0, &fpx_regs);
+diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
+index c5ef1af..dc00a13 100644
+--- a/arch/x86/kernel/pci-dma.c
++++ b/arch/x86/kernel/pci-dma.c
+@@ -378,6 +378,7 @@ dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle,
+ 	struct page *page;
+ 	unsigned long dma_mask = 0;
+ 	dma_addr_t bus;
++	int noretry = 0;
+ 
+ 	/* ignore region specifiers */
+ 	gfp &= ~(__GFP_DMA | __GFP_HIGHMEM | __GFP_DMA32);
+@@ -397,20 +398,25 @@ dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle,
+ 	if (dev->dma_mask == NULL)
+ 		return NULL;
+ 
+-	/* Don't invoke OOM killer */
+-	gfp |= __GFP_NORETRY;
++	/* Don't invoke OOM killer or retry in lower 16MB DMA zone */
++	if (gfp & __GFP_DMA)
++		noretry = 1;
+ 
+ #ifdef CONFIG_X86_64
+ 	/* Why <=? Even when the mask is smaller than 4GB it is often
+ 	   larger than 16MB and in this case we have a chance of
+ 	   finding fitting memory in the next higher zone first. If
+ 	   not retry with true GFP_DMA. -AK */
+-	if (dma_mask <= DMA_32BIT_MASK && !(gfp & GFP_DMA))
++	if (dma_mask <= DMA_32BIT_MASK && !(gfp & GFP_DMA)) {
+ 		gfp |= GFP_DMA32;
++		if (dma_mask < DMA_32BIT_MASK)
++			noretry = 1;
++	}
+ #endif
+ 
+  again:
+-	page = dma_alloc_pages(dev, gfp, get_order(size));
++	page = dma_alloc_pages(dev,
++		noretry ? gfp | __GFP_NORETRY : gfp, get_order(size));
+ 	if (page == NULL)
+ 		return NULL;
+ 
+diff --git a/arch/x86/kernel/rtc.c b/arch/x86/kernel/rtc.c
+index 9615eee..05191bb 100644
+--- a/arch/x86/kernel/rtc.c
++++ b/arch/x86/kernel/rtc.c
+@@ -4,6 +4,8 @@
+ #include <linux/acpi.h>
+ #include <linux/bcd.h>
+ #include <linux/mc146818rtc.h>
++#include <linux/platform_device.h>
++#include <linux/pnp.h>
+ 
+ #include <asm/time.h>
+ #include <asm/vsyscall.h>
+@@ -197,3 +199,35 @@ unsigned long long native_read_tsc(void)
+ }
+ EXPORT_SYMBOL(native_read_tsc);
+ 
++
++static struct resource rtc_resources[] = {
++	[0] = {
++		.start	= RTC_PORT(0),
++		.end	= RTC_PORT(1),
++		.flags	= IORESOURCE_IO,
++	},
++	[1] = {
++		.start	= RTC_IRQ,
++		.end	= RTC_IRQ,
++		.flags	= IORESOURCE_IRQ,
++	}
++};
++
++static struct platform_device rtc_device = {
++	.name		= "rtc_cmos",
++	.id		= -1,
++	.resource	= rtc_resources,
++	.num_resources	= ARRAY_SIZE(rtc_resources),
++};
++
++static __init int add_rtc_cmos(void)
++{
++#ifdef CONFIG_PNP
++	if (!pnp_platform_devices)
++		platform_device_register(&rtc_device);
++#else
++	platform_device_register(&rtc_device);
++#endif /* CONFIG_PNP */
++	return 0;
++}
++device_initcall(add_rtc_cmos);
+diff --git a/arch/x86/lib/copy_user_64.S b/arch/x86/lib/copy_user_64.S
+index 70bebd3..ee1c3f6 100644
+--- a/arch/x86/lib/copy_user_64.S
++++ b/arch/x86/lib/copy_user_64.S
+@@ -217,19 +217,19 @@ ENTRY(copy_user_generic_unrolled)
+ 	/* table sorted by exception address */
+ 	.section __ex_table,"a"
+ 	.align 8
+-	.quad .Ls1,.Ls1e
+-	.quad .Ls2,.Ls2e
+-	.quad .Ls3,.Ls3e
+-	.quad .Ls4,.Ls4e
+-	.quad .Ld1,.Ls1e
++	.quad .Ls1,.Ls1e	/* Ls1-Ls4 have copied zero bytes */
++	.quad .Ls2,.Ls1e
++	.quad .Ls3,.Ls1e
++	.quad .Ls4,.Ls1e
++	.quad .Ld1,.Ls1e	/* Ld1-Ld4 have copied 0-24 bytes */
+ 	.quad .Ld2,.Ls2e
+ 	.quad .Ld3,.Ls3e
+ 	.quad .Ld4,.Ls4e
+-	.quad .Ls5,.Ls5e
+-	.quad .Ls6,.Ls6e
+-	.quad .Ls7,.Ls7e
+-	.quad .Ls8,.Ls8e
+-	.quad .Ld5,.Ls5e
++	.quad .Ls5,.Ls5e	/* Ls5-Ls8 have copied 32 bytes */
++	.quad .Ls6,.Ls5e
++	.quad .Ls7,.Ls5e
++	.quad .Ls8,.Ls5e
++	.quad .Ld5,.Ls5e	/* Ld5-Ld8 have copied 32-56 bytes */
+ 	.quad .Ld6,.Ls6e
+ 	.quad .Ld7,.Ls7e
+ 	.quad .Ld8,.Ls8e
+@@ -244,11 +244,8 @@ ENTRY(copy_user_generic_unrolled)
+ 	.quad .Le5,.Le_zero
+ 	.previous
+ 
+-	/* compute 64-offset for main loop. 8 bytes accuracy with error on the
+-	   pessimistic side. this is gross. it would be better to fix the
+-	   interface. */
+ 	/* eax: zero, ebx: 64 */
+-.Ls1e: 	addl $8,%eax
++.Ls1e: 	addl $8,%eax		/* eax is bytes left uncopied within the loop (Ls1e: 64 .. Ls8e: 8) */
+ .Ls2e: 	addl $8,%eax
+ .Ls3e: 	addl $8,%eax
+ .Ls4e: 	addl $8,%eax
+diff --git a/arch/x86/lib/copy_user_nocache_64.S b/arch/x86/lib/copy_user_nocache_64.S
+index 5196762..9d3d1ab 100644
+--- a/arch/x86/lib/copy_user_nocache_64.S
++++ b/arch/x86/lib/copy_user_nocache_64.S
+@@ -145,19 +145,19 @@ ENTRY(__copy_user_nocache)
+ 	/* table sorted by exception address */
+ 	.section __ex_table,"a"
+ 	.align 8
+-	.quad .Ls1,.Ls1e
+-	.quad .Ls2,.Ls2e
+-	.quad .Ls3,.Ls3e
+-	.quad .Ls4,.Ls4e
+-	.quad .Ld1,.Ls1e
++	.quad .Ls1,.Ls1e	/* .Ls[1-4] - 0 bytes copied */
++	.quad .Ls2,.Ls1e
++	.quad .Ls3,.Ls1e
++	.quad .Ls4,.Ls1e
++	.quad .Ld1,.Ls1e	/* .Ld[1-4] - 0..24 bytes coped */
+ 	.quad .Ld2,.Ls2e
+ 	.quad .Ld3,.Ls3e
+ 	.quad .Ld4,.Ls4e
+-	.quad .Ls5,.Ls5e
+-	.quad .Ls6,.Ls6e
+-	.quad .Ls7,.Ls7e
+-	.quad .Ls8,.Ls8e
+-	.quad .Ld5,.Ls5e
++	.quad .Ls5,.Ls5e	/* .Ls[5-8] - 32 bytes copied */
++	.quad .Ls6,.Ls5e
++	.quad .Ls7,.Ls5e
++	.quad .Ls8,.Ls5e
++	.quad .Ld5,.Ls5e	/* .Ld[5-8] - 32..56 bytes copied */
+ 	.quad .Ld6,.Ls6e
+ 	.quad .Ld7,.Ls7e
+ 	.quad .Ld8,.Ls8e
+@@ -172,11 +172,8 @@ ENTRY(__copy_user_nocache)
+ 	.quad .Le5,.Le_zero
+ 	.previous
+ 
+-	/* compute 64-offset for main loop. 8 bytes accuracy with error on the
+-	   pessimistic side. this is gross. it would be better to fix the
+-	   interface. */
+ 	/* eax: zero, ebx: 64 */
+-.Ls1e: 	addl $8,%eax
++.Ls1e: 	addl $8,%eax	/* eax: bytes left uncopied: Ls1e: 64 .. Ls8e: 8 */
+ .Ls2e: 	addl $8,%eax
+ .Ls3e: 	addl $8,%eax
+ .Ls4e: 	addl $8,%eax
+diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c
+index 6e64aaf..940185e 100644
+--- a/arch/x86/pci/common.c
++++ b/arch/x86/pci/common.c
+@@ -328,18 +328,18 @@ static struct dmi_system_id __devinitdata pciprobe_dmi_table[] = {
+ #endif
+ 	{
+ 		.callback = set_bf_sort,
+-		.ident = "HP ProLiant DL385 G2",
++		.ident = "HP ProLiant DL360",
+ 		.matches = {
+ 			DMI_MATCH(DMI_SYS_VENDOR, "HP"),
+-			DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL385 G2"),
++			DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL360"),
+ 		},
+ 	},
+ 	{
+ 		.callback = set_bf_sort,
+-		.ident = "HP ProLiant DL585 G2",
++		.ident = "HP ProLiant DL380",
+ 		.matches = {
+ 			DMI_MATCH(DMI_SYS_VENDOR, "HP"),
+-			DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL585 G2"),
++			DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL380"),
+ 		},
+ 	},
+ 	{}
+diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
+index 544b7d6..966ab40 100644
+--- a/drivers/ata/ahci.c
++++ b/drivers/ata/ahci.c
+@@ -89,6 +89,7 @@ enum {
+ 	board_ahci_sb600	= 3,
+ 	board_ahci_mv		= 4,
+ 	board_ahci_sb700	= 5,
++	board_ahci_mcp65	= 6,
+ 
+ 	/* global controller registers */
+ 	HOST_CAP		= 0x00, /* host capabilities */
+@@ -190,6 +191,7 @@ enum {
+ 	AHCI_HFLAG_NO_PMP		= (1 << 6), /* no PMP */
+ 	AHCI_HFLAG_NO_HOTPLUG		= (1 << 7), /* ignore PxSERR.DIAG.N */
+ 	AHCI_HFLAG_SECT255		= (1 << 8), /* max 255 sectors */
++	AHCI_HFLAG_YES_NCQ		= (1 << 9), /* force NCQ cap on */
+ 
+ 	/* ap->flags bits */
+ 
+@@ -253,6 +255,8 @@ static void ahci_pmp_attach(struct ata_port *ap);
+ static void ahci_pmp_detach(struct ata_port *ap);
+ static int ahci_softreset(struct ata_link *link, unsigned int *class,
+ 			  unsigned long deadline);
++static int ahci_sb600_softreset(struct ata_link *link, unsigned int *class,
++			  unsigned long deadline);
+ static int ahci_hardreset(struct ata_link *link, unsigned int *class,
+ 			  unsigned long deadline);
+ static int ahci_vt8251_hardreset(struct ata_link *link, unsigned int *class,
+@@ -329,6 +333,12 @@ static struct ata_port_operations ahci_p5wdh_ops = {
+ 	.hardreset		= ahci_p5wdh_hardreset,
+ };
+ 
++static struct ata_port_operations ahci_sb600_ops = {
++	.inherits		= &ahci_ops,
++	.softreset		= ahci_sb600_softreset,
++	.pmp_softreset		= ahci_sb600_softreset,
++};
++
+ #define AHCI_HFLAGS(flags)	.private_data	= (void *)(flags)
+ 
+ static const struct ata_port_info ahci_port_info[] = {
+@@ -359,11 +369,11 @@ static const struct ata_port_info ahci_port_info[] = {
+ 	{
+ 		AHCI_HFLAGS	(AHCI_HFLAG_IGN_SERR_INTERNAL |
+ 				 AHCI_HFLAG_32BIT_ONLY | AHCI_HFLAG_NO_MSI |
+-				 AHCI_HFLAG_SECT255 | AHCI_HFLAG_NO_PMP),
++				 AHCI_HFLAG_SECT255),
+ 		.flags		= AHCI_FLAG_COMMON,
+ 		.pio_mask	= 0x1f, /* pio0-4 */
+ 		.udma_mask	= ATA_UDMA6,
+-		.port_ops	= &ahci_ops,
++		.port_ops	= &ahci_sb600_ops,
+ 	},
+ 	/* board_ahci_mv */
+ 	{
+@@ -377,8 +387,15 @@ static const struct ata_port_info ahci_port_info[] = {
+ 	},
+ 	/* board_ahci_sb700 */
+ 	{
+-		AHCI_HFLAGS	(AHCI_HFLAG_IGN_SERR_INTERNAL |
+-				 AHCI_HFLAG_NO_PMP),
++		AHCI_HFLAGS	(AHCI_HFLAG_IGN_SERR_INTERNAL),
++		.flags		= AHCI_FLAG_COMMON,
++		.pio_mask	= 0x1f, /* pio0-4 */
++		.udma_mask	= ATA_UDMA6,
++		.port_ops	= &ahci_sb600_ops,
++	},
++	/* board_ahci_mcp65 */
++	{
++		AHCI_HFLAGS	(AHCI_HFLAG_YES_NCQ),
+ 		.flags		= AHCI_FLAG_COMMON,
+ 		.pio_mask	= 0x1f, /* pio0-4 */
+ 		.udma_mask	= ATA_UDMA6,
+@@ -438,14 +455,14 @@ static const struct pci_device_id ahci_pci_tbl[] = {
+ 	{ PCI_VDEVICE(VIA, 0x6287), board_ahci_vt8251 }, /* VIA VT8251 */
+ 
+ 	/* NVIDIA */
+-	{ PCI_VDEVICE(NVIDIA, 0x044c), board_ahci },		/* MCP65 */
+-	{ PCI_VDEVICE(NVIDIA, 0x044d), board_ahci },		/* MCP65 */
+-	{ PCI_VDEVICE(NVIDIA, 0x044e), board_ahci },		/* MCP65 */
+-	{ PCI_VDEVICE(NVIDIA, 0x044f), board_ahci },		/* MCP65 */
+-	{ PCI_VDEVICE(NVIDIA, 0x045c), board_ahci },		/* MCP65 */
+-	{ PCI_VDEVICE(NVIDIA, 0x045d), board_ahci },		/* MCP65 */
+-	{ PCI_VDEVICE(NVIDIA, 0x045e), board_ahci },		/* MCP65 */
+-	{ PCI_VDEVICE(NVIDIA, 0x045f), board_ahci },		/* MCP65 */
++	{ PCI_VDEVICE(NVIDIA, 0x044c), board_ahci_mcp65 },	/* MCP65 */
++	{ PCI_VDEVICE(NVIDIA, 0x044d), board_ahci_mcp65 },	/* MCP65 */
++	{ PCI_VDEVICE(NVIDIA, 0x044e), board_ahci_mcp65 },	/* MCP65 */
++	{ PCI_VDEVICE(NVIDIA, 0x044f), board_ahci_mcp65 },	/* MCP65 */
++	{ PCI_VDEVICE(NVIDIA, 0x045c), board_ahci_mcp65 },	/* MCP65 */
++	{ PCI_VDEVICE(NVIDIA, 0x045d), board_ahci_mcp65 },	/* MCP65 */
++	{ PCI_VDEVICE(NVIDIA, 0x045e), board_ahci_mcp65 },	/* MCP65 */
++	{ PCI_VDEVICE(NVIDIA, 0x045f), board_ahci_mcp65 },	/* MCP65 */
+ 	{ PCI_VDEVICE(NVIDIA, 0x0550), board_ahci },		/* MCP67 */
+ 	{ PCI_VDEVICE(NVIDIA, 0x0551), board_ahci },		/* MCP67 */
+ 	{ PCI_VDEVICE(NVIDIA, 0x0552), board_ahci },		/* MCP67 */
+@@ -624,6 +641,12 @@ static void ahci_save_initial_config(struct pci_dev *pdev,
+ 		cap &= ~HOST_CAP_NCQ;
+ 	}
+ 
++	if (!(cap & HOST_CAP_NCQ) && (hpriv->flags & AHCI_HFLAG_YES_NCQ)) {
++		dev_printk(KERN_INFO, &pdev->dev,
++			   "controller can do NCQ, turning on CAP_NCQ\n");
++		cap |= HOST_CAP_NCQ;
++	}
++
+ 	if ((cap & HOST_CAP_PMP) && (hpriv->flags & AHCI_HFLAG_NO_PMP)) {
+ 		dev_printk(KERN_INFO, &pdev->dev,
+ 			   "controller can't do PMP, turning off CAP_PMP\n");
+@@ -1262,19 +1285,11 @@ static int ahci_exec_polled_cmd(struct ata_port *ap, int pmp,
+ 	return 0;
+ }
+ 
+-static int ahci_check_ready(struct ata_link *link)
+-{
+-	void __iomem *port_mmio = ahci_port_base(link->ap);
+-	u8 status = readl(port_mmio + PORT_TFDATA) & 0xFF;
+-
+-	return ata_check_ready(status);
+-}
+-
+-static int ahci_softreset(struct ata_link *link, unsigned int *class,
+-			  unsigned long deadline)
++static int ahci_do_softreset(struct ata_link *link, unsigned int *class,
++			     int pmp, unsigned long deadline,
++			     int (*check_ready)(struct ata_link *link))
+ {
+ 	struct ata_port *ap = link->ap;
+-	int pmp = sata_srst_pmp(link);
+ 	const char *reason = NULL;
+ 	unsigned long now, msecs;
+ 	struct ata_taskfile tf;
+@@ -1312,7 +1327,7 @@ static int ahci_softreset(struct ata_link *link, unsigned int *class,
+ 	ahci_exec_polled_cmd(ap, pmp, &tf, 0, 0, 0);
+ 
+ 	/* wait for link to become ready */
+-	rc = ata_wait_after_reset(link, deadline, ahci_check_ready);
++	rc = ata_wait_after_reset(link, deadline, check_ready);
+ 	/* link occupied, -ENODEV too is an error */
+ 	if (rc) {
+ 		reason = "device not ready";
+@@ -1328,6 +1343,72 @@ static int ahci_softreset(struct ata_link *link, unsigned int *class,
+ 	return rc;
+ }
+ 
++static int ahci_check_ready(struct ata_link *link)
++{
++	void __iomem *port_mmio = ahci_port_base(link->ap);
++	u8 status = readl(port_mmio + PORT_TFDATA) & 0xFF;
++
++	return ata_check_ready(status);
++}
++
++static int ahci_softreset(struct ata_link *link, unsigned int *class,
++			  unsigned long deadline)
++{
++	int pmp = sata_srst_pmp(link);
++
++	DPRINTK("ENTER\n");
++
++	return ahci_do_softreset(link, class, pmp, deadline, ahci_check_ready);
++}
++
++static int ahci_sb600_check_ready(struct ata_link *link)
++{
++	void __iomem *port_mmio = ahci_port_base(link->ap);
++	u8 status = readl(port_mmio + PORT_TFDATA) & 0xFF;
++	u32 irq_status = readl(port_mmio + PORT_IRQ_STAT);
++
++	/*
++	 * There is no need to check TFDATA if BAD PMP is found due to HW bug,
++	 * which can save timeout delay.
++	 */
++	if (irq_status & PORT_IRQ_BAD_PMP)
++		return -EIO;
++
++	return ata_check_ready(status);
++}
++
++static int ahci_sb600_softreset(struct ata_link *link, unsigned int *class,
++				unsigned long deadline)
++{
++	struct ata_port *ap = link->ap;
++	void __iomem *port_mmio = ahci_port_base(ap);
++	int pmp = sata_srst_pmp(link);
++	int rc;
++	u32 irq_sts;
++
++	DPRINTK("ENTER\n");
++
++	rc = ahci_do_softreset(link, class, pmp, deadline,
++			       ahci_sb600_check_ready);
++
++	/*
++	 * Soft reset fails on some ATI chips with IPMS set when PMP
++	 * is enabled but SATA HDD/ODD is connected to SATA port,
++	 * do soft reset again to port 0.
++	 */
++	if (rc == -EIO) {
++		irq_sts = readl(port_mmio + PORT_IRQ_STAT);
++		if (irq_sts & PORT_IRQ_BAD_PMP) {
++			ata_link_printk(link, KERN_WARNING,
++					"failed due to HW bug, retry pmp=0\n");
++			rc = ahci_do_softreset(link, class, 0, deadline,
++					       ahci_check_ready);
++		}
++	}
++
++	return rc;
++}
++
+ static int ahci_hardreset(struct ata_link *link, unsigned int *class,
+ 			  unsigned long deadline)
+ {
+@@ -2118,7 +2199,8 @@ static void ahci_p5wdh_workaround(struct ata_host *host)
+ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
+ {
+ 	static int printed_version;
+-	struct ata_port_info pi = ahci_port_info[ent->driver_data];
++	unsigned int board_id = ent->driver_data;
++	struct ata_port_info pi = ahci_port_info[board_id];
+ 	const struct ata_port_info *ppi[] = { &pi, NULL };
+ 	struct device *dev = &pdev->dev;
+ 	struct ahci_host_priv *hpriv;
+@@ -2167,6 +2249,11 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
+ 		return -ENOMEM;
+ 	hpriv->flags |= (unsigned long)pi.private_data;
+ 
++	/* MCP65 revision A1 and A2 can't do MSI */
++	if (board_id == board_ahci_mcp65 &&
++	    (pdev->revision == 0xa1 || pdev->revision == 0xa2))
++		hpriv->flags |= AHCI_HFLAG_NO_MSI;
++
+ 	if ((hpriv->flags & AHCI_HFLAG_NO_MSI) || pci_enable_msi(pdev))
+ 		pci_intx(pdev, 1);
+ 
+diff --git a/drivers/atm/he.c b/drivers/atm/he.c
+index ffc4a5a..ea495b2 100644
+--- a/drivers/atm/he.c
++++ b/drivers/atm/he.c
+@@ -1542,7 +1542,8 @@ he_start(struct atm_dev *dev)
+ 	/* initialize framer */
+ 
+ #ifdef CONFIG_ATM_HE_USE_SUNI
+-	suni_init(he_dev->atm_dev);
++	if (he_isMM(he_dev))
++		suni_init(he_dev->atm_dev);
+ 	if (he_dev->atm_dev->phy && he_dev->atm_dev->phy->start)
+ 		he_dev->atm_dev->phy->start(he_dev->atm_dev);
+ #endif /* CONFIG_ATM_HE_USE_SUNI */
+@@ -1554,6 +1555,7 @@ he_start(struct atm_dev *dev)
+ 		val = he_phy_get(he_dev->atm_dev, SUNI_TPOP_APM);
+ 		val = (val & ~SUNI_TPOP_APM_S) | (SUNI_TPOP_S_SDH << SUNI_TPOP_APM_S_SHIFT);
+ 		he_phy_put(he_dev->atm_dev, val, SUNI_TPOP_APM);
++		he_phy_put(he_dev->atm_dev, SUNI_TACP_IUCHP_CLP, SUNI_TACP_IUCHP);
+ 	}
+ 
+ 	/* 5.1.12 enable transmit and receive */
+@@ -2844,10 +2846,15 @@ he_ioctl(struct atm_dev *atm_dev, unsigned int cmd, void __user *arg)
+ 			if (copy_from_user(&reg, arg,
+ 					   sizeof(struct he_ioctl_reg)))
+ 				return -EFAULT;
+-			
++
+ 			spin_lock_irqsave(&he_dev->global_lock, flags);
+ 			switch (reg.type) {
+ 				case HE_REGTYPE_PCI:
++					if (reg.addr < 0 || reg.addr >= HE_REGMAP_SIZE) {
++						err = -EINVAL;
++						break;
++					}
++
+ 					reg.val = he_readl(he_dev, reg.addr);
+ 					break;
+ 				case HE_REGTYPE_RCM:
+diff --git a/drivers/atm/he.h b/drivers/atm/he.h
+index fe6cd15..b87d6cc 100644
+--- a/drivers/atm/he.h
++++ b/drivers/atm/he.h
+@@ -267,13 +267,7 @@ struct he_dev {
+ 
+ 	char prod_id[30];
+ 	char mac_addr[6];
+-	int media;			/*  
+-					 *  0x26 = HE155 MM 
+-					 *  0x27 = HE622 MM 
+-					 *  0x46 = HE155 SM 
+-					 *  0x47 = HE622 SM 
+-					 */
+-
++	int media;
+ 
+ 	unsigned int vcibits, vpibits;
+ 	unsigned int cells_per_row;
+@@ -392,6 +386,7 @@ struct he_vcc
+ #define HE_DEV(dev) ((struct he_dev *) (dev)->dev_data)
+ 
+ #define he_is622(dev)	((dev)->media & 0x1)
++#define he_isMM(dev)	((dev)->media & 0x20)
+ 
+ #define HE_REGMAP_SIZE	0x100000
+ 
+@@ -876,8 +871,8 @@ struct he_vcc
+ #define M_SN		0x3a	/* integer */
+ #define MEDIA		0x3e	/* integer */
+ #define  HE155MM	0x26
+-#define  HE155SM	0x27
+-#define  HE622MM	0x46
++#define  HE622MM	0x27
++#define  HE155SM	0x46
+ #define  HE622SM	0x47
+ #define MAC_ADDR	0x42	/* char[] */
+ 
+diff --git a/drivers/atm/iphase.c b/drivers/atm/iphase.c
+index 5c28ca7..139fce6 100644
+--- a/drivers/atm/iphase.c
++++ b/drivers/atm/iphase.c
+@@ -2562,17 +2562,11 @@ static int __devinit ia_start(struct atm_dev *dev)
+ 		error = suni_init(dev);
+ 		if (error)
+ 			goto err_free_rx;
+-		/* 
+-		 * Enable interrupt on loss of signal
+-		 * SUNI_RSOP_CIE - 0x10
+-		 * SUNI_RSOP_CIE_LOSE - 0x04
+-		 */
+-		ia_phy_put(dev, ia_phy_get(dev, 0x10) | 0x04, 0x10);
+-#ifndef MODULE
+-		error = dev->phy->start(dev);
+-		if (error)
+-			goto err_free_rx;
+-#endif
++		if (dev->phy->start) {
++			error = dev->phy->start(dev);
++			if (error)
++				goto err_free_rx;
++		}
+ 		/* Get iadev->carrier_detect status */
+ 		IaFrontEndIntr(iadev);
+ 	}
+@@ -3198,6 +3192,8 @@ static int __devinit ia_init_one(struct pci_dev *pdev,
+ 	IF_INIT(printk("dev_id = 0x%x iadev->LineRate = %d \n", (u32)dev,
+ 		iadev->LineRate);)
+ 
++	pci_set_drvdata(pdev, dev);
++
+ 	ia_dev[iadev_count] = iadev;
+ 	_ia_dev[iadev_count] = dev;
+ 	iadev_count++;
+@@ -3219,8 +3215,6 @@ static int __devinit ia_init_one(struct pci_dev *pdev,
+ 	iadev->next_board = ia_boards;  
+ 	ia_boards = dev;  
+ 
+-	pci_set_drvdata(pdev, dev);
+-
+ 	return 0;
+ 
+ err_out_deregister_dev:
+@@ -3238,9 +3232,14 @@ static void __devexit ia_remove_one(struct pci_dev *pdev)
+ 	struct atm_dev *dev = pci_get_drvdata(pdev);
+ 	IADEV *iadev = INPH_IA_DEV(dev);
+ 
+-	ia_phy_put(dev, ia_phy_get(dev,0x10) & ~(0x4), 0x10); 
++	/* Disable phy interrupts */
++	ia_phy_put(dev, ia_phy_get(dev, SUNI_RSOP_CIE) & ~(SUNI_RSOP_CIE_LOSE),
++				   SUNI_RSOP_CIE);
+ 	udelay(1);
+ 
++	if (dev->phy && dev->phy->stop)
++		dev->phy->stop(dev);
++
+ 	/* De-register device */  
+       	free_irq(iadev->irq, dev);
+ 	iadev_count--;
+diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
+index e336b05..5f1e1cc 100644
+--- a/drivers/block/cciss.c
++++ b/drivers/block/cciss.c
+@@ -53,15 +53,16 @@
+ #include <linux/scatterlist.h>
+ 
+ #define CCISS_DRIVER_VERSION(maj,min,submin) ((maj<<16)|(min<<8)|(submin))
+-#define DRIVER_NAME "HP CISS Driver (v 3.6.14)"
+-#define DRIVER_VERSION CCISS_DRIVER_VERSION(3,6,14)
++#define DRIVER_NAME "HP CISS Driver (v 3.6.20)"
++#define DRIVER_VERSION CCISS_DRIVER_VERSION(3, 6, 20)
+ 
+ /* Embedded module documentation macros - see modules.h */
+ MODULE_AUTHOR("Hewlett-Packard Company");
+-MODULE_DESCRIPTION("Driver for HP Controller SA5xxx SA6xxx version 3.6.14");
++MODULE_DESCRIPTION("Driver for HP Smart Array Controllers");
+ MODULE_SUPPORTED_DEVICE("HP SA5i SA5i+ SA532 SA5300 SA5312 SA641 SA642 SA6400"
+-			" SA6i P600 P800 P400 P400i E200 E200i E500");
+-MODULE_VERSION("3.6.14");
++			" SA6i P600 P800 P400 P400i E200 E200i E500 P700m"
++			" Smart Array G2 Series SAS/SATA Controllers");
++MODULE_VERSION("3.6.20");
+ MODULE_LICENSE("GPL");
+ 
+ #include "cciss_cmd.h"
+@@ -90,6 +91,11 @@ static const struct pci_device_id cciss_pci_device_id[] = {
+ 	{PCI_VENDOR_ID_HP,     PCI_DEVICE_ID_HP_CISSD,     0x103C, 0x3215},
+ 	{PCI_VENDOR_ID_HP,     PCI_DEVICE_ID_HP_CISSC,     0x103C, 0x3237},
+ 	{PCI_VENDOR_ID_HP,     PCI_DEVICE_ID_HP_CISSC,     0x103C, 0x323D},
++	{PCI_VENDOR_ID_HP,     PCI_DEVICE_ID_HP_CISSE,     0x103C, 0x3241},
++	{PCI_VENDOR_ID_HP,     PCI_DEVICE_ID_HP_CISSE,     0x103C, 0x3243},
++	{PCI_VENDOR_ID_HP,     PCI_DEVICE_ID_HP_CISSE,     0x103C, 0x3245},
++	{PCI_VENDOR_ID_HP,     PCI_DEVICE_ID_HP_CISSE,     0x103C, 0x3247},
++	{PCI_VENDOR_ID_HP,     PCI_DEVICE_ID_HP_CISSE,     0x103C, 0x3249},
+ 	{PCI_VENDOR_ID_HP,     PCI_ANY_ID,	PCI_ANY_ID, PCI_ANY_ID,
+ 		PCI_CLASS_STORAGE_RAID << 8, 0xffff << 8, 0},
+ 	{0,}
+@@ -123,6 +129,11 @@ static struct board_type products[] = {
+ 	{0x3215103C, "Smart Array E200i", &SA5_access, 120},
+ 	{0x3237103C, "Smart Array E500", &SA5_access, 512},
+ 	{0x323D103C, "Smart Array P700m", &SA5_access, 512},
++	{0x3241103C, "Smart Array P212", &SA5_access, 384},
++	{0x3243103C, "Smart Array P410", &SA5_access, 384},
++	{0x3245103C, "Smart Array P410i", &SA5_access, 384},
++	{0x3247103C, "Smart Array P411", &SA5_access, 384},
++	{0x3249103C, "Smart Array P812", &SA5_access, 384},
+ 	{0xFFFF103C, "Unknown Smart Array", &SA5_access, 120},
+ };
+ 
+diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
+index d307bf2..2d854bb 100644
+--- a/drivers/char/Kconfig
++++ b/drivers/char/Kconfig
+@@ -749,7 +749,7 @@ config NVRAM
+ if RTC_LIB=n
+ 
+ config RTC
+-	tristate "Enhanced Real Time Clock Support"
++	tristate "Enhanced Real Time Clock Support (legacy PC RTC driver)"
+ 	depends on !PPC && !PARISC && !IA64 && !M68K && !SPARC && !FRV \
+ 			&& !ARM && !SUPERH && !S390 && !AVR32
+ 	---help---
+@@ -1036,9 +1036,9 @@ config HPET
+ 	  non-periodic and/or periodic.
+ 
+ config HPET_RTC_IRQ
+-	bool "HPET Control RTC IRQ" if !HPET_EMULATE_RTC
+-	default n
+-	depends on HPET
++	bool
++	default HPET_EMULATE_RTC
++	depends on RTC && HPET
+ 	help
+ 	  If you say Y here, you will disable RTC_IRQ in drivers/char/rtc.c. It
+ 	  is assumed the platform called hpet_alloc with the RTC IRQ values for
+diff --git a/drivers/char/agp/agp.h b/drivers/char/agp/agp.h
+index 99e6a40..81e14be 100644
+--- a/drivers/char/agp/agp.h
++++ b/drivers/char/agp/agp.h
+@@ -99,8 +99,8 @@ struct agp_bridge_driver {
+ 	const void *aperture_sizes;
+ 	int num_aperture_sizes;
+ 	enum aper_size_type size_type;
+-	int cant_use_aperture;
+-	int needs_scratch_page;
++	bool cant_use_aperture;
++	bool needs_scratch_page;
+ 	const struct gatt_mask *masks;
+ 	int (*fetch_size)(void);
+ 	int (*configure)(void);
+@@ -278,7 +278,7 @@ void agp_generic_destroy_page(void *addr, int flags);
+ void agp_free_key(int key);
+ int agp_num_entries(void);
+ u32 agp_collect_device_status(struct agp_bridge_data *bridge, u32 mode, u32 command);
+-void agp_device_command(u32 command, int agp_v3);
++void agp_device_command(u32 command, bool agp_v3);
+ int agp_3_5_enable(struct agp_bridge_data *bridge);
+ void global_cache_flush(void);
+ void get_agp_version(struct agp_bridge_data *bridge);
+diff --git a/drivers/char/agp/alpha-agp.c b/drivers/char/agp/alpha-agp.c
+index e77c178..5da89f6 100644
+--- a/drivers/char/agp/alpha-agp.c
++++ b/drivers/char/agp/alpha-agp.c
+@@ -80,7 +80,7 @@ static void alpha_core_agp_enable(struct agp_bridge_data *bridge, u32 mode)
+ 	agp->mode.bits.enable = 1;
+ 	agp->ops->configure(agp);
+ 
+-	agp_device_command(agp->mode.lw, 0);
++	agp_device_command(agp->mode.lw, false);
+ }
+ 
+ static int alpha_core_agp_insert_memory(struct agp_memory *mem, off_t pg_start,
+@@ -126,7 +126,7 @@ struct agp_bridge_driver alpha_core_agp_driver = {
+ 	.aperture_sizes		= alpha_core_agp_sizes,
+ 	.num_aperture_sizes	= 1,
+ 	.size_type		= FIXED_APER_SIZE,
+-	.cant_use_aperture	= 1,
++	.cant_use_aperture	= true,
+ 	.masks			= NULL,
+ 
+ 	.fetch_size		= alpha_core_agp_fetch_size,
+diff --git a/drivers/char/agp/amd-k7-agp.c b/drivers/char/agp/amd-k7-agp.c
+index 96bdb92..39a0718 100644
+--- a/drivers/char/agp/amd-k7-agp.c
++++ b/drivers/char/agp/amd-k7-agp.c
+@@ -314,9 +314,9 @@ static int amd_insert_memory(struct agp_memory *mem, off_t pg_start, int type)
+ 		j++;
+ 	}
+ 
+-	if (mem->is_flushed == FALSE) {
++	if (!mem->is_flushed) {
+ 		global_cache_flush();
+-		mem->is_flushed = TRUE;
++		mem->is_flushed = true;
+ 	}
+ 
+ 	for (i = 0, j = pg_start; i < mem->page_count; i++, j++) {
+diff --git a/drivers/char/agp/amd64-agp.c b/drivers/char/agp/amd64-agp.c
+index d8200ac..13665db 100644
+--- a/drivers/char/agp/amd64-agp.c
++++ b/drivers/char/agp/amd64-agp.c
+@@ -90,9 +90,9 @@ static int amd64_insert_memory(struct agp_memory *mem, off_t pg_start, int type)
+ 		j++;
+ 	}
+ 
+-	if (mem->is_flushed == FALSE) {
++	if (!mem->is_flushed) {
+ 		global_cache_flush();
+-		mem->is_flushed = TRUE;
++		mem->is_flushed = true;
+ 	}
+ 
+ 	for (i = 0, j = pg_start; i < mem->page_count; i++, j++) {
+diff --git a/drivers/char/agp/ati-agp.c b/drivers/char/agp/ati-agp.c
+index 55c97f6..3a4566c 100644
+--- a/drivers/char/agp/ati-agp.c
++++ b/drivers/char/agp/ati-agp.c
+@@ -287,10 +287,10 @@ static int ati_insert_memory(struct agp_memory * mem,
+ 		j++;
+ 	}
+ 
+-	if (mem->is_flushed == FALSE) {
++	if (!mem->is_flushed) {
+ 		/*CACHE_FLUSH(); */
+ 		global_cache_flush();
+-		mem->is_flushed = TRUE;
++		mem->is_flushed = true;
+ 	}
+ 
+ 	for (i = 0, j = pg_start; i < mem->page_count; i++, j++) {
+@@ -458,6 +458,10 @@ static struct agp_device_ids ati_agp_device_ids[] __devinitdata =
+ 		.chipset_name	= "IGP9100/M",
+ 	},
+ 	{
++		.device_id	= PCI_DEVICE_ID_ATI_RS350_133,
++		.chipset_name	= "IGP9000/M",
++	},
++	{
+ 		.device_id	= PCI_DEVICE_ID_ATI_RS350_200,
+ 		.chipset_name	= "IGP9100/M",
+ 	},
+diff --git a/drivers/char/agp/backend.c b/drivers/char/agp/backend.c
+index b1bdd01..1ec8710 100644
+--- a/drivers/char/agp/backend.c
++++ b/drivers/char/agp/backend.c
+@@ -188,10 +188,10 @@ static int agp_backend_initialize(struct agp_bridge_data *bridge)
+ 
+ err_out:
+ 	if (bridge->driver->needs_scratch_page) {
+-		bridge->driver->agp_destroy_page(gart_to_virt(bridge->scratch_page_real),
+-						 AGP_PAGE_DESTROY_UNMAP);
+-		bridge->driver->agp_destroy_page(gart_to_virt(bridge->scratch_page_real),
+-						 AGP_PAGE_DESTROY_FREE);
++		void *va = gart_to_virt(bridge->scratch_page_real);
++
++		bridge->driver->agp_destroy_page(va, AGP_PAGE_DESTROY_UNMAP);
++		bridge->driver->agp_destroy_page(va, AGP_PAGE_DESTROY_FREE);
+ 	}
+ 	if (got_gatt)
+ 		bridge->driver->free_gatt_table(bridge);
+@@ -215,10 +215,10 @@ static void agp_backend_cleanup(struct agp_bridge_data *bridge)
+ 
+ 	if (bridge->driver->agp_destroy_page &&
+ 	    bridge->driver->needs_scratch_page) {
+-		bridge->driver->agp_destroy_page(gart_to_virt(bridge->scratch_page_real),
+-						 AGP_PAGE_DESTROY_UNMAP);
+-		bridge->driver->agp_destroy_page(gart_to_virt(bridge->scratch_page_real),
+-						 AGP_PAGE_DESTROY_FREE);
++		void *va = gart_to_virt(bridge->scratch_page_real);
++
++		bridge->driver->agp_destroy_page(va, AGP_PAGE_DESTROY_UNMAP);
++		bridge->driver->agp_destroy_page(va, AGP_PAGE_DESTROY_FREE);
+ 	}
+ }
+ 
+diff --git a/drivers/char/agp/compat_ioctl.c b/drivers/char/agp/compat_ioctl.c
+index 3927579..58c57cb 100644
+--- a/drivers/char/agp/compat_ioctl.c
++++ b/drivers/char/agp/compat_ioctl.c
+@@ -214,7 +214,7 @@ long compat_agp_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
+ 		ret_val = -EINVAL;
+ 		goto ioctl_out;
+ 	}
+-	if ((agp_fe.backend_acquired != TRUE) &&
++	if ((agp_fe.backend_acquired != true) &&
+ 	    (cmd != AGPIOC_ACQUIRE32)) {
+ 		ret_val = -EBUSY;
+ 		goto ioctl_out;
+diff --git a/drivers/char/agp/efficeon-agp.c b/drivers/char/agp/efficeon-agp.c
+index cac0009..8ca6f26 100644
+--- a/drivers/char/agp/efficeon-agp.c
++++ b/drivers/char/agp/efficeon-agp.c
+@@ -249,9 +249,9 @@ static int efficeon_insert_memory(struct agp_memory * mem, off_t pg_start, int t
+ 	if (type != 0 || mem->type != 0)
+ 		return -EINVAL;
+ 
+-	if (mem->is_flushed == FALSE) {
++	if (!mem->is_flushed) {
+ 		global_cache_flush();
+-		mem->is_flushed = TRUE;
++		mem->is_flushed = true;
+ 	}
+ 
+ 	last_page = NULL;
+@@ -329,7 +329,7 @@ static const struct agp_bridge_driver efficeon_driver = {
+ 	.free_gatt_table	= efficeon_free_gatt_table,
+ 	.insert_memory		= efficeon_insert_memory,
+ 	.remove_memory		= efficeon_remove_memory,
+-	.cant_use_aperture	= 0,	// 1 might be faster?
++	.cant_use_aperture	= false,	// true might be faster?
+ 
+ 	// Generic
+ 	.alloc_by_type		= agp_generic_alloc_by_type,
+diff --git a/drivers/char/agp/frontend.c b/drivers/char/agp/frontend.c
+index 857b262..e6cb1ab 100644
+--- a/drivers/char/agp/frontend.c
++++ b/drivers/char/agp/frontend.c
+@@ -395,7 +395,7 @@ static int agp_remove_controller(struct agp_controller *controller)
+ 
+ 	if (agp_fe.current_controller == controller) {
+ 		agp_fe.current_controller = NULL;
+-		agp_fe.backend_acquired = FALSE;
++		agp_fe.backend_acquired = false;
+ 		agp_backend_release(agp_bridge);
+ 	}
+ 	kfree(controller);
+@@ -443,7 +443,7 @@ static void agp_controller_release_current(struct agp_controller *controller,
+ 	}
+ 
+ 	agp_fe.current_controller = NULL;
+-	agp_fe.used_by_controller = FALSE;
++	agp_fe.used_by_controller = false;
+ 	agp_backend_release(agp_bridge);
+ }
+ 
+@@ -573,7 +573,7 @@ static int agp_mmap(struct file *file, struct vm_area_struct *vma)
+ 
+ 	mutex_lock(&(agp_fe.agp_mutex));
+ 
+-	if (agp_fe.backend_acquired != TRUE)
++	if (agp_fe.backend_acquired != true)
+ 		goto out_eperm;
+ 
+ 	if (!(test_bit(AGP_FF_IS_VALID, &priv->access_flags)))
+@@ -768,7 +768,7 @@ int agpioc_acquire_wrap(struct agp_file_private *priv)
+ 
+ 	atomic_inc(&agp_bridge->agp_in_use);
+ 
+-	agp_fe.backend_acquired = TRUE;
++	agp_fe.backend_acquired = true;
+ 
+ 	controller = agp_find_controller_by_pid(priv->my_pid);
+ 
+@@ -778,7 +778,7 @@ int agpioc_acquire_wrap(struct agp_file_private *priv)
+ 		controller = agp_create_controller(priv->my_pid);
+ 
+ 		if (controller == NULL) {
+-			agp_fe.backend_acquired = FALSE;
++			agp_fe.backend_acquired = false;
+ 			agp_backend_release(agp_bridge);
+ 			return -ENOMEM;
+ 		}
+@@ -981,7 +981,7 @@ static long agp_ioctl(struct file *file,
+ 		ret_val = -EINVAL;
+ 		goto ioctl_out;
+ 	}
+-	if ((agp_fe.backend_acquired != TRUE) &&
++	if ((agp_fe.backend_acquired != true) &&
+ 	    (cmd != AGPIOC_ACQUIRE)) {
+ 		ret_val = -EBUSY;
+ 		goto ioctl_out;
+diff --git a/drivers/char/agp/generic.c b/drivers/char/agp/generic.c
+index 7fc0c99..564daaa 100644
+--- a/drivers/char/agp/generic.c
++++ b/drivers/char/agp/generic.c
+@@ -96,13 +96,13 @@ EXPORT_SYMBOL(agp_flush_chipset);
+ void agp_alloc_page_array(size_t size, struct agp_memory *mem)
+ {
+ 	mem->memory = NULL;
+-	mem->vmalloc_flag = 0;
++	mem->vmalloc_flag = false;
+ 
+ 	if (size <= 2*PAGE_SIZE)
+ 		mem->memory = kmalloc(size, GFP_KERNEL | __GFP_NORETRY);
+ 	if (mem->memory == NULL) {
+ 		mem->memory = vmalloc(size);
+-		mem->vmalloc_flag = 1;
++		mem->vmalloc_flag = true;
+ 	}
+ }
+ EXPORT_SYMBOL(agp_alloc_page_array);
+@@ -188,7 +188,7 @@ void agp_free_memory(struct agp_memory *curr)
+ 	if (curr == NULL)
+ 		return;
+ 
+-	if (curr->is_bound == TRUE)
++	if (curr->is_bound)
+ 		agp_unbind_memory(curr);
+ 
+ 	if (curr->type >= AGP_USER_TYPES) {
+@@ -202,10 +202,13 @@ void agp_free_memory(struct agp_memory *curr)
+ 	}
+ 	if (curr->page_count != 0) {
+ 		for (i = 0; i < curr->page_count; i++) {
+-			curr->bridge->driver->agp_destroy_page(gart_to_virt(curr->memory[i]), AGP_PAGE_DESTROY_UNMAP);
++			curr->memory[i] = (unsigned long)gart_to_virt(curr->memory[i]);
++			curr->bridge->driver->agp_destroy_page((void *)curr->memory[i],
++							       AGP_PAGE_DESTROY_UNMAP);
+ 		}
+ 		for (i = 0; i < curr->page_count; i++) {
+-			curr->bridge->driver->agp_destroy_page(gart_to_virt(curr->memory[i]), AGP_PAGE_DESTROY_FREE);
++			curr->bridge->driver->agp_destroy_page((void *)curr->memory[i],
++							       AGP_PAGE_DESTROY_FREE);
+ 		}
+ 	}
+ 	agp_free_key(curr->key);
+@@ -411,20 +414,20 @@ int agp_bind_memory(struct agp_memory *curr, off_t pg_start)
+ 	if (curr == NULL)
+ 		return -EINVAL;
+ 
+-	if (curr->is_bound == TRUE) {
++	if (curr->is_bound) {
+ 		printk(KERN_INFO PFX "memory %p is already bound!\n", curr);
+ 		return -EINVAL;
+ 	}
+-	if (curr->is_flushed == FALSE) {
++	if (!curr->is_flushed) {
+ 		curr->bridge->driver->cache_flush();
+-		curr->is_flushed = TRUE;
++		curr->is_flushed = true;
+ 	}
+ 	ret_val = curr->bridge->driver->insert_memory(curr, pg_start, curr->type);
+ 
+ 	if (ret_val != 0)
+ 		return ret_val;
+ 
+-	curr->is_bound = TRUE;
++	curr->is_bound = true;
+ 	curr->pg_start = pg_start;
+ 	return 0;
+ }
+@@ -446,7 +449,7 @@ int agp_unbind_memory(struct agp_memory *curr)
+ 	if (curr == NULL)
+ 		return -EINVAL;
+ 
+-	if (curr->is_bound != TRUE) {
++	if (!curr->is_bound) {
+ 		printk(KERN_INFO PFX "memory %p was not bound!\n", curr);
+ 		return -EINVAL;
+ 	}
+@@ -456,7 +459,7 @@ int agp_unbind_memory(struct agp_memory *curr)
+ 	if (ret_val != 0)
+ 		return ret_val;
+ 
+-	curr->is_bound = FALSE;
++	curr->is_bound = false;
+ 	curr->pg_start = 0;
+ 	return 0;
+ }
+@@ -754,7 +757,7 @@ u32 agp_collect_device_status(struct agp_bridge_data *bridge, u32 requested_mode
+ EXPORT_SYMBOL(agp_collect_device_status);
+ 
+ 
+-void agp_device_command(u32 bridge_agpstat, int agp_v3)
++void agp_device_command(u32 bridge_agpstat, bool agp_v3)
+ {
+ 	struct pci_dev *device = NULL;
+ 	int mode;
+@@ -818,7 +821,7 @@ void agp_generic_enable(struct agp_bridge_data *bridge, u32 requested_mode)
+ 			/* If we have 3.5, we can do the isoch stuff. */
+ 			if (bridge->minor_version >= 5)
+ 				agp_3_5_enable(bridge);
+-			agp_device_command(bridge_agpstat, TRUE);
++			agp_device_command(bridge_agpstat, true);
+ 			return;
+ 		} else {
+ 		    /* Disable calibration cycle in RX91<1> when not in AGP3.0 mode of operation.*/
+@@ -835,7 +838,7 @@ void agp_generic_enable(struct agp_bridge_data *bridge, u32 requested_mode)
+ 	}
+ 
+ 	/* AGP v<3 */
+-	agp_device_command(bridge_agpstat, FALSE);
++	agp_device_command(bridge_agpstat, false);
+ }
+ EXPORT_SYMBOL(agp_generic_enable);
+ 
+@@ -1083,9 +1086,9 @@ int agp_generic_insert_memory(struct agp_memory * mem, off_t pg_start, int type)
+ 		j++;
+ 	}
+ 
+-	if (mem->is_flushed == FALSE) {
++	if (!mem->is_flushed) {
+ 		bridge->driver->cache_flush();
+-		mem->is_flushed = TRUE;
++		mem->is_flushed = true;
+ 	}
+ 
+ 	for (i = 0, j = pg_start; i < mem->page_count; i++, j++) {
+diff --git a/drivers/char/agp/hp-agp.c b/drivers/char/agp/hp-agp.c
+index cbb0444..80d7317 100644
+--- a/drivers/char/agp/hp-agp.c
++++ b/drivers/char/agp/hp-agp.c
+@@ -353,9 +353,9 @@ hp_zx1_insert_memory (struct agp_memory *mem, off_t pg_start, int type)
+ 		j++;
+ 	}
+ 
+-	if (mem->is_flushed == FALSE) {
++	if (!mem->is_flushed) {
+ 		global_cache_flush();
+-		mem->is_flushed = TRUE;
++		mem->is_flushed = true;
+ 	}
+ 
+ 	for (i = 0, j = io_pg_start; i < mem->page_count; i++) {
+@@ -437,7 +437,7 @@ const struct agp_bridge_driver hp_zx1_driver = {
+ 	.agp_alloc_page		= agp_generic_alloc_page,
+ 	.agp_destroy_page	= agp_generic_destroy_page,
+ 	.agp_type_to_mask_type  = agp_generic_type_to_mask_type,
+-	.cant_use_aperture	= 1,
++	.cant_use_aperture	= true,
+ };
+ 
+ static int __init
+diff --git a/drivers/char/agp/i460-agp.c b/drivers/char/agp/i460-agp.c
+index 76f581c..e587eeb 100644
+--- a/drivers/char/agp/i460-agp.c
++++ b/drivers/char/agp/i460-agp.c
+@@ -580,7 +580,7 @@ const struct agp_bridge_driver intel_i460_driver = {
+ 	.alloc_by_type		= agp_generic_alloc_by_type,
+ 	.free_by_type		= agp_generic_free_by_type,
+ 	.agp_type_to_mask_type  = agp_generic_type_to_mask_type,
+-	.cant_use_aperture	= 1,
++	.cant_use_aperture	= true,
+ };
+ 
+ static int __devinit agp_intel_i460_probe(struct pci_dev *pdev,
+diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
+index eeea50a..1ae64bb 100644
+--- a/drivers/char/agp/intel-agp.c
++++ b/drivers/char/agp/intel-agp.c
+@@ -34,6 +34,12 @@
+ #define PCI_DEVICE_ID_INTEL_Q33_IG          0x29D2
+ #define PCI_DEVICE_ID_INTEL_IGD_HB          0x2A40
+ #define PCI_DEVICE_ID_INTEL_IGD_IG          0x2A42
++#define PCI_DEVICE_ID_INTEL_IGD_E_HB        0x2E00
++#define PCI_DEVICE_ID_INTEL_IGD_E_IG        0x2E02
++#define PCI_DEVICE_ID_INTEL_Q45_HB          0x2E10
++#define PCI_DEVICE_ID_INTEL_Q45_IG          0x2E12
++#define PCI_DEVICE_ID_INTEL_G45_HB          0x2E20
++#define PCI_DEVICE_ID_INTEL_G45_IG          0x2E22
+ 
+ /* cover 915 and 945 variants */
+ #define IS_I915 (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_E7221_HB || \
+@@ -55,6 +61,10 @@
+ 		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_Q35_HB || \
+ 		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_Q33_HB)
+ 
++#define IS_G4X (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGD_E_HB || \
++		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_Q45_HB || \
++		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_G45_HB)
++
+ extern int agp_memory_reserved;
+ 
+ 
+@@ -80,8 +90,13 @@ extern int agp_memory_reserved;
+ #define I915_PTEADDR	0x1C
+ #define I915_GMCH_GMS_STOLEN_48M	(0x6 << 4)
+ #define I915_GMCH_GMS_STOLEN_64M	(0x7 << 4)
+-#define G33_GMCH_GMS_STOLEN_128M       (0x8 << 4)
+-#define G33_GMCH_GMS_STOLEN_256M       (0x9 << 4)
++#define G33_GMCH_GMS_STOLEN_128M	(0x8 << 4)
++#define G33_GMCH_GMS_STOLEN_256M	(0x9 << 4)
++#define INTEL_GMCH_GMS_STOLEN_96M	(0xa << 4)
++#define INTEL_GMCH_GMS_STOLEN_160M	(0xb << 4)
++#define INTEL_GMCH_GMS_STOLEN_224M	(0xc << 4)
++#define INTEL_GMCH_GMS_STOLEN_352M	(0xd << 4)
++
+ #define I915_IFPADDR    0x60
+ 
+ /* Intel 965G registers */
+@@ -325,7 +340,7 @@ static int intel_i810_insert_entries(struct agp_memory *mem, off_t pg_start,
+ out:
+ 	ret = 0;
+ out_err:
+-	mem->is_flushed = 1;
++	mem->is_flushed = true;
+ 	return ret;
+ }
+ 
+@@ -418,9 +433,11 @@ static void intel_i810_free_by_type(struct agp_memory *curr)
+ 		if (curr->page_count == 4)
+ 			i8xx_destroy_pages(gart_to_virt(curr->memory[0]));
+ 		else {
+-			agp_bridge->driver->agp_destroy_page(gart_to_virt(curr->memory[0]),
++			void *va = gart_to_virt(curr->memory[0]);
++
++			agp_bridge->driver->agp_destroy_page(va,
+ 							     AGP_PAGE_DESTROY_UNMAP);
+-			agp_bridge->driver->agp_destroy_page(gart_to_virt(curr->memory[0]),
++			agp_bridge->driver->agp_destroy_page(va,
+ 							     AGP_PAGE_DESTROY_FREE);
+ 		}
+ 		agp_free_page_array(curr);
+@@ -504,6 +521,10 @@ static void intel_i830_init_gtt_entries(void)
+ 			size = 512;
+ 		}
+ 		size += 4;
++	} else if (IS_G4X) {
++		/* On 4 series hardware, GTT stolen is separate from graphics
++		 * stolen, ignore it in stolen gtt entries counting */
++		size = 0;
+ 	} else {
+ 		/* On previous hardware, the GTT size was just what was
+ 		 * required to map the aperture.
+@@ -552,30 +573,54 @@ static void intel_i830_init_gtt_entries(void)
+ 			break;
+ 		case I915_GMCH_GMS_STOLEN_48M:
+ 			/* Check it's really I915G */
+-			if (IS_I915 || IS_I965 || IS_G33)
++			if (IS_I915 || IS_I965 || IS_G33 || IS_G4X)
+ 				gtt_entries = MB(48) - KB(size);
+ 			else
+ 				gtt_entries = 0;
+ 			break;
+ 		case I915_GMCH_GMS_STOLEN_64M:
+ 			/* Check it's really I915G */
+-			if (IS_I915 || IS_I965 || IS_G33)
++			if (IS_I915 || IS_I965 || IS_G33 || IS_G4X)
+ 				gtt_entries = MB(64) - KB(size);
+ 			else
+ 				gtt_entries = 0;
+ 			break;
+ 		case G33_GMCH_GMS_STOLEN_128M:
+-			if (IS_G33)
++			if (IS_G33 || IS_I965 || IS_G4X)
+ 				gtt_entries = MB(128) - KB(size);
+ 			else
+ 				gtt_entries = 0;
+ 			break;
+ 		case G33_GMCH_GMS_STOLEN_256M:
+-			if (IS_G33)
++			if (IS_G33 || IS_I965 || IS_G4X)
+ 				gtt_entries = MB(256) - KB(size);
+ 			else
+ 				gtt_entries = 0;
+ 			break;
++		case INTEL_GMCH_GMS_STOLEN_96M:
++			if (IS_I965 || IS_G4X)
++				gtt_entries = MB(96) - KB(size);
++			else
++				gtt_entries = 0;
++			break;
++		case INTEL_GMCH_GMS_STOLEN_160M:
++			if (IS_I965 || IS_G4X)
++				gtt_entries = MB(160) - KB(size);
++			else
++				gtt_entries = 0;
++			break;
++		case INTEL_GMCH_GMS_STOLEN_224M:
++			if (IS_I965 || IS_G4X)
++				gtt_entries = MB(224) - KB(size);
++			else
++				gtt_entries = 0;
++			break;
++		case INTEL_GMCH_GMS_STOLEN_352M:
++			if (IS_I965 || IS_G4X)
++				gtt_entries = MB(352) - KB(size);
++			else
++				gtt_entries = 0;
++			break;
+ 		default:
+ 			gtt_entries = 0;
+ 			break;
+@@ -793,7 +838,7 @@ static int intel_i830_insert_entries(struct agp_memory *mem, off_t pg_start,
+ out:
+ 	ret = 0;
+ out_err:
+-	mem->is_flushed = 1;
++	mem->is_flushed = true;
+ 	return ret;
+ }
+ 
+@@ -1020,7 +1065,7 @@ static int intel_i915_insert_entries(struct agp_memory *mem, off_t pg_start,
+  out:
+ 	ret = 0;
+  out_err:
+-	mem->is_flushed = 1;
++	mem->is_flushed = true;
+ 	return ret;
+ }
+ 
+@@ -1134,53 +1179,64 @@ static unsigned long intel_i965_mask_memory(struct agp_bridge_data *bridge,
+ 	return addr | bridge->driver->masks[type].mask;
+ }
+ 
++static void intel_i965_get_gtt_range(int *gtt_offset, int *gtt_size)
++{
++	switch (agp_bridge->dev->device) {
++	case PCI_DEVICE_ID_INTEL_IGD_HB:
++	case PCI_DEVICE_ID_INTEL_IGD_E_HB:
++	case PCI_DEVICE_ID_INTEL_Q45_HB:
++	case PCI_DEVICE_ID_INTEL_G45_HB:
++		*gtt_offset = *gtt_size = MB(2);
++		break;
++	default:
++		*gtt_offset = *gtt_size = KB(512);
++	}
++}
++
+ /* The intel i965 automatically initializes the agp aperture during POST.
+  * Use the memory already set aside for in the GTT.
+  */
+ static int intel_i965_create_gatt_table(struct agp_bridge_data *bridge)
+ {
+-       int page_order;
+-       struct aper_size_info_fixed *size;
+-       int num_entries;
+-       u32 temp;
+-       int gtt_offset, gtt_size;
++	int page_order;
++	struct aper_size_info_fixed *size;
++	int num_entries;
++	u32 temp;
++	int gtt_offset, gtt_size;
+ 
+-       size = agp_bridge->current_size;
+-       page_order = size->page_order;
+-       num_entries = size->num_entries;
+-       agp_bridge->gatt_table_real = NULL;
++	size = agp_bridge->current_size;
++	page_order = size->page_order;
++	num_entries = size->num_entries;
++	agp_bridge->gatt_table_real = NULL;
+ 
+-       pci_read_config_dword(intel_private.pcidev, I915_MMADDR, &temp);
++	pci_read_config_dword(intel_private.pcidev, I915_MMADDR, &temp);
+ 
+-       temp &= 0xfff00000;
++	temp &= 0xfff00000;
+ 
+-       if (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGD_HB)
+-	       gtt_offset = gtt_size = MB(2);
+-       else
+-	       gtt_offset = gtt_size = KB(512);
++	intel_i965_get_gtt_range(&gtt_offset, &gtt_size);
+ 
+-       intel_private.gtt = ioremap((temp + gtt_offset) , gtt_size);
++	intel_private.gtt = ioremap((temp + gtt_offset) , gtt_size);
+ 
+-       if (!intel_private.gtt)
+-	       return -ENOMEM;
++	if (!intel_private.gtt)
++		return -ENOMEM;
+ 
+-       intel_private.registers = ioremap(temp, 128 * 4096);
+-       if (!intel_private.registers) {
++	intel_private.registers = ioremap(temp, 128 * 4096);
++	if (!intel_private.registers) {
+ 		iounmap(intel_private.gtt);
+ 		return -ENOMEM;
+ 	}
+ 
+-       temp = readl(intel_private.registers+I810_PGETBL_CTL) & 0xfffff000;
+-       global_cache_flush();   /* FIXME: ? */
++	temp = readl(intel_private.registers+I810_PGETBL_CTL) & 0xfffff000;
++	global_cache_flush();   /* FIXME: ? */
+ 
+-       /* we have to call this as early as possible after the MMIO base address is known */
+-       intel_i830_init_gtt_entries();
++	/* we have to call this as early as possible after the MMIO base address is known */
++	intel_i830_init_gtt_entries();
+ 
+-       agp_bridge->gatt_table = NULL;
++	agp_bridge->gatt_table = NULL;
+ 
+-       agp_bridge->gatt_bus_addr = temp;
++	agp_bridge->gatt_bus_addr = temp;
+ 
+-       return 0;
++	return 0;
+ }
+ 
+ 
+@@ -1656,7 +1712,7 @@ static const struct agp_bridge_driver intel_810_driver = {
+ 	.aperture_sizes		= intel_i810_sizes,
+ 	.size_type		= FIXED_APER_SIZE,
+ 	.num_aperture_sizes	= 2,
+-	.needs_scratch_page	= TRUE,
++	.needs_scratch_page	= true,
+ 	.configure		= intel_i810_configure,
+ 	.fetch_size		= intel_i810_fetch_size,
+ 	.cleanup		= intel_i810_cleanup,
+@@ -1697,7 +1753,7 @@ static const struct agp_bridge_driver intel_815_driver = {
+ 	.free_by_type		= agp_generic_free_by_type,
+ 	.agp_alloc_page		= agp_generic_alloc_page,
+ 	.agp_destroy_page	= agp_generic_destroy_page,
+-	.agp_type_to_mask_type  = agp_generic_type_to_mask_type,
++	.agp_type_to_mask_type	= agp_generic_type_to_mask_type,
+ };
+ 
+ static const struct agp_bridge_driver intel_830_driver = {
+@@ -1705,7 +1761,7 @@ static const struct agp_bridge_driver intel_830_driver = {
+ 	.aperture_sizes		= intel_i830_sizes,
+ 	.size_type		= FIXED_APER_SIZE,
+ 	.num_aperture_sizes	= 4,
+-	.needs_scratch_page	= TRUE,
++	.needs_scratch_page	= true,
+ 	.configure		= intel_i830_configure,
+ 	.fetch_size		= intel_i830_fetch_size,
+ 	.cleanup		= intel_i830_cleanup,
+@@ -1876,7 +1932,7 @@ static const struct agp_bridge_driver intel_915_driver = {
+ 	.aperture_sizes		= intel_i830_sizes,
+ 	.size_type		= FIXED_APER_SIZE,
+ 	.num_aperture_sizes	= 4,
+-	.needs_scratch_page	= TRUE,
++	.needs_scratch_page	= true,
+ 	.configure		= intel_i915_configure,
+ 	.fetch_size		= intel_i9xx_fetch_size,
+ 	.cleanup		= intel_i915_cleanup,
+@@ -1898,28 +1954,28 @@ static const struct agp_bridge_driver intel_915_driver = {
+ };
+ 
+ static const struct agp_bridge_driver intel_i965_driver = {
+-       .owner                  = THIS_MODULE,
+-       .aperture_sizes         = intel_i830_sizes,
+-       .size_type              = FIXED_APER_SIZE,
+-       .num_aperture_sizes     = 4,
+-       .needs_scratch_page     = TRUE,
+-       .configure              = intel_i915_configure,
+-       .fetch_size             = intel_i9xx_fetch_size,
+-       .cleanup                = intel_i915_cleanup,
+-       .tlb_flush              = intel_i810_tlbflush,
+-       .mask_memory            = intel_i965_mask_memory,
+-       .masks                  = intel_i810_masks,
+-       .agp_enable             = intel_i810_agp_enable,
+-       .cache_flush            = global_cache_flush,
+-       .create_gatt_table      = intel_i965_create_gatt_table,
+-       .free_gatt_table        = intel_i830_free_gatt_table,
+-       .insert_memory          = intel_i915_insert_entries,
+-       .remove_memory          = intel_i915_remove_entries,
+-       .alloc_by_type          = intel_i830_alloc_by_type,
+-       .free_by_type           = intel_i810_free_by_type,
+-       .agp_alloc_page         = agp_generic_alloc_page,
+-       .agp_destroy_page       = agp_generic_destroy_page,
+-       .agp_type_to_mask_type  = intel_i830_type_to_mask_type,
++	.owner			= THIS_MODULE,
++	.aperture_sizes		= intel_i830_sizes,
++	.size_type		= FIXED_APER_SIZE,
++	.num_aperture_sizes	= 4,
++	.needs_scratch_page	= true,
++	.configure		= intel_i915_configure,
++	.fetch_size		= intel_i9xx_fetch_size,
++	.cleanup		= intel_i915_cleanup,
++	.tlb_flush		= intel_i810_tlbflush,
++	.mask_memory		= intel_i965_mask_memory,
++	.masks			= intel_i810_masks,
++	.agp_enable		= intel_i810_agp_enable,
++	.cache_flush		= global_cache_flush,
++	.create_gatt_table	= intel_i965_create_gatt_table,
++	.free_gatt_table	= intel_i830_free_gatt_table,
++	.insert_memory		= intel_i915_insert_entries,
++	.remove_memory		= intel_i915_remove_entries,
++	.alloc_by_type		= intel_i830_alloc_by_type,
++	.free_by_type		= intel_i810_free_by_type,
++	.agp_alloc_page		= agp_generic_alloc_page,
++	.agp_destroy_page	= agp_generic_destroy_page,
++	.agp_type_to_mask_type	= intel_i830_type_to_mask_type,
+ 	.chipset_flush		= intel_i915_chipset_flush,
+ };
+ 
+@@ -1948,28 +2004,28 @@ static const struct agp_bridge_driver intel_7505_driver = {
+ };
+ 
+ static const struct agp_bridge_driver intel_g33_driver = {
+-	.owner                  = THIS_MODULE,
+-	.aperture_sizes         = intel_i830_sizes,
+-	.size_type              = FIXED_APER_SIZE,
+-	.num_aperture_sizes     = 4,
+-	.needs_scratch_page     = TRUE,
+-	.configure              = intel_i915_configure,
+-	.fetch_size             = intel_i9xx_fetch_size,
+-	.cleanup                = intel_i915_cleanup,
+-	.tlb_flush              = intel_i810_tlbflush,
+-	.mask_memory            = intel_i965_mask_memory,
+-	.masks                  = intel_i810_masks,
+-	.agp_enable             = intel_i810_agp_enable,
+-	.cache_flush            = global_cache_flush,
+-	.create_gatt_table      = intel_i915_create_gatt_table,
+-	.free_gatt_table        = intel_i830_free_gatt_table,
+-	.insert_memory          = intel_i915_insert_entries,
+-	.remove_memory          = intel_i915_remove_entries,
+-	.alloc_by_type          = intel_i830_alloc_by_type,
+-	.free_by_type           = intel_i810_free_by_type,
+-	.agp_alloc_page         = agp_generic_alloc_page,
+-	.agp_destroy_page       = agp_generic_destroy_page,
+-	.agp_type_to_mask_type  = intel_i830_type_to_mask_type,
++	.owner			= THIS_MODULE,
++	.aperture_sizes		= intel_i830_sizes,
++	.size_type		= FIXED_APER_SIZE,
++	.num_aperture_sizes	= 4,
++	.needs_scratch_page	= true,
++	.configure		= intel_i915_configure,
++	.fetch_size		= intel_i9xx_fetch_size,
++	.cleanup		= intel_i915_cleanup,
++	.tlb_flush		= intel_i810_tlbflush,
++	.mask_memory		= intel_i965_mask_memory,
++	.masks			= intel_i810_masks,
++	.agp_enable		= intel_i810_agp_enable,
++	.cache_flush		= global_cache_flush,
++	.create_gatt_table	= intel_i915_create_gatt_table,
++	.free_gatt_table	= intel_i830_free_gatt_table,
++	.insert_memory		= intel_i915_insert_entries,
++	.remove_memory		= intel_i915_remove_entries,
++	.alloc_by_type		= intel_i830_alloc_by_type,
++	.free_by_type		= intel_i810_free_by_type,
++	.agp_alloc_page		= agp_generic_alloc_page,
++	.agp_destroy_page	= agp_generic_destroy_page,
++	.agp_type_to_mask_type	= intel_i830_type_to_mask_type,
+ 	.chipset_flush		= intel_i915_chipset_flush,
+ };
+ 
+@@ -2063,6 +2119,12 @@ static const struct intel_driver_description {
+ 		NULL, &intel_g33_driver },
+ 	{ PCI_DEVICE_ID_INTEL_IGD_HB, PCI_DEVICE_ID_INTEL_IGD_IG, 0,
+ 	    "Intel Integrated Graphics Device", NULL, &intel_i965_driver },
++	{ PCI_DEVICE_ID_INTEL_IGD_E_HB, PCI_DEVICE_ID_INTEL_IGD_E_IG, 0,
++	    "Intel Integrated Graphics Device", NULL, &intel_i965_driver },
++	{ PCI_DEVICE_ID_INTEL_Q45_HB, PCI_DEVICE_ID_INTEL_Q45_IG, 0,
++	    "Q45/Q43", NULL, &intel_i965_driver },
++	{ PCI_DEVICE_ID_INTEL_G45_HB, PCI_DEVICE_ID_INTEL_G45_IG, 0,
++	    "G45/G43", NULL, &intel_i965_driver },
+ 	{ 0, 0, 0, NULL, NULL, NULL }
+ };
+ 
+@@ -2254,6 +2316,9 @@ static struct pci_device_id agp_intel_pci_table[] = {
+ 	ID(PCI_DEVICE_ID_INTEL_Q35_HB),
+ 	ID(PCI_DEVICE_ID_INTEL_Q33_HB),
+ 	ID(PCI_DEVICE_ID_INTEL_IGD_HB),
++	ID(PCI_DEVICE_ID_INTEL_IGD_E_HB),
++	ID(PCI_DEVICE_ID_INTEL_Q45_HB),
++	ID(PCI_DEVICE_ID_INTEL_G45_HB),
+ 	{ }
+ };
+ 
+diff --git a/drivers/char/agp/nvidia-agp.c b/drivers/char/agp/nvidia-agp.c
+index 225ed2a..eaceb61 100644
+--- a/drivers/char/agp/nvidia-agp.c
++++ b/drivers/char/agp/nvidia-agp.c
+@@ -214,9 +214,9 @@ static int nvidia_insert_memory(struct agp_memory *mem, off_t pg_start, int type
+ 			return -EBUSY;
+ 	}
+ 
+-	if (mem->is_flushed == FALSE) {
++	if (!mem->is_flushed) {
+ 		global_cache_flush();
+-		mem->is_flushed = TRUE;
++		mem->is_flushed = true;
+ 	}
+ 	for (i = 0, j = pg_start; i < mem->page_count; i++, j++) {
+ 		writel(agp_bridge->driver->mask_memory(agp_bridge,
+diff --git a/drivers/char/agp/parisc-agp.c b/drivers/char/agp/parisc-agp.c
+index 2939e35..8c42dcc 100644
+--- a/drivers/char/agp/parisc-agp.c
++++ b/drivers/char/agp/parisc-agp.c
+@@ -141,9 +141,9 @@ parisc_agp_insert_memory(struct agp_memory *mem, off_t pg_start, int type)
+ 		j++;
+ 	}
+ 
+-	if (mem->is_flushed == FALSE) {
++	if (!mem->is_flushed) {
+ 		global_cache_flush();
+-		mem->is_flushed = TRUE;
++		mem->is_flushed = true;
+ 	}
+ 
+ 	for (i = 0, j = io_pg_start; i < mem->page_count; i++) {
+@@ -226,7 +226,7 @@ static const struct agp_bridge_driver parisc_agp_driver = {
+ 	.agp_alloc_page		= agp_generic_alloc_page,
+ 	.agp_destroy_page	= agp_generic_destroy_page,
+ 	.agp_type_to_mask_type  = agp_generic_type_to_mask_type,
+-	.cant_use_aperture	= 1,
++	.cant_use_aperture	= true,
+ };
+ 
+ static int __init
+diff --git a/drivers/char/agp/sgi-agp.c b/drivers/char/agp/sgi-agp.c
+index 98cf8ab..b972d83 100644
+--- a/drivers/char/agp/sgi-agp.c
++++ b/drivers/char/agp/sgi-agp.c
+@@ -182,9 +182,9 @@ static int sgi_tioca_insert_memory(struct agp_memory *mem, off_t pg_start,
+ 		j++;
+ 	}
+ 
+-	if (mem->is_flushed == FALSE) {
++	if (!mem->is_flushed) {
+ 		bridge->driver->cache_flush();
+-		mem->is_flushed = TRUE;
++		mem->is_flushed = true;
+ 	}
+ 
+ 	for (i = 0, j = pg_start; i < mem->page_count; i++, j++) {
+@@ -264,8 +264,8 @@ const struct agp_bridge_driver sgi_tioca_driver = {
+ 	.agp_alloc_page = sgi_tioca_alloc_page,
+ 	.agp_destroy_page = agp_generic_destroy_page,
+ 	.agp_type_to_mask_type  = agp_generic_type_to_mask_type,
+-	.cant_use_aperture = 1,
+-	.needs_scratch_page = 0,
++	.cant_use_aperture = true,
++	.needs_scratch_page = false,
+ 	.num_aperture_sizes = 1,
+ };
+ 
+diff --git a/drivers/char/agp/sworks-agp.c b/drivers/char/agp/sworks-agp.c
+index e08934e..0e054c1 100644
+--- a/drivers/char/agp/sworks-agp.c
++++ b/drivers/char/agp/sworks-agp.c
+@@ -339,9 +339,9 @@ static int serverworks_insert_memory(struct agp_memory *mem,
+ 		j++;
+ 	}
+ 
+-	if (mem->is_flushed == FALSE) {
++	if (!mem->is_flushed) {
+ 		global_cache_flush();
+-		mem->is_flushed = TRUE;
++		mem->is_flushed = true;
+ 	}
+ 
+ 	for (i = 0, j = pg_start; i < mem->page_count; i++, j++) {
+@@ -412,7 +412,7 @@ static void serverworks_agp_enable(struct agp_bridge_data *bridge, u32 mode)
+ 			       bridge->capndx + PCI_AGP_COMMAND,
+ 			       command);
+ 
+-	agp_device_command(command, 0);
++	agp_device_command(command, false);
+ }
+ 
+ static const struct agp_bridge_driver sworks_driver = {
+diff --git a/drivers/char/agp/uninorth-agp.c b/drivers/char/agp/uninorth-agp.c
+index 42c0a60..d2fa3cf 100644
+--- a/drivers/char/agp/uninorth-agp.c
++++ b/drivers/char/agp/uninorth-agp.c
+@@ -281,10 +281,10 @@ static void uninorth_agp_enable(struct agp_bridge_data *bridge, u32 mode)
+ 
+ 	if (uninorth_rev >= 0x30) {
+ 		/* This is an AGP V3 */
+-		agp_device_command(command, (status & AGPSTAT_MODE_3_0));
++		agp_device_command(command, (status & AGPSTAT_MODE_3_0) != 0);
+ 	} else {
+ 		/* AGP V2 */
+-		agp_device_command(command, 0);
++		agp_device_command(command, false);
+ 	}
+ 
+ 	uninorth_tlbflush(NULL);
+@@ -511,7 +511,7 @@ const struct agp_bridge_driver uninorth_agp_driver = {
+ 	.agp_alloc_page		= agp_generic_alloc_page,
+ 	.agp_destroy_page	= agp_generic_destroy_page,
+ 	.agp_type_to_mask_type  = agp_generic_type_to_mask_type,
+-	.cant_use_aperture	= 1,
++	.cant_use_aperture	= true,
+ };
+ 
+ const struct agp_bridge_driver u3_agp_driver = {
+@@ -536,8 +536,8 @@ const struct agp_bridge_driver u3_agp_driver = {
+ 	.agp_alloc_page		= agp_generic_alloc_page,
+ 	.agp_destroy_page	= agp_generic_destroy_page,
+ 	.agp_type_to_mask_type  = agp_generic_type_to_mask_type,
+-	.cant_use_aperture	= 1,
+-	.needs_scratch_page	= 1,
++	.cant_use_aperture	= true,
++	.needs_scratch_page	= true,
+ };
+ 
+ static struct agp_device_ids uninorth_agp_device_ids[] __devinitdata = {
+diff --git a/drivers/char/agp/via-agp.c b/drivers/char/agp/via-agp.c
+index 0ecc54d..7b36476 100644
+--- a/drivers/char/agp/via-agp.c
++++ b/drivers/char/agp/via-agp.c
+@@ -389,11 +389,20 @@ static struct agp_device_ids via_agp_device_ids[] __devinitdata =
+ 		.device_id  = PCI_DEVICE_ID_VIA_VT3324,
+ 		.chipset_name   = "CX700",
+ 	},
+-	/* VT3336 */
++	/* VT3336 - this is a chipset for AMD Athlon/K8 CPU. Due to K8's unique
++	 * architecture, the AGP resource and behavior are different from
++	 * the traditional AGP which resides only in chipset. AGP is used
++	 * by 3D driver which wasn't available for the VT3336 and VT3364
++	 * generation until now.  Unfortunately, by testing, VT3364 works
++	 * but VT3336 doesn't. - explaination from via, just leave this as
++	 * as a placeholder to avoid future patches adding it back in.
++	 */
++#if 0
+ 	{
+ 		.device_id  = PCI_DEVICE_ID_VIA_VT3336,
+ 		.chipset_name   = "VT3336",
+ 	},
++#endif
+ 	/* P4M890 */
+ 	{
+ 		.device_id  = PCI_DEVICE_ID_VIA_P4M890,
+@@ -546,8 +555,8 @@ static const struct pci_device_id agp_via_pci_table[] = {
+ 	ID(PCI_DEVICE_ID_VIA_3296_0),
+ 	ID(PCI_DEVICE_ID_VIA_P4M800CE),
+ 	ID(PCI_DEVICE_ID_VIA_VT3324),
+-	ID(PCI_DEVICE_ID_VIA_VT3336),
+ 	ID(PCI_DEVICE_ID_VIA_P4M890),
++	ID(PCI_DEVICE_ID_VIA_VT3364),
+ 	{ }
+ };
+ 
+diff --git a/drivers/char/generic_nvram.c b/drivers/char/generic_nvram.c
+index 2398e86..a00869c 100644
+--- a/drivers/char/generic_nvram.c
++++ b/drivers/char/generic_nvram.c
+@@ -133,7 +133,7 @@ static struct miscdevice nvram_dev = {
+ 
+ int __init nvram_init(void)
+ {
+-	printk(KERN_INFO "Macintosh non-volatile memory driver v%s\n",
++	printk(KERN_INFO "Generic non-volatile memory driver v%s\n",
+ 		NVRAM_VERSION);
+ 	return misc_register(&nvram_dev);
+ }
+diff --git a/drivers/char/hw_random/intel-rng.c b/drivers/char/hw_random/intel-rng.c
+index 5cc651e..27fdc08 100644
+--- a/drivers/char/hw_random/intel-rng.c
++++ b/drivers/char/hw_random/intel-rng.c
+@@ -273,7 +273,7 @@ static int __init intel_rng_hw_init(void *_intel_rng_hw)
+ 	if (mfc != INTEL_FWH_MANUFACTURER_CODE ||
+ 	    (dvc != INTEL_FWH_DEVICE_CODE_8M &&
+ 	     dvc != INTEL_FWH_DEVICE_CODE_4M)) {
+-		printk(KERN_ERR PFX "FWH not detected\n");
++		printk(KERN_NOTICE PFX "FWH not detected\n");
+ 		return -ENODEV;
+ 	}
+ 
+diff --git a/drivers/char/keyboard.c b/drivers/char/keyboard.c
+index 7f7e798..d9a0a53 100644
+--- a/drivers/char/keyboard.c
++++ b/drivers/char/keyboard.c
+@@ -677,12 +677,7 @@ static void k_deadunicode(struct vc_data *vc, unsigned int value, char up_flag)
+ 
+ static void k_self(struct vc_data *vc, unsigned char value, char up_flag)
+ {
+-	unsigned int uni;
+-	if (kbd->kbdmode == VC_UNICODE)
+-		uni = value;
+-	else
+-		uni = conv_8bit_to_uni(value);
+-	k_unicode(vc, uni, up_flag);
++	k_unicode(vc, conv_8bit_to_uni(value), up_flag);
+ }
+ 
+ static void k_dead2(struct vc_data *vc, unsigned char value, char up_flag)
+diff --git a/drivers/ide/ide-generic.c b/drivers/ide/ide-generic.c
+index 9134488..2d92214 100644
+--- a/drivers/ide/ide-generic.c
++++ b/drivers/ide/ide-generic.c
+@@ -22,6 +22,10 @@
+ 
+ #define DRV_NAME	"ide_generic"
+ 
++static int probe_mask = 0x03;
++module_param(probe_mask, int, 0);
++MODULE_PARM_DESC(probe_mask, "probe mask for legacy ISA IDE ports");
++
+ static ssize_t store_add(struct class *cls, const char *buf, size_t n)
+ {
+ 	ide_hwif_t *hwif;
+@@ -89,6 +93,9 @@ static int __init ide_generic_init(void)
+ 	u8 idx[MAX_HWIFS];
+ 	int i;
+ 
++	printk(KERN_INFO DRV_NAME ": please use \"probe_mask=0x3f\" module "
++			 "parameter for probing all legacy ISA IDE ports\n");
++
+ 	for (i = 0; i < MAX_HWIFS; i++) {
+ 		ide_hwif_t *hwif;
+ 		unsigned long io_addr = ide_default_io_base(i);
+@@ -96,7 +103,7 @@ static int __init ide_generic_init(void)
+ 
+ 		idx[i] = 0xff;
+ 
+-		if (io_addr) {
++		if ((probe_mask & (1 << i)) && io_addr) {
+ 			if (!request_region(io_addr, 8, DRV_NAME)) {
+ 				printk(KERN_ERR "%s: I/O resource 0x%lX-0x%lX "
+ 						"not free.\n",
+diff --git a/drivers/ide/legacy/ide-cs.c b/drivers/ide/legacy/ide-cs.c
+index aa2ea3d..f633b6b 100644
+--- a/drivers/ide/legacy/ide-cs.c
++++ b/drivers/ide/legacy/ide-cs.c
+@@ -135,13 +135,17 @@ static void ide_detach(struct pcmcia_device *link)
+ {
+     ide_info_t *info = link->priv;
+     ide_hwif_t *hwif = info->hwif;
++    unsigned long data_addr, ctl_addr;
+ 
+     DEBUG(0, "ide_detach(0x%p)\n", link);
+ 
++    data_addr = hwif->io_ports.data_addr;
++    ctl_addr  = hwif->io_ports.ctl_addr;
++
+     ide_release(link);
+ 
+-    release_region(hwif->io_ports.ctl_addr, 1);
+-    release_region(hwif->io_ports.data_addr, 8);
++    release_region(ctl_addr, 1);
++    release_region(data_addr, 8);
+ 
+     kfree(info);
+ } /* ide_detach */
+@@ -194,6 +198,16 @@ static ide_hwif_t *idecs_register(unsigned long io, unsigned long ctl,
+     if (hwif->present)
+ 	return hwif;
+ 
++    /* retry registration in case device is still spinning up */
++    for (i = 0; i < 10; i++) {
++	msleep(100);
++	ide_port_scan(hwif);
++	if (hwif->present)
++	    return hwif;
++    }
++
++    return hwif;
++
+ out_release:
+     release_region(ctl, 1);
+     release_region(io, 8);
+@@ -222,7 +236,7 @@ static int ide_config(struct pcmcia_device *link)
+ 	cistpl_cftable_entry_t dflt;
+     } *stk = NULL;
+     cistpl_cftable_entry_t *cfg;
+-    int i, pass, last_ret = 0, last_fn = 0, is_kme = 0;
++    int pass, last_ret = 0, last_fn = 0, is_kme = 0;
+     unsigned long io_base, ctl_base;
+     ide_hwif_t *hwif;
+ 
+@@ -319,30 +333,15 @@ static int ide_config(struct pcmcia_device *link)
+     if (is_kme)
+ 	outb(0x81, ctl_base+1);
+ 
+-    /* retry registration in case device is still spinning up */
+-    for (i = 0; i < 10; i++) {
+-	hwif = idecs_register(io_base, ctl_base, link->irq.AssignedIRQ, link);
+-	if (hwif)
+-	    break;
+-	if (link->io.NumPorts1 == 0x20) {
++     hwif = idecs_register(io_base, ctl_base, link->irq.AssignedIRQ, link);
++     if (hwif == NULL && link->io.NumPorts1 == 0x20) {
+ 	    outb(0x02, ctl_base + 0x10);
+ 	    hwif = idecs_register(io_base + 0x10, ctl_base + 0x10,
+ 				  link->irq.AssignedIRQ, link);
+-	    if (hwif) {
+-		io_base += 0x10;
+-		ctl_base += 0x10;
+-		break;
+-	    }
+-	}
+-	msleep(100);
+     }
+ 
+-    if (hwif == NULL) {
+-	printk(KERN_NOTICE "ide-cs: ide_register() at 0x%3lx & 0x%3lx"
+-	       ", irq %u failed\n", io_base, ctl_base,
+-	       link->irq.AssignedIRQ);
++    if (hwif == NULL)
+ 	goto failed;
+-    }
+ 
+     info->ndev = 1;
+     sprintf(info->node.dev_name, "hd%c", 'a' + hwif->index * 2);
+diff --git a/drivers/ide/pci/opti621.c b/drivers/ide/pci/opti621.c
+index 6e99080..725c805 100644
+--- a/drivers/ide/pci/opti621.c
++++ b/drivers/ide/pci/opti621.c
+@@ -81,8 +81,6 @@
+  * 0.5 doesn't work.
+  */
+ 
+-#define OPTI621_DEBUG		/* define for debug messages */
+-
+ #include <linux/types.h>
+ #include <linux/module.h>
+ #include <linux/kernel.h>
+@@ -92,28 +90,6 @@
+ 
+ #include <asm/io.h>
+ 
+-//#define OPTI621_MAX_PIO 3
+-/* In fact, I do not have any PIO 4 drive
+- * (address: 25 ns, data: 70 ns, recovery: 35 ns),
+- * but OPTi 82C621 is programmable and it can do (minimal values):
+- * on 40MHz PCI bus (pulse 25 ns):
+- *  address: 25 ns, data: 25 ns, recovery: 50 ns;
+- * on 20MHz PCI bus (pulse 50 ns):
+- *  address: 50 ns, data: 50 ns, recovery: 100 ns.
+- */
+-
+-/* #define READ_PREFETCH 0 */
+-/* Uncomment for disable read prefetch.
+- * There is some readprefetch capatibility in hdparm,
+- * but when I type hdparm -P 1 /dev/hda, I got errors
+- * and till reset drive is inaccessible.
+- * This (hw) read prefetch is safe on my drive.
+- */
+-
+-#ifndef READ_PREFETCH
+-#define READ_PREFETCH 0x40 /* read prefetch is enabled */
+-#endif /* else read prefetch is disabled */
+-
+ #define READ_REG 0	/* index of Read cycle timing register */
+ #define WRITE_REG 1	/* index of Write cycle timing register */
+ #define CNTRL_REG 3	/* index of Control register */
+@@ -122,51 +98,8 @@
+ 
+ static int reg_base;
+ 
+-#define PIO_NOT_EXIST 254
+-#define PIO_DONT_KNOW 255
+-
+ static DEFINE_SPINLOCK(opti621_lock);
+ 
+-/* there are stored pio numbers from other calls of opti621_set_pio_mode */
+-static void compute_pios(ide_drive_t *drive, const u8 pio)
+-/* Store values into drive->drive_data
+- *	second_contr - 0 for primary controller, 1 for secondary
+- *	slave_drive - 0 -> pio is for master, 1 -> pio is for slave
+- *	pio - PIO mode for selected drive (for other we don't know)
+- */
+-{
+-	int d;
+-	ide_hwif_t *hwif = HWIF(drive);
+-
+-	drive->drive_data = pio;
+-
+-	for (d = 0; d < 2; ++d) {
+-		drive = &hwif->drives[d];
+-		if (drive->present) {
+-			if (drive->drive_data == PIO_DONT_KNOW)
+-				drive->drive_data = ide_get_best_pio_mode(drive, 255, 3);
+-#ifdef OPTI621_DEBUG
+-			printk("%s: Selected PIO mode %d\n",
+-				drive->name, drive->drive_data);
+-#endif
+-		} else {
+-			drive->drive_data = PIO_NOT_EXIST;
+-		}
+-	}
+-}
+-
+-static int cmpt_clk(int time, int bus_speed)
+-/* Returns (rounded up) time in clocks for time in ns,
+- * with bus_speed in MHz.
+- * Example: bus_speed = 40 MHz, time = 80 ns
+- * 1000/40 = 25 ns (clk value),
+- * 80/25 = 3.2, rounded up to 4 (I hope ;-)).
+- * Use idebus=xx to select right frequency.
+- */
+-{
+-	return ((time*bus_speed+999)/1000);
+-}
+-
+ /* Write value to register reg, base of register
+  * is at reg_base (0x1f0 primary, 0x170 secondary,
+  * if not changed by PCI configuration).
+@@ -199,83 +132,29 @@ static u8 read_reg(int reg)
+ 	return ret;
+ }
+ 
+-typedef struct pio_clocks_s {
+-	int	address_time;	/* Address setup (clocks) */
+-	int	data_time;	/* Active/data pulse (clocks) */
+-	int	recovery_time;	/* Recovery time (clocks) */
+-} pio_clocks_t;
+-
+-static void compute_clocks(int pio, pio_clocks_t *clks)
+-{
+-	if (pio != PIO_NOT_EXIST) {
+-		int adr_setup, data_pls;
+-		int bus_speed = ide_pci_clk ? ide_pci_clk : system_bus_clock();
+-
+-		adr_setup = ide_pio_timings[pio].setup_time;
+-		data_pls = ide_pio_timings[pio].active_time;
+-		clks->address_time = cmpt_clk(adr_setup, bus_speed);
+-		clks->data_time = cmpt_clk(data_pls, bus_speed);
+-		clks->recovery_time = cmpt_clk(ide_pio_timings[pio].cycle_time
+-			- adr_setup-data_pls, bus_speed);
+-		if (clks->address_time < 1)
+-			clks->address_time = 1;
+-		if (clks->address_time > 4)
+-			clks->address_time = 4;
+-		if (clks->data_time < 1)
+-			clks->data_time = 1;
+-		if (clks->data_time > 16)
+-			clks->data_time = 16;
+-		if (clks->recovery_time < 2)
+-			clks->recovery_time = 2;
+-		if (clks->recovery_time > 17)
+-			clks->recovery_time = 17;
+-	} else {
+-		clks->address_time = 1;
+-		clks->data_time = 1;
+-		clks->recovery_time = 2;
+-		/* minimal values */
+-	}
+-}
+-
+ static void opti621_set_pio_mode(ide_drive_t *drive, const u8 pio)
+ {
+-	/* primary and secondary drives share some registers,
+-	 * so we have to program both drives
+-	 */
++	ide_hwif_t *hwif = drive->hwif;
++	ide_drive_t *pair = ide_get_paired_drive(drive);
+ 	unsigned long flags;
+-	u8 pio1 = 0, pio2 = 0;
+-	pio_clocks_t first, second;
+-	int ax, drdy;
+-	u8 cycle1, cycle2, misc;
+-	ide_hwif_t *hwif = HWIF(drive);
+-
+-	/* sets drive->drive_data for both drives */
+-	compute_pios(drive, pio);
+-	pio1 = hwif->drives[0].drive_data;
+-	pio2 = hwif->drives[1].drive_data;
+-
+-	compute_clocks(pio1, &first);
+-	compute_clocks(pio2, &second);
+-
+-	/* ax = max(a1,a2) */
+-	ax = (first.address_time < second.address_time) ? second.address_time : first.address_time;
+-
+-	drdy = 2; /* DRDY is default 2 (by OPTi Databook) */
+-
+-	cycle1 = ((first.data_time-1)<<4)  | (first.recovery_time-2);
+-	cycle2 = ((second.data_time-1)<<4) | (second.recovery_time-2);
+-	misc = READ_PREFETCH | ((ax-1)<<4) | ((drdy-2)<<1);
+-
+-#ifdef OPTI621_DEBUG
+-	printk("%s: master: address: %d, data: %d, "
+-		"recovery: %d, drdy: %d [clk]\n",
+-		hwif->name, ax, first.data_time,
+-		first.recovery_time, drdy);
+-	printk("%s: slave:  address: %d, data: %d, "
+-		"recovery: %d, drdy: %d [clk]\n",
+-		hwif->name, ax, second.data_time,
+-		second.recovery_time, drdy);
+-#endif
++	u8 tim, misc, addr_pio = pio, clk;
++
++	/* DRDY is default 2 (by OPTi Databook) */
++	static const u8 addr_timings[2][5] = {
++		{ 0x20, 0x10, 0x00, 0x00, 0x00 },	/* 33 MHz */
++		{ 0x10, 0x10, 0x00, 0x00, 0x00 },	/* 25 MHz */
++	};
++	static const u8 data_rec_timings[2][5] = {
++		{ 0x5b, 0x45, 0x32, 0x21, 0x20 },	/* 33 MHz */
++		{ 0x48, 0x34, 0x21, 0x10, 0x10 }	/* 25 MHz */
++	};
++
++	drive->drive_data = XFER_PIO_0 + pio;
++
++	if (pair->present) {
++		if (pair->drive_data && pair->drive_data < drive->drive_data)
++			addr_pio = pair->drive_data - XFER_PIO_0;
++	}
+ 
+ 	spin_lock_irqsave(&opti621_lock, flags);
+ 
+@@ -289,24 +168,21 @@ static void opti621_set_pio_mode(ide_drive_t *drive, const u8 pio)
+ 	(void)inb(reg_base + CNTRL_REG);
+ 	/* if reads 0xc0, no interface exist? */
+ 	read_reg(CNTRL_REG);
+-	/* read version, probably 0 */
+-	read_reg(STRAP_REG);
+ 
+-	/* program primary drive */
+-	/* select Index-0 for Register-A */
+-	write_reg(0, MISC_REG);
+-	/* set read cycle timings */
+-	write_reg(cycle1, READ_REG);
+-	/* set write cycle timings */
+-	write_reg(cycle1, WRITE_REG);
++	/* check CLK speed */
++	clk = read_reg(STRAP_REG) & 1;
++
++	printk(KERN_INFO "%s: CLK = %d MHz\n", hwif->name, clk ? 25 : 33);
+ 
+-	/* program secondary drive */
+-	/* select Index-1 for Register-B */
+-	write_reg(1, MISC_REG);
++	tim  = data_rec_timings[clk][pio];
++	misc = addr_timings[clk][addr_pio];
++
++	/* select Index-0/1 for Register-A/B */
++	write_reg(drive->select.b.unit, MISC_REG);
+ 	/* set read cycle timings */
+-	write_reg(cycle2, READ_REG);
++	write_reg(tim, READ_REG);
+ 	/* set write cycle timings */
+-	write_reg(cycle2, WRITE_REG);
++	write_reg(tim, WRITE_REG);
+ 
+ 	/* use Register-A for drive 0 */
+ 	/* use Register-B for drive 1 */
+@@ -319,45 +195,26 @@ static void opti621_set_pio_mode(ide_drive_t *drive, const u8 pio)
+ 	spin_unlock_irqrestore(&opti621_lock, flags);
+ }
+ 
+-static void __devinit opti621_port_init_devs(ide_hwif_t *hwif)
+-{
+-	hwif->drives[0].drive_data = PIO_DONT_KNOW;
+-	hwif->drives[1].drive_data = PIO_DONT_KNOW;
+-}
+-
+ static const struct ide_port_ops opti621_port_ops = {
+-	.port_init_devs		= opti621_port_init_devs,
+ 	.set_pio_mode		= opti621_set_pio_mode,
+ };
+ 
+-static const struct ide_port_info opti621_chipsets[] __devinitdata = {
+-	{	/* 0 */
+-		.name		= "OPTI621",
+-		.enablebits	= { {0x45, 0x80, 0x00}, {0x40, 0x08, 0x00} },
+-		.port_ops	= &opti621_port_ops,
+-		.host_flags	= IDE_HFLAG_TRUST_BIOS_FOR_DMA,
+-		.pio_mask	= ATA_PIO3,
+-		.swdma_mask	= ATA_SWDMA2,
+-		.mwdma_mask	= ATA_MWDMA2,
+-	}, {	/* 1 */
+-		.name		= "OPTI621X",
+-		.enablebits	= { {0x45, 0x80, 0x00}, {0x40, 0x08, 0x00} },
+-		.port_ops	= &opti621_port_ops,
+-		.host_flags	= IDE_HFLAG_TRUST_BIOS_FOR_DMA,
+-		.pio_mask	= ATA_PIO3,
+-		.swdma_mask	= ATA_SWDMA2,
+-		.mwdma_mask	= ATA_MWDMA2,
+-	}
++static const struct ide_port_info opti621_chipset __devinitdata = {
++	.name		= "OPTI621/X",
++	.enablebits	= { {0x45, 0x80, 0x00}, {0x40, 0x08, 0x00} },
++	.port_ops	= &opti621_port_ops,
++	.host_flags	= IDE_HFLAG_NO_DMA,
++	.pio_mask	= ATA_PIO4,
+ };
+ 
+ static int __devinit opti621_init_one(struct pci_dev *dev, const struct pci_device_id *id)
+ {
+-	return ide_setup_pci_device(dev, &opti621_chipsets[id->driver_data]);
++	return ide_setup_pci_device(dev, &opti621_chipset);
+ }
+ 
+ static const struct pci_device_id opti621_pci_tbl[] = {
+ 	{ PCI_VDEVICE(OPTI, PCI_DEVICE_ID_OPTI_82C621), 0 },
+-	{ PCI_VDEVICE(OPTI, PCI_DEVICE_ID_OPTI_82C825), 1 },
++	{ PCI_VDEVICE(OPTI, PCI_DEVICE_ID_OPTI_82C825), 0 },
+ 	{ 0, },
+ };
+ MODULE_DEVICE_TABLE(pci, opti621_pci_tbl);
+diff --git a/drivers/ide/ppc/pmac.c b/drivers/ide/ppc/pmac.c
+index 48aa019..ba2d587 100644
+--- a/drivers/ide/ppc/pmac.c
++++ b/drivers/ide/ppc/pmac.c
+@@ -59,7 +59,6 @@ typedef struct pmac_ide_hwif {
+ 	int				irq;
+ 	int				kind;
+ 	int				aapl_bus_id;
+-	unsigned			cable_80 : 1;
+ 	unsigned			mediabay : 1;
+ 	unsigned			broken_dma : 1;
+ 	unsigned			broken_dma_warn : 1;
+@@ -918,10 +917,40 @@ pmac_ide_do_resume(ide_hwif_t *hwif)
+ 	return 0;
+ }
+ 
++static u8 pmac_ide_cable_detect(ide_hwif_t *hwif)
++{
++	pmac_ide_hwif_t *pmif = (pmac_ide_hwif_t *)ide_get_hwifdata(hwif);
++	struct device_node *np = pmif->node;
++	const char *cable = of_get_property(np, "cable-type", NULL);
++
++	/* Get cable type from device-tree. */
++	if (cable && !strncmp(cable, "80-", 3))
++		return ATA_CBL_PATA80;
++
++	/*
++	 * G5's seem to have incorrect cable type in device-tree.
++	 * Let's assume they have a 80 conductor cable, this seem
++	 * to be always the case unless the user mucked around.
++	 */
++	if (of_device_is_compatible(np, "K2-UATA") ||
++	    of_device_is_compatible(np, "shasta-ata"))
++		return ATA_CBL_PATA80;
++
++	return ATA_CBL_PATA40;
++}
++
+ static const struct ide_port_ops pmac_ide_ata6_port_ops = {
+ 	.set_pio_mode		= pmac_ide_set_pio_mode,
+ 	.set_dma_mode		= pmac_ide_set_dma_mode,
+ 	.selectproc		= pmac_ide_kauai_selectproc,
++	.cable_detect		= pmac_ide_cable_detect,
++};
++
++static const struct ide_port_ops pmac_ide_ata4_port_ops = {
++	.set_pio_mode		= pmac_ide_set_pio_mode,
++	.set_dma_mode		= pmac_ide_set_dma_mode,
++	.selectproc		= pmac_ide_selectproc,
++	.cable_detect		= pmac_ide_cable_detect,
+ };
+ 
+ static const struct ide_port_ops pmac_ide_port_ops = {
+@@ -949,10 +978,7 @@ static const struct ide_port_info pmac_port_info = {
+ 
+ /*
+  * Setup, register & probe an IDE channel driven by this driver, this is
+- * called by one of the 2 probe functions (macio or PCI). Note that a channel
+- * that ends up beeing free of any device is not kept around by this driver
+- * (it is kept in 2.4). This introduce an interface numbering change on some
+- * rare machines unfortunately, but it's better this way.
++ * called by one of the 2 probe functions (macio or PCI).
+  */
+ static int __devinit
+ pmac_ide_setup_device(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif, hw_regs_t *hw)
+@@ -962,7 +988,6 @@ pmac_ide_setup_device(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif, hw_regs_t *hw)
+ 	u8 idx[4] = { 0xff, 0xff, 0xff, 0xff };
+ 	struct ide_port_info d = pmac_port_info;
+ 
+-	pmif->cable_80 = 0;
+ 	pmif->broken_dma = pmif->broken_dma_warn = 0;
+ 	if (of_device_is_compatible(np, "shasta-ata")) {
+ 		pmif->kind = controller_sh_ata6;
+@@ -979,6 +1004,7 @@ pmac_ide_setup_device(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif, hw_regs_t *hw)
+ 	} else if (of_device_is_compatible(np, "keylargo-ata")) {
+ 		if (strcmp(np->name, "ata-4") == 0) {
+ 			pmif->kind = controller_kl_ata4;
++			d.port_ops = &pmac_ide_ata4_port_ops;
+ 			d.udma_mask = ATA_UDMA4;
+ 		} else
+ 			pmif->kind = controller_kl_ata3;
+@@ -992,22 +1018,6 @@ pmac_ide_setup_device(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif, hw_regs_t *hw)
+ 	bidp = of_get_property(np, "AAPL,bus-id", NULL);
+ 	pmif->aapl_bus_id =  bidp ? *bidp : 0;
+ 
+-	/* Get cable type from device-tree */
+-	if (pmif->kind == controller_kl_ata4 || pmif->kind == controller_un_ata6
+-	    || pmif->kind == controller_k2_ata6
+-	    || pmif->kind == controller_sh_ata6) {
+-		const char* cable = of_get_property(np, "cable-type", NULL);
+-		if (cable && !strncmp(cable, "80-", 3))
+-			pmif->cable_80 = 1;
+-	}
+-	/* G5's seem to have incorrect cable type in device-tree. Let's assume
+-	 * they have a 80 conductor cable, this seem to be always the case unless
+-	 * the user mucked around
+-	 */
+-	if (of_device_is_compatible(np, "K2-UATA") ||
+-	    of_device_is_compatible(np, "shasta-ata"))
+-		pmif->cable_80 = 1;
+-
+ 	/* On Kauai-type controllers, we make sure the FCR is correct */
+ 	if (pmif->kauai_fcr)
+ 		writel(KAUAI_FCR_UATA_MAGIC |
+@@ -1053,7 +1063,6 @@ pmac_ide_setup_device(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif, hw_regs_t *hw)
+ 
+ 	hwif->hwif_data = pmif;
+ 	ide_init_port_hw(hwif, hw);
+-	hwif->cbl = pmif->cable_80 ? ATA_CBL_PATA80 : ATA_CBL_PATA40;
+ 
+ 	printk(KERN_INFO "ide%d: Found Apple %s controller, bus ID %d%s, irq %d\n",
+ 	       hwif->index, model_name[pmif->kind], pmif->aapl_bus_id,
+@@ -1070,11 +1079,6 @@ pmac_ide_setup_device(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif, hw_regs_t *hw)
+ 		}
+ 	}
+ 
+-#ifdef CONFIG_BLK_DEV_IDEDMA_PMAC
+-	if (pmif->cable_80 == 0)
+-		d.udma_mask &= ATA_UDMA2;
+-#endif
+-
+ 	idx[0] = hwif->index;
+ 
+ 	ide_device_add(idx, &d);
+diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
+index f806da1..caed42b 100644
+--- a/drivers/infiniband/core/uverbs_main.c
++++ b/drivers/infiniband/core/uverbs_main.c
+@@ -423,7 +423,7 @@ static void ib_uverbs_async_handler(struct ib_uverbs_file *file,
+ 	unsigned long flags;
+ 
+ 	spin_lock_irqsave(&file->async_file->lock, flags);
+-	if (!file->async_file->is_closed) {
++	if (file->async_file->is_closed) {
+ 		spin_unlock_irqrestore(&file->async_file->lock, flags);
+ 		return;
+ 	}
+diff --git a/drivers/infiniband/hw/nes/nes_verbs.c b/drivers/infiniband/hw/nes/nes_verbs.c
+index 99b3c4a..d617da9 100644
+--- a/drivers/infiniband/hw/nes/nes_verbs.c
++++ b/drivers/infiniband/hw/nes/nes_verbs.c
+@@ -2456,10 +2456,8 @@ static struct ib_mr *nes_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
+ 						if ((page_count!=0)&&(page_count<<12)-(region->offset&(4096-1))>=region->length)
+ 							goto enough_pages;
+ 						if ((page_count&0x01FF) == 0) {
+-							if (page_count>(1024*512)) {
++							if (page_count >= 1024 * 512) {
+ 								ib_umem_release(region);
+-								pci_free_consistent(nesdev->pcidev, 4096, vpbl.pbl_vbase,
+-										vpbl.pbl_pbase);
+ 								nes_free_resource(nesadapter,
+ 										nesadapter->allocated_mrs, stag_index);
+ 								kfree(nesmr);
+diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig
+index 3ad8bd9..432699d 100644
+--- a/drivers/input/misc/Kconfig
++++ b/drivers/input/misc/Kconfig
+@@ -15,7 +15,6 @@ if INPUT_MISC
+ config INPUT_PCSPKR
+ 	tristate "PC Speaker support"
+ 	depends on PCSPKR_PLATFORM
+-	depends on SND_PCSP=n
+ 	help
+ 	  Say Y here if you want the standard PC Speaker to be used for
+ 	  bells and whistles.
+diff --git a/drivers/input/mouse/appletouch.c b/drivers/input/mouse/appletouch.c
+index 8dd3942..ce6fdec 100644
+--- a/drivers/input/mouse/appletouch.c
++++ b/drivers/input/mouse/appletouch.c
+@@ -589,6 +589,21 @@ static void atp_close(struct input_dev *input)
+ 	dev->open = 0;
+ }
+ 
++static int atp_handle_geyser(struct atp *dev)
++{
++	struct usb_device *udev = dev->udev;
++
++	if (!atp_is_fountain(dev)) {
++		/* switch to raw sensor mode */
++		if (atp_geyser_init(udev))
++			return -EIO;
++
++		printk(KERN_INFO "appletouch: Geyser mode initialized.\n");
++	}
++
++	return 0;
++}
++
+ static int atp_probe(struct usb_interface *iface, const struct usb_device_id *id)
+ {
+ 	struct atp *dev;
+@@ -633,14 +648,6 @@ static int atp_probe(struct usb_interface *iface, const struct usb_device_id *id
+ 	else
+ 		dev->datalen = 81;
+ 
+-	if (!atp_is_fountain(dev)) {
+-		/* switch to raw sensor mode */
+-		if (atp_geyser_init(udev))
+-			goto err_free_devs;
+-
+-		printk(KERN_INFO "appletouch: Geyser mode initialized.\n");
+-	}
+-
+ 	dev->urb = usb_alloc_urb(0, GFP_KERNEL);
+ 	if (!dev->urb)
+ 		goto err_free_devs;
+@@ -654,6 +661,10 @@ static int atp_probe(struct usb_interface *iface, const struct usb_device_id *id
+ 			 usb_rcvintpipe(udev, int_in_endpointAddr),
+ 			 dev->data, dev->datalen, atp_complete, dev, 1);
+ 
++	error = atp_handle_geyser(dev);
++	if (error)
++		goto err_free_buffer;
++
+ 	usb_make_path(udev, dev->phys, sizeof(dev->phys));
+ 	strlcat(dev->phys, "/input0", sizeof(dev->phys));
+ 
+@@ -744,6 +755,20 @@ static void atp_disconnect(struct usb_interface *iface)
+ 	printk(KERN_INFO "input: appletouch disconnected\n");
+ }
+ 
++static int atp_recover(struct atp *dev)
++{
++	int error;
++
++	error = atp_handle_geyser(dev);
++	if (error)
++		return error;
++
++	if (dev->open && usb_submit_urb(dev->urb, GFP_ATOMIC))
++		return -EIO;
++
++	return 0;
++}
++
+ static int atp_suspend(struct usb_interface *iface, pm_message_t message)
+ {
+ 	struct atp *dev = usb_get_intfdata(iface);
+@@ -764,12 +789,20 @@ static int atp_resume(struct usb_interface *iface)
+ 	return 0;
+ }
+ 
++static int atp_reset_resume(struct usb_interface *iface)
++{
++	struct atp *dev = usb_get_intfdata(iface);
++
++	return atp_recover(dev);
++}
++
+ static struct usb_driver atp_driver = {
+ 	.name		= "appletouch",
+ 	.probe		= atp_probe,
+ 	.disconnect	= atp_disconnect,
+ 	.suspend	= atp_suspend,
+ 	.resume		= atp_resume,
++	.reset_resume	= atp_reset_resume,
+ 	.id_table	= atp_table,
+ };
+ 
+diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
+index 9aafa96..78eb784 100644
+--- a/drivers/input/serio/i8042-x86ia64io.h
++++ b/drivers/input/serio/i8042-x86ia64io.h
+@@ -193,6 +193,13 @@ static struct dmi_system_id __initdata i8042_dmi_nomux_table[] = {
+ 		},
+ 	},
+ 	{
++		.ident = "Fujitsu-Siemens Amilo Pro 2030",
++		.matches = {
++			DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),
++			DMI_MATCH(DMI_PRODUCT_NAME, "AMILO PRO V2030"),
++		},
++	},
++	{
+ 		/*
+ 		 * No data is coming from the touchscreen unless KBC
+ 		 * is in legacy mode.
+diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c
+index 592ff55..170f71e 100644
+--- a/drivers/input/serio/i8042.c
++++ b/drivers/input/serio/i8042.c
+@@ -952,8 +952,12 @@ static int i8042_resume(struct platform_device *dev)
+ 	i8042_ctr |= I8042_CTR_AUXDIS | I8042_CTR_KBDDIS;
+ 	i8042_ctr &= ~(I8042_CTR_AUXINT | I8042_CTR_KBDINT);
+ 	if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) {
+-		printk(KERN_ERR "i8042: Can't write CTR to resume\n");
+-		return -EIO;
++		printk(KERN_WARNING "i8042: Can't write CTR to resume, retrying...\n");
++		msleep(50);
++		if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) {
++			printk(KERN_ERR "i8042: CTR write retry failed\n");
++			return -EIO;
++		}
+ 	}
+ 
+ 
+diff --git a/drivers/isdn/sc/ioctl.c b/drivers/isdn/sc/ioctl.c
+index 7817d22..1081091 100644
+--- a/drivers/isdn/sc/ioctl.c
++++ b/drivers/isdn/sc/ioctl.c
+@@ -226,6 +226,7 @@ int sc_ioctl(int card, scs_ioctl *data)
+ 		 */
+ 		if (copy_from_user(spid, data->dataptr, SCIOC_SPIDSIZE)) {
+ 			kfree(rcvmsg);
++			kfree(spid);
+ 			return -EFAULT;
+ 		}
+ 
+diff --git a/drivers/macintosh/mediabay.c b/drivers/macintosh/mediabay.c
+index 82add26..818aba3 100644
+--- a/drivers/macintosh/mediabay.c
++++ b/drivers/macintosh/mediabay.c
+@@ -84,7 +84,7 @@ struct media_bay_info {
+ 	int				cd_irq;
+ 	int				cd_retry;
+ #endif
+-#if defined(CONFIG_BLK_DEV_IDE_PMAC) || defined(CONFIG_MAC_FLOPPY)
++#if defined(CONFIG_BLK_DEV_IDE_PMAC)
+ 	int 				cd_index;
+ #endif
+ };
+@@ -417,6 +417,7 @@ static void poll_media_bay(struct media_bay_info* bay)
+ 	}
+ }
+ 
++#ifdef CONFIG_BLK_DEV_IDE_PMAC
+ int check_media_bay(struct device_node *which_bay, int what)
+ {
+ 	int	i;
+@@ -432,7 +433,6 @@ int check_media_bay(struct device_node *which_bay, int what)
+ }
+ EXPORT_SYMBOL(check_media_bay);
+ 
+-#ifdef CONFIG_BLK_DEV_IDE_PMAC
+ int check_media_bay_by_base(unsigned long base, int what)
+ {
+ 	int	i;
+@@ -556,7 +556,8 @@ static void media_bay_step(int i)
+ 				printk("mediabay %d, registering IDE...\n", i);
+ 				pmu_suspend();
+ 				ide_port_scan(bay->cd_port);
+-				bay->cd_index = bay->cd_port->index;
++				if (bay->cd_port->present)
++					bay->cd_index = bay->cd_port->index;
+ 				pmu_resume();
+ 			}
+ 			if (bay->cd_index == -1) {
+diff --git a/drivers/macintosh/smu.c b/drivers/macintosh/smu.c
+index 77ad192..d86d57a 100644
+--- a/drivers/macintosh/smu.c
++++ b/drivers/macintosh/smu.c
+@@ -483,12 +483,15 @@ int __init smu_init (void)
+ 
+ 	if (smu_cmdbuf_abs == 0) {
+ 		printk(KERN_ERR "SMU: Command buffer not allocated !\n");
++		of_node_put(np);
+ 		return -EINVAL;
+ 	}
+ 
+ 	smu = alloc_bootmem(sizeof(struct smu_device));
+-	if (smu == NULL)
++	if (smu == NULL) {
++		of_node_put(np);
+ 		return -ENOMEM;
++	}
+ 	memset(smu, 0, sizeof(*smu));
+ 
+ 	spin_lock_init(&smu->lock);
+diff --git a/drivers/macintosh/therm_adt746x.c b/drivers/macintosh/therm_adt746x.c
+index 54f4942..5366dc9 100644
+--- a/drivers/macintosh/therm_adt746x.c
++++ b/drivers/macintosh/therm_adt746x.c
+@@ -562,18 +562,24 @@ thermostat_init(void)
+ 		therm_type = ADT7460;
+ 	else if (of_device_is_compatible(np, "adt7467"))
+ 		therm_type = ADT7467;
+-	else
++	else {
++		of_node_put(np);
+ 		return -ENODEV;
++	}
+ 
+ 	prop = of_get_property(np, "hwsensor-params-version", NULL);
+ 	printk(KERN_INFO "adt746x: version %d (%ssupported)\n", *prop,
+ 			 (*prop == 1)?"":"un");
+-	if (*prop != 1)
++	if (*prop != 1) {
++		of_node_put(np);
+ 		return -ENODEV;
++	}
+ 
+ 	prop = of_get_property(np, "reg", NULL);
+-	if (!prop)
++	if (!prop) {
++		of_node_put(np);
+ 		return -ENODEV;
++	}
+ 
+ 	/* look for bus either by path or using "reg" */
+ 	if (strstr(np->full_name, "/i2c-bus@") != NULL) {
+@@ -610,6 +616,7 @@ thermostat_init(void)
+ 	
+ 	if (of_dev == NULL) {
+ 		printk(KERN_ERR "Can't register temperatures device !\n");
++		of_node_put(np);
+ 		return -ENODEV;
+ 	}
+ 	
+diff --git a/drivers/mmc/host/wbsd.c b/drivers/mmc/host/wbsd.c
+index be624a0..c303e7f 100644
+--- a/drivers/mmc/host/wbsd.c
++++ b/drivers/mmc/host/wbsd.c
+@@ -1457,17 +1457,7 @@ static int __devinit wbsd_request_irq(struct wbsd_host *host, int irq)
+ 	int ret;
+ 
+ 	/*
+-	 * Allocate interrupt.
+-	 */
+-
+-	ret = request_irq(irq, wbsd_irq, IRQF_SHARED, DRIVER_NAME, host);
+-	if (ret)
+-		return ret;
+-
+-	host->irq = irq;
+-
+-	/*
+-	 * Set up tasklets.
++	 * Set up tasklets. Must be done before requesting interrupt.
+ 	 */
+ 	tasklet_init(&host->card_tasklet, wbsd_tasklet_card,
+ 			(unsigned long)host);
+@@ -1480,6 +1470,15 @@ static int __devinit wbsd_request_irq(struct wbsd_host *host, int irq)
+ 	tasklet_init(&host->finish_tasklet, wbsd_tasklet_finish,
+ 			(unsigned long)host);
+ 
++	/*
++	 * Allocate interrupt.
++	 */
++	ret = request_irq(irq, wbsd_irq, IRQF_SHARED, DRIVER_NAME, host);
++	if (ret)
++		return ret;
++
++	host->irq = irq;
++
+ 	return 0;
+ }
+ 
+diff --git a/drivers/net/atlx/atl1.c b/drivers/net/atlx/atl1.c
+index 99e0b4c..3c798ae 100644
+--- a/drivers/net/atlx/atl1.c
++++ b/drivers/net/atlx/atl1.c
+@@ -471,7 +471,6 @@ static int atl1_get_permanent_address(struct atl1_hw *hw)
+ 			memcpy(hw->perm_mac_addr, eth_addr, ETH_ALEN);
+ 			return 0;
+ 		}
+-		return 1;
+ 	}
+ 
+ 	/* see if SPI FLAGS exist ? */
+diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
+index 4b46e68..367b6d4 100644
+--- a/drivers/net/bnx2.c
++++ b/drivers/net/bnx2.c
+@@ -5724,14 +5724,12 @@ bnx2_reset_task(struct work_struct *work)
+ 	if (!netif_running(bp->dev))
+ 		return;
+ 
+-	bp->in_reset_task = 1;
+ 	bnx2_netif_stop(bp);
+ 
+ 	bnx2_init_nic(bp);
+ 
+ 	atomic_set(&bp->intr_sem, 1);
+ 	bnx2_netif_start(bp);
+-	bp->in_reset_task = 0;
+ }
+ 
+ static void
+@@ -5907,12 +5905,7 @@ bnx2_close(struct net_device *dev)
+ 	struct bnx2 *bp = netdev_priv(dev);
+ 	u32 reset_code;
+ 
+-	/* Calling flush_scheduled_work() may deadlock because
+-	 * linkwatch_event() may be on the workqueue and it will try to get
+-	 * the rtnl_lock which we are holding.
+-	 */
+-	while (bp->in_reset_task)
+-		msleep(1);
++	cancel_work_sync(&bp->reset_task);
+ 
+ 	bnx2_disable_int_sync(bp);
+ 	bnx2_napi_disable(bp);
+diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h
+index 1eaf5bb..2377cc1 100644
+--- a/drivers/net/bnx2.h
++++ b/drivers/net/bnx2.h
+@@ -6656,7 +6656,6 @@ struct bnx2 {
+ 	int			current_interval;
+ 	struct			timer_list timer;
+ 	struct work_struct	reset_task;
+-	int			in_reset_task;
+ 
+ 	/* Used to synchronize phy accesses. */
+ 	spinlock_t		phy_lock;
+diff --git a/drivers/net/bnx2x.c b/drivers/net/bnx2x.c
+index 7bdb5af..70cba64 100644
+--- a/drivers/net/bnx2x.c
++++ b/drivers/net/bnx2x.c
+@@ -6,7 +6,8 @@
+  * it under the terms of the GNU General Public License as published by
+  * the Free Software Foundation.
+  *
+- * Written by: Eliezer Tamir <eliezert at broadcom.com>
++ * Maintained by: Eilon Greenstein <eilong at broadcom.com>
++ * Written by: Eliezer Tamir
+  * Based on code from Michael Chan's bnx2 driver
+  * UDP CSUM errata workaround by Arik Gendelman
+  * Slowpath rework by Vladislav Zolotarov
+@@ -74,7 +75,7 @@ static char version[] __devinitdata =
+ 	"Broadcom NetXtreme II 5771X 10Gigabit Ethernet Driver "
+ 	DRV_MODULE_NAME " " DRV_MODULE_VERSION " (" DRV_MODULE_RELDATE ")\n";
+ 
+-MODULE_AUTHOR("Eliezer Tamir <eliezert at broadcom.com>");
++MODULE_AUTHOR("Eliezer Tamir");
+ MODULE_DESCRIPTION("Broadcom NetXtreme II BCM57710 Driver");
+ MODULE_LICENSE("GPL");
+ MODULE_VERSION(DRV_MODULE_VERSION);
+diff --git a/drivers/net/bnx2x.h b/drivers/net/bnx2x.h
+index 4f0c0d3..8e68d06 100644
+--- a/drivers/net/bnx2x.h
++++ b/drivers/net/bnx2x.h
+@@ -6,7 +6,8 @@
+  * it under the terms of the GNU General Public License as published by
+  * the Free Software Foundation.
+  *
+- * Written by: Eliezer Tamir <eliezert at broadcom.com>
++ * Maintained by: Eilon Greenstein <eilong at broadcom.com>
++ * Written by: Eliezer Tamir
+  * Based on code from Michael Chan's bnx2 driver
+  */
+ 
+diff --git a/drivers/net/bnx2x_init.h b/drivers/net/bnx2x_init.h
+index dcaecc5..370686e 100644
+--- a/drivers/net/bnx2x_init.h
++++ b/drivers/net/bnx2x_init.h
+@@ -6,7 +6,8 @@
+  * it under the terms of the GNU General Public License as published by
+  * the Free Software Foundation.
+  *
+- * Written by: Eliezer Tamir <eliezert at broadcom.com>
++ * Maintained by: Eilon Greenstein <eilong at broadcom.com>
++ * Written by: Eliezer Tamir
+  */
+ 
+ #ifndef BNX2X_INIT_H
+diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c
+index faae01d..075fd54 100644
+--- a/drivers/net/ehea/ehea_main.c
++++ b/drivers/net/ehea/ehea_main.c
+@@ -2605,7 +2605,8 @@ static int ehea_stop(struct net_device *dev)
+ 	if (netif_msg_ifdown(port))
+ 		ehea_info("disabling port %s", dev->name);
+ 
+-	flush_scheduled_work();
++	cancel_work_sync(&port->reset_task);
++
+ 	mutex_lock(&port->port_lock);
+ 	netif_stop_queue(dev);
+ 	port_napi_disable(port);
+diff --git a/drivers/net/enc28j60.c b/drivers/net/enc28j60.c
+index 46a90e9..c05cb15 100644
+--- a/drivers/net/enc28j60.c
++++ b/drivers/net/enc28j60.c
+@@ -400,26 +400,31 @@ enc28j60_packet_write(struct enc28j60_net *priv, int len, const u8 *data)
+ 	mutex_unlock(&priv->lock);
+ }
+ 
+-/*
+- * Wait until the PHY operation is complete.
+- */
+-static int wait_phy_ready(struct enc28j60_net *priv)
++static unsigned long msec20_to_jiffies;
++
++static int poll_ready(struct enc28j60_net *priv, u8 reg, u8 mask, u8 val)
+ {
+-	unsigned long timeout = jiffies + 20 * HZ / 1000;
+-	int ret = 1;
++	unsigned long timeout = jiffies + msec20_to_jiffies;
+ 
+ 	/* 20 msec timeout read */
+-	while (nolock_regb_read(priv, MISTAT) & MISTAT_BUSY) {
++	while ((nolock_regb_read(priv, reg) & mask) != val) {
+ 		if (time_after(jiffies, timeout)) {
+ 			if (netif_msg_drv(priv))
+-				printk(KERN_DEBUG DRV_NAME
+-					": PHY ready timeout!\n");
+-			ret = 0;
+-			break;
++				dev_dbg(&priv->spi->dev,
++					"reg %02x ready timeout!\n", reg);
++			return -ETIMEDOUT;
+ 		}
+ 		cpu_relax();
+ 	}
+-	return ret;
++	return 0;
++}
++
++/*
++ * Wait until the PHY operation is complete.
++ */
++static int wait_phy_ready(struct enc28j60_net *priv)
++{
++	return poll_ready(priv, MISTAT, MISTAT_BUSY, 0) ? 0 : 1;
+ }
+ 
+ /*
+@@ -594,6 +599,32 @@ static void nolock_txfifo_init(struct enc28j60_net *priv, u16 start, u16 end)
+ 	nolock_regw_write(priv, ETXNDL, end);
+ }
+ 
++/*
++ * Low power mode shrinks power consumption about 100x, so we'd like
++ * the chip to be in that mode whenever it's inactive.  (However, we
++ * can't stay in lowpower mode during suspend with WOL active.)
++ */
++static void enc28j60_lowpower(struct enc28j60_net *priv, bool is_low)
++{
++	if (netif_msg_drv(priv))
++		dev_dbg(&priv->spi->dev, "%s power...\n",
++				is_low ? "low" : "high");
++
++	mutex_lock(&priv->lock);
++	if (is_low) {
++		nolock_reg_bfclr(priv, ECON1, ECON1_RXEN);
++		poll_ready(priv, ESTAT, ESTAT_RXBUSY, 0);
++		poll_ready(priv, ECON1, ECON1_TXRTS, 0);
++		/* ECON2_VRPS was set during initialization */
++		nolock_reg_bfset(priv, ECON2, ECON2_PWRSV);
++	} else {
++		nolock_reg_bfclr(priv, ECON2, ECON2_PWRSV);
++		poll_ready(priv, ESTAT, ESTAT_CLKRDY, ESTAT_CLKRDY);
++		/* caller sets ECON1_RXEN */
++	}
++	mutex_unlock(&priv->lock);
++}
++
+ static int enc28j60_hw_init(struct enc28j60_net *priv)
+ {
+ 	u8 reg;
+@@ -612,8 +643,8 @@ static int enc28j60_hw_init(struct enc28j60_net *priv)
+ 	priv->tx_retry_count = 0;
+ 	priv->max_pk_counter = 0;
+ 	priv->rxfilter = RXFILTER_NORMAL;
+-	/* enable address auto increment */
+-	nolock_regb_write(priv, ECON2, ECON2_AUTOINC);
++	/* enable address auto increment and voltage regulator powersave */
++	nolock_regb_write(priv, ECON2, ECON2_AUTOINC | ECON2_VRPS);
+ 
+ 	nolock_rxfifo_init(priv, RXSTART_INIT, RXEND_INIT);
+ 	nolock_txfifo_init(priv, TXSTART_INIT, TXEND_INIT);
+@@ -690,7 +721,7 @@ static int enc28j60_hw_init(struct enc28j60_net *priv)
+ 
+ static void enc28j60_hw_enable(struct enc28j60_net *priv)
+ {
+-	/* enable interrutps */
++	/* enable interrupts */
+ 	if (netif_msg_hw(priv))
+ 		printk(KERN_DEBUG DRV_NAME ": %s() enabling interrupts.\n",
+ 			__FUNCTION__);
+@@ -726,15 +757,12 @@ enc28j60_setlink(struct net_device *ndev, u8 autoneg, u16 speed, u8 duplex)
+ 	int ret = 0;
+ 
+ 	if (!priv->hw_enable) {
+-		if (autoneg == AUTONEG_DISABLE && speed == SPEED_10) {
++		/* link is in low power mode now; duplex setting
++		 * will take effect on next enc28j60_hw_init().
++		 */
++		if (autoneg == AUTONEG_DISABLE && speed == SPEED_10)
+ 			priv->full_duplex = (duplex == DUPLEX_FULL);
+-			if (!enc28j60_hw_init(priv)) {
+-				if (netif_msg_drv(priv))
+-					dev_err(&ndev->dev,
+-						"hw_reset() failed\n");
+-				ret = -EINVAL;
+-			}
+-		} else {
++		else {
+ 			if (netif_msg_link(priv))
+ 				dev_warn(&ndev->dev,
+ 					"unsupported link setting\n");
+@@ -1307,7 +1335,8 @@ static int enc28j60_net_open(struct net_device *dev)
+ 		}
+ 		return -EADDRNOTAVAIL;
+ 	}
+-	/* Reset the hardware here */
++	/* Reset the hardware here (and take it out of low power mode) */
++	enc28j60_lowpower(priv, false);
+ 	enc28j60_hw_disable(priv);
+ 	if (!enc28j60_hw_init(priv)) {
+ 		if (netif_msg_ifup(priv))
+@@ -1337,6 +1366,7 @@ static int enc28j60_net_close(struct net_device *dev)
+ 		printk(KERN_DEBUG DRV_NAME ": %s() enter\n", __FUNCTION__);
+ 
+ 	enc28j60_hw_disable(priv);
++	enc28j60_lowpower(priv, true);
+ 	netif_stop_queue(dev);
+ 
+ 	return 0;
+@@ -1537,6 +1567,8 @@ static int __devinit enc28j60_probe(struct spi_device *spi)
+ 	dev->watchdog_timeo = TX_TIMEOUT;
+ 	SET_ETHTOOL_OPS(dev, &enc28j60_ethtool_ops);
+ 
++	enc28j60_lowpower(priv, true);
++
+ 	ret = register_netdev(dev);
+ 	if (ret) {
+ 		if (netif_msg_probe(priv))
+@@ -1556,7 +1588,7 @@ error_alloc:
+ 	return ret;
+ }
+ 
+-static int enc28j60_remove(struct spi_device *spi)
++static int __devexit enc28j60_remove(struct spi_device *spi)
+ {
+ 	struct enc28j60_net *priv = dev_get_drvdata(&spi->dev);
+ 
+@@ -1573,15 +1605,16 @@ static int enc28j60_remove(struct spi_device *spi)
+ static struct spi_driver enc28j60_driver = {
+ 	.driver = {
+ 		   .name = DRV_NAME,
+-		   .bus = &spi_bus_type,
+ 		   .owner = THIS_MODULE,
+-		   },
++	 },
+ 	.probe = enc28j60_probe,
+ 	.remove = __devexit_p(enc28j60_remove),
+ };
+ 
+ static int __init enc28j60_init(void)
+ {
++	msec20_to_jiffies = msecs_to_jiffies(20);
++
+ 	return spi_register_driver(&enc28j60_driver);
+ }
+ 
+diff --git a/drivers/net/fec_mpc52xx.c b/drivers/net/fec_mpc52xx.c
+index 5f9c42e..329edd9 100644
+--- a/drivers/net/fec_mpc52xx.c
++++ b/drivers/net/fec_mpc52xx.c
+@@ -78,7 +78,7 @@ module_param_array_named(mac, mpc52xx_fec_mac_addr, byte, NULL, 0);
+ MODULE_PARM_DESC(mac, "six hex digits, ie. 0x1,0x2,0xc0,0x01,0xba,0xbe");
+ 
+ #define MPC52xx_MESSAGES_DEFAULT ( NETIF_MSG_DRV | NETIF_MSG_PROBE | \
+-		NETIF_MSG_LINK | NETIF_MSG_IFDOWN | NETIF_MSG_IFDOWN )
++		NETIF_MSG_LINK | NETIF_MSG_IFDOWN | NETIF_MSG_IFUP)
+ static int debug = -1;	/* the above default */
+ module_param(debug, int, 0);
+ MODULE_PARM_DESC(debug, "debugging messages level");
+diff --git a/drivers/net/hamradio/baycom_epp.c b/drivers/net/hamradio/baycom_epp.c
+index dde9c7e..00bc7fb 100644
+--- a/drivers/net/hamradio/baycom_epp.c
++++ b/drivers/net/hamradio/baycom_epp.c
+@@ -959,7 +959,7 @@ static int epp_close(struct net_device *dev)
+ 	unsigned char tmp[1];
+ 
+ 	bc->work_running = 0;
+-	flush_scheduled_work();
++	cancel_delayed_work_sync(&bc->run_work);
+ 	bc->stat = EPP_DCDBIT;
+ 	tmp[0] = 0;
+ 	pp->ops->epp_write_addr(pp, tmp, 1, 0);
+diff --git a/drivers/net/ibm_newemac/Kconfig b/drivers/net/ibm_newemac/Kconfig
+index 0d3e738..70a3272 100644
+--- a/drivers/net/ibm_newemac/Kconfig
++++ b/drivers/net/ibm_newemac/Kconfig
+@@ -1,6 +1,7 @@
+ config IBM_NEW_EMAC
+ 	tristate "IBM EMAC Ethernet support"
+ 	depends on PPC_DCR && PPC_MERGE
++	select CRC32
+ 	help
+ 	  This driver supports the IBM EMAC family of Ethernet controllers
+ 	  typically found on 4xx embedded PowerPC chips, but also on the
+diff --git a/drivers/net/ipg.c b/drivers/net/ipg.c
+index 9b358f6..679a082 100644
+--- a/drivers/net/ipg.c
++++ b/drivers/net/ipg.c
+@@ -577,12 +577,12 @@ static void ipg_nic_set_multicast_list(struct net_device *dev)
+ 		/* NIC to be configured in promiscuous mode. */
+ 		receivemode = IPG_RM_RECEIVEALLFRAMES;
+ 	} else if ((dev->flags & IFF_ALLMULTI) ||
+-		   (dev->flags & IFF_MULTICAST &
++		   ((dev->flags & IFF_MULTICAST) &&
+ 		    (dev->mc_count > IPG_MULTICAST_HASHTABLE_SIZE))) {
+ 		/* NIC to be configured to receive all multicast
+ 		 * frames. */
+ 		receivemode |= IPG_RM_RECEIVEMULTICAST;
+-	} else if (dev->flags & IFF_MULTICAST & (dev->mc_count > 0)) {
++	} else if ((dev->flags & IFF_MULTICAST) && (dev->mc_count > 0)) {
+ 		/* NIC to be configured to receive selected
+ 		 * multicast addresses. */
+ 		receivemode |= IPG_RM_RECEIVEMULTICASTHASH;
+diff --git a/drivers/net/netxen/netxen_nic.h b/drivers/net/netxen/netxen_nic.h
+index 8cb29f5..da4c4fb 100644
+--- a/drivers/net/netxen/netxen_nic.h
++++ b/drivers/net/netxen/netxen_nic.h
+@@ -776,7 +776,6 @@ struct netxen_hardware_context {
+ 
+ 	u8 revision_id;
+ 	u16 board_type;
+-	u16 max_ports;
+ 	struct netxen_board_info boardcfg;
+ 	u32 xg_linkup;
+ 	u32 qg_linksup;
+@@ -863,6 +862,7 @@ struct netxen_adapter {
+ 	unsigned char mac_addr[ETH_ALEN];
+ 	int mtu;
+ 	int portnum;
++	u8 physical_port;
+ 
+ 	struct work_struct watchdog_task;
+ 	struct timer_list watchdog_timer;
+@@ -1034,7 +1034,6 @@ int netxen_rom_se(struct netxen_adapter *adapter, int addr);
+ 
+ /* Functions from netxen_nic_isr.c */
+ void netxen_initialize_adapter_sw(struct netxen_adapter *adapter);
+-void netxen_initialize_adapter_hw(struct netxen_adapter *adapter);
+ void *netxen_alloc(struct pci_dev *pdev, size_t sz, dma_addr_t * ptr,
+ 		   struct pci_dev **used_dev);
+ void netxen_initialize_adapter_ops(struct netxen_adapter *adapter);
+@@ -1077,20 +1076,6 @@ static const struct netxen_brdinfo netxen_boards[] = {
+ 
+ #define NUM_SUPPORTED_BOARDS ARRAY_SIZE(netxen_boards)
+ 
+-static inline void get_brd_port_by_type(u32 type, int *ports)
+-{
+-	int i, found = 0;
+-	for (i = 0; i < NUM_SUPPORTED_BOARDS; ++i) {
+-		if (netxen_boards[i].brdtype == type) {
+-			*ports = netxen_boards[i].ports;
+-			found = 1;
+-			break;
+-		}
+-	}
+-	if (!found)
+-		*ports = 0;
+-}
+-
+ static inline void get_brd_name_by_type(u32 type, char *name)
+ {
+ 	int i, found = 0;
+@@ -1169,5 +1154,4 @@ extern int netxen_rom_fast_read(struct netxen_adapter *adapter, int addr,
+ 
+ extern struct ethtool_ops netxen_nic_ethtool_ops;
+ 
+-extern int physical_port[];	/* physical port # from virtual port.*/
+ #endif				/* __NETXEN_NIC_H_ */
+diff --git a/drivers/net/netxen/netxen_nic_ethtool.c b/drivers/net/netxen/netxen_nic_ethtool.c
+index 6e98d83..723487b 100644
+--- a/drivers/net/netxen/netxen_nic_ethtool.c
++++ b/drivers/net/netxen/netxen_nic_ethtool.c
+@@ -369,7 +369,7 @@ netxen_nic_get_regs(struct net_device *dev, struct ethtool_regs *regs, void *p)
+ 		for (i = 3; niu_registers[mode].reg[i - 3] != -1; i++) {
+ 			/* GB: port specific registers */
+ 			if (mode == 0 && i >= 19)
+-				window = physical_port[adapter->portnum] *
++				window = adapter->physical_port *
+ 					NETXEN_NIC_PORT_WINDOW;
+ 
+ 			NETXEN_NIC_LOCKED_READ_REG(niu_registers[mode].
+@@ -527,7 +527,7 @@ netxen_nic_get_pauseparam(struct net_device *dev,
+ {
+ 	struct netxen_adapter *adapter = netdev_priv(dev);
+ 	__u32 val;
+-	int port = physical_port[adapter->portnum];
++	int port = adapter->physical_port;
+ 
+ 	if (adapter->ahw.board_type == NETXEN_NIC_GBE) {
+ 		if ((port < 0) || (port > NETXEN_NIU_MAX_GBE_PORTS))
+@@ -573,7 +573,7 @@ netxen_nic_set_pauseparam(struct net_device *dev,
+ {
+ 	struct netxen_adapter *adapter = netdev_priv(dev);
+ 	__u32 val;
+-	int port = physical_port[adapter->portnum];
++	int port = adapter->physical_port;
+ 	/* read mode */
+ 	if (adapter->ahw.board_type == NETXEN_NIC_GBE) {
+ 		if ((port < 0) || (port > NETXEN_NIU_MAX_GBE_PORTS))
+diff --git a/drivers/net/netxen/netxen_nic_hw.c b/drivers/net/netxen/netxen_nic_hw.c
+index af73564..c43d06b 100644
+--- a/drivers/net/netxen/netxen_nic_hw.c
++++ b/drivers/net/netxen/netxen_nic_hw.c
+@@ -396,11 +396,8 @@ int netxen_nic_hw_resources(struct netxen_adapter *adapter)
+ 	}
+ 	adapter->intr_scheme = readl(
+ 		NETXEN_CRB_NORMALIZE(adapter, CRB_NIC_CAPABILITIES_FW));
+-	printk(KERN_NOTICE "%s: FW capabilities:0x%x\n", netxen_nic_driver_name,
+-			adapter->intr_scheme);
+ 	adapter->msi_mode = readl(
+ 		NETXEN_CRB_NORMALIZE(adapter, CRB_NIC_MSI_MODE_FW));
+-	DPRINTK(INFO, "Receive Peg ready too. starting stuff\n");
+ 
+ 	addr = netxen_alloc(adapter->ahw.pdev,
+ 			    sizeof(struct netxen_ring_ctx) +
+@@ -408,8 +405,6 @@ int netxen_nic_hw_resources(struct netxen_adapter *adapter)
+ 			    (dma_addr_t *) & adapter->ctx_desc_phys_addr,
+ 			    &adapter->ctx_desc_pdev);
+ 
+-	printk(KERN_INFO "ctx_desc_phys_addr: 0x%llx\n",
+-	       (unsigned long long) adapter->ctx_desc_phys_addr);
+ 	if (addr == NULL) {
+ 		DPRINTK(ERR, "bad return from pci_alloc_consistent\n");
+ 		err = -ENOMEM;
+@@ -429,8 +424,6 @@ int netxen_nic_hw_resources(struct netxen_adapter *adapter)
+ 			    adapter->max_tx_desc_count,
+ 			    (dma_addr_t *) & hw->cmd_desc_phys_addr,
+ 			    &adapter->ahw.cmd_desc_pdev);
+-	printk(KERN_INFO "cmd_desc_phys_addr: 0x%llx\n",
+-	       (unsigned long long) hw->cmd_desc_phys_addr);
+ 
+ 	if (addr == NULL) {
+ 		DPRINTK(ERR, "bad return from pci_alloc_consistent\n");
+@@ -1032,15 +1025,15 @@ int netxen_nic_get_board_info(struct netxen_adapter *adapter)
+ int netxen_nic_set_mtu_gb(struct netxen_adapter *adapter, int new_mtu)
+ {
+ 	netxen_nic_write_w0(adapter,
+-			NETXEN_NIU_GB_MAX_FRAME_SIZE(
+-				physical_port[adapter->portnum]), new_mtu);
++		NETXEN_NIU_GB_MAX_FRAME_SIZE(adapter->physical_port),
++		new_mtu);
+ 	return 0;
+ }
+ 
+ int netxen_nic_set_mtu_xgb(struct netxen_adapter *adapter, int new_mtu)
+ {
+ 	new_mtu += NETXEN_NIU_HDRSIZE + NETXEN_NIU_TLRSIZE;
+-	if (physical_port[adapter->portnum] == 0)
++	if (adapter->physical_port == 0)
+ 		netxen_nic_write_w0(adapter, NETXEN_NIU_XGE_MAX_FRAME_SIZE,
+ 				new_mtu);
+ 	else
+@@ -1051,7 +1044,7 @@ int netxen_nic_set_mtu_xgb(struct netxen_adapter *adapter, int new_mtu)
+ 
+ void netxen_nic_init_niu_gb(struct netxen_adapter *adapter)
+ {
+-	netxen_niu_gbe_init_port(adapter, physical_port[adapter->portnum]);
++	netxen_niu_gbe_init_port(adapter, adapter->physical_port);
+ }
+ 
+ void
+@@ -1127,7 +1120,6 @@ void netxen_nic_set_link_parameters(struct netxen_adapter *adapter)
+ 
+ void netxen_nic_flash_print(struct netxen_adapter *adapter)
+ {
+-	int valid = 1;
+ 	u32 fw_major = 0;
+ 	u32 fw_minor = 0;
+ 	u32 fw_build = 0;
+@@ -1137,70 +1129,62 @@ void netxen_nic_flash_print(struct netxen_adapter *adapter)
+ 	__le32 *ptr32;
+ 
+ 	struct netxen_board_info *board_info = &(adapter->ahw.boardcfg);
+-	if (board_info->magic != NETXEN_BDINFO_MAGIC) {
+-		printk
+-		    ("NetXen Unknown board config, Read 0x%x expected as 0x%x\n",
+-		     board_info->magic, NETXEN_BDINFO_MAGIC);
+-		valid = 0;
+-	}
+-	if (board_info->header_version != NETXEN_BDINFO_VERSION) {
+-		printk("NetXen Unknown board config version."
+-		       " Read %x, expected %x\n",
+-		       board_info->header_version, NETXEN_BDINFO_VERSION);
+-		valid = 0;
+-	}
+-	if (valid) {
+-		ptr32 = (u32 *)&serial_num;
+-		addr = NETXEN_USER_START +
+-		       offsetof(struct netxen_new_user_info, serial_num);
+-		for (i = 0; i < 8; i++) {
+-			if (netxen_rom_fast_read(adapter, addr, ptr32) == -1) {
+-				printk("%s: ERROR reading %s board userarea.\n",
+-				       netxen_nic_driver_name,
+-				       netxen_nic_driver_name);
+-				return;
+-			}
+-			ptr32++;
+-			addr += sizeof(u32);
++
++	adapter->driver_mismatch = 0;
++
++	ptr32 = (u32 *)&serial_num;
++	addr = NETXEN_USER_START +
++	       offsetof(struct netxen_new_user_info, serial_num);
++	for (i = 0; i < 8; i++) {
++		if (netxen_rom_fast_read(adapter, addr, ptr32) == -1) {
++			printk("%s: ERROR reading %s board userarea.\n",
++			       netxen_nic_driver_name,
++			       netxen_nic_driver_name);
++			adapter->driver_mismatch = 1;
++			return;
+ 		}
++		ptr32++;
++		addr += sizeof(u32);
++	}
++
++	fw_major = readl(NETXEN_CRB_NORMALIZE(adapter,
++					      NETXEN_FW_VERSION_MAJOR));
++	fw_minor = readl(NETXEN_CRB_NORMALIZE(adapter,
++					      NETXEN_FW_VERSION_MINOR));
++	fw_build =
++	    readl(NETXEN_CRB_NORMALIZE(adapter, NETXEN_FW_VERSION_SUB));
+ 
++	if (adapter->portnum == 0) {
+ 		get_brd_name_by_type(board_info->board_type, brd_name);
+ 
+ 		printk("NetXen %s Board S/N %s  Chip id 0x%x\n",
+-		       brd_name, serial_num, board_info->chip_id);
+-
+-		printk("NetXen %s Board #%d, Chip id 0x%x\n",
+-		       board_info->board_type == 0x0b ? "XGB" : "GBE",
+-		       board_info->board_num, board_info->chip_id);
+-		fw_major = readl(NETXEN_CRB_NORMALIZE(adapter,
+-						      NETXEN_FW_VERSION_MAJOR));
+-		fw_minor = readl(NETXEN_CRB_NORMALIZE(adapter,
+-						      NETXEN_FW_VERSION_MINOR));
+-		fw_build =
+-		    readl(NETXEN_CRB_NORMALIZE(adapter, NETXEN_FW_VERSION_SUB));
+-
+-		printk("NetXen Firmware version %d.%d.%d\n", fw_major, fw_minor,
+-		       fw_build);
++				brd_name, serial_num, board_info->chip_id);
++		printk("NetXen Firmware version %d.%d.%d\n", fw_major,
++				fw_minor, fw_build);
+ 	}
++
+ 	if (fw_major != _NETXEN_NIC_LINUX_MAJOR) {
+-		printk(KERN_ERR "The mismatch in driver version and firmware "
+-		       "version major number\n"
+-		       "Driver version major number = %d \t"
+-		       "Firmware version major number = %d \n",
+-		       _NETXEN_NIC_LINUX_MAJOR, fw_major);
+ 		adapter->driver_mismatch = 1;
+ 	}
+ 	if (fw_minor != _NETXEN_NIC_LINUX_MINOR &&
+ 			fw_minor != (_NETXEN_NIC_LINUX_MINOR + 1)) {
+-		printk(KERN_ERR "The mismatch in driver version and firmware "
+-		       "version minor number\n"
+-		       "Driver version minor number = %d \t"
+-		       "Firmware version minor number = %d \n",
+-		       _NETXEN_NIC_LINUX_MINOR, fw_minor);
+ 		adapter->driver_mismatch = 1;
+ 	}
+-	if (adapter->driver_mismatch)
+-		printk(KERN_INFO "Use the driver with version no %d.%d.xxx\n",
+-		       fw_major, fw_minor);
++	if (adapter->driver_mismatch) {
++		printk(KERN_ERR "%s: driver and firmware version mismatch\n",
++				adapter->netdev->name);
++		return;
++	}
++
++	switch (adapter->ahw.board_type) {
++	case NETXEN_NIC_GBE:
++		dev_info(&adapter->pdev->dev, "%s: GbE port initialized\n",
++				adapter->netdev->name);
++		break;
++	case NETXEN_NIC_XGBE:
++		dev_info(&adapter->pdev->dev, "%s: XGbE port initialized\n",
++				adapter->netdev->name);
++		break;
++	}
+ }
+ 
+diff --git a/drivers/net/netxen/netxen_nic_init.c b/drivers/net/netxen/netxen_nic_init.c
+index 45fa33e..70d1b22 100644
+--- a/drivers/net/netxen/netxen_nic_init.c
++++ b/drivers/net/netxen/netxen_nic_init.c
+@@ -203,21 +203,6 @@ void netxen_initialize_adapter_sw(struct netxen_adapter *adapter)
+ 	}
+ }
+ 
+-void netxen_initialize_adapter_hw(struct netxen_adapter *adapter)
+-{
+-	int ports = 0;
+-	struct netxen_board_info *board_info = &(adapter->ahw.boardcfg);
+-
+-	if (netxen_nic_get_board_info(adapter) != 0)
+-		printk("%s: Error getting board config info.\n",
+-		       netxen_nic_driver_name);
+-	get_brd_port_by_type(board_info->board_type, &ports);
+-	if (ports == 0)
+-		printk(KERN_ERR "%s: Unknown board type\n",
+-		       netxen_nic_driver_name);
+-	adapter->ahw.max_ports = ports;
+-}
+-
+ void netxen_initialize_adapter_ops(struct netxen_adapter *adapter)
+ {
+ 	switch (adapter->ahw.board_type) {
+@@ -765,18 +750,13 @@ int netxen_flash_unlock(struct netxen_adapter *adapter)
+ 
+ int netxen_pinit_from_rom(struct netxen_adapter *adapter, int verbose)
+ {
+-	int addr, val, status;
++	int addr, val;
+ 	int n, i;
+ 	int init_delay = 0;
+ 	struct crb_addr_pair *buf;
+ 	u32 off;
+ 
+ 	/* resetall */
+-	status = netxen_nic_get_board_info(adapter);
+-	if (status)
+-		printk("%s: netxen_pinit_from_rom: Error getting board info\n",
+-		       netxen_nic_driver_name);
+-
+ 	netxen_crb_writelit_adapter(adapter, NETXEN_ROMUSB_GLB_SW_RESET,
+ 				    NETXEN_ROMBUS_RESET);
+ 
+@@ -860,10 +840,10 @@ int netxen_pinit_from_rom(struct netxen_adapter *adapter, int verbose)
+ 				netxen_nic_pci_change_crbwindow(adapter, 1);
+ 			}
+ 			if (init_delay == 1) {
+-				msleep(2000);
++				msleep(1000);
+ 				init_delay = 0;
+ 			}
+-			msleep(20);
++			msleep(1);
+ 		}
+ 		kfree(buf);
+ 
+@@ -938,12 +918,28 @@ int netxen_initialize_adapter_offload(struct netxen_adapter *adapter)
+ 
+ void netxen_free_adapter_offload(struct netxen_adapter *adapter)
+ {
++	int i;
++
+ 	if (adapter->dummy_dma.addr) {
+-		pci_free_consistent(adapter->ahw.pdev,
++		i = 100;
++		do {
++			if (dma_watchdog_shutdown_request(adapter) == 1)
++				break;
++			msleep(50);
++			if (dma_watchdog_shutdown_poll_result(adapter) == 1)
++				break;
++		} while (--i);
++
++		if (i) {
++			pci_free_consistent(adapter->ahw.pdev,
+ 				    NETXEN_HOST_DUMMY_DMA_SIZE,
+ 				    adapter->dummy_dma.addr,
+ 				    adapter->dummy_dma.phys_addr);
+-		adapter->dummy_dma.addr = NULL;
++			adapter->dummy_dma.addr = NULL;
++		} else {
++			printk(KERN_ERR "%s: dma_watchdog_shutdown failed\n",
++					adapter->netdev->name);
++		}
+ 	}
+ }
+ 
+diff --git a/drivers/net/netxen/netxen_nic_isr.c b/drivers/net/netxen/netxen_nic_isr.c
+index f487615..96cec41 100644
+--- a/drivers/net/netxen/netxen_nic_isr.c
++++ b/drivers/net/netxen/netxen_nic_isr.c
+@@ -145,7 +145,7 @@ static void netxen_nic_isr_other(struct netxen_adapter *adapter)
+ 
+ 	/* verify the offset */
+ 	val = readl(NETXEN_CRB_NORMALIZE(adapter, CRB_XG_STATE));
+-	val = val >> physical_port[adapter->portnum];
++	val = val >> adapter->physical_port;
+ 	if (val == adapter->ahw.qg_linksup)
+ 		return;
+ 
+@@ -199,7 +199,7 @@ void netxen_nic_xgbe_handle_phy_intr(struct netxen_adapter *adapter)
+ 
+ 	/* WINDOW = 1 */
+ 	val = readl(NETXEN_CRB_NORMALIZE(adapter, CRB_XG_STATE));
+-	val >>= (physical_port[adapter->portnum] * 8);
++	val >>= (adapter->physical_port * 8);
+ 	val &= 0xff;
+ 
+ 	if (adapter->ahw.xg_linkup == 1 && val != XG_LINK_UP) {
+diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c
+index 7144c25..6797ed0 100644
+--- a/drivers/net/netxen/netxen_nic_main.c
++++ b/drivers/net/netxen/netxen_nic_main.c
+@@ -70,17 +70,15 @@ static void netxen_nic_poll_controller(struct net_device *netdev);
+ static irqreturn_t netxen_intr(int irq, void *data);
+ static irqreturn_t netxen_msi_intr(int irq, void *data);
+ 
+-int physical_port[] = {0, 1, 2, 3};
+-
+ /*  PCI Device ID Table  */
+ static struct pci_device_id netxen_pci_tbl[] __devinitdata = {
+-	{PCI_DEVICE(0x4040, 0x0001)},
+-	{PCI_DEVICE(0x4040, 0x0002)},
+-	{PCI_DEVICE(0x4040, 0x0003)},
+-	{PCI_DEVICE(0x4040, 0x0004)},
+-	{PCI_DEVICE(0x4040, 0x0005)},
+-	{PCI_DEVICE(0x4040, 0x0024)},
+-	{PCI_DEVICE(0x4040, 0x0025)},
++	{PCI_DEVICE(0x4040, 0x0001), PCI_DEVICE_CLASS(0x020000, ~0)},
++	{PCI_DEVICE(0x4040, 0x0002), PCI_DEVICE_CLASS(0x020000, ~0)},
++	{PCI_DEVICE(0x4040, 0x0003), PCI_DEVICE_CLASS(0x020000, ~0)},
++	{PCI_DEVICE(0x4040, 0x0004), PCI_DEVICE_CLASS(0x020000, ~0)},
++	{PCI_DEVICE(0x4040, 0x0005), PCI_DEVICE_CLASS(0x020000, ~0)},
++	{PCI_DEVICE(0x4040, 0x0024), PCI_DEVICE_CLASS(0x020000, ~0)},
++	{PCI_DEVICE(0x4040, 0x0025), PCI_DEVICE_CLASS(0x020000, ~0)},
+ 	{0,}
+ };
+ 
+@@ -288,10 +286,11 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
+ 	int pci_func_id = PCI_FUNC(pdev->devfn);
+ 	DECLARE_MAC_BUF(mac);
+ 
+-	printk(KERN_INFO "%s \n", netxen_nic_driver_string);
++	if (pci_func_id == 0)
++		printk(KERN_INFO "%s \n", netxen_nic_driver_string);
+ 
+ 	if (pdev->class != 0x020000) {
+-		printk(KERN_ERR"NetXen function %d, class %x will not "
++		printk(KERN_DEBUG "NetXen function %d, class %x will not "
+ 				"be enabled.\n",pci_func_id, pdev->class);
+ 		return -ENODEV;
+ 	}
+@@ -450,8 +449,12 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
+ 	 */
+ 	adapter->curr_window = 255;
+ 
+-	/* initialize the adapter */
+-	netxen_initialize_adapter_hw(adapter);
++	if (netxen_nic_get_board_info(adapter) != 0) {
++		printk("%s: Error getting board config info.\n",
++		       netxen_nic_driver_name);
++		err = -EIO;
++		goto err_out_iounmap;
++	}
+ 
+ 	/*
+ 	 *  Adapter in our case is quad port so initialize it before
+@@ -530,17 +533,15 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
+ 	netxen_initialize_adapter_sw(adapter);	/* initialize the buffers in adapter */
+ 
+ 	/* Mezz cards have PCI function 0,2,3 enabled */
+-	if ((adapter->ahw.boardcfg.board_type == NETXEN_BRDTYPE_P2_SB31_10G_IMEZ)
+-		&& (pci_func_id >= 2))
++	switch (adapter->ahw.boardcfg.board_type) {
++	case NETXEN_BRDTYPE_P2_SB31_10G_IMEZ:
++	case NETXEN_BRDTYPE_P2_SB31_10G_HMEZ:
++		if (pci_func_id >= 2)
+ 			adapter->portnum = pci_func_id - 2;
+-
+-#ifdef CONFIG_IA64
+-	if(adapter->portnum == 0) {
+-		netxen_pinit_from_rom(adapter, 0);
+-		udelay(500);
+-		netxen_load_firmware(adapter);
++		break;
++	default:
++		break;
+ 	}
+-#endif
+ 
+ 	init_timer(&adapter->watchdog_timer);
+ 	adapter->ahw.xg_linkup = 0;
+@@ -613,11 +614,18 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
+ 				err = -ENODEV;
+ 				goto err_out_free_dev;
+ 		    }
++		} else {
++			writel(0, NETXEN_CRB_NORMALIZE(adapter,
++						CRB_CMDPEG_STATE));
++			netxen_pinit_from_rom(adapter, 0);
++			msleep(1);
++			netxen_load_firmware(adapter);
++			netxen_phantom_init(adapter, NETXEN_NIC_PEG_TUNE);
+ 		}
+ 
+ 		/* clear the register for future unloads/loads */
+ 		writel(0, NETXEN_CRB_NORMALIZE(adapter, NETXEN_CAM_RAM(0x1fc)));
+-		printk(KERN_INFO "State: 0x%0x\n",
++		dev_info(&pdev->dev, "cmdpeg state: 0x%0x\n",
+ 			readl(NETXEN_CRB_NORMALIZE(adapter, CRB_CMDPEG_STATE)));
+ 
+ 		/*
+@@ -639,9 +647,10 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
+ 	/*
+ 	 * See if the firmware gave us a virtual-physical port mapping.
+ 	 */
++	adapter->physical_port = adapter->portnum;
+ 	i = readl(NETXEN_CRB_NORMALIZE(adapter, CRB_V2P(adapter->portnum)));
+ 	if (i != 0x55555555)
+-		physical_port[adapter->portnum] = i;
++		adapter->physical_port = i;
+ 
+ 	netif_carrier_off(netdev);
+ 	netif_stop_queue(netdev);
+@@ -654,22 +663,9 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
+ 		goto err_out_free_dev;
+ 	}
+ 
++	netxen_nic_flash_print(adapter);
+ 	pci_set_drvdata(pdev, adapter);
+ 
+-	switch (adapter->ahw.board_type) {
+-		case NETXEN_NIC_GBE:
+-			printk(KERN_INFO "%s: QUAD GbE board initialized\n",
+-			       netxen_nic_driver_name);
+-			break;
+-
+-		case NETXEN_NIC_XGBE:
+-			printk(KERN_INFO "%s: XGbE board initialized\n",
+-					netxen_nic_driver_name);
+-			break;
+-	}
+-
+-	adapter->driver_mismatch = 0;
+-
+ 	return 0;
+ 
+ err_out_free_dev:
+@@ -760,55 +756,8 @@ static void __devexit netxen_nic_remove(struct pci_dev *pdev)
+ 
+ 	vfree(adapter->cmd_buf_arr);
+ 
+-	if (adapter->portnum == 0) {
+-		if (init_firmware_done) {
+-			i = 100;
+-			do {
+-				if (dma_watchdog_shutdown_request(adapter) == 1)
+-					break;
+-				msleep(100);
+-				if (dma_watchdog_shutdown_poll_result(adapter) == 1)
+-					break;
+-			} while (--i);
+-
+-			if (i == 0)
+-				printk(KERN_ERR "%s: dma_watchdog_shutdown failed\n",
+-						netdev->name);
+-
+-			/* clear the register for future unloads/loads */
+-			writel(0, NETXEN_CRB_NORMALIZE(adapter, NETXEN_CAM_RAM(0x1fc)));
+-			printk(KERN_INFO "State: 0x%0x\n",
+-				readl(NETXEN_CRB_NORMALIZE(adapter, CRB_CMDPEG_STATE)));
+-
+-			/* leave the hw in the same state as reboot */
+-			writel(0, NETXEN_CRB_NORMALIZE(adapter, CRB_CMDPEG_STATE));
+-			netxen_pinit_from_rom(adapter, 0);
+-			msleep(1);
+-			netxen_load_firmware(adapter);
+-			netxen_phantom_init(adapter, NETXEN_NIC_PEG_TUNE);
+-		}
+-
+-		/* clear the register for future unloads/loads */
+-		writel(0, NETXEN_CRB_NORMALIZE(adapter, NETXEN_CAM_RAM(0x1fc)));
+-		printk(KERN_INFO "State: 0x%0x\n",
+-			readl(NETXEN_CRB_NORMALIZE(adapter, CRB_CMDPEG_STATE)));
+-
+-		i = 100;
+-		do {
+-			if (dma_watchdog_shutdown_request(adapter) == 1)
+-				break;
+-			msleep(100);
+-			if (dma_watchdog_shutdown_poll_result(adapter) == 1)
+-				break;
+-		} while (--i);
+-
+-		if (i) {
+-			netxen_free_adapter_offload(adapter);
+-		} else {
+-			printk(KERN_ERR "%s: dma_watchdog_shutdown failed\n",
+-					netdev->name);
+-		}
+-	}
++	if (adapter->portnum == 0)
++		netxen_free_adapter_offload(adapter);
+ 
+ 	if (adapter->irq)
+ 		free_irq(adapter->irq, adapter);
+@@ -840,13 +789,15 @@ static int netxen_nic_open(struct net_device *netdev)
+ 	irq_handler_t handler;
+ 	unsigned long flags = IRQF_SAMPLE_RANDOM;
+ 
++	if (adapter->driver_mismatch)
++		return -EIO;
++
+ 	if (adapter->is_up != NETXEN_ADAPTER_UP_MAGIC) {
+ 		err = netxen_init_firmware(adapter);
+ 		if (err != 0) {
+ 			printk(KERN_ERR "Failed to init firmware\n");
+ 			return -EIO;
+ 		}
+-		netxen_nic_flash_print(adapter);
+ 
+ 		/* setup all the resources for the Phantom... */
+ 		/* this include the descriptors for rcv, tx, and status */
+@@ -895,14 +846,12 @@ static int netxen_nic_open(struct net_device *netdev)
+ 	if (adapter->set_mtu)
+ 		adapter->set_mtu(adapter, netdev->mtu);
+ 
+-	if (!adapter->driver_mismatch)
+-		mod_timer(&adapter->watchdog_timer, jiffies);
++	mod_timer(&adapter->watchdog_timer, jiffies);
+ 
+ 	napi_enable(&adapter->napi);
+ 	netxen_nic_enable_int(adapter);
+ 
+-	if (!adapter->driver_mismatch)
+-		netif_start_queue(netdev);
++	netif_start_queue(netdev);
+ 
+ 	return 0;
+ }
+diff --git a/drivers/net/netxen/netxen_nic_niu.c b/drivers/net/netxen/netxen_nic_niu.c
+index 1c852a7..a3bc7cc 100644
+--- a/drivers/net/netxen/netxen_nic_niu.c
++++ b/drivers/net/netxen/netxen_nic_niu.c
+@@ -94,7 +94,7 @@ int netxen_niu_gbe_phy_read(struct netxen_adapter *adapter, long reg,
+ 	long timeout = 0;
+ 	long result = 0;
+ 	long restore = 0;
+-	long phy = physical_port[adapter->portnum];
++	long phy = adapter->physical_port;
+ 	__u32 address;
+ 	__u32 command;
+ 	__u32 status;
+@@ -190,7 +190,7 @@ int netxen_niu_gbe_phy_write(struct netxen_adapter *adapter, long reg,
+ 	long timeout = 0;
+ 	long result = 0;
+ 	long restore = 0;
+-	long phy = physical_port[adapter->portnum];
++	long phy = adapter->physical_port;
+ 	__u32 address;
+ 	__u32 command;
+ 	__u32 status;
+@@ -456,7 +456,7 @@ int netxen_niu_gbe_init_port(struct netxen_adapter *adapter, int port)
+ 
+ int netxen_niu_xg_init_port(struct netxen_adapter *adapter, int port)
+ {
+-	u32 portnum = physical_port[adapter->portnum];
++	u32 portnum = adapter->physical_port;
+ 
+ 	netxen_crb_writelit_adapter(adapter,
+ 		NETXEN_NIU_XGE_CONFIG_1+(0x10000*portnum), 0x1447);
+@@ -573,7 +573,7 @@ static int netxen_niu_macaddr_get(struct netxen_adapter *adapter,
+ {
+ 	u32 stationhigh;
+ 	u32 stationlow;
+-	int phy = physical_port[adapter->portnum];
++	int phy = adapter->physical_port;
+ 	u8 val[8];
+ 
+ 	if (addr == NULL)
+@@ -604,7 +604,7 @@ int netxen_niu_macaddr_set(struct netxen_adapter *adapter,
+ {
+ 	u8 temp[4];
+ 	u32 val;
+-	int phy = physical_port[adapter->portnum];
++	int phy = adapter->physical_port;
+ 	unsigned char mac_addr[6];
+ 	int i;
+ 	DECLARE_MAC_BUF(mac);
+@@ -724,7 +724,7 @@ int netxen_niu_enable_gbe_port(struct netxen_adapter *adapter,
+ int netxen_niu_disable_gbe_port(struct netxen_adapter *adapter)
+ {
+ 	__u32 mac_cfg0;
+-	u32 port = physical_port[adapter->portnum];
++	u32 port = adapter->physical_port;
+ 
+ 	if (port > NETXEN_NIU_MAX_GBE_PORTS)
+ 		return -EINVAL;
+@@ -740,7 +740,7 @@ int netxen_niu_disable_gbe_port(struct netxen_adapter *adapter)
+ int netxen_niu_disable_xg_port(struct netxen_adapter *adapter)
+ {
+ 	__u32 mac_cfg;
+-	u32 port = physical_port[adapter->portnum];
++	u32 port = adapter->physical_port;
+ 
+ 	if (port > NETXEN_NIU_MAX_XG_PORTS)
+ 		return -EINVAL;
+@@ -757,7 +757,7 @@ int netxen_niu_set_promiscuous_mode(struct netxen_adapter *adapter,
+ 				    netxen_niu_prom_mode_t mode)
+ {
+ 	__u32 reg;
+-	u32 port = physical_port[adapter->portnum];
++	u32 port = adapter->physical_port;
+ 
+ 	if (port > NETXEN_NIU_MAX_GBE_PORTS)
+ 		return -EINVAL;
+@@ -814,7 +814,7 @@ int netxen_niu_set_promiscuous_mode(struct netxen_adapter *adapter,
+ int netxen_niu_xg_macaddr_set(struct netxen_adapter *adapter,
+ 			      netxen_ethernet_macaddr_t addr)
+ {
+-	int phy = physical_port[adapter->portnum];
++	int phy = adapter->physical_port;
+ 	u8 temp[4];
+ 	u32 val;
+ 
+@@ -867,7 +867,7 @@ int netxen_niu_xg_macaddr_set(struct netxen_adapter *adapter,
+ int netxen_niu_xg_macaddr_get(struct netxen_adapter *adapter,
+ 			      netxen_ethernet_macaddr_t * addr)
+ {
+-	int phy = physical_port[adapter->portnum];
++	int phy = adapter->physical_port;
+ 	u32 stationhigh;
+ 	u32 stationlow;
+ 	u8 val[8];
+@@ -896,7 +896,7 @@ int netxen_niu_xg_set_promiscuous_mode(struct netxen_adapter *adapter,
+ 				       netxen_niu_prom_mode_t mode)
+ {
+ 	__u32 reg;
+-	u32 port = physical_port[adapter->portnum];
++	u32 port = adapter->physical_port;
+ 
+ 	if (port > NETXEN_NIU_MAX_XG_PORTS)
+ 		return -EINVAL;
+diff --git a/drivers/net/r6040.c b/drivers/net/r6040.c
+index 169edc1..858b191 100644
+--- a/drivers/net/r6040.c
++++ b/drivers/net/r6040.c
+@@ -733,7 +733,7 @@ static void r6040_timer(unsigned long data)
+ 	}
+ 
+ 	/* Timer active again */
+-	mod_timer(&lp->timer, jiffies + round_jiffies(HZ));
++	mod_timer(&lp->timer, round_jiffies(jiffies + HZ));
+ }
+ 
+ /* Read/set MAC address routines */
+diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
+index 62436b3..c8a5ef2 100644
+--- a/drivers/net/sky2.c
++++ b/drivers/net/sky2.c
+@@ -118,6 +118,7 @@ static const struct pci_device_id sky2_id_table[] = {
+ 	{ PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4352) }, /* 88E8038 */
+ 	{ PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4353) }, /* 88E8039 */
+ 	{ PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4354) }, /* 88E8040 */
++	{ PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4355) }, /* 88E8040T */
+ 	{ PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4356) }, /* 88EC033 */
+ 	{ PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4357) }, /* 88E8042 */
+ 	{ PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x435A) }, /* 88E8048 */
+diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
+index 4e28002..e2ee91a 100644
+--- a/drivers/net/smc911x.c
++++ b/drivers/net/smc911x.c
+@@ -136,7 +136,6 @@ struct smc911x_local {
+ 
+ 	/* work queue */
+ 	struct work_struct phy_configure;
+-	int work_pending;
+ 
+ 	int tx_throttle;
+ 	spinlock_t lock;
+@@ -960,11 +959,11 @@ static void smc911x_phy_configure(struct work_struct *work)
+ 	 * We should not be called if phy_type is zero.
+ 	 */
+ 	if (lp->phy_type == 0)
+-		 goto smc911x_phy_configure_exit_nolock;
++		return;
+ 
+ 	if (smc911x_phy_reset(dev, phyaddr)) {
+ 		printk("%s: PHY reset timed out\n", dev->name);
+-		goto smc911x_phy_configure_exit_nolock;
++		return;
+ 	}
+ 	spin_lock_irqsave(&lp->lock, flags);
+ 
+@@ -1033,8 +1032,6 @@ static void smc911x_phy_configure(struct work_struct *work)
+ 
+ smc911x_phy_configure_exit:
+ 	spin_unlock_irqrestore(&lp->lock, flags);
+-smc911x_phy_configure_exit_nolock:
+-	lp->work_pending = 0;
+ }
+ 
+ /*
+@@ -1356,11 +1353,8 @@ static void smc911x_timeout(struct net_device *dev)
+ 	 * smc911x_phy_configure() calls msleep() which calls schedule_timeout()
+ 	 * which calls schedule().	 Hence we use a work queue.
+ 	 */
+-	if (lp->phy_type != 0) {
+-		if (schedule_work(&lp->phy_configure)) {
+-			lp->work_pending = 1;
+-		}
+-	}
++	if (lp->phy_type != 0)
++		schedule_work(&lp->phy_configure);
+ 
+ 	/* We can accept TX packets again */
+ 	dev->trans_start = jiffies;
+@@ -1531,16 +1525,8 @@ static int smc911x_close(struct net_device *dev)
+ 	if (lp->phy_type != 0) {
+ 		/* We need to ensure that no calls to
+ 		 * smc911x_phy_configure are pending.
+-
+-		 * flush_scheduled_work() cannot be called because we
+-		 * are running with the netlink semaphore held (from
+-		 * devinet_ioctl()) and the pending work queue
+-		 * contains linkwatch_event() (scheduled by
+-		 * netif_carrier_off() above). linkwatch_event() also
+-		 * wants the netlink semaphore.
+ 		 */
+-		while (lp->work_pending)
+-			schedule();
++		cancel_work_sync(&lp->phy_configure);
+ 		smc911x_phy_powerdown(dev, lp->mii.phy_id);
+ 	}
+ 
+diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c
+index a188e33..f2051b2 100644
+--- a/drivers/net/smc91x.c
++++ b/drivers/net/smc91x.c
+@@ -1016,15 +1016,8 @@ static void smc_phy_powerdown(struct net_device *dev)
+ 
+ 	/* We need to ensure that no calls to smc_phy_configure are
+ 	   pending.
+-
+-	   flush_scheduled_work() cannot be called because we are
+-	   running with the netlink semaphore held (from
+-	   devinet_ioctl()) and the pending work queue contains
+-	   linkwatch_event() (scheduled by netif_carrier_off()
+-	   above). linkwatch_event() also wants the netlink semaphore.
+ 	*/
+-	while(lp->work_pending)
+-		yield();
++	cancel_work_sync(&lp->phy_configure);
+ 
+ 	bmcr = smc_phy_read(dev, phy, MII_BMCR);
+ 	smc_phy_write(dev, phy, MII_BMCR, bmcr | BMCR_PDOWN);
+@@ -1161,7 +1154,6 @@ static void smc_phy_configure(struct work_struct *work)
+ smc_phy_configure_exit:
+ 	SMC_SELECT_BANK(lp, 2);
+ 	spin_unlock_irq(&lp->lock);
+-	lp->work_pending = 0;
+ }
+ 
+ /*
+@@ -1389,11 +1381,8 @@ static void smc_timeout(struct net_device *dev)
+ 	 * smc_phy_configure() calls msleep() which calls schedule_timeout()
+ 	 * which calls schedule().  Hence we use a work queue.
+ 	 */
+-	if (lp->phy_type != 0) {
+-		if (schedule_work(&lp->phy_configure)) {
+-			lp->work_pending = 1;
+-		}
+-	}
++	if (lp->phy_type != 0)
++		schedule_work(&lp->phy_configure);
+ 
+ 	/* We can accept TX packets again */
+ 	dev->trans_start = jiffies;
+diff --git a/drivers/net/tulip/tulip_core.c b/drivers/net/tulip/tulip_core.c
+index 55670b5..af8d2c4 100644
+--- a/drivers/net/tulip/tulip_core.c
++++ b/drivers/net/tulip/tulip_core.c
+@@ -731,7 +731,7 @@ static void tulip_down (struct net_device *dev)
+ 	void __iomem *ioaddr = tp->base_addr;
+ 	unsigned long flags;
+ 
+-	flush_scheduled_work();
++	cancel_work_sync(&tp->media_work);
+ 
+ #ifdef CONFIG_TULIP_NAPI
+ 	napi_disable(&tp->napi);
+diff --git a/drivers/net/tun.c b/drivers/net/tun.c
+index 0ce07a3..7ab94c8 100644
+--- a/drivers/net/tun.c
++++ b/drivers/net/tun.c
+@@ -313,6 +313,21 @@ static __inline__ ssize_t tun_get_user(struct tun_struct *tun, struct iovec *iv,
+ 
+ 	switch (tun->flags & TUN_TYPE_MASK) {
+ 	case TUN_TUN_DEV:
++		if (tun->flags & TUN_NO_PI) {
++			switch (skb->data[0] & 0xf0) {
++			case 0x40:
++				pi.proto = htons(ETH_P_IP);
++				break;
++			case 0x60:
++				pi.proto = htons(ETH_P_IPV6);
++				break;
++			default:
++				tun->dev->stats.rx_dropped++;
++				kfree_skb(skb);
++				return -EINVAL;
++			}
++		}
++
+ 		skb_reset_mac_header(skb);
+ 		skb->protocol = pi.proto;
+ 		skb->dev = tun->dev;
+diff --git a/drivers/net/usb/kaweth.c b/drivers/net/usb/kaweth.c
+index 0dcfc03..7c66b05 100644
+--- a/drivers/net/usb/kaweth.c
++++ b/drivers/net/usb/kaweth.c
+@@ -706,7 +706,7 @@ static void kaweth_kill_urbs(struct kaweth_device *kaweth)
+ 	usb_kill_urb(kaweth->rx_urb);
+ 	usb_kill_urb(kaweth->tx_urb);
+ 
+-	flush_scheduled_work();
++	cancel_delayed_work_sync(&kaweth->lowmem_work);
+ 
+ 	/* a scheduled work may have resubmitted,
+ 	   we hit them again */
+diff --git a/drivers/net/wireless/b43/b43.h b/drivers/net/wireless/b43/b43.h
+index dfa4bdd..d3db298 100644
+--- a/drivers/net/wireless/b43/b43.h
++++ b/drivers/net/wireless/b43/b43.h
+@@ -630,7 +630,6 @@ struct b43_pio {
+ 
+ /* Context information for a noise calculation (Link Quality). */
+ struct b43_noise_calculation {
+-	u8 channel_at_start;
+ 	bool calculation_running;
+ 	u8 nr_samples;
+ 	s8 samples[8][4];
+diff --git a/drivers/net/wireless/b43/dma.c b/drivers/net/wireless/b43/dma.c
+index 6dcbb3c..e23f2f1 100644
+--- a/drivers/net/wireless/b43/dma.c
++++ b/drivers/net/wireless/b43/dma.c
+@@ -795,24 +795,49 @@ struct b43_dmaring *b43_setup_dmaring(struct b43_wldev *dev,
+ {
+ 	struct b43_dmaring *ring;
+ 	int err;
+-	int nr_slots;
+ 	dma_addr_t dma_test;
+ 
+ 	ring = kzalloc(sizeof(*ring), GFP_KERNEL);
+ 	if (!ring)
+ 		goto out;
+-	ring->type = type;
+ 
+-	nr_slots = B43_RXRING_SLOTS;
++	ring->nr_slots = B43_RXRING_SLOTS;
+ 	if (for_tx)
+-		nr_slots = B43_TXRING_SLOTS;
++		ring->nr_slots = B43_TXRING_SLOTS;
+ 
+-	ring->meta = kcalloc(nr_slots, sizeof(struct b43_dmadesc_meta),
++	ring->meta = kcalloc(ring->nr_slots, sizeof(struct b43_dmadesc_meta),
+ 			     GFP_KERNEL);
+ 	if (!ring->meta)
+ 		goto err_kfree_ring;
++
++	ring->type = type;
++	ring->dev = dev;
++	ring->mmio_base = b43_dmacontroller_base(type, controller_index);
++	ring->index = controller_index;
++	if (type == B43_DMA_64BIT)
++		ring->ops = &dma64_ops;
++	else
++		ring->ops = &dma32_ops;
+ 	if (for_tx) {
+-		ring->txhdr_cache = kcalloc(nr_slots,
++		ring->tx = 1;
++		ring->current_slot = -1;
++	} else {
++		if (ring->index == 0) {
++			ring->rx_buffersize = B43_DMA0_RX_BUFFERSIZE;
++			ring->frameoffset = B43_DMA0_RX_FRAMEOFFSET;
++		} else if (ring->index == 3) {
++			ring->rx_buffersize = B43_DMA3_RX_BUFFERSIZE;
++			ring->frameoffset = B43_DMA3_RX_FRAMEOFFSET;
++		} else
++			B43_WARN_ON(1);
++	}
++	spin_lock_init(&ring->lock);
++#ifdef CONFIG_B43_DEBUG
++	ring->last_injected_overflow = jiffies;
++#endif
++
++	if (for_tx) {
++		ring->txhdr_cache = kcalloc(ring->nr_slots,
+ 					    b43_txhdr_size(dev),
+ 					    GFP_KERNEL);
+ 		if (!ring->txhdr_cache)
+@@ -828,7 +853,7 @@ struct b43_dmaring *b43_setup_dmaring(struct b43_wldev *dev,
+ 					  b43_txhdr_size(dev), 1)) {
+ 			/* ugh realloc */
+ 			kfree(ring->txhdr_cache);
+-			ring->txhdr_cache = kcalloc(nr_slots,
++			ring->txhdr_cache = kcalloc(ring->nr_slots,
+ 						    b43_txhdr_size(dev),
+ 						    GFP_KERNEL | GFP_DMA);
+ 			if (!ring->txhdr_cache)
+@@ -853,32 +878,6 @@ struct b43_dmaring *b43_setup_dmaring(struct b43_wldev *dev,
+ 				 DMA_TO_DEVICE);
+ 	}
+ 
+-	ring->dev = dev;
+-	ring->nr_slots = nr_slots;
+-	ring->mmio_base = b43_dmacontroller_base(type, controller_index);
+-	ring->index = controller_index;
+-	if (type == B43_DMA_64BIT)
+-		ring->ops = &dma64_ops;
+-	else
+-		ring->ops = &dma32_ops;
+-	if (for_tx) {
+-		ring->tx = 1;
+-		ring->current_slot = -1;
+-	} else {
+-		if (ring->index == 0) {
+-			ring->rx_buffersize = B43_DMA0_RX_BUFFERSIZE;
+-			ring->frameoffset = B43_DMA0_RX_FRAMEOFFSET;
+-		} else if (ring->index == 3) {
+-			ring->rx_buffersize = B43_DMA3_RX_BUFFERSIZE;
+-			ring->frameoffset = B43_DMA3_RX_FRAMEOFFSET;
+-		} else
+-			B43_WARN_ON(1);
+-	}
+-	spin_lock_init(&ring->lock);
+-#ifdef CONFIG_B43_DEBUG
+-	ring->last_injected_overflow = jiffies;
+-#endif
+-
+ 	err = alloc_ringmemory(ring);
+ 	if (err)
+ 		goto err_kfree_txhdr_cache;
+diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
+index 6c3d9ea..fa4b0d8 100644
+--- a/drivers/net/wireless/b43/main.c
++++ b/drivers/net/wireless/b43/main.c
+@@ -1145,7 +1145,6 @@ static void b43_generate_noise_sample(struct b43_wldev *dev)
+ 	b43_jssi_write(dev, 0x7F7F7F7F);
+ 	b43_write32(dev, B43_MMIO_MACCMD,
+ 		    b43_read32(dev, B43_MMIO_MACCMD) | B43_MACCMD_BGNOISE);
+-	B43_WARN_ON(dev->noisecalc.channel_at_start != dev->phy.channel);
+ }
+ 
+ static void b43_calculate_link_quality(struct b43_wldev *dev)
+@@ -1154,7 +1153,6 @@ static void b43_calculate_link_quality(struct b43_wldev *dev)
+ 
+ 	if (dev->noisecalc.calculation_running)
+ 		return;
+-	dev->noisecalc.channel_at_start = dev->phy.channel;
+ 	dev->noisecalc.calculation_running = 1;
+ 	dev->noisecalc.nr_samples = 0;
+ 
+@@ -1171,9 +1169,16 @@ static void handle_irq_noise(struct b43_wldev *dev)
+ 
+ 	/* Bottom half of Link Quality calculation. */
+ 
++	/* Possible race condition: It might be possible that the user
++	 * changed to a different channel in the meantime since we
++	 * started the calculation. We ignore that fact, since it's
++	 * not really that much of a problem. The background noise is
++	 * an estimation only anyway. Slightly wrong results will get damped
++	 * by the averaging of the 8 sample rounds. Additionally the
++	 * value is shortlived. So it will be replaced by the next noise
++	 * calculation round soon. */
++
+ 	B43_WARN_ON(!dev->noisecalc.calculation_running);
+-	if (dev->noisecalc.channel_at_start != phy->channel)
+-		goto drop_calculation;
+ 	*((__le32 *)noise) = cpu_to_le32(b43_jssi_read(dev));
+ 	if (noise[0] == 0x7F || noise[1] == 0x7F ||
+ 	    noise[2] == 0x7F || noise[3] == 0x7F)
+@@ -1214,11 +1219,10 @@ static void handle_irq_noise(struct b43_wldev *dev)
+ 			average -= 48;
+ 
+ 		dev->stats.link_noise = average;
+-	      drop_calculation:
+ 		dev->noisecalc.calculation_running = 0;
+ 		return;
+ 	}
+-      generate_new:
++generate_new:
+ 	b43_generate_noise_sample(dev);
+ }
+ 
+diff --git a/drivers/net/wireless/hostap/hostap_main.c b/drivers/net/wireless/hostap/hostap_main.c
+index 20d387f..f7aec93 100644
+--- a/drivers/net/wireless/hostap/hostap_main.c
++++ b/drivers/net/wireless/hostap/hostap_main.c
+@@ -682,7 +682,13 @@ static int prism2_close(struct net_device *dev)
+ 		netif_device_detach(dev);
+ 	}
+ 
+-	flush_scheduled_work();
++	cancel_work_sync(&local->reset_queue);
++	cancel_work_sync(&local->set_multicast_list_queue);
++	cancel_work_sync(&local->set_tim_queue);
++#ifndef PRISM2_NO_STATION_MODES
++	cancel_work_sync(&local->info_queue);
++#endif
++	cancel_work_sync(&local->comms_qual_update);
+ 
+ 	module_put(local->hw_module);
+ 
+diff --git a/drivers/net/wireless/rt2x00/Kconfig b/drivers/net/wireless/rt2x00/Kconfig
+index ab1029e..2d61187 100644
+--- a/drivers/net/wireless/rt2x00/Kconfig
++++ b/drivers/net/wireless/rt2x00/Kconfig
+@@ -32,12 +32,13 @@ config RT2X00_LIB_FIRMWARE
+ config RT2X00_LIB_RFKILL
+ 	boolean
+ 	depends on RT2X00_LIB
++	depends on INPUT
+ 	select RFKILL
+ 	select INPUT_POLLDEV
+ 
+ config RT2X00_LIB_LEDS
+ 	boolean
+-	depends on RT2X00_LIB
++	depends on RT2X00_LIB && NEW_LEDS
+ 
+ config RT2400PCI
+ 	tristate "Ralink rt2400 pci/pcmcia support"
+@@ -51,7 +52,7 @@ config RT2400PCI
+ 
+ config RT2400PCI_RFKILL
+ 	bool "RT2400 rfkill support"
+-	depends on RT2400PCI
++	depends on RT2400PCI && INPUT
+ 	select RT2X00_LIB_RFKILL
+ 	---help---
+ 	  This adds support for integrated rt2400 devices that feature a
+@@ -60,7 +61,7 @@ config RT2400PCI_RFKILL
+ 
+ config RT2400PCI_LEDS
+ 	bool "RT2400 leds support"
+-	depends on RT2400PCI
++	depends on RT2400PCI && NEW_LEDS
+ 	select LEDS_CLASS
+ 	select RT2X00_LIB_LEDS
+ 	---help---
+@@ -78,7 +79,7 @@ config RT2500PCI
+ 
+ config RT2500PCI_RFKILL
+ 	bool "RT2500 rfkill support"
+-	depends on RT2500PCI
++	depends on RT2500PCI && INPUT
+ 	select RT2X00_LIB_RFKILL
+ 	---help---
+ 	  This adds support for integrated rt2500 devices that feature a
+@@ -87,7 +88,7 @@ config RT2500PCI_RFKILL
+ 
+ config RT2500PCI_LEDS
+ 	bool "RT2500 leds support"
+-	depends on RT2500PCI
++	depends on RT2500PCI && NEW_LEDS
+ 	select LEDS_CLASS
+ 	select RT2X00_LIB_LEDS
+ 	---help---
+@@ -107,7 +108,7 @@ config RT61PCI
+ 
+ config RT61PCI_RFKILL
+ 	bool "RT61 rfkill support"
+-	depends on RT61PCI
++	depends on RT61PCI && INPUT
+ 	select RT2X00_LIB_RFKILL
+ 	---help---
+ 	  This adds support for integrated rt61 devices that feature a
+@@ -116,7 +117,7 @@ config RT61PCI_RFKILL
+ 
+ config RT61PCI_LEDS
+ 	bool "RT61 leds support"
+-	depends on RT61PCI
++	depends on RT61PCI && NEW_LEDS
+ 	select LEDS_CLASS
+ 	select RT2X00_LIB_LEDS
+ 	---help---
+@@ -133,7 +134,7 @@ config RT2500USB
+ 
+ config RT2500USB_LEDS
+ 	bool "RT2500 leds support"
+-	depends on RT2500USB
++	depends on RT2500USB && NEW_LEDS
+ 	select LEDS_CLASS
+ 	select RT2X00_LIB_LEDS
+ 	---help---
+@@ -152,7 +153,7 @@ config RT73USB
+ 
+ config RT73USB_LEDS
+ 	bool "RT73 leds support"
+-	depends on RT73USB
++	depends on RT73USB && NEW_LEDS
+ 	select LEDS_CLASS
+ 	select RT2X00_LIB_LEDS
+ 	---help---
+diff --git a/drivers/net/wireless/rt2x00/rt2x00pci.c b/drivers/net/wireless/rt2x00/rt2x00pci.c
+index 971af25..60893de 100644
+--- a/drivers/net/wireless/rt2x00/rt2x00pci.c
++++ b/drivers/net/wireless/rt2x00/rt2x00pci.c
+@@ -412,8 +412,7 @@ int rt2x00pci_probe(struct pci_dev *pci_dev, const struct pci_device_id *id)
+ 	if (pci_set_mwi(pci_dev))
+ 		ERROR_PROBE("MWI not available.\n");
+ 
+-	if (pci_set_dma_mask(pci_dev, DMA_64BIT_MASK) &&
+-	    pci_set_dma_mask(pci_dev, DMA_32BIT_MASK)) {
++	if (pci_set_dma_mask(pci_dev, DMA_32BIT_MASK)) {
+ 		ERROR_PROBE("PCI DMA not supported.\n");
+ 		retval = -EIO;
+ 		goto exit_disable_device;
+diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.c b/drivers/net/wireless/rt2x00/rt2x00usb.c
+index 5a33167..e5ceae8 100644
+--- a/drivers/net/wireless/rt2x00/rt2x00usb.c
++++ b/drivers/net/wireless/rt2x00/rt2x00usb.c
+@@ -362,6 +362,12 @@ void rt2x00usb_disable_radio(struct rt2x00_dev *rt2x00dev)
+ 		}
+ 	}
+ 
++	/*
++	 * Kill guardian urb (if required by driver).
++	 */
++	if (!test_bit(DRIVER_REQUIRE_BEACON_GUARD, &rt2x00dev->flags))
++		return;
++
+ 	for (i = 0; i < rt2x00dev->bcn->limit; i++) {
+ 		priv_bcn = rt2x00dev->bcn->entries[i].priv_data;
+ 		usb_kill_urb(priv_bcn->urb);
+diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wireless/rt2x00/rt73usb.c
+index da19a3a..fff8386 100644
+--- a/drivers/net/wireless/rt2x00/rt73usb.c
++++ b/drivers/net/wireless/rt2x00/rt73usb.c
+@@ -2131,6 +2131,7 @@ static struct usb_device_id rt73usb_device_table[] = {
+ 	/* D-Link */
+ 	{ USB_DEVICE(0x07d1, 0x3c03), USB_DEVICE_DATA(&rt73usb_ops) },
+ 	{ USB_DEVICE(0x07d1, 0x3c04), USB_DEVICE_DATA(&rt73usb_ops) },
++	{ USB_DEVICE(0x07d1, 0x3c06), USB_DEVICE_DATA(&rt73usb_ops) },
+ 	{ USB_DEVICE(0x07d1, 0x3c07), USB_DEVICE_DATA(&rt73usb_ops) },
+ 	/* Gemtek */
+ 	{ USB_DEVICE(0x15a9, 0x0004), USB_DEVICE_DATA(&rt73usb_ops) },
+diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
+index 72cf61e..e1637bd 100644
+--- a/drivers/pci/pci-driver.c
++++ b/drivers/pci/pci-driver.c
+@@ -181,7 +181,7 @@ static int pci_call_probe(struct pci_driver *drv, struct pci_dev *dev,
+ 	   any need to change it. */
+ 	struct mempolicy *oldpol;
+ 	cpumask_t oldmask = current->cpus_allowed;
+-	int node = pcibus_to_node(dev->bus);
++	int node = dev_to_node(&dev->dev);
+ 
+ 	if (node >= 0) {
+ 		node_to_cpumask_ptr(nodecpumask, node);
+diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
+index 271d41c..6f3c744 100644
+--- a/drivers/pci/pci-sysfs.c
++++ b/drivers/pci/pci-sysfs.c
+@@ -489,13 +489,13 @@ pci_mmap_legacy_mem(struct kobject *kobj, struct bin_attribute *attr,
+  * @kobj: kobject for mapping
+  * @attr: struct bin_attribute for the file being mapped
+  * @vma: struct vm_area_struct passed into the mmap
++ * @write_combine: 1 for write_combine mapping
+  *
+  * Use the regular PCI mapping routines to map a PCI resource into userspace.
+- * FIXME: write combining?  maybe automatic for prefetchable regions?
+  */
+ static int
+ pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
+-		  struct vm_area_struct *vma)
++		  struct vm_area_struct *vma, int write_combine)
+ {
+ 	struct pci_dev *pdev = to_pci_dev(container_of(kobj,
+ 						       struct device, kobj));
+@@ -518,7 +518,21 @@ pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
+ 	vma->vm_pgoff += start >> PAGE_SHIFT;
+ 	mmap_type = res->flags & IORESOURCE_MEM ? pci_mmap_mem : pci_mmap_io;
+ 
+-	return pci_mmap_page_range(pdev, vma, mmap_type, 0);
++	return pci_mmap_page_range(pdev, vma, mmap_type, write_combine);
++}
++
++static int
++pci_mmap_resource_uc(struct kobject *kobj, struct bin_attribute *attr,
++		     struct vm_area_struct *vma)
++{
++	return pci_mmap_resource(kobj, attr, vma, 0);
++}
++
++static int
++pci_mmap_resource_wc(struct kobject *kobj, struct bin_attribute *attr,
++		     struct vm_area_struct *vma)
++{
++	return pci_mmap_resource(kobj, attr, vma, 1);
+ }
+ 
+ /**
+@@ -541,9 +555,46 @@ pci_remove_resource_files(struct pci_dev *pdev)
+ 			sysfs_remove_bin_file(&pdev->dev.kobj, res_attr);
+ 			kfree(res_attr);
+ 		}
++
++		res_attr = pdev->res_attr_wc[i];
++		if (res_attr) {
++			sysfs_remove_bin_file(&pdev->dev.kobj, res_attr);
++			kfree(res_attr);
++		}
+ 	}
+ }
+ 
++static int pci_create_attr(struct pci_dev *pdev, int num, int write_combine)
++{
++	/* allocate attribute structure, piggyback attribute name */
++	int name_len = write_combine ? 13 : 10;
++	struct bin_attribute *res_attr;
++	int retval;
++
++	res_attr = kzalloc(sizeof(*res_attr) + name_len, GFP_ATOMIC);
++	if (res_attr) {
++		char *res_attr_name = (char *)(res_attr + 1);
++
++		if (write_combine) {
++			pdev->res_attr_wc[num] = res_attr;
++			sprintf(res_attr_name, "resource%d_wc", num);
++			res_attr->mmap = pci_mmap_resource_wc;
++		} else {
++			pdev->res_attr[num] = res_attr;
++			sprintf(res_attr_name, "resource%d", num);
++			res_attr->mmap = pci_mmap_resource_uc;
++		}
++		res_attr->attr.name = res_attr_name;
++		res_attr->attr.mode = S_IRUSR | S_IWUSR;
++		res_attr->size = pci_resource_len(pdev, num);
++		res_attr->private = &pdev->resource[num];
++		retval = sysfs_create_bin_file(&pdev->dev.kobj, res_attr);
++	} else
++		retval = -ENOMEM;
++
++	return retval;
++}
++
+ /**
+  * pci_create_resource_files - create resource files in sysfs for @dev
+  * @dev: dev in question
+@@ -557,31 +608,19 @@ static int pci_create_resource_files(struct pci_dev *pdev)
+ 
+ 	/* Expose the PCI resources from this device as files */
+ 	for (i = 0; i < PCI_ROM_RESOURCE; i++) {
+-		struct bin_attribute *res_attr;
+ 
+ 		/* skip empty resources */
+ 		if (!pci_resource_len(pdev, i))
+ 			continue;
+ 
+-		/* allocate attribute structure, piggyback attribute name */
+-		res_attr = kzalloc(sizeof(*res_attr) + 10, GFP_ATOMIC);
+-		if (res_attr) {
+-			char *res_attr_name = (char *)(res_attr + 1);
+-
+-			pdev->res_attr[i] = res_attr;
+-			sprintf(res_attr_name, "resource%d", i);
+-			res_attr->attr.name = res_attr_name;
+-			res_attr->attr.mode = S_IRUSR | S_IWUSR;
+-			res_attr->size = pci_resource_len(pdev, i);
+-			res_attr->mmap = pci_mmap_resource;
+-			res_attr->private = &pdev->resource[i];
+-			retval = sysfs_create_bin_file(&pdev->dev.kobj, res_attr);
+-			if (retval) {
+-				pci_remove_resource_files(pdev);
+-				return retval;
+-			}
+-		} else {
+-			return -ENOMEM;
++		retval = pci_create_attr(pdev, i, 0);
++		/* for prefetchable resources, create a WC mappable file */
++		if (!retval && pdev->resource[i].flags & IORESOURCE_PREFETCH)
++			retval = pci_create_attr(pdev, i, 1);
++
++		if (retval) {
++			pci_remove_resource_files(pdev);
++			return retval;
+ 		}
+ 	}
+ 	return 0;
+diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
+index 60f8afc..4949dc4 100644
+--- a/drivers/rtc/Kconfig
++++ b/drivers/rtc/Kconfig
+@@ -256,6 +256,17 @@ config RTC_DRV_S35390A
+ 	  This driver can also be built as a module. If so the module
+ 	  will be called rtc-s35390a.
+ 
++config RTC_DRV_FM3130
++	tristate "Ramtron FM3130"
++	help
++	  If you say Y here you will get support for the
++	  Ramtron FM3130 RTC chips.
++	  Ramtron FM3130 is a chip with two separate devices inside,
++	  RTC clock and FRAM. This driver provides only RTC functionality.
++
++	  This driver can also be built as a module. If so the module
++	  will be called rtc-fm3130.
++
+ endif # I2C
+ 
+ comment "SPI RTC drivers"
+diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile
+index ebe871c..b6e14d5 100644
+--- a/drivers/rtc/Makefile
++++ b/drivers/rtc/Makefile
+@@ -31,6 +31,7 @@ obj-$(CONFIG_RTC_DRV_DS1553)	+= rtc-ds1553.o
+ obj-$(CONFIG_RTC_DRV_DS1672)	+= rtc-ds1672.o
+ obj-$(CONFIG_RTC_DRV_DS1742)	+= rtc-ds1742.o
+ obj-$(CONFIG_RTC_DRV_EP93XX)	+= rtc-ep93xx.o
++obj-$(CONFIG_RTC_DRV_FM3130)	+= rtc-fm3130.o
+ obj-$(CONFIG_RTC_DRV_ISL1208)	+= rtc-isl1208.o
+ obj-$(CONFIG_RTC_DRV_M41T80)	+= rtc-m41t80.o
+ obj-$(CONFIG_RTC_DRV_M48T59)	+= rtc-m48t59.o
+@@ -41,6 +42,7 @@ obj-$(CONFIG_RTC_DRV_OMAP)	+= rtc-omap.o
+ obj-$(CONFIG_RTC_DRV_PCF8563)	+= rtc-pcf8563.o
+ obj-$(CONFIG_RTC_DRV_PCF8583)	+= rtc-pcf8583.o
+ obj-$(CONFIG_RTC_DRV_PL031)	+= rtc-pl031.o
++obj-$(CONFIG_RTC_DRV_PPC)	+= rtc-ppc.o
+ obj-$(CONFIG_RTC_DRV_R9701)	+= rtc-r9701.o
+ obj-$(CONFIG_RTC_DRV_RS5C313)	+= rtc-rs5c313.o
+ obj-$(CONFIG_RTC_DRV_RS5C348)	+= rtc-rs5c348.o
+@@ -54,4 +56,3 @@ obj-$(CONFIG_RTC_DRV_TEST)	+= rtc-test.o
+ obj-$(CONFIG_RTC_DRV_V3020)	+= rtc-v3020.o
+ obj-$(CONFIG_RTC_DRV_VR41XX)	+= rtc-vr41xx.o
+ obj-$(CONFIG_RTC_DRV_X1205)	+= rtc-x1205.o
+-obj-$(CONFIG_RTC_DRV_PPC)	+= rtc-ppc.o
+diff --git a/drivers/rtc/rtc-at32ap700x.c b/drivers/rtc/rtc-at32ap700x.c
+index 42244f1..2ef8cdf 100644
+--- a/drivers/rtc/rtc-at32ap700x.c
++++ b/drivers/rtc/rtc-at32ap700x.c
+@@ -94,8 +94,11 @@ static int at32_rtc_readalarm(struct device *dev, struct rtc_wkalrm *alrm)
+ {
+ 	struct rtc_at32ap700x *rtc = dev_get_drvdata(dev);
+ 
++	spin_lock_irq(&rtc->lock);
+ 	rtc_time_to_tm(rtc->alarm_time, &alrm->time);
+-	alrm->pending = rtc_readl(rtc, IMR) & RTC_BIT(IMR_TOPI) ? 1 : 0;
++	alrm->enabled = rtc_readl(rtc, IMR) & RTC_BIT(IMR_TOPI) ? 1 : 0;
++	alrm->pending = rtc_readl(rtc, ISR) & RTC_BIT(ISR_TOPI) ? 1 : 0;
++	spin_unlock_irq(&rtc->lock);
+ 
+ 	return 0;
+ }
+@@ -119,7 +122,7 @@ static int at32_rtc_setalarm(struct device *dev, struct rtc_wkalrm *alrm)
+ 	spin_lock_irq(&rtc->lock);
+ 	rtc->alarm_time = alarm_unix_time;
+ 	rtc_writel(rtc, TOP, rtc->alarm_time);
+-	if (alrm->pending)
++	if (alrm->enabled)
+ 		rtc_writel(rtc, CTRL, rtc_readl(rtc, CTRL)
+ 				| RTC_BIT(CTRL_TOPEN));
+ 	else
+diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
+index d060a06..d7bb9ba 100644
+--- a/drivers/rtc/rtc-cmos.c
++++ b/drivers/rtc/rtc-cmos.c
+@@ -905,19 +905,7 @@ static struct pnp_driver cmos_pnp_driver = {
+ 	.resume		= cmos_pnp_resume,
+ };
+ 
+-static int __init cmos_init(void)
+-{
+-	return pnp_register_driver(&cmos_pnp_driver);
+-}
+-module_init(cmos_init);
+-
+-static void __exit cmos_exit(void)
+-{
+-	pnp_unregister_driver(&cmos_pnp_driver);
+-}
+-module_exit(cmos_exit);
+-
+-#else	/* no PNP */
++#endif	/* CONFIG_PNP */
+ 
+ /*----------------------------------------------------------------*/
+ 
+@@ -958,20 +946,33 @@ static struct platform_driver cmos_platform_driver = {
+ 
+ static int __init cmos_init(void)
+ {
++#ifdef	CONFIG_PNP
++	if (pnp_platform_devices)
++		return pnp_register_driver(&cmos_pnp_driver);
++	else
++		return platform_driver_probe(&cmos_platform_driver,
++			cmos_platform_probe);
++#else
+ 	return platform_driver_probe(&cmos_platform_driver,
+ 			cmos_platform_probe);
++#endif /* CONFIG_PNP */
+ }
+ module_init(cmos_init);
+ 
+ static void __exit cmos_exit(void)
+ {
++#ifdef	CONFIG_PNP
++	if (pnp_platform_devices)
++		pnp_unregister_driver(&cmos_pnp_driver);
++	else
++		platform_driver_unregister(&cmos_platform_driver);
++#else
+ 	platform_driver_unregister(&cmos_platform_driver);
++#endif /* CONFIG_PNP */
+ }
+ module_exit(cmos_exit);
+ 
+ 
+-#endif	/* !PNP */
+-
+ MODULE_AUTHOR("David Brownell");
+ MODULE_DESCRIPTION("Driver for PC-style 'CMOS' RTCs");
+ MODULE_LICENSE("GPL");
+diff --git a/drivers/rtc/rtc-fm3130.c b/drivers/rtc/rtc-fm3130.c
+new file mode 100644
+index 0000000..11644c8
+--- /dev/null
++++ b/drivers/rtc/rtc-fm3130.c
+@@ -0,0 +1,501 @@
++/*
++ * rtc-fm3130.c - RTC driver for Ramtron FM3130 I2C chip.
++ *
++ *  Copyright (C) 2008 Sergey Lapin
++ *  Based on ds1307 driver by James Chapman and David Brownell
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ */
++
++#include <linux/module.h>
++#include <linux/i2c.h>
++#include <linux/rtc.h>
++#include <linux/bcd.h>
++
++#define FM3130_RTC_CONTROL	(0x0)
++#define FM3130_CAL_CONTROL	(0x1)
++#define FM3130_RTC_SECONDS	(0x2)
++#define FM3130_RTC_MINUTES	(0x3)
++#define FM3130_RTC_HOURS	(0x4)
++#define FM3130_RTC_DAY		(0x5)
++#define FM3130_RTC_DATE		(0x6)
++#define FM3130_RTC_MONTHS	(0x7)
++#define FM3130_RTC_YEARS	(0x8)
++
++#define FM3130_ALARM_SECONDS	(0x9)
++#define FM3130_ALARM_MINUTES	(0xa)
++#define FM3130_ALARM_HOURS	(0xb)
++#define FM3130_ALARM_DATE	(0xc)
++#define FM3130_ALARM_MONTHS	(0xd)
++#define FM3130_ALARM_WP_CONTROL	(0xe)
++
++#define FM3130_CAL_CONTROL_BIT_nOSCEN (1 << 7) /* Osciallator enabled */
++#define FM3130_RTC_CONTROL_BIT_LB (1 << 7) /* Low battery */
++#define FM3130_RTC_CONTROL_BIT_AF (1 << 6) /* Alarm flag */
++#define FM3130_RTC_CONTROL_BIT_CF (1 << 5) /* Century overflow */
++#define FM3130_RTC_CONTROL_BIT_POR (1 << 4) /* Power on reset */
++#define FM3130_RTC_CONTROL_BIT_AEN (1 << 3) /* Alarm enable */
++#define FM3130_RTC_CONTROL_BIT_CAL (1 << 2) /* Calibration mode */
++#define FM3130_RTC_CONTROL_BIT_WRITE (1 << 1) /* W=1 -> write mode W=0 normal */
++#define FM3130_RTC_CONTROL_BIT_READ (1 << 0) /* R=1 -> read mode R=0 normal */
++
++#define FM3130_CLOCK_REGS 7
++#define FM3130_ALARM_REGS 5
++
++struct fm3130 {
++	u8			reg_addr_time;
++	u8 			reg_addr_alarm;
++	u8			regs[15];
++	struct i2c_msg		msg[4];
++	struct i2c_client	*client;
++	struct rtc_device	*rtc;
++	int			data_valid;
++	int			alarm;
++};
++static const struct i2c_device_id fm3130_id[] = {
++	{ "fm3130-rtc", 0 },
++	{ }
++};
++MODULE_DEVICE_TABLE(i2c, fm3130_id);
++
++#define FM3130_MODE_NORMAL		0
++#define FM3130_MODE_WRITE		1
++#define FM3130_MODE_READ		2
++
++static void fm3130_rtc_mode(struct device *dev, int mode)
++{
++	struct fm3130 *fm3130 = dev_get_drvdata(dev);
++
++	fm3130->regs[FM3130_RTC_CONTROL] =
++		i2c_smbus_read_byte_data(fm3130->client, FM3130_RTC_CONTROL);
++	switch (mode) {
++	case FM3130_MODE_NORMAL:
++		fm3130->regs[FM3130_RTC_CONTROL] &=
++			~(FM3130_RTC_CONTROL_BIT_WRITE |
++			FM3130_RTC_CONTROL_BIT_READ);
++		break;
++	case FM3130_MODE_WRITE:
++		fm3130->regs[FM3130_RTC_CONTROL] |= FM3130_RTC_CONTROL_BIT_WRITE;
++		break;
++	case FM3130_MODE_READ:
++		fm3130->regs[FM3130_RTC_CONTROL] |= FM3130_RTC_CONTROL_BIT_READ;
++		break;
++	default:
++		dev_dbg(dev, "invalid mode %d\n", mode);
++		break;
++	}
++	/* Checking for alarm */
++	if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_AF) {
++		fm3130->alarm = 1;
++		fm3130->regs[FM3130_RTC_CONTROL] &= ~FM3130_RTC_CONTROL_BIT_AF;
++	}
++	i2c_smbus_write_byte_data(fm3130->client,
++		 FM3130_RTC_CONTROL, fm3130->regs[FM3130_RTC_CONTROL]);
++}
++
++static int fm3130_get_time(struct device *dev, struct rtc_time *t)
++{
++	struct fm3130 *fm3130 = dev_get_drvdata(dev);
++	int		tmp;
++
++	if (!fm3130->data_valid) {
++		/* We have invalid data in RTC, probably due
++		to battery faults or other problems. Return EIO
++		for now, it will allow us to set data later insted
++		of error during probing which disables device */
++		return -EIO;
++	}
++	fm3130_rtc_mode(dev, FM3130_MODE_READ);
++
++	/* read the RTC date and time registers all at once */
++	tmp = i2c_transfer(to_i2c_adapter(fm3130->client->dev.parent),
++			fm3130->msg, 2);
++	if (tmp != 2) {
++		dev_err(dev, "%s error %d\n", "read", tmp);
++		return -EIO;
++	}
++
++	fm3130_rtc_mode(dev, FM3130_MODE_NORMAL);
++
++	dev_dbg(dev, "%s: %02x %02x %02x %02x %02x %02x %02x %02x"
++			"%02x %02x %02x %02x %02x %02x %02x\n",
++			"read",
++			fm3130->regs[0], fm3130->regs[1],
++			fm3130->regs[2], fm3130->regs[3],
++			fm3130->regs[4], fm3130->regs[5],
++			fm3130->regs[6], fm3130->regs[7],
++			fm3130->regs[8], fm3130->regs[9],
++			fm3130->regs[0xa], fm3130->regs[0xb],
++			fm3130->regs[0xc], fm3130->regs[0xd],
++			fm3130->regs[0xe]);
++
++	t->tm_sec = BCD2BIN(fm3130->regs[FM3130_RTC_SECONDS] & 0x7f);
++	t->tm_min = BCD2BIN(fm3130->regs[FM3130_RTC_MINUTES] & 0x7f);
++	tmp = fm3130->regs[FM3130_RTC_HOURS] & 0x3f;
++	t->tm_hour = BCD2BIN(tmp);
++	t->tm_wday = BCD2BIN(fm3130->regs[FM3130_RTC_DAY] & 0x07) - 1;
++	t->tm_mday = BCD2BIN(fm3130->regs[FM3130_RTC_DATE] & 0x3f);
++	tmp = fm3130->regs[FM3130_RTC_MONTHS] & 0x1f;
++	t->tm_mon = BCD2BIN(tmp) - 1;
++
++	/* assume 20YY not 19YY, and ignore CF bit */
++	t->tm_year = BCD2BIN(fm3130->regs[FM3130_RTC_YEARS]) + 100;
++
++	dev_dbg(dev, "%s secs=%d, mins=%d, "
++		"hours=%d, mday=%d, mon=%d, year=%d, wday=%d\n",
++		"read", t->tm_sec, t->tm_min,
++		t->tm_hour, t->tm_mday,
++		t->tm_mon, t->tm_year, t->tm_wday);
++
++	/* initial clock setting can be undefined */
++	return rtc_valid_tm(t);
++}
++
++
++static int fm3130_set_time(struct device *dev, struct rtc_time *t)
++{
++	struct fm3130 *fm3130 = dev_get_drvdata(dev);
++	int		tmp, i;
++	u8		*buf = fm3130->regs;
++
++	dev_dbg(dev, "%s secs=%d, mins=%d, "
++		"hours=%d, mday=%d, mon=%d, year=%d, wday=%d\n",
++		"write", t->tm_sec, t->tm_min,
++		t->tm_hour, t->tm_mday,
++		t->tm_mon, t->tm_year, t->tm_wday);
++
++	/* first register addr */
++	buf[FM3130_RTC_SECONDS] = BIN2BCD(t->tm_sec);
++	buf[FM3130_RTC_MINUTES] = BIN2BCD(t->tm_min);
++	buf[FM3130_RTC_HOURS] = BIN2BCD(t->tm_hour);
++	buf[FM3130_RTC_DAY] = BIN2BCD(t->tm_wday + 1);
++	buf[FM3130_RTC_DATE] = BIN2BCD(t->tm_mday);
++	buf[FM3130_RTC_MONTHS] = BIN2BCD(t->tm_mon + 1);
++
++	/* assume 20YY not 19YY */
++	tmp = t->tm_year - 100;
++	buf[FM3130_RTC_YEARS] = BIN2BCD(tmp);
++
++	dev_dbg(dev, "%s: %02x %02x %02x %02x %02x %02x %02x"
++		"%02x %02x %02x %02x %02x %02x %02x %02x\n",
++		"write", buf[0], buf[1], buf[2], buf[3],
++		buf[4], buf[5], buf[6], buf[7],
++		buf[8], buf[9], buf[0xa], buf[0xb],
++		buf[0xc], buf[0xd], buf[0xe]);
++
++	fm3130_rtc_mode(dev, FM3130_MODE_WRITE);
++
++	/* Writing time registers, we don't support multibyte transfers */
++	for (i = 0; i < FM3130_CLOCK_REGS; i++) {
++		i2c_smbus_write_byte_data(fm3130->client,
++					FM3130_RTC_SECONDS + i,
++					fm3130->regs[FM3130_RTC_SECONDS + i]);
++	}
++
++	fm3130_rtc_mode(dev, FM3130_MODE_NORMAL);
++
++	/* We assume here that data are valid once written */
++	if (!fm3130->data_valid)
++		fm3130->data_valid = 1;
++	return 0;
++}
++
++static int fm3130_read_alarm(struct device *dev, struct rtc_wkalrm *alrm)
++{
++	struct fm3130 *fm3130 = dev_get_drvdata(dev);
++	int tmp;
++	struct rtc_time *tm = &alrm->time;
++	/* read the RTC alarm registers all at once */
++	tmp = i2c_transfer(to_i2c_adapter(fm3130->client->dev.parent),
++			&fm3130->msg[2], 2);
++	if (tmp != 2) {
++		dev_err(dev, "%s error %d\n", "read", tmp);
++		return -EIO;
++	}
++	dev_dbg(dev, "alarm read %02x %02x %02x %02x %02x\n",
++			fm3130->regs[FM3130_ALARM_SECONDS],
++			fm3130->regs[FM3130_ALARM_MINUTES],
++			fm3130->regs[FM3130_ALARM_HOURS],
++			fm3130->regs[FM3130_ALARM_DATE],
++			fm3130->regs[FM3130_ALARM_MONTHS]);
++
++
++	tm->tm_sec	= BCD2BIN(fm3130->regs[FM3130_ALARM_SECONDS] & 0x7F);
++	tm->tm_min	= BCD2BIN(fm3130->regs[FM3130_ALARM_MINUTES] & 0x7F);
++	tm->tm_hour	= BCD2BIN(fm3130->regs[FM3130_ALARM_HOURS] & 0x3F);
++	tm->tm_mday	= BCD2BIN(fm3130->regs[FM3130_ALARM_DATE] & 0x3F);
++	tm->tm_mon	= BCD2BIN(fm3130->regs[FM3130_ALARM_MONTHS] & 0x1F);
++	if (tm->tm_mon > 0)
++		tm->tm_mon -= 1; /* RTC is 1-12, tm_mon is 0-11 */
++	dev_dbg(dev, "%s secs=%d, mins=%d, "
++		"hours=%d, mday=%d, mon=%d, year=%d, wday=%d\n",
++		"read alarm", tm->tm_sec, tm->tm_min,
++		tm->tm_hour, tm->tm_mday,
++		tm->tm_mon, tm->tm_year, tm->tm_wday);
++
++	return 0;
++}
++
++static int fm3130_set_alarm(struct device *dev, struct rtc_wkalrm *alrm)
++{
++	struct fm3130 *fm3130 = dev_get_drvdata(dev);
++	struct rtc_time *tm = &alrm->time;
++	int i;
++
++	dev_dbg(dev, "%s secs=%d, mins=%d, "
++		"hours=%d, mday=%d, mon=%d, year=%d, wday=%d\n",
++		"write alarm", tm->tm_sec, tm->tm_min,
++		tm->tm_hour, tm->tm_mday,
++		tm->tm_mon, tm->tm_year, tm->tm_wday);
++
++	if (tm->tm_sec != -1)
++		fm3130->regs[FM3130_ALARM_SECONDS] =
++			BIN2BCD(tm->tm_sec) | 0x80;
++
++	if (tm->tm_min != -1)
++		fm3130->regs[FM3130_ALARM_MINUTES] =
++			BIN2BCD(tm->tm_min) | 0x80;
++
++	if (tm->tm_hour != -1)
++		fm3130->regs[FM3130_ALARM_HOURS] =
++			BIN2BCD(tm->tm_hour) | 0x80;
++
++	if (tm->tm_mday != -1)
++		fm3130->regs[FM3130_ALARM_DATE] =
++			BIN2BCD(tm->tm_mday) | 0x80;
++
++	if (tm->tm_mon != -1)
++		fm3130->regs[FM3130_ALARM_MONTHS] =
++			BIN2BCD(tm->tm_mon + 1) | 0x80;
++
++	dev_dbg(dev, "alarm write %02x %02x %02x %02x %02x\n",
++			fm3130->regs[FM3130_ALARM_SECONDS],
++			fm3130->regs[FM3130_ALARM_MINUTES],
++			fm3130->regs[FM3130_ALARM_HOURS],
++			fm3130->regs[FM3130_ALARM_DATE],
++			fm3130->regs[FM3130_ALARM_MONTHS]);
++	/* Writing time registers, we don't support multibyte transfers */
++	for (i = 0; i < FM3130_ALARM_REGS; i++) {
++		i2c_smbus_write_byte_data(fm3130->client,
++					FM3130_ALARM_SECONDS + i,
++					fm3130->regs[FM3130_ALARM_SECONDS + i]);
++	}
++	fm3130->regs[FM3130_RTC_CONTROL] =
++		i2c_smbus_read_byte_data(fm3130->client, FM3130_RTC_CONTROL);
++	/* Checking for alarm */
++	if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_AF) {
++		fm3130->alarm = 1;
++		fm3130->regs[FM3130_RTC_CONTROL] &= ~FM3130_RTC_CONTROL_BIT_AF;
++	}
++	if (alrm->enabled) {
++		i2c_smbus_write_byte_data(fm3130->client, FM3130_RTC_CONTROL,
++			(fm3130->regs[FM3130_RTC_CONTROL] &
++				~(FM3130_RTC_CONTROL_BIT_CAL)) |
++					FM3130_RTC_CONTROL_BIT_AEN);
++	} else {
++		i2c_smbus_write_byte_data(fm3130->client, FM3130_RTC_CONTROL,
++			fm3130->regs[FM3130_RTC_CONTROL] &
++				~(FM3130_RTC_CONTROL_BIT_AEN));
++	}
++	return 0;
++}
++
++static const struct rtc_class_ops fm3130_rtc_ops = {
++	.read_time	= fm3130_get_time,
++	.set_time	= fm3130_set_time,
++	.read_alarm	= fm3130_read_alarm,
++	.set_alarm	= fm3130_set_alarm,
++};
++
++static struct i2c_driver fm3130_driver;
++
++static int __devinit fm3130_probe(struct i2c_client *client,
++				  const struct i2c_device_id *id)
++{
++	struct fm3130		*fm3130;
++	int			err = -ENODEV;
++	int			tmp;
++	struct i2c_adapter	*adapter = to_i2c_adapter(client->dev.parent);
++
++	if (!i2c_check_functionality(adapter,
++			I2C_FUNC_I2C | I2C_FUNC_SMBUS_WRITE_BYTE_DATA))
++		return -EIO;
++
++	fm3130 = kzalloc(sizeof(struct fm3130), GFP_KERNEL);
++
++	if (!fm3130)
++		return -ENOMEM;
++
++	fm3130->client = client;
++	i2c_set_clientdata(client, fm3130);
++	fm3130->reg_addr_time = FM3130_RTC_SECONDS;
++	fm3130->reg_addr_alarm = FM3130_ALARM_SECONDS;
++
++	/* Messages to read time */
++	fm3130->msg[0].addr = client->addr;
++	fm3130->msg[0].flags = 0;
++	fm3130->msg[0].len = 1;
++	fm3130->msg[0].buf = &fm3130->reg_addr_time;
++
++	fm3130->msg[1].addr = client->addr;
++	fm3130->msg[1].flags = I2C_M_RD;
++	fm3130->msg[1].len = FM3130_CLOCK_REGS;
++	fm3130->msg[1].buf = &fm3130->regs[FM3130_RTC_SECONDS];
++
++	/* Messages to read alarm */
++	fm3130->msg[2].addr = client->addr;
++	fm3130->msg[2].flags = 0;
++	fm3130->msg[2].len = 1;
++	fm3130->msg[2].buf = &fm3130->reg_addr_alarm;
++
++	fm3130->msg[3].addr = client->addr;
++	fm3130->msg[3].flags = I2C_M_RD;
++	fm3130->msg[3].len = FM3130_ALARM_REGS;
++	fm3130->msg[3].buf = &fm3130->regs[FM3130_ALARM_SECONDS];
++
++	fm3130->data_valid = 0;
++
++	tmp = i2c_transfer(adapter, fm3130->msg, 4);
++	if (tmp != 4) {
++		pr_debug("read error %d\n", tmp);
++		err = -EIO;
++		goto exit_free;
++	}
++
++	fm3130->regs[FM3130_RTC_CONTROL] =
++		i2c_smbus_read_byte_data(client, FM3130_RTC_CONTROL);
++	fm3130->regs[FM3130_CAL_CONTROL] =
++		i2c_smbus_read_byte_data(client, FM3130_CAL_CONTROL);
++
++	/* Checking for alarm */
++	if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_AF) {
++		fm3130->alarm = 1;
++		fm3130->regs[FM3130_RTC_CONTROL] &= ~FM3130_RTC_CONTROL_BIT_AF;
++	}
++
++	/* Disabling calibration mode */
++	if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_CAL)
++		i2c_smbus_write_byte_data(client, FM3130_RTC_CONTROL,
++			fm3130->regs[FM3130_RTC_CONTROL] &
++				~(FM3130_RTC_CONTROL_BIT_CAL));
++		dev_warn(&client->dev, "Disabling calibration mode!\n");
++
++	/* Disabling read and write modes */
++	if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_WRITE ||
++	    fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_READ)
++		i2c_smbus_write_byte_data(client, FM3130_RTC_CONTROL,
++			fm3130->regs[FM3130_RTC_CONTROL] &
++				~(FM3130_RTC_CONTROL_BIT_READ |
++					FM3130_RTC_CONTROL_BIT_WRITE));
++		dev_warn(&client->dev, "Disabling READ or WRITE mode!\n");
++
++	/* oscillator off?  turn it on, so clock can tick. */
++	if (fm3130->regs[FM3130_CAL_CONTROL] & FM3130_CAL_CONTROL_BIT_nOSCEN)
++		i2c_smbus_write_byte_data(client, FM3130_CAL_CONTROL,
++			fm3130->regs[FM3130_CAL_CONTROL] &
++				~(FM3130_CAL_CONTROL_BIT_nOSCEN));
++
++	/* oscillator fault?  clear flag, and warn */
++	if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_LB)
++		dev_warn(&client->dev, "Low battery!\n");
++
++	/* oscillator fault?  clear flag, and warn */
++	if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_POR) {
++		i2c_smbus_write_byte_data(client, FM3130_RTC_CONTROL,
++			fm3130->regs[FM3130_RTC_CONTROL] &
++				~FM3130_RTC_CONTROL_BIT_POR);
++		dev_warn(&client->dev, "SET TIME!\n");
++	}
++	/* ACS is controlled by alarm */
++	i2c_smbus_write_byte_data(client, FM3130_ALARM_WP_CONTROL, 0x80);
++
++	/* TODO */
++	/* TODO need to sanity check alarm */
++	tmp = fm3130->regs[FM3130_RTC_SECONDS];
++	tmp = BCD2BIN(tmp & 0x7f);
++	if (tmp > 60)
++		goto exit_bad;
++	tmp = BCD2BIN(fm3130->regs[FM3130_RTC_MINUTES] & 0x7f);
++	if (tmp > 60)
++		goto exit_bad;
++
++	tmp = BCD2BIN(fm3130->regs[FM3130_RTC_DATE] & 0x3f);
++	if (tmp == 0 || tmp > 31)
++		goto exit_bad;
++
++	tmp = BCD2BIN(fm3130->regs[FM3130_RTC_MONTHS] & 0x1f);
++	if (tmp == 0 || tmp > 12)
++		goto exit_bad;
++
++	tmp = fm3130->regs[FM3130_RTC_HOURS];
++
++	fm3130->data_valid = 1;
++
++exit_bad:
++	if (!fm3130->data_valid)
++		dev_dbg(&client->dev,
++				"%s: %02x %02x %02x %02x %02x %02x %02x %02x"
++				"%02x %02x %02x %02x %02x %02x %02x\n",
++			"bogus registers",
++			fm3130->regs[0], fm3130->regs[1],
++			fm3130->regs[2], fm3130->regs[3],
++			fm3130->regs[4], fm3130->regs[5],
++			fm3130->regs[6], fm3130->regs[7],
++			fm3130->regs[8], fm3130->regs[9],
++			fm3130->regs[0xa], fm3130->regs[0xb],
++			fm3130->regs[0xc], fm3130->regs[0xd],
++			fm3130->regs[0xe]);
++
++	/* We won't bail out here because we just got invalid data.
++	   Time setting from u-boot doesn't work anyway */
++	fm3130->rtc = rtc_device_register(client->name, &client->dev,
++				&fm3130_rtc_ops, THIS_MODULE);
++	if (IS_ERR(fm3130->rtc)) {
++		err = PTR_ERR(fm3130->rtc);
++		dev_err(&client->dev,
++			"unable to register the class device\n");
++		goto exit_free;
++	}
++	return 0;
++exit_free:
++	kfree(fm3130);
++	return err;
++}
++
++static int __devexit fm3130_remove(struct i2c_client *client)
++{
++	struct fm3130 *fm3130 = i2c_get_clientdata(client);
++
++	rtc_device_unregister(fm3130->rtc);
++	kfree(fm3130);
++	return 0;
++}
++
++static struct i2c_driver fm3130_driver = {
++	.driver = {
++		.name	= "rtc-fm3130",
++		.owner	= THIS_MODULE,
++	},
++	.probe		= fm3130_probe,
++	.remove		= __devexit_p(fm3130_remove),
++	.id_table	= fm3130_id,
++};
++
++static int __init fm3130_init(void)
++{
++	return i2c_add_driver(&fm3130_driver);
++}
++module_init(fm3130_init);
++
++static void __exit fm3130_exit(void)
++{
++	i2c_del_driver(&fm3130_driver);
++}
++module_exit(fm3130_exit);
++
++MODULE_DESCRIPTION("RTC driver for FM3130");
++MODULE_AUTHOR("Sergey Lapin <slapin at ossfans.org>");
++MODULE_LICENSE("GPL");
++
+diff --git a/drivers/scsi/dpt/dptsig.h b/drivers/scsi/dpt/dptsig.h
+index 72c8992..a6644b3 100644
+--- a/drivers/scsi/dpt/dptsig.h
++++ b/drivers/scsi/dpt/dptsig.h
+@@ -85,7 +85,7 @@ typedef unsigned int sigINT;
+ /* ------------------------------------------------------------------ */
+ /* What type of processor the file is meant to run on. */
+ /* This will let us know whether to read sigWORDs as high/low or low/high. */
+-#define PROC_INTEL      0x00    /* Intel 80x86 */
++#define PROC_INTEL      0x00    /* Intel 80x86/ia64 */
+ #define PROC_MOTOROLA   0x01    /* Motorola 68K */
+ #define PROC_MIPS4000   0x02    /* MIPS RISC 4000 */
+ #define PROC_ALPHA      0x03    /* DEC Alpha */
+@@ -104,6 +104,7 @@ typedef unsigned int sigINT;
+ #define PROC_486        0x08    /* Intel 80486 */
+ #define PROC_PENTIUM    0x10    /* Intel 586 aka P5 aka Pentium */
+ #define PROC_SEXIUM	0x20	/* Intel 686 aka P6 aka Pentium Pro or MMX */
++#define PROC_IA64	0x40	/* Intel IA64 processor */
+ 
+ /* PROC_i960: */
+ #define PROC_960RX      0x01    /* Intel 80960RC/RD */
+diff --git a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c
+index 3690360..c6457bf 100644
+--- a/drivers/scsi/hosts.c
++++ b/drivers/scsi/hosts.c
+@@ -456,6 +456,10 @@ static int __scsi_host_match(struct device *dev, void *data)
+  *
+  * Return value:
+  *	A pointer to located Scsi_Host or NULL.
++ *
++ *	The caller must do a scsi_host_put() to drop the reference
++ *	that scsi_host_get() took. The put_device() below dropped
++ *	the reference from class_find_device().
+  **/
+ struct Scsi_Host *scsi_host_lookup(unsigned short hostnum)
+ {
+@@ -463,9 +467,10 @@ struct Scsi_Host *scsi_host_lookup(unsigned short hostnum)
+ 	struct Scsi_Host *shost = ERR_PTR(-ENXIO);
+ 
+ 	cdev = class_find_device(&shost_class, &hostnum, __scsi_host_match);
+-	if (cdev)
++	if (cdev) {
+ 		shost = scsi_host_get(class_to_shost(cdev));
+-
++		put_device(cdev);
++	}
+ 	return shost;
+ }
+ EXPORT_SYMBOL(scsi_host_lookup);
+diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c
+index 7ee86d4..c82df8b 100644
+--- a/drivers/scsi/sr.c
++++ b/drivers/scsi/sr.c
+@@ -178,6 +178,9 @@ int sr_test_unit_ready(struct scsi_device *sdev, struct scsi_sense_hdr *sshdr)
+ 		the_result = scsi_execute_req(sdev, cmd, DMA_NONE, NULL,
+ 					      0, sshdr, SR_TIMEOUT,
+ 					      retries--);
++		if (scsi_sense_valid(sshdr) &&
++		    sshdr->sense_key == UNIT_ATTENTION)
++			sdev->changed = 1;
+ 
+ 	} while (retries > 0 &&
+ 		 (!scsi_status_is_good(the_result) ||
+diff --git a/drivers/ssb/main.c b/drivers/ssb/main.c
+index 7cf8851..d184f2a 100644
+--- a/drivers/ssb/main.c
++++ b/drivers/ssb/main.c
+@@ -1168,15 +1168,21 @@ EXPORT_SYMBOL(ssb_dma_translation);
+ int ssb_dma_set_mask(struct ssb_device *ssb_dev, u64 mask)
+ {
+ 	struct device *dma_dev = ssb_dev->dma_dev;
++	int err = 0;
+ 
+ #ifdef CONFIG_SSB_PCIHOST
+-	if (ssb_dev->bus->bustype == SSB_BUSTYPE_PCI)
+-		return dma_set_mask(dma_dev, mask);
++	if (ssb_dev->bus->bustype == SSB_BUSTYPE_PCI) {
++		err = pci_set_dma_mask(ssb_dev->bus->host_pci, mask);
++		if (err)
++			return err;
++		err = pci_set_consistent_dma_mask(ssb_dev->bus->host_pci, mask);
++		return err;
++	}
+ #endif
+ 	dma_dev->coherent_dma_mask = mask;
+ 	dma_dev->dma_mask = &dma_dev->coherent_dma_mask;
+ 
+-	return 0;
++	return err;
+ }
+ EXPORT_SYMBOL(ssb_dma_set_mask);
+ 
+diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
+index 3da1ab4..c070b34 100644
+--- a/drivers/usb/core/quirks.c
++++ b/drivers/usb/core/quirks.c
+@@ -47,6 +47,9 @@ static const struct usb_device_id usb_quirk_list[] = {
+ 	/* Edirol SD-20 */
+ 	{ USB_DEVICE(0x0582, 0x0027), .driver_info = USB_QUIRK_RESET_RESUME },
+ 
++	/* appletouch */
++	{ USB_DEVICE(0x05ac, 0x021a), .driver_info = USB_QUIRK_RESET_RESUME },
++
+ 	/* Avision AV600U */
+ 	{ USB_DEVICE(0x0638, 0x0a13), .driver_info =
+ 	  USB_QUIRK_STRING_FETCH_255 },
+diff --git a/drivers/video/cirrusfb.c b/drivers/video/cirrusfb.c
+index 35ac9d9..c14b243 100644
+--- a/drivers/video/cirrusfb.c
++++ b/drivers/video/cirrusfb.c
+@@ -2432,9 +2432,9 @@ static int cirrusfb_pci_register(struct pci_dev *pdev,
+ 	info->screen_size = board_size;
+ 	cinfo->unmap = cirrusfb_pci_unmap;
+ 
+-	printk(KERN_INFO " RAM (%lu kB) at 0xx%lx, ",
+-		info->screen_size >> 10, board_addr);
+-	printk(KERN_INFO "Cirrus Logic chipset on PCI bus\n");
++	printk(KERN_INFO "RAM (%lu kB) at 0x%lx, Cirrus "
++			"Logic chipset on PCI bus\n",
++			info->screen_size >> 10, board_addr);
+ 	pci_set_drvdata(pdev, info);
+ 
+ 	ret = cirrusfb_register(info);
+diff --git a/drivers/video/hgafb.c b/drivers/video/hgafb.c
+index fb9e672..c18880d 100644
+--- a/drivers/video/hgafb.c
++++ b/drivers/video/hgafb.c
+@@ -279,7 +279,7 @@ static void hga_blank(int blank_mode)
+ 
+ static int __init hga_card_detect(void)
+ {
+-	int count=0;
++	int count = 0;
+ 	void __iomem *p, *q;
+ 	unsigned short p_save, q_save;
+ 
+@@ -303,20 +303,18 @@ static int __init hga_card_detect(void)
+ 	writew(0x55aa, p); if (readw(p) == 0x55aa) count++;
+ 	writew(p_save, p);
+ 
+-	if (count != 2) {
+-		return 0;
+-	}
++	if (count != 2)
++		goto error;
+ 
+ 	/* Ok, there is definitely a card registering at the correct
+ 	 * memory location, so now we do an I/O port test.
+ 	 */
+ 	
+-	if (!test_hga_b(0x66, 0x0f)) {	    /* cursor low register */
+-		return 0;
+-	}
+-	if (!test_hga_b(0x99, 0x0f)) {     /* cursor low register */
+-		return 0;
+-	}
++	if (!test_hga_b(0x66, 0x0f))	    /* cursor low register */
++		goto error;
++
++	if (!test_hga_b(0x99, 0x0f))     /* cursor low register */
++		goto error;
+ 
+ 	/* See if the card is a Hercules, by checking whether the vsync
+ 	 * bit of the status register is changing.  This test lasts for
+@@ -331,7 +329,7 @@ static int __init hga_card_detect(void)
+ 	}
+ 
+ 	if (p_save == q_save) 
+-		return 0;
++		goto error;
+ 
+ 	switch (inb_p(HGA_STATUS_PORT) & 0x70) {
+ 		case 0x10:
+@@ -348,6 +346,12 @@ static int __init hga_card_detect(void)
+ 			break;
+ 	}
+ 	return 1;
++error:
++	if (release_io_ports)
++		release_region(0x3b0, 12);
++	if (release_io_port)
++		release_region(0x3bf, 1);
++	return 0;
+ }
+ 
+ /**
+diff --git a/drivers/video/leo.c b/drivers/video/leo.c
+index 8bc46e9..13fea61 100644
+--- a/drivers/video/leo.c
++++ b/drivers/video/leo.c
+@@ -17,8 +17,8 @@
+ #include <linux/fb.h>
+ #include <linux/mm.h>
+ #include <linux/of_device.h>
++#include <linux/io.h>
+ 
+-#include <asm/io.h>
+ #include <asm/fbio.h>
+ 
+ #include "sbuslib.h"
+@@ -33,7 +33,6 @@ static int leo_blank(int, struct fb_info *);
+ 
+ static int leo_mmap(struct fb_info *, struct vm_area_struct *);
+ static int leo_ioctl(struct fb_info *, unsigned int, unsigned long);
+-static int leo_pan_display(struct fb_var_screeninfo *, struct fb_info *);
+ 
+ /*
+  *  Frame buffer operations
+@@ -43,7 +42,6 @@ static struct fb_ops leo_ops = {
+ 	.owner			= THIS_MODULE,
+ 	.fb_setcolreg		= leo_setcolreg,
+ 	.fb_blank		= leo_blank,
+-	.fb_pan_display		= leo_pan_display,
+ 	.fb_fillrect		= cfb_fillrect,
+ 	.fb_copyarea		= cfb_copyarea,
+ 	.fb_imageblit		= cfb_imageblit,
+@@ -78,7 +76,7 @@ static struct fb_ops leo_ops = {
+ #define LEO_CUR_TYPE_CMAP	0x00000050
+ 
+ struct leo_cursor {
+-	u8		xxx0[16];
++	u8	xxx0[16];
+ 	u32	cur_type;
+ 	u32	cur_misc;
+ 	u32	cur_cursxy;
+@@ -105,7 +103,7 @@ struct leo_lx_krn {
+ 
+ struct leo_lc_ss0_krn {
+ 	u32 	misc;
+-	u8		xxx0[0x800-4];
++	u8	xxx0[0x800-4];
+ 	u32	rev;
+ };
+ 
+@@ -116,7 +114,7 @@ struct leo_lc_ss0_usr {
+ 	u32	fontt;
+ 	u32	extent;
+ 	u32	src;
+-	u32		dst;
++	u32	dst;
+ 	u32	copy;
+ 	u32	fill;
+ };
+@@ -129,8 +127,8 @@ struct leo_lc_ss1_usr {
+ 	u8	unknown;
+ };
+ 
+-struct leo_ld {
+-	u8		xxx0[0xe00];
++struct leo_ld_ss0 {
++	u8	xxx0[0xe00];
+ 	u32	csr;
+ 	u32	wid;
+ 	u32	wmask;
+@@ -144,13 +142,13 @@ struct leo_ld {
+ 	u32	src;		/* Copy/Scroll (SS0 only) */
+ 	u32	dst;		/* Copy/Scroll/Fill (SS0 only) */
+ 	u32	extent;		/* Copy/Scroll/Fill size (SS0 only) */
+-	u32		xxx1[3];
++	u32	xxx1[3];
+ 	u32	setsem;		/* SS1 only */
+ 	u32	clrsem;		/* SS1 only */
+ 	u32	clrpick;	/* SS1 only */
+ 	u32	clrdat;		/* SS1 only */
+ 	u32	alpha;		/* SS1 only */
+-	u8		xxx2[0x2c];
++	u8	xxx2[0x2c];
+ 	u32	winbg;
+ 	u32	planemask;
+ 	u32	rop;
+@@ -199,11 +197,12 @@ struct leo_par {
+ static void leo_wait(struct leo_lx_krn __iomem *lx_krn)
+ {
+ 	int i;
+-	
++
+ 	for (i = 0;
+-	     (sbus_readl(&lx_krn->krn_csr) & LEO_KRN_CSR_PROGRESS) && i < 300000;
++	     (sbus_readl(&lx_krn->krn_csr) & LEO_KRN_CSR_PROGRESS) &&
++	     i < 300000;
+ 	     i++)
+-		udelay (1); /* Busy wait at most 0.3 sec */
++		udelay(1); /* Busy wait at most 0.3 sec */
+ 	return;
+ }
+ 
+@@ -221,7 +220,7 @@ static int leo_setcolreg(unsigned regno,
+ 			 unsigned transp, struct fb_info *info)
+ {
+ 	struct leo_par *par = (struct leo_par *) info->par;
+-        struct leo_lx_krn __iomem *lx_krn = par->lx_krn;
++	struct leo_lx_krn __iomem *lx_krn = par->lx_krn;
+ 	unsigned long flags;
+ 	u32 val;
+ 	int i;
+@@ -408,7 +407,7 @@ static void leo_wid_put(struct fb_info *info, struct fb_wid_list *wl)
+ 	leo_wait(lx_krn);
+ 
+ 	for (i = 0, wi = wl->wl_list; i < wl->wl_count; i++, wi++) {
+-		switch(wi->wi_type) {
++		switch (wi->wi_type) {
+ 		case FB_WID_DBL_8:
+ 			j = (wi->wi_index & 0xf) + 0x40;
+ 			break;
+@@ -453,13 +452,12 @@ static void leo_init_wids(struct fb_info *info)
+ 	wi.wi_index = 1;
+ 	wi.wi_values [0] = 0x30;
+ 	leo_wid_put(info, &wl);
+-
+ }
+ 
+ static void leo_switch_from_graph(struct fb_info *info)
+ {
+ 	struct leo_par *par = (struct leo_par *) info->par;
+-	struct leo_ld __iomem *ss = (struct leo_ld __iomem *) par->ld_ss0;
++	struct leo_ld_ss0 __iomem *ss = par->ld_ss0;
+ 	unsigned long flags;
+ 	u32 val;
+ 
+@@ -485,19 +483,13 @@ static void leo_switch_from_graph(struct fb_info *info)
+ 		val = sbus_readl(&par->lc_ss0_usr->csr);
+ 	} while (val & 0x20000000);
+ 
+-	spin_unlock_irqrestore(&par->lock, flags);
+-}
+-
+-static int leo_pan_display(struct fb_var_screeninfo *var, struct fb_info *info)
+-{
+-	/* We just use this to catch switches out of
+-	 * graphics mode.
+-	 */
+-	leo_switch_from_graph(info);
++	/* setup screen buffer for cfb_* functions */
++	sbus_writel(1, &ss->wid);
++	sbus_writel(0x00ffffff, &ss->planemask);
++	sbus_writel(0x310b90, &ss->rop);
++	sbus_writel(0, &par->lc_ss0_usr->addrspace);
+ 
+-	if (var->xoffset || var->yoffset || var->vmode)
+-		return -EINVAL;
+-	return 0;
++	spin_unlock_irqrestore(&par->lock, flags);
+ }
+ 
+ static void leo_init_hw(struct fb_info *info)
+@@ -542,7 +534,8 @@ static void leo_unmap_regs(struct of_device *op, struct fb_info *info,
+ 		of_iounmap(&op->resource[0], info->screen_base, 0x800000);
+ }
+ 
+-static int __devinit leo_probe(struct of_device *op, const struct of_device_id *match)
++static int __devinit leo_probe(struct of_device *op,
++			       const struct of_device_id *match)
+ {
+ 	struct device_node *dp = op->node;
+ 	struct fb_info *info;
+@@ -594,8 +587,9 @@ static int __devinit leo_probe(struct of_device *op, const struct of_device_id *
+ 	    !info->screen_base)
+ 		goto out_unmap_regs;
+ 
+-	info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
++	info->flags = FBINFO_DEFAULT;
+ 	info->fbops = &leo_ops;
++	info->pseudo_palette = par->clut_data;
+ 
+ 	leo_init_wids(info);
+ 	leo_init_hw(info);
+@@ -649,7 +643,7 @@ static int __devexit leo_remove(struct of_device *op)
+ 
+ static struct of_device_id leo_match[] = {
+ 	{
+-		.name = "leo",
++		.name = "SUNW,leo",
+ 	},
+ 	{},
+ };
+diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c
+index 274bc93..7dcda18 100644
+--- a/drivers/video/pxafb.c
++++ b/drivers/video/pxafb.c
+@@ -573,8 +573,8 @@ static int setup_frame_dma(struct pxafb_info *fbi, int dma, int pal,
+ 		dma_desc->fdadr = fbi->dma_buff_phys + dma_desc_off;
+ 		fbi->fdadr[dma] = fbi->dma_buff_phys + dma_desc_off;
+ 	} else {
+-		pal_desc = &fbi->dma_buff->pal_desc[dma];
+-		pal_desc_off = offsetof(struct pxafb_dma_buff, dma_desc[pal]);
++		pal_desc = &fbi->dma_buff->pal_desc[pal];
++		pal_desc_off = offsetof(struct pxafb_dma_buff, pal_desc[pal]);
+ 
+ 		pal_desc->fsadr = fbi->dma_buff_phys + pal * PALETTE_SIZE;
+ 		pal_desc->fidr  = 0;
+@@ -1276,6 +1276,8 @@ static int __init pxafb_map_video_memory(struct pxafb_info *fbi)
+ 		fbi->dma_buff_phys = fbi->map_dma;
+ 		fbi->palette_cpu = (u16 *) fbi->dma_buff->palette;
+ 
++	        pr_debug("pxafb: palette_mem_size = 0x%08lx\n", fbi->palette_size*sizeof(u16));
++
+ #ifdef CONFIG_FB_PXA_SMARTPANEL
+ 		fbi->smart_cmds = (uint16_t *) fbi->dma_buff->cmd_buff;
+ 		fbi->n_smart_cmds = 0;
+diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c
+index 0f3c2bb..7084e7e 100644
+--- a/drivers/virtio/virtio.c
++++ b/drivers/virtio/virtio.c
+@@ -124,9 +124,9 @@ static int virtio_dev_probe(struct device *_d)
+ 	if (err)
+ 		add_status(dev, VIRTIO_CONFIG_S_FAILED);
+ 	else {
+-		add_status(dev, VIRTIO_CONFIG_S_DRIVER_OK);
+ 		/* They should never have set feature bits beyond 32 */
+ 		dev->config->set_features(dev, dev->features[0]);
++		add_status(dev, VIRTIO_CONFIG_S_DRIVER_OK);
+ 	}
+ 	return err;
+ }
+diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile
+index 25b352b..8662a6b 100644
+--- a/drivers/watchdog/Makefile
++++ b/drivers/watchdog/Makefile
+@@ -68,6 +68,7 @@ obj-$(CONFIG_WAFER_WDT) += wafer5823wdt.o
+ obj-$(CONFIG_I6300ESB_WDT) += i6300esb.o
+ obj-$(CONFIG_ITCO_WDT) += iTCO_wdt.o iTCO_vendor_support.o
+ obj-$(CONFIG_IT8712F_WDT) += it8712f_wdt.o
++CFLAGS_hpwdt.o += -O
+ obj-$(CONFIG_HP_WATCHDOG) += hpwdt.o
+ obj-$(CONFIG_SC1200_WDT) += sc1200wdt.o
+ obj-$(CONFIG_SCx200_WDT) += scx200_wdt.o
+diff --git a/drivers/watchdog/hpwdt.c b/drivers/watchdog/hpwdt.c
+index 6a63535..2686f3e 100644
+--- a/drivers/watchdog/hpwdt.c
++++ b/drivers/watchdog/hpwdt.c
+@@ -145,8 +145,8 @@ MODULE_DEVICE_TABLE(pci, hpwdt_devices);
+ 
+ #define HPWDT_ARCH	32
+ 
+-static void asminline_call(struct cmn_registers *pi86Regs,
+-			   unsigned long *pRomEntry)
++asmlinkage void asminline_call(struct cmn_registers *pi86Regs,
++			       unsigned long *pRomEntry)
+ {
+ 	asm("pushl       %ebp               \n\t"
+ 	    "movl        %esp, %ebp         \n\t"
+@@ -333,8 +333,8 @@ static int __devinit detect_cru_service(void)
+ 
+ #define HPWDT_ARCH	64
+ 
+-static void asminline_call(struct cmn_registers *pi86Regs,
+-			   unsigned long *pRomEntry)
++asmlinkage void asminline_call(struct cmn_registers *pi86Regs,
++			       unsigned long *pRomEntry)
+ {
+ 	asm("pushq      %rbp            \n\t"
+ 	    "movq       %rsp, %rbp      \n\t"
+@@ -418,20 +418,23 @@ static int hpwdt_pretimeout(struct notifier_block *nb, unsigned long ulReason,
+ 	static unsigned long rom_pl;
+ 	static int die_nmi_called;
+ 
+-	if (ulReason == DIE_NMI || ulReason == DIE_NMI_IPI) {
+-		spin_lock_irqsave(&rom_lock, rom_pl);
+-		if (!die_nmi_called)
+-			asminline_call(&cmn_regs, cru_rom_addr);
+-		die_nmi_called = 1;
+-		spin_unlock_irqrestore(&rom_lock, rom_pl);
+-		if (cmn_regs.u1.ral != 0) {
+-			panic("An NMI occurred, please see the Integrated "
+-			      "Management Log for details.\n");
+-		}
++	if (ulReason != DIE_NMI && ulReason != DIE_NMI_IPI)
++		return NOTIFY_OK;
++
++	spin_lock_irqsave(&rom_lock, rom_pl);
++	if (!die_nmi_called)
++		asminline_call(&cmn_regs, cru_rom_addr);
++	die_nmi_called = 1;
++	spin_unlock_irqrestore(&rom_lock, rom_pl);
++	if (cmn_regs.u1.ral == 0) {
++		printk(KERN_WARNING "hpwdt: An NMI occurred, "
++		       "but unable to determine source.\n");
++	} else {
++		panic("An NMI occurred, please see the Integrated "
++			"Management Log for details.\n");
+ 	}
+ 
+-	die_nmi_called = 0;
+-	return NOTIFY_DONE;
++	return NOTIFY_STOP;
+ }
+ 
+ /*
+diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
+index 0fa95b1..d48ff5f 100644
+--- a/fs/binfmt_elf.c
++++ b/fs/binfmt_elf.c
+@@ -16,7 +16,6 @@
+ #include <linux/time.h>
+ #include <linux/mm.h>
+ #include <linux/mman.h>
+-#include <linux/a.out.h>
+ #include <linux/errno.h>
+ #include <linux/signal.h>
+ #include <linux/binfmts.h>
+@@ -548,7 +547,6 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
+ 	struct {
+ 		struct elfhdr elf_ex;
+ 		struct elfhdr interp_elf_ex;
+-  		struct exec interp_ex;
+ 	} *loc;
+ 
+ 	loc = kmalloc(sizeof(*loc), GFP_KERNEL);
+@@ -680,7 +678,6 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
+ 			}
+ 
+ 			/* Get the exec headers */
+-			loc->interp_ex = *((struct exec *)bprm->buf);
+ 			loc->interp_elf_ex = *((struct elfhdr *)bprm->buf);
+ 			break;
+ 		}
+diff --git a/fs/exec.c b/fs/exec.c
+index 9448f1b..da94a6f 100644
+--- a/fs/exec.c
++++ b/fs/exec.c
+@@ -26,7 +26,6 @@
+ #include <linux/file.h>
+ #include <linux/fdtable.h>
+ #include <linux/mman.h>
+-#include <linux/a.out.h>
+ #include <linux/stat.h>
+ #include <linux/fcntl.h>
+ #include <linux/smp_lock.h>
+@@ -61,6 +60,11 @@
+ #include <linux/kmod.h>
+ #endif
+ 
++#ifdef __alpha__
++/* for /sbin/loader handling in search_binary_handler() */
++#include <linux/a.out.h>
++#endif
++
+ int core_uses_pid;
+ char core_pattern[CORENAME_MAX_SIZE] = "core";
+ int suid_dumpable = 0;
+@@ -1155,7 +1159,7 @@ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs)
+ {
+ 	int try,retval;
+ 	struct linux_binfmt *fmt;
+-#if defined(__alpha__) && defined(CONFIG_ARCH_SUPPORTS_AOUT)
++#ifdef __alpha__
+ 	/* handle /sbin/loader.. */
+ 	{
+ 	    struct exec * eh = (struct exec *) bprm->buf;
+diff --git a/fs/fat/file.c b/fs/fat/file.c
+index 27cc116..771326b 100644
+--- a/fs/fat/file.c
++++ b/fs/fat/file.c
+@@ -257,26 +257,34 @@ int fat_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
+ }
+ EXPORT_SYMBOL_GPL(fat_getattr);
+ 
+-static int fat_check_mode(const struct msdos_sb_info *sbi, struct inode *inode,
+-			  mode_t mode)
++static int fat_sanitize_mode(const struct msdos_sb_info *sbi,
++			     struct inode *inode, umode_t *mode_ptr)
+ {
+-	mode_t mask, req = mode & ~S_IFMT;
++	mode_t mask, perm;
+ 
+-	if (S_ISREG(mode))
++	/*
++	 * Note, the basic check is already done by a caller of
++	 * (attr->ia_mode & ~MSDOS_VALID_MODE)
++	 */
++
++	if (S_ISREG(inode->i_mode))
+ 		mask = sbi->options.fs_fmask;
+ 	else
+ 		mask = sbi->options.fs_dmask;
+ 
++	perm = *mode_ptr & ~(S_IFMT | mask);
++
+ 	/*
+ 	 * Of the r and x bits, all (subject to umask) must be present. Of the
+ 	 * w bits, either all (subject to umask) or none must be present.
+ 	 */
+-	req &= ~mask;
+-	if ((req & (S_IRUGO | S_IXUGO)) != (inode->i_mode & (S_IRUGO|S_IXUGO)))
++	if ((perm & (S_IRUGO | S_IXUGO)) != (inode->i_mode & (S_IRUGO|S_IXUGO)))
+ 		return -EPERM;
+-	if ((req & S_IWUGO) && ((req & S_IWUGO) != (S_IWUGO & ~mask)))
++	if ((perm & S_IWUGO) && ((perm & S_IWUGO) != (S_IWUGO & ~mask)))
+ 		return -EPERM;
+ 
++	*mode_ptr &= S_IFMT | perm;
++
+ 	return 0;
+ }
+ 
+@@ -299,7 +307,7 @@ int fat_setattr(struct dentry *dentry, struct iattr *attr)
+ {
+ 	struct msdos_sb_info *sbi = MSDOS_SB(dentry->d_sb);
+ 	struct inode *inode = dentry->d_inode;
+-	int mask, error = 0;
++	int error = 0;
+ 	unsigned int ia_valid;
+ 
+ 	lock_kernel();
+@@ -332,12 +340,13 @@ int fat_setattr(struct dentry *dentry, struct iattr *attr)
+ 			error = 0;
+ 		goto out;
+ 	}
++
+ 	if (((attr->ia_valid & ATTR_UID) &&
+ 	     (attr->ia_uid != sbi->options.fs_uid)) ||
+ 	    ((attr->ia_valid & ATTR_GID) &&
+ 	     (attr->ia_gid != sbi->options.fs_gid)) ||
+ 	    ((attr->ia_valid & ATTR_MODE) &&
+-	     fat_check_mode(sbi, inode, attr->ia_mode) < 0))
++	     (attr->ia_mode & ~MSDOS_VALID_MODE)))
+ 		error = -EPERM;
+ 
+ 	if (error) {
+@@ -346,15 +355,16 @@ int fat_setattr(struct dentry *dentry, struct iattr *attr)
+ 		goto out;
+ 	}
+ 
+-	error = inode_setattr(inode, attr);
+-	if (error)
+-		goto out;
++	/*
++	 * We don't return -EPERM here. Yes, strange, but this is too
++	 * old behavior.
++	 */
++	if (attr->ia_valid & ATTR_MODE) {
++		if (fat_sanitize_mode(sbi, inode, &attr->ia_mode) < 0)
++			attr->ia_valid &= ~ATTR_MODE;
++	}
+ 
+-	if (S_ISDIR(inode->i_mode))
+-		mask = sbi->options.fs_dmask;
+-	else
+-		mask = sbi->options.fs_fmask;
+-	inode->i_mode &= S_IFMT | (S_IRWXUGO & ~mask);
++	error = inode_setattr(inode, attr);
+ out:
+ 	unlock_kernel();
+ 	return error;
+diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
+index 43e9951..3141690 100644
+--- a/fs/fuse/inode.c
++++ b/fs/fuse/inode.c
+@@ -591,7 +591,7 @@ static void process_init_reply(struct fuse_conn *fc, struct fuse_req *req)
+ 		fc->bdi.ra_pages = min(fc->bdi.ra_pages, ra_pages);
+ 		fc->minor = arg->minor;
+ 		fc->max_write = arg->minor < 5 ? 4096 : arg->max_write;
+-		fc->max_write = min_t(unsigned, 4096, fc->max_write);
++		fc->max_write = max_t(unsigned, 4096, fc->max_write);
+ 		fc->conn_init = 1;
+ 	}
+ 	fuse_put_request(fc, req);
+@@ -667,7 +667,7 @@ static int fuse_fill_super(struct super_block *sb, void *data, int silent)
+ 	fc->flags = d.flags;
+ 	fc->user_id = d.user_id;
+ 	fc->group_id = d.group_id;
+-	fc->max_read = min_t(unsigned, 4096, d.max_read);
++	fc->max_read = max_t(unsigned, 4096, d.max_read);
+ 
+ 	/* Used by get_root_inode() */
+ 	sb->s_fs_info = fc;
+diff --git a/fs/ocfs2/cluster/nodemanager.c b/fs/ocfs2/cluster/nodemanager.c
+index cf9401e..cfdb08b 100644
+--- a/fs/ocfs2/cluster/nodemanager.c
++++ b/fs/ocfs2/cluster/nodemanager.c
+@@ -21,7 +21,6 @@
+ 
+ #include <linux/kernel.h>
+ #include <linux/module.h>
+-#include <linux/sysctl.h>
+ #include <linux/configfs.h>
+ 
+ #include "tcp.h"
+@@ -36,65 +35,6 @@
+  * cluster references throughout where nodes are looked up */
+ struct o2nm_cluster *o2nm_single_cluster = NULL;
+ 
+-#define OCFS2_MAX_HB_CTL_PATH 256
+-static char ocfs2_hb_ctl_path[OCFS2_MAX_HB_CTL_PATH] = "/sbin/ocfs2_hb_ctl";
+-
+-static ctl_table ocfs2_nm_table[] = {
+-	{
+-		.ctl_name	= 1,
+-		.procname	= "hb_ctl_path",
+-		.data		= ocfs2_hb_ctl_path,
+-		.maxlen		= OCFS2_MAX_HB_CTL_PATH,
+-		.mode		= 0644,
+-		.proc_handler	= &proc_dostring,
+-		.strategy	= &sysctl_string,
+-	},
+-	{ .ctl_name = 0 }
+-};
+-
+-static ctl_table ocfs2_mod_table[] = {
+-	{
+-		.ctl_name	= FS_OCFS2_NM,
+-		.procname	= "nm",
+-		.data		= NULL,
+-		.maxlen		= 0,
+-		.mode		= 0555,
+-		.child		= ocfs2_nm_table
+-	},
+-	{ .ctl_name = 0}
+-};
+-
+-static ctl_table ocfs2_kern_table[] = {
+-	{
+-		.ctl_name	= FS_OCFS2,
+-		.procname	= "ocfs2",
+-		.data		= NULL,
+-		.maxlen		= 0,
+-		.mode		= 0555,
+-		.child		= ocfs2_mod_table
+-	},
+-	{ .ctl_name = 0}
+-};
+-
+-static ctl_table ocfs2_root_table[] = {
+-	{
+-		.ctl_name	= CTL_FS,
+-		.procname	= "fs",
+-		.data		= NULL,
+-		.maxlen		= 0,
+-		.mode		= 0555,
+-		.child		= ocfs2_kern_table
+-	},
+-	{ .ctl_name = 0 }
+-};
+-
+-static struct ctl_table_header *ocfs2_table_header = NULL;
+-
+-const char *o2nm_get_hb_ctl_path(void)
+-{
+-	return ocfs2_hb_ctl_path;
+-}
+-EXPORT_SYMBOL_GPL(o2nm_get_hb_ctl_path);
+ 
+ struct o2nm_node *o2nm_get_node_by_num(u8 node_num)
+ {
+@@ -941,9 +881,6 @@ void o2nm_undepend_this_node(void)
+ 
+ static void __exit exit_o2nm(void)
+ {
+-	if (ocfs2_table_header)
+-		unregister_sysctl_table(ocfs2_table_header);
+-
+ 	/* XXX sync with hb callbacks and shut down hb? */
+ 	o2net_unregister_hb_callbacks();
+ 	configfs_unregister_subsystem(&o2nm_cluster_group.cs_subsys);
+@@ -964,16 +901,9 @@ static int __init init_o2nm(void)
+ 	if (ret)
+ 		goto out;
+ 
+-	ocfs2_table_header = register_sysctl_table(ocfs2_root_table);
+-	if (!ocfs2_table_header) {
+-		printk(KERN_ERR "nodemanager: unable to register sysctl\n");
+-		ret = -ENOMEM; /* or something. */
+-		goto out_o2net;
+-	}
+-
+ 	ret = o2net_register_hb_callbacks();
+ 	if (ret)
+-		goto out_sysctl;
++		goto out_o2net;
+ 
+ 	config_group_init(&o2nm_cluster_group.cs_subsys.su_group);
+ 	mutex_init(&o2nm_cluster_group.cs_subsys.su_mutex);
+@@ -990,8 +920,6 @@ static int __init init_o2nm(void)
+ 	configfs_unregister_subsystem(&o2nm_cluster_group.cs_subsys);
+ out_callbacks:
+ 	o2net_unregister_hb_callbacks();
+-out_sysctl:
+-	unregister_sysctl_table(ocfs2_table_header);
+ out_o2net:
+ 	o2net_exit();
+ out:
+diff --git a/fs/ocfs2/cluster/nodemanager.h b/fs/ocfs2/cluster/nodemanager.h
+index 7c86036..c992ea0 100644
+--- a/fs/ocfs2/cluster/nodemanager.h
++++ b/fs/ocfs2/cluster/nodemanager.h
+@@ -33,10 +33,6 @@
+ #include <linux/configfs.h>
+ #include <linux/rbtree.h>
+ 
+-#define FS_OCFS2_NM		1
+-
+-const char *o2nm_get_hb_ctl_path(void);
+-
+ struct o2nm_node {
+ 	spinlock_t		nd_lock;
+ 	struct config_item	nd_item;
+diff --git a/fs/ocfs2/stack_o2cb.c b/fs/ocfs2/stack_o2cb.c
+index bbd1667..fcd120f 100644
+--- a/fs/ocfs2/stack_o2cb.c
++++ b/fs/ocfs2/stack_o2cb.c
+@@ -317,8 +317,7 @@ out:
+ 	return rc;
+ }
+ 
+-static int o2cb_cluster_disconnect(struct ocfs2_cluster_connection *conn,
+-				   int hangup_pending)
++static int o2cb_cluster_disconnect(struct ocfs2_cluster_connection *conn)
+ {
+ 	struct dlm_ctxt *dlm = conn->cc_lockspace;
+ 	struct o2dlm_private *priv = conn->cc_private;
+@@ -333,43 +332,6 @@ static int o2cb_cluster_disconnect(struct ocfs2_cluster_connection *conn,
+ 	return 0;
+ }
+ 
+-static void o2hb_stop(const char *group)
+-{
+-	int ret;
+-	char *argv[5], *envp[3];
+-
+-	argv[0] = (char *)o2nm_get_hb_ctl_path();
+-	argv[1] = "-K";
+-	argv[2] = "-u";
+-	argv[3] = (char *)group;
+-	argv[4] = NULL;
+-
+-	mlog(0, "Run: %s %s %s %s\n", argv[0], argv[1], argv[2], argv[3]);
+-
+-	/* minimal command environment taken from cpu_run_sbin_hotplug */
+-	envp[0] = "HOME=/";
+-	envp[1] = "PATH=/sbin:/bin:/usr/sbin:/usr/bin";
+-	envp[2] = NULL;
+-
+-	ret = call_usermodehelper(argv[0], argv, envp, UMH_WAIT_PROC);
+-	if (ret < 0)
+-		mlog_errno(ret);
+-}
+-
+-/*
+- * Hangup is a hack for tools compatibility.  Older ocfs2-tools software
+- * expects the filesystem to call "ocfs2_hb_ctl" during unmount.  This
+- * happens regardless of whether the DLM got started, so we can't do it
+- * in ocfs2_cluster_disconnect().  We bring the o2hb_stop() function into
+- * the glue and provide a "hangup" API for super.c to call.
+- *
+- * Other stacks will eventually provide a NULL ->hangup() pointer.
+- */
+-static void o2cb_cluster_hangup(const char *group, int grouplen)
+-{
+-	o2hb_stop(group);
+-}
+-
+ static int o2cb_cluster_this_node(unsigned int *node)
+ {
+ 	int node_num;
+@@ -388,7 +350,6 @@ static int o2cb_cluster_this_node(unsigned int *node)
+ static struct ocfs2_stack_operations o2cb_stack_ops = {
+ 	.connect	= o2cb_cluster_connect,
+ 	.disconnect	= o2cb_cluster_disconnect,
+-	.hangup		= o2cb_cluster_hangup,
+ 	.this_node	= o2cb_cluster_this_node,
+ 	.dlm_lock	= o2cb_dlm_lock,
+ 	.dlm_unlock	= o2cb_dlm_unlock,
+diff --git a/fs/ocfs2/stack_user.c b/fs/ocfs2/stack_user.c
+index 6b97d11..c021280 100644
+--- a/fs/ocfs2/stack_user.c
++++ b/fs/ocfs2/stack_user.c
+@@ -816,8 +816,7 @@ out:
+ 	return rc;
+ }
+ 
+-static int user_cluster_disconnect(struct ocfs2_cluster_connection *conn,
+-				   int hangup_pending)
++static int user_cluster_disconnect(struct ocfs2_cluster_connection *conn)
+ {
+ 	dlm_release_lockspace(conn->cc_lockspace, 2);
+ 	conn->cc_lockspace = NULL;
+diff --git a/fs/ocfs2/stackglue.c b/fs/ocfs2/stackglue.c
+index 119f60c..10e149a 100644
+--- a/fs/ocfs2/stackglue.c
++++ b/fs/ocfs2/stackglue.c
+@@ -26,6 +26,7 @@
+ #include <linux/fs.h>
+ #include <linux/kobject.h>
+ #include <linux/sysfs.h>
++#include <linux/sysctl.h>
+ 
+ #include "ocfs2_fs.h"
+ 
+@@ -33,11 +34,13 @@
+ 
+ #define OCFS2_STACK_PLUGIN_O2CB		"o2cb"
+ #define OCFS2_STACK_PLUGIN_USER		"user"
++#define OCFS2_MAX_HB_CTL_PATH		256
+ 
+ static struct ocfs2_locking_protocol *lproto;
+ static DEFINE_SPINLOCK(ocfs2_stack_lock);
+ static LIST_HEAD(ocfs2_stack_list);
+ static char cluster_stack_name[OCFS2_STACK_LABEL_LEN + 1];
++static char ocfs2_hb_ctl_path[OCFS2_MAX_HB_CTL_PATH] = "/sbin/ocfs2_hb_ctl";
+ 
+ /*
+  * The stack currently in use.  If not null, active_stack->sp_count > 0,
+@@ -349,7 +352,7 @@ int ocfs2_cluster_disconnect(struct ocfs2_cluster_connection *conn,
+ 
+ 	BUG_ON(conn == NULL);
+ 
+-	ret = active_stack->sp_ops->disconnect(conn, hangup_pending);
++	ret = active_stack->sp_ops->disconnect(conn);
+ 
+ 	/* XXX Should we free it anyway? */
+ 	if (!ret) {
+@@ -362,13 +365,48 @@ int ocfs2_cluster_disconnect(struct ocfs2_cluster_connection *conn,
+ }
+ EXPORT_SYMBOL_GPL(ocfs2_cluster_disconnect);
+ 
++/*
++ * Leave the group for this filesystem.  This is executed by a userspace
++ * program (stored in ocfs2_hb_ctl_path).
++ */
++static void ocfs2_leave_group(const char *group)
++{
++	int ret;
++	char *argv[5], *envp[3];
++
++	argv[0] = ocfs2_hb_ctl_path;
++	argv[1] = "-K";
++	argv[2] = "-u";
++	argv[3] = (char *)group;
++	argv[4] = NULL;
++
++	/* minimal command environment taken from cpu_run_sbin_hotplug */
++	envp[0] = "HOME=/";
++	envp[1] = "PATH=/sbin:/bin:/usr/sbin:/usr/bin";
++	envp[2] = NULL;
++
++	ret = call_usermodehelper(argv[0], argv, envp, UMH_WAIT_PROC);
++	if (ret < 0) {
++		printk(KERN_ERR
++		       "ocfs2: Error %d running user helper "
++		       "\"%s %s %s %s\"\n",
++		       ret, argv[0], argv[1], argv[2], argv[3]);
++	}
++}
++
++/*
++ * Hangup is a required post-umount.  ocfs2-tools software expects the
++ * filesystem to call "ocfs2_hb_ctl" during unmount.  This happens
++ * regardless of whether the DLM got started, so we can't do it
++ * in ocfs2_cluster_disconnect().  The ocfs2_leave_group() function does
++ * the actual work.
++ */
+ void ocfs2_cluster_hangup(const char *group, int grouplen)
+ {
+ 	BUG_ON(group == NULL);
+ 	BUG_ON(group[grouplen] != '\0');
+ 
+-	if (active_stack->sp_ops->hangup)
+-		active_stack->sp_ops->hangup(group, grouplen);
++	ocfs2_leave_group(group);
+ 
+ 	/* cluster_disconnect() was called with hangup_pending==1 */
+ 	ocfs2_stack_driver_put();
+@@ -548,10 +586,83 @@ error:
+ 	return ret;
+ }
+ 
++/*
++ * Sysctl bits
++ *
++ * The sysctl lives at /proc/sys/fs/ocfs2/nm/hb_ctl_path.  The 'nm' doesn't
++ * make as much sense in a multiple cluster stack world, but it's safer
++ * and easier to preserve the name.
++ */
++
++#define FS_OCFS2_NM		1
++
++static ctl_table ocfs2_nm_table[] = {
++	{
++		.ctl_name	= 1,
++		.procname	= "hb_ctl_path",
++		.data		= ocfs2_hb_ctl_path,
++		.maxlen		= OCFS2_MAX_HB_CTL_PATH,
++		.mode		= 0644,
++		.proc_handler	= &proc_dostring,
++		.strategy	= &sysctl_string,
++	},
++	{ .ctl_name = 0 }
++};
++
++static ctl_table ocfs2_mod_table[] = {
++	{
++		.ctl_name	= FS_OCFS2_NM,
++		.procname	= "nm",
++		.data		= NULL,
++		.maxlen		= 0,
++		.mode		= 0555,
++		.child		= ocfs2_nm_table
++	},
++	{ .ctl_name = 0}
++};
++
++static ctl_table ocfs2_kern_table[] = {
++	{
++		.ctl_name	= FS_OCFS2,
++		.procname	= "ocfs2",
++		.data		= NULL,
++		.maxlen		= 0,
++		.mode		= 0555,
++		.child		= ocfs2_mod_table
++	},
++	{ .ctl_name = 0}
++};
++
++static ctl_table ocfs2_root_table[] = {
++	{
++		.ctl_name	= CTL_FS,
++		.procname	= "fs",
++		.data		= NULL,
++		.maxlen		= 0,
++		.mode		= 0555,
++		.child		= ocfs2_kern_table
++	},
++	{ .ctl_name = 0 }
++};
++
++static struct ctl_table_header *ocfs2_table_header = NULL;
++
++
++/*
++ * Initialization
++ */
++
+ static int __init ocfs2_stack_glue_init(void)
+ {
+ 	strcpy(cluster_stack_name, OCFS2_STACK_PLUGIN_O2CB);
+ 
++	ocfs2_table_header = register_sysctl_table(ocfs2_root_table);
++	if (!ocfs2_table_header) {
++		printk(KERN_ERR
++		       "ocfs2 stack glue: unable to register sysctl\n");
++		return -ENOMEM; /* or something. */
++	}
++
+ 	return ocfs2_sysfs_init();
+ }
+ 
+@@ -559,6 +670,8 @@ static void __exit ocfs2_stack_glue_exit(void)
+ {
+ 	lproto = NULL;
+ 	ocfs2_sysfs_exit();
++	if (ocfs2_table_header)
++		unregister_sysctl_table(ocfs2_table_header);
+ }
+ 
+ MODULE_AUTHOR("Oracle");
+diff --git a/fs/ocfs2/stackglue.h b/fs/ocfs2/stackglue.h
+index 005e4f1..db56281 100644
+--- a/fs/ocfs2/stackglue.h
++++ b/fs/ocfs2/stackglue.h
+@@ -134,22 +134,10 @@ struct ocfs2_stack_operations {
+ 	 * be freed.  Thus, a stack must not return from ->disconnect()
+ 	 * until it will no longer reference the conn pointer.
+ 	 *
+-	 * If hangup_pending is zero, ocfs2_cluster_disconnect() will also
+-	 * be dropping the reference on the module.
++	 * Once this call returns, the stack glue will be dropping this
++	 * connection's reference on the module.
+ 	 */
+-	int (*disconnect)(struct ocfs2_cluster_connection *conn,
+-			  int hangup_pending);
+-
+-	/*
+-	 * ocfs2_cluster_hangup() exists for compatibility with older
+-	 * ocfs2 tools.  Only the classic stack really needs it.  As such
+-	 * ->hangup() is not required of all stacks.  See the comment by
+-	 * ocfs2_cluster_hangup() for more details.
+-	 *
+-	 * Note that ocfs2_cluster_hangup() can only be called if
+-	 * hangup_pending was passed to ocfs2_cluster_disconnect().
+-	 */
+-	void (*hangup)(const char *group, int grouplen);
++	int (*disconnect)(struct ocfs2_cluster_connection *conn);
+ 
+ 	/*
+ 	 * ->this_node() returns the cluster's unique identifier for the
+@@ -258,4 +246,5 @@ void ocfs2_stack_glue_set_locking_protocol(struct ocfs2_locking_protocol *proto)
+ /* Used by stack plugins */
+ int ocfs2_stack_glue_register(struct ocfs2_stack_plugin *plugin);
+ void ocfs2_stack_glue_unregister(struct ocfs2_stack_plugin *plugin);
++
+ #endif  /* STACKGLUE_H */
+diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
+index 1740362..ab8ccc9 100644
+--- a/fs/proc/task_mmu.c
++++ b/fs/proc/task_mmu.c
+@@ -315,9 +315,9 @@ struct mem_size_stats {
+ };
+ 
+ static int smaps_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
+-			   void *private)
++			   struct mm_walk *walk)
+ {
+-	struct mem_size_stats *mss = private;
++	struct mem_size_stats *mss = walk->private;
+ 	struct vm_area_struct *vma = mss->vma;
+ 	pte_t *pte, ptent;
+ 	spinlock_t *ptl;
+@@ -365,19 +365,21 @@ static int smaps_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
+ 	return 0;
+ }
+ 
+-static struct mm_walk smaps_walk = { .pmd_entry = smaps_pte_range };
+-
+ static int show_smap(struct seq_file *m, void *v)
+ {
+ 	struct vm_area_struct *vma = v;
+ 	struct mem_size_stats mss;
+ 	int ret;
++	struct mm_walk smaps_walk = {
++		.pmd_entry = smaps_pte_range,
++		.mm = vma->vm_mm,
++		.private = &mss,
++	};
+ 
+ 	memset(&mss, 0, sizeof mss);
+ 	mss.vma = vma;
+ 	if (vma->vm_mm && !is_vm_hugetlb_page(vma))
+-		walk_page_range(vma->vm_mm, vma->vm_start, vma->vm_end,
+-				&smaps_walk, &mss);
++		walk_page_range(vma->vm_start, vma->vm_end, &smaps_walk);
+ 
+ 	ret = show_map(m, v);
+ 	if (ret)
+@@ -426,9 +428,9 @@ const struct file_operations proc_smaps_operations = {
+ };
+ 
+ static int clear_refs_pte_range(pmd_t *pmd, unsigned long addr,
+-				unsigned long end, void *private)
++				unsigned long end, struct mm_walk *walk)
+ {
+-	struct vm_area_struct *vma = private;
++	struct vm_area_struct *vma = walk->private;
+ 	pte_t *pte, ptent;
+ 	spinlock_t *ptl;
+ 	struct page *page;
+@@ -452,8 +454,6 @@ static int clear_refs_pte_range(pmd_t *pmd, unsigned long addr,
+ 	return 0;
+ }
+ 
+-static struct mm_walk clear_refs_walk = { .pmd_entry = clear_refs_pte_range };
+-
+ static ssize_t clear_refs_write(struct file *file, const char __user *buf,
+ 				size_t count, loff_t *ppos)
+ {
+@@ -476,11 +476,17 @@ static ssize_t clear_refs_write(struct file *file, const char __user *buf,
+ 		return -ESRCH;
+ 	mm = get_task_mm(task);
+ 	if (mm) {
++		static struct mm_walk clear_refs_walk;
++		memset(&clear_refs_walk, 0, sizeof(clear_refs_walk));
++		clear_refs_walk.pmd_entry = clear_refs_pte_range;
++		clear_refs_walk.mm = mm;
+ 		down_read(&mm->mmap_sem);
+-		for (vma = mm->mmap; vma; vma = vma->vm_next)
++		for (vma = mm->mmap; vma; vma = vma->vm_next) {
++			clear_refs_walk.private = vma;
+ 			if (!is_vm_hugetlb_page(vma))
+-				walk_page_range(mm, vma->vm_start, vma->vm_end,
+-						&clear_refs_walk, vma);
++				walk_page_range(vma->vm_start, vma->vm_end,
++						&clear_refs_walk);
++		}
+ 		flush_tlb_mm(mm);
+ 		up_read(&mm->mmap_sem);
+ 		mmput(mm);
+@@ -528,9 +534,9 @@ static int add_to_pagemap(unsigned long addr, u64 pfn,
+ }
+ 
+ static int pagemap_pte_hole(unsigned long start, unsigned long end,
+-				void *private)
++				struct mm_walk *walk)
+ {
+-	struct pagemapread *pm = private;
++	struct pagemapread *pm = walk->private;
+ 	unsigned long addr;
+ 	int err = 0;
+ 	for (addr = start; addr < end; addr += PAGE_SIZE) {
+@@ -547,24 +553,45 @@ static u64 swap_pte_to_pagemap_entry(pte_t pte)
+ 	return swp_type(e) | (swp_offset(e) << MAX_SWAPFILES_SHIFT);
+ }
+ 
++static unsigned long pte_to_pagemap_entry(pte_t pte)
++{
++	unsigned long pme = 0;
++	if (is_swap_pte(pte))
++		pme = PM_PFRAME(swap_pte_to_pagemap_entry(pte))
++			| PM_PSHIFT(PAGE_SHIFT) | PM_SWAP;
++	else if (pte_present(pte))
++		pme = PM_PFRAME(pte_pfn(pte))
++			| PM_PSHIFT(PAGE_SHIFT) | PM_PRESENT;
++	return pme;
++}
++
+ static int pagemap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
+-			     void *private)
++			     struct mm_walk *walk)
+ {
+-	struct pagemapread *pm = private;
++	struct vm_area_struct *vma;
++	struct pagemapread *pm = walk->private;
+ 	pte_t *pte;
+ 	int err = 0;
+ 
++	/* find the first VMA at or above 'addr' */
++	vma = find_vma(walk->mm, addr);
+ 	for (; addr != end; addr += PAGE_SIZE) {
+ 		u64 pfn = PM_NOT_PRESENT;
+-		pte = pte_offset_map(pmd, addr);
+-		if (is_swap_pte(*pte))
+-			pfn = PM_PFRAME(swap_pte_to_pagemap_entry(*pte))
+-				| PM_PSHIFT(PAGE_SHIFT) | PM_SWAP;
+-		else if (pte_present(*pte))
+-			pfn = PM_PFRAME(pte_pfn(*pte))
+-				| PM_PSHIFT(PAGE_SHIFT) | PM_PRESENT;
+-		/* unmap so we're not in atomic when we copy to userspace */
+-		pte_unmap(pte);
++
++		/* check to see if we've left 'vma' behind
++		 * and need a new, higher one */
++		if (vma && (addr >= vma->vm_end))
++			vma = find_vma(walk->mm, addr);
++
++		/* check that 'vma' actually covers this address,
++		 * and that it isn't a huge page vma */
++		if (vma && (vma->vm_start <= addr) &&
++		    !is_vm_hugetlb_page(vma)) {
++			pte = pte_offset_map(pmd, addr);
++			pfn = pte_to_pagemap_entry(*pte);
++			/* unmap before userspace copy */
++			pte_unmap(pte);
++		}
+ 		err = add_to_pagemap(addr, pfn, pm);
+ 		if (err)
+ 			return err;
+@@ -675,8 +702,8 @@ static ssize_t pagemap_read(struct file *file, char __user *buf,
+ 		 * user buffer is tracked in "pm", and the walk
+ 		 * will stop when we hit the end of the buffer.
+ 		 */
+-		ret = walk_page_range(mm, start_vaddr, end_vaddr,
+-					&pagemap_walk, &pm);
++		ret = walk_page_range(start_vaddr, end_vaddr,
++					&pagemap_walk);
+ 		if (ret == PM_END_OF_BUFFER)
+ 			ret = 0;
+ 		/* don't need mmap_sem for these, but this looks cleaner */
+diff --git a/fs/udf/udfdecl.h b/fs/udf/udfdecl.h
+index 8fa9c2d..8ec865d 100644
+--- a/fs/udf/udfdecl.h
++++ b/fs/udf/udfdecl.h
+@@ -16,7 +16,7 @@
+ #define UDF_PREALLOCATE
+ #define UDF_DEFAULT_PREALLOC_BLOCKS	8
+ 
+-#define UDFFS_DEBUG
++#undef UDFFS_DEBUG
+ 
+ #ifdef UDFFS_DEBUG
+ #define udf_debug(f, a...) \
+diff --git a/include/asm-arm/arch-pxa/regs-lcd.h b/include/asm-arm/arch-pxa/regs-lcd.h
+index f762493..3ba464c 100644
+--- a/include/asm-arm/arch-pxa/regs-lcd.h
++++ b/include/asm-arm/arch-pxa/regs-lcd.h
+@@ -1,5 +1,8 @@
+ #ifndef __ASM_ARCH_REGS_LCD_H
+ #define __ASM_ARCH_REGS_LCD_H
++
++#include <asm/arch/bitfield.h>
++
+ /*
+  * LCD Controller Registers and Bits Definitions
+  */
+@@ -69,7 +72,7 @@
+ #define LCCR0_QDM	(1 << 11)	/* LCD Quick Disable mask */
+ #define LCCR0_PDD	(0xff << 12)	/* Palette DMA request delay */
+ #define LCCR0_PDD_S	12
+-#define LCCR0_BM	(1 << 20) 	/* Branch mask */
++#define LCCR0_BM	(1 << 20)	/* Branch mask */
+ #define LCCR0_OUM	(1 << 21)	/* Output FIFO underrun mask */
+ #define LCCR0_LCDT	(1 << 22)	/* LCD panel type */
+ #define LCCR0_RDSTM	(1 << 23)	/* Read status interrupt mask */
+diff --git a/include/asm-ia64/sn/simulator.h b/include/asm-ia64/sn/simulator.h
+index c3fd3eb..c2611f6 100644
+--- a/include/asm-ia64/sn/simulator.h
++++ b/include/asm-ia64/sn/simulator.h
+@@ -8,7 +8,7 @@
+ #ifndef _ASM_IA64_SN_SIMULATOR_H
+ #define _ASM_IA64_SN_SIMULATOR_H
+ 
+-
++#if defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_SGI_SN2) || defined(CONFIG_IA64_SGI_UV)
+ #define SNMAGIC 0xaeeeeeee8badbeefL
+ #define IS_MEDUSA()			({long sn; asm("mov %0=cpuid[%1]" : "=r"(sn) : "r"(2)); sn == SNMAGIC;})
+ 
+@@ -16,5 +16,10 @@
+ #define IS_RUNNING_ON_SIMULATOR()	(sn_prom_type)
+ #define IS_RUNNING_ON_FAKE_PROM()	(sn_prom_type == 2)
+ extern int sn_prom_type;		/* 0=hardware, 1=medusa/realprom, 2=medusa/fakeprom */
++#else
++#define IS_MEDUSA()			0
++#define SIMULATOR_SLEEP()
++#define IS_RUNNING_ON_SIMULATOR()	0
++#endif
+ 
+ #endif /* _ASM_IA64_SN_SIMULATOR_H */
+diff --git a/include/asm-m68k/bitops.h b/include/asm-m68k/bitops.h
+index 83d1f28..3e81064 100644
+--- a/include/asm-m68k/bitops.h
++++ b/include/asm-m68k/bitops.h
+@@ -410,8 +410,49 @@ static inline int ext2_find_next_zero_bit(const void *vaddr, unsigned size,
+ 	res = ext2_find_first_zero_bit (p, size - 32 * (p - addr));
+ 	return (p - addr) * 32 + res;
+ }
+-#define ext2_find_next_bit(addr, size, off) \
+-	generic_find_next_le_bit((unsigned long *)(addr), (size), (off))
++
++static inline int ext2_find_first_bit(const void *vaddr, unsigned size)
++{
++	const unsigned long *p = vaddr, *addr = vaddr;
++	int res;
++
++	if (!size)
++		return 0;
++
++	size = (size >> 5) + ((size & 31) > 0);
++	while (*p++ == 0UL) {
++		if (--size == 0)
++			return (p - addr) << 5;
++	}
++
++	--p;
++	for (res = 0; res < 32; res++)
++		if (ext2_test_bit(res, p))
++			break;
++	return (p - addr) * 32 + res;
++}
++
++static inline int ext2_find_next_bit(const void *vaddr, unsigned size,
++				     unsigned offset)
++{
++	const unsigned long *addr = vaddr;
++	const unsigned long *p = addr + (offset >> 5);
++	int bit = offset & 31UL, res;
++
++	if (offset >= size)
++		return size;
++
++	if (bit) {
++		/* Look for one in first longword */
++		for (res = bit; res < 32; res++)
++			if (ext2_test_bit(res, p))
++				return (p - addr) * 32 + res;
++		p++;
++	}
++	/* No set bit yet, search remaining full bytes for a set bit */
++	res = ext2_find_first_bit(p, size - 32 * (p - addr));
++	return (p - addr) * 32 + res;
++}
+ 
+ #endif /* __KERNEL__ */
+ 
+diff --git a/include/asm-mips/cpu-info.h b/include/asm-mips/cpu-info.h
+index 0c5a358..2de73db 100644
+--- a/include/asm-mips/cpu-info.h
++++ b/include/asm-mips/cpu-info.h
+@@ -56,7 +56,7 @@ struct cpuinfo_mips {
+ 	struct cache_desc	tcache;	/* Tertiary/split secondary cache */
+ 	int			srsets;	/* Shadow register sets */
+ 	int			core;	/* physical core number */
+-#if defined(CONFIG_MIPS_MT_SMTC)
++#if defined(CONFIG_MIPS_MT_SMP) || defined(CONFIG_MIPS_MT_SMTC)
+ 	/*
+ 	 * In the MIPS MT "SMTC" model, each TC is considered
+ 	 * to be a "CPU" for the purposes of scheduling, but
+@@ -64,7 +64,7 @@ struct cpuinfo_mips {
+ 	 * to all TCs within the same VPE.
+ 	 */
+ 	int			vpe_id;  /* Virtual Processor number */
+-#endif /* CONFIG_MIPS_MT */
++#endif
+ #ifdef CONFIG_MIPS_MT_SMTC
+ 	int			tc_id;   /* Thread Context number */
+ #endif
+diff --git a/include/asm-mips/gic.h b/include/asm-mips/gic.h
+index 3a492f2..954807d 100644
+--- a/include/asm-mips/gic.h
++++ b/include/asm-mips/gic.h
+@@ -24,8 +24,8 @@
+ 
+ #define MSK(n) ((1 << (n)) - 1)
+ #define REG32(addr)		(*(volatile unsigned int *) (addr))
+-#define REG(base, offs)		REG32((unsigned int)(base) + offs##_##OFS)
+-#define REGP(base, phys)	REG32((unsigned int)(base) + (phys))
++#define REG(base, offs)		REG32((unsigned long)(base) + offs##_##OFS)
++#define REGP(base, phys)	REG32((unsigned long)(base) + (phys))
+ 
+ /* Accessors */
+ #define GIC_REG(segment, offset) \
+diff --git a/include/asm-mips/lasat/serial.h b/include/asm-mips/lasat/serial.h
+index bafe68b..1c37d70 100644
+--- a/include/asm-mips/lasat/serial.h
++++ b/include/asm-mips/lasat/serial.h
+@@ -4,10 +4,10 @@
+ #define LASAT_BASE_BAUD_100 		(7372800 / 16)
+ #define LASAT_UART_REGS_BASE_100	0x1c8b0000
+ #define LASAT_UART_REGS_SHIFT_100	2
+-#define LASATINT_UART_100		8
++#define LASATINT_UART_100		16
+ 
+ /* * LASAT 200 boards serial configuration */
+ #define LASAT_BASE_BAUD_200		(100000000 / 16 / 12)
+ #define LASAT_UART_REGS_BASE_200	(Vrc5074_PHYS_BASE + 0x0300)
+ #define LASAT_UART_REGS_SHIFT_200	3
+-#define LASATINT_UART_200		13
++#define LASATINT_UART_200		21
+diff --git a/include/asm-mips/mach-au1x00/au1000.h b/include/asm-mips/mach-au1x00/au1000.h
+index 1b5064d..0d302ba 100644
+--- a/include/asm-mips/mach-au1x00/au1000.h
++++ b/include/asm-mips/mach-au1x00/au1000.h
+@@ -615,6 +615,7 @@ enum soc_au1500_ints {
+ 	AU1000_RTC_MATCH1_INT,
+ 	AU1000_RTC_MATCH2_INT,
+ 	AU1500_PCI_ERR_INT,
++	AU1500_RESERVED_INT,
+ 	AU1000_USB_DEV_REQ_INT,
+ 	AU1000_USB_DEV_SUS_INT,
+ 	AU1000_USB_HOST_INT,
+diff --git a/include/asm-mips/pgtable-bits.h b/include/asm-mips/pgtable-bits.h
+index 60e2f93..51b34a4 100644
+--- a/include/asm-mips/pgtable-bits.h
++++ b/include/asm-mips/pgtable-bits.h
+@@ -134,6 +134,4 @@
+ 
+ #define _PAGE_CHG_MASK  (PAGE_MASK | _PAGE_ACCESSED | _PAGE_MODIFIED | _CACHE_MASK)
+ 
+-#define CONF_CM_DEFAULT		(PAGE_CACHABLE_DEFAULT>>_CACHE_SHIFT)
+-
+ #endif /* _ASM_PGTABLE_BITS_H */
+diff --git a/include/asm-parisc/checksum.h b/include/asm-parisc/checksum.h
+index cc3ec1b..e9639cc 100644
+--- a/include/asm-parisc/checksum.h
++++ b/include/asm-parisc/checksum.h
+@@ -65,7 +65,7 @@ static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl)
+ "2:\n"
+ 	: "=r" (sum), "=r" (iph), "=r" (ihl)
+ 	: "1" (iph), "2" (ihl)
+-	: "r19", "r20", "r21" );
++	: "r19", "r20", "r21", "memory");
+ 
+ 	return (__force __sum16)sum;
+ }
+diff --git a/include/asm-powerpc/mediabay.h b/include/asm-powerpc/mediabay.h
+index df111c3..b2efb33 100644
+--- a/include/asm-powerpc/mediabay.h
++++ b/include/asm-powerpc/mediabay.h
+@@ -17,8 +17,6 @@
+ #define MB_POWER	6	/* media bay contains a Power device (???) */
+ #define MB_NO		7	/* media bay contains nothing */
+ 
+-int check_media_bay(struct device_node *which_bay, int what);
+-
+ /* Number of bays in the machine or 0 */
+ extern int media_bay_count;
+ 
+@@ -29,6 +27,16 @@ int check_media_bay_by_base(unsigned long base, int what);
+ /* called by IDE PMAC host driver to register IDE controller for media bay */
+ int media_bay_set_ide_infos(struct device_node *which_bay, unsigned long base,
+ 			    int irq, ide_hwif_t *hwif);
++
++int check_media_bay(struct device_node *which_bay, int what);
++
++#else
++
++static inline int check_media_bay(struct device_node *which_bay, int what)
++{
++	return -ENODEV;
++}
++
+ #endif
+ 
+ #endif /* __KERNEL__ */
+diff --git a/include/asm-powerpc/spu.h b/include/asm-powerpc/spu.h
+index 6abead6..99348c1 100644
+--- a/include/asm-powerpc/spu.h
++++ b/include/asm-powerpc/spu.h
+@@ -131,7 +131,6 @@ struct spu {
+ 	u64 flags;
+ 	u64 class_0_pending;
+ 	u64 class_0_dar;
+-	u64 class_0_dsisr;
+ 	u64 class_1_dar;
+ 	u64 class_1_dsisr;
+ 	size_t ls_size;
+diff --git a/include/asm-powerpc/spu_csa.h b/include/asm-powerpc/spu_csa.h
+index 129ec14..a40fd49 100644
+--- a/include/asm-powerpc/spu_csa.h
++++ b/include/asm-powerpc/spu_csa.h
+@@ -254,7 +254,7 @@ struct spu_state {
+ 	u64 spu_chnldata_RW[32];
+ 	u32 spu_mailbox_data[4];
+ 	u32 pu_mailbox_data[1];
+-	u64 class_0_dar, class_0_dsisr, class_0_pending;
++	u64 class_0_dar, class_0_pending;
+ 	u64 class_1_dar, class_1_dsisr;
+ 	unsigned long suspend_time;
+ 	spinlock_t register_lock;
+diff --git a/include/asm-powerpc/system.h b/include/asm-powerpc/system.h
+index 2b6559a..5235f87 100644
+--- a/include/asm-powerpc/system.h
++++ b/include/asm-powerpc/system.h
+@@ -34,7 +34,7 @@
+  * SMP since it is only used to order updates to system memory.
+  */
+ #define mb()   __asm__ __volatile__ ("sync" : : : "memory")
+-#define rmb()  __asm__ __volatile__ (__stringify(LWSYNC) : : : "memory")
++#define rmb()  __asm__ __volatile__ ("sync" : : : "memory")
+ #define wmb()  __asm__ __volatile__ ("sync" : : : "memory")
+ #define read_barrier_depends()  do { } while(0)
+ 
+diff --git a/include/linux/Kbuild b/include/linux/Kbuild
+index 93b9885..b6fbb25 100644
+--- a/include/linux/Kbuild
++++ b/include/linux/Kbuild
+@@ -166,6 +166,9 @@ unifdef-y += acct.h
+ unifdef-y += adb.h
+ unifdef-y += adfs_fs.h
+ unifdef-y += agpgart.h
++ifeq ($(wildcard include/asm-$(SRCARCH)/a.out.h),include/asm-$(SRCARCH)/a.out.h)
++unifdef-y += a.out.h
++endif
+ unifdef-y += apm_bios.h
+ unifdef-y += atalk.h
+ unifdef-y += atmdev.h
+diff --git a/include/linux/a.out.h b/include/linux/a.out.h
+index 208f4e8..e86dfca 100644
+--- a/include/linux/a.out.h
++++ b/include/linux/a.out.h
+@@ -1,8 +1,6 @@
+ #ifndef __A_OUT_GNU_H__
+ #define __A_OUT_GNU_H__
+ 
+-#ifdef CONFIG_ARCH_SUPPORTS_AOUT
+-
+ #define __GNU_EXEC_MACROS__
+ 
+ #ifndef __STRUCT_EXEC_OVERRIDE__
+@@ -277,10 +275,4 @@ struct relocation_info
+ #endif /* no N_RELOCATION_INFO_DECLARED.  */
+ 
+ #endif /*__ASSEMBLY__ */
+-#else /* CONFIG_ARCH_SUPPORTS_AOUT */
+-#ifndef __ASSEMBLY__
+-struct exec {
+-};
+-#endif
+-#endif /* CONFIG_ARCH_SUPPORTS_AOUT */
+ #endif /* __A_OUT_GNU_H__ */
+diff --git a/include/linux/agp_backend.h b/include/linux/agp_backend.h
+index 661d90d..972b12b 100644
+--- a/include/linux/agp_backend.h
++++ b/include/linux/agp_backend.h
+@@ -30,14 +30,6 @@
+ #ifndef _AGP_BACKEND_H
+ #define _AGP_BACKEND_H 1
+ 
+-#ifndef TRUE
+-#define TRUE 1
+-#endif
+-
+-#ifndef FALSE
+-#define FALSE 0
+-#endif
+-
+ enum chipset_type {
+ 	NOT_SUPPORTED,
+ 	SUPPORTED,
+@@ -57,7 +49,7 @@ struct agp_kern_info {
+ 	size_t aper_size;
+ 	int max_memory;		/* In pages */
+ 	int current_memory;
+-	int cant_use_aperture;
++	bool cant_use_aperture;
+ 	unsigned long page_mask;
+ 	struct vm_operations_struct *vm_ops;
+ };
+@@ -83,9 +75,9 @@ struct agp_memory {
+ 	off_t pg_start;
+ 	u32 type;
+ 	u32 physical;
+-	u8 is_bound;
+-	u8 is_flushed;
+-        u8 vmalloc_flag;
++	bool is_bound;
++	bool is_flushed;
++        bool vmalloc_flag;
+ };
+ 
+ #define AGP_NORMAL_MEMORY 0
+diff --git a/include/linux/agpgart.h b/include/linux/agpgart.h
+index 62aef58..c8fdb6e 100644
+--- a/include/linux/agpgart.h
++++ b/include/linux/agpgart.h
+@@ -206,8 +206,8 @@ struct agp_front_data {
+ 	struct agp_controller *current_controller;
+ 	struct agp_controller *controllers;
+ 	struct agp_file_private *file_priv_list;
+-	u8 used_by_controller;
+-	u8 backend_acquired;
++	bool used_by_controller;
++	bool backend_acquired;
+ };
+ 
+ #endif				/* __KERNEL__ */
+diff --git a/include/linux/if_tunnel.h b/include/linux/if_tunnel.h
+index f1fbe9c..d4efe40 100644
+--- a/include/linux/if_tunnel.h
++++ b/include/linux/if_tunnel.h
+@@ -41,7 +41,7 @@ struct ip_tunnel_prl {
+ 	__u16			__reserved;
+ 	__u32			datalen;
+ 	__u32			__reserved2;
+-	void __user		*data;
++	/* data follows */
+ };
+ 
+ /* PRL flags */
+diff --git a/include/linux/mm.h b/include/linux/mm.h
+index c31a9cd..586a943 100644
+--- a/include/linux/mm.h
++++ b/include/linux/mm.h
+@@ -760,16 +760,17 @@ unsigned long unmap_vmas(struct mmu_gather **tlb,
+  * (see walk_page_range for more details)
+  */
+ struct mm_walk {
+-	int (*pgd_entry)(pgd_t *, unsigned long, unsigned long, void *);
+-	int (*pud_entry)(pud_t *, unsigned long, unsigned long, void *);
+-	int (*pmd_entry)(pmd_t *, unsigned long, unsigned long, void *);
+-	int (*pte_entry)(pte_t *, unsigned long, unsigned long, void *);
+-	int (*pte_hole)(unsigned long, unsigned long, void *);
++	int (*pgd_entry)(pgd_t *, unsigned long, unsigned long, struct mm_walk *);
++	int (*pud_entry)(pud_t *, unsigned long, unsigned long, struct mm_walk *);
++	int (*pmd_entry)(pmd_t *, unsigned long, unsigned long, struct mm_walk *);
++	int (*pte_entry)(pte_t *, unsigned long, unsigned long, struct mm_walk *);
++	int (*pte_hole)(unsigned long, unsigned long, struct mm_walk *);
++	struct mm_struct *mm;
++	void *private;
+ };
+ 
+-int walk_page_range(const struct mm_struct *, unsigned long addr,
+-		    unsigned long end, const struct mm_walk *walk,
+-		    void *private);
++int walk_page_range(unsigned long addr, unsigned long end,
++		struct mm_walk *walk);
+ void free_pgd_range(struct mmu_gather **tlb, unsigned long addr,
+ 		unsigned long end, unsigned long floor, unsigned long ceiling);
+ void free_pgtables(struct mmu_gather **tlb, struct vm_area_struct *start_vma,
+diff --git a/include/linux/pci.h b/include/linux/pci.h
+index 509159b..d18b1dd 100644
+--- a/include/linux/pci.h
++++ b/include/linux/pci.h
+@@ -206,6 +206,7 @@ struct pci_dev {
+ 	struct bin_attribute *rom_attr; /* attribute descriptor for sysfs ROM entry */
+ 	int rom_attr_enabled;		/* has display of the rom attribute been enabled? */
+ 	struct bin_attribute *res_attr[DEVICE_COUNT_RESOURCE]; /* sysfs file for resources */
++	struct bin_attribute *res_attr_wc[DEVICE_COUNT_RESOURCE]; /* sysfs file for WC mapping of resources */
+ #ifdef CONFIG_PCI_MSI
+ 	struct list_head msi_list;
+ #endif
+diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
+index 9b940e6..eafc9d6 100644
+--- a/include/linux/pci_ids.h
++++ b/include/linux/pci_ids.h
+@@ -716,6 +716,7 @@
+ #define PCI_DEVICE_ID_HP_CISSA		0x3220
+ #define PCI_DEVICE_ID_HP_CISSC		0x3230
+ #define PCI_DEVICE_ID_HP_CISSD		0x3238
++#define PCI_DEVICE_ID_HP_CISSE		0x323a
+ #define PCI_DEVICE_ID_HP_ZX2_IOC	0x4031
+ 
+ #define PCI_VENDOR_ID_PCTECH		0x1042
+diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h
+index 9883bc9..fff1d27 100644
+--- a/include/linux/proc_fs.h
++++ b/include/linux/proc_fs.h
+@@ -9,6 +9,8 @@
+ 
+ struct net;
+ struct completion;
++struct mm_struct;
++
+ /*
+  * The proc filesystem constants/structures
+  */
+@@ -101,8 +103,6 @@ extern spinlock_t proc_subdir_lock;
+ extern void proc_root_init(void);
+ extern void proc_misc_init(void);
+ 
+-struct mm_struct;
+-
+ void proc_flush_task(struct task_struct *task);
+ struct dentry *proc_pid_lookup(struct inode *dir, struct dentry * dentry, struct nameidata *);
+ int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir);
+diff --git a/include/linux/tcp.h b/include/linux/tcp.h
+index 18e62e3..b31b6b7 100644
+--- a/include/linux/tcp.h
++++ b/include/linux/tcp.h
+@@ -239,11 +239,6 @@ static inline struct tcp_request_sock *tcp_rsk(const struct request_sock *req)
+ 	return (struct tcp_request_sock *)req;
+ }
+ 
+-struct tcp_deferred_accept_info {
+-	struct sock *listen_sk;
+-	struct request_sock *request;
+-};
+-
+ struct tcp_sock {
+ 	/* inet_connection_sock has to be the first member of tcp_sock */
+ 	struct inet_connection_sock	inet_conn;
+@@ -379,8 +374,6 @@ struct tcp_sock {
+ 	unsigned int		keepalive_intvl;  /* time interval between keep alive probes */
+ 	int			linger2;
+ 
+-	struct tcp_deferred_accept_info defer_tcp_accept;
+-
+ 	unsigned long last_synq_overflow; 
+ 
+ 	u32	tso_deferred;
+diff --git a/include/net/netfilter/nf_conntrack_extend.h b/include/net/netfilter/nf_conntrack_extend.h
+index f736e84..f80c0ed 100644
+--- a/include/net/netfilter/nf_conntrack_extend.h
++++ b/include/net/netfilter/nf_conntrack_extend.h
+@@ -15,6 +15,7 @@ enum nf_ct_ext_id
+ 
+ /* Extensions: optional stuff which isn't permanently in struct. */
+ struct nf_ct_ext {
++	struct rcu_head rcu;
+ 	u8 offset[NF_CT_EXT_NUM];
+ 	u8 len;
+ 	char data[0];
+diff --git a/include/net/request_sock.h b/include/net/request_sock.h
+index b220b5f..0c96e7b 100644
+--- a/include/net/request_sock.h
++++ b/include/net/request_sock.h
+@@ -115,8 +115,8 @@ struct request_sock_queue {
+ 	struct request_sock	*rskq_accept_head;
+ 	struct request_sock	*rskq_accept_tail;
+ 	rwlock_t		syn_wait_lock;
+-	u16			rskq_defer_accept;
+-	/* 2 bytes hole, try to pack */
++	u8			rskq_defer_accept;
++	/* 3 bytes hole, try to pack */
+ 	struct listen_sock	*listen_opt;
+ };
+ 
+diff --git a/include/net/tcp.h b/include/net/tcp.h
+index d448310..cf54034 100644
+--- a/include/net/tcp.h
++++ b/include/net/tcp.h
+@@ -139,7 +139,6 @@ extern void tcp_time_wait(struct sock *sk, int state, int timeo);
+ #define MAX_TCP_KEEPINTVL	32767
+ #define MAX_TCP_KEEPCNT		127
+ #define MAX_TCP_SYNCNT		127
+-#define MAX_TCP_ACCEPT_DEFERRED 65535
+ 
+ #define TCP_SYNQ_INTERVAL	(HZ/5)	/* Period of SYNACK timer */
+ 
+diff --git a/ipc/shm.c b/ipc/shm.c
+index d05f6b5..790240c 100644
+--- a/ipc/shm.c
++++ b/ipc/shm.c
+@@ -1058,16 +1058,16 @@ asmlinkage long sys_shmdt(char __user *shmaddr)
+ static int sysvipc_shm_proc_show(struct seq_file *s, void *it)
+ {
+ 	struct shmid_kernel *shp = it;
+-	char *format;
+ 
+-#define SMALL_STRING "%10d %10d  %4o %10u %5u %5u  %5d %5u %5u %5u %5u %10lu %10lu %10lu\n"
+-#define BIG_STRING   "%10d %10d  %4o %21u %5u %5u  %5d %5u %5u %5u %5u %10lu %10lu %10lu\n"
++#if BITS_PER_LONG <= 32
++#define SIZE_SPEC "%10lu"
++#else
++#define SIZE_SPEC "%21lu"
++#endif
+ 
+-	if (sizeof(size_t) <= sizeof(int))
+-		format = SMALL_STRING;
+-	else
+-		format = BIG_STRING;
+-	return seq_printf(s, format,
++	return seq_printf(s,
++			  "%10d %10d  %4o " SIZE_SPEC " %5u %5u  "
++			  "%5lu %5u %5u %5u %5u %10lu %10lu %10lu\n",
+ 			  shp->shm_perm.key,
+ 			  shp->shm_perm.id,
+ 			  shp->shm_perm.mode,
+diff --git a/kernel/kprobes.c b/kernel/kprobes.c
+index 1e0250c..d4998f8 100644
+--- a/kernel/kprobes.c
++++ b/kernel/kprobes.c
+@@ -699,8 +699,9 @@ static int __register_kprobes(struct kprobe **kps, int num,
+ 		return -EINVAL;
+ 	for (i = 0; i < num; i++) {
+ 		ret = __register_kprobe(kps[i], called_from);
+-		if (ret < 0 && i > 0) {
+-			unregister_kprobes(kps, i);
++		if (ret < 0) {
++			if (i > 0)
++				unregister_kprobes(kps, i);
+ 			break;
+ 		}
+ 	}
+@@ -776,8 +777,9 @@ static int __register_jprobes(struct jprobe **jps, int num,
+ 			jp->kp.break_handler = longjmp_break_handler;
+ 			ret = __register_kprobe(&jp->kp, called_from);
+ 		}
+-		if (ret < 0 && i > 0) {
+-			unregister_jprobes(jps, i);
++		if (ret < 0) {
++			if (i > 0)
++				unregister_jprobes(jps, i);
+ 			break;
+ 		}
+ 	}
+@@ -920,8 +922,9 @@ static int __register_kretprobes(struct kretprobe **rps, int num,
+ 		return -EINVAL;
+ 	for (i = 0; i < num; i++) {
+ 		ret = __register_kretprobe(rps[i], called_from);
+-		if (ret < 0 && i > 0) {
+-			unregister_kretprobes(rps, i);
++		if (ret < 0) {
++			if (i > 0)
++				unregister_kretprobes(rps, i);
+ 			break;
+ 		}
+ 	}
+diff --git a/lib/radix-tree.c b/lib/radix-tree.c
+index bd52171..169a2f8 100644
+--- a/lib/radix-tree.c
++++ b/lib/radix-tree.c
+@@ -88,6 +88,57 @@ static inline gfp_t root_gfp_mask(struct radix_tree_root *root)
+ 	return root->gfp_mask & __GFP_BITS_MASK;
+ }
+ 
++static inline void tag_set(struct radix_tree_node *node, unsigned int tag,
++		int offset)
++{
++	__set_bit(offset, node->tags[tag]);
++}
++
++static inline void tag_clear(struct radix_tree_node *node, unsigned int tag,
++		int offset)
++{
++	__clear_bit(offset, node->tags[tag]);
++}
++
++static inline int tag_get(struct radix_tree_node *node, unsigned int tag,
++		int offset)
++{
++	return test_bit(offset, node->tags[tag]);
++}
++
++static inline void root_tag_set(struct radix_tree_root *root, unsigned int tag)
++{
++	root->gfp_mask |= (__force gfp_t)(1 << (tag + __GFP_BITS_SHIFT));
++}
++
++static inline void root_tag_clear(struct radix_tree_root *root, unsigned int tag)
++{
++	root->gfp_mask &= (__force gfp_t)~(1 << (tag + __GFP_BITS_SHIFT));
++}
++
++static inline void root_tag_clear_all(struct radix_tree_root *root)
++{
++	root->gfp_mask &= __GFP_BITS_MASK;
++}
++
++static inline int root_tag_get(struct radix_tree_root *root, unsigned int tag)
++{
++	return (__force unsigned)root->gfp_mask & (1 << (tag + __GFP_BITS_SHIFT));
++}
++
++/*
++ * Returns 1 if any slot in the node has this tag set.
++ * Otherwise returns 0.
++ */
++static inline int any_tag_set(struct radix_tree_node *node, unsigned int tag)
++{
++	int idx;
++	for (idx = 0; idx < RADIX_TREE_TAG_LONGS; idx++) {
++		if (node->tags[tag][idx])
++			return 1;
++	}
++	return 0;
++}
+ /*
+  * This assumes that the caller has performed appropriate preallocation, and
+  * that the caller has pinned this thread of control to the current CPU.
+@@ -124,6 +175,17 @@ static void radix_tree_node_rcu_free(struct rcu_head *head)
+ {
+ 	struct radix_tree_node *node =
+ 			container_of(head, struct radix_tree_node, rcu_head);
++
++	/*
++	 * must only free zeroed nodes into the slab. radix_tree_shrink
++	 * can leave us with a non-NULL entry in the first slot, so clear
++	 * that here to make sure.
++	 */
++	tag_clear(node, 0, 0);
++	tag_clear(node, 1, 0);
++	node->slots[0] = NULL;
++	node->count = 0;
++
+ 	kmem_cache_free(radix_tree_node_cachep, node);
+ }
+ 
+@@ -165,59 +227,6 @@ out:
+ }
+ EXPORT_SYMBOL(radix_tree_preload);
+ 
+-static inline void tag_set(struct radix_tree_node *node, unsigned int tag,
+-		int offset)
+-{
+-	__set_bit(offset, node->tags[tag]);
+-}
+-
+-static inline void tag_clear(struct radix_tree_node *node, unsigned int tag,
+-		int offset)
+-{
+-	__clear_bit(offset, node->tags[tag]);
+-}
+-
+-static inline int tag_get(struct radix_tree_node *node, unsigned int tag,
+-		int offset)
+-{
+-	return test_bit(offset, node->tags[tag]);
+-}
+-
+-static inline void root_tag_set(struct radix_tree_root *root, unsigned int tag)
+-{
+-	root->gfp_mask |= (__force gfp_t)(1 << (tag + __GFP_BITS_SHIFT));
+-}
+-
+-
+-static inline void root_tag_clear(struct radix_tree_root *root, unsigned int tag)
+-{
+-	root->gfp_mask &= (__force gfp_t)~(1 << (tag + __GFP_BITS_SHIFT));
+-}
+-
+-static inline void root_tag_clear_all(struct radix_tree_root *root)
+-{
+-	root->gfp_mask &= __GFP_BITS_MASK;
+-}
+-
+-static inline int root_tag_get(struct radix_tree_root *root, unsigned int tag)
+-{
+-	return (__force unsigned)root->gfp_mask & (1 << (tag + __GFP_BITS_SHIFT));
+-}
+-
+-/*
+- * Returns 1 if any slot in the node has this tag set.
+- * Otherwise returns 0.
+- */
+-static inline int any_tag_set(struct radix_tree_node *node, unsigned int tag)
+-{
+-	int idx;
+-	for (idx = 0; idx < RADIX_TREE_TAG_LONGS; idx++) {
+-		if (node->tags[tag][idx])
+-			return 1;
+-	}
+-	return 0;
+-}
+-
+ /*
+  *	Return the maximum key which can be store into a
+  *	radix tree with height HEIGHT.
+@@ -930,11 +939,6 @@ static inline void radix_tree_shrink(struct radix_tree_root *root)
+ 			newptr = radix_tree_ptr_to_indirect(newptr);
+ 		root->rnode = newptr;
+ 		root->height--;
+-		/* must only free zeroed nodes into the slab */
+-		tag_clear(to_free, 0, 0);
+-		tag_clear(to_free, 1, 0);
+-		to_free->slots[0] = NULL;
+-		to_free->count = 0;
+ 		radix_tree_node_free(to_free);
+ 	}
+ }
+diff --git a/mm/pagewalk.c b/mm/pagewalk.c
+index 0afd238..d5878be 100644
+--- a/mm/pagewalk.c
++++ b/mm/pagewalk.c
+@@ -3,14 +3,14 @@
+ #include <linux/sched.h>
+ 
+ static int walk_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
+-			  const struct mm_walk *walk, void *private)
++			  struct mm_walk *walk)
+ {
+ 	pte_t *pte;
+ 	int err = 0;
+ 
+ 	pte = pte_offset_map(pmd, addr);
+ 	for (;;) {
+-		err = walk->pte_entry(pte, addr, addr + PAGE_SIZE, private);
++		err = walk->pte_entry(pte, addr, addr + PAGE_SIZE, walk);
+ 		if (err)
+ 		       break;
+ 		addr += PAGE_SIZE;
+@@ -24,7 +24,7 @@ static int walk_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
+ }
+ 
+ static int walk_pmd_range(pud_t *pud, unsigned long addr, unsigned long end,
+-			  const struct mm_walk *walk, void *private)
++			  struct mm_walk *walk)
+ {
+ 	pmd_t *pmd;
+ 	unsigned long next;
+@@ -35,15 +35,15 @@ static int walk_pmd_range(pud_t *pud, unsigned long addr, unsigned long end,
+ 		next = pmd_addr_end(addr, end);
+ 		if (pmd_none_or_clear_bad(pmd)) {
+ 			if (walk->pte_hole)
+-				err = walk->pte_hole(addr, next, private);
++				err = walk->pte_hole(addr, next, walk);
+ 			if (err)
+ 				break;
+ 			continue;
+ 		}
+ 		if (walk->pmd_entry)
+-			err = walk->pmd_entry(pmd, addr, next, private);
++			err = walk->pmd_entry(pmd, addr, next, walk);
+ 		if (!err && walk->pte_entry)
+-			err = walk_pte_range(pmd, addr, next, walk, private);
++			err = walk_pte_range(pmd, addr, next, walk);
+ 		if (err)
+ 			break;
+ 	} while (pmd++, addr = next, addr != end);
+@@ -52,7 +52,7 @@ static int walk_pmd_range(pud_t *pud, unsigned long addr, unsigned long end,
+ }
+ 
+ static int walk_pud_range(pgd_t *pgd, unsigned long addr, unsigned long end,
+-			  const struct mm_walk *walk, void *private)
++			  struct mm_walk *walk)
+ {
+ 	pud_t *pud;
+ 	unsigned long next;
+@@ -63,15 +63,15 @@ static int walk_pud_range(pgd_t *pgd, unsigned long addr, unsigned long end,
+ 		next = pud_addr_end(addr, end);
+ 		if (pud_none_or_clear_bad(pud)) {
+ 			if (walk->pte_hole)
+-				err = walk->pte_hole(addr, next, private);
++				err = walk->pte_hole(addr, next, walk);
+ 			if (err)
+ 				break;
+ 			continue;
+ 		}
+ 		if (walk->pud_entry)
+-			err = walk->pud_entry(pud, addr, next, private);
++			err = walk->pud_entry(pud, addr, next, walk);
+ 		if (!err && (walk->pmd_entry || walk->pte_entry))
+-			err = walk_pmd_range(pud, addr, next, walk, private);
++			err = walk_pmd_range(pud, addr, next, walk);
+ 		if (err)
+ 			break;
+ 	} while (pud++, addr = next, addr != end);
+@@ -85,15 +85,15 @@ static int walk_pud_range(pgd_t *pgd, unsigned long addr, unsigned long end,
+  * @addr: starting address
+  * @end: ending address
+  * @walk: set of callbacks to invoke for each level of the tree
+- * @private: private data passed to the callback function
+  *
+  * Recursively walk the page table for the memory area in a VMA,
+  * calling supplied callbacks. Callbacks are called in-order (first
+  * PGD, first PUD, first PMD, first PTE, second PTE... second PMD,
+  * etc.). If lower-level callbacks are omitted, walking depth is reduced.
+  *
+- * Each callback receives an entry pointer, the start and end of the
+- * associated range, and a caller-supplied private data pointer.
++ * Each callback receives an entry pointer and the start and end of the
++ * associated range, and a copy of the original mm_walk for access to
++ * the ->private or ->mm fields.
+  *
+  * No locks are taken, but the bottom level iterator will map PTE
+  * directories from highmem if necessary.
+@@ -101,9 +101,8 @@ static int walk_pud_range(pgd_t *pgd, unsigned long addr, unsigned long end,
+  * If any callback returns a non-zero value, the walk is aborted and
+  * the return value is propagated back to the caller. Otherwise 0 is returned.
+  */
+-int walk_page_range(const struct mm_struct *mm,
+-		    unsigned long addr, unsigned long end,
+-		    const struct mm_walk *walk, void *private)
++int walk_page_range(unsigned long addr, unsigned long end,
++		    struct mm_walk *walk)
+ {
+ 	pgd_t *pgd;
+ 	unsigned long next;
+@@ -112,21 +111,24 @@ int walk_page_range(const struct mm_struct *mm,
+ 	if (addr >= end)
+ 		return err;
+ 
+-	pgd = pgd_offset(mm, addr);
++	if (!walk->mm)
++		return -EINVAL;
++
++	pgd = pgd_offset(walk->mm, addr);
+ 	do {
+ 		next = pgd_addr_end(addr, end);
+ 		if (pgd_none_or_clear_bad(pgd)) {
+ 			if (walk->pte_hole)
+-				err = walk->pte_hole(addr, next, private);
++				err = walk->pte_hole(addr, next, walk);
+ 			if (err)
+ 				break;
+ 			continue;
+ 		}
+ 		if (walk->pgd_entry)
+-			err = walk->pgd_entry(pgd, addr, next, private);
++			err = walk->pgd_entry(pgd, addr, next, walk);
+ 		if (!err &&
+ 		    (walk->pud_entry || walk->pmd_entry || walk->pte_entry))
+-			err = walk_pud_range(pgd, addr, next, walk, private);
++			err = walk_pud_range(pgd, addr, next, walk);
+ 		if (err)
+ 			break;
+ 	} while (pgd++, addr = next, addr != end);
+diff --git a/mm/vmscan.c b/mm/vmscan.c
+index 9a29901..967d30c 100644
+--- a/mm/vmscan.c
++++ b/mm/vmscan.c
+@@ -1307,7 +1307,7 @@ static unsigned long do_try_to_free_pages(struct zonelist *zonelist,
+ 					struct scan_control *sc)
+ {
+ 	int priority;
+-	int ret = 0;
++	unsigned long ret = 0;
+ 	unsigned long total_scanned = 0;
+ 	unsigned long nr_reclaimed = 0;
+ 	struct reclaim_state *reclaim_state = current->reclaim_state;
+diff --git a/net/atm/br2684.c b/net/atm/br2684.c
+index 9d52ebf..05fafdc 100644
+--- a/net/atm/br2684.c
++++ b/net/atm/br2684.c
+@@ -188,10 +188,13 @@ static int br2684_xmit_vcc(struct sk_buff *skb, struct br2684_dev *brdev,
+ 				return 0;
+ 			}
+ 		}
+-	} else {
+-		skb_push(skb, 2);
+-		if (brdev->payload == p_bridged)
++	} else { /* e_vc */
++		if (brdev->payload == p_bridged) {
++			skb_push(skb, 2);
+ 			memset(skb->data, 0, 2);
++		} else { /* p_routed */
++			skb_pull(skb, ETH_HLEN);
++		}
+ 	}
+ 	skb_debug(skb);
+ 
+@@ -377,11 +380,8 @@ static void br2684_push(struct atm_vcc *atmvcc, struct sk_buff *skb)
+ 				 (skb->data + 6, ethertype_ipv4,
+ 				  sizeof(ethertype_ipv4)) == 0)
+ 				skb->protocol = __constant_htons(ETH_P_IP);
+-			else {
+-				brdev->stats.rx_errors++;
+-				dev_kfree_skb(skb);
+-				return;
+-			}
++			else
++				goto error;
+ 			skb_pull(skb, sizeof(llc_oui_ipv4));
+ 			skb_reset_network_header(skb);
+ 			skb->pkt_type = PACKET_HOST;
+@@ -394,44 +394,56 @@ static void br2684_push(struct atm_vcc *atmvcc, struct sk_buff *skb)
+ 			   (memcmp(skb->data, llc_oui_pid_pad, 7) == 0)) {
+ 			skb_pull(skb, sizeof(llc_oui_pid_pad));
+ 			skb->protocol = eth_type_trans(skb, net_dev);
+-		} else {
+-			brdev->stats.rx_errors++;
+-			dev_kfree_skb(skb);
+-			return;
+-		}
++		} else
++			goto error;
+ 
+-	} else {
+-		/* first 2 chars should be 0 */
+-		if (*((u16 *) (skb->data)) != 0) {
+-			brdev->stats.rx_errors++;
+-			dev_kfree_skb(skb);
+-			return;
++	} else { /* e_vc */
++		if (brdev->payload == p_routed) {
++			struct iphdr *iph;
++
++			skb_reset_network_header(skb);
++			iph = ip_hdr(skb);
++			if (iph->version == 4)
++				skb->protocol = __constant_htons(ETH_P_IP);
++			else if (iph->version == 6)
++				skb->protocol = __constant_htons(ETH_P_IPV6);
++			else
++				goto error;
++			skb->pkt_type = PACKET_HOST;
++		} else { /* p_bridged */
++			/* first 2 chars should be 0 */
++			if (*((u16 *) (skb->data)) != 0)
++				goto error;
++			skb_pull(skb, BR2684_PAD_LEN);
++			skb->protocol = eth_type_trans(skb, net_dev);
+ 		}
+-		skb_pull(skb, BR2684_PAD_LEN + ETH_HLEN);	/* pad, dstmac, srcmac, ethtype */
+-		skb->protocol = eth_type_trans(skb, net_dev);
+ 	}
+ 
+ #ifdef CONFIG_ATM_BR2684_IPFILTER
+-	if (unlikely(packet_fails_filter(skb->protocol, brvcc, skb))) {
+-		brdev->stats.rx_dropped++;
+-		dev_kfree_skb(skb);
+-		return;
+-	}
++	if (unlikely(packet_fails_filter(skb->protocol, brvcc, skb)))
++		goto dropped;
+ #endif /* CONFIG_ATM_BR2684_IPFILTER */
+ 	skb->dev = net_dev;
+ 	ATM_SKB(skb)->vcc = atmvcc;	/* needed ? */
+ 	pr_debug("received packet's protocol: %x\n", ntohs(skb->protocol));
+ 	skb_debug(skb);
+-	if (unlikely(!(net_dev->flags & IFF_UP))) {
+-		/* sigh, interface is down */
+-		brdev->stats.rx_dropped++;
+-		dev_kfree_skb(skb);
+-		return;
+-	}
++	/* sigh, interface is down? */
++	if (unlikely(!(net_dev->flags & IFF_UP)))
++		goto dropped;
+ 	brdev->stats.rx_packets++;
+ 	brdev->stats.rx_bytes += skb->len;
+ 	memset(ATM_SKB(skb), 0, sizeof(struct atm_skb_data));
+ 	netif_rx(skb);
++	return;
++
++dropped:
++	brdev->stats.rx_dropped++;
++	goto free_skb;
++error:
++	brdev->stats.rx_errors++;
++free_skb:
++	dev_kfree_skb(skb);
++	return;
+ }
+ 
+ /*
+@@ -518,9 +530,9 @@ static int br2684_regvcc(struct atm_vcc *atmvcc, void __user * arg)
+ 		struct sk_buff *next = skb->next;
+ 
+ 		skb->next = skb->prev = NULL;
++		br2684_push(atmvcc, skb);
+ 		BRPRIV(skb->dev)->stats.rx_bytes -= skb->len;
+ 		BRPRIV(skb->dev)->stats.rx_packets--;
+-		br2684_push(atmvcc, skb);
+ 
+ 		skb = next;
+ 	}
+diff --git a/net/core/dev.c b/net/core/dev.c
+index 5829630..68d8df0 100644
+--- a/net/core/dev.c
++++ b/net/core/dev.c
+@@ -119,6 +119,7 @@
+ #include <linux/err.h>
+ #include <linux/ctype.h>
+ #include <linux/if_arp.h>
++#include <linux/if_vlan.h>
+ 
+ #include "net-sysfs.h"
+ 
+@@ -1362,6 +1363,29 @@ void netif_device_attach(struct net_device *dev)
+ }
+ EXPORT_SYMBOL(netif_device_attach);
+ 
++static bool can_checksum_protocol(unsigned long features, __be16 protocol)
++{
++	return ((features & NETIF_F_GEN_CSUM) ||
++		((features & NETIF_F_IP_CSUM) &&
++		 protocol == htons(ETH_P_IP)) ||
++		((features & NETIF_F_IPV6_CSUM) &&
++		 protocol == htons(ETH_P_IPV6)));
++}
++
++static bool dev_can_checksum(struct net_device *dev, struct sk_buff *skb)
++{
++	if (can_checksum_protocol(dev->features, skb->protocol))
++		return true;
++
++	if (skb->protocol == htons(ETH_P_8021Q)) {
++		struct vlan_ethhdr *veh = (struct vlan_ethhdr *)skb->data;
++		if (can_checksum_protocol(dev->features & dev->vlan_features,
++					  veh->h_vlan_encapsulated_proto))
++			return true;
++	}
++
++	return false;
++}
+ 
+ /*
+  * Invalidate hardware checksum when packet is to be mangled, and
+@@ -1640,14 +1664,8 @@ int dev_queue_xmit(struct sk_buff *skb)
+ 	if (skb->ip_summed == CHECKSUM_PARTIAL) {
+ 		skb_set_transport_header(skb, skb->csum_start -
+ 					      skb_headroom(skb));
+-
+-		if (!(dev->features & NETIF_F_GEN_CSUM) &&
+-		    !((dev->features & NETIF_F_IP_CSUM) &&
+-		      skb->protocol == htons(ETH_P_IP)) &&
+-		    !((dev->features & NETIF_F_IPV6_CSUM) &&
+-		      skb->protocol == htons(ETH_P_IPV6)))
+-			if (skb_checksum_help(skb))
+-				goto out_kfree_skb;
++		if (!dev_can_checksum(dev, skb) && skb_checksum_help(skb))
++			goto out_kfree_skb;
+ 	}
+ 
+ gso:
+diff --git a/net/dccp/ackvec.c b/net/dccp/ackvec.c
+index 6de4bd1..1e8be24 100644
+--- a/net/dccp/ackvec.c
++++ b/net/dccp/ackvec.c
+@@ -290,12 +290,12 @@ int dccp_ackvec_add(struct dccp_ackvec *av, const struct sock *sk,
+ 
+ 		while (1) {
+ 			const u8 len = dccp_ackvec_len(av, index);
+-			const u8 state = dccp_ackvec_state(av, index);
++			const u8 av_state = dccp_ackvec_state(av, index);
+ 			/*
+ 			 * valid packets not yet in av_buf have a reserved
+ 			 * entry, with a len equal to 0.
+ 			 */
+-			if (state == DCCP_ACKVEC_STATE_NOT_RECEIVED &&
++			if (av_state == DCCP_ACKVEC_STATE_NOT_RECEIVED &&
+ 			    len == 0 && delta == 0) { /* Found our
+ 							 reserved seat! */
+ 				dccp_pr_debug("Found %llu reserved seat!\n",
+@@ -325,31 +325,6 @@ out_duplicate:
+ 	return -EILSEQ;
+ }
+ 
+-#ifdef CONFIG_IP_DCCP_DEBUG
+-void dccp_ackvector_print(const u64 ackno, const unsigned char *vector, int len)
+-{
+-	dccp_pr_debug_cat("ACK vector len=%d, ackno=%llu |", len,
+-			 (unsigned long long)ackno);
+-
+-	while (len--) {
+-		const u8 state = (*vector & DCCP_ACKVEC_STATE_MASK) >> 6;
+-		const u8 rl = *vector & DCCP_ACKVEC_LEN_MASK;
+-
+-		dccp_pr_debug_cat("%d,%d|", state, rl);
+-		++vector;
+-	}
+-
+-	dccp_pr_debug_cat("\n");
+-}
+-
+-void dccp_ackvec_print(const struct dccp_ackvec *av)
+-{
+-	dccp_ackvector_print(av->av_buf_ackno,
+-			     av->av_buf + av->av_buf_head,
+-			     av->av_vec_len);
+-}
+-#endif
+-
+ static void dccp_ackvec_throw_record(struct dccp_ackvec *av,
+ 				     struct dccp_ackvec_record *avr)
+ {
+diff --git a/net/dccp/ccids/ccid3.c b/net/dccp/ccids/ccid3.c
+index f813077..a1929f3 100644
+--- a/net/dccp/ccids/ccid3.c
++++ b/net/dccp/ccids/ccid3.c
+@@ -159,8 +159,8 @@ static void ccid3_hc_tx_update_x(struct sock *sk, ktime_t *stamp)
+ 	} else if (ktime_us_delta(now, hctx->ccid3hctx_t_ld)
+ 				- (s64)hctx->ccid3hctx_rtt >= 0) {
+ 
+-		hctx->ccid3hctx_x =
+-			max(min(2 * hctx->ccid3hctx_x, min_rate),
++		hctx->ccid3hctx_x = min(2 * hctx->ccid3hctx_x, min_rate);
++		hctx->ccid3hctx_x = max(hctx->ccid3hctx_x,
+ 			    scaled_div(((__u64)hctx->ccid3hctx_s) << 6,
+ 				       hctx->ccid3hctx_rtt));
+ 		hctx->ccid3hctx_t_ld = now;
+@@ -329,8 +329,14 @@ static int ccid3_hc_tx_send_packet(struct sock *sk, struct sk_buff *skb)
+ 			hctx->ccid3hctx_x    = rfc3390_initial_rate(sk);
+ 			hctx->ccid3hctx_t_ld = now;
+ 		} else {
+-			/* Sender does not have RTT sample: X_pps = 1 pkt/sec */
+-			hctx->ccid3hctx_x = hctx->ccid3hctx_s;
++			/*
++			 * Sender does not have RTT sample:
++			 * - set fallback RTT (RFC 4340, 3.4) since a RTT value
++			 *   is needed in several parts (e.g.  window counter);
++			 * - set sending rate X_pps = 1pps as per RFC 3448, 4.2.
++			 */
++			hctx->ccid3hctx_rtt = DCCP_FALLBACK_RTT;
++			hctx->ccid3hctx_x   = hctx->ccid3hctx_s;
+ 			hctx->ccid3hctx_x <<= 6;
+ 		}
+ 		ccid3_update_send_interval(hctx);
+diff --git a/net/dccp/ccids/lib/tfrc.c b/net/dccp/ccids/lib/tfrc.c
+index d1dfbb8..97ecec0 100644
+--- a/net/dccp/ccids/lib/tfrc.c
++++ b/net/dccp/ccids/lib/tfrc.c
+@@ -14,14 +14,6 @@ module_param(tfrc_debug, bool, 0444);
+ MODULE_PARM_DESC(tfrc_debug, "Enable debug messages");
+ #endif
+ 
+-extern int  tfrc_tx_packet_history_init(void);
+-extern void tfrc_tx_packet_history_exit(void);
+-extern int  tfrc_rx_packet_history_init(void);
+-extern void tfrc_rx_packet_history_exit(void);
+-
+-extern int  tfrc_li_init(void);
+-extern void tfrc_li_exit(void);
+-
+ static int __init tfrc_module_init(void)
+ {
+ 	int rc = tfrc_li_init();
+diff --git a/net/dccp/ccids/lib/tfrc.h b/net/dccp/ccids/lib/tfrc.h
+index 1fb1187..ed98575 100644
+--- a/net/dccp/ccids/lib/tfrc.h
++++ b/net/dccp/ccids/lib/tfrc.h
+@@ -15,7 +15,7 @@
+  *  (at your option) any later version.
+  */
+ #include <linux/types.h>
+-#include <asm/div64.h>
++#include <linux/math64.h>
+ #include "../../dccp.h"
+ /* internal includes that this module exports: */
+ #include "loss_interval.h"
+@@ -29,21 +29,19 @@ extern int tfrc_debug;
+ #endif
+ 
+ /* integer-arithmetic divisions of type (a * 1000000)/b */
+-static inline u64 scaled_div(u64 a, u32 b)
++static inline u64 scaled_div(u64 a, u64 b)
+ {
+ 	BUG_ON(b==0);
+-	a *= 1000000;
+-	do_div(a, b);
+-	return a;
++	return div64_u64(a * 1000000, b);
+ }
+ 
+-static inline u32 scaled_div32(u64 a, u32 b)
++static inline u32 scaled_div32(u64 a, u64 b)
+ {
+ 	u64 result = scaled_div(a, b);
+ 
+ 	if (result > UINT_MAX) {
+-		DCCP_CRIT("Overflow: a(%llu)/b(%u) > ~0U",
+-			  (unsigned long long)a, b);
++		DCCP_CRIT("Overflow: %llu/%llu > UINT_MAX",
++			  (unsigned long long)a, (unsigned long long)b);
+ 		return UINT_MAX;
+ 	}
+ 	return result;
+@@ -58,7 +56,14 @@ static inline u32 tfrc_ewma(const u32 avg, const u32 newval, const u8 weight)
+ 	return avg ? (weight * avg + (10 - weight) * newval) / 10 : newval;
+ }
+ 
+-extern u32 tfrc_calc_x(u16 s, u32 R, u32 p);
+-extern u32 tfrc_calc_x_reverse_lookup(u32 fvalue);
++extern u32  tfrc_calc_x(u16 s, u32 R, u32 p);
++extern u32  tfrc_calc_x_reverse_lookup(u32 fvalue);
+ 
++extern int  tfrc_tx_packet_history_init(void);
++extern void tfrc_tx_packet_history_exit(void);
++extern int  tfrc_rx_packet_history_init(void);
++extern void tfrc_rx_packet_history_exit(void);
++
++extern int  tfrc_li_init(void);
++extern void tfrc_li_exit(void);
+ #endif /* _TFRC_H_ */
+diff --git a/net/dccp/ccids/lib/tfrc_equation.c b/net/dccp/ccids/lib/tfrc_equation.c
+index e4e64b7..2f20a29 100644
+--- a/net/dccp/ccids/lib/tfrc_equation.c
++++ b/net/dccp/ccids/lib/tfrc_equation.c
+@@ -661,7 +661,7 @@ u32 tfrc_calc_x(u16 s, u32 R, u32 p)
+ 
+ EXPORT_SYMBOL_GPL(tfrc_calc_x);
+ 
+-/*
++/**
+  *  tfrc_calc_x_reverse_lookup  -  try to find p given f(p)
+  *
+  *  @fvalue: function value to match, scaled by 1000000
+@@ -676,11 +676,11 @@ u32 tfrc_calc_x_reverse_lookup(u32 fvalue)
+ 
+ 	/* Error cases. */
+ 	if (fvalue < tfrc_calc_x_lookup[0][1]) {
+-		DCCP_WARN("fvalue %d smaller than resolution\n", fvalue);
+-		return tfrc_calc_x_lookup[0][1];
++		DCCP_WARN("fvalue %u smaller than resolution\n", fvalue);
++		return TFRC_SMALLEST_P;
+ 	}
+ 	if (fvalue > tfrc_calc_x_lookup[TFRC_CALC_X_ARRSIZE - 1][0]) {
+-		DCCP_WARN("fvalue %d exceeds bounds!\n", fvalue);
++		DCCP_WARN("fvalue %u exceeds bounds!\n", fvalue);
+ 		return 1000000;
+ 	}
+ 
+diff --git a/net/dccp/minisocks.c b/net/dccp/minisocks.c
+index 33ad483..66dca5b 100644
+--- a/net/dccp/minisocks.c
++++ b/net/dccp/minisocks.c
+@@ -165,12 +165,12 @@ out_free:
+ 		/* See dccp_v4_conn_request */
+ 		newdmsk->dccpms_sequence_window = req->rcv_wnd;
+ 
+-		newdp->dccps_gar = newdp->dccps_isr = dreq->dreq_isr;
+-		dccp_update_gsr(newsk, dreq->dreq_isr);
+-
+-		newdp->dccps_iss = dreq->dreq_iss;
++		newdp->dccps_gar = newdp->dccps_iss = dreq->dreq_iss;
+ 		dccp_update_gss(newsk, dreq->dreq_iss);
+ 
++		newdp->dccps_isr = dreq->dreq_isr;
++		dccp_update_gsr(newsk, dreq->dreq_isr);
++
+ 		/*
+ 		 * SWL and AWL are initially adjusted so that they are not less than
+ 		 * the initial Sequence Numbers received and sent, respectively:
+diff --git a/net/dccp/options.c b/net/dccp/options.c
+index d2a84a2..43bc24e 100644
+--- a/net/dccp/options.c
++++ b/net/dccp/options.c
+@@ -107,9 +107,11 @@ int dccp_parse_options(struct sock *sk, struct dccp_request_sock *dreq,
+ 		 *
+ 		 * CCID-specific options are ignored during connection setup, as
+ 		 * negotiation may still be in progress (see RFC 4340, 10.3).
++		 * The same applies to Ack Vectors, as these depend on the CCID.
+ 		 *
+ 		 */
+-		if (dreq != NULL && opt >= 128)
++		if (dreq != NULL && (opt >= 128 ||
++		    opt == DCCPO_ACK_VECTOR_0 || opt == DCCPO_ACK_VECTOR_1))
+ 			goto ignore_option;
+ 
+ 		switch (opt) {
+diff --git a/net/dccp/output.c b/net/dccp/output.c
+index 1f8a9b6..fe20068 100644
+--- a/net/dccp/output.c
++++ b/net/dccp/output.c
+@@ -508,6 +508,7 @@ void dccp_send_ack(struct sock *sk)
+ 
+ EXPORT_SYMBOL_GPL(dccp_send_ack);
+ 
++#if 0
+ /* FIXME: Is this still necessary (11.3) - currently nowhere used by DCCP. */
+ void dccp_send_delayed_ack(struct sock *sk)
+ {
+@@ -538,6 +539,7 @@ void dccp_send_delayed_ack(struct sock *sk)
+ 	icsk->icsk_ack.timeout = timeout;
+ 	sk_reset_timer(sk, &icsk->icsk_delack_timer, timeout);
+ }
++#endif
+ 
+ void dccp_send_sync(struct sock *sk, const u64 ackno,
+ 		    const enum dccp_pkt_type pkt_type)
+diff --git a/net/dccp/probe.c b/net/dccp/probe.c
+index 0bcdc92..81368a7 100644
+--- a/net/dccp/probe.c
++++ b/net/dccp/probe.c
+@@ -42,7 +42,7 @@ static int bufsize = 64 * 1024;
+ 
+ static const char procname[] = "dccpprobe";
+ 
+-struct {
++static struct {
+ 	struct kfifo	  *fifo;
+ 	spinlock_t	  lock;
+ 	wait_queue_head_t wait;
+diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
+index 828ea21..ec83448 100644
+--- a/net/ipv4/inet_connection_sock.c
++++ b/net/ipv4/inet_connection_sock.c
+@@ -419,7 +419,8 @@ void inet_csk_reqsk_queue_prune(struct sock *parent,
+ 	struct inet_connection_sock *icsk = inet_csk(parent);
+ 	struct request_sock_queue *queue = &icsk->icsk_accept_queue;
+ 	struct listen_sock *lopt = queue->listen_opt;
+-	int thresh = icsk->icsk_syn_retries ? : sysctl_tcp_synack_retries;
++	int max_retries = icsk->icsk_syn_retries ? : sysctl_tcp_synack_retries;
++	int thresh = max_retries;
+ 	unsigned long now = jiffies;
+ 	struct request_sock **reqp, *req;
+ 	int i, budget;
+@@ -455,6 +456,9 @@ void inet_csk_reqsk_queue_prune(struct sock *parent,
+ 		}
+ 	}
+ 
++	if (queue->rskq_defer_accept)
++		max_retries = queue->rskq_defer_accept;
++
+ 	budget = 2 * (lopt->nr_table_entries / (timeout / interval));
+ 	i = lopt->clock_hand;
+ 
+@@ -462,8 +466,9 @@ void inet_csk_reqsk_queue_prune(struct sock *parent,
+ 		reqp=&lopt->syn_table[i];
+ 		while ((req = *reqp) != NULL) {
+ 			if (time_after_eq(now, req->expires)) {
+-				if (req->retrans < thresh &&
+-				    !req->rsk_ops->rtx_syn_ack(parent, req)) {
++				if ((req->retrans < thresh ||
++				     (inet_rsk(req)->acked && req->retrans < max_retries))
++				    && !req->rsk_ops->rtx_syn_ack(parent, req)) {
+ 					unsigned long timeo;
+ 
+ 					if (req->retrans++ == 0)
+diff --git a/net/ipv4/netfilter/nf_nat_core.c b/net/ipv4/netfilter/nf_nat_core.c
+index 0457859..d2a887f 100644
+--- a/net/ipv4/netfilter/nf_nat_core.c
++++ b/net/ipv4/netfilter/nf_nat_core.c
+@@ -556,7 +556,6 @@ static void nf_nat_cleanup_conntrack(struct nf_conn *ct)
+ 
+ 	spin_lock_bh(&nf_nat_lock);
+ 	hlist_del_rcu(&nat->bysource);
+-	nat->ct = NULL;
+ 	spin_unlock_bh(&nf_nat_lock);
+ }
+ 
+@@ -570,8 +569,8 @@ static void nf_nat_move_storage(void *new, void *old)
+ 		return;
+ 
+ 	spin_lock_bh(&nf_nat_lock);
+-	hlist_replace_rcu(&old_nat->bysource, &new_nat->bysource);
+ 	new_nat->ct = ct;
++	hlist_replace_rcu(&old_nat->bysource, &new_nat->bysource);
+ 	spin_unlock_bh(&nf_nat_lock);
+ }
+ 
+diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
+index e7e091d..37a1ecd 100644
+--- a/net/ipv4/raw.c
++++ b/net/ipv4/raw.c
+@@ -934,7 +934,7 @@ static void raw_sock_seq_show(struct seq_file *seq, struct sock *sp, int i)
+ 	      srcp  = inet->num;
+ 
+ 	seq_printf(seq, "%4d: %08X:%04X %08X:%04X"
+-		" %02X %08X:%08X %02X:%08lX %08X %5d %8d %lu %d %p %d",
++		" %02X %08X:%08X %02X:%08lX %08X %5d %8d %lu %d %p %d\n",
+ 		i, src, srcp, dest, destp, sp->sk_state,
+ 		atomic_read(&sp->sk_wmem_alloc),
+ 		atomic_read(&sp->sk_rmem_alloc),
+diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
+index ab66683..fc54a48 100644
+--- a/net/ipv4/tcp.c
++++ b/net/ipv4/tcp.c
+@@ -2112,12 +2112,15 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
+ 		break;
+ 
+ 	case TCP_DEFER_ACCEPT:
+-		if (val < 0) {
+-			err = -EINVAL;
+-		} else {
+-			if (val > MAX_TCP_ACCEPT_DEFERRED)
+-				val = MAX_TCP_ACCEPT_DEFERRED;
+-			icsk->icsk_accept_queue.rskq_defer_accept = val;
++		icsk->icsk_accept_queue.rskq_defer_accept = 0;
++		if (val > 0) {
++			/* Translate value in seconds to number of
++			 * retransmits */
++			while (icsk->icsk_accept_queue.rskq_defer_accept < 32 &&
++			       val > ((TCP_TIMEOUT_INIT / HZ) <<
++				       icsk->icsk_accept_queue.rskq_defer_accept))
++				icsk->icsk_accept_queue.rskq_defer_accept++;
++			icsk->icsk_accept_queue.rskq_defer_accept++;
+ 		}
+ 		break;
+ 
+@@ -2299,7 +2302,8 @@ static int do_tcp_getsockopt(struct sock *sk, int level,
+ 			val = (val ? : sysctl_tcp_fin_timeout) / HZ;
+ 		break;
+ 	case TCP_DEFER_ACCEPT:
+-		val = icsk->icsk_accept_queue.rskq_defer_accept;
++		val = !icsk->icsk_accept_queue.rskq_defer_accept ? 0 :
++			((TCP_TIMEOUT_INIT / HZ) << (icsk->icsk_accept_queue.rskq_defer_accept - 1));
+ 		break;
+ 	case TCP_WINDOW_CLAMP:
+ 		val = tp->window_clamp;
+diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
+index eba873e..cad73b7 100644
+--- a/net/ipv4/tcp_input.c
++++ b/net/ipv4/tcp_input.c
+@@ -4541,49 +4541,6 @@ static void tcp_urg(struct sock *sk, struct sk_buff *skb, struct tcphdr *th)
+ 	}
+ }
+ 
+-static int tcp_defer_accept_check(struct sock *sk)
+-{
+-	struct tcp_sock *tp = tcp_sk(sk);
+-
+-	if (tp->defer_tcp_accept.request) {
+-		int queued_data =  tp->rcv_nxt - tp->copied_seq;
+-		int hasfin =  !skb_queue_empty(&sk->sk_receive_queue) ?
+-			tcp_hdr((struct sk_buff *)
+-				sk->sk_receive_queue.prev)->fin : 0;
+-
+-		if (queued_data && hasfin)
+-			queued_data--;
+-
+-		if (queued_data &&
+-		    tp->defer_tcp_accept.listen_sk->sk_state == TCP_LISTEN) {
+-			if (sock_flag(sk, SOCK_KEEPOPEN)) {
+-				inet_csk_reset_keepalive_timer(sk,
+-							       keepalive_time_when(tp));
+-			} else {
+-				inet_csk_delete_keepalive_timer(sk);
+-			}
+-
+-			inet_csk_reqsk_queue_add(
+-				tp->defer_tcp_accept.listen_sk,
+-				tp->defer_tcp_accept.request,
+-				sk);
+-
+-			tp->defer_tcp_accept.listen_sk->sk_data_ready(
+-				tp->defer_tcp_accept.listen_sk, 0);
+-
+-			sock_put(tp->defer_tcp_accept.listen_sk);
+-			sock_put(sk);
+-			tp->defer_tcp_accept.listen_sk = NULL;
+-			tp->defer_tcp_accept.request = NULL;
+-		} else if (hasfin ||
+-			   tp->defer_tcp_accept.listen_sk->sk_state != TCP_LISTEN) {
+-			tcp_reset(sk);
+-			return -1;
+-		}
+-	}
+-	return 0;
+-}
+-
+ static int tcp_copy_to_iovec(struct sock *sk, struct sk_buff *skb, int hlen)
+ {
+ 	struct tcp_sock *tp = tcp_sk(sk);
+@@ -4944,8 +4901,6 @@ step5:
+ 
+ 	tcp_data_snd_check(sk);
+ 	tcp_ack_snd_check(sk);
+-
+-	tcp_defer_accept_check(sk);
+ 	return 0;
+ 
+ csum_error:
+diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
+index 4f8485c..12695be 100644
+--- a/net/ipv4/tcp_ipv4.c
++++ b/net/ipv4/tcp_ipv4.c
+@@ -85,10 +85,6 @@
+ int sysctl_tcp_tw_reuse __read_mostly;
+ int sysctl_tcp_low_latency __read_mostly;
+ 
+-/* Check TCP sequence numbers in ICMP packets. */
+-#define ICMP_MIN_LENGTH 8
+-
+-void tcp_v4_send_check(struct sock *sk, int len, struct sk_buff *skb);
+ 
+ #ifdef CONFIG_TCP_MD5SIG
+ static struct tcp_md5sig_key *tcp_v4_md5_do_lookup(struct sock *sk,
+@@ -1918,14 +1914,6 @@ int tcp_v4_destroy_sock(struct sock *sk)
+ 		sk->sk_sndmsg_page = NULL;
+ 	}
+ 
+-	if (tp->defer_tcp_accept.request) {
+-		reqsk_free(tp->defer_tcp_accept.request);
+-		sock_put(tp->defer_tcp_accept.listen_sk);
+-		sock_put(sk);
+-		tp->defer_tcp_accept.listen_sk = NULL;
+-		tp->defer_tcp_accept.request = NULL;
+-	}
+-
+ 	atomic_dec(&tcp_sockets_allocated);
+ 
+ 	return 0;
+diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c
+index 019c8c1..8245247 100644
+--- a/net/ipv4/tcp_minisocks.c
++++ b/net/ipv4/tcp_minisocks.c
+@@ -571,8 +571,10 @@ struct sock *tcp_check_req(struct sock *sk,struct sk_buff *skb,
+ 	   does sequence test, SYN is truncated, and thus we consider
+ 	   it a bare ACK.
+ 
+-	   Both ends (listening sockets) accept the new incoming
+-	   connection and try to talk to each other. 8-)
++	   If icsk->icsk_accept_queue.rskq_defer_accept, we silently drop this
++	   bare ACK.  Otherwise, we create an established connection.  Both
++	   ends (listening sockets) accept the new incoming connection and try
++	   to talk to each other. 8-)
+ 
+ 	   Note: This case is both harmless, and rare.  Possibility is about the
+ 	   same as us discovering intelligent life on another plant tomorrow.
+@@ -640,6 +642,13 @@ struct sock *tcp_check_req(struct sock *sk,struct sk_buff *skb,
+ 		if (!(flg & TCP_FLAG_ACK))
+ 			return NULL;
+ 
++		/* If TCP_DEFER_ACCEPT is set, drop bare ACK. */
++		if (inet_csk(sk)->icsk_accept_queue.rskq_defer_accept &&
++		    TCP_SKB_CB(skb)->end_seq == tcp_rsk(req)->rcv_isn + 1) {
++			inet_rsk(req)->acked = 1;
++			return NULL;
++		}
++
+ 		/* OK, ACK is valid, create big socket and
+ 		 * feed this segment to it. It will repeat all
+ 		 * the tests. THIS SEGMENT MUST MOVE SOCKET TO
+@@ -678,24 +687,7 @@ struct sock *tcp_check_req(struct sock *sk,struct sk_buff *skb,
+ 		inet_csk_reqsk_queue_unlink(sk, req, prev);
+ 		inet_csk_reqsk_queue_removed(sk, req);
+ 
+-		if (inet_csk(sk)->icsk_accept_queue.rskq_defer_accept &&
+-		    TCP_SKB_CB(skb)->end_seq == tcp_rsk(req)->rcv_isn + 1) {
+-
+-			/* the accept queue handling is done is est recv slow
+-			 * path so lets make sure to start there
+-			 */
+-			tcp_sk(child)->pred_flags = 0;
+-			sock_hold(sk);
+-			sock_hold(child);
+-			tcp_sk(child)->defer_tcp_accept.listen_sk = sk;
+-			tcp_sk(child)->defer_tcp_accept.request = req;
+-
+-			inet_csk_reset_keepalive_timer(child,
+-						       inet_csk(sk)->icsk_accept_queue.rskq_defer_accept * HZ);
+-		} else {
+-			inet_csk_reqsk_queue_add(sk, req, child);
+-		}
+-
++		inet_csk_reqsk_queue_add(sk, req, child);
+ 		return child;
+ 
+ 	listen_overflow:
+diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c
+index 4de68cf..63ed9d6 100644
+--- a/net/ipv4/tcp_timer.c
++++ b/net/ipv4/tcp_timer.c
+@@ -489,11 +489,6 @@ static void tcp_keepalive_timer (unsigned long data)
+ 		goto death;
+ 	}
+ 
+-	if (tp->defer_tcp_accept.request && sk->sk_state == TCP_ESTABLISHED) {
+-		tcp_send_active_reset(sk, GFP_ATOMIC);
+-		goto death;
+-	}
+-
+ 	if (!sock_flag(sk, SOCK_KEEPOPEN) || sk->sk_state == TCP_CLOSE)
+ 		goto out;
+ 
+diff --git a/net/ipv4/xfrm4_mode_tunnel.c b/net/ipv4/xfrm4_mode_tunnel.c
+index 584e6d7..7135279 100644
+--- a/net/ipv4/xfrm4_mode_tunnel.c
++++ b/net/ipv4/xfrm4_mode_tunnel.c
+@@ -52,7 +52,7 @@ static int xfrm4_mode_tunnel_output(struct xfrm_state *x, struct sk_buff *skb)
+ 		IP_ECN_clear(top_iph);
+ 
+ 	top_iph->frag_off = (flags & XFRM_STATE_NOPMTUDISC) ?
+-			    0 : XFRM_MODE_SKB_CB(skb)->frag_off;
++		0 : (XFRM_MODE_SKB_CB(skb)->frag_off & htons(IP_DF));
+ 	ip_select_ident(top_iph, dst->child, NULL);
+ 
+ 	top_iph->ttl = dst_metric(dst->child, RTAX_HOPLIMIT);
+diff --git a/net/ipv6/datagram.c b/net/ipv6/datagram.c
+index b9c2de8..0f0f94a 100644
+--- a/net/ipv6/datagram.c
++++ b/net/ipv6/datagram.c
+@@ -705,6 +705,11 @@ int datagram_send_ctl(struct net *net,
+ 			}
+ 
+ 			*hlimit = *(int *)CMSG_DATA(cmsg);
++			if (*hlimit < -1 || *hlimit > 0xff) {
++				err = -EINVAL;
++				goto exit_f;
++			}
++
+ 			break;
+ 
+ 		case IPV6_TCLASS:
+diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c
+index 26b83e5..c042ce1 100644
+--- a/net/ipv6/ipv6_sockglue.c
++++ b/net/ipv6/ipv6_sockglue.c
+@@ -67,7 +67,7 @@ int ip6_ra_control(struct sock *sk, int sel, void (*destructor)(struct sock *))
+ 
+ 	/* RA packet may be delivered ONLY to IPPROTO_RAW socket */
+ 	if (sk->sk_type != SOCK_RAW || inet_sk(sk)->num != IPPROTO_RAW)
+-		return -EINVAL;
++		return -ENOPROTOOPT;
+ 
+ 	new_ra = (sel>=0) ? kmalloc(sizeof(*new_ra), GFP_KERNEL) : NULL;
+ 
+@@ -446,7 +446,7 @@ done:
+ 
+ 	case IPV6_MULTICAST_HOPS:
+ 		if (sk->sk_type == SOCK_STREAM)
+-			goto e_inval;
++			break;
+ 		if (optlen < sizeof(int))
+ 			goto e_inval;
+ 		if (val > 255 || val < -1)
+@@ -458,13 +458,15 @@ done:
+ 	case IPV6_MULTICAST_LOOP:
+ 		if (optlen < sizeof(int))
+ 			goto e_inval;
++		if (val != valbool)
++			goto e_inval;
+ 		np->mc_loop = valbool;
+ 		retv = 0;
+ 		break;
+ 
+ 	case IPV6_MULTICAST_IF:
+ 		if (sk->sk_type == SOCK_STREAM)
+-			goto e_inval;
++			break;
+ 		if (optlen < sizeof(int))
+ 			goto e_inval;
+ 
+@@ -860,7 +862,7 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname,
+ 		if (sk->sk_protocol != IPPROTO_UDP &&
+ 		    sk->sk_protocol != IPPROTO_UDPLITE &&
+ 		    sk->sk_protocol != IPPROTO_TCP)
+-			return -EINVAL;
++			return -ENOPROTOOPT;
+ 		if (sk->sk_state != TCP_ESTABLISHED)
+ 			return -ENOTCONN;
+ 		val = sk->sk_family;
+@@ -874,6 +876,8 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname,
+ 			return -EINVAL;
+ 		if (copy_from_user(&gsf, optval, GROUP_FILTER_SIZE(0)))
+ 			return -EFAULT;
++		if (gsf.gf_group.ss_family != AF_INET6)
++			return -EADDRNOTAVAIL;
+ 		lock_sock(sk);
+ 		err = ip6_mc_msfget(sk, &gsf,
+ 			(struct group_filter __user *)optval, optlen);
+diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
+index 8fee9a1..3aee123 100644
+--- a/net/ipv6/raw.c
++++ b/net/ipv6/raw.c
+@@ -1169,7 +1169,8 @@ static int raw6_destroy(struct sock *sk)
+ 	lock_sock(sk);
+ 	ip6_flush_pending_frames(sk);
+ 	release_sock(sk);
+-	return 0;
++
++	return inet6_destroy_sock(sk);
+ }
+ 
+ static int rawv6_init_sk(struct sock *sk)
+@@ -1200,7 +1201,6 @@ struct proto rawv6_prot = {
+ 	.disconnect	   = udp_disconnect,
+ 	.ioctl		   = rawv6_ioctl,
+ 	.init		   = rawv6_init_sk,
+-	.destroy	   = inet6_destroy_sock,
+ 	.setsockopt	   = rawv6_setsockopt,
+ 	.getsockopt	   = rawv6_getsockopt,
+ 	.sendmsg	   = rawv6_sendmsg,
+diff --git a/net/ipv6/route.c b/net/ipv6/route.c
+index 220cffe..d1f3e19 100644
+--- a/net/ipv6/route.c
++++ b/net/ipv6/route.c
+@@ -2196,8 +2196,12 @@ static int rt6_fill_node(struct sk_buff *skb, struct rt6_info *rt,
+ 
+ 	NLA_PUT_U32(skb, RTA_PRIORITY, rt->rt6i_metric);
+ 
+-	expires = (rt->rt6i_flags & RTF_EXPIRES) ?
+-			rt->rt6i_expires - jiffies : 0;
++	if (!(rt->rt6i_flags & RTF_EXPIRES))
++		expires = 0;
++	else if (rt->rt6i_expires - jiffies < INT_MAX)
++		expires = rt->rt6i_expires - jiffies;
++	else
++		expires = INT_MAX;
+ 
+ 	if (rtnl_put_cacheinfo(skb, &rt->u.dst, 0, 0, 0,
+ 			       expires, rt->u.dst.error) < 0)
+diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c
+index 3de6ffd..32e871a 100644
+--- a/net/ipv6/sit.c
++++ b/net/ipv6/sit.c
+@@ -222,15 +222,18 @@ __ipip6_tunnel_locate_prl(struct ip_tunnel *t, __be32 addr)
+ 
+ }
+ 
+-static int ipip6_tunnel_get_prl(struct ip_tunnel *t, struct ip_tunnel_prl *a)
++static int ipip6_tunnel_get_prl(struct ip_tunnel *t,
++				struct ip_tunnel_prl __user *a)
+ {
+-	struct ip_tunnel_prl *kp;
++	struct ip_tunnel_prl kprl, *kp;
+ 	struct ip_tunnel_prl_entry *prl;
+ 	unsigned int cmax, c = 0, ca, len;
+ 	int ret = 0;
+ 
+-	cmax = a->datalen / sizeof(*a);
+-	if (cmax > 1 && a->addr != htonl(INADDR_ANY))
++	if (copy_from_user(&kprl, a, sizeof(kprl)))
++		return -EFAULT;
++	cmax = kprl.datalen / sizeof(kprl);
++	if (cmax > 1 && kprl.addr != htonl(INADDR_ANY))
+ 		cmax = 1;
+ 
+ 	/* For simple GET or for root users,
+@@ -261,26 +264,25 @@ static int ipip6_tunnel_get_prl(struct ip_tunnel *t, struct ip_tunnel_prl *a)
+ 	for (prl = t->prl; prl; prl = prl->next) {
+ 		if (c > cmax)
+ 			break;
+-		if (a->addr != htonl(INADDR_ANY) && prl->addr != a->addr)
++		if (kprl.addr != htonl(INADDR_ANY) && prl->addr != kprl.addr)
+ 			continue;
+ 		kp[c].addr = prl->addr;
+ 		kp[c].flags = prl->flags;
+ 		c++;
+-		if (a->addr != htonl(INADDR_ANY))
++		if (kprl.addr != htonl(INADDR_ANY))
+ 			break;
+ 	}
+ out:
+ 	read_unlock(&ipip6_lock);
+ 
+ 	len = sizeof(*kp) * c;
+-	ret = len ? copy_to_user(a->data, kp, len) : 0;
++	ret = 0;
++	if ((len && copy_to_user(a + 1, kp, len)) || put_user(len, &a->datalen))
++		ret = -EFAULT;
+ 
+ 	kfree(kp);
+-	if (ret)
+-		return -EFAULT;
+ 
+-	a->datalen = len;
+-	return 0;
++	return ret;
+ }
+ 
+ static int
+@@ -873,11 +875,20 @@ ipip6_tunnel_ioctl (struct net_device *dev, struct ifreq *ifr, int cmd)
+ 		break;
+ 
+ 	case SIOCGETPRL:
++		err = -EINVAL;
++		if (dev == sitn->fb_tunnel_dev)
++			goto done;
++		err = -ENOENT;
++		if (!(t = netdev_priv(dev)))
++			goto done;
++		err = ipip6_tunnel_get_prl(t, ifr->ifr_ifru.ifru_data);
++		break;
++
+ 	case SIOCADDPRL:
+ 	case SIOCDELPRL:
+ 	case SIOCCHGPRL:
+ 		err = -EPERM;
+-		if (cmd != SIOCGETPRL && !capable(CAP_NET_ADMIN))
++		if (!capable(CAP_NET_ADMIN))
+ 			goto done;
+ 		err = -EINVAL;
+ 		if (dev == sitn->fb_tunnel_dev)
+@@ -890,12 +901,6 @@ ipip6_tunnel_ioctl (struct net_device *dev, struct ifreq *ifr, int cmd)
+ 			goto done;
+ 
+ 		switch (cmd) {
+-		case SIOCGETPRL:
+-			err = ipip6_tunnel_get_prl(t, &prl);
+-			if (!err && copy_to_user(ifr->ifr_ifru.ifru_data,
+-						 &prl, sizeof(prl)))
+-				err = -EFAULT;
+-			break;
+ 		case SIOCDELPRL:
+ 			err = ipip6_tunnel_del_prl(t, &prl);
+ 			break;
+@@ -904,8 +909,7 @@ ipip6_tunnel_ioctl (struct net_device *dev, struct ifreq *ifr, int cmd)
+ 			err = ipip6_tunnel_add_prl(t, &prl, cmd == SIOCCHGPRL);
+ 			break;
+ 		}
+-		if (cmd != SIOCGETPRL)
+-			netdev_state_change(dev);
++		netdev_state_change(dev);
+ 		break;
+ 
+ 	default:
+diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
+index 1d7dd54..28d8bd5 100644
+--- a/net/mac80211/tx.c
++++ b/net/mac80211/tx.c
+@@ -1562,13 +1562,13 @@ int ieee80211_subif_start_xmit(struct sk_buff *skb,
+ 	 * be cloned. This could happen, e.g., with Linux bridge code passing
+ 	 * us broadcast frames. */
+ 
+-	if (head_need > 0 || skb_header_cloned(skb)) {
++	if (head_need > 0 || skb_cloned(skb)) {
+ #if 0
+ 		printk(KERN_DEBUG "%s: need to reallocate buffer for %d bytes "
+ 		       "of headroom\n", dev->name, head_need);
+ #endif
+ 
+-		if (skb_header_cloned(skb))
++		if (skb_cloned(skb))
+ 			I802_DEBUG_INC(local->tx_expand_skb_head_cloned);
+ 		else
+ 			I802_DEBUG_INC(local->tx_expand_skb_head);
+diff --git a/net/mac80211/wext.c b/net/mac80211/wext.c
+index a8bb8e3..6106cb7 100644
+--- a/net/mac80211/wext.c
++++ b/net/mac80211/wext.c
+@@ -496,7 +496,8 @@ static int ieee80211_ioctl_giwap(struct net_device *dev,
+ 	sdata = IEEE80211_DEV_TO_SUB_IF(dev);
+ 	if (sdata->vif.type == IEEE80211_IF_TYPE_STA ||
+ 	    sdata->vif.type == IEEE80211_IF_TYPE_IBSS) {
+-		if (sdata->u.sta.state == IEEE80211_ASSOCIATED) {
++		if (sdata->u.sta.state == IEEE80211_ASSOCIATED ||
++		    sdata->u.sta.state == IEEE80211_IBSS_JOINED) {
+ 			ap_addr->sa_family = ARPHRD_ETHER;
+ 			memcpy(&ap_addr->sa_data, sdata->u.sta.bssid, ETH_ALEN);
+ 			return 0;
+diff --git a/net/mac80211/wme.c b/net/mac80211/wme.c
+index dc1598b..635b996 100644
+--- a/net/mac80211/wme.c
++++ b/net/mac80211/wme.c
+@@ -673,7 +673,7 @@ int ieee80211_ht_agg_queue_add(struct ieee80211_local *local,
+ #ifdef CONFIG_MAC80211_HT_DEBUG
+ 			if (net_ratelimit())
+ 				printk(KERN_DEBUG "allocated aggregation queue"
+-					" %d tid %d addr %s pool=0x%lX",
++					" %d tid %d addr %s pool=0x%lX\n",
+ 					i, tid, print_mac(mac, sta->addr),
+ 					q->qdisc_pool[0]);
+ #endif /* CONFIG_MAC80211_HT_DEBUG */
+diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c
+index c4b1799..662c1cc 100644
+--- a/net/netfilter/nf_conntrack_core.c
++++ b/net/netfilter/nf_conntrack_core.c
+@@ -196,8 +196,6 @@ destroy_conntrack(struct nf_conntrack *nfct)
+ 	if (l4proto && l4proto->destroy)
+ 		l4proto->destroy(ct);
+ 
+-	nf_ct_ext_destroy(ct);
+-
+ 	rcu_read_unlock();
+ 
+ 	spin_lock_bh(&nf_conntrack_lock);
+@@ -520,6 +518,7 @@ static void nf_conntrack_free_rcu(struct rcu_head *head)
+ 
+ void nf_conntrack_free(struct nf_conn *ct)
+ {
++	nf_ct_ext_destroy(ct);
+ 	call_rcu(&ct->rcu, nf_conntrack_free_rcu);
+ }
+ EXPORT_SYMBOL_GPL(nf_conntrack_free);
+diff --git a/net/netfilter/nf_conntrack_extend.c b/net/netfilter/nf_conntrack_extend.c
+index bcc19fa..8a3f8b3 100644
+--- a/net/netfilter/nf_conntrack_extend.c
++++ b/net/netfilter/nf_conntrack_extend.c
+@@ -59,12 +59,19 @@ nf_ct_ext_create(struct nf_ct_ext **ext, enum nf_ct_ext_id id, gfp_t gfp)
+ 	if (!*ext)
+ 		return NULL;
+ 
++	INIT_RCU_HEAD(&(*ext)->rcu);
+ 	(*ext)->offset[id] = off;
+ 	(*ext)->len = len;
+ 
+ 	return (void *)(*ext) + off;
+ }
+ 
++static void __nf_ct_ext_free_rcu(struct rcu_head *head)
++{
++	struct nf_ct_ext *ext = container_of(head, struct nf_ct_ext, rcu);
++	kfree(ext);
++}
++
+ void *__nf_ct_ext_add(struct nf_conn *ct, enum nf_ct_ext_id id, gfp_t gfp)
+ {
+ 	struct nf_ct_ext *new;
+@@ -106,7 +113,7 @@ void *__nf_ct_ext_add(struct nf_conn *ct, enum nf_ct_ext_id id, gfp_t gfp)
+ 					(void *)ct->ext + ct->ext->offset[i]);
+ 			rcu_read_unlock();
+ 		}
+-		kfree(ct->ext);
++		call_rcu(&ct->ext->rcu, __nf_ct_ext_free_rcu);
+ 		ct->ext = new;
+ 	}
+ 
+diff --git a/net/netfilter/nf_conntrack_h323_main.c b/net/netfilter/nf_conntrack_h323_main.c
+index 95da1a2..2f83c15 100644
+--- a/net/netfilter/nf_conntrack_h323_main.c
++++ b/net/netfilter/nf_conntrack_h323_main.c
+@@ -619,6 +619,7 @@ static const struct nf_conntrack_expect_policy h245_exp_policy = {
+ static struct nf_conntrack_helper nf_conntrack_helper_h245 __read_mostly = {
+ 	.name			= "H.245",
+ 	.me			= THIS_MODULE,
++	.tuple.src.l3num	= AF_UNSPEC,
+ 	.tuple.dst.protonum	= IPPROTO_UDP,
+ 	.help			= h245_help,
+ 	.expect_policy		= &h245_exp_policy,
+@@ -1765,6 +1766,7 @@ static void __exit nf_conntrack_h323_fini(void)
+ 	nf_conntrack_helper_unregister(&nf_conntrack_helper_ras[0]);
+ 	nf_conntrack_helper_unregister(&nf_conntrack_helper_q931[1]);
+ 	nf_conntrack_helper_unregister(&nf_conntrack_helper_q931[0]);
++	nf_conntrack_helper_unregister(&nf_conntrack_helper_h245);
+ 	kfree(h323_buffer);
+ 	pr_debug("nf_ct_h323: fini\n");
+ }
+@@ -1777,28 +1779,34 @@ static int __init nf_conntrack_h323_init(void)
+ 	h323_buffer = kmalloc(65536, GFP_KERNEL);
+ 	if (!h323_buffer)
+ 		return -ENOMEM;
+-	ret = nf_conntrack_helper_register(&nf_conntrack_helper_q931[0]);
++	ret = nf_conntrack_helper_register(&nf_conntrack_helper_h245);
+ 	if (ret < 0)
+ 		goto err1;
+-	ret = nf_conntrack_helper_register(&nf_conntrack_helper_q931[1]);
++	ret = nf_conntrack_helper_register(&nf_conntrack_helper_q931[0]);
+ 	if (ret < 0)
+ 		goto err2;
+-	ret = nf_conntrack_helper_register(&nf_conntrack_helper_ras[0]);
++	ret = nf_conntrack_helper_register(&nf_conntrack_helper_q931[1]);
+ 	if (ret < 0)
+ 		goto err3;
+-	ret = nf_conntrack_helper_register(&nf_conntrack_helper_ras[1]);
++	ret = nf_conntrack_helper_register(&nf_conntrack_helper_ras[0]);
+ 	if (ret < 0)
+ 		goto err4;
++	ret = nf_conntrack_helper_register(&nf_conntrack_helper_ras[1]);
++	if (ret < 0)
++		goto err5;
+ 	pr_debug("nf_ct_h323: init success\n");
+ 	return 0;
+ 
+-err4:
++err5:
+ 	nf_conntrack_helper_unregister(&nf_conntrack_helper_ras[0]);
+-err3:
++err4:
+ 	nf_conntrack_helper_unregister(&nf_conntrack_helper_q931[1]);
+-err2:
++err3:
+ 	nf_conntrack_helper_unregister(&nf_conntrack_helper_q931[0]);
++err2:
++	nf_conntrack_helper_unregister(&nf_conntrack_helper_h245);
+ err1:
++	kfree(h323_buffer);
+ 	return ret;
+ }
+ 
+diff --git a/net/netfilter/nf_log.c b/net/netfilter/nf_log.c
+index bc11d70..9fda6ee 100644
+--- a/net/netfilter/nf_log.c
++++ b/net/netfilter/nf_log.c
+@@ -92,10 +92,6 @@ void nf_log_packet(int pf,
+ 		vsnprintf(prefix, sizeof(prefix), fmt, args);
+ 		va_end(args);
+ 		logger->logfn(pf, hooknum, skb, in, out, loginfo, prefix);
+-	} else if (net_ratelimit()) {
+-		printk(KERN_WARNING "nf_log_packet: can\'t log since "
+-		       "no backend logging module loaded in! Please either "
+-		       "load one, or disable logging explicitly\n");
+ 	}
+ 	rcu_read_unlock();
+ }
+diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c
+index f5aa23c..3e1191c 100644
+--- a/net/netlink/genetlink.c
++++ b/net/netlink/genetlink.c
+@@ -444,8 +444,11 @@ static int genl_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
+ 		if (ops->dumpit == NULL)
+ 			return -EOPNOTSUPP;
+ 
+-		return netlink_dump_start(genl_sock, skb, nlh,
+-					  ops->dumpit, ops->done);
++		genl_unlock();
++		err = netlink_dump_start(genl_sock, skb, nlh,
++					 ops->dumpit, ops->done);
++		genl_lock();
++		return err;
+ 	}
+ 
+ 	if (ops->doit == NULL)
+@@ -603,9 +606,6 @@ static int ctrl_dumpfamily(struct sk_buff *skb, struct netlink_callback *cb)
+ 	int chains_to_skip = cb->args[0];
+ 	int fams_to_skip = cb->args[1];
+ 
+-	if (chains_to_skip != 0)
+-		genl_lock();
+-
+ 	for (i = 0; i < GENL_FAM_TAB_SIZE; i++) {
+ 		if (i < chains_to_skip)
+ 			continue;
+@@ -623,9 +623,6 @@ static int ctrl_dumpfamily(struct sk_buff *skb, struct netlink_callback *cb)
+ 	}
+ 
+ errout:
+-	if (chains_to_skip != 0)
+-		genl_unlock();
+-
+ 	cb->args[0] = i;
+ 	cb->args[1] = n;
+ 
+@@ -770,7 +767,7 @@ static int __init genl_init(void)
+ 
+ 	/* we'll bump the group number right afterwards */
+ 	genl_sock = netlink_kernel_create(&init_net, NETLINK_GENERIC, 0,
+-					  genl_rcv, NULL, THIS_MODULE);
++					  genl_rcv, &genl_mutex, THIS_MODULE);
+ 	if (genl_sock == NULL)
+ 		panic("GENL: Cannot initialize generic netlink\n");
+ 
+diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c
+index 5bc1ed4..6807c97 100644
+--- a/net/sched/sch_htb.c
++++ b/net/sched/sch_htb.c
+@@ -28,6 +28,7 @@
+  * $Id: sch_htb.c,v 1.25 2003/12/07 11:08:25 devik Exp devik $
+  */
+ #include <linux/module.h>
++#include <linux/moduleparam.h>
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+ #include <linux/string.h>
+@@ -53,13 +54,17 @@
+ */
+ 
+ #define HTB_HSIZE 16		/* classid hash size */
+-#define HTB_HYSTERESIS 1	/* whether to use mode hysteresis for speedup */
++static int htb_hysteresis __read_mostly = 0; /* whether to use mode hysteresis for speedup */
+ #define HTB_VER 0x30011		/* major must be matched with number suplied by TC as version */
+ 
+ #if HTB_VER >> 16 != TC_HTB_PROTOVER
+ #error "Mismatched sch_htb.c and pkt_sch.h"
+ #endif
+ 
++/* Module parameter and sysfs export */
++module_param    (htb_hysteresis, int, 0640);
++MODULE_PARM_DESC(htb_hysteresis, "Hysteresis mode, less CPU load, less accurate");
++
+ /* used internaly to keep status of single class */
+ enum htb_cmode {
+ 	HTB_CANT_SEND,		/* class can't send and can't borrow */
+@@ -462,19 +467,21 @@ static void htb_deactivate_prios(struct htb_sched *q, struct htb_class *cl)
+ 		htb_remove_class_from_row(q, cl, mask);
+ }
+ 
+-#if HTB_HYSTERESIS
+ static inline long htb_lowater(const struct htb_class *cl)
+ {
+-	return cl->cmode != HTB_CANT_SEND ? -cl->cbuffer : 0;
++	if (htb_hysteresis)
++		return cl->cmode != HTB_CANT_SEND ? -cl->cbuffer : 0;
++	else
++		return 0;
+ }
+ static inline long htb_hiwater(const struct htb_class *cl)
+ {
+-	return cl->cmode == HTB_CAN_SEND ? -cl->buffer : 0;
++	if (htb_hysteresis)
++		return cl->cmode == HTB_CAN_SEND ? -cl->buffer : 0;
++	else
++		return 0;
+ }
+-#else
+-#define htb_lowater(cl)	(0)
+-#define htb_hiwater(cl)	(0)
+-#endif
++
+ 
+ /**
+  * htb_class_mode - computes and returns current class mode
+diff --git a/net/sctp/associola.c b/net/sctp/associola.c
+index 5326348..024c3eb 100644
+--- a/net/sctp/associola.c
++++ b/net/sctp/associola.c
+@@ -474,6 +474,15 @@ static void sctp_association_destroy(struct sctp_association *asoc)
+ void sctp_assoc_set_primary(struct sctp_association *asoc,
+ 			    struct sctp_transport *transport)
+ {
++	int changeover = 0;
++
++	/* it's a changeover only if we already have a primary path
++	 * that we are changing
++	 */
++	if (asoc->peer.primary_path != NULL &&
++	    asoc->peer.primary_path != transport)
++		changeover = 1 ;
++
+ 	asoc->peer.primary_path = transport;
+ 
+ 	/* Set a default msg_name for events. */
+@@ -499,12 +508,12 @@ void sctp_assoc_set_primary(struct sctp_association *asoc,
+ 	 * double switch to the same destination address.
+ 	 */
+ 	if (transport->cacc.changeover_active)
+-		transport->cacc.cycling_changeover = 1;
++		transport->cacc.cycling_changeover = changeover;
+ 
+ 	/* 2) The sender MUST set CHANGEOVER_ACTIVE to indicate that
+ 	 * a changeover has occurred.
+ 	 */
+-	transport->cacc.changeover_active = 1;
++	transport->cacc.changeover_active = changeover;
+ 
+ 	/* 3) The sender MUST store the next TSN to be sent in
+ 	 * next_tsn_at_change.
+diff --git a/net/sctp/protocol.c b/net/sctp/protocol.c
+index b435a19..9258dfe 100644
+--- a/net/sctp/protocol.c
++++ b/net/sctp/protocol.c
+@@ -108,14 +108,23 @@ static __init int sctp_proc_init(void)
+ 	}
+ 
+ 	if (sctp_snmp_proc_init())
+-		goto out_nomem;
++		goto out_snmp_proc_init;
+ 	if (sctp_eps_proc_init())
+-		goto out_nomem;
++		goto out_eps_proc_init;
+ 	if (sctp_assocs_proc_init())
+-		goto out_nomem;
++		goto out_assocs_proc_init;
+ 
+ 	return 0;
+ 
++out_assocs_proc_init:
++	sctp_eps_proc_exit();
++out_eps_proc_init:
++	sctp_snmp_proc_exit();
++out_snmp_proc_init:
++	if (proc_net_sctp) {
++		proc_net_sctp = NULL;
++		remove_proc_entry("sctp", init_net.proc_net);
++	}
+ out_nomem:
+ 	return -ENOMEM;
+ }
+diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
+index e18cd36..657835f 100644
+--- a/net/unix/af_unix.c
++++ b/net/unix/af_unix.c
+@@ -169,6 +169,11 @@ static inline int unix_may_send(struct sock *sk, struct sock *osk)
+ 	return (unix_peer(osk) == NULL || unix_our_peer(sk, osk));
+ }
+ 
++static inline int unix_recvq_full(struct sock const *sk)
++{
++	return skb_queue_len(&sk->sk_receive_queue) > sk->sk_max_ack_backlog;
++}
++
+ static struct sock *unix_peer_get(struct sock *s)
+ {
+ 	struct sock *peer;
+@@ -482,6 +487,8 @@ static int unix_socketpair(struct socket *, struct socket *);
+ static int unix_accept(struct socket *, struct socket *, int);
+ static int unix_getname(struct socket *, struct sockaddr *, int *, int);
+ static unsigned int unix_poll(struct file *, struct socket *, poll_table *);
++static unsigned int unix_datagram_poll(struct file *, struct socket *,
++				       poll_table *);
+ static int unix_ioctl(struct socket *, unsigned int, unsigned long);
+ static int unix_shutdown(struct socket *, int);
+ static int unix_stream_sendmsg(struct kiocb *, struct socket *,
+@@ -527,7 +534,7 @@ static const struct proto_ops unix_dgram_ops = {
+ 	.socketpair =	unix_socketpair,
+ 	.accept =	sock_no_accept,
+ 	.getname =	unix_getname,
+-	.poll =		datagram_poll,
++	.poll =		unix_datagram_poll,
+ 	.ioctl =	unix_ioctl,
+ 	.listen =	sock_no_listen,
+ 	.shutdown =	unix_shutdown,
+@@ -548,7 +555,7 @@ static const struct proto_ops unix_seqpacket_ops = {
+ 	.socketpair =	unix_socketpair,
+ 	.accept =	unix_accept,
+ 	.getname =	unix_getname,
+-	.poll =		datagram_poll,
++	.poll =		unix_datagram_poll,
+ 	.ioctl =	unix_ioctl,
+ 	.listen =	unix_listen,
+ 	.shutdown =	unix_shutdown,
+@@ -983,8 +990,7 @@ static long unix_wait_for_peer(struct sock *other, long timeo)
+ 
+ 	sched = !sock_flag(other, SOCK_DEAD) &&
+ 		!(other->sk_shutdown & RCV_SHUTDOWN) &&
+-		(skb_queue_len(&other->sk_receive_queue) >
+-		 other->sk_max_ack_backlog);
++		unix_recvq_full(other);
+ 
+ 	unix_state_unlock(other);
+ 
+@@ -1058,8 +1064,7 @@ restart:
+ 	if (other->sk_state != TCP_LISTEN)
+ 		goto out_unlock;
+ 
+-	if (skb_queue_len(&other->sk_receive_queue) >
+-	    other->sk_max_ack_backlog) {
++	if (unix_recvq_full(other)) {
+ 		err = -EAGAIN;
+ 		if (!timeo)
+ 			goto out_unlock;
+@@ -1428,9 +1433,7 @@ restart:
+ 			goto out_unlock;
+ 	}
+ 
+-	if (unix_peer(other) != sk &&
+-	    (skb_queue_len(&other->sk_receive_queue) >
+-	     other->sk_max_ack_backlog)) {
++	if (unix_peer(other) != sk && unix_recvq_full(other)) {
+ 		if (!timeo) {
+ 			err = -EAGAIN;
+ 			goto out_unlock;
+@@ -1991,6 +1994,64 @@ static unsigned int unix_poll(struct file * file, struct socket *sock, poll_tabl
+ 	return mask;
+ }
+ 
++static unsigned int unix_datagram_poll(struct file *file, struct socket *sock,
++				       poll_table *wait)
++{
++	struct sock *sk = sock->sk, *peer;
++	unsigned int mask;
++
++	poll_wait(file, sk->sk_sleep, wait);
++
++	peer = unix_peer_get(sk);
++	if (peer) {
++		if (peer != sk) {
++			/*
++			 * Writability of a connected socket additionally
++			 * depends on the state of the receive queue of the
++			 * peer.
++			 */
++			poll_wait(file, &unix_sk(peer)->peer_wait, wait);
++		} else {
++			sock_put(peer);
++			peer = NULL;
++		}
++	}
++
++	mask = 0;
++
++	/* exceptional events? */
++	if (sk->sk_err || !skb_queue_empty(&sk->sk_error_queue))
++		mask |= POLLERR;
++	if (sk->sk_shutdown & RCV_SHUTDOWN)
++		mask |= POLLRDHUP;
++	if (sk->sk_shutdown == SHUTDOWN_MASK)
++		mask |= POLLHUP;
++
++	/* readable? */
++	if (!skb_queue_empty(&sk->sk_receive_queue) ||
++	    (sk->sk_shutdown & RCV_SHUTDOWN))
++		mask |= POLLIN | POLLRDNORM;
++
++	/* Connection-based need to check for termination and startup */
++	if (sk->sk_type == SOCK_SEQPACKET) {
++		if (sk->sk_state == TCP_CLOSE)
++			mask |= POLLHUP;
++		/* connection hasn't started yet? */
++		if (sk->sk_state == TCP_SYN_SENT)
++			return mask;
++	}
++
++	/* writable? */
++	if (unix_writable(sk) && !(peer && unix_recvq_full(peer)))
++		mask |= POLLOUT | POLLWRNORM | POLLWRBAND;
++	else
++		set_bit(SOCK_ASYNC_NOSPACE, &sk->sk_socket->flags);
++
++	if (peer)
++		sock_put(peer);
++
++	return mask;
++}
+ 
+ #ifdef CONFIG_PROC_FS
+ static struct sock *first_unix_socket(int *i)
+diff --git a/security/dummy.c b/security/dummy.c
+index f50c6c3..b891688 100644
+--- a/security/dummy.c
++++ b/security/dummy.c
+@@ -27,6 +27,8 @@
+ #include <linux/hugetlb.h>
+ #include <linux/ptrace.h>
+ #include <linux/file.h>
++#include <linux/prctl.h>
++#include <linux/securebits.h>
+ 
+ static int dummy_ptrace (struct task_struct *parent, struct task_struct *child)
+ {
+@@ -607,7 +609,27 @@ static int dummy_task_kill (struct task_struct *p, struct siginfo *info,
+ static int dummy_task_prctl (int option, unsigned long arg2, unsigned long arg3,
+ 			     unsigned long arg4, unsigned long arg5, long *rc_p)
+ {
+-	return 0;
++	switch (option) {
++	case PR_CAPBSET_READ:
++		*rc_p = (cap_valid(arg2) ? 1 : -EINVAL);
++		break;
++	case PR_GET_KEEPCAPS:
++		*rc_p = issecure(SECURE_KEEP_CAPS);
++		break;
++	case PR_SET_KEEPCAPS:
++		if (arg2 > 1)
++			*rc_p = -EINVAL;
++		else if (arg2)
++			current->securebits |= issecure_mask(SECURE_KEEP_CAPS);
++		else
++			current->securebits &=
++				~issecure_mask(SECURE_KEEP_CAPS);
++		break;
++	default:
++		return 0;
++	}
++
++	return 1;
+ }
+ 
+ static void dummy_task_reparent_to_init (struct task_struct *p)
+diff --git a/sound/pci/oxygen/oxygen_mixer.c b/sound/pci/oxygen/oxygen_mixer.c
+index cc0cdda..6facac5 100644
+--- a/sound/pci/oxygen/oxygen_mixer.c
++++ b/sound/pci/oxygen/oxygen_mixer.c
+@@ -936,11 +936,13 @@ static int add_controls(struct oxygen *chip,
+ 
+ 	for (i = 0; i < count; ++i) {
+ 		template = controls[i];
+-		err = chip->model->control_filter(&template);
+-		if (err < 0)
+-			return err;
+-		if (err == 1)
+-			continue;
++		if (chip->model->control_filter) {
++			err = chip->model->control_filter(&template);
++			if (err < 0)
++				return err;
++			if (err == 1)
++				continue;
++		}
+ 		if (!strcmp(template.name, "Master Playback Volume") &&
+ 		    chip->model->dac_tlv) {
+ 			template.tlv.p = chip->model->dac_tlv;

Modified: dists/trunk/linux-2.6/debian/patches/series/1~experimental.1
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/series/1~experimental.1	(original)
+++ dists/trunk/linux-2.6/debian/patches/series/1~experimental.1	Thu Jun 19 08:43:15 2008
@@ -1,4 +1,4 @@
-+ bugfix/all/patch-2.6.26-rc6-git1
++ bugfix/all/patch-2.6.26-rc6-git6
 + debian/version.patch
 + debian/kernelvariables.patch
 + debian/doc-build-parallel.patch



More information about the Kernel-svn-changes mailing list