aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/Kconfig13
-rw-r--r--arch/arm/configs/ep93xx_defconfig123
-rw-r--r--arch/arm/configs/iop13xx_defconfig99
-rw-r--r--arch/arm/configs/iop32x_defconfig213
-rw-r--r--arch/arm/configs/iop33x_defconfig110
-rw-r--r--arch/arm/configs/ixp2000_defconfig114
-rw-r--r--arch/arm/configs/ixp23xx_defconfig136
-rw-r--r--arch/arm/configs/lpd270_defconfig103
-rw-r--r--arch/arm/configs/onearm_defconfig126
-rw-r--r--arch/arm/kernel/apm.c2
-rw-r--r--arch/arm/kernel/calls.S37
-rw-r--r--arch/arm/kernel/ecard.c2
-rw-r--r--arch/arm/kernel/head.S19
-rw-r--r--arch/arm/kernel/setup.c4
-rw-r--r--arch/arm/kernel/sys_arm.c13
-rw-r--r--arch/arm/mach-at91rm9200/at91sam9260_devices.c1
-rw-r--r--arch/arm/mach-at91rm9200/board-sam9260ek.c1
-rw-r--r--arch/arm/mach-ep93xx/core.c4
-rw-r--r--arch/arm/mach-imx/Makefile2
-rw-r--r--arch/arm/mach-imx/cpufreq.c287
-rw-r--r--arch/arm/mach-iop13xx/io.c19
-rw-r--r--arch/arm/mach-iop13xx/iq81340mc.c6
-rw-r--r--arch/arm/mach-iop13xx/iq81340sc.c6
-rw-r--r--arch/arm/mach-iop13xx/irq.c22
-rw-r--r--arch/arm/mach-iop13xx/setup.c2
-rw-r--r--arch/arm/mach-netx/time.c42
-rw-r--r--arch/arm/mach-omap1/Kconfig1
-rw-r--r--arch/arm/mach-omap1/board-osk.c1
-rw-r--r--arch/arm/mach-omap2/board-apollon.c1
-rw-r--r--arch/arm/mach-omap2/gpmc.c21
-rw-r--r--arch/arm/mach-pxa/generic.c4
-rw-r--r--arch/arm/mach-pxa/time.c45
-rw-r--r--arch/arm/mach-pxa/trizeps4.c5
-rw-r--r--arch/arm/mach-s3c2410/Kconfig25
-rw-r--r--arch/arm/mach-s3c2410/cpu.c1
-rw-r--r--arch/arm/mach-s3c2410/devs.c1
-rw-r--r--arch/arm/mach-s3c2410/dma.c6
-rw-r--r--arch/arm/mach-s3c2410/irq.h2
-rw-r--r--arch/arm/mach-s3c2410/mach-anubis.c1
-rw-r--r--arch/arm/mach-s3c2410/mach-bast.c1
-rw-r--r--arch/arm/mach-s3c2410/mach-h1940.c3
-rw-r--r--arch/arm/mach-s3c2410/mach-n30.c3
-rw-r--r--arch/arm/mach-s3c2410/mach-nexcoder.c1
-rw-r--r--arch/arm/mach-s3c2410/mach-osiris.c1
-rw-r--r--arch/arm/mach-s3c2410/mach-otom.c1
-rw-r--r--arch/arm/mach-s3c2410/mach-smdk2410.c1
-rw-r--r--arch/arm/mach-s3c2410/mach-smdk2413.c1
-rw-r--r--arch/arm/mach-s3c2410/mach-smdk2440.c1
-rw-r--r--arch/arm/mach-s3c2410/mach-vr1000.c2
-rw-r--r--arch/arm/mach-s3c2410/mach-vstms.c1
-rw-r--r--arch/arm/mach-s3c2410/pm-simtec.c1
-rw-r--r--arch/arm/mach-s3c2410/pm.c1
-rw-r--r--arch/arm/mach-s3c2410/s3c2410-clock.c5
-rw-r--r--arch/arm/mach-s3c2410/s3c2410-dma.c9
-rw-r--r--arch/arm/mach-s3c2410/s3c2410-pm.c8
-rw-r--r--arch/arm/mach-s3c2410/s3c2410.c3
-rw-r--r--arch/arm/mach-s3c2410/s3c2412-clock.c11
-rw-r--r--arch/arm/mach-s3c2410/s3c2412-dma.c3
-rw-r--r--arch/arm/mach-s3c2410/s3c2412.c2
-rw-r--r--arch/arm/mach-s3c2410/s3c2440-clock.c24
-rw-r--r--arch/arm/mach-s3c2410/s3c2440-dma.c3
-rw-r--r--arch/arm/mach-s3c2410/s3c2440.c9
-rw-r--r--arch/arm/mach-s3c2410/s3c2440.h18
-rw-r--r--arch/arm/mach-s3c2410/s3c2442-clock.c22
-rw-r--r--arch/arm/mach-s3c2410/s3c2442.c20
-rw-r--r--arch/arm/mach-s3c2410/s3c244x.c3
-rw-r--r--arch/arm/mach-s3c2410/usb-simtec.h3
-rw-r--r--arch/arm/mach-sa1100/jornada720.c229
-rw-r--r--arch/arm/mm/consistent.c2
-rw-r--r--arch/arm/mm/copypage-v4mc.c8
-rw-r--r--arch/arm/mm/copypage-v6.c10
-rw-r--r--arch/arm/mm/copypage-xscale.c8
-rw-r--r--arch/arm/mm/fault-armv.c2
-rw-r--r--arch/arm/mm/flush.c2
-rw-r--r--arch/arm/mm/ioremap.c102
-rw-r--r--arch/arm/mm/mmu.c28
-rw-r--r--arch/arm/mm/pgd.c2
-rw-r--r--arch/arm/mm/proc-arm1020.S4
-rw-r--r--arch/arm/mm/proc-arm1020e.S4
-rw-r--r--arch/arm/mm/proc-arm1022.S6
-rw-r--r--arch/arm/mm/proc-arm1026.S6
-rw-r--r--arch/arm/mm/proc-arm6_7.S10
-rw-r--r--arch/arm/mm/proc-arm720.S6
-rw-r--r--arch/arm/mm/proc-arm920.S6
-rw-r--r--arch/arm/mm/proc-arm922.S6
-rw-r--r--arch/arm/mm/proc-arm925.S6
-rw-r--r--arch/arm/mm/proc-arm926.S8
-rw-r--r--arch/arm/mm/proc-sa110.S6
-rw-r--r--arch/arm/mm/proc-sa1100.S6
-rw-r--r--arch/arm/mm/proc-syms.c2
-rw-r--r--arch/arm/mm/proc-v6.S39
-rw-r--r--arch/arm/mm/proc-xsc3.S8
-rw-r--r--arch/arm/mm/proc-xscale.S6
-rw-r--r--arch/arm/vfp/vfpmodule.c41
-rw-r--r--arch/arm26/kernel/ecard.c2
-rw-r--r--arch/arm26/kernel/irq.c2
-rw-r--r--arch/cris/arch-v10/drivers/axisflashmap.c2
-rw-r--r--arch/cris/arch-v10/drivers/gpio.c2
-rw-r--r--arch/cris/arch-v32/drivers/axisflashmap.c2
-rw-r--r--arch/cris/arch-v32/drivers/gpio.c2
-rw-r--r--arch/cris/arch-v32/kernel/signal.c2
-rw-r--r--arch/cris/kernel/profile.c2
-rw-r--r--arch/h8300/kernel/ints.c2
-rw-r--r--arch/h8300/platform/h8s/ints.c2
-rw-r--r--arch/i386/boot/compressed/.gitignore1
-rw-r--r--arch/i386/boot/compressed/head.S2
-rw-r--r--arch/i386/defconfig4
-rw-r--r--arch/i386/kernel/acpi/boot.c22
-rw-r--r--arch/i386/kernel/apm.c8
-rw-r--r--arch/i386/kernel/e820.c2
-rw-r--r--arch/i386/kernel/entry.S32
-rw-r--r--arch/i386/kernel/microcode.c8
-rw-r--r--arch/i386/kernel/process.c7
-rw-r--r--arch/i386/kernel/ptrace.c21
-rw-r--r--arch/i386/kernel/setup.c2
-rw-r--r--arch/i386/kernel/smpboot.c2
-rw-r--r--arch/i386/kernel/traps.c83
-rw-r--r--arch/i386/mm/discontig.c28
-rw-r--r--arch/i386/mm/init.c10
-rw-r--r--arch/i386/pci/fixup.c13
-rw-r--r--arch/i386/pci/mmconfig.c6
-rw-r--r--arch/ia64/kernel/cpufreq/acpi-cpufreq.c4
-rw-r--r--arch/ia64/kernel/process.c10
-rw-r--r--arch/ia64/sn/kernel/sn2/sn_hwperf.c2
-rw-r--r--arch/m68k/mm/kmap.c2
-rw-r--r--arch/mips/kernel/apm.c2
-rw-r--r--arch/mips/mm/init.c25
-rw-r--r--arch/parisc/hpux/sys_hpux.c2
-rw-r--r--arch/parisc/kernel/unwind.c2
-rw-r--r--arch/powerpc/boot/Makefile3
-rw-r--r--arch/powerpc/configs/cell_defconfig358
-rw-r--r--arch/powerpc/kernel/nvram_64.c4
-rw-r--r--arch/powerpc/kernel/of_platform.c1
-rw-r--r--arch/powerpc/kernel/pci_32.c2
-rw-r--r--arch/powerpc/kernel/pci_64.c1
-rw-r--r--arch/powerpc/kernel/prom_parse.c15
-rw-r--r--arch/powerpc/kernel/signal_32.c16
-rw-r--r--arch/powerpc/mm/imalloc.c6
-rw-r--r--arch/powerpc/platforms/Makefile2
-rw-r--r--arch/powerpc/platforms/cell/io-workarounds.c2
-rw-r--r--arch/powerpc/platforms/cell/spu_priv1_mmio.c95
-rw-r--r--arch/powerpc/platforms/iseries/Kconfig2
-rw-r--r--arch/powerpc/platforms/pseries/eeh_cache.c2
-rw-r--r--arch/powerpc/sysdev/mpic.c2
-rw-r--r--arch/ppc/8260_io/fcc_enet.c4
-rw-r--r--arch/ppc/8xx_io/cs4218_tdm.c2
-rw-r--r--arch/s390/Kconfig2
-rw-r--r--arch/s390/defconfig47
-rw-r--r--arch/s390/hypfs/hypfs_diag.c4
-rw-r--r--arch/s390/kernel/debug.c8
-rw-r--r--arch/s390/kernel/ipl.c59
-rw-r--r--arch/s390/kernel/reipl.S6
-rw-r--r--arch/s390/kernel/reipl64.S5
-rw-r--r--arch/s390/kernel/reset.S42
-rw-r--r--arch/s390/kernel/s390_ext.c2
-rw-r--r--arch/sparc/defconfig711
-rw-r--r--arch/sparc/kernel/ioport.c5
-rw-r--r--arch/sparc/kernel/irq.c4
-rw-r--r--arch/sparc/kernel/sparc_ksyms.c8
-rw-r--r--arch/sparc/kernel/sun4d_irq.c2
-rw-r--r--arch/sparc/kernel/time.c5
-rw-r--r--arch/sparc/lib/Makefile4
-rw-r--r--arch/sparc/lib/atomic32.c39
-rw-r--r--arch/sparc/lib/bitops.S109
-rw-r--r--arch/sparc64/defconfig36
-rw-r--r--arch/sparc64/kernel/head.S7
-rw-r--r--arch/sparc64/kernel/irq.c24
-rw-r--r--arch/sparc64/kernel/isa.c20
-rw-r--r--arch/sparc64/kernel/of_device.c7
-rw-r--r--arch/sparc64/kernel/smp.c7
-rw-r--r--arch/sparc64/kernel/sys_sunos32.c4
-rw-r--r--arch/sparc64/mm/init.c147
-rw-r--r--arch/um/drivers/net_kern.c15
-rw-r--r--arch/um/include/net_kern.h2
-rw-r--r--arch/um/sys-i386/ldt.c4
-rw-r--r--arch/x86_64/Makefile2
-rw-r--r--arch/x86_64/defconfig4
-rw-r--r--arch/x86_64/kernel/entry.S33
-rw-r--r--arch/x86_64/kernel/pci-calgary.c11
-rw-r--r--arch/x86_64/kernel/process.c6
-rw-r--r--arch/x86_64/kernel/traps.c86
-rw-r--r--arch/x86_64/kernel/vmlinux.lds.S2
-rw-r--r--arch/xtensa/kernel/Makefile2
-rw-r--r--arch/xtensa/kernel/syscall.c2
184 files changed, 3218 insertions, 1446 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index aa1d400d721a..6783c2e5512d 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -740,7 +740,7 @@ config XIP_PHYS_ADDR
740 740
741endmenu 741endmenu
742 742
743if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP) 743if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_IMX )
744 744
745menu "CPU Frequency scaling" 745menu "CPU Frequency scaling"
746 746
@@ -767,6 +767,15 @@ config CPU_FREQ_INTEGRATOR
767 767
768 If in doubt, say Y. 768 If in doubt, say Y.
769 769
770config CPU_FREQ_IMX
771 tristate "CPUfreq driver for i.MX CPUs"
772 depends on ARCH_IMX && CPU_FREQ
773 default n
774 help
775 This enables the CPUfreq driver for i.MX CPUs.
776
777 If in doubt, say N.
778
770endmenu 779endmenu
771 780
772endif 781endif
@@ -945,6 +954,8 @@ source "drivers/video/Kconfig"
945 954
946source "sound/Kconfig" 955source "sound/Kconfig"
947 956
957source "drivers/hid/Kconfig"
958
948source "drivers/usb/Kconfig" 959source "drivers/usb/Kconfig"
949 960
950source "drivers/mmc/Kconfig" 961source "drivers/mmc/Kconfig"
diff --git a/arch/arm/configs/ep93xx_defconfig b/arch/arm/configs/ep93xx_defconfig
index f8a66b72ad5d..24a701ab33e5 100644
--- a/arch/arm/configs/ep93xx_defconfig
+++ b/arch/arm/configs/ep93xx_defconfig
@@ -1,14 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.18-rc1-git9 3# Linux kernel version: 2.6.20-rc1
4# Sat Jul 15 15:08:10 2006 4# Sat Dec 16 06:05:24 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
7CONFIG_MMU=y 8CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y 9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
9CONFIG_HARDIRQS_SW_RESEND=y 11CONFIG_HARDIRQS_SW_RESEND=y
10CONFIG_GENERIC_IRQ_PROBE=y 12CONFIG_GENERIC_IRQ_PROBE=y
11CONFIG_RWSEM_GENERIC_SPINLOCK=y 13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
12CONFIG_GENERIC_HWEIGHT=y 16CONFIG_GENERIC_HWEIGHT=y
13CONFIG_GENERIC_CALIBRATE_DELAY=y 17CONFIG_GENERIC_CALIBRATE_DELAY=y
14CONFIG_VECTORS_BASE=0xffff0000 18CONFIG_VECTORS_BASE=0xffff0000
@@ -28,18 +32,22 @@ CONFIG_LOCALVERSION=""
28CONFIG_LOCALVERSION_AUTO=y 32CONFIG_LOCALVERSION_AUTO=y
29CONFIG_SWAP=y 33CONFIG_SWAP=y
30CONFIG_SYSVIPC=y 34CONFIG_SYSVIPC=y
35# CONFIG_IPC_NS is not set
31# CONFIG_POSIX_MQUEUE is not set 36# CONFIG_POSIX_MQUEUE is not set
32# CONFIG_BSD_PROCESS_ACCT is not set 37# CONFIG_BSD_PROCESS_ACCT is not set
33# CONFIG_TASKSTATS is not set 38# CONFIG_TASKSTATS is not set
34CONFIG_SYSCTL=y 39# CONFIG_UTS_NS is not set
35# CONFIG_AUDIT is not set 40# CONFIG_AUDIT is not set
36CONFIG_IKCONFIG=y 41CONFIG_IKCONFIG=y
37CONFIG_IKCONFIG_PROC=y 42CONFIG_IKCONFIG_PROC=y
43CONFIG_SYSFS_DEPRECATED=y
38# CONFIG_RELAY is not set 44# CONFIG_RELAY is not set
39CONFIG_INITRAMFS_SOURCE="" 45CONFIG_INITRAMFS_SOURCE=""
40CONFIG_UID16=y
41CONFIG_CC_OPTIMIZE_FOR_SIZE=y 46CONFIG_CC_OPTIMIZE_FOR_SIZE=y
47CONFIG_SYSCTL=y
42CONFIG_EMBEDDED=y 48CONFIG_EMBEDDED=y
49CONFIG_UID16=y
50CONFIG_SYSCTL_SYSCALL=y
43CONFIG_KALLSYMS=y 51CONFIG_KALLSYMS=y
44# CONFIG_KALLSYMS_ALL is not set 52# CONFIG_KALLSYMS_ALL is not set
45# CONFIG_KALLSYMS_EXTRA_PASS is not set 53# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -48,12 +56,12 @@ CONFIG_PRINTK=y
48CONFIG_BUG=y 56CONFIG_BUG=y
49CONFIG_ELF_CORE=y 57CONFIG_ELF_CORE=y
50CONFIG_BASE_FULL=y 58CONFIG_BASE_FULL=y
51CONFIG_RT_MUTEXES=y
52CONFIG_FUTEX=y 59CONFIG_FUTEX=y
53CONFIG_EPOLL=y 60CONFIG_EPOLL=y
54CONFIG_SHMEM=y 61CONFIG_SHMEM=y
55CONFIG_SLAB=y 62CONFIG_SLAB=y
56CONFIG_VM_EVENT_COUNTERS=y 63CONFIG_VM_EVENT_COUNTERS=y
64CONFIG_RT_MUTEXES=y
57# CONFIG_TINY_SHMEM is not set 65# CONFIG_TINY_SHMEM is not set
58CONFIG_BASE_SMALL=0 66CONFIG_BASE_SMALL=0
59# CONFIG_SLOB is not set 67# CONFIG_SLOB is not set
@@ -71,7 +79,10 @@ CONFIG_KMOD=y
71# 79#
72# Block layer 80# Block layer
73# 81#
82CONFIG_BLOCK=y
83# CONFIG_LBD is not set
74# CONFIG_BLK_DEV_IO_TRACE is not set 84# CONFIG_BLK_DEV_IO_TRACE is not set
85# CONFIG_LSF is not set
75 86
76# 87#
77# IO Schedulers 88# IO Schedulers
@@ -103,7 +114,9 @@ CONFIG_ARCH_EP93XX=y
103# CONFIG_ARCH_NETX is not set 114# CONFIG_ARCH_NETX is not set
104# CONFIG_ARCH_H720X is not set 115# CONFIG_ARCH_H720X is not set
105# CONFIG_ARCH_IMX is not set 116# CONFIG_ARCH_IMX is not set
106# CONFIG_ARCH_IOP3XX is not set 117# CONFIG_ARCH_IOP32X is not set
118# CONFIG_ARCH_IOP33X is not set
119# CONFIG_ARCH_IOP13XX is not set
107# CONFIG_ARCH_IXP4XX is not set 120# CONFIG_ARCH_IXP4XX is not set
108# CONFIG_ARCH_IXP2000 is not set 121# CONFIG_ARCH_IXP2000 is not set
109# CONFIG_ARCH_IXP23XX is not set 122# CONFIG_ARCH_IXP23XX is not set
@@ -127,6 +140,7 @@ CONFIG_CRUNCH=y
127# 140#
128CONFIG_MACH_ADSSPHERE=y 141CONFIG_MACH_ADSSPHERE=y
129CONFIG_MACH_EDB9302=y 142CONFIG_MACH_EDB9302=y
143CONFIG_MACH_EDB9302A=y
130CONFIG_MACH_EDB9312=y 144CONFIG_MACH_EDB9312=y
131CONFIG_MACH_EDB9315=y 145CONFIG_MACH_EDB9315=y
132CONFIG_MACH_EDB9315A=y 146CONFIG_MACH_EDB9315A=y
@@ -138,12 +152,14 @@ CONFIG_MACH_TS72XX=y
138# 152#
139CONFIG_CPU_32=y 153CONFIG_CPU_32=y
140CONFIG_CPU_ARM920T=y 154CONFIG_CPU_ARM920T=y
141CONFIG_CPU_32v4=y 155CONFIG_CPU_32v4T=y
142CONFIG_CPU_ABRT_EV4T=y 156CONFIG_CPU_ABRT_EV4T=y
143CONFIG_CPU_CACHE_V4WT=y 157CONFIG_CPU_CACHE_V4WT=y
144CONFIG_CPU_CACHE_VIVT=y 158CONFIG_CPU_CACHE_VIVT=y
145CONFIG_CPU_COPY_V4WB=y 159CONFIG_CPU_COPY_V4WB=y
146CONFIG_CPU_TLB_V4WBI=y 160CONFIG_CPU_TLB_V4WBI=y
161CONFIG_CPU_CP15=y
162CONFIG_CPU_CP15_MMU=y
147 163
148# 164#
149# Processor Features 165# Processor Features
@@ -230,6 +246,7 @@ CONFIG_PACKET_MMAP=y
230CONFIG_UNIX=y 246CONFIG_UNIX=y
231CONFIG_XFRM=y 247CONFIG_XFRM=y
232# CONFIG_XFRM_USER is not set 248# CONFIG_XFRM_USER is not set
249# CONFIG_XFRM_SUB_POLICY is not set
233CONFIG_NET_KEY=y 250CONFIG_NET_KEY=y
234CONFIG_INET=y 251CONFIG_INET=y
235# CONFIG_IP_MULTICAST is not set 252# CONFIG_IP_MULTICAST is not set
@@ -250,13 +267,29 @@ CONFIG_SYN_COOKIES=y
250# CONFIG_INET_TUNNEL is not set 267# CONFIG_INET_TUNNEL is not set
251CONFIG_INET_XFRM_MODE_TRANSPORT=y 268CONFIG_INET_XFRM_MODE_TRANSPORT=y
252CONFIG_INET_XFRM_MODE_TUNNEL=y 269CONFIG_INET_XFRM_MODE_TUNNEL=y
270CONFIG_INET_XFRM_MODE_BEET=y
253CONFIG_INET_DIAG=y 271CONFIG_INET_DIAG=y
254CONFIG_INET_TCP_DIAG=y 272CONFIG_INET_TCP_DIAG=y
255# CONFIG_TCP_CONG_ADVANCED is not set 273# CONFIG_TCP_CONG_ADVANCED is not set
256CONFIG_TCP_CONG_BIC=y 274CONFIG_TCP_CONG_CUBIC=y
257# CONFIG_IPV6 is not set 275CONFIG_DEFAULT_TCP_CONG="cubic"
276# CONFIG_TCP_MD5SIG is not set
277CONFIG_IPV6=y
278# CONFIG_IPV6_PRIVACY is not set
279# CONFIG_IPV6_ROUTER_PREF is not set
280# CONFIG_INET6_AH is not set
281# CONFIG_INET6_ESP is not set
282# CONFIG_INET6_IPCOMP is not set
283# CONFIG_IPV6_MIP6 is not set
258# CONFIG_INET6_XFRM_TUNNEL is not set 284# CONFIG_INET6_XFRM_TUNNEL is not set
259# CONFIG_INET6_TUNNEL is not set 285# CONFIG_INET6_TUNNEL is not set
286# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
287# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
288# CONFIG_INET6_XFRM_MODE_BEET is not set
289# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
290# CONFIG_IPV6_SIT is not set
291# CONFIG_IPV6_TUNNEL is not set
292# CONFIG_IPV6_MULTIPLE_TABLES is not set
260# CONFIG_NETWORK_SECMARK is not set 293# CONFIG_NETWORK_SECMARK is not set
261# CONFIG_NETFILTER is not set 294# CONFIG_NETFILTER is not set
262 295
@@ -283,7 +316,6 @@ CONFIG_TCP_CONG_BIC=y
283# CONFIG_ATALK is not set 316# CONFIG_ATALK is not set
284# CONFIG_X25 is not set 317# CONFIG_X25 is not set
285# CONFIG_LAPB is not set 318# CONFIG_LAPB is not set
286# CONFIG_NET_DIVERT is not set
287# CONFIG_ECONET is not set 319# CONFIG_ECONET is not set
288# CONFIG_WAN_ROUTER is not set 320# CONFIG_WAN_ROUTER is not set
289 321
@@ -330,7 +362,7 @@ CONFIG_MTD_REDBOOT_PARTS=y
330CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 362CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
331# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set 363# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
332# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set 364# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
333# CONFIG_MTD_CMDLINE_PARTS is not set 365CONFIG_MTD_CMDLINE_PARTS=y
334# CONFIG_MTD_AFS_PARTS is not set 366# CONFIG_MTD_AFS_PARTS is not set
335 367
336# 368#
@@ -342,6 +374,7 @@ CONFIG_MTD_BLOCK=y
342# CONFIG_NFTL is not set 374# CONFIG_NFTL is not set
343# CONFIG_INFTL is not set 375# CONFIG_INFTL is not set
344# CONFIG_RFD_FTL is not set 376# CONFIG_RFD_FTL is not set
377# CONFIG_SSFDC is not set
345 378
346# 379#
347# RAM/ROM/Flash chip drivers 380# RAM/ROM/Flash chip drivers
@@ -430,7 +463,7 @@ CONFIG_MTD_NAND_IDS=y
430# 463#
431# CONFIG_BLK_DEV_COW_COMMON is not set 464# CONFIG_BLK_DEV_COW_COMMON is not set
432# CONFIG_BLK_DEV_LOOP is not set 465# CONFIG_BLK_DEV_LOOP is not set
433# CONFIG_BLK_DEV_NBD is not set 466CONFIG_BLK_DEV_NBD=y
434# CONFIG_BLK_DEV_UB is not set 467# CONFIG_BLK_DEV_UB is not set
435# CONFIG_BLK_DEV_RAM is not set 468# CONFIG_BLK_DEV_RAM is not set
436# CONFIG_BLK_DEV_INITRD is not set 469# CONFIG_BLK_DEV_INITRD is not set
@@ -442,6 +475,8 @@ CONFIG_MTD_NAND_IDS=y
442# 475#
443# CONFIG_RAID_ATTRS is not set 476# CONFIG_RAID_ATTRS is not set
444CONFIG_SCSI=y 477CONFIG_SCSI=y
478# CONFIG_SCSI_TGT is not set
479# CONFIG_SCSI_NETLINK is not set
445# CONFIG_SCSI_PROC_FS is not set 480# CONFIG_SCSI_PROC_FS is not set
446 481
447# 482#
@@ -460,23 +495,29 @@ CONFIG_BLK_DEV_SD=y
460# CONFIG_SCSI_MULTI_LUN is not set 495# CONFIG_SCSI_MULTI_LUN is not set
461# CONFIG_SCSI_CONSTANTS is not set 496# CONFIG_SCSI_CONSTANTS is not set
462# CONFIG_SCSI_LOGGING is not set 497# CONFIG_SCSI_LOGGING is not set
498# CONFIG_SCSI_SCAN_ASYNC is not set
463 499
464# 500#
465# SCSI Transport Attributes 501# SCSI Transports
466# 502#
467# CONFIG_SCSI_SPI_ATTRS is not set 503# CONFIG_SCSI_SPI_ATTRS is not set
468# CONFIG_SCSI_FC_ATTRS is not set 504# CONFIG_SCSI_FC_ATTRS is not set
469# CONFIG_SCSI_ISCSI_ATTRS is not set 505# CONFIG_SCSI_ISCSI_ATTRS is not set
470# CONFIG_SCSI_SAS_ATTRS is not set 506# CONFIG_SCSI_SAS_ATTRS is not set
507# CONFIG_SCSI_SAS_LIBSAS is not set
471 508
472# 509#
473# SCSI low-level drivers 510# SCSI low-level drivers
474# 511#
475# CONFIG_ISCSI_TCP is not set 512# CONFIG_ISCSI_TCP is not set
476# CONFIG_SCSI_SATA is not set
477# CONFIG_SCSI_DEBUG is not set 513# CONFIG_SCSI_DEBUG is not set
478 514
479# 515#
516# Serial ATA (prod) and Parallel ATA (experimental) drivers
517#
518# CONFIG_ATA is not set
519
520#
480# Multi-device support (RAID and LVM) 521# Multi-device support (RAID and LVM)
481# 522#
482# CONFIG_MD is not set 523# CONFIG_MD is not set
@@ -513,6 +554,7 @@ CONFIG_NETDEVICES=y
513# 554#
514CONFIG_NET_ETHERNET=y 555CONFIG_NET_ETHERNET=y
515CONFIG_MII=y 556CONFIG_MII=y
557CONFIG_EP93XX_ETH=y
516# CONFIG_SMC91X is not set 558# CONFIG_SMC91X is not set
517# CONFIG_DM9000 is not set 559# CONFIG_DM9000 is not set
518 560
@@ -607,17 +649,12 @@ CONFIG_EP93XX_WATCHDOG=y
607# CONFIG_NVRAM is not set 649# CONFIG_NVRAM is not set
608# CONFIG_DTLK is not set 650# CONFIG_DTLK is not set
609# CONFIG_R3964 is not set 651# CONFIG_R3964 is not set
610
611#
612# Ftape, the floppy tape device driver
613#
614# CONFIG_RAW_DRIVER is not set 652# CONFIG_RAW_DRIVER is not set
615 653
616# 654#
617# TPM devices 655# TPM devices
618# 656#
619# CONFIG_TCG_TPM is not set 657# CONFIG_TCG_TPM is not set
620# CONFIG_TELCLOCK is not set
621 658
622# 659#
623# I2C support 660# I2C support
@@ -645,7 +682,7 @@ CONFIG_I2C_ALGOBIT=y
645# 682#
646# CONFIG_SENSORS_DS1337 is not set 683# CONFIG_SENSORS_DS1337 is not set
647# CONFIG_SENSORS_DS1374 is not set 684# CONFIG_SENSORS_DS1374 is not set
648# CONFIG_SENSORS_EEPROM is not set 685CONFIG_SENSORS_EEPROM=y
649# CONFIG_SENSORS_PCF8574 is not set 686# CONFIG_SENSORS_PCF8574 is not set
650# CONFIG_SENSORS_PCA9539 is not set 687# CONFIG_SENSORS_PCA9539 is not set
651# CONFIG_SENSORS_PCF8591 is not set 688# CONFIG_SENSORS_PCF8591 is not set
@@ -664,6 +701,7 @@ CONFIG_I2C_DEBUG_CHIP=y
664# 701#
665# Dallas's 1-wire bus 702# Dallas's 1-wire bus
666# 703#
704# CONFIG_W1 is not set
667 705
668# 706#
669# Hardware Monitoring support 707# Hardware Monitoring support
@@ -697,12 +735,15 @@ CONFIG_HWMON=y
697# CONFIG_SENSORS_LM92 is not set 735# CONFIG_SENSORS_LM92 is not set
698# CONFIG_SENSORS_MAX1619 is not set 736# CONFIG_SENSORS_MAX1619 is not set
699# CONFIG_SENSORS_PC87360 is not set 737# CONFIG_SENSORS_PC87360 is not set
738# CONFIG_SENSORS_PC87427 is not set
700# CONFIG_SENSORS_SMSC47M1 is not set 739# CONFIG_SENSORS_SMSC47M1 is not set
701# CONFIG_SENSORS_SMSC47M192 is not set 740# CONFIG_SENSORS_SMSC47M192 is not set
702# CONFIG_SENSORS_SMSC47B397 is not set 741# CONFIG_SENSORS_SMSC47B397 is not set
742# CONFIG_SENSORS_VT1211 is not set
703# CONFIG_SENSORS_W83781D is not set 743# CONFIG_SENSORS_W83781D is not set
704# CONFIG_SENSORS_W83791D is not set 744# CONFIG_SENSORS_W83791D is not set
705# CONFIG_SENSORS_W83792D is not set 745# CONFIG_SENSORS_W83792D is not set
746# CONFIG_SENSORS_W83793 is not set
706# CONFIG_SENSORS_W83L785TS is not set 747# CONFIG_SENSORS_W83L785TS is not set
707# CONFIG_SENSORS_W83627HF is not set 748# CONFIG_SENSORS_W83627HF is not set
708# CONFIG_SENSORS_W83627EHF is not set 749# CONFIG_SENSORS_W83627EHF is not set
@@ -711,6 +752,7 @@ CONFIG_HWMON=y
711# 752#
712# Misc devices 753# Misc devices
713# 754#
755# CONFIG_TIFM_CORE is not set
714 756
715# 757#
716# LED devices 758# LED devices
@@ -729,7 +771,6 @@ CONFIG_HWMON=y
729# Multimedia devices 771# Multimedia devices
730# 772#
731# CONFIG_VIDEO_DEV is not set 773# CONFIG_VIDEO_DEV is not set
732CONFIG_VIDEO_V4L2=y
733 774
734# 775#
735# Digital Video Broadcasting Devices 776# Digital Video Broadcasting Devices
@@ -742,6 +783,7 @@ CONFIG_VIDEO_V4L2=y
742# 783#
743# CONFIG_FIRMWARE_EDID is not set 784# CONFIG_FIRMWARE_EDID is not set
744# CONFIG_FB is not set 785# CONFIG_FB is not set
786# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
745 787
746# 788#
747# Sound 789# Sound
@@ -763,6 +805,7 @@ CONFIG_USB_DEBUG=y
763CONFIG_USB_DEVICEFS=y 805CONFIG_USB_DEVICEFS=y
764# CONFIG_USB_BANDWIDTH is not set 806# CONFIG_USB_BANDWIDTH is not set
765CONFIG_USB_DYNAMIC_MINORS=y 807CONFIG_USB_DYNAMIC_MINORS=y
808# CONFIG_USB_MULTITHREAD_PROBE is not set
766# CONFIG_USB_OTG is not set 809# CONFIG_USB_OTG is not set
767 810
768# 811#
@@ -797,12 +840,12 @@ CONFIG_USB_STORAGE=y
797# CONFIG_USB_STORAGE_SDDR55 is not set 840# CONFIG_USB_STORAGE_SDDR55 is not set
798# CONFIG_USB_STORAGE_JUMPSHOT is not set 841# CONFIG_USB_STORAGE_JUMPSHOT is not set
799# CONFIG_USB_STORAGE_ALAUDA is not set 842# CONFIG_USB_STORAGE_ALAUDA is not set
843# CONFIG_USB_STORAGE_KARMA is not set
800# CONFIG_USB_LIBUSUAL is not set 844# CONFIG_USB_LIBUSUAL is not set
801 845
802# 846#
803# USB Input Devices 847# USB Input Devices
804# 848#
805# CONFIG_USB_HID is not set
806 849
807# 850#
808# USB HID Boot Protocol drivers 851# USB HID Boot Protocol drivers
@@ -821,6 +864,7 @@ CONFIG_USB_STORAGE=y
821# CONFIG_USB_KAWETH is not set 864# CONFIG_USB_KAWETH is not set
822# CONFIG_USB_PEGASUS is not set 865# CONFIG_USB_PEGASUS is not set
823CONFIG_USB_RTL8150=y 866CONFIG_USB_RTL8150=y
867# CONFIG_USB_USBNET_MII is not set
824# CONFIG_USB_USBNET is not set 868# CONFIG_USB_USBNET is not set
825# CONFIG_USB_MON is not set 869# CONFIG_USB_MON is not set
826 870
@@ -834,8 +878,8 @@ CONFIG_USB_RTL8150=y
834CONFIG_USB_SERIAL=y 878CONFIG_USB_SERIAL=y
835CONFIG_USB_SERIAL_CONSOLE=y 879CONFIG_USB_SERIAL_CONSOLE=y
836# CONFIG_USB_SERIAL_GENERIC is not set 880# CONFIG_USB_SERIAL_GENERIC is not set
881# CONFIG_USB_SERIAL_AIRCABLE is not set
837# CONFIG_USB_SERIAL_AIRPRIME is not set 882# CONFIG_USB_SERIAL_AIRPRIME is not set
838# CONFIG_USB_SERIAL_ANYDATA is not set
839# CONFIG_USB_SERIAL_ARK3116 is not set 883# CONFIG_USB_SERIAL_ARK3116 is not set
840# CONFIG_USB_SERIAL_BELKIN is not set 884# CONFIG_USB_SERIAL_BELKIN is not set
841# CONFIG_USB_SERIAL_WHITEHEAT is not set 885# CONFIG_USB_SERIAL_WHITEHEAT is not set
@@ -857,6 +901,8 @@ CONFIG_USB_SERIAL_CONSOLE=y
857# CONFIG_USB_SERIAL_KLSI is not set 901# CONFIG_USB_SERIAL_KLSI is not set
858# CONFIG_USB_SERIAL_KOBIL_SCT is not set 902# CONFIG_USB_SERIAL_KOBIL_SCT is not set
859# CONFIG_USB_SERIAL_MCT_U232 is not set 903# CONFIG_USB_SERIAL_MCT_U232 is not set
904# CONFIG_USB_SERIAL_MOS7720 is not set
905# CONFIG_USB_SERIAL_MOS7840 is not set
860# CONFIG_USB_SERIAL_NAVMAN is not set 906# CONFIG_USB_SERIAL_NAVMAN is not set
861CONFIG_USB_SERIAL_PL2303=y 907CONFIG_USB_SERIAL_PL2303=y
862# CONFIG_USB_SERIAL_HP4X is not set 908# CONFIG_USB_SERIAL_HP4X is not set
@@ -867,12 +913,14 @@ CONFIG_USB_SERIAL_PL2303=y
867# CONFIG_USB_SERIAL_XIRCOM is not set 913# CONFIG_USB_SERIAL_XIRCOM is not set
868# CONFIG_USB_SERIAL_OPTION is not set 914# CONFIG_USB_SERIAL_OPTION is not set
869# CONFIG_USB_SERIAL_OMNINET is not set 915# CONFIG_USB_SERIAL_OMNINET is not set
916# CONFIG_USB_SERIAL_DEBUG is not set
870 917
871# 918#
872# USB Miscellaneous drivers 919# USB Miscellaneous drivers
873# 920#
874# CONFIG_USB_EMI62 is not set 921# CONFIG_USB_EMI62 is not set
875# CONFIG_USB_EMI26 is not set 922# CONFIG_USB_EMI26 is not set
923# CONFIG_USB_ADUTUX is not set
876# CONFIG_USB_AUERSWALD is not set 924# CONFIG_USB_AUERSWALD is not set
877# CONFIG_USB_RIO500 is not set 925# CONFIG_USB_RIO500 is not set
878# CONFIG_USB_LEGOTOWER is not set 926# CONFIG_USB_LEGOTOWER is not set
@@ -880,11 +928,12 @@ CONFIG_USB_SERIAL_PL2303=y
880# CONFIG_USB_LED is not set 928# CONFIG_USB_LED is not set
881# CONFIG_USB_CYPRESS_CY7C63 is not set 929# CONFIG_USB_CYPRESS_CY7C63 is not set
882# CONFIG_USB_CYTHERM is not set 930# CONFIG_USB_CYTHERM is not set
883# CONFIG_USB_PHIDGETKIT is not set 931# CONFIG_USB_PHIDGET is not set
884# CONFIG_USB_PHIDGETSERVO is not set
885# CONFIG_USB_IDMOUSE is not set 932# CONFIG_USB_IDMOUSE is not set
933# CONFIG_USB_FTDI_ELAN is not set
886# CONFIG_USB_APPLEDISPLAY is not set 934# CONFIG_USB_APPLEDISPLAY is not set
887# CONFIG_USB_LD is not set 935# CONFIG_USB_LD is not set
936# CONFIG_USB_TRANCEVIBRATOR is not set
888# CONFIG_USB_TEST is not set 937# CONFIG_USB_TEST is not set
889 938
890# 939#
@@ -908,6 +957,7 @@ CONFIG_RTC_LIB=y
908CONFIG_RTC_CLASS=y 957CONFIG_RTC_CLASS=y
909CONFIG_RTC_HCTOSYS=y 958CONFIG_RTC_HCTOSYS=y
910CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 959CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
960# CONFIG_RTC_DEBUG is not set
911 961
912# 962#
913# RTC interfaces 963# RTC interfaces
@@ -921,7 +971,7 @@ CONFIG_RTC_INTF_DEV=y
921# RTC drivers 971# RTC drivers
922# 972#
923# CONFIG_RTC_DRV_X1205 is not set 973# CONFIG_RTC_DRV_X1205 is not set
924# CONFIG_RTC_DRV_DS1307 is not set 974CONFIG_RTC_DRV_DS1307=y
925# CONFIG_RTC_DRV_DS1553 is not set 975# CONFIG_RTC_DRV_DS1553 is not set
926# CONFIG_RTC_DRV_ISL1208 is not set 976# CONFIG_RTC_DRV_ISL1208 is not set
927# CONFIG_RTC_DRV_DS1672 is not set 977# CONFIG_RTC_DRV_DS1672 is not set
@@ -943,12 +993,14 @@ CONFIG_EXT2_FS=y
943# CONFIG_EXT2_FS_XIP is not set 993# CONFIG_EXT2_FS_XIP is not set
944CONFIG_EXT3_FS=y 994CONFIG_EXT3_FS=y
945# CONFIG_EXT3_FS_XATTR is not set 995# CONFIG_EXT3_FS_XATTR is not set
996# CONFIG_EXT4DEV_FS is not set
946CONFIG_JBD=y 997CONFIG_JBD=y
947# CONFIG_JBD_DEBUG is not set 998# CONFIG_JBD_DEBUG is not set
948# CONFIG_REISERFS_FS is not set 999# CONFIG_REISERFS_FS is not set
949# CONFIG_JFS_FS is not set 1000# CONFIG_JFS_FS is not set
950# CONFIG_FS_POSIX_ACL is not set 1001# CONFIG_FS_POSIX_ACL is not set
951# CONFIG_XFS_FS is not set 1002# CONFIG_XFS_FS is not set
1003# CONFIG_GFS2_FS is not set
952# CONFIG_OCFS2_FS is not set 1004# CONFIG_OCFS2_FS is not set
953# CONFIG_MINIX_FS is not set 1005# CONFIG_MINIX_FS is not set
954# CONFIG_ROMFS_FS is not set 1006# CONFIG_ROMFS_FS is not set
@@ -980,8 +1032,10 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
980# Pseudo filesystems 1032# Pseudo filesystems
981# 1033#
982CONFIG_PROC_FS=y 1034CONFIG_PROC_FS=y
1035CONFIG_PROC_SYSCTL=y
983CONFIG_SYSFS=y 1036CONFIG_SYSFS=y
984CONFIG_TMPFS=y 1037CONFIG_TMPFS=y
1038# CONFIG_TMPFS_POSIX_ACL is not set
985# CONFIG_HUGETLB_PAGE is not set 1039# CONFIG_HUGETLB_PAGE is not set
986CONFIG_RAMFS=y 1040CONFIG_RAMFS=y
987# CONFIG_CONFIGFS_FS is not set 1041# CONFIG_CONFIGFS_FS is not set
@@ -1102,6 +1156,11 @@ CONFIG_NLS_ISO8859_1=y
1102# CONFIG_NLS_UTF8 is not set 1156# CONFIG_NLS_UTF8 is not set
1103 1157
1104# 1158#
1159# Distributed Lock Manager
1160#
1161# CONFIG_DLM is not set
1162
1163#
1105# Profiling support 1164# Profiling support
1106# 1165#
1107# CONFIG_PROFILING is not set 1166# CONFIG_PROFILING is not set
@@ -1110,8 +1169,11 @@ CONFIG_NLS_ISO8859_1=y
1110# Kernel hacking 1169# Kernel hacking
1111# 1170#
1112# CONFIG_PRINTK_TIME is not set 1171# CONFIG_PRINTK_TIME is not set
1172CONFIG_ENABLE_MUST_CHECK=y
1113CONFIG_MAGIC_SYSRQ=y 1173CONFIG_MAGIC_SYSRQ=y
1114# CONFIG_UNUSED_SYMBOLS is not set 1174# CONFIG_UNUSED_SYMBOLS is not set
1175# CONFIG_DEBUG_FS is not set
1176# CONFIG_HEADERS_CHECK is not set
1115CONFIG_DEBUG_KERNEL=y 1177CONFIG_DEBUG_KERNEL=y
1116CONFIG_LOG_BUF_SHIFT=14 1178CONFIG_LOG_BUF_SHIFT=14
1117CONFIG_DETECT_SOFTLOCKUP=y 1179CONFIG_DETECT_SOFTLOCKUP=y
@@ -1128,10 +1190,9 @@ CONFIG_DEBUG_MUTEXES=y
1128# CONFIG_DEBUG_KOBJECT is not set 1190# CONFIG_DEBUG_KOBJECT is not set
1129CONFIG_DEBUG_BUGVERBOSE=y 1191CONFIG_DEBUG_BUGVERBOSE=y
1130# CONFIG_DEBUG_INFO is not set 1192# CONFIG_DEBUG_INFO is not set
1131# CONFIG_DEBUG_FS is not set
1132# CONFIG_DEBUG_VM is not set 1193# CONFIG_DEBUG_VM is not set
1194# CONFIG_DEBUG_LIST is not set
1133CONFIG_FRAME_POINTER=y 1195CONFIG_FRAME_POINTER=y
1134# CONFIG_UNWIND_INFO is not set
1135CONFIG_FORCED_INLINING=y 1196CONFIG_FORCED_INLINING=y
1136# CONFIG_RCU_TORTURE_TEST is not set 1197# CONFIG_RCU_TORTURE_TEST is not set
1137CONFIG_DEBUG_USER=y 1198CONFIG_DEBUG_USER=y
@@ -1151,12 +1212,9 @@ CONFIG_DEBUG_LL=y
1151# CONFIG_CRYPTO is not set 1212# CONFIG_CRYPTO is not set
1152 1213
1153# 1214#
1154# Hardware crypto devices
1155#
1156
1157#
1158# Library routines 1215# Library routines
1159# 1216#
1217CONFIG_BITREVERSE=y
1160# CONFIG_CRC_CCITT is not set 1218# CONFIG_CRC_CCITT is not set
1161# CONFIG_CRC16 is not set 1219# CONFIG_CRC16 is not set
1162CONFIG_CRC32=y 1220CONFIG_CRC32=y
@@ -1164,3 +1222,4 @@ CONFIG_LIBCRC32C=y
1164CONFIG_ZLIB_INFLATE=y 1222CONFIG_ZLIB_INFLATE=y
1165CONFIG_ZLIB_DEFLATE=y 1223CONFIG_ZLIB_DEFLATE=y
1166CONFIG_PLIST=y 1224CONFIG_PLIST=y
1225CONFIG_IOMAP_COPY=y
diff --git a/arch/arm/configs/iop13xx_defconfig b/arch/arm/configs/iop13xx_defconfig
index f6e46193fd26..43c4a37e9247 100644
--- a/arch/arm/configs/iop13xx_defconfig
+++ b/arch/arm/configs/iop13xx_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.19 3# Linux kernel version: 2.6.20-rc1-git5
4# Fri Dec 1 10:51:01 2006 4# Tue Dec 19 21:38:01 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set 7# CONFIG_GENERIC_TIME is not set
@@ -11,6 +11,8 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
11CONFIG_HARDIRQS_SW_RESEND=y 11CONFIG_HARDIRQS_SW_RESEND=y
12CONFIG_GENERIC_IRQ_PROBE=y 12CONFIG_GENERIC_IRQ_PROBE=y
13CONFIG_RWSEM_GENERIC_SPINLOCK=y 13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
14CONFIG_GENERIC_HWEIGHT=y 16CONFIG_GENERIC_HWEIGHT=y
15CONFIG_GENERIC_CALIBRATE_DELAY=y 17CONFIG_GENERIC_CALIBRATE_DELAY=y
16CONFIG_VECTORS_BASE=0xffff0000 18CONFIG_VECTORS_BASE=0xffff0000
@@ -39,6 +41,7 @@ CONFIG_BSD_PROCESS_ACCT=y
39# CONFIG_AUDIT is not set 41# CONFIG_AUDIT is not set
40CONFIG_IKCONFIG=y 42CONFIG_IKCONFIG=y
41CONFIG_IKCONFIG_PROC=y 43CONFIG_IKCONFIG_PROC=y
44CONFIG_SYSFS_DEPRECATED=y
42# CONFIG_RELAY is not set 45# CONFIG_RELAY is not set
43CONFIG_INITRAMFS_SOURCE="" 46CONFIG_INITRAMFS_SOURCE=""
44# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 47# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -77,7 +80,9 @@ CONFIG_KMOD=y
77# Block layer 80# Block layer
78# 81#
79CONFIG_BLOCK=y 82CONFIG_BLOCK=y
83# CONFIG_LBD is not set
80# CONFIG_BLK_DEV_IO_TRACE is not set 84# CONFIG_BLK_DEV_IO_TRACE is not set
85# CONFIG_LSF is not set
81 86
82# 87#
83# IO Schedulers 88# IO Schedulers
@@ -154,11 +159,13 @@ CONFIG_IO_36=y
154CONFIG_ARM_THUMB=y 159CONFIG_ARM_THUMB=y
155# CONFIG_CPU_DCACHE_DISABLE is not set 160# CONFIG_CPU_DCACHE_DISABLE is not set
156# CONFIG_CPU_BPREDICT_DISABLE is not set 161# CONFIG_CPU_BPREDICT_DISABLE is not set
162# CONFIG_IWMMXT is not set
157 163
158# 164#
159# Bus support 165# Bus support
160# 166#
161CONFIG_PCI=y 167CONFIG_PCI=y
168# CONFIG_PCI_MULTITHREAD_PROBE is not set
162 169
163# 170#
164# PCCARD (PCMCIA/CardBus) support 171# PCCARD (PCMCIA/CardBus) support
@@ -259,9 +266,23 @@ CONFIG_INET_TCP_DIAG=y
259# CONFIG_TCP_CONG_ADVANCED is not set 266# CONFIG_TCP_CONG_ADVANCED is not set
260CONFIG_TCP_CONG_CUBIC=y 267CONFIG_TCP_CONG_CUBIC=y
261CONFIG_DEFAULT_TCP_CONG="cubic" 268CONFIG_DEFAULT_TCP_CONG="cubic"
262# CONFIG_IPV6 is not set 269# CONFIG_TCP_MD5SIG is not set
270CONFIG_IPV6=y
271# CONFIG_IPV6_PRIVACY is not set
272# CONFIG_IPV6_ROUTER_PREF is not set
273# CONFIG_INET6_AH is not set
274# CONFIG_INET6_ESP is not set
275# CONFIG_INET6_IPCOMP is not set
276# CONFIG_IPV6_MIP6 is not set
263# CONFIG_INET6_XFRM_TUNNEL is not set 277# CONFIG_INET6_XFRM_TUNNEL is not set
264# CONFIG_INET6_TUNNEL is not set 278# CONFIG_INET6_TUNNEL is not set
279# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
280# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
281# CONFIG_INET6_XFRM_MODE_BEET is not set
282# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
283# CONFIG_IPV6_SIT is not set
284# CONFIG_IPV6_TUNNEL is not set
285# CONFIG_IPV6_MULTIPLE_TABLES is not set
265# CONFIG_NETWORK_SECMARK is not set 286# CONFIG_NETWORK_SECMARK is not set
266# CONFIG_NETFILTER is not set 287# CONFIG_NETFILTER is not set
267 288
@@ -433,7 +454,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
433# CONFIG_BLK_DEV_UMEM is not set 454# CONFIG_BLK_DEV_UMEM is not set
434# CONFIG_BLK_DEV_COW_COMMON is not set 455# CONFIG_BLK_DEV_COW_COMMON is not set
435# CONFIG_BLK_DEV_LOOP is not set 456# CONFIG_BLK_DEV_LOOP is not set
436# CONFIG_BLK_DEV_NBD is not set 457CONFIG_BLK_DEV_NBD=y
437# CONFIG_BLK_DEV_SX8 is not set 458# CONFIG_BLK_DEV_SX8 is not set
438CONFIG_BLK_DEV_RAM=y 459CONFIG_BLK_DEV_RAM=y
439CONFIG_BLK_DEV_RAM_COUNT=2 460CONFIG_BLK_DEV_RAM_COUNT=2
@@ -448,6 +469,7 @@ CONFIG_BLK_DEV_INITRD=y
448# 469#
449# CONFIG_RAID_ATTRS is not set 470# CONFIG_RAID_ATTRS is not set
450CONFIG_SCSI=y 471CONFIG_SCSI=y
472# CONFIG_SCSI_TGT is not set
451# CONFIG_SCSI_NETLINK is not set 473# CONFIG_SCSI_NETLINK is not set
452CONFIG_SCSI_PROC_FS=y 474CONFIG_SCSI_PROC_FS=y
453 475
@@ -467,6 +489,7 @@ CONFIG_CHR_DEV_SG=y
467# CONFIG_SCSI_MULTI_LUN is not set 489# CONFIG_SCSI_MULTI_LUN is not set
468CONFIG_SCSI_CONSTANTS=y 490CONFIG_SCSI_CONSTANTS=y
469# CONFIG_SCSI_LOGGING is not set 491# CONFIG_SCSI_LOGGING is not set
492# CONFIG_SCSI_SCAN_ASYNC is not set
470 493
471# 494#
472# SCSI Transports 495# SCSI Transports
@@ -510,6 +533,7 @@ CONFIG_SCSI_SAS_ATTRS=y
510# CONFIG_SCSI_DC390T is not set 533# CONFIG_SCSI_DC390T is not set
511# CONFIG_SCSI_NSP32 is not set 534# CONFIG_SCSI_NSP32 is not set
512# CONFIG_SCSI_DEBUG is not set 535# CONFIG_SCSI_DEBUG is not set
536# CONFIG_SCSI_SRP is not set
513 537
514# 538#
515# Serial ATA (prod) and Parallel ATA (experimental) drivers 539# Serial ATA (prod) and Parallel ATA (experimental) drivers
@@ -605,6 +629,7 @@ CONFIG_E1000_NAPI=y
605# CONFIG_IXGB is not set 629# CONFIG_IXGB is not set
606# CONFIG_S2IO is not set 630# CONFIG_S2IO is not set
607# CONFIG_MYRI10GE is not set 631# CONFIG_MYRI10GE is not set
632# CONFIG_NETXEN_NIC is not set
608 633
609# 634#
610# Token Ring devices 635# Token Ring devices
@@ -711,10 +736,6 @@ CONFIG_HW_RANDOM=y
711# CONFIG_DTLK is not set 736# CONFIG_DTLK is not set
712# CONFIG_R3964 is not set 737# CONFIG_R3964 is not set
713# CONFIG_APPLICOM is not set 738# CONFIG_APPLICOM is not set
714
715#
716# Ftape, the floppy tape device driver
717#
718# CONFIG_DRM is not set 739# CONFIG_DRM is not set
719# CONFIG_RAW_DRIVER is not set 740# CONFIG_RAW_DRIVER is not set
720 741
@@ -820,6 +841,7 @@ CONFIG_HWMON=y
820# CONFIG_SENSORS_LM92 is not set 841# CONFIG_SENSORS_LM92 is not set
821# CONFIG_SENSORS_MAX1619 is not set 842# CONFIG_SENSORS_MAX1619 is not set
822# CONFIG_SENSORS_PC87360 is not set 843# CONFIG_SENSORS_PC87360 is not set
844# CONFIG_SENSORS_PC87427 is not set
823# CONFIG_SENSORS_SIS5595 is not set 845# CONFIG_SENSORS_SIS5595 is not set
824# CONFIG_SENSORS_SMSC47M1 is not set 846# CONFIG_SENSORS_SMSC47M1 is not set
825# CONFIG_SENSORS_SMSC47M192 is not set 847# CONFIG_SENSORS_SMSC47M192 is not set
@@ -830,6 +852,7 @@ CONFIG_HWMON=y
830# CONFIG_SENSORS_W83781D is not set 852# CONFIG_SENSORS_W83781D is not set
831# CONFIG_SENSORS_W83791D is not set 853# CONFIG_SENSORS_W83791D is not set
832# CONFIG_SENSORS_W83792D is not set 854# CONFIG_SENSORS_W83792D is not set
855# CONFIG_SENSORS_W83793 is not set
833# CONFIG_SENSORS_W83L785TS is not set 856# CONFIG_SENSORS_W83L785TS is not set
834# CONFIG_SENSORS_W83627HF is not set 857# CONFIG_SENSORS_W83627HF is not set
835# CONFIG_SENSORS_W83627EHF is not set 858# CONFIG_SENSORS_W83627EHF is not set
@@ -883,6 +906,11 @@ CONFIG_DUMMY_CONSOLE=y
883# CONFIG_SOUND is not set 906# CONFIG_SOUND is not set
884 907
885# 908#
909# HID Devices
910#
911CONFIG_HID=y
912
913#
886# USB support 914# USB support
887# 915#
888CONFIG_USB_ARCH_HAS_HCD=y 916CONFIG_USB_ARCH_HAS_HCD=y
@@ -970,6 +998,7 @@ CONFIG_RAMFS=y
970# 998#
971# CONFIG_ADFS_FS is not set 999# CONFIG_ADFS_FS is not set
972# CONFIG_AFFS_FS is not set 1000# CONFIG_AFFS_FS is not set
1001CONFIG_ECRYPT_FS=y
973# CONFIG_HFS_FS is not set 1002# CONFIG_HFS_FS is not set
974# CONFIG_HFSPLUS_FS is not set 1003# CONFIG_HFSPLUS_FS is not set
975# CONFIG_BEFS_FS is not set 1004# CONFIG_BEFS_FS is not set
@@ -1092,6 +1121,11 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1092# CONFIG_NLS_UTF8 is not set 1121# CONFIG_NLS_UTF8 is not set
1093 1122
1094# 1123#
1124# Distributed Lock Manager
1125#
1126# CONFIG_DLM is not set
1127
1128#
1095# Profiling support 1129# Profiling support
1096# 1130#
1097# CONFIG_PROFILING is not set 1131# CONFIG_PROFILING is not set
@@ -1103,28 +1137,68 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1103CONFIG_ENABLE_MUST_CHECK=y 1137CONFIG_ENABLE_MUST_CHECK=y
1104# CONFIG_MAGIC_SYSRQ is not set 1138# CONFIG_MAGIC_SYSRQ is not set
1105# CONFIG_UNUSED_SYMBOLS is not set 1139# CONFIG_UNUSED_SYMBOLS is not set
1140# CONFIG_DEBUG_FS is not set
1141# CONFIG_HEADERS_CHECK is not set
1106# CONFIG_DEBUG_KERNEL is not set 1142# CONFIG_DEBUG_KERNEL is not set
1107CONFIG_LOG_BUF_SHIFT=14 1143CONFIG_LOG_BUF_SHIFT=14
1108CONFIG_DEBUG_BUGVERBOSE=y 1144CONFIG_DEBUG_BUGVERBOSE=y
1109# CONFIG_DEBUG_FS is not set
1110CONFIG_FRAME_POINTER=y 1145CONFIG_FRAME_POINTER=y
1111# CONFIG_HEADERS_CHECK is not set
1112CONFIG_DEBUG_USER=y 1146CONFIG_DEBUG_USER=y
1113 1147
1114# 1148#
1115# Security options 1149# Security options
1116# 1150#
1117# CONFIG_KEYS is not set 1151CONFIG_KEYS=y
1152CONFIG_KEYS_DEBUG_PROC_KEYS=y
1118# CONFIG_SECURITY is not set 1153# CONFIG_SECURITY is not set
1119 1154
1120# 1155#
1121# Cryptographic options 1156# Cryptographic options
1122# 1157#
1123# CONFIG_CRYPTO is not set 1158CONFIG_CRYPTO=y
1159CONFIG_CRYPTO_ALGAPI=y
1160CONFIG_CRYPTO_BLKCIPHER=y
1161CONFIG_CRYPTO_HASH=y
1162CONFIG_CRYPTO_MANAGER=y
1163CONFIG_CRYPTO_HMAC=y
1164CONFIG_CRYPTO_XCBC=y
1165CONFIG_CRYPTO_NULL=y
1166CONFIG_CRYPTO_MD4=y
1167CONFIG_CRYPTO_MD5=y
1168CONFIG_CRYPTO_SHA1=y
1169CONFIG_CRYPTO_SHA256=y
1170CONFIG_CRYPTO_SHA512=y
1171CONFIG_CRYPTO_WP512=y
1172CONFIG_CRYPTO_TGR192=y
1173CONFIG_CRYPTO_GF128MUL=y
1174CONFIG_CRYPTO_ECB=y
1175CONFIG_CRYPTO_CBC=y
1176CONFIG_CRYPTO_LRW=y
1177CONFIG_CRYPTO_DES=y
1178CONFIG_CRYPTO_BLOWFISH=y
1179CONFIG_CRYPTO_TWOFISH=y
1180CONFIG_CRYPTO_TWOFISH_COMMON=y
1181CONFIG_CRYPTO_SERPENT=y
1182CONFIG_CRYPTO_AES=y
1183CONFIG_CRYPTO_CAST5=y
1184CONFIG_CRYPTO_CAST6=y
1185CONFIG_CRYPTO_TEA=y
1186CONFIG_CRYPTO_ARC4=y
1187CONFIG_CRYPTO_KHAZAD=y
1188CONFIG_CRYPTO_ANUBIS=y
1189CONFIG_CRYPTO_DEFLATE=y
1190CONFIG_CRYPTO_MICHAEL_MIC=y
1191CONFIG_CRYPTO_CRC32C=y
1192# CONFIG_CRYPTO_TEST is not set
1193
1194#
1195# Hardware crypto devices
1196#
1124 1197
1125# 1198#
1126# Library routines 1199# Library routines
1127# 1200#
1201CONFIG_BITREVERSE=y
1128CONFIG_CRC_CCITT=y 1202CONFIG_CRC_CCITT=y
1129# CONFIG_CRC16 is not set 1203# CONFIG_CRC16 is not set
1130CONFIG_CRC32=y 1204CONFIG_CRC32=y
@@ -1132,3 +1206,4 @@ CONFIG_LIBCRC32C=y
1132CONFIG_ZLIB_INFLATE=y 1206CONFIG_ZLIB_INFLATE=y
1133CONFIG_ZLIB_DEFLATE=y 1207CONFIG_ZLIB_DEFLATE=y
1134CONFIG_PLIST=y 1208CONFIG_PLIST=y
1209CONFIG_IOMAP_COPY=y
diff --git a/arch/arm/configs/iop32x_defconfig b/arch/arm/configs/iop32x_defconfig
index b275c53728ec..7909a555706d 100644
--- a/arch/arm/configs/iop32x_defconfig
+++ b/arch/arm/configs/iop32x_defconfig
@@ -1,15 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.18-rc7 3# Linux kernel version: 2.6.20-rc1-git5
4# Tue Sep 19 00:30:18 2006 4# Tue Dec 19 21:37:52 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
7CONFIG_MMU=y 8CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y 9CONFIG_GENERIC_HARDIRQS=y
9CONFIG_TRACE_IRQFLAGS_SUPPORT=y 10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
10CONFIG_HARDIRQS_SW_RESEND=y 11CONFIG_HARDIRQS_SW_RESEND=y
11CONFIG_GENERIC_IRQ_PROBE=y 12CONFIG_GENERIC_IRQ_PROBE=y
12CONFIG_RWSEM_GENERIC_SPINLOCK=y 13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
13CONFIG_GENERIC_HWEIGHT=y 16CONFIG_GENERIC_HWEIGHT=y
14CONFIG_GENERIC_CALIBRATE_DELAY=y 17CONFIG_GENERIC_CALIBRATE_DELAY=y
15CONFIG_VECTORS_BASE=0xffff0000 18CONFIG_VECTORS_BASE=0xffff0000
@@ -29,18 +32,22 @@ CONFIG_LOCALVERSION=""
29CONFIG_LOCALVERSION_AUTO=y 32CONFIG_LOCALVERSION_AUTO=y
30CONFIG_SWAP=y 33CONFIG_SWAP=y
31CONFIG_SYSVIPC=y 34CONFIG_SYSVIPC=y
35# CONFIG_IPC_NS is not set
32# CONFIG_POSIX_MQUEUE is not set 36# CONFIG_POSIX_MQUEUE is not set
33CONFIG_BSD_PROCESS_ACCT=y 37CONFIG_BSD_PROCESS_ACCT=y
34# CONFIG_BSD_PROCESS_ACCT_V3 is not set 38# CONFIG_BSD_PROCESS_ACCT_V3 is not set
35# CONFIG_TASKSTATS is not set 39# CONFIG_TASKSTATS is not set
36CONFIG_SYSCTL=y 40# CONFIG_UTS_NS is not set
37# CONFIG_AUDIT is not set 41# CONFIG_AUDIT is not set
38# CONFIG_IKCONFIG is not set 42# CONFIG_IKCONFIG is not set
43CONFIG_SYSFS_DEPRECATED=y
39# CONFIG_RELAY is not set 44# CONFIG_RELAY is not set
40CONFIG_INITRAMFS_SOURCE="" 45CONFIG_INITRAMFS_SOURCE=""
41CONFIG_UID16=y
42CONFIG_CC_OPTIMIZE_FOR_SIZE=y 46CONFIG_CC_OPTIMIZE_FOR_SIZE=y
47CONFIG_SYSCTL=y
43# CONFIG_EMBEDDED is not set 48# CONFIG_EMBEDDED is not set
49CONFIG_UID16=y
50CONFIG_SYSCTL_SYSCALL=y
44CONFIG_KALLSYMS=y 51CONFIG_KALLSYMS=y
45CONFIG_KALLSYMS_ALL=y 52CONFIG_KALLSYMS_ALL=y
46# CONFIG_KALLSYMS_EXTRA_PASS is not set 53# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -49,12 +56,12 @@ CONFIG_PRINTK=y
49CONFIG_BUG=y 56CONFIG_BUG=y
50CONFIG_ELF_CORE=y 57CONFIG_ELF_CORE=y
51CONFIG_BASE_FULL=y 58CONFIG_BASE_FULL=y
52CONFIG_RT_MUTEXES=y
53CONFIG_FUTEX=y 59CONFIG_FUTEX=y
54CONFIG_EPOLL=y 60CONFIG_EPOLL=y
55CONFIG_SHMEM=y 61CONFIG_SHMEM=y
56CONFIG_SLAB=y 62CONFIG_SLAB=y
57CONFIG_VM_EVENT_COUNTERS=y 63CONFIG_VM_EVENT_COUNTERS=y
64CONFIG_RT_MUTEXES=y
58# CONFIG_TINY_SHMEM is not set 65# CONFIG_TINY_SHMEM is not set
59CONFIG_BASE_SMALL=0 66CONFIG_BASE_SMALL=0
60# CONFIG_SLOB is not set 67# CONFIG_SLOB is not set
@@ -72,7 +79,10 @@ CONFIG_KMOD=y
72# 79#
73# Block layer 80# Block layer
74# 81#
82CONFIG_BLOCK=y
83# CONFIG_LBD is not set
75# CONFIG_BLK_DEV_IO_TRACE is not set 84# CONFIG_BLK_DEV_IO_TRACE is not set
85# CONFIG_LSF is not set
76 86
77# 87#
78# IO Schedulers 88# IO Schedulers
@@ -106,6 +116,7 @@ CONFIG_DEFAULT_IOSCHED="cfq"
106# CONFIG_ARCH_IMX is not set 116# CONFIG_ARCH_IMX is not set
107CONFIG_ARCH_IOP32X=y 117CONFIG_ARCH_IOP32X=y
108# CONFIG_ARCH_IOP33X is not set 118# CONFIG_ARCH_IOP33X is not set
119# CONFIG_ARCH_IOP13XX is not set
109# CONFIG_ARCH_IXP4XX is not set 120# CONFIG_ARCH_IXP4XX is not set
110# CONFIG_ARCH_IXP2000 is not set 121# CONFIG_ARCH_IXP2000 is not set
111# CONFIG_ARCH_IXP23XX is not set 122# CONFIG_ARCH_IXP23XX is not set
@@ -141,17 +152,22 @@ CONFIG_CPU_32v5=y
141CONFIG_CPU_ABRT_EV5T=y 152CONFIG_CPU_ABRT_EV5T=y
142CONFIG_CPU_CACHE_VIVT=y 153CONFIG_CPU_CACHE_VIVT=y
143CONFIG_CPU_TLB_V4WBI=y 154CONFIG_CPU_TLB_V4WBI=y
155CONFIG_CPU_CP15=y
156CONFIG_CPU_CP15_MMU=y
144 157
145# 158#
146# Processor Features 159# Processor Features
147# 160#
148# CONFIG_ARM_THUMB is not set 161# CONFIG_ARM_THUMB is not set
162# CONFIG_CPU_DCACHE_DISABLE is not set
163# CONFIG_IWMMXT is not set
149CONFIG_XSCALE_PMU=y 164CONFIG_XSCALE_PMU=y
150 165
151# 166#
152# Bus support 167# Bus support
153# 168#
154CONFIG_PCI=y 169CONFIG_PCI=y
170# CONFIG_PCI_MULTITHREAD_PROBE is not set
155# CONFIG_PCI_DEBUG is not set 171# CONFIG_PCI_DEBUG is not set
156 172
157# 173#
@@ -225,6 +241,7 @@ CONFIG_PACKET_MMAP=y
225CONFIG_UNIX=y 241CONFIG_UNIX=y
226CONFIG_XFRM=y 242CONFIG_XFRM=y
227# CONFIG_XFRM_USER is not set 243# CONFIG_XFRM_USER is not set
244# CONFIG_XFRM_SUB_POLICY is not set
228# CONFIG_NET_KEY is not set 245# CONFIG_NET_KEY is not set
229CONFIG_INET=y 246CONFIG_INET=y
230CONFIG_IP_MULTICAST=y 247CONFIG_IP_MULTICAST=y
@@ -246,13 +263,29 @@ CONFIG_IP_PNP_BOOTP=y
246# CONFIG_INET_TUNNEL is not set 263# CONFIG_INET_TUNNEL is not set
247CONFIG_INET_XFRM_MODE_TRANSPORT=y 264CONFIG_INET_XFRM_MODE_TRANSPORT=y
248CONFIG_INET_XFRM_MODE_TUNNEL=y 265CONFIG_INET_XFRM_MODE_TUNNEL=y
266CONFIG_INET_XFRM_MODE_BEET=y
249CONFIG_INET_DIAG=y 267CONFIG_INET_DIAG=y
250CONFIG_INET_TCP_DIAG=y 268CONFIG_INET_TCP_DIAG=y
251# CONFIG_TCP_CONG_ADVANCED is not set 269# CONFIG_TCP_CONG_ADVANCED is not set
252CONFIG_TCP_CONG_BIC=y 270CONFIG_TCP_CONG_CUBIC=y
253# CONFIG_IPV6 is not set 271CONFIG_DEFAULT_TCP_CONG="cubic"
272# CONFIG_TCP_MD5SIG is not set
273CONFIG_IPV6=y
274# CONFIG_IPV6_PRIVACY is not set
275# CONFIG_IPV6_ROUTER_PREF is not set
276# CONFIG_INET6_AH is not set
277# CONFIG_INET6_ESP is not set
278# CONFIG_INET6_IPCOMP is not set
279# CONFIG_IPV6_MIP6 is not set
254# CONFIG_INET6_XFRM_TUNNEL is not set 280# CONFIG_INET6_XFRM_TUNNEL is not set
255# CONFIG_INET6_TUNNEL is not set 281# CONFIG_INET6_TUNNEL is not set
282# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
283# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
284# CONFIG_INET6_XFRM_MODE_BEET is not set
285# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
286# CONFIG_IPV6_SIT is not set
287# CONFIG_IPV6_TUNNEL is not set
288# CONFIG_IPV6_MULTIPLE_TABLES is not set
256# CONFIG_NETWORK_SECMARK is not set 289# CONFIG_NETWORK_SECMARK is not set
257# CONFIG_NETFILTER is not set 290# CONFIG_NETFILTER is not set
258 291
@@ -279,7 +312,6 @@ CONFIG_TCP_CONG_BIC=y
279# CONFIG_ATALK is not set 312# CONFIG_ATALK is not set
280# CONFIG_X25 is not set 313# CONFIG_X25 is not set
281# CONFIG_LAPB is not set 314# CONFIG_LAPB is not set
282# CONFIG_NET_DIVERT is not set
283# CONFIG_ECONET is not set 315# CONFIG_ECONET is not set
284# CONFIG_WAN_ROUTER is not set 316# CONFIG_WAN_ROUTER is not set
285 317
@@ -338,6 +370,7 @@ CONFIG_MTD_BLOCK=y
338# CONFIG_NFTL is not set 370# CONFIG_NFTL is not set
339# CONFIG_INFTL is not set 371# CONFIG_INFTL is not set
340# CONFIG_RFD_FTL is not set 372# CONFIG_RFD_FTL is not set
373# CONFIG_SSFDC is not set
341 374
342# 375#
343# RAM/ROM/Flash chip drivers 376# RAM/ROM/Flash chip drivers
@@ -419,9 +452,11 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1
419# CONFIG_BLK_DEV_DAC960 is not set 452# CONFIG_BLK_DEV_DAC960 is not set
420# CONFIG_BLK_DEV_UMEM is not set 453# CONFIG_BLK_DEV_UMEM is not set
421# CONFIG_BLK_DEV_COW_COMMON is not set 454# CONFIG_BLK_DEV_COW_COMMON is not set
422# CONFIG_BLK_DEV_LOOP is not set 455CONFIG_BLK_DEV_LOOP=y
423# CONFIG_BLK_DEV_NBD is not set 456# CONFIG_BLK_DEV_CRYPTOLOOP is not set
457CONFIG_BLK_DEV_NBD=y
424# CONFIG_BLK_DEV_SX8 is not set 458# CONFIG_BLK_DEV_SX8 is not set
459# CONFIG_BLK_DEV_UB is not set
425CONFIG_BLK_DEV_RAM=y 460CONFIG_BLK_DEV_RAM=y
426CONFIG_BLK_DEV_RAM_COUNT=16 461CONFIG_BLK_DEV_RAM_COUNT=16
427CONFIG_BLK_DEV_RAM_SIZE=8192 462CONFIG_BLK_DEV_RAM_SIZE=8192
@@ -440,6 +475,8 @@ CONFIG_BLK_DEV_INITRD=y
440# 475#
441# CONFIG_RAID_ATTRS is not set 476# CONFIG_RAID_ATTRS is not set
442CONFIG_SCSI=y 477CONFIG_SCSI=y
478# CONFIG_SCSI_TGT is not set
479# CONFIG_SCSI_NETLINK is not set
443CONFIG_SCSI_PROC_FS=y 480CONFIG_SCSI_PROC_FS=y
444 481
445# 482#
@@ -458,14 +495,16 @@ CONFIG_CHR_DEV_SG=y
458# CONFIG_SCSI_MULTI_LUN is not set 495# CONFIG_SCSI_MULTI_LUN is not set
459# CONFIG_SCSI_CONSTANTS is not set 496# CONFIG_SCSI_CONSTANTS is not set
460# CONFIG_SCSI_LOGGING is not set 497# CONFIG_SCSI_LOGGING is not set
498# CONFIG_SCSI_SCAN_ASYNC is not set
461 499
462# 500#
463# SCSI Transport Attributes 501# SCSI Transports
464# 502#
465# CONFIG_SCSI_SPI_ATTRS is not set 503# CONFIG_SCSI_SPI_ATTRS is not set
466# CONFIG_SCSI_FC_ATTRS is not set 504# CONFIG_SCSI_FC_ATTRS is not set
467# CONFIG_SCSI_ISCSI_ATTRS is not set 505# CONFIG_SCSI_ISCSI_ATTRS is not set
468# CONFIG_SCSI_SAS_ATTRS is not set 506# CONFIG_SCSI_SAS_ATTRS is not set
507# CONFIG_SCSI_SAS_LIBSAS is not set
469 508
470# 509#
471# SCSI low-level drivers 510# SCSI low-level drivers
@@ -478,26 +517,84 @@ CONFIG_CHR_DEV_SG=y
478# CONFIG_SCSI_AIC7XXX is not set 517# CONFIG_SCSI_AIC7XXX is not set
479# CONFIG_SCSI_AIC7XXX_OLD is not set 518# CONFIG_SCSI_AIC7XXX_OLD is not set
480# CONFIG_SCSI_AIC79XX is not set 519# CONFIG_SCSI_AIC79XX is not set
520# CONFIG_SCSI_AIC94XX is not set
481# CONFIG_SCSI_DPT_I2O is not set 521# CONFIG_SCSI_DPT_I2O is not set
522# CONFIG_SCSI_ARCMSR is not set
482# CONFIG_MEGARAID_NEWGEN is not set 523# CONFIG_MEGARAID_NEWGEN is not set
483# CONFIG_MEGARAID_LEGACY is not set 524# CONFIG_MEGARAID_LEGACY is not set
484# CONFIG_MEGARAID_SAS is not set 525# CONFIG_MEGARAID_SAS is not set
485# CONFIG_SCSI_SATA is not set
486# CONFIG_SCSI_HPTIOP is not set 526# CONFIG_SCSI_HPTIOP is not set
487# CONFIG_SCSI_DMX3191D is not set 527# CONFIG_SCSI_DMX3191D is not set
488# CONFIG_SCSI_FUTURE_DOMAIN is not set 528# CONFIG_SCSI_FUTURE_DOMAIN is not set
489# CONFIG_SCSI_IPS is not set 529# CONFIG_SCSI_IPS is not set
490# CONFIG_SCSI_INITIO is not set 530# CONFIG_SCSI_INITIO is not set
491# CONFIG_SCSI_INIA100 is not set 531# CONFIG_SCSI_INIA100 is not set
532# CONFIG_SCSI_STEX is not set
492# CONFIG_SCSI_SYM53C8XX_2 is not set 533# CONFIG_SCSI_SYM53C8XX_2 is not set
493# CONFIG_SCSI_IPR is not set 534# CONFIG_SCSI_IPR is not set
494# CONFIG_SCSI_QLOGIC_1280 is not set 535# CONFIG_SCSI_QLOGIC_1280 is not set
495# CONFIG_SCSI_QLA_FC is not set 536# CONFIG_SCSI_QLA_FC is not set
537# CONFIG_SCSI_QLA_ISCSI is not set
496# CONFIG_SCSI_LPFC is not set 538# CONFIG_SCSI_LPFC is not set
497# CONFIG_SCSI_DC395x is not set 539# CONFIG_SCSI_DC395x is not set
498# CONFIG_SCSI_DC390T is not set 540# CONFIG_SCSI_DC390T is not set
499# CONFIG_SCSI_NSP32 is not set 541# CONFIG_SCSI_NSP32 is not set
500# CONFIG_SCSI_DEBUG is not set 542# CONFIG_SCSI_DEBUG is not set
543# CONFIG_SCSI_SRP is not set
544
545#
546# Serial ATA (prod) and Parallel ATA (experimental) drivers
547#
548CONFIG_ATA=y
549# CONFIG_SATA_AHCI is not set
550# CONFIG_SATA_SVW is not set
551# CONFIG_ATA_PIIX is not set
552# CONFIG_SATA_MV is not set
553# CONFIG_SATA_NV is not set
554# CONFIG_PDC_ADMA is not set
555# CONFIG_SATA_QSTOR is not set
556# CONFIG_SATA_PROMISE is not set
557# CONFIG_SATA_SX4 is not set
558CONFIG_SATA_SIL=y
559# CONFIG_SATA_SIL24 is not set
560# CONFIG_SATA_SIS is not set
561# CONFIG_SATA_ULI is not set
562# CONFIG_SATA_VIA is not set
563# CONFIG_SATA_VITESSE is not set
564# CONFIG_PATA_ALI is not set
565# CONFIG_PATA_AMD is not set
566# CONFIG_PATA_ARTOP is not set
567# CONFIG_PATA_ATIIXP is not set
568# CONFIG_PATA_CMD64X is not set
569# CONFIG_PATA_CS5520 is not set
570# CONFIG_PATA_CS5530 is not set
571# CONFIG_PATA_CYPRESS is not set
572# CONFIG_PATA_EFAR is not set
573# CONFIG_ATA_GENERIC is not set
574# CONFIG_PATA_HPT366 is not set
575# CONFIG_PATA_HPT37X is not set
576# CONFIG_PATA_HPT3X2N is not set
577# CONFIG_PATA_HPT3X3 is not set
578# CONFIG_PATA_IT821X is not set
579# CONFIG_PATA_JMICRON is not set
580# CONFIG_PATA_TRIFLEX is not set
581# CONFIG_PATA_MARVELL is not set
582# CONFIG_PATA_MPIIX is not set
583# CONFIG_PATA_OLDPIIX is not set
584# CONFIG_PATA_NETCELL is not set
585# CONFIG_PATA_NS87410 is not set
586# CONFIG_PATA_OPTI is not set
587# CONFIG_PATA_OPTIDMA is not set
588# CONFIG_PATA_PDC_OLD is not set
589# CONFIG_PATA_RADISYS is not set
590# CONFIG_PATA_RZ1000 is not set
591# CONFIG_PATA_SC1200 is not set
592# CONFIG_PATA_SERVERWORKS is not set
593# CONFIG_PATA_PDC2027X is not set
594# CONFIG_PATA_SIL680 is not set
595# CONFIG_PATA_SIS is not set
596# CONFIG_PATA_VIA is not set
597# CONFIG_PATA_WINBOND is not set
501 598
502# 599#
503# Multi-device support (RAID and LVM) 600# Multi-device support (RAID and LVM)
@@ -512,6 +609,7 @@ CONFIG_MD_RAID1=y
512# CONFIG_MD_MULTIPATH is not set 609# CONFIG_MD_MULTIPATH is not set
513# CONFIG_MD_FAULTY is not set 610# CONFIG_MD_FAULTY is not set
514CONFIG_BLK_DEV_DM=y 611CONFIG_BLK_DEV_DM=y
612# CONFIG_DM_DEBUG is not set
515# CONFIG_DM_CRYPT is not set 613# CONFIG_DM_CRYPT is not set
516# CONFIG_DM_SNAPSHOT is not set 614# CONFIG_DM_SNAPSHOT is not set
517# CONFIG_DM_MIRROR is not set 615# CONFIG_DM_MIRROR is not set
@@ -612,6 +710,7 @@ CONFIG_R8169=y
612# CONFIG_VIA_VELOCITY is not set 710# CONFIG_VIA_VELOCITY is not set
613# CONFIG_TIGON3 is not set 711# CONFIG_TIGON3 is not set
614# CONFIG_BNX2 is not set 712# CONFIG_BNX2 is not set
713# CONFIG_QLA3XXX is not set
615 714
616# 715#
617# Ethernet (10000 Mbit) 716# Ethernet (10000 Mbit)
@@ -620,6 +719,7 @@ CONFIG_R8169=y
620# CONFIG_IXGB is not set 719# CONFIG_IXGB is not set
621# CONFIG_S2IO is not set 720# CONFIG_S2IO is not set
622# CONFIG_MYRI10GE is not set 721# CONFIG_MYRI10GE is not set
722# CONFIG_NETXEN_NIC is not set
623 723
624# 724#
625# Token Ring devices 725# Token Ring devices
@@ -654,6 +754,7 @@ CONFIG_R8169=y
654# Input device support 754# Input device support
655# 755#
656CONFIG_INPUT=y 756CONFIG_INPUT=y
757# CONFIG_INPUT_FF_MEMLESS is not set
657 758
658# 759#
659# Userland interfaces 760# Userland interfaces
@@ -725,10 +826,6 @@ CONFIG_HW_RANDOM=y
725# CONFIG_DTLK is not set 826# CONFIG_DTLK is not set
726# CONFIG_R3964 is not set 827# CONFIG_R3964 is not set
727# CONFIG_APPLICOM is not set 828# CONFIG_APPLICOM is not set
728
729#
730# Ftape, the floppy tape device driver
731#
732# CONFIG_DRM is not set 829# CONFIG_DRM is not set
733# CONFIG_RAW_DRIVER is not set 830# CONFIG_RAW_DRIVER is not set
734 831
@@ -736,7 +833,6 @@ CONFIG_HW_RANDOM=y
736# TPM devices 833# TPM devices
737# 834#
738# CONFIG_TCG_TPM is not set 835# CONFIG_TCG_TPM is not set
739# CONFIG_TELCLOCK is not set
740 836
741# 837#
742# I2C support 838# I2C support
@@ -801,6 +897,7 @@ CONFIG_I2C_IOP3XX=y
801# 897#
802# Dallas's 1-wire bus 898# Dallas's 1-wire bus
803# 899#
900# CONFIG_W1 is not set
804 901
805# 902#
806# Hardware Monitoring support 903# Hardware Monitoring support
@@ -834,15 +931,18 @@ CONFIG_HWMON=y
834# CONFIG_SENSORS_LM92 is not set 931# CONFIG_SENSORS_LM92 is not set
835# CONFIG_SENSORS_MAX1619 is not set 932# CONFIG_SENSORS_MAX1619 is not set
836# CONFIG_SENSORS_PC87360 is not set 933# CONFIG_SENSORS_PC87360 is not set
934# CONFIG_SENSORS_PC87427 is not set
837# CONFIG_SENSORS_SIS5595 is not set 935# CONFIG_SENSORS_SIS5595 is not set
838# CONFIG_SENSORS_SMSC47M1 is not set 936# CONFIG_SENSORS_SMSC47M1 is not set
839# CONFIG_SENSORS_SMSC47M192 is not set 937# CONFIG_SENSORS_SMSC47M192 is not set
840# CONFIG_SENSORS_SMSC47B397 is not set 938# CONFIG_SENSORS_SMSC47B397 is not set
841# CONFIG_SENSORS_VIA686A is not set 939# CONFIG_SENSORS_VIA686A is not set
940# CONFIG_SENSORS_VT1211 is not set
842# CONFIG_SENSORS_VT8231 is not set 941# CONFIG_SENSORS_VT8231 is not set
843# CONFIG_SENSORS_W83781D is not set 942# CONFIG_SENSORS_W83781D is not set
844# CONFIG_SENSORS_W83791D is not set 943# CONFIG_SENSORS_W83791D is not set
845# CONFIG_SENSORS_W83792D is not set 944# CONFIG_SENSORS_W83792D is not set
945# CONFIG_SENSORS_W83793 is not set
846# CONFIG_SENSORS_W83L785TS is not set 946# CONFIG_SENSORS_W83L785TS is not set
847# CONFIG_SENSORS_W83627HF is not set 947# CONFIG_SENSORS_W83627HF is not set
848# CONFIG_SENSORS_W83627EHF is not set 948# CONFIG_SENSORS_W83627EHF is not set
@@ -851,6 +951,8 @@ CONFIG_HWMON=y
851# 951#
852# Misc devices 952# Misc devices
853# 953#
954# CONFIG_SGI_IOC4 is not set
955# CONFIG_TIFM_CORE is not set
854 956
855# 957#
856# LED devices 958# LED devices
@@ -869,12 +971,12 @@ CONFIG_HWMON=y
869# Multimedia devices 971# Multimedia devices
870# 972#
871# CONFIG_VIDEO_DEV is not set 973# CONFIG_VIDEO_DEV is not set
872CONFIG_VIDEO_V4L2=y
873 974
874# 975#
875# Digital Video Broadcasting Devices 976# Digital Video Broadcasting Devices
876# 977#
877# CONFIG_DVB is not set 978# CONFIG_DVB is not set
979# CONFIG_USB_DABUSB is not set
878 980
879# 981#
880# Graphics support 982# Graphics support
@@ -895,6 +997,11 @@ CONFIG_DUMMY_CONSOLE=y
895# CONFIG_SOUND is not set 997# CONFIG_SOUND is not set
896 998
897# 999#
1000# HID Devices
1001#
1002CONFIG_HID=y
1003
1004#
898# USB support 1005# USB support
899# 1006#
900CONFIG_USB_ARCH_HAS_HCD=y 1007CONFIG_USB_ARCH_HAS_HCD=y
@@ -909,6 +1016,7 @@ CONFIG_USB=y
909# CONFIG_USB_DEVICEFS is not set 1016# CONFIG_USB_DEVICEFS is not set
910# CONFIG_USB_BANDWIDTH is not set 1017# CONFIG_USB_BANDWIDTH is not set
911# CONFIG_USB_DYNAMIC_MINORS is not set 1018# CONFIG_USB_DYNAMIC_MINORS is not set
1019# CONFIG_USB_MULTITHREAD_PROBE is not set
912# CONFIG_USB_OTG is not set 1020# CONFIG_USB_OTG is not set
913 1021
914# 1022#
@@ -946,6 +1054,7 @@ CONFIG_USB_STORAGE=y
946# CONFIG_USB_STORAGE_SDDR55 is not set 1054# CONFIG_USB_STORAGE_SDDR55 is not set
947# CONFIG_USB_STORAGE_JUMPSHOT is not set 1055# CONFIG_USB_STORAGE_JUMPSHOT is not set
948# CONFIG_USB_STORAGE_ALAUDA is not set 1056# CONFIG_USB_STORAGE_ALAUDA is not set
1057# CONFIG_USB_STORAGE_KARMA is not set
949# CONFIG_USB_LIBUSUAL is not set 1058# CONFIG_USB_LIBUSUAL is not set
950 1059
951# 1060#
@@ -984,6 +1093,7 @@ CONFIG_USB_STORAGE=y
984# CONFIG_USB_KAWETH is not set 1093# CONFIG_USB_KAWETH is not set
985# CONFIG_USB_PEGASUS is not set 1094# CONFIG_USB_PEGASUS is not set
986# CONFIG_USB_RTL8150 is not set 1095# CONFIG_USB_RTL8150 is not set
1096# CONFIG_USB_USBNET_MII is not set
987# CONFIG_USB_USBNET is not set 1097# CONFIG_USB_USBNET is not set
988CONFIG_USB_MON=y 1098CONFIG_USB_MON=y
989 1099
@@ -1001,6 +1111,7 @@ CONFIG_USB_MON=y
1001# 1111#
1002# CONFIG_USB_EMI62 is not set 1112# CONFIG_USB_EMI62 is not set
1003# CONFIG_USB_EMI26 is not set 1113# CONFIG_USB_EMI26 is not set
1114# CONFIG_USB_ADUTUX is not set
1004# CONFIG_USB_AUERSWALD is not set 1115# CONFIG_USB_AUERSWALD is not set
1005# CONFIG_USB_RIO500 is not set 1116# CONFIG_USB_RIO500 is not set
1006# CONFIG_USB_LEGOTOWER is not set 1117# CONFIG_USB_LEGOTOWER is not set
@@ -1008,12 +1119,13 @@ CONFIG_USB_MON=y
1008# CONFIG_USB_LED is not set 1119# CONFIG_USB_LED is not set
1009# CONFIG_USB_CYPRESS_CY7C63 is not set 1120# CONFIG_USB_CYPRESS_CY7C63 is not set
1010# CONFIG_USB_CYTHERM is not set 1121# CONFIG_USB_CYTHERM is not set
1011# CONFIG_USB_PHIDGETKIT is not set 1122# CONFIG_USB_PHIDGET is not set
1012# CONFIG_USB_PHIDGETSERVO is not set
1013# CONFIG_USB_IDMOUSE is not set 1123# CONFIG_USB_IDMOUSE is not set
1124# CONFIG_USB_FTDI_ELAN is not set
1014# CONFIG_USB_APPLEDISPLAY is not set 1125# CONFIG_USB_APPLEDISPLAY is not set
1015# CONFIG_USB_SISUSBVGA is not set 1126# CONFIG_USB_SISUSBVGA is not set
1016# CONFIG_USB_LD is not set 1127# CONFIG_USB_LD is not set
1128# CONFIG_USB_TRANCEVIBRATOR is not set
1017 1129
1018# 1130#
1019# USB DSL modem support 1131# USB DSL modem support
@@ -1045,6 +1157,7 @@ CONFIG_EXT3_FS=y
1045CONFIG_EXT3_FS_XATTR=y 1157CONFIG_EXT3_FS_XATTR=y
1046# CONFIG_EXT3_FS_POSIX_ACL is not set 1158# CONFIG_EXT3_FS_POSIX_ACL is not set
1047# CONFIG_EXT3_FS_SECURITY is not set 1159# CONFIG_EXT3_FS_SECURITY is not set
1160# CONFIG_EXT4DEV_FS is not set
1048CONFIG_JBD=y 1161CONFIG_JBD=y
1049# CONFIG_JBD_DEBUG is not set 1162# CONFIG_JBD_DEBUG is not set
1050CONFIG_FS_MBCACHE=y 1163CONFIG_FS_MBCACHE=y
@@ -1056,6 +1169,7 @@ CONFIG_XFS_FS=y
1056CONFIG_XFS_SECURITY=y 1169CONFIG_XFS_SECURITY=y
1057CONFIG_XFS_POSIX_ACL=y 1170CONFIG_XFS_POSIX_ACL=y
1058# CONFIG_XFS_RT is not set 1171# CONFIG_XFS_RT is not set
1172# CONFIG_GFS2_FS is not set
1059# CONFIG_OCFS2_FS is not set 1173# CONFIG_OCFS2_FS is not set
1060# CONFIG_MINIX_FS is not set 1174# CONFIG_MINIX_FS is not set
1061# CONFIG_ROMFS_FS is not set 1175# CONFIG_ROMFS_FS is not set
@@ -1084,8 +1198,10 @@ CONFIG_DNOTIFY=y
1084# Pseudo filesystems 1198# Pseudo filesystems
1085# 1199#
1086CONFIG_PROC_FS=y 1200CONFIG_PROC_FS=y
1201CONFIG_PROC_SYSCTL=y
1087CONFIG_SYSFS=y 1202CONFIG_SYSFS=y
1088CONFIG_TMPFS=y 1203CONFIG_TMPFS=y
1204# CONFIG_TMPFS_POSIX_ACL is not set
1089# CONFIG_HUGETLB_PAGE is not set 1205# CONFIG_HUGETLB_PAGE is not set
1090CONFIG_RAMFS=y 1206CONFIG_RAMFS=y
1091# CONFIG_CONFIGFS_FS is not set 1207# CONFIG_CONFIGFS_FS is not set
@@ -1095,6 +1211,7 @@ CONFIG_RAMFS=y
1095# 1211#
1096# CONFIG_ADFS_FS is not set 1212# CONFIG_ADFS_FS is not set
1097# CONFIG_AFFS_FS is not set 1213# CONFIG_AFFS_FS is not set
1214CONFIG_ECRYPT_FS=y
1098# CONFIG_HFS_FS is not set 1215# CONFIG_HFS_FS is not set
1099# CONFIG_HFSPLUS_FS is not set 1216# CONFIG_HFSPLUS_FS is not set
1100# CONFIG_BEFS_FS is not set 1217# CONFIG_BEFS_FS is not set
@@ -1129,7 +1246,7 @@ CONFIG_NFSD=y
1129CONFIG_NFSD_V3=y 1246CONFIG_NFSD_V3=y
1130# CONFIG_NFSD_V3_ACL is not set 1247# CONFIG_NFSD_V3_ACL is not set
1131# CONFIG_NFSD_V4 is not set 1248# CONFIG_NFSD_V4 is not set
1132# CONFIG_NFSD_TCP is not set 1249CONFIG_NFSD_TCP=y
1133CONFIG_ROOT_NFS=y 1250CONFIG_ROOT_NFS=y
1134CONFIG_LOCKD=y 1251CONFIG_LOCKD=y
1135CONFIG_LOCKD_V4=y 1252CONFIG_LOCKD_V4=y
@@ -1172,6 +1289,11 @@ CONFIG_MSDOS_PARTITION=y
1172# CONFIG_NLS is not set 1289# CONFIG_NLS is not set
1173 1290
1174# 1291#
1292# Distributed Lock Manager
1293#
1294# CONFIG_DLM is not set
1295
1296#
1175# Profiling support 1297# Profiling support
1176# 1298#
1177# CONFIG_PROFILING is not set 1299# CONFIG_PROFILING is not set
@@ -1180,8 +1302,11 @@ CONFIG_MSDOS_PARTITION=y
1180# Kernel hacking 1302# Kernel hacking
1181# 1303#
1182# CONFIG_PRINTK_TIME is not set 1304# CONFIG_PRINTK_TIME is not set
1305CONFIG_ENABLE_MUST_CHECK=y
1183CONFIG_MAGIC_SYSRQ=y 1306CONFIG_MAGIC_SYSRQ=y
1184# CONFIG_UNUSED_SYMBOLS is not set 1307# CONFIG_UNUSED_SYMBOLS is not set
1308# CONFIG_DEBUG_FS is not set
1309# CONFIG_HEADERS_CHECK is not set
1185CONFIG_DEBUG_KERNEL=y 1310CONFIG_DEBUG_KERNEL=y
1186CONFIG_LOG_BUF_SHIFT=14 1311CONFIG_LOG_BUF_SHIFT=14
1187CONFIG_DETECT_SOFTLOCKUP=y 1312CONFIG_DETECT_SOFTLOCKUP=y
@@ -1197,10 +1322,9 @@ CONFIG_DETECT_SOFTLOCKUP=y
1197# CONFIG_DEBUG_KOBJECT is not set 1322# CONFIG_DEBUG_KOBJECT is not set
1198CONFIG_DEBUG_BUGVERBOSE=y 1323CONFIG_DEBUG_BUGVERBOSE=y
1199# CONFIG_DEBUG_INFO is not set 1324# CONFIG_DEBUG_INFO is not set
1200# CONFIG_DEBUG_FS is not set
1201# CONFIG_DEBUG_VM is not set 1325# CONFIG_DEBUG_VM is not set
1326# CONFIG_DEBUG_LIST is not set
1202CONFIG_FRAME_POINTER=y 1327CONFIG_FRAME_POINTER=y
1203# CONFIG_UNWIND_INFO is not set
1204# CONFIG_FORCED_INLINING is not set 1328# CONFIG_FORCED_INLINING is not set
1205# CONFIG_RCU_TORTURE_TEST is not set 1329# CONFIG_RCU_TORTURE_TEST is not set
1206CONFIG_DEBUG_USER=y 1330CONFIG_DEBUG_USER=y
@@ -1211,13 +1335,48 @@ CONFIG_DEBUG_LL=y
1211# 1335#
1212# Security options 1336# Security options
1213# 1337#
1214# CONFIG_KEYS is not set 1338CONFIG_KEYS=y
1339CONFIG_KEYS_DEBUG_PROC_KEYS=y
1215# CONFIG_SECURITY is not set 1340# CONFIG_SECURITY is not set
1216 1341
1217# 1342#
1218# Cryptographic options 1343# Cryptographic options
1219# 1344#
1220# CONFIG_CRYPTO is not set 1345CONFIG_CRYPTO=y
1346CONFIG_CRYPTO_ALGAPI=y
1347CONFIG_CRYPTO_BLKCIPHER=y
1348CONFIG_CRYPTO_HASH=y
1349CONFIG_CRYPTO_MANAGER=y
1350CONFIG_CRYPTO_HMAC=y
1351CONFIG_CRYPTO_XCBC=y
1352CONFIG_CRYPTO_NULL=y
1353CONFIG_CRYPTO_MD4=y
1354CONFIG_CRYPTO_MD5=y
1355CONFIG_CRYPTO_SHA1=y
1356CONFIG_CRYPTO_SHA256=y
1357CONFIG_CRYPTO_SHA512=y
1358CONFIG_CRYPTO_WP512=y
1359CONFIG_CRYPTO_TGR192=y
1360CONFIG_CRYPTO_GF128MUL=y
1361CONFIG_CRYPTO_ECB=y
1362CONFIG_CRYPTO_CBC=y
1363CONFIG_CRYPTO_LRW=y
1364CONFIG_CRYPTO_DES=y
1365CONFIG_CRYPTO_BLOWFISH=y
1366CONFIG_CRYPTO_TWOFISH=y
1367CONFIG_CRYPTO_TWOFISH_COMMON=y
1368CONFIG_CRYPTO_SERPENT=y
1369CONFIG_CRYPTO_AES=y
1370CONFIG_CRYPTO_CAST5=y
1371CONFIG_CRYPTO_CAST6=y
1372CONFIG_CRYPTO_TEA=y
1373CONFIG_CRYPTO_ARC4=y
1374CONFIG_CRYPTO_KHAZAD=y
1375CONFIG_CRYPTO_ANUBIS=y
1376CONFIG_CRYPTO_DEFLATE=y
1377CONFIG_CRYPTO_MICHAEL_MIC=y
1378CONFIG_CRYPTO_CRC32C=y
1379# CONFIG_CRYPTO_TEST is not set
1221 1380
1222# 1381#
1223# Hardware crypto devices 1382# Hardware crypto devices
@@ -1226,10 +1385,12 @@ CONFIG_DEBUG_LL=y
1226# 1385#
1227# Library routines 1386# Library routines
1228# 1387#
1388CONFIG_BITREVERSE=y
1229# CONFIG_CRC_CCITT is not set 1389# CONFIG_CRC_CCITT is not set
1230# CONFIG_CRC16 is not set 1390# CONFIG_CRC16 is not set
1231CONFIG_CRC32=y 1391CONFIG_CRC32=y
1232# CONFIG_LIBCRC32C is not set 1392CONFIG_LIBCRC32C=y
1233CONFIG_ZLIB_INFLATE=y 1393CONFIG_ZLIB_INFLATE=y
1234CONFIG_ZLIB_DEFLATE=y 1394CONFIG_ZLIB_DEFLATE=y
1235CONFIG_PLIST=y 1395CONFIG_PLIST=y
1396CONFIG_IOMAP_COPY=y
diff --git a/arch/arm/configs/iop33x_defconfig b/arch/arm/configs/iop33x_defconfig
index 848e3ace9069..fa271bce8ff7 100644
--- a/arch/arm/configs/iop33x_defconfig
+++ b/arch/arm/configs/iop33x_defconfig
@@ -1,15 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.18-rc7 3# Linux kernel version: 2.6.20-rc1
4# Tue Sep 19 00:30:42 2006 4# Sat Dec 16 06:05:34 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
7CONFIG_MMU=y 8CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y 9CONFIG_GENERIC_HARDIRQS=y
9CONFIG_TRACE_IRQFLAGS_SUPPORT=y 10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
10CONFIG_HARDIRQS_SW_RESEND=y 11CONFIG_HARDIRQS_SW_RESEND=y
11CONFIG_GENERIC_IRQ_PROBE=y 12CONFIG_GENERIC_IRQ_PROBE=y
12CONFIG_RWSEM_GENERIC_SPINLOCK=y 13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
13CONFIG_GENERIC_HWEIGHT=y 16CONFIG_GENERIC_HWEIGHT=y
14CONFIG_GENERIC_CALIBRATE_DELAY=y 17CONFIG_GENERIC_CALIBRATE_DELAY=y
15CONFIG_VECTORS_BASE=0xffff0000 18CONFIG_VECTORS_BASE=0xffff0000
@@ -29,18 +32,22 @@ CONFIG_LOCALVERSION=""
29CONFIG_LOCALVERSION_AUTO=y 32CONFIG_LOCALVERSION_AUTO=y
30CONFIG_SWAP=y 33CONFIG_SWAP=y
31CONFIG_SYSVIPC=y 34CONFIG_SYSVIPC=y
35# CONFIG_IPC_NS is not set
32# CONFIG_POSIX_MQUEUE is not set 36# CONFIG_POSIX_MQUEUE is not set
33CONFIG_BSD_PROCESS_ACCT=y 37CONFIG_BSD_PROCESS_ACCT=y
34# CONFIG_BSD_PROCESS_ACCT_V3 is not set 38# CONFIG_BSD_PROCESS_ACCT_V3 is not set
35# CONFIG_TASKSTATS is not set 39# CONFIG_TASKSTATS is not set
36CONFIG_SYSCTL=y 40# CONFIG_UTS_NS is not set
37# CONFIG_AUDIT is not set 41# CONFIG_AUDIT is not set
38# CONFIG_IKCONFIG is not set 42# CONFIG_IKCONFIG is not set
43CONFIG_SYSFS_DEPRECATED=y
39# CONFIG_RELAY is not set 44# CONFIG_RELAY is not set
40CONFIG_INITRAMFS_SOURCE="" 45CONFIG_INITRAMFS_SOURCE=""
41CONFIG_UID16=y
42CONFIG_CC_OPTIMIZE_FOR_SIZE=y 46CONFIG_CC_OPTIMIZE_FOR_SIZE=y
47CONFIG_SYSCTL=y
43# CONFIG_EMBEDDED is not set 48# CONFIG_EMBEDDED is not set
49CONFIG_UID16=y
50CONFIG_SYSCTL_SYSCALL=y
44CONFIG_KALLSYMS=y 51CONFIG_KALLSYMS=y
45CONFIG_KALLSYMS_ALL=y 52CONFIG_KALLSYMS_ALL=y
46# CONFIG_KALLSYMS_EXTRA_PASS is not set 53# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -49,12 +56,12 @@ CONFIG_PRINTK=y
49CONFIG_BUG=y 56CONFIG_BUG=y
50CONFIG_ELF_CORE=y 57CONFIG_ELF_CORE=y
51CONFIG_BASE_FULL=y 58CONFIG_BASE_FULL=y
52CONFIG_RT_MUTEXES=y
53CONFIG_FUTEX=y 59CONFIG_FUTEX=y
54CONFIG_EPOLL=y 60CONFIG_EPOLL=y
55CONFIG_SHMEM=y 61CONFIG_SHMEM=y
56CONFIG_SLAB=y 62CONFIG_SLAB=y
57CONFIG_VM_EVENT_COUNTERS=y 63CONFIG_VM_EVENT_COUNTERS=y
64CONFIG_RT_MUTEXES=y
58# CONFIG_TINY_SHMEM is not set 65# CONFIG_TINY_SHMEM is not set
59CONFIG_BASE_SMALL=0 66CONFIG_BASE_SMALL=0
60# CONFIG_SLOB is not set 67# CONFIG_SLOB is not set
@@ -72,7 +79,10 @@ CONFIG_KMOD=y
72# 79#
73# Block layer 80# Block layer
74# 81#
82CONFIG_BLOCK=y
83# CONFIG_LBD is not set
75# CONFIG_BLK_DEV_IO_TRACE is not set 84# CONFIG_BLK_DEV_IO_TRACE is not set
85# CONFIG_LSF is not set
76 86
77# 87#
78# IO Schedulers 88# IO Schedulers
@@ -106,6 +116,7 @@ CONFIG_DEFAULT_IOSCHED="cfq"
106# CONFIG_ARCH_IMX is not set 116# CONFIG_ARCH_IMX is not set
107# CONFIG_ARCH_IOP32X is not set 117# CONFIG_ARCH_IOP32X is not set
108CONFIG_ARCH_IOP33X=y 118CONFIG_ARCH_IOP33X=y
119# CONFIG_ARCH_IOP13XX is not set
109# CONFIG_ARCH_IXP4XX is not set 120# CONFIG_ARCH_IXP4XX is not set
110# CONFIG_ARCH_IXP2000 is not set 121# CONFIG_ARCH_IXP2000 is not set
111# CONFIG_ARCH_IXP23XX is not set 122# CONFIG_ARCH_IXP23XX is not set
@@ -139,17 +150,22 @@ CONFIG_CPU_32v5=y
139CONFIG_CPU_ABRT_EV5T=y 150CONFIG_CPU_ABRT_EV5T=y
140CONFIG_CPU_CACHE_VIVT=y 151CONFIG_CPU_CACHE_VIVT=y
141CONFIG_CPU_TLB_V4WBI=y 152CONFIG_CPU_TLB_V4WBI=y
153CONFIG_CPU_CP15=y
154CONFIG_CPU_CP15_MMU=y
142 155
143# 156#
144# Processor Features 157# Processor Features
145# 158#
146# CONFIG_ARM_THUMB is not set 159# CONFIG_ARM_THUMB is not set
160# CONFIG_CPU_DCACHE_DISABLE is not set
161# CONFIG_IWMMXT is not set
147CONFIG_XSCALE_PMU=y 162CONFIG_XSCALE_PMU=y
148 163
149# 164#
150# Bus support 165# Bus support
151# 166#
152CONFIG_PCI=y 167CONFIG_PCI=y
168# CONFIG_PCI_MULTITHREAD_PROBE is not set
153# CONFIG_PCI_DEBUG is not set 169# CONFIG_PCI_DEBUG is not set
154 170
155# 171#
@@ -223,6 +239,7 @@ CONFIG_PACKET_MMAP=y
223CONFIG_UNIX=y 239CONFIG_UNIX=y
224CONFIG_XFRM=y 240CONFIG_XFRM=y
225# CONFIG_XFRM_USER is not set 241# CONFIG_XFRM_USER is not set
242# CONFIG_XFRM_SUB_POLICY is not set
226# CONFIG_NET_KEY is not set 243# CONFIG_NET_KEY is not set
227CONFIG_INET=y 244CONFIG_INET=y
228CONFIG_IP_MULTICAST=y 245CONFIG_IP_MULTICAST=y
@@ -244,13 +261,29 @@ CONFIG_IP_PNP_BOOTP=y
244# CONFIG_INET_TUNNEL is not set 261# CONFIG_INET_TUNNEL is not set
245CONFIG_INET_XFRM_MODE_TRANSPORT=y 262CONFIG_INET_XFRM_MODE_TRANSPORT=y
246CONFIG_INET_XFRM_MODE_TUNNEL=y 263CONFIG_INET_XFRM_MODE_TUNNEL=y
264CONFIG_INET_XFRM_MODE_BEET=y
247CONFIG_INET_DIAG=y 265CONFIG_INET_DIAG=y
248CONFIG_INET_TCP_DIAG=y 266CONFIG_INET_TCP_DIAG=y
249# CONFIG_TCP_CONG_ADVANCED is not set 267# CONFIG_TCP_CONG_ADVANCED is not set
250CONFIG_TCP_CONG_BIC=y 268CONFIG_TCP_CONG_CUBIC=y
251# CONFIG_IPV6 is not set 269CONFIG_DEFAULT_TCP_CONG="cubic"
270# CONFIG_TCP_MD5SIG is not set
271CONFIG_IPV6=y
272# CONFIG_IPV6_PRIVACY is not set
273# CONFIG_IPV6_ROUTER_PREF is not set
274# CONFIG_INET6_AH is not set
275# CONFIG_INET6_ESP is not set
276# CONFIG_INET6_IPCOMP is not set
277# CONFIG_IPV6_MIP6 is not set
252# CONFIG_INET6_XFRM_TUNNEL is not set 278# CONFIG_INET6_XFRM_TUNNEL is not set
253# CONFIG_INET6_TUNNEL is not set 279# CONFIG_INET6_TUNNEL is not set
280# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
281# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
282# CONFIG_INET6_XFRM_MODE_BEET is not set
283# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
284# CONFIG_IPV6_SIT is not set
285# CONFIG_IPV6_TUNNEL is not set
286# CONFIG_IPV6_MULTIPLE_TABLES is not set
254# CONFIG_NETWORK_SECMARK is not set 287# CONFIG_NETWORK_SECMARK is not set
255# CONFIG_NETFILTER is not set 288# CONFIG_NETFILTER is not set
256 289
@@ -277,7 +310,6 @@ CONFIG_TCP_CONG_BIC=y
277# CONFIG_ATALK is not set 310# CONFIG_ATALK is not set
278# CONFIG_X25 is not set 311# CONFIG_X25 is not set
279# CONFIG_LAPB is not set 312# CONFIG_LAPB is not set
280# CONFIG_NET_DIVERT is not set
281# CONFIG_ECONET is not set 313# CONFIG_ECONET is not set
282# CONFIG_WAN_ROUTER is not set 314# CONFIG_WAN_ROUTER is not set
283 315
@@ -336,6 +368,7 @@ CONFIG_MTD_BLOCK=y
336# CONFIG_NFTL is not set 368# CONFIG_NFTL is not set
337# CONFIG_INFTL is not set 369# CONFIG_INFTL is not set
338# CONFIG_RFD_FTL is not set 370# CONFIG_RFD_FTL is not set
371# CONFIG_SSFDC is not set
339 372
340# 373#
341# RAM/ROM/Flash chip drivers 374# RAM/ROM/Flash chip drivers
@@ -423,7 +456,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1
423# CONFIG_BLK_DEV_UMEM is not set 456# CONFIG_BLK_DEV_UMEM is not set
424# CONFIG_BLK_DEV_COW_COMMON is not set 457# CONFIG_BLK_DEV_COW_COMMON is not set
425# CONFIG_BLK_DEV_LOOP is not set 458# CONFIG_BLK_DEV_LOOP is not set
426# CONFIG_BLK_DEV_NBD is not set 459CONFIG_BLK_DEV_NBD=y
427# CONFIG_BLK_DEV_SX8 is not set 460# CONFIG_BLK_DEV_SX8 is not set
428CONFIG_BLK_DEV_RAM=y 461CONFIG_BLK_DEV_RAM=y
429CONFIG_BLK_DEV_RAM_COUNT=16 462CONFIG_BLK_DEV_RAM_COUNT=16
@@ -443,6 +476,8 @@ CONFIG_BLK_DEV_INITRD=y
443# 476#
444# CONFIG_RAID_ATTRS is not set 477# CONFIG_RAID_ATTRS is not set
445CONFIG_SCSI=y 478CONFIG_SCSI=y
479# CONFIG_SCSI_TGT is not set
480# CONFIG_SCSI_NETLINK is not set
446CONFIG_SCSI_PROC_FS=y 481CONFIG_SCSI_PROC_FS=y
447 482
448# 483#
@@ -461,14 +496,16 @@ CONFIG_CHR_DEV_SG=y
461# CONFIG_SCSI_MULTI_LUN is not set 496# CONFIG_SCSI_MULTI_LUN is not set
462# CONFIG_SCSI_CONSTANTS is not set 497# CONFIG_SCSI_CONSTANTS is not set
463# CONFIG_SCSI_LOGGING is not set 498# CONFIG_SCSI_LOGGING is not set
499# CONFIG_SCSI_SCAN_ASYNC is not set
464 500
465# 501#
466# SCSI Transport Attributes 502# SCSI Transports
467# 503#
468# CONFIG_SCSI_SPI_ATTRS is not set 504# CONFIG_SCSI_SPI_ATTRS is not set
469# CONFIG_SCSI_FC_ATTRS is not set 505# CONFIG_SCSI_FC_ATTRS is not set
470# CONFIG_SCSI_ISCSI_ATTRS is not set 506# CONFIG_SCSI_ISCSI_ATTRS is not set
471# CONFIG_SCSI_SAS_ATTRS is not set 507# CONFIG_SCSI_SAS_ATTRS is not set
508# CONFIG_SCSI_SAS_LIBSAS is not set
472 509
473# 510#
474# SCSI low-level drivers 511# SCSI low-level drivers
@@ -481,26 +518,34 @@ CONFIG_CHR_DEV_SG=y
481# CONFIG_SCSI_AIC7XXX is not set 518# CONFIG_SCSI_AIC7XXX is not set
482# CONFIG_SCSI_AIC7XXX_OLD is not set 519# CONFIG_SCSI_AIC7XXX_OLD is not set
483# CONFIG_SCSI_AIC79XX is not set 520# CONFIG_SCSI_AIC79XX is not set
521# CONFIG_SCSI_AIC94XX is not set
484# CONFIG_SCSI_DPT_I2O is not set 522# CONFIG_SCSI_DPT_I2O is not set
523# CONFIG_SCSI_ARCMSR is not set
485# CONFIG_MEGARAID_NEWGEN is not set 524# CONFIG_MEGARAID_NEWGEN is not set
486# CONFIG_MEGARAID_LEGACY is not set 525# CONFIG_MEGARAID_LEGACY is not set
487# CONFIG_MEGARAID_SAS is not set 526# CONFIG_MEGARAID_SAS is not set
488# CONFIG_SCSI_SATA is not set
489# CONFIG_SCSI_HPTIOP is not set 527# CONFIG_SCSI_HPTIOP is not set
490# CONFIG_SCSI_DMX3191D is not set 528# CONFIG_SCSI_DMX3191D is not set
491# CONFIG_SCSI_FUTURE_DOMAIN is not set 529# CONFIG_SCSI_FUTURE_DOMAIN is not set
492# CONFIG_SCSI_IPS is not set 530# CONFIG_SCSI_IPS is not set
493# CONFIG_SCSI_INITIO is not set 531# CONFIG_SCSI_INITIO is not set
494# CONFIG_SCSI_INIA100 is not set 532# CONFIG_SCSI_INIA100 is not set
533# CONFIG_SCSI_STEX is not set
495# CONFIG_SCSI_SYM53C8XX_2 is not set 534# CONFIG_SCSI_SYM53C8XX_2 is not set
496# CONFIG_SCSI_IPR is not set
497# CONFIG_SCSI_QLOGIC_1280 is not set 535# CONFIG_SCSI_QLOGIC_1280 is not set
498# CONFIG_SCSI_QLA_FC is not set 536# CONFIG_SCSI_QLA_FC is not set
537# CONFIG_SCSI_QLA_ISCSI is not set
499# CONFIG_SCSI_LPFC is not set 538# CONFIG_SCSI_LPFC is not set
500# CONFIG_SCSI_DC395x is not set 539# CONFIG_SCSI_DC395x is not set
501# CONFIG_SCSI_DC390T is not set 540# CONFIG_SCSI_DC390T is not set
502# CONFIG_SCSI_NSP32 is not set 541# CONFIG_SCSI_NSP32 is not set
503# CONFIG_SCSI_DEBUG is not set 542# CONFIG_SCSI_DEBUG is not set
543# CONFIG_SCSI_SRP is not set
544
545#
546# Serial ATA (prod) and Parallel ATA (experimental) drivers
547#
548# CONFIG_ATA is not set
504 549
505# 550#
506# Multi-device support (RAID and LVM) 551# Multi-device support (RAID and LVM)
@@ -515,6 +560,7 @@ CONFIG_MD_RAID1=y
515# CONFIG_MD_MULTIPATH is not set 560# CONFIG_MD_MULTIPATH is not set
516# CONFIG_MD_FAULTY is not set 561# CONFIG_MD_FAULTY is not set
517CONFIG_BLK_DEV_DM=y 562CONFIG_BLK_DEV_DM=y
563# CONFIG_DM_DEBUG is not set
518# CONFIG_DM_CRYPT is not set 564# CONFIG_DM_CRYPT is not set
519# CONFIG_DM_SNAPSHOT is not set 565# CONFIG_DM_SNAPSHOT is not set
520# CONFIG_DM_MIRROR is not set 566# CONFIG_DM_MIRROR is not set
@@ -580,6 +626,7 @@ CONFIG_E1000_NAPI=y
580# CONFIG_SK98LIN is not set 626# CONFIG_SK98LIN is not set
581# CONFIG_TIGON3 is not set 627# CONFIG_TIGON3 is not set
582# CONFIG_BNX2 is not set 628# CONFIG_BNX2 is not set
629# CONFIG_QLA3XXX is not set
583 630
584# 631#
585# Ethernet (10000 Mbit) 632# Ethernet (10000 Mbit)
@@ -588,6 +635,7 @@ CONFIG_E1000_NAPI=y
588# CONFIG_IXGB is not set 635# CONFIG_IXGB is not set
589# CONFIG_S2IO is not set 636# CONFIG_S2IO is not set
590# CONFIG_MYRI10GE is not set 637# CONFIG_MYRI10GE is not set
638# CONFIG_NETXEN_NIC is not set
591 639
592# 640#
593# Token Ring devices 641# Token Ring devices
@@ -622,6 +670,7 @@ CONFIG_E1000_NAPI=y
622# Input device support 670# Input device support
623# 671#
624CONFIG_INPUT=y 672CONFIG_INPUT=y
673# CONFIG_INPUT_FF_MEMLESS is not set
625 674
626# 675#
627# Userland interfaces 676# Userland interfaces
@@ -693,10 +742,6 @@ CONFIG_HW_RANDOM=y
693# CONFIG_DTLK is not set 742# CONFIG_DTLK is not set
694# CONFIG_R3964 is not set 743# CONFIG_R3964 is not set
695# CONFIG_APPLICOM is not set 744# CONFIG_APPLICOM is not set
696
697#
698# Ftape, the floppy tape device driver
699#
700# CONFIG_DRM is not set 745# CONFIG_DRM is not set
701# CONFIG_RAW_DRIVER is not set 746# CONFIG_RAW_DRIVER is not set
702 747
@@ -704,7 +749,6 @@ CONFIG_HW_RANDOM=y
704# TPM devices 749# TPM devices
705# 750#
706# CONFIG_TCG_TPM is not set 751# CONFIG_TCG_TPM is not set
707# CONFIG_TELCLOCK is not set
708 752
709# 753#
710# I2C support 754# I2C support
@@ -769,6 +813,7 @@ CONFIG_I2C_IOP3XX=y
769# 813#
770# Dallas's 1-wire bus 814# Dallas's 1-wire bus
771# 815#
816# CONFIG_W1 is not set
772 817
773# 818#
774# Hardware Monitoring support 819# Hardware Monitoring support
@@ -802,15 +847,18 @@ CONFIG_HWMON=y
802# CONFIG_SENSORS_LM92 is not set 847# CONFIG_SENSORS_LM92 is not set
803# CONFIG_SENSORS_MAX1619 is not set 848# CONFIG_SENSORS_MAX1619 is not set
804# CONFIG_SENSORS_PC87360 is not set 849# CONFIG_SENSORS_PC87360 is not set
850# CONFIG_SENSORS_PC87427 is not set
805# CONFIG_SENSORS_SIS5595 is not set 851# CONFIG_SENSORS_SIS5595 is not set
806# CONFIG_SENSORS_SMSC47M1 is not set 852# CONFIG_SENSORS_SMSC47M1 is not set
807# CONFIG_SENSORS_SMSC47M192 is not set 853# CONFIG_SENSORS_SMSC47M192 is not set
808# CONFIG_SENSORS_SMSC47B397 is not set 854# CONFIG_SENSORS_SMSC47B397 is not set
809# CONFIG_SENSORS_VIA686A is not set 855# CONFIG_SENSORS_VIA686A is not set
856# CONFIG_SENSORS_VT1211 is not set
810# CONFIG_SENSORS_VT8231 is not set 857# CONFIG_SENSORS_VT8231 is not set
811# CONFIG_SENSORS_W83781D is not set 858# CONFIG_SENSORS_W83781D is not set
812# CONFIG_SENSORS_W83791D is not set 859# CONFIG_SENSORS_W83791D is not set
813# CONFIG_SENSORS_W83792D is not set 860# CONFIG_SENSORS_W83792D is not set
861# CONFIG_SENSORS_W83793 is not set
814# CONFIG_SENSORS_W83L785TS is not set 862# CONFIG_SENSORS_W83L785TS is not set
815# CONFIG_SENSORS_W83627HF is not set 863# CONFIG_SENSORS_W83627HF is not set
816# CONFIG_SENSORS_W83627EHF is not set 864# CONFIG_SENSORS_W83627EHF is not set
@@ -819,6 +867,8 @@ CONFIG_HWMON=y
819# 867#
820# Misc devices 868# Misc devices
821# 869#
870# CONFIG_SGI_IOC4 is not set
871# CONFIG_TIFM_CORE is not set
822 872
823# 873#
824# LED devices 874# LED devices
@@ -837,7 +887,6 @@ CONFIG_HWMON=y
837# Multimedia devices 887# Multimedia devices
838# 888#
839# CONFIG_VIDEO_DEV is not set 889# CONFIG_VIDEO_DEV is not set
840CONFIG_VIDEO_V4L2=y
841 890
842# 891#
843# Digital Video Broadcasting Devices 892# Digital Video Broadcasting Devices
@@ -863,6 +912,11 @@ CONFIG_DUMMY_CONSOLE=y
863# CONFIG_SOUND is not set 912# CONFIG_SOUND is not set
864 913
865# 914#
915# HID Devices
916#
917CONFIG_HID=y
918
919#
866# USB support 920# USB support
867# 921#
868CONFIG_USB_ARCH_HAS_HCD=y 922CONFIG_USB_ARCH_HAS_HCD=y
@@ -900,6 +954,7 @@ CONFIG_EXT3_FS=y
900CONFIG_EXT3_FS_XATTR=y 954CONFIG_EXT3_FS_XATTR=y
901# CONFIG_EXT3_FS_POSIX_ACL is not set 955# CONFIG_EXT3_FS_POSIX_ACL is not set
902# CONFIG_EXT3_FS_SECURITY is not set 956# CONFIG_EXT3_FS_SECURITY is not set
957# CONFIG_EXT4DEV_FS is not set
903CONFIG_JBD=y 958CONFIG_JBD=y
904# CONFIG_JBD_DEBUG is not set 959# CONFIG_JBD_DEBUG is not set
905CONFIG_FS_MBCACHE=y 960CONFIG_FS_MBCACHE=y
@@ -911,6 +966,7 @@ CONFIG_XFS_FS=y
911CONFIG_XFS_SECURITY=y 966CONFIG_XFS_SECURITY=y
912CONFIG_XFS_POSIX_ACL=y 967CONFIG_XFS_POSIX_ACL=y
913# CONFIG_XFS_RT is not set 968# CONFIG_XFS_RT is not set
969# CONFIG_GFS2_FS is not set
914# CONFIG_OCFS2_FS is not set 970# CONFIG_OCFS2_FS is not set
915# CONFIG_MINIX_FS is not set 971# CONFIG_MINIX_FS is not set
916# CONFIG_ROMFS_FS is not set 972# CONFIG_ROMFS_FS is not set
@@ -939,8 +995,10 @@ CONFIG_DNOTIFY=y
939# Pseudo filesystems 995# Pseudo filesystems
940# 996#
941CONFIG_PROC_FS=y 997CONFIG_PROC_FS=y
998CONFIG_PROC_SYSCTL=y
942CONFIG_SYSFS=y 999CONFIG_SYSFS=y
943CONFIG_TMPFS=y 1000CONFIG_TMPFS=y
1001# CONFIG_TMPFS_POSIX_ACL is not set
944# CONFIG_HUGETLB_PAGE is not set 1002# CONFIG_HUGETLB_PAGE is not set
945CONFIG_RAMFS=y 1003CONFIG_RAMFS=y
946# CONFIG_CONFIGFS_FS is not set 1004# CONFIG_CONFIGFS_FS is not set
@@ -1019,6 +1077,11 @@ CONFIG_MSDOS_PARTITION=y
1019# CONFIG_NLS is not set 1077# CONFIG_NLS is not set
1020 1078
1021# 1079#
1080# Distributed Lock Manager
1081#
1082# CONFIG_DLM is not set
1083
1084#
1022# Profiling support 1085# Profiling support
1023# 1086#
1024# CONFIG_PROFILING is not set 1087# CONFIG_PROFILING is not set
@@ -1027,8 +1090,11 @@ CONFIG_MSDOS_PARTITION=y
1027# Kernel hacking 1090# Kernel hacking
1028# 1091#
1029# CONFIG_PRINTK_TIME is not set 1092# CONFIG_PRINTK_TIME is not set
1093CONFIG_ENABLE_MUST_CHECK=y
1030CONFIG_MAGIC_SYSRQ=y 1094CONFIG_MAGIC_SYSRQ=y
1031# CONFIG_UNUSED_SYMBOLS is not set 1095# CONFIG_UNUSED_SYMBOLS is not set
1096# CONFIG_DEBUG_FS is not set
1097# CONFIG_HEADERS_CHECK is not set
1032CONFIG_DEBUG_KERNEL=y 1098CONFIG_DEBUG_KERNEL=y
1033CONFIG_LOG_BUF_SHIFT=14 1099CONFIG_LOG_BUF_SHIFT=14
1034CONFIG_DETECT_SOFTLOCKUP=y 1100CONFIG_DETECT_SOFTLOCKUP=y
@@ -1044,10 +1110,9 @@ CONFIG_DETECT_SOFTLOCKUP=y
1044# CONFIG_DEBUG_KOBJECT is not set 1110# CONFIG_DEBUG_KOBJECT is not set
1045CONFIG_DEBUG_BUGVERBOSE=y 1111CONFIG_DEBUG_BUGVERBOSE=y
1046# CONFIG_DEBUG_INFO is not set 1112# CONFIG_DEBUG_INFO is not set
1047# CONFIG_DEBUG_FS is not set
1048# CONFIG_DEBUG_VM is not set 1113# CONFIG_DEBUG_VM is not set
1114# CONFIG_DEBUG_LIST is not set
1049CONFIG_FRAME_POINTER=y 1115CONFIG_FRAME_POINTER=y
1050# CONFIG_UNWIND_INFO is not set
1051# CONFIG_FORCED_INLINING is not set 1116# CONFIG_FORCED_INLINING is not set
1052# CONFIG_RCU_TORTURE_TEST is not set 1117# CONFIG_RCU_TORTURE_TEST is not set
1053CONFIG_DEBUG_USER=y 1118CONFIG_DEBUG_USER=y
@@ -1067,10 +1132,6 @@ CONFIG_DEBUG_LL=y
1067# CONFIG_CRYPTO is not set 1132# CONFIG_CRYPTO is not set
1068 1133
1069# 1134#
1070# Hardware crypto devices
1071#
1072
1073#
1074# Library routines 1135# Library routines
1075# 1136#
1076# CONFIG_CRC_CCITT is not set 1137# CONFIG_CRC_CCITT is not set
@@ -1078,3 +1139,4 @@ CONFIG_DEBUG_LL=y
1078# CONFIG_CRC32 is not set 1139# CONFIG_CRC32 is not set
1079# CONFIG_LIBCRC32C is not set 1140# CONFIG_LIBCRC32C is not set
1080CONFIG_PLIST=y 1141CONFIG_PLIST=y
1142CONFIG_IOMAP_COPY=y
diff --git a/arch/arm/configs/ixp2000_defconfig b/arch/arm/configs/ixp2000_defconfig
index bbd2dcf91e52..f8f9793b526f 100644
--- a/arch/arm/configs/ixp2000_defconfig
+++ b/arch/arm/configs/ixp2000_defconfig
@@ -1,14 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.18-rc1 3# Linux kernel version: 2.6.20-rc1
4# Sun Jul 9 15:28:50 2006 4# Sat Dec 16 06:05:39 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
7CONFIG_MMU=y 8CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y 9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
9CONFIG_HARDIRQS_SW_RESEND=y 11CONFIG_HARDIRQS_SW_RESEND=y
10CONFIG_GENERIC_IRQ_PROBE=y 12CONFIG_GENERIC_IRQ_PROBE=y
11CONFIG_RWSEM_GENERIC_SPINLOCK=y 13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
12CONFIG_GENERIC_HWEIGHT=y 16CONFIG_GENERIC_HWEIGHT=y
13CONFIG_GENERIC_CALIBRATE_DELAY=y 17CONFIG_GENERIC_CALIBRATE_DELAY=y
14CONFIG_VECTORS_BASE=0xffff0000 18CONFIG_VECTORS_BASE=0xffff0000
@@ -28,17 +32,22 @@ CONFIG_LOCALVERSION=""
28CONFIG_LOCALVERSION_AUTO=y 32CONFIG_LOCALVERSION_AUTO=y
29CONFIG_SWAP=y 33CONFIG_SWAP=y
30CONFIG_SYSVIPC=y 34CONFIG_SYSVIPC=y
35# CONFIG_IPC_NS is not set
31# CONFIG_POSIX_MQUEUE is not set 36# CONFIG_POSIX_MQUEUE is not set
32CONFIG_BSD_PROCESS_ACCT=y 37CONFIG_BSD_PROCESS_ACCT=y
33# CONFIG_BSD_PROCESS_ACCT_V3 is not set 38# CONFIG_BSD_PROCESS_ACCT_V3 is not set
34CONFIG_SYSCTL=y 39# CONFIG_TASKSTATS is not set
40# CONFIG_UTS_NS is not set
35# CONFIG_AUDIT is not set 41# CONFIG_AUDIT is not set
36# CONFIG_IKCONFIG is not set 42# CONFIG_IKCONFIG is not set
43CONFIG_SYSFS_DEPRECATED=y
37# CONFIG_RELAY is not set 44# CONFIG_RELAY is not set
38CONFIG_INITRAMFS_SOURCE="" 45CONFIG_INITRAMFS_SOURCE=""
39CONFIG_UID16=y
40CONFIG_CC_OPTIMIZE_FOR_SIZE=y 46CONFIG_CC_OPTIMIZE_FOR_SIZE=y
47CONFIG_SYSCTL=y
41CONFIG_EMBEDDED=y 48CONFIG_EMBEDDED=y
49CONFIG_UID16=y
50CONFIG_SYSCTL_SYSCALL=y
42CONFIG_KALLSYMS=y 51CONFIG_KALLSYMS=y
43# CONFIG_KALLSYMS_ALL is not set 52# CONFIG_KALLSYMS_ALL is not set
44# CONFIG_KALLSYMS_EXTRA_PASS is not set 53# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -47,12 +56,12 @@ CONFIG_PRINTK=y
47CONFIG_BUG=y 56CONFIG_BUG=y
48CONFIG_ELF_CORE=y 57CONFIG_ELF_CORE=y
49CONFIG_BASE_FULL=y 58CONFIG_BASE_FULL=y
50CONFIG_RT_MUTEXES=y
51CONFIG_FUTEX=y 59CONFIG_FUTEX=y
52CONFIG_EPOLL=y 60CONFIG_EPOLL=y
53CONFIG_SHMEM=y 61CONFIG_SHMEM=y
54CONFIG_SLAB=y 62CONFIG_SLAB=y
55CONFIG_VM_EVENT_COUNTERS=y 63CONFIG_VM_EVENT_COUNTERS=y
64CONFIG_RT_MUTEXES=y
56# CONFIG_TINY_SHMEM is not set 65# CONFIG_TINY_SHMEM is not set
57CONFIG_BASE_SMALL=0 66CONFIG_BASE_SMALL=0
58# CONFIG_SLOB is not set 67# CONFIG_SLOB is not set
@@ -70,7 +79,10 @@ CONFIG_KMOD=y
70# 79#
71# Block layer 80# Block layer
72# 81#
82CONFIG_BLOCK=y
83# CONFIG_LBD is not set
73# CONFIG_BLK_DEV_IO_TRACE is not set 84# CONFIG_BLK_DEV_IO_TRACE is not set
85# CONFIG_LSF is not set
74 86
75# 87#
76# IO Schedulers 88# IO Schedulers
@@ -102,7 +114,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
102# CONFIG_ARCH_NETX is not set 114# CONFIG_ARCH_NETX is not set
103# CONFIG_ARCH_H720X is not set 115# CONFIG_ARCH_H720X is not set
104# CONFIG_ARCH_IMX is not set 116# CONFIG_ARCH_IMX is not set
105# CONFIG_ARCH_IOP3XX is not set 117# CONFIG_ARCH_IOP32X is not set
118# CONFIG_ARCH_IOP33X is not set
119# CONFIG_ARCH_IOP13XX is not set
106# CONFIG_ARCH_IXP4XX is not set 120# CONFIG_ARCH_IXP4XX is not set
107CONFIG_ARCH_IXP2000=y 121CONFIG_ARCH_IXP2000=y
108# CONFIG_ARCH_IXP23XX is not set 122# CONFIG_ARCH_IXP23XX is not set
@@ -143,24 +157,28 @@ CONFIG_CPU_32v5=y
143CONFIG_CPU_ABRT_EV5T=y 157CONFIG_CPU_ABRT_EV5T=y
144CONFIG_CPU_CACHE_VIVT=y 158CONFIG_CPU_CACHE_VIVT=y
145CONFIG_CPU_TLB_V4WBI=y 159CONFIG_CPU_TLB_V4WBI=y
160CONFIG_CPU_CP15=y
161CONFIG_CPU_CP15_MMU=y
146 162
147# 163#
148# Processor Features 164# Processor Features
149# 165#
150# CONFIG_ARM_THUMB is not set 166# CONFIG_ARM_THUMB is not set
151CONFIG_CPU_BIG_ENDIAN=y 167CONFIG_CPU_BIG_ENDIAN=y
168# CONFIG_CPU_DCACHE_DISABLE is not set
169# CONFIG_IWMMXT is not set
152CONFIG_XSCALE_PMU=y 170CONFIG_XSCALE_PMU=y
153 171
154# 172#
155# Bus support 173# Bus support
156# 174#
157CONFIG_PCI=y 175CONFIG_PCI=y
176# CONFIG_PCI_MULTITHREAD_PROBE is not set
158# CONFIG_PCI_DEBUG is not set 177# CONFIG_PCI_DEBUG is not set
159 178
160# 179#
161# PCCARD (PCMCIA/CardBus) support 180# PCCARD (PCMCIA/CardBus) support
162# 181#
163# CONFIG_PCCARD is not set
164 182
165# 183#
166# Kernel Features 184# Kernel Features
@@ -228,6 +246,7 @@ CONFIG_PACKET_MMAP=y
228CONFIG_UNIX=y 246CONFIG_UNIX=y
229CONFIG_XFRM=y 247CONFIG_XFRM=y
230# CONFIG_XFRM_USER is not set 248# CONFIG_XFRM_USER is not set
249# CONFIG_XFRM_SUB_POLICY is not set
231# CONFIG_NET_KEY is not set 250# CONFIG_NET_KEY is not set
232CONFIG_INET=y 251CONFIG_INET=y
233# CONFIG_IP_MULTICAST is not set 252# CONFIG_IP_MULTICAST is not set
@@ -248,13 +267,29 @@ CONFIG_SYN_COOKIES=y
248# CONFIG_INET_TUNNEL is not set 267# CONFIG_INET_TUNNEL is not set
249CONFIG_INET_XFRM_MODE_TRANSPORT=y 268CONFIG_INET_XFRM_MODE_TRANSPORT=y
250CONFIG_INET_XFRM_MODE_TUNNEL=y 269CONFIG_INET_XFRM_MODE_TUNNEL=y
270CONFIG_INET_XFRM_MODE_BEET=y
251CONFIG_INET_DIAG=y 271CONFIG_INET_DIAG=y
252CONFIG_INET_TCP_DIAG=y 272CONFIG_INET_TCP_DIAG=y
253# CONFIG_TCP_CONG_ADVANCED is not set 273# CONFIG_TCP_CONG_ADVANCED is not set
254CONFIG_TCP_CONG_BIC=y 274CONFIG_TCP_CONG_CUBIC=y
255# CONFIG_IPV6 is not set 275CONFIG_DEFAULT_TCP_CONG="cubic"
276# CONFIG_TCP_MD5SIG is not set
277CONFIG_IPV6=y
278# CONFIG_IPV6_PRIVACY is not set
279# CONFIG_IPV6_ROUTER_PREF is not set
280# CONFIG_INET6_AH is not set
281# CONFIG_INET6_ESP is not set
282# CONFIG_INET6_IPCOMP is not set
283# CONFIG_IPV6_MIP6 is not set
256# CONFIG_INET6_XFRM_TUNNEL is not set 284# CONFIG_INET6_XFRM_TUNNEL is not set
257# CONFIG_INET6_TUNNEL is not set 285# CONFIG_INET6_TUNNEL is not set
286# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
287# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
288# CONFIG_INET6_XFRM_MODE_BEET is not set
289# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
290# CONFIG_IPV6_SIT is not set
291# CONFIG_IPV6_TUNNEL is not set
292# CONFIG_IPV6_MULTIPLE_TABLES is not set
258# CONFIG_NETWORK_SECMARK is not set 293# CONFIG_NETWORK_SECMARK is not set
259# CONFIG_NETFILTER is not set 294# CONFIG_NETFILTER is not set
260 295
@@ -281,7 +316,6 @@ CONFIG_TCP_CONG_BIC=y
281# CONFIG_ATALK is not set 316# CONFIG_ATALK is not set
282# CONFIG_X25 is not set 317# CONFIG_X25 is not set
283# CONFIG_LAPB is not set 318# CONFIG_LAPB is not set
284# CONFIG_NET_DIVERT is not set
285# CONFIG_ECONET is not set 319# CONFIG_ECONET is not set
286# CONFIG_WAN_ROUTER is not set 320# CONFIG_WAN_ROUTER is not set
287 321
@@ -308,7 +342,6 @@ CONFIG_TCP_CONG_BIC=y
308# 342#
309CONFIG_STANDALONE=y 343CONFIG_STANDALONE=y
310# CONFIG_PREVENT_FIRMWARE_BUILD is not set 344# CONFIG_PREVENT_FIRMWARE_BUILD is not set
311# CONFIG_FW_LOADER is not set
312# CONFIG_DEBUG_DRIVER is not set 345# CONFIG_DEBUG_DRIVER is not set
313# CONFIG_SYS_HYPERVISOR is not set 346# CONFIG_SYS_HYPERVISOR is not set
314 347
@@ -340,6 +373,7 @@ CONFIG_MTD_BLOCK=y
340# CONFIG_NFTL is not set 373# CONFIG_NFTL is not set
341# CONFIG_INFTL is not set 374# CONFIG_INFTL is not set
342# CONFIG_RFD_FTL is not set 375# CONFIG_RFD_FTL is not set
376# CONFIG_SSFDC is not set
343 377
344# 378#
345# RAM/ROM/Flash chip drivers 379# RAM/ROM/Flash chip drivers
@@ -422,11 +456,12 @@ CONFIG_MTD_IXP2000=y
422# CONFIG_BLK_DEV_COW_COMMON is not set 456# CONFIG_BLK_DEV_COW_COMMON is not set
423CONFIG_BLK_DEV_LOOP=y 457CONFIG_BLK_DEV_LOOP=y
424# CONFIG_BLK_DEV_CRYPTOLOOP is not set 458# CONFIG_BLK_DEV_CRYPTOLOOP is not set
425# CONFIG_BLK_DEV_NBD is not set 459CONFIG_BLK_DEV_NBD=y
426# CONFIG_BLK_DEV_SX8 is not set 460# CONFIG_BLK_DEV_SX8 is not set
427CONFIG_BLK_DEV_RAM=y 461CONFIG_BLK_DEV_RAM=y
428CONFIG_BLK_DEV_RAM_COUNT=16 462CONFIG_BLK_DEV_RAM_COUNT=16
429CONFIG_BLK_DEV_RAM_SIZE=8192 463CONFIG_BLK_DEV_RAM_SIZE=8192
464CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
430CONFIG_BLK_DEV_INITRD=y 465CONFIG_BLK_DEV_INITRD=y
431# CONFIG_CDROM_PKTCDVD is not set 466# CONFIG_CDROM_PKTCDVD is not set
432# CONFIG_ATA_OVER_ETH is not set 467# CONFIG_ATA_OVER_ETH is not set
@@ -436,6 +471,12 @@ CONFIG_BLK_DEV_INITRD=y
436# 471#
437# CONFIG_RAID_ATTRS is not set 472# CONFIG_RAID_ATTRS is not set
438# CONFIG_SCSI is not set 473# CONFIG_SCSI is not set
474# CONFIG_SCSI_NETLINK is not set
475
476#
477# Serial ATA (prod) and Parallel ATA (experimental) drivers
478#
479# CONFIG_ATA is not set
439 480
440# 481#
441# Multi-device support (RAID and LVM) 482# Multi-device support (RAID and LVM)
@@ -501,8 +542,8 @@ CONFIG_NET_PCI=y
501# CONFIG_FORCEDETH is not set 542# CONFIG_FORCEDETH is not set
502CONFIG_CS89x0=y 543CONFIG_CS89x0=y
503# CONFIG_DGRS is not set 544# CONFIG_DGRS is not set
504CONFIG_EEPRO100=y 545# CONFIG_EEPRO100 is not set
505# CONFIG_E100 is not set 546CONFIG_E100=y
506# CONFIG_FEALNX is not set 547# CONFIG_FEALNX is not set
507# CONFIG_NATSEMI is not set 548# CONFIG_NATSEMI is not set
508# CONFIG_NE2K_PCI is not set 549# CONFIG_NE2K_PCI is not set
@@ -532,6 +573,7 @@ CONFIG_ENP2611_MSF_NET=y
532# CONFIG_VIA_VELOCITY is not set 573# CONFIG_VIA_VELOCITY is not set
533# CONFIG_TIGON3 is not set 574# CONFIG_TIGON3 is not set
534# CONFIG_BNX2 is not set 575# CONFIG_BNX2 is not set
576# CONFIG_QLA3XXX is not set
535 577
536# 578#
537# Ethernet (10000 Mbit) 579# Ethernet (10000 Mbit)
@@ -540,6 +582,7 @@ CONFIG_ENP2611_MSF_NET=y
540# CONFIG_IXGB is not set 582# CONFIG_IXGB is not set
541# CONFIG_S2IO is not set 583# CONFIG_S2IO is not set
542# CONFIG_MYRI10GE is not set 584# CONFIG_MYRI10GE is not set
585# CONFIG_NETXEN_NIC is not set
543 586
544# 587#
545# Token Ring devices 588# Token Ring devices
@@ -555,7 +598,6 @@ CONFIG_ENP2611_MSF_NET=y
555# Wan interfaces 598# Wan interfaces
556# 599#
557CONFIG_WAN=y 600CONFIG_WAN=y
558# CONFIG_DSCC4 is not set
559# CONFIG_LANMEDIA is not set 601# CONFIG_LANMEDIA is not set
560CONFIG_HDLC=y 602CONFIG_HDLC=y
561CONFIG_HDLC_RAW=y 603CONFIG_HDLC_RAW=y
@@ -571,6 +613,7 @@ CONFIG_HDLC_PPP=y
571# CONFIG_WANXL is not set 613# CONFIG_WANXL is not set
572# CONFIG_PC300 is not set 614# CONFIG_PC300 is not set
573# CONFIG_FARSYNC is not set 615# CONFIG_FARSYNC is not set
616# CONFIG_DSCC4 is not set
574CONFIG_DLCI=y 617CONFIG_DLCI=y
575CONFIG_DLCI_COUNT=24 618CONFIG_DLCI_COUNT=24
576CONFIG_DLCI_MAX=8 619CONFIG_DLCI_MAX=8
@@ -592,6 +635,7 @@ CONFIG_DLCI_MAX=8
592# Input device support 635# Input device support
593# 636#
594CONFIG_INPUT=y 637CONFIG_INPUT=y
638# CONFIG_INPUT_FF_MEMLESS is not set
595 639
596# 640#
597# Userland interfaces 641# Userland interfaces
@@ -673,10 +717,6 @@ CONFIG_IXP2000_WATCHDOG=y
673# CONFIG_DTLK is not set 717# CONFIG_DTLK is not set
674# CONFIG_R3964 is not set 718# CONFIG_R3964 is not set
675# CONFIG_APPLICOM is not set 719# CONFIG_APPLICOM is not set
676
677#
678# Ftape, the floppy tape device driver
679#
680# CONFIG_DRM is not set 720# CONFIG_DRM is not set
681# CONFIG_RAW_DRIVER is not set 721# CONFIG_RAW_DRIVER is not set
682 722
@@ -684,7 +724,6 @@ CONFIG_IXP2000_WATCHDOG=y
684# TPM devices 724# TPM devices
685# 725#
686# CONFIG_TCG_TPM is not set 726# CONFIG_TCG_TPM is not set
687# CONFIG_TELCLOCK is not set
688 727
689# 728#
690# I2C support 729# I2C support
@@ -749,6 +788,7 @@ CONFIG_SENSORS_EEPROM=y
749# 788#
750# Dallas's 1-wire bus 789# Dallas's 1-wire bus
751# 790#
791# CONFIG_W1 is not set
752 792
753# 793#
754# Hardware Monitoring support 794# Hardware Monitoring support
@@ -782,15 +822,18 @@ CONFIG_HWMON=y
782# CONFIG_SENSORS_LM92 is not set 822# CONFIG_SENSORS_LM92 is not set
783# CONFIG_SENSORS_MAX1619 is not set 823# CONFIG_SENSORS_MAX1619 is not set
784# CONFIG_SENSORS_PC87360 is not set 824# CONFIG_SENSORS_PC87360 is not set
825# CONFIG_SENSORS_PC87427 is not set
785# CONFIG_SENSORS_SIS5595 is not set 826# CONFIG_SENSORS_SIS5595 is not set
786# CONFIG_SENSORS_SMSC47M1 is not set 827# CONFIG_SENSORS_SMSC47M1 is not set
787# CONFIG_SENSORS_SMSC47M192 is not set 828# CONFIG_SENSORS_SMSC47M192 is not set
788# CONFIG_SENSORS_SMSC47B397 is not set 829# CONFIG_SENSORS_SMSC47B397 is not set
789# CONFIG_SENSORS_VIA686A is not set 830# CONFIG_SENSORS_VIA686A is not set
831# CONFIG_SENSORS_VT1211 is not set
790# CONFIG_SENSORS_VT8231 is not set 832# CONFIG_SENSORS_VT8231 is not set
791# CONFIG_SENSORS_W83781D is not set 833# CONFIG_SENSORS_W83781D is not set
792# CONFIG_SENSORS_W83791D is not set 834# CONFIG_SENSORS_W83791D is not set
793# CONFIG_SENSORS_W83792D is not set 835# CONFIG_SENSORS_W83792D is not set
836# CONFIG_SENSORS_W83793 is not set
794# CONFIG_SENSORS_W83L785TS is not set 837# CONFIG_SENSORS_W83L785TS is not set
795# CONFIG_SENSORS_W83627HF is not set 838# CONFIG_SENSORS_W83627HF is not set
796# CONFIG_SENSORS_W83627EHF is not set 839# CONFIG_SENSORS_W83627EHF is not set
@@ -799,6 +842,8 @@ CONFIG_HWMON=y
799# 842#
800# Misc devices 843# Misc devices
801# 844#
845# CONFIG_SGI_IOC4 is not set
846# CONFIG_TIFM_CORE is not set
802 847
803# 848#
804# LED devices 849# LED devices
@@ -817,7 +862,6 @@ CONFIG_HWMON=y
817# Multimedia devices 862# Multimedia devices
818# 863#
819# CONFIG_VIDEO_DEV is not set 864# CONFIG_VIDEO_DEV is not set
820CONFIG_VIDEO_V4L2=y
821 865
822# 866#
823# Digital Video Broadcasting Devices 867# Digital Video Broadcasting Devices
@@ -829,6 +873,7 @@ CONFIG_VIDEO_V4L2=y
829# 873#
830# CONFIG_FIRMWARE_EDID is not set 874# CONFIG_FIRMWARE_EDID is not set
831# CONFIG_FB is not set 875# CONFIG_FB is not set
876# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
832 877
833# 878#
834# Sound 879# Sound
@@ -836,6 +881,11 @@ CONFIG_VIDEO_V4L2=y
836# CONFIG_SOUND is not set 881# CONFIG_SOUND is not set
837 882
838# 883#
884# HID Devices
885#
886CONFIG_HID=y
887
888#
839# USB support 889# USB support
840# 890#
841CONFIG_USB_ARCH_HAS_HCD=y 891CONFIG_USB_ARCH_HAS_HCD=y
@@ -875,6 +925,7 @@ CONFIG_EXT3_FS=y
875CONFIG_EXT3_FS_XATTR=y 925CONFIG_EXT3_FS_XATTR=y
876CONFIG_EXT3_FS_POSIX_ACL=y 926CONFIG_EXT3_FS_POSIX_ACL=y
877# CONFIG_EXT3_FS_SECURITY is not set 927# CONFIG_EXT3_FS_SECURITY is not set
928# CONFIG_EXT4DEV_FS is not set
878CONFIG_JBD=y 929CONFIG_JBD=y
879# CONFIG_JBD_DEBUG is not set 930# CONFIG_JBD_DEBUG is not set
880CONFIG_FS_MBCACHE=y 931CONFIG_FS_MBCACHE=y
@@ -882,6 +933,7 @@ CONFIG_FS_MBCACHE=y
882# CONFIG_JFS_FS is not set 933# CONFIG_JFS_FS is not set
883CONFIG_FS_POSIX_ACL=y 934CONFIG_FS_POSIX_ACL=y
884# CONFIG_XFS_FS is not set 935# CONFIG_XFS_FS is not set
936# CONFIG_GFS2_FS is not set
885# CONFIG_OCFS2_FS is not set 937# CONFIG_OCFS2_FS is not set
886# CONFIG_MINIX_FS is not set 938# CONFIG_MINIX_FS is not set
887# CONFIG_ROMFS_FS is not set 939# CONFIG_ROMFS_FS is not set
@@ -910,8 +962,10 @@ CONFIG_DNOTIFY=y
910# Pseudo filesystems 962# Pseudo filesystems
911# 963#
912CONFIG_PROC_FS=y 964CONFIG_PROC_FS=y
965CONFIG_PROC_SYSCTL=y
913CONFIG_SYSFS=y 966CONFIG_SYSFS=y
914CONFIG_TMPFS=y 967CONFIG_TMPFS=y
968# CONFIG_TMPFS_POSIX_ACL is not set
915# CONFIG_HUGETLB_PAGE is not set 969# CONFIG_HUGETLB_PAGE is not set
916CONFIG_RAMFS=y 970CONFIG_RAMFS=y
917# CONFIG_CONFIGFS_FS is not set 971# CONFIG_CONFIGFS_FS is not set
@@ -961,7 +1015,6 @@ CONFIG_SUNRPC=y
961# CONFIG_RPCSEC_GSS_SPKM3 is not set 1015# CONFIG_RPCSEC_GSS_SPKM3 is not set
962# CONFIG_SMB_FS is not set 1016# CONFIG_SMB_FS is not set
963# CONFIG_CIFS is not set 1017# CONFIG_CIFS is not set
964# CONFIG_CIFS_DEBUG2 is not set
965# CONFIG_NCP_FS is not set 1018# CONFIG_NCP_FS is not set
966# CONFIG_CODA_FS is not set 1019# CONFIG_CODA_FS is not set
967# CONFIG_AFS_FS is not set 1020# CONFIG_AFS_FS is not set
@@ -994,6 +1047,11 @@ CONFIG_MSDOS_PARTITION=y
994# CONFIG_NLS is not set 1047# CONFIG_NLS is not set
995 1048
996# 1049#
1050# Distributed Lock Manager
1051#
1052# CONFIG_DLM is not set
1053
1054#
997# Profiling support 1055# Profiling support
998# 1056#
999# CONFIG_PROFILING is not set 1057# CONFIG_PROFILING is not set
@@ -1002,8 +1060,11 @@ CONFIG_MSDOS_PARTITION=y
1002# Kernel hacking 1060# Kernel hacking
1003# 1061#
1004# CONFIG_PRINTK_TIME is not set 1062# CONFIG_PRINTK_TIME is not set
1063CONFIG_ENABLE_MUST_CHECK=y
1005CONFIG_MAGIC_SYSRQ=y 1064CONFIG_MAGIC_SYSRQ=y
1006# CONFIG_UNUSED_SYMBOLS is not set 1065# CONFIG_UNUSED_SYMBOLS is not set
1066# CONFIG_DEBUG_FS is not set
1067# CONFIG_HEADERS_CHECK is not set
1007CONFIG_DEBUG_KERNEL=y 1068CONFIG_DEBUG_KERNEL=y
1008CONFIG_LOG_BUF_SHIFT=14 1069CONFIG_LOG_BUF_SHIFT=14
1009CONFIG_DETECT_SOFTLOCKUP=y 1070CONFIG_DETECT_SOFTLOCKUP=y
@@ -1019,10 +1080,9 @@ CONFIG_DEBUG_MUTEXES=y
1019# CONFIG_DEBUG_KOBJECT is not set 1080# CONFIG_DEBUG_KOBJECT is not set
1020CONFIG_DEBUG_BUGVERBOSE=y 1081CONFIG_DEBUG_BUGVERBOSE=y
1021# CONFIG_DEBUG_INFO is not set 1082# CONFIG_DEBUG_INFO is not set
1022# CONFIG_DEBUG_FS is not set
1023# CONFIG_DEBUG_VM is not set 1083# CONFIG_DEBUG_VM is not set
1084# CONFIG_DEBUG_LIST is not set
1024CONFIG_FRAME_POINTER=y 1085CONFIG_FRAME_POINTER=y
1025# CONFIG_UNWIND_INFO is not set
1026CONFIG_FORCED_INLINING=y 1086CONFIG_FORCED_INLINING=y
1027# CONFIG_RCU_TORTURE_TEST is not set 1087# CONFIG_RCU_TORTURE_TEST is not set
1028CONFIG_DEBUG_USER=y 1088CONFIG_DEBUG_USER=y
@@ -1042,12 +1102,9 @@ CONFIG_DEBUG_LL=y
1042# CONFIG_CRYPTO is not set 1102# CONFIG_CRYPTO is not set
1043 1103
1044# 1104#
1045# Hardware crypto devices
1046#
1047
1048#
1049# Library routines 1105# Library routines
1050# 1106#
1107CONFIG_BITREVERSE=y
1051# CONFIG_CRC_CCITT is not set 1108# CONFIG_CRC_CCITT is not set
1052# CONFIG_CRC16 is not set 1109# CONFIG_CRC16 is not set
1053CONFIG_CRC32=y 1110CONFIG_CRC32=y
@@ -1055,3 +1112,4 @@ CONFIG_CRC32=y
1055CONFIG_ZLIB_INFLATE=y 1112CONFIG_ZLIB_INFLATE=y
1056CONFIG_ZLIB_DEFLATE=y 1113CONFIG_ZLIB_DEFLATE=y
1057CONFIG_PLIST=y 1114CONFIG_PLIST=y
1115CONFIG_IOMAP_COPY=y
diff --git a/arch/arm/configs/ixp23xx_defconfig b/arch/arm/configs/ixp23xx_defconfig
index 06deefaec1d2..27cf022dd807 100644
--- a/arch/arm/configs/ixp23xx_defconfig
+++ b/arch/arm/configs/ixp23xx_defconfig
@@ -1,14 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.18-rc1 3# Linux kernel version: 2.6.20-rc1
4# Sun Jul 9 14:13:35 2006 4# Sat Dec 16 06:05:45 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
7CONFIG_MMU=y 8CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y 9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
9CONFIG_HARDIRQS_SW_RESEND=y 11CONFIG_HARDIRQS_SW_RESEND=y
10CONFIG_GENERIC_IRQ_PROBE=y 12CONFIG_GENERIC_IRQ_PROBE=y
11CONFIG_RWSEM_GENERIC_SPINLOCK=y 13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
12CONFIG_GENERIC_HWEIGHT=y 16CONFIG_GENERIC_HWEIGHT=y
13CONFIG_GENERIC_CALIBRATE_DELAY=y 17CONFIG_GENERIC_CALIBRATE_DELAY=y
14CONFIG_VECTORS_BASE=0xffff0000 18CONFIG_VECTORS_BASE=0xffff0000
@@ -28,17 +32,22 @@ CONFIG_LOCALVERSION=""
28CONFIG_LOCALVERSION_AUTO=y 32CONFIG_LOCALVERSION_AUTO=y
29CONFIG_SWAP=y 33CONFIG_SWAP=y
30CONFIG_SYSVIPC=y 34CONFIG_SYSVIPC=y
35# CONFIG_IPC_NS is not set
31# CONFIG_POSIX_MQUEUE is not set 36# CONFIG_POSIX_MQUEUE is not set
32CONFIG_BSD_PROCESS_ACCT=y 37CONFIG_BSD_PROCESS_ACCT=y
33# CONFIG_BSD_PROCESS_ACCT_V3 is not set 38# CONFIG_BSD_PROCESS_ACCT_V3 is not set
34CONFIG_SYSCTL=y 39# CONFIG_TASKSTATS is not set
40# CONFIG_UTS_NS is not set
35# CONFIG_AUDIT is not set 41# CONFIG_AUDIT is not set
36# CONFIG_IKCONFIG is not set 42# CONFIG_IKCONFIG is not set
43CONFIG_SYSFS_DEPRECATED=y
37# CONFIG_RELAY is not set 44# CONFIG_RELAY is not set
38CONFIG_INITRAMFS_SOURCE="" 45CONFIG_INITRAMFS_SOURCE=""
39CONFIG_UID16=y
40CONFIG_CC_OPTIMIZE_FOR_SIZE=y 46CONFIG_CC_OPTIMIZE_FOR_SIZE=y
47CONFIG_SYSCTL=y
41CONFIG_EMBEDDED=y 48CONFIG_EMBEDDED=y
49CONFIG_UID16=y
50CONFIG_SYSCTL_SYSCALL=y
42CONFIG_KALLSYMS=y 51CONFIG_KALLSYMS=y
43# CONFIG_KALLSYMS_ALL is not set 52# CONFIG_KALLSYMS_ALL is not set
44# CONFIG_KALLSYMS_EXTRA_PASS is not set 53# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -47,12 +56,12 @@ CONFIG_PRINTK=y
47CONFIG_BUG=y 56CONFIG_BUG=y
48CONFIG_ELF_CORE=y 57CONFIG_ELF_CORE=y
49CONFIG_BASE_FULL=y 58CONFIG_BASE_FULL=y
50CONFIG_RT_MUTEXES=y
51CONFIG_FUTEX=y 59CONFIG_FUTEX=y
52CONFIG_EPOLL=y 60CONFIG_EPOLL=y
53CONFIG_SHMEM=y 61CONFIG_SHMEM=y
54CONFIG_SLAB=y 62CONFIG_SLAB=y
55CONFIG_VM_EVENT_COUNTERS=y 63CONFIG_VM_EVENT_COUNTERS=y
64CONFIG_RT_MUTEXES=y
56# CONFIG_TINY_SHMEM is not set 65# CONFIG_TINY_SHMEM is not set
57CONFIG_BASE_SMALL=0 66CONFIG_BASE_SMALL=0
58# CONFIG_SLOB is not set 67# CONFIG_SLOB is not set
@@ -70,7 +79,10 @@ CONFIG_KMOD=y
70# 79#
71# Block layer 80# Block layer
72# 81#
82CONFIG_BLOCK=y
83# CONFIG_LBD is not set
73# CONFIG_BLK_DEV_IO_TRACE is not set 84# CONFIG_BLK_DEV_IO_TRACE is not set
85# CONFIG_LSF is not set
74 86
75# 87#
76# IO Schedulers 88# IO Schedulers
@@ -102,7 +114,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
102# CONFIG_ARCH_NETX is not set 114# CONFIG_ARCH_NETX is not set
103# CONFIG_ARCH_H720X is not set 115# CONFIG_ARCH_H720X is not set
104# CONFIG_ARCH_IMX is not set 116# CONFIG_ARCH_IMX is not set
105# CONFIG_ARCH_IOP3XX is not set 117# CONFIG_ARCH_IOP32X is not set
118# CONFIG_ARCH_IOP33X is not set
119# CONFIG_ARCH_IOP13XX is not set
106# CONFIG_ARCH_IXP4XX is not set 120# CONFIG_ARCH_IXP4XX is not set
107# CONFIG_ARCH_IXP2000 is not set 121# CONFIG_ARCH_IXP2000 is not set
108CONFIG_ARCH_IXP23XX=y 122CONFIG_ARCH_IXP23XX=y
@@ -137,6 +151,8 @@ CONFIG_CPU_32v5=y
137CONFIG_CPU_ABRT_EV5T=y 151CONFIG_CPU_ABRT_EV5T=y
138CONFIG_CPU_CACHE_VIVT=y 152CONFIG_CPU_CACHE_VIVT=y
139CONFIG_CPU_TLB_V4WBI=y 153CONFIG_CPU_TLB_V4WBI=y
154CONFIG_CPU_CP15=y
155CONFIG_CPU_CP15_MMU=y
140CONFIG_IO_36=y 156CONFIG_IO_36=y
141 157
142# 158#
@@ -144,11 +160,15 @@ CONFIG_IO_36=y
144# 160#
145# CONFIG_ARM_THUMB is not set 161# CONFIG_ARM_THUMB is not set
146CONFIG_CPU_BIG_ENDIAN=y 162CONFIG_CPU_BIG_ENDIAN=y
163# CONFIG_CPU_DCACHE_DISABLE is not set
164# CONFIG_CPU_BPREDICT_DISABLE is not set
165# CONFIG_IWMMXT is not set
147 166
148# 167#
149# Bus support 168# Bus support
150# 169#
151CONFIG_PCI=y 170CONFIG_PCI=y
171# CONFIG_PCI_MULTITHREAD_PROBE is not set
152# CONFIG_PCI_DEBUG is not set 172# CONFIG_PCI_DEBUG is not set
153 173
154# 174#
@@ -222,6 +242,7 @@ CONFIG_PACKET_MMAP=y
222CONFIG_UNIX=y 242CONFIG_UNIX=y
223CONFIG_XFRM=y 243CONFIG_XFRM=y
224# CONFIG_XFRM_USER is not set 244# CONFIG_XFRM_USER is not set
245# CONFIG_XFRM_SUB_POLICY is not set
225# CONFIG_NET_KEY is not set 246# CONFIG_NET_KEY is not set
226CONFIG_INET=y 247CONFIG_INET=y
227# CONFIG_IP_MULTICAST is not set 248# CONFIG_IP_MULTICAST is not set
@@ -242,13 +263,29 @@ CONFIG_SYN_COOKIES=y
242# CONFIG_INET_TUNNEL is not set 263# CONFIG_INET_TUNNEL is not set
243CONFIG_INET_XFRM_MODE_TRANSPORT=y 264CONFIG_INET_XFRM_MODE_TRANSPORT=y
244CONFIG_INET_XFRM_MODE_TUNNEL=y 265CONFIG_INET_XFRM_MODE_TUNNEL=y
266CONFIG_INET_XFRM_MODE_BEET=y
245CONFIG_INET_DIAG=y 267CONFIG_INET_DIAG=y
246CONFIG_INET_TCP_DIAG=y 268CONFIG_INET_TCP_DIAG=y
247# CONFIG_TCP_CONG_ADVANCED is not set 269# CONFIG_TCP_CONG_ADVANCED is not set
248CONFIG_TCP_CONG_BIC=y 270CONFIG_TCP_CONG_CUBIC=y
249# CONFIG_IPV6 is not set 271CONFIG_DEFAULT_TCP_CONG="cubic"
272# CONFIG_TCP_MD5SIG is not set
273CONFIG_IPV6=y
274# CONFIG_IPV6_PRIVACY is not set
275# CONFIG_IPV6_ROUTER_PREF is not set
276# CONFIG_INET6_AH is not set
277# CONFIG_INET6_ESP is not set
278# CONFIG_INET6_IPCOMP is not set
279# CONFIG_IPV6_MIP6 is not set
250# CONFIG_INET6_XFRM_TUNNEL is not set 280# CONFIG_INET6_XFRM_TUNNEL is not set
251# CONFIG_INET6_TUNNEL is not set 281# CONFIG_INET6_TUNNEL is not set
282# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
283# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
284# CONFIG_INET6_XFRM_MODE_BEET is not set
285# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
286# CONFIG_IPV6_SIT is not set
287# CONFIG_IPV6_TUNNEL is not set
288# CONFIG_IPV6_MULTIPLE_TABLES is not set
252# CONFIG_NETWORK_SECMARK is not set 289# CONFIG_NETWORK_SECMARK is not set
253# CONFIG_NETFILTER is not set 290# CONFIG_NETFILTER is not set
254 291
@@ -275,7 +312,6 @@ CONFIG_TCP_CONG_BIC=y
275# CONFIG_ATALK is not set 312# CONFIG_ATALK is not set
276# CONFIG_X25 is not set 313# CONFIG_X25 is not set
277# CONFIG_LAPB is not set 314# CONFIG_LAPB is not set
278# CONFIG_NET_DIVERT is not set
279# CONFIG_ECONET is not set 315# CONFIG_ECONET is not set
280# CONFIG_WAN_ROUTER is not set 316# CONFIG_WAN_ROUTER is not set
281 317
@@ -334,6 +370,7 @@ CONFIG_MTD_BLOCK=y
334# CONFIG_NFTL is not set 370# CONFIG_NFTL is not set
335# CONFIG_INFTL is not set 371# CONFIG_INFTL is not set
336# CONFIG_RFD_FTL is not set 372# CONFIG_RFD_FTL is not set
373# CONFIG_SSFDC is not set
337 374
338# 375#
339# RAM/ROM/Flash chip drivers 376# RAM/ROM/Flash chip drivers
@@ -418,12 +455,13 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1
418# CONFIG_BLK_DEV_COW_COMMON is not set 455# CONFIG_BLK_DEV_COW_COMMON is not set
419CONFIG_BLK_DEV_LOOP=y 456CONFIG_BLK_DEV_LOOP=y
420# CONFIG_BLK_DEV_CRYPTOLOOP is not set 457# CONFIG_BLK_DEV_CRYPTOLOOP is not set
421# CONFIG_BLK_DEV_NBD is not set 458CONFIG_BLK_DEV_NBD=y
422# CONFIG_BLK_DEV_SX8 is not set 459# CONFIG_BLK_DEV_SX8 is not set
423# CONFIG_BLK_DEV_UB is not set 460# CONFIG_BLK_DEV_UB is not set
424CONFIG_BLK_DEV_RAM=y 461CONFIG_BLK_DEV_RAM=y
425CONFIG_BLK_DEV_RAM_COUNT=16 462CONFIG_BLK_DEV_RAM_COUNT=16
426CONFIG_BLK_DEV_RAM_SIZE=8192 463CONFIG_BLK_DEV_RAM_SIZE=8192
464CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
427CONFIG_BLK_DEV_INITRD=y 465CONFIG_BLK_DEV_INITRD=y
428# CONFIG_CDROM_PKTCDVD is not set 466# CONFIG_CDROM_PKTCDVD is not set
429# CONFIG_ATA_OVER_ETH is not set 467# CONFIG_ATA_OVER_ETH is not set
@@ -432,6 +470,7 @@ CONFIG_BLK_DEV_INITRD=y
432# ATA/ATAPI/MFM/RLL support 470# ATA/ATAPI/MFM/RLL support
433# 471#
434CONFIG_IDE=y 472CONFIG_IDE=y
473CONFIG_IDE_MAX_HWIFS=4
435CONFIG_BLK_DEV_IDE=y 474CONFIG_BLK_DEV_IDE=y
436 475
437# 476#
@@ -455,7 +494,6 @@ CONFIG_BLK_DEV_IDEPCI=y
455# CONFIG_BLK_DEV_OFFBOARD is not set 494# CONFIG_BLK_DEV_OFFBOARD is not set
456# CONFIG_BLK_DEV_GENERIC is not set 495# CONFIG_BLK_DEV_GENERIC is not set
457# CONFIG_BLK_DEV_OPTI621 is not set 496# CONFIG_BLK_DEV_OPTI621 is not set
458# CONFIG_BLK_DEV_SL82C105 is not set
459CONFIG_BLK_DEV_IDEDMA_PCI=y 497CONFIG_BLK_DEV_IDEDMA_PCI=y
460# CONFIG_BLK_DEV_IDEDMA_FORCED is not set 498# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
461# CONFIG_IDEDMA_PCI_AUTO is not set 499# CONFIG_IDEDMA_PCI_AUTO is not set
@@ -469,6 +507,7 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
469# CONFIG_BLK_DEV_CS5530 is not set 507# CONFIG_BLK_DEV_CS5530 is not set
470# CONFIG_BLK_DEV_HPT34X is not set 508# CONFIG_BLK_DEV_HPT34X is not set
471# CONFIG_BLK_DEV_HPT366 is not set 509# CONFIG_BLK_DEV_HPT366 is not set
510# CONFIG_BLK_DEV_JMICRON is not set
472# CONFIG_BLK_DEV_SC1200 is not set 511# CONFIG_BLK_DEV_SC1200 is not set
473# CONFIG_BLK_DEV_PIIX is not set 512# CONFIG_BLK_DEV_PIIX is not set
474# CONFIG_BLK_DEV_IT821X is not set 513# CONFIG_BLK_DEV_IT821X is not set
@@ -477,6 +516,7 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
477# CONFIG_BLK_DEV_PDC202XX_NEW is not set 516# CONFIG_BLK_DEV_PDC202XX_NEW is not set
478# CONFIG_BLK_DEV_SVWKS is not set 517# CONFIG_BLK_DEV_SVWKS is not set
479CONFIG_BLK_DEV_SIIMAGE=y 518CONFIG_BLK_DEV_SIIMAGE=y
519# CONFIG_BLK_DEV_SL82C105 is not set
480# CONFIG_BLK_DEV_SLC90E66 is not set 520# CONFIG_BLK_DEV_SLC90E66 is not set
481# CONFIG_BLK_DEV_TRM290 is not set 521# CONFIG_BLK_DEV_TRM290 is not set
482# CONFIG_BLK_DEV_VIA82CXXX is not set 522# CONFIG_BLK_DEV_VIA82CXXX is not set
@@ -491,6 +531,8 @@ CONFIG_BLK_DEV_IDEDMA=y
491# 531#
492# CONFIG_RAID_ATTRS is not set 532# CONFIG_RAID_ATTRS is not set
493CONFIG_SCSI=y 533CONFIG_SCSI=y
534# CONFIG_SCSI_TGT is not set
535# CONFIG_SCSI_NETLINK is not set
494CONFIG_SCSI_PROC_FS=y 536CONFIG_SCSI_PROC_FS=y
495 537
496# 538#
@@ -509,14 +551,16 @@ CONFIG_BLK_DEV_SD=y
509# CONFIG_SCSI_MULTI_LUN is not set 551# CONFIG_SCSI_MULTI_LUN is not set
510# CONFIG_SCSI_CONSTANTS is not set 552# CONFIG_SCSI_CONSTANTS is not set
511# CONFIG_SCSI_LOGGING is not set 553# CONFIG_SCSI_LOGGING is not set
554# CONFIG_SCSI_SCAN_ASYNC is not set
512 555
513# 556#
514# SCSI Transport Attributes 557# SCSI Transports
515# 558#
516# CONFIG_SCSI_SPI_ATTRS is not set 559# CONFIG_SCSI_SPI_ATTRS is not set
517# CONFIG_SCSI_FC_ATTRS is not set 560# CONFIG_SCSI_FC_ATTRS is not set
518# CONFIG_SCSI_ISCSI_ATTRS is not set 561# CONFIG_SCSI_ISCSI_ATTRS is not set
519# CONFIG_SCSI_SAS_ATTRS is not set 562# CONFIG_SCSI_SAS_ATTRS is not set
563# CONFIG_SCSI_SAS_LIBSAS is not set
520 564
521# 565#
522# SCSI low-level drivers 566# SCSI low-level drivers
@@ -529,26 +573,34 @@ CONFIG_BLK_DEV_SD=y
529# CONFIG_SCSI_AIC7XXX is not set 573# CONFIG_SCSI_AIC7XXX is not set
530# CONFIG_SCSI_AIC7XXX_OLD is not set 574# CONFIG_SCSI_AIC7XXX_OLD is not set
531# CONFIG_SCSI_AIC79XX is not set 575# CONFIG_SCSI_AIC79XX is not set
576# CONFIG_SCSI_AIC94XX is not set
532# CONFIG_SCSI_DPT_I2O is not set 577# CONFIG_SCSI_DPT_I2O is not set
578# CONFIG_SCSI_ARCMSR is not set
533# CONFIG_MEGARAID_NEWGEN is not set 579# CONFIG_MEGARAID_NEWGEN is not set
534# CONFIG_MEGARAID_LEGACY is not set 580# CONFIG_MEGARAID_LEGACY is not set
535# CONFIG_MEGARAID_SAS is not set 581# CONFIG_MEGARAID_SAS is not set
536# CONFIG_SCSI_SATA is not set
537# CONFIG_SCSI_HPTIOP is not set 582# CONFIG_SCSI_HPTIOP is not set
538# CONFIG_SCSI_DMX3191D is not set 583# CONFIG_SCSI_DMX3191D is not set
539# CONFIG_SCSI_FUTURE_DOMAIN is not set 584# CONFIG_SCSI_FUTURE_DOMAIN is not set
540# CONFIG_SCSI_IPS is not set 585# CONFIG_SCSI_IPS is not set
541# CONFIG_SCSI_INITIO is not set 586# CONFIG_SCSI_INITIO is not set
542# CONFIG_SCSI_INIA100 is not set 587# CONFIG_SCSI_INIA100 is not set
588# CONFIG_SCSI_STEX is not set
543# CONFIG_SCSI_SYM53C8XX_2 is not set 589# CONFIG_SCSI_SYM53C8XX_2 is not set
544# CONFIG_SCSI_IPR is not set
545# CONFIG_SCSI_QLOGIC_1280 is not set 590# CONFIG_SCSI_QLOGIC_1280 is not set
546# CONFIG_SCSI_QLA_FC is not set 591# CONFIG_SCSI_QLA_FC is not set
592# CONFIG_SCSI_QLA_ISCSI is not set
547# CONFIG_SCSI_LPFC is not set 593# CONFIG_SCSI_LPFC is not set
548# CONFIG_SCSI_DC395x is not set 594# CONFIG_SCSI_DC395x is not set
549# CONFIG_SCSI_DC390T is not set 595# CONFIG_SCSI_DC390T is not set
550# CONFIG_SCSI_NSP32 is not set 596# CONFIG_SCSI_NSP32 is not set
551# CONFIG_SCSI_DEBUG is not set 597# CONFIG_SCSI_DEBUG is not set
598# CONFIG_SCSI_SRP is not set
599
600#
601# Serial ATA (prod) and Parallel ATA (experimental) drivers
602#
603# CONFIG_ATA is not set
552 604
553# 605#
554# Multi-device support (RAID and LVM) 606# Multi-device support (RAID and LVM)
@@ -649,6 +701,7 @@ CONFIG_E1000_NAPI=y
649# CONFIG_VIA_VELOCITY is not set 701# CONFIG_VIA_VELOCITY is not set
650# CONFIG_TIGON3 is not set 702# CONFIG_TIGON3 is not set
651# CONFIG_BNX2 is not set 703# CONFIG_BNX2 is not set
704# CONFIG_QLA3XXX is not set
652 705
653# 706#
654# Ethernet (10000 Mbit) 707# Ethernet (10000 Mbit)
@@ -657,6 +710,7 @@ CONFIG_E1000_NAPI=y
657# CONFIG_IXGB is not set 710# CONFIG_IXGB is not set
658# CONFIG_S2IO is not set 711# CONFIG_S2IO is not set
659# CONFIG_MYRI10GE is not set 712# CONFIG_MYRI10GE is not set
713# CONFIG_NETXEN_NIC is not set
660 714
661# 715#
662# Token Ring devices 716# Token Ring devices
@@ -672,7 +726,6 @@ CONFIG_E1000_NAPI=y
672# Wan interfaces 726# Wan interfaces
673# 727#
674CONFIG_WAN=y 728CONFIG_WAN=y
675# CONFIG_DSCC4 is not set
676# CONFIG_LANMEDIA is not set 729# CONFIG_LANMEDIA is not set
677CONFIG_HDLC=y 730CONFIG_HDLC=y
678CONFIG_HDLC_RAW=y 731CONFIG_HDLC_RAW=y
@@ -688,6 +741,7 @@ CONFIG_HDLC_PPP=y
688# CONFIG_WANXL is not set 741# CONFIG_WANXL is not set
689# CONFIG_PC300 is not set 742# CONFIG_PC300 is not set
690# CONFIG_FARSYNC is not set 743# CONFIG_FARSYNC is not set
744# CONFIG_DSCC4 is not set
691CONFIG_DLCI=y 745CONFIG_DLCI=y
692CONFIG_DLCI_COUNT=24 746CONFIG_DLCI_COUNT=24
693CONFIG_DLCI_MAX=8 747CONFIG_DLCI_MAX=8
@@ -710,6 +764,7 @@ CONFIG_DLCI_MAX=8
710# Input device support 764# Input device support
711# 765#
712CONFIG_INPUT=y 766CONFIG_INPUT=y
767# CONFIG_INPUT_FF_MEMLESS is not set
713 768
714# 769#
715# Userland interfaces 770# Userland interfaces
@@ -795,10 +850,6 @@ CONFIG_WATCHDOG=y
795# CONFIG_DTLK is not set 850# CONFIG_DTLK is not set
796# CONFIG_R3964 is not set 851# CONFIG_R3964 is not set
797# CONFIG_APPLICOM is not set 852# CONFIG_APPLICOM is not set
798
799#
800# Ftape, the floppy tape device driver
801#
802# CONFIG_DRM is not set 853# CONFIG_DRM is not set
803# CONFIG_RAW_DRIVER is not set 854# CONFIG_RAW_DRIVER is not set
804 855
@@ -806,7 +857,6 @@ CONFIG_WATCHDOG=y
806# TPM devices 857# TPM devices
807# 858#
808# CONFIG_TCG_TPM is not set 859# CONFIG_TCG_TPM is not set
809# CONFIG_TELCLOCK is not set
810 860
811# 861#
812# I2C support 862# I2C support
@@ -870,6 +920,7 @@ CONFIG_SENSORS_EEPROM=y
870# 920#
871# Dallas's 1-wire bus 921# Dallas's 1-wire bus
872# 922#
923# CONFIG_W1 is not set
873 924
874# 925#
875# Hardware Monitoring support 926# Hardware Monitoring support
@@ -903,15 +954,18 @@ CONFIG_HWMON=y
903# CONFIG_SENSORS_LM92 is not set 954# CONFIG_SENSORS_LM92 is not set
904# CONFIG_SENSORS_MAX1619 is not set 955# CONFIG_SENSORS_MAX1619 is not set
905# CONFIG_SENSORS_PC87360 is not set 956# CONFIG_SENSORS_PC87360 is not set
957# CONFIG_SENSORS_PC87427 is not set
906# CONFIG_SENSORS_SIS5595 is not set 958# CONFIG_SENSORS_SIS5595 is not set
907# CONFIG_SENSORS_SMSC47M1 is not set 959# CONFIG_SENSORS_SMSC47M1 is not set
908# CONFIG_SENSORS_SMSC47M192 is not set 960# CONFIG_SENSORS_SMSC47M192 is not set
909# CONFIG_SENSORS_SMSC47B397 is not set 961# CONFIG_SENSORS_SMSC47B397 is not set
910# CONFIG_SENSORS_VIA686A is not set 962# CONFIG_SENSORS_VIA686A is not set
963# CONFIG_SENSORS_VT1211 is not set
911# CONFIG_SENSORS_VT8231 is not set 964# CONFIG_SENSORS_VT8231 is not set
912# CONFIG_SENSORS_W83781D is not set 965# CONFIG_SENSORS_W83781D is not set
913# CONFIG_SENSORS_W83791D is not set 966# CONFIG_SENSORS_W83791D is not set
914# CONFIG_SENSORS_W83792D is not set 967# CONFIG_SENSORS_W83792D is not set
968# CONFIG_SENSORS_W83793 is not set
915# CONFIG_SENSORS_W83L785TS is not set 969# CONFIG_SENSORS_W83L785TS is not set
916# CONFIG_SENSORS_W83627HF is not set 970# CONFIG_SENSORS_W83627HF is not set
917# CONFIG_SENSORS_W83627EHF is not set 971# CONFIG_SENSORS_W83627EHF is not set
@@ -920,6 +974,8 @@ CONFIG_HWMON=y
920# 974#
921# Misc devices 975# Misc devices
922# 976#
977# CONFIG_SGI_IOC4 is not set
978# CONFIG_TIFM_CORE is not set
923 979
924# 980#
925# LED devices 981# LED devices
@@ -938,7 +994,6 @@ CONFIG_HWMON=y
938# Multimedia devices 994# Multimedia devices
939# 995#
940# CONFIG_VIDEO_DEV is not set 996# CONFIG_VIDEO_DEV is not set
941CONFIG_VIDEO_V4L2=y
942 997
943# 998#
944# Digital Video Broadcasting Devices 999# Digital Video Broadcasting Devices
@@ -951,6 +1006,7 @@ CONFIG_VIDEO_V4L2=y
951# 1006#
952# CONFIG_FIRMWARE_EDID is not set 1007# CONFIG_FIRMWARE_EDID is not set
953# CONFIG_FB is not set 1008# CONFIG_FB is not set
1009# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
954 1010
955# 1011#
956# Sound 1012# Sound
@@ -958,6 +1014,11 @@ CONFIG_VIDEO_V4L2=y
958# CONFIG_SOUND is not set 1014# CONFIG_SOUND is not set
959 1015
960# 1016#
1017# HID Devices
1018#
1019CONFIG_HID=y
1020
1021#
961# USB support 1022# USB support
962# 1023#
963CONFIG_USB_ARCH_HAS_HCD=y 1024CONFIG_USB_ARCH_HAS_HCD=y
@@ -972,6 +1033,7 @@ CONFIG_USB=y
972# CONFIG_USB_DEVICEFS is not set 1033# CONFIG_USB_DEVICEFS is not set
973# CONFIG_USB_BANDWIDTH is not set 1034# CONFIG_USB_BANDWIDTH is not set
974# CONFIG_USB_DYNAMIC_MINORS is not set 1035# CONFIG_USB_DYNAMIC_MINORS is not set
1036# CONFIG_USB_MULTITHREAD_PROBE is not set
975# CONFIG_USB_OTG is not set 1037# CONFIG_USB_OTG is not set
976 1038
977# 1039#
@@ -1012,6 +1074,7 @@ CONFIG_USB_STORAGE=y
1012# CONFIG_USB_STORAGE_SDDR55 is not set 1074# CONFIG_USB_STORAGE_SDDR55 is not set
1013# CONFIG_USB_STORAGE_JUMPSHOT is not set 1075# CONFIG_USB_STORAGE_JUMPSHOT is not set
1014# CONFIG_USB_STORAGE_ALAUDA is not set 1076# CONFIG_USB_STORAGE_ALAUDA is not set
1077# CONFIG_USB_STORAGE_KARMA is not set
1015# CONFIG_USB_LIBUSUAL is not set 1078# CONFIG_USB_LIBUSUAL is not set
1016 1079
1017# 1080#
@@ -1050,6 +1113,7 @@ CONFIG_USB_STORAGE=y
1050# CONFIG_USB_KAWETH is not set 1113# CONFIG_USB_KAWETH is not set
1051# CONFIG_USB_PEGASUS is not set 1114# CONFIG_USB_PEGASUS is not set
1052# CONFIG_USB_RTL8150 is not set 1115# CONFIG_USB_RTL8150 is not set
1116# CONFIG_USB_USBNET_MII is not set
1053# CONFIG_USB_USBNET is not set 1117# CONFIG_USB_USBNET is not set
1054CONFIG_USB_MON=y 1118CONFIG_USB_MON=y
1055 1119
@@ -1067,19 +1131,21 @@ CONFIG_USB_MON=y
1067# 1131#
1068# CONFIG_USB_EMI62 is not set 1132# CONFIG_USB_EMI62 is not set
1069# CONFIG_USB_EMI26 is not set 1133# CONFIG_USB_EMI26 is not set
1134# CONFIG_USB_ADUTUX is not set
1070# CONFIG_USB_AUERSWALD is not set 1135# CONFIG_USB_AUERSWALD is not set
1071# CONFIG_USB_RIO500 is not set 1136# CONFIG_USB_RIO500 is not set
1072# CONFIG_USB_LEGOTOWER is not set 1137# CONFIG_USB_LEGOTOWER is not set
1073# CONFIG_USB_LCD is not set 1138# CONFIG_USB_LCD is not set
1074# CONFIG_USB_LED is not set 1139# CONFIG_USB_LED is not set
1075# CONFIG_USB_CY7C63 is not set 1140# CONFIG_USB_CYPRESS_CY7C63 is not set
1076# CONFIG_USB_CYTHERM is not set 1141# CONFIG_USB_CYTHERM is not set
1077# CONFIG_USB_PHIDGETKIT is not set 1142# CONFIG_USB_PHIDGET is not set
1078# CONFIG_USB_PHIDGETSERVO is not set
1079# CONFIG_USB_IDMOUSE is not set 1143# CONFIG_USB_IDMOUSE is not set
1144# CONFIG_USB_FTDI_ELAN is not set
1080# CONFIG_USB_APPLEDISPLAY is not set 1145# CONFIG_USB_APPLEDISPLAY is not set
1081# CONFIG_USB_SISUSBVGA is not set 1146# CONFIG_USB_SISUSBVGA is not set
1082# CONFIG_USB_LD is not set 1147# CONFIG_USB_LD is not set
1148# CONFIG_USB_TRANCEVIBRATOR is not set
1083 1149
1084# 1150#
1085# USB DSL modem support 1151# USB DSL modem support
@@ -1113,6 +1179,7 @@ CONFIG_EXT3_FS=y
1113CONFIG_EXT3_FS_XATTR=y 1179CONFIG_EXT3_FS_XATTR=y
1114CONFIG_EXT3_FS_POSIX_ACL=y 1180CONFIG_EXT3_FS_POSIX_ACL=y
1115# CONFIG_EXT3_FS_SECURITY is not set 1181# CONFIG_EXT3_FS_SECURITY is not set
1182# CONFIG_EXT4DEV_FS is not set
1116CONFIG_JBD=y 1183CONFIG_JBD=y
1117# CONFIG_JBD_DEBUG is not set 1184# CONFIG_JBD_DEBUG is not set
1118CONFIG_FS_MBCACHE=y 1185CONFIG_FS_MBCACHE=y
@@ -1120,6 +1187,7 @@ CONFIG_FS_MBCACHE=y
1120# CONFIG_JFS_FS is not set 1187# CONFIG_JFS_FS is not set
1121CONFIG_FS_POSIX_ACL=y 1188CONFIG_FS_POSIX_ACL=y
1122# CONFIG_XFS_FS is not set 1189# CONFIG_XFS_FS is not set
1190# CONFIG_GFS2_FS is not set
1123# CONFIG_OCFS2_FS is not set 1191# CONFIG_OCFS2_FS is not set
1124# CONFIG_MINIX_FS is not set 1192# CONFIG_MINIX_FS is not set
1125# CONFIG_ROMFS_FS is not set 1193# CONFIG_ROMFS_FS is not set
@@ -1150,8 +1218,10 @@ CONFIG_FAT_DEFAULT_CODEPAGE=437
1150# Pseudo filesystems 1218# Pseudo filesystems
1151# 1219#
1152CONFIG_PROC_FS=y 1220CONFIG_PROC_FS=y
1221CONFIG_PROC_SYSCTL=y
1153CONFIG_SYSFS=y 1222CONFIG_SYSFS=y
1154CONFIG_TMPFS=y 1223CONFIG_TMPFS=y
1224# CONFIG_TMPFS_POSIX_ACL is not set
1155# CONFIG_HUGETLB_PAGE is not set 1225# CONFIG_HUGETLB_PAGE is not set
1156CONFIG_RAMFS=y 1226CONFIG_RAMFS=y
1157# CONFIG_CONFIGFS_FS is not set 1227# CONFIG_CONFIGFS_FS is not set
@@ -1201,7 +1271,6 @@ CONFIG_SUNRPC=y
1201# CONFIG_RPCSEC_GSS_SPKM3 is not set 1271# CONFIG_RPCSEC_GSS_SPKM3 is not set
1202# CONFIG_SMB_FS is not set 1272# CONFIG_SMB_FS is not set
1203# CONFIG_CIFS is not set 1273# CONFIG_CIFS is not set
1204# CONFIG_CIFS_DEBUG2 is not set
1205# CONFIG_NCP_FS is not set 1274# CONFIG_NCP_FS is not set
1206# CONFIG_CODA_FS is not set 1275# CONFIG_CODA_FS is not set
1207# CONFIG_AFS_FS is not set 1276# CONFIG_AFS_FS is not set
@@ -1273,6 +1342,11 @@ CONFIG_NLS_CODEPAGE_437=y
1273# CONFIG_NLS_UTF8 is not set 1342# CONFIG_NLS_UTF8 is not set
1274 1343
1275# 1344#
1345# Distributed Lock Manager
1346#
1347# CONFIG_DLM is not set
1348
1349#
1276# Profiling support 1350# Profiling support
1277# 1351#
1278# CONFIG_PROFILING is not set 1352# CONFIG_PROFILING is not set
@@ -1281,8 +1355,11 @@ CONFIG_NLS_CODEPAGE_437=y
1281# Kernel hacking 1355# Kernel hacking
1282# 1356#
1283# CONFIG_PRINTK_TIME is not set 1357# CONFIG_PRINTK_TIME is not set
1358CONFIG_ENABLE_MUST_CHECK=y
1284CONFIG_MAGIC_SYSRQ=y 1359CONFIG_MAGIC_SYSRQ=y
1285# CONFIG_UNUSED_SYMBOLS is not set 1360# CONFIG_UNUSED_SYMBOLS is not set
1361# CONFIG_DEBUG_FS is not set
1362# CONFIG_HEADERS_CHECK is not set
1286CONFIG_DEBUG_KERNEL=y 1363CONFIG_DEBUG_KERNEL=y
1287CONFIG_LOG_BUF_SHIFT=14 1364CONFIG_LOG_BUF_SHIFT=14
1288CONFIG_DETECT_SOFTLOCKUP=y 1365CONFIG_DETECT_SOFTLOCKUP=y
@@ -1298,10 +1375,9 @@ CONFIG_DEBUG_MUTEXES=y
1298# CONFIG_DEBUG_KOBJECT is not set 1375# CONFIG_DEBUG_KOBJECT is not set
1299CONFIG_DEBUG_BUGVERBOSE=y 1376CONFIG_DEBUG_BUGVERBOSE=y
1300# CONFIG_DEBUG_INFO is not set 1377# CONFIG_DEBUG_INFO is not set
1301# CONFIG_DEBUG_FS is not set
1302# CONFIG_DEBUG_VM is not set 1378# CONFIG_DEBUG_VM is not set
1379# CONFIG_DEBUG_LIST is not set
1303CONFIG_FRAME_POINTER=y 1380CONFIG_FRAME_POINTER=y
1304# CONFIG_UNWIND_INFO is not set
1305CONFIG_FORCED_INLINING=y 1381CONFIG_FORCED_INLINING=y
1306# CONFIG_RCU_TORTURE_TEST is not set 1382# CONFIG_RCU_TORTURE_TEST is not set
1307CONFIG_DEBUG_USER=y 1383CONFIG_DEBUG_USER=y
@@ -1321,12 +1397,9 @@ CONFIG_DEBUG_LL=y
1321# CONFIG_CRYPTO is not set 1397# CONFIG_CRYPTO is not set
1322 1398
1323# 1399#
1324# Hardware crypto devices
1325#
1326
1327#
1328# Library routines 1400# Library routines
1329# 1401#
1402CONFIG_BITREVERSE=y
1330# CONFIG_CRC_CCITT is not set 1403# CONFIG_CRC_CCITT is not set
1331# CONFIG_CRC16 is not set 1404# CONFIG_CRC16 is not set
1332CONFIG_CRC32=y 1405CONFIG_CRC32=y
@@ -1334,3 +1407,4 @@ CONFIG_CRC32=y
1334CONFIG_ZLIB_INFLATE=y 1407CONFIG_ZLIB_INFLATE=y
1335CONFIG_ZLIB_DEFLATE=y 1408CONFIG_ZLIB_DEFLATE=y
1336CONFIG_PLIST=y 1409CONFIG_PLIST=y
1410CONFIG_IOMAP_COPY=y
diff --git a/arch/arm/configs/lpd270_defconfig b/arch/arm/configs/lpd270_defconfig
index e146189ab54f..a3bf5833b87a 100644
--- a/arch/arm/configs/lpd270_defconfig
+++ b/arch/arm/configs/lpd270_defconfig
@@ -1,14 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.18-rc1 3# Linux kernel version: 2.6.20-rc1
4# Sun Jul 9 14:15:23 2006 4# Sat Dec 16 06:05:51 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
7CONFIG_MMU=y 8CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y 9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
9CONFIG_HARDIRQS_SW_RESEND=y 11CONFIG_HARDIRQS_SW_RESEND=y
10CONFIG_GENERIC_IRQ_PROBE=y 12CONFIG_GENERIC_IRQ_PROBE=y
11CONFIG_RWSEM_GENERIC_SPINLOCK=y 13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
12CONFIG_GENERIC_HWEIGHT=y 16CONFIG_GENERIC_HWEIGHT=y
13CONFIG_GENERIC_CALIBRATE_DELAY=y 17CONFIG_GENERIC_CALIBRATE_DELAY=y
14CONFIG_ARCH_MTD_XIP=y 18CONFIG_ARCH_MTD_XIP=y
@@ -29,16 +33,21 @@ CONFIG_LOCALVERSION=""
29CONFIG_LOCALVERSION_AUTO=y 33CONFIG_LOCALVERSION_AUTO=y
30CONFIG_SWAP=y 34CONFIG_SWAP=y
31CONFIG_SYSVIPC=y 35CONFIG_SYSVIPC=y
36# CONFIG_IPC_NS is not set
32# CONFIG_POSIX_MQUEUE is not set 37# CONFIG_POSIX_MQUEUE is not set
33# CONFIG_BSD_PROCESS_ACCT is not set 38# CONFIG_BSD_PROCESS_ACCT is not set
34CONFIG_SYSCTL=y 39# CONFIG_TASKSTATS is not set
40# CONFIG_UTS_NS is not set
35# CONFIG_AUDIT is not set 41# CONFIG_AUDIT is not set
36# CONFIG_IKCONFIG is not set 42# CONFIG_IKCONFIG is not set
43CONFIG_SYSFS_DEPRECATED=y
37# CONFIG_RELAY is not set 44# CONFIG_RELAY is not set
38CONFIG_INITRAMFS_SOURCE="" 45CONFIG_INITRAMFS_SOURCE=""
39CONFIG_UID16=y
40CONFIG_CC_OPTIMIZE_FOR_SIZE=y 46CONFIG_CC_OPTIMIZE_FOR_SIZE=y
47CONFIG_SYSCTL=y
41# CONFIG_EMBEDDED is not set 48# CONFIG_EMBEDDED is not set
49CONFIG_UID16=y
50CONFIG_SYSCTL_SYSCALL=y
42CONFIG_KALLSYMS=y 51CONFIG_KALLSYMS=y
43# CONFIG_KALLSYMS_ALL is not set 52# CONFIG_KALLSYMS_ALL is not set
44# CONFIG_KALLSYMS_EXTRA_PASS is not set 53# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -47,12 +56,12 @@ CONFIG_PRINTK=y
47CONFIG_BUG=y 56CONFIG_BUG=y
48CONFIG_ELF_CORE=y 57CONFIG_ELF_CORE=y
49CONFIG_BASE_FULL=y 58CONFIG_BASE_FULL=y
50CONFIG_RT_MUTEXES=y
51CONFIG_FUTEX=y 59CONFIG_FUTEX=y
52CONFIG_EPOLL=y 60CONFIG_EPOLL=y
53CONFIG_SHMEM=y 61CONFIG_SHMEM=y
54CONFIG_SLAB=y 62CONFIG_SLAB=y
55CONFIG_VM_EVENT_COUNTERS=y 63CONFIG_VM_EVENT_COUNTERS=y
64CONFIG_RT_MUTEXES=y
56# CONFIG_TINY_SHMEM is not set 65# CONFIG_TINY_SHMEM is not set
57CONFIG_BASE_SMALL=0 66CONFIG_BASE_SMALL=0
58# CONFIG_SLOB is not set 67# CONFIG_SLOB is not set
@@ -69,7 +78,10 @@ CONFIG_MODULES=y
69# 78#
70# Block layer 79# Block layer
71# 80#
81CONFIG_BLOCK=y
82# CONFIG_LBD is not set
72# CONFIG_BLK_DEV_IO_TRACE is not set 83# CONFIG_BLK_DEV_IO_TRACE is not set
84# CONFIG_LSF is not set
73 85
74# 86#
75# IO Schedulers 87# IO Schedulers
@@ -101,7 +113,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
101# CONFIG_ARCH_NETX is not set 113# CONFIG_ARCH_NETX is not set
102# CONFIG_ARCH_H720X is not set 114# CONFIG_ARCH_H720X is not set
103# CONFIG_ARCH_IMX is not set 115# CONFIG_ARCH_IMX is not set
104# CONFIG_ARCH_IOP3XX is not set 116# CONFIG_ARCH_IOP32X is not set
117# CONFIG_ARCH_IOP33X is not set
118# CONFIG_ARCH_IOP13XX is not set
105# CONFIG_ARCH_IXP4XX is not set 119# CONFIG_ARCH_IXP4XX is not set
106# CONFIG_ARCH_IXP2000 is not set 120# CONFIG_ARCH_IXP2000 is not set
107# CONFIG_ARCH_IXP23XX is not set 121# CONFIG_ARCH_IXP23XX is not set
@@ -125,7 +139,6 @@ CONFIG_MACH_LOGICPD_PXA270=y
125# CONFIG_PXA_SHARPSL is not set 139# CONFIG_PXA_SHARPSL is not set
126# CONFIG_MACH_TRIZEPS4 is not set 140# CONFIG_MACH_TRIZEPS4 is not set
127CONFIG_PXA27x=y 141CONFIG_PXA27x=y
128CONFIG_IWMMXT=y
129 142
130# 143#
131# Processor Type 144# Processor Type
@@ -136,11 +149,15 @@ CONFIG_CPU_32v5=y
136CONFIG_CPU_ABRT_EV5T=y 149CONFIG_CPU_ABRT_EV5T=y
137CONFIG_CPU_CACHE_VIVT=y 150CONFIG_CPU_CACHE_VIVT=y
138CONFIG_CPU_TLB_V4WBI=y 151CONFIG_CPU_TLB_V4WBI=y
152CONFIG_CPU_CP15=y
153CONFIG_CPU_CP15_MMU=y
139 154
140# 155#
141# Processor Features 156# Processor Features
142# 157#
143# CONFIG_ARM_THUMB is not set 158# CONFIG_ARM_THUMB is not set
159# CONFIG_CPU_DCACHE_DISABLE is not set
160CONFIG_IWMMXT=y
144CONFIG_XSCALE_PMU=y 161CONFIG_XSCALE_PMU=y
145 162
146# 163#
@@ -217,6 +234,7 @@ CONFIG_NET=y
217CONFIG_UNIX=y 234CONFIG_UNIX=y
218CONFIG_XFRM=y 235CONFIG_XFRM=y
219# CONFIG_XFRM_USER is not set 236# CONFIG_XFRM_USER is not set
237# CONFIG_XFRM_SUB_POLICY is not set
220# CONFIG_NET_KEY is not set 238# CONFIG_NET_KEY is not set
221CONFIG_INET=y 239CONFIG_INET=y
222# CONFIG_IP_MULTICAST is not set 240# CONFIG_IP_MULTICAST is not set
@@ -237,13 +255,29 @@ CONFIG_IP_PNP_BOOTP=y
237# CONFIG_INET_TUNNEL is not set 255# CONFIG_INET_TUNNEL is not set
238CONFIG_INET_XFRM_MODE_TRANSPORT=y 256CONFIG_INET_XFRM_MODE_TRANSPORT=y
239CONFIG_INET_XFRM_MODE_TUNNEL=y 257CONFIG_INET_XFRM_MODE_TUNNEL=y
258CONFIG_INET_XFRM_MODE_BEET=y
240CONFIG_INET_DIAG=y 259CONFIG_INET_DIAG=y
241CONFIG_INET_TCP_DIAG=y 260CONFIG_INET_TCP_DIAG=y
242# CONFIG_TCP_CONG_ADVANCED is not set 261# CONFIG_TCP_CONG_ADVANCED is not set
243CONFIG_TCP_CONG_BIC=y 262CONFIG_TCP_CONG_CUBIC=y
244# CONFIG_IPV6 is not set 263CONFIG_DEFAULT_TCP_CONG="cubic"
264# CONFIG_TCP_MD5SIG is not set
265CONFIG_IPV6=y
266# CONFIG_IPV6_PRIVACY is not set
267# CONFIG_IPV6_ROUTER_PREF is not set
268# CONFIG_INET6_AH is not set
269# CONFIG_INET6_ESP is not set
270# CONFIG_INET6_IPCOMP is not set
271# CONFIG_IPV6_MIP6 is not set
245# CONFIG_INET6_XFRM_TUNNEL is not set 272# CONFIG_INET6_XFRM_TUNNEL is not set
246# CONFIG_INET6_TUNNEL is not set 273# CONFIG_INET6_TUNNEL is not set
274# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
275# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
276# CONFIG_INET6_XFRM_MODE_BEET is not set
277# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
278# CONFIG_IPV6_SIT is not set
279# CONFIG_IPV6_TUNNEL is not set
280# CONFIG_IPV6_MULTIPLE_TABLES is not set
247# CONFIG_NETWORK_SECMARK is not set 281# CONFIG_NETWORK_SECMARK is not set
248# CONFIG_NETFILTER is not set 282# CONFIG_NETFILTER is not set
249 283
@@ -270,7 +304,6 @@ CONFIG_TCP_CONG_BIC=y
270# CONFIG_ATALK is not set 304# CONFIG_ATALK is not set
271# CONFIG_X25 is not set 305# CONFIG_X25 is not set
272# CONFIG_LAPB is not set 306# CONFIG_LAPB is not set
273# CONFIG_NET_DIVERT is not set
274# CONFIG_ECONET is not set 307# CONFIG_ECONET is not set
275# CONFIG_WAN_ROUTER is not set 308# CONFIG_WAN_ROUTER is not set
276 309
@@ -329,6 +362,7 @@ CONFIG_MTD_BLOCK=y
329# CONFIG_NFTL is not set 362# CONFIG_NFTL is not set
330# CONFIG_INFTL is not set 363# CONFIG_INFTL is not set
331# CONFIG_RFD_FTL is not set 364# CONFIG_RFD_FTL is not set
365# CONFIG_SSFDC is not set
332 366
333# 367#
334# RAM/ROM/Flash chip drivers 368# RAM/ROM/Flash chip drivers
@@ -410,7 +444,7 @@ CONFIG_MTD_CFI_UTIL=y
410# 444#
411# CONFIG_BLK_DEV_COW_COMMON is not set 445# CONFIG_BLK_DEV_COW_COMMON is not set
412# CONFIG_BLK_DEV_LOOP is not set 446# CONFIG_BLK_DEV_LOOP is not set
413# CONFIG_BLK_DEV_NBD is not set 447CONFIG_BLK_DEV_NBD=y
414# CONFIG_BLK_DEV_RAM is not set 448# CONFIG_BLK_DEV_RAM is not set
415# CONFIG_BLK_DEV_INITRD is not set 449# CONFIG_BLK_DEV_INITRD is not set
416# CONFIG_CDROM_PKTCDVD is not set 450# CONFIG_CDROM_PKTCDVD is not set
@@ -447,6 +481,12 @@ CONFIG_BLK_DEV_IDEDISK=y
447# 481#
448# CONFIG_RAID_ATTRS is not set 482# CONFIG_RAID_ATTRS is not set
449# CONFIG_SCSI is not set 483# CONFIG_SCSI is not set
484# CONFIG_SCSI_NETLINK is not set
485
486#
487# Serial ATA (prod) and Parallel ATA (experimental) drivers
488#
489# CONFIG_ATA is not set
450 490
451# 491#
452# Multi-device support (RAID and LVM) 492# Multi-device support (RAID and LVM)
@@ -526,6 +566,7 @@ CONFIG_SMC91X=y
526# Input device support 566# Input device support
527# 567#
528CONFIG_INPUT=y 568CONFIG_INPUT=y
569# CONFIG_INPUT_FF_MEMLESS is not set
529 570
530# 571#
531# Userland interfaces 572# Userland interfaces
@@ -548,6 +589,7 @@ CONFIG_KEYBOARD_ATKBD=y
548# CONFIG_KEYBOARD_LKKBD is not set 589# CONFIG_KEYBOARD_LKKBD is not set
549# CONFIG_KEYBOARD_XTKBD is not set 590# CONFIG_KEYBOARD_XTKBD is not set
550# CONFIG_KEYBOARD_NEWTON is not set 591# CONFIG_KEYBOARD_NEWTON is not set
592# CONFIG_KEYBOARD_STOWAWAY is not set
551# CONFIG_INPUT_MOUSE is not set 593# CONFIG_INPUT_MOUSE is not set
552# CONFIG_INPUT_JOYSTICK is not set 594# CONFIG_INPUT_JOYSTICK is not set
553# CONFIG_INPUT_TOUCHSCREEN is not set 595# CONFIG_INPUT_TOUCHSCREEN is not set
@@ -600,17 +642,12 @@ CONFIG_LEGACY_PTY_COUNT=256
600# CONFIG_NVRAM is not set 642# CONFIG_NVRAM is not set
601# CONFIG_DTLK is not set 643# CONFIG_DTLK is not set
602# CONFIG_R3964 is not set 644# CONFIG_R3964 is not set
603
604#
605# Ftape, the floppy tape device driver
606#
607# CONFIG_RAW_DRIVER is not set 645# CONFIG_RAW_DRIVER is not set
608 646
609# 647#
610# TPM devices 648# TPM devices
611# 649#
612# CONFIG_TCG_TPM is not set 650# CONFIG_TCG_TPM is not set
613# CONFIG_TELCLOCK is not set
614 651
615# 652#
616# I2C support 653# I2C support
@@ -626,6 +663,7 @@ CONFIG_LEGACY_PTY_COUNT=256
626# 663#
627# Dallas's 1-wire bus 664# Dallas's 1-wire bus
628# 665#
666# CONFIG_W1 is not set
629 667
630# 668#
631# Hardware Monitoring support 669# Hardware Monitoring support
@@ -634,11 +672,14 @@ CONFIG_HWMON=y
634# CONFIG_HWMON_VID is not set 672# CONFIG_HWMON_VID is not set
635# CONFIG_SENSORS_ABITUGURU is not set 673# CONFIG_SENSORS_ABITUGURU is not set
636# CONFIG_SENSORS_F71805F is not set 674# CONFIG_SENSORS_F71805F is not set
675# CONFIG_SENSORS_PC87427 is not set
676# CONFIG_SENSORS_VT1211 is not set
637# CONFIG_HWMON_DEBUG_CHIP is not set 677# CONFIG_HWMON_DEBUG_CHIP is not set
638 678
639# 679#
640# Misc devices 680# Misc devices
641# 681#
682# CONFIG_TIFM_CORE is not set
642 683
643# 684#
644# LED devices 685# LED devices
@@ -657,7 +698,6 @@ CONFIG_HWMON=y
657# Multimedia devices 698# Multimedia devices
658# 699#
659# CONFIG_VIDEO_DEV is not set 700# CONFIG_VIDEO_DEV is not set
660CONFIG_VIDEO_V4L2=y
661 701
662# 702#
663# Digital Video Broadcasting Devices 703# Digital Video Broadcasting Devices
@@ -679,6 +719,7 @@ CONFIG_FB_CFB_IMAGEBLIT=y
679# CONFIG_FB_S1D13XXX is not set 719# CONFIG_FB_S1D13XXX is not set
680CONFIG_FB_PXA=y 720CONFIG_FB_PXA=y
681# CONFIG_FB_PXA_PARAMETERS is not set 721# CONFIG_FB_PXA_PARAMETERS is not set
722# CONFIG_FB_MBX is not set
682# CONFIG_FB_VIRTUAL is not set 723# CONFIG_FB_VIRTUAL is not set
683 724
684# 725#
@@ -725,7 +766,6 @@ CONFIG_SND_VERBOSE_PROCFS=y
725# Generic devices 766# Generic devices
726# 767#
727CONFIG_SND_AC97_CODEC=y 768CONFIG_SND_AC97_CODEC=y
728CONFIG_SND_AC97_BUS=y
729# CONFIG_SND_DUMMY is not set 769# CONFIG_SND_DUMMY is not set
730# CONFIG_SND_MTPAV is not set 770# CONFIG_SND_MTPAV is not set
731# CONFIG_SND_SERIAL_U16550 is not set 771# CONFIG_SND_SERIAL_U16550 is not set
@@ -741,6 +781,12 @@ CONFIG_SND_PXA2XX_AC97=y
741# Open Sound System 781# Open Sound System
742# 782#
743# CONFIG_SOUND_PRIME is not set 783# CONFIG_SOUND_PRIME is not set
784CONFIG_AC97_BUS=y
785
786#
787# HID Devices
788#
789CONFIG_HID=y
744 790
745# 791#
746# USB support 792# USB support
@@ -777,10 +823,12 @@ CONFIG_EXT2_FS=y
777# CONFIG_EXT2_FS_XATTR is not set 823# CONFIG_EXT2_FS_XATTR is not set
778# CONFIG_EXT2_FS_XIP is not set 824# CONFIG_EXT2_FS_XIP is not set
779# CONFIG_EXT3_FS is not set 825# CONFIG_EXT3_FS is not set
826# CONFIG_EXT4DEV_FS is not set
780# CONFIG_REISERFS_FS is not set 827# CONFIG_REISERFS_FS is not set
781# CONFIG_JFS_FS is not set 828# CONFIG_JFS_FS is not set
782# CONFIG_FS_POSIX_ACL is not set 829# CONFIG_FS_POSIX_ACL is not set
783# CONFIG_XFS_FS is not set 830# CONFIG_XFS_FS is not set
831# CONFIG_GFS2_FS is not set
784# CONFIG_OCFS2_FS is not set 832# CONFIG_OCFS2_FS is not set
785# CONFIG_MINIX_FS is not set 833# CONFIG_MINIX_FS is not set
786# CONFIG_ROMFS_FS is not set 834# CONFIG_ROMFS_FS is not set
@@ -811,6 +859,7 @@ CONFIG_FAT_DEFAULT_CODEPAGE=437
811# Pseudo filesystems 859# Pseudo filesystems
812# 860#
813CONFIG_PROC_FS=y 861CONFIG_PROC_FS=y
862CONFIG_PROC_SYSCTL=y
814CONFIG_SYSFS=y 863CONFIG_SYSFS=y
815# CONFIG_TMPFS is not set 864# CONFIG_TMPFS is not set
816# CONFIG_HUGETLB_PAGE is not set 865# CONFIG_HUGETLB_PAGE is not set
@@ -860,7 +909,6 @@ CONFIG_SUNRPC=y
860# CONFIG_RPCSEC_GSS_SPKM3 is not set 909# CONFIG_RPCSEC_GSS_SPKM3 is not set
861# CONFIG_SMB_FS is not set 910# CONFIG_SMB_FS is not set
862# CONFIG_CIFS is not set 911# CONFIG_CIFS is not set
863# CONFIG_CIFS_DEBUG2 is not set
864# CONFIG_NCP_FS is not set 912# CONFIG_NCP_FS is not set
865# CONFIG_CODA_FS is not set 913# CONFIG_CODA_FS is not set
866# CONFIG_AFS_FS is not set 914# CONFIG_AFS_FS is not set
@@ -917,6 +965,11 @@ CONFIG_NLS_ISO8859_1=y
917# CONFIG_NLS_UTF8 is not set 965# CONFIG_NLS_UTF8 is not set
918 966
919# 967#
968# Distributed Lock Manager
969#
970# CONFIG_DLM is not set
971
972#
920# Profiling support 973# Profiling support
921# 974#
922# CONFIG_PROFILING is not set 975# CONFIG_PROFILING is not set
@@ -925,8 +978,11 @@ CONFIG_NLS_ISO8859_1=y
925# Kernel hacking 978# Kernel hacking
926# 979#
927# CONFIG_PRINTK_TIME is not set 980# CONFIG_PRINTK_TIME is not set
981CONFIG_ENABLE_MUST_CHECK=y
928CONFIG_MAGIC_SYSRQ=y 982CONFIG_MAGIC_SYSRQ=y
929# CONFIG_UNUSED_SYMBOLS is not set 983# CONFIG_UNUSED_SYMBOLS is not set
984# CONFIG_DEBUG_FS is not set
985# CONFIG_HEADERS_CHECK is not set
930CONFIG_DEBUG_KERNEL=y 986CONFIG_DEBUG_KERNEL=y
931CONFIG_LOG_BUF_SHIFT=14 987CONFIG_LOG_BUF_SHIFT=14
932CONFIG_DETECT_SOFTLOCKUP=y 988CONFIG_DETECT_SOFTLOCKUP=y
@@ -942,10 +998,9 @@ CONFIG_DETECT_SOFTLOCKUP=y
942# CONFIG_DEBUG_KOBJECT is not set 998# CONFIG_DEBUG_KOBJECT is not set
943CONFIG_DEBUG_BUGVERBOSE=y 999CONFIG_DEBUG_BUGVERBOSE=y
944CONFIG_DEBUG_INFO=y 1000CONFIG_DEBUG_INFO=y
945# CONFIG_DEBUG_FS is not set
946# CONFIG_DEBUG_VM is not set 1001# CONFIG_DEBUG_VM is not set
1002# CONFIG_DEBUG_LIST is not set
947CONFIG_FRAME_POINTER=y 1003CONFIG_FRAME_POINTER=y
948# CONFIG_UNWIND_INFO is not set
949CONFIG_FORCED_INLINING=y 1004CONFIG_FORCED_INLINING=y
950# CONFIG_RCU_TORTURE_TEST is not set 1005# CONFIG_RCU_TORTURE_TEST is not set
951CONFIG_DEBUG_USER=y 1006CONFIG_DEBUG_USER=y
@@ -965,12 +1020,9 @@ CONFIG_DEBUG_LL=y
965# CONFIG_CRYPTO is not set 1020# CONFIG_CRYPTO is not set
966 1021
967# 1022#
968# Hardware crypto devices
969#
970
971#
972# Library routines 1023# Library routines
973# 1024#
1025CONFIG_BITREVERSE=y
974# CONFIG_CRC_CCITT is not set 1026# CONFIG_CRC_CCITT is not set
975# CONFIG_CRC16 is not set 1027# CONFIG_CRC16 is not set
976CONFIG_CRC32=y 1028CONFIG_CRC32=y
@@ -978,3 +1030,4 @@ CONFIG_CRC32=y
978CONFIG_ZLIB_INFLATE=y 1030CONFIG_ZLIB_INFLATE=y
979CONFIG_ZLIB_DEFLATE=y 1031CONFIG_ZLIB_DEFLATE=y
980CONFIG_PLIST=y 1032CONFIG_PLIST=y
1033CONFIG_IOMAP_COPY=y
diff --git a/arch/arm/configs/onearm_defconfig b/arch/arm/configs/onearm_defconfig
index 0498ebd7d5de..650a248613e5 100644
--- a/arch/arm/configs/onearm_defconfig
+++ b/arch/arm/configs/onearm_defconfig
@@ -1,14 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.18-rc1 3# Linux kernel version: 2.6.20-rc1
4# Sun Jul 9 14:16:20 2006 4# Sat Dec 16 06:05:18 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
7CONFIG_MMU=y 8CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y 9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
9CONFIG_HARDIRQS_SW_RESEND=y 11CONFIG_HARDIRQS_SW_RESEND=y
10CONFIG_GENERIC_IRQ_PROBE=y 12CONFIG_GENERIC_IRQ_PROBE=y
11CONFIG_RWSEM_GENERIC_SPINLOCK=y 13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
12CONFIG_GENERIC_HWEIGHT=y 16CONFIG_GENERIC_HWEIGHT=y
13CONFIG_GENERIC_CALIBRATE_DELAY=y 17CONFIG_GENERIC_CALIBRATE_DELAY=y
14CONFIG_VECTORS_BASE=0xffff0000 18CONFIG_VECTORS_BASE=0xffff0000
@@ -28,16 +32,21 @@ CONFIG_LOCALVERSION=""
28CONFIG_LOCALVERSION_AUTO=y 32CONFIG_LOCALVERSION_AUTO=y
29# CONFIG_SWAP is not set 33# CONFIG_SWAP is not set
30CONFIG_SYSVIPC=y 34CONFIG_SYSVIPC=y
35# CONFIG_IPC_NS is not set
31# CONFIG_POSIX_MQUEUE is not set 36# CONFIG_POSIX_MQUEUE is not set
32# CONFIG_BSD_PROCESS_ACCT is not set 37# CONFIG_BSD_PROCESS_ACCT is not set
33CONFIG_SYSCTL=y 38# CONFIG_TASKSTATS is not set
39# CONFIG_UTS_NS is not set
34# CONFIG_AUDIT is not set 40# CONFIG_AUDIT is not set
35# CONFIG_IKCONFIG is not set 41# CONFIG_IKCONFIG is not set
42CONFIG_SYSFS_DEPRECATED=y
36# CONFIG_RELAY is not set 43# CONFIG_RELAY is not set
37CONFIG_INITRAMFS_SOURCE="" 44CONFIG_INITRAMFS_SOURCE=""
38CONFIG_UID16=y
39CONFIG_CC_OPTIMIZE_FOR_SIZE=y 45CONFIG_CC_OPTIMIZE_FOR_SIZE=y
46CONFIG_SYSCTL=y
40CONFIG_EMBEDDED=y 47CONFIG_EMBEDDED=y
48CONFIG_UID16=y
49CONFIG_SYSCTL_SYSCALL=y
41CONFIG_KALLSYMS=y 50CONFIG_KALLSYMS=y
42# CONFIG_KALLSYMS_ALL is not set 51# CONFIG_KALLSYMS_ALL is not set
43# CONFIG_KALLSYMS_EXTRA_PASS is not set 52# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -46,12 +55,12 @@ CONFIG_PRINTK=y
46CONFIG_BUG=y 55CONFIG_BUG=y
47CONFIG_ELF_CORE=y 56CONFIG_ELF_CORE=y
48CONFIG_BASE_FULL=y 57CONFIG_BASE_FULL=y
49CONFIG_RT_MUTEXES=y
50CONFIG_FUTEX=y 58CONFIG_FUTEX=y
51CONFIG_EPOLL=y 59CONFIG_EPOLL=y
52CONFIG_SHMEM=y 60CONFIG_SHMEM=y
53CONFIG_SLAB=y 61CONFIG_SLAB=y
54CONFIG_VM_EVENT_COUNTERS=y 62CONFIG_VM_EVENT_COUNTERS=y
63CONFIG_RT_MUTEXES=y
55# CONFIG_TINY_SHMEM is not set 64# CONFIG_TINY_SHMEM is not set
56CONFIG_BASE_SMALL=0 65CONFIG_BASE_SMALL=0
57# CONFIG_SLOB is not set 66# CONFIG_SLOB is not set
@@ -69,7 +78,10 @@ CONFIG_KMOD=y
69# 78#
70# Block layer 79# Block layer
71# 80#
81CONFIG_BLOCK=y
82# CONFIG_LBD is not set
72# CONFIG_BLK_DEV_IO_TRACE is not set 83# CONFIG_BLK_DEV_IO_TRACE is not set
84# CONFIG_LSF is not set
73 85
74# 86#
75# IO Schedulers 87# IO Schedulers
@@ -101,7 +113,9 @@ CONFIG_ARCH_AT91=y
101# CONFIG_ARCH_NETX is not set 113# CONFIG_ARCH_NETX is not set
102# CONFIG_ARCH_H720X is not set 114# CONFIG_ARCH_H720X is not set
103# CONFIG_ARCH_IMX is not set 115# CONFIG_ARCH_IMX is not set
104# CONFIG_ARCH_IOP3XX is not set 116# CONFIG_ARCH_IOP32X is not set
117# CONFIG_ARCH_IOP33X is not set
118# CONFIG_ARCH_IOP13XX is not set
105# CONFIG_ARCH_IXP4XX is not set 119# CONFIG_ARCH_IXP4XX is not set
106# CONFIG_ARCH_IXP2000 is not set 120# CONFIG_ARCH_IXP2000 is not set
107# CONFIG_ARCH_IXP23XX is not set 121# CONFIG_ARCH_IXP23XX is not set
@@ -118,10 +132,6 @@ CONFIG_ARCH_AT91=y
118# 132#
119# Atmel AT91 System-on-Chip 133# Atmel AT91 System-on-Chip
120# 134#
121
122#
123# Atmel AT91 Processors
124#
125CONFIG_ARCH_AT91RM9200=y 135CONFIG_ARCH_AT91RM9200=y
126# CONFIG_ARCH_AT91SAM9260 is not set 136# CONFIG_ARCH_AT91SAM9260 is not set
127# CONFIG_ARCH_AT91SAM9261 is not set 137# CONFIG_ARCH_AT91SAM9261 is not set
@@ -140,6 +150,10 @@ CONFIG_MACH_ONEARM=y
140# CONFIG_MACH_KAFA is not set 150# CONFIG_MACH_KAFA is not set
141 151
142# 152#
153# AT91 Board Options
154#
155
156#
143# AT91 Feature Selections 157# AT91 Feature Selections
144# 158#
145CONFIG_AT91_PROGRAMMABLE_CLOCKS=y 159CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
@@ -149,12 +163,14 @@ CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
149# 163#
150CONFIG_CPU_32=y 164CONFIG_CPU_32=y
151CONFIG_CPU_ARM920T=y 165CONFIG_CPU_ARM920T=y
152CONFIG_CPU_32v4=y 166CONFIG_CPU_32v4T=y
153CONFIG_CPU_ABRT_EV4T=y 167CONFIG_CPU_ABRT_EV4T=y
154CONFIG_CPU_CACHE_V4WT=y 168CONFIG_CPU_CACHE_V4WT=y
155CONFIG_CPU_CACHE_VIVT=y 169CONFIG_CPU_CACHE_VIVT=y
156CONFIG_CPU_COPY_V4WB=y 170CONFIG_CPU_COPY_V4WB=y
157CONFIG_CPU_TLB_V4WBI=y 171CONFIG_CPU_TLB_V4WBI=y
172CONFIG_CPU_CP15=y
173CONFIG_CPU_CP15_MMU=y
158 174
159# 175#
160# Processor Features 176# Processor Features
@@ -251,6 +267,7 @@ CONFIG_PACKET=y
251CONFIG_UNIX=y 267CONFIG_UNIX=y
252CONFIG_XFRM=y 268CONFIG_XFRM=y
253# CONFIG_XFRM_USER is not set 269# CONFIG_XFRM_USER is not set
270# CONFIG_XFRM_SUB_POLICY is not set
254# CONFIG_NET_KEY is not set 271# CONFIG_NET_KEY is not set
255CONFIG_INET=y 272CONFIG_INET=y
256# CONFIG_IP_MULTICAST is not set 273# CONFIG_IP_MULTICAST is not set
@@ -271,13 +288,29 @@ CONFIG_IP_PNP_BOOTP=y
271# CONFIG_INET_TUNNEL is not set 288# CONFIG_INET_TUNNEL is not set
272CONFIG_INET_XFRM_MODE_TRANSPORT=y 289CONFIG_INET_XFRM_MODE_TRANSPORT=y
273CONFIG_INET_XFRM_MODE_TUNNEL=y 290CONFIG_INET_XFRM_MODE_TUNNEL=y
291CONFIG_INET_XFRM_MODE_BEET=y
274CONFIG_INET_DIAG=y 292CONFIG_INET_DIAG=y
275CONFIG_INET_TCP_DIAG=y 293CONFIG_INET_TCP_DIAG=y
276# CONFIG_TCP_CONG_ADVANCED is not set 294# CONFIG_TCP_CONG_ADVANCED is not set
277CONFIG_TCP_CONG_BIC=y 295CONFIG_TCP_CONG_CUBIC=y
278# CONFIG_IPV6 is not set 296CONFIG_DEFAULT_TCP_CONG="cubic"
297# CONFIG_TCP_MD5SIG is not set
298CONFIG_IPV6=y
299# CONFIG_IPV6_PRIVACY is not set
300# CONFIG_IPV6_ROUTER_PREF is not set
301# CONFIG_INET6_AH is not set
302# CONFIG_INET6_ESP is not set
303# CONFIG_INET6_IPCOMP is not set
304# CONFIG_IPV6_MIP6 is not set
279# CONFIG_INET6_XFRM_TUNNEL is not set 305# CONFIG_INET6_XFRM_TUNNEL is not set
280# CONFIG_INET6_TUNNEL is not set 306# CONFIG_INET6_TUNNEL is not set
307# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
308# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
309# CONFIG_INET6_XFRM_MODE_BEET is not set
310# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
311# CONFIG_IPV6_SIT is not set
312# CONFIG_IPV6_TUNNEL is not set
313# CONFIG_IPV6_MULTIPLE_TABLES is not set
281# CONFIG_NETWORK_SECMARK is not set 314# CONFIG_NETWORK_SECMARK is not set
282# CONFIG_NETFILTER is not set 315# CONFIG_NETFILTER is not set
283 316
@@ -304,7 +337,6 @@ CONFIG_TCP_CONG_BIC=y
304# CONFIG_ATALK is not set 337# CONFIG_ATALK is not set
305# CONFIG_X25 is not set 338# CONFIG_X25 is not set
306# CONFIG_LAPB is not set 339# CONFIG_LAPB is not set
307# CONFIG_NET_DIVERT is not set
308# CONFIG_ECONET is not set 340# CONFIG_ECONET is not set
309# CONFIG_WAN_ROUTER is not set 341# CONFIG_WAN_ROUTER is not set
310 342
@@ -360,6 +392,7 @@ CONFIG_MTD_BLOCK=y
360# CONFIG_NFTL is not set 392# CONFIG_NFTL is not set
361# CONFIG_INFTL is not set 393# CONFIG_INFTL is not set
362# CONFIG_RFD_FTL is not set 394# CONFIG_RFD_FTL is not set
395# CONFIG_SSFDC is not set
363 396
364# 397#
365# RAM/ROM/Flash chip drivers 398# RAM/ROM/Flash chip drivers
@@ -438,11 +471,12 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=0
438# 471#
439# CONFIG_BLK_DEV_COW_COMMON is not set 472# CONFIG_BLK_DEV_COW_COMMON is not set
440# CONFIG_BLK_DEV_LOOP is not set 473# CONFIG_BLK_DEV_LOOP is not set
441# CONFIG_BLK_DEV_NBD is not set 474CONFIG_BLK_DEV_NBD=y
442# CONFIG_BLK_DEV_UB is not set 475# CONFIG_BLK_DEV_UB is not set
443CONFIG_BLK_DEV_RAM=y 476CONFIG_BLK_DEV_RAM=y
444CONFIG_BLK_DEV_RAM_COUNT=16 477CONFIG_BLK_DEV_RAM_COUNT=16
445CONFIG_BLK_DEV_RAM_SIZE=8192 478CONFIG_BLK_DEV_RAM_SIZE=8192
479CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
446CONFIG_BLK_DEV_INITRD=y 480CONFIG_BLK_DEV_INITRD=y
447# CONFIG_CDROM_PKTCDVD is not set 481# CONFIG_CDROM_PKTCDVD is not set
448# CONFIG_ATA_OVER_ETH is not set 482# CONFIG_ATA_OVER_ETH is not set
@@ -457,6 +491,12 @@ CONFIG_BLK_DEV_INITRD=y
457# 491#
458# CONFIG_RAID_ATTRS is not set 492# CONFIG_RAID_ATTRS is not set
459# CONFIG_SCSI is not set 493# CONFIG_SCSI is not set
494# CONFIG_SCSI_NETLINK is not set
495
496#
497# Serial ATA (prod) and Parallel ATA (experimental) drivers
498#
499# CONFIG_ATA is not set
460 500
461# 501#
462# Multi-device support (RAID and LVM) 502# Multi-device support (RAID and LVM)
@@ -541,6 +581,7 @@ CONFIG_ARM_AT91_ETHER=y
541# Input device support 581# Input device support
542# 582#
543CONFIG_INPUT=y 583CONFIG_INPUT=y
584# CONFIG_INPUT_FF_MEMLESS is not set
544 585
545# 586#
546# Userland interfaces 587# Userland interfaces
@@ -619,10 +660,6 @@ CONFIG_AT91RM9200_WATCHDOG=y
619# CONFIG_R3964 is not set 660# CONFIG_R3964 is not set
620 661
621# 662#
622# Ftape, the floppy tape device driver
623#
624
625#
626# PCMCIA character devices 663# PCMCIA character devices
627# 664#
628# CONFIG_SYNCLINK_CS is not set 665# CONFIG_SYNCLINK_CS is not set
@@ -634,7 +671,6 @@ CONFIG_AT91RM9200_WATCHDOG=y
634# TPM devices 671# TPM devices
635# 672#
636# CONFIG_TCG_TPM is not set 673# CONFIG_TCG_TPM is not set
637# CONFIG_TELCLOCK is not set
638 674
639# 675#
640# I2C support 676# I2C support
@@ -652,6 +688,7 @@ CONFIG_I2C_CHARDEV=y
652# 688#
653# I2C Hardware Bus support 689# I2C Hardware Bus support
654# 690#
691# CONFIG_I2C_AT91 is not set
655# CONFIG_I2C_OCORES is not set 692# CONFIG_I2C_OCORES is not set
656# CONFIG_I2C_PARPORT_LIGHT is not set 693# CONFIG_I2C_PARPORT_LIGHT is not set
657# CONFIG_I2C_STUB is not set 694# CONFIG_I2C_STUB is not set
@@ -681,6 +718,7 @@ CONFIG_I2C_CHARDEV=y
681# 718#
682# Dallas's 1-wire bus 719# Dallas's 1-wire bus
683# 720#
721# CONFIG_W1 is not set
684 722
685# 723#
686# Hardware Monitoring support 724# Hardware Monitoring support
@@ -714,12 +752,15 @@ CONFIG_HWMON=y
714# CONFIG_SENSORS_LM92 is not set 752# CONFIG_SENSORS_LM92 is not set
715# CONFIG_SENSORS_MAX1619 is not set 753# CONFIG_SENSORS_MAX1619 is not set
716# CONFIG_SENSORS_PC87360 is not set 754# CONFIG_SENSORS_PC87360 is not set
755# CONFIG_SENSORS_PC87427 is not set
717# CONFIG_SENSORS_SMSC47M1 is not set 756# CONFIG_SENSORS_SMSC47M1 is not set
718# CONFIG_SENSORS_SMSC47M192 is not set 757# CONFIG_SENSORS_SMSC47M192 is not set
719# CONFIG_SENSORS_SMSC47B397 is not set 758# CONFIG_SENSORS_SMSC47B397 is not set
759# CONFIG_SENSORS_VT1211 is not set
720# CONFIG_SENSORS_W83781D is not set 760# CONFIG_SENSORS_W83781D is not set
721# CONFIG_SENSORS_W83791D is not set 761# CONFIG_SENSORS_W83791D is not set
722# CONFIG_SENSORS_W83792D is not set 762# CONFIG_SENSORS_W83792D is not set
763# CONFIG_SENSORS_W83793 is not set
723# CONFIG_SENSORS_W83L785TS is not set 764# CONFIG_SENSORS_W83L785TS is not set
724# CONFIG_SENSORS_W83627HF is not set 765# CONFIG_SENSORS_W83627HF is not set
725# CONFIG_SENSORS_W83627EHF is not set 766# CONFIG_SENSORS_W83627EHF is not set
@@ -728,6 +769,7 @@ CONFIG_HWMON=y
728# 769#
729# Misc devices 770# Misc devices
730# 771#
772# CONFIG_TIFM_CORE is not set
731 773
732# 774#
733# LED devices 775# LED devices
@@ -746,7 +788,6 @@ CONFIG_HWMON=y
746# Multimedia devices 788# Multimedia devices
747# 789#
748# CONFIG_VIDEO_DEV is not set 790# CONFIG_VIDEO_DEV is not set
749CONFIG_VIDEO_V4L2=y
750 791
751# 792#
752# Digital Video Broadcasting Devices 793# Digital Video Broadcasting Devices
@@ -759,6 +800,7 @@ CONFIG_VIDEO_V4L2=y
759# 800#
760# CONFIG_FIRMWARE_EDID is not set 801# CONFIG_FIRMWARE_EDID is not set
761# CONFIG_FB is not set 802# CONFIG_FB is not set
803# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
762 804
763# 805#
764# Sound 806# Sound
@@ -766,6 +808,11 @@ CONFIG_VIDEO_V4L2=y
766# CONFIG_SOUND is not set 808# CONFIG_SOUND is not set
767 809
768# 810#
811# HID Devices
812#
813CONFIG_HID=y
814
815#
769# USB support 816# USB support
770# 817#
771CONFIG_USB_ARCH_HAS_HCD=y 818CONFIG_USB_ARCH_HAS_HCD=y
@@ -780,6 +827,7 @@ CONFIG_USB_DEBUG=y
780CONFIG_USB_DEVICEFS=y 827CONFIG_USB_DEVICEFS=y
781# CONFIG_USB_BANDWIDTH is not set 828# CONFIG_USB_BANDWIDTH is not set
782# CONFIG_USB_DYNAMIC_MINORS is not set 829# CONFIG_USB_DYNAMIC_MINORS is not set
830# CONFIG_USB_MULTITHREAD_PROBE is not set
783# CONFIG_USB_OTG is not set 831# CONFIG_USB_OTG is not set
784 832
785# 833#
@@ -804,7 +852,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
804# 852#
805# may also be needed; see USB_STORAGE Help for more information 853# may also be needed; see USB_STORAGE Help for more information
806# 854#
807# CONFIG_USB_STORAGE is not set
808# CONFIG_USB_LIBUSUAL is not set 855# CONFIG_USB_LIBUSUAL is not set
809 856
810# 857#
@@ -842,6 +889,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
842# CONFIG_USB_KAWETH is not set 889# CONFIG_USB_KAWETH is not set
843# CONFIG_USB_PEGASUS is not set 890# CONFIG_USB_PEGASUS is not set
844# CONFIG_USB_RTL8150 is not set 891# CONFIG_USB_RTL8150 is not set
892# CONFIG_USB_USBNET_MII is not set
845# CONFIG_USB_USBNET is not set 893# CONFIG_USB_USBNET is not set
846CONFIG_USB_MON=y 894CONFIG_USB_MON=y
847 895
@@ -859,18 +907,20 @@ CONFIG_USB_MON=y
859# 907#
860# CONFIG_USB_EMI62 is not set 908# CONFIG_USB_EMI62 is not set
861# CONFIG_USB_EMI26 is not set 909# CONFIG_USB_EMI26 is not set
910# CONFIG_USB_ADUTUX is not set
862# CONFIG_USB_AUERSWALD is not set 911# CONFIG_USB_AUERSWALD is not set
863# CONFIG_USB_RIO500 is not set 912# CONFIG_USB_RIO500 is not set
864# CONFIG_USB_LEGOTOWER is not set 913# CONFIG_USB_LEGOTOWER is not set
865# CONFIG_USB_LCD is not set 914# CONFIG_USB_LCD is not set
866# CONFIG_USB_LED is not set 915# CONFIG_USB_LED is not set
867# CONFIG_USB_CY7C63 is not set 916# CONFIG_USB_CYPRESS_CY7C63 is not set
868# CONFIG_USB_CYTHERM is not set 917# CONFIG_USB_CYTHERM is not set
869# CONFIG_USB_PHIDGETKIT is not set 918# CONFIG_USB_PHIDGET is not set
870# CONFIG_USB_PHIDGETSERVO is not set
871# CONFIG_USB_IDMOUSE is not set 919# CONFIG_USB_IDMOUSE is not set
920# CONFIG_USB_FTDI_ELAN is not set
872# CONFIG_USB_APPLEDISPLAY is not set 921# CONFIG_USB_APPLEDISPLAY is not set
873# CONFIG_USB_LD is not set 922# CONFIG_USB_LD is not set
923# CONFIG_USB_TRANCEVIBRATOR is not set
874# CONFIG_USB_TEST is not set 924# CONFIG_USB_TEST is not set
875 925
876# 926#
@@ -897,6 +947,7 @@ CONFIG_USB_AT91=y
897# CONFIG_USB_GADGETFS is not set 947# CONFIG_USB_GADGETFS is not set
898# CONFIG_USB_FILE_STORAGE is not set 948# CONFIG_USB_FILE_STORAGE is not set
899# CONFIG_USB_G_SERIAL is not set 949# CONFIG_USB_G_SERIAL is not set
950# CONFIG_USB_MIDI_GADGET is not set
900 951
901# 952#
902# MMC/SD Card support 953# MMC/SD Card support
@@ -904,7 +955,8 @@ CONFIG_USB_AT91=y
904CONFIG_MMC=y 955CONFIG_MMC=y
905# CONFIG_MMC_DEBUG is not set 956# CONFIG_MMC_DEBUG is not set
906CONFIG_MMC_BLOCK=y 957CONFIG_MMC_BLOCK=y
907CONFIG_MMC_AT91RM9200=y 958# CONFIG_MMC_AT91 is not set
959# CONFIG_MMC_TIFM_SD is not set
908 960
909# 961#
910# Real Time Clock 962# Real Time Clock
@@ -919,10 +971,12 @@ CONFIG_EXT2_FS=y
919# CONFIG_EXT2_FS_XATTR is not set 971# CONFIG_EXT2_FS_XATTR is not set
920# CONFIG_EXT2_FS_XIP is not set 972# CONFIG_EXT2_FS_XIP is not set
921# CONFIG_EXT3_FS is not set 973# CONFIG_EXT3_FS is not set
974# CONFIG_EXT4DEV_FS is not set
922# CONFIG_REISERFS_FS is not set 975# CONFIG_REISERFS_FS is not set
923# CONFIG_JFS_FS is not set 976# CONFIG_JFS_FS is not set
924CONFIG_FS_POSIX_ACL=y 977CONFIG_FS_POSIX_ACL=y
925# CONFIG_XFS_FS is not set 978# CONFIG_XFS_FS is not set
979# CONFIG_GFS2_FS is not set
926# CONFIG_OCFS2_FS is not set 980# CONFIG_OCFS2_FS is not set
927# CONFIG_MINIX_FS is not set 981# CONFIG_MINIX_FS is not set
928# CONFIG_ROMFS_FS is not set 982# CONFIG_ROMFS_FS is not set
@@ -951,8 +1005,10 @@ CONFIG_DNOTIFY=y
951# Pseudo filesystems 1005# Pseudo filesystems
952# 1006#
953CONFIG_PROC_FS=y 1007CONFIG_PROC_FS=y
1008CONFIG_PROC_SYSCTL=y
954CONFIG_SYSFS=y 1009CONFIG_SYSFS=y
955CONFIG_TMPFS=y 1010CONFIG_TMPFS=y
1011# CONFIG_TMPFS_POSIX_ACL is not set
956# CONFIG_HUGETLB_PAGE is not set 1012# CONFIG_HUGETLB_PAGE is not set
957CONFIG_RAMFS=y 1013CONFIG_RAMFS=y
958# CONFIG_CONFIGFS_FS is not set 1014# CONFIG_CONFIGFS_FS is not set
@@ -995,7 +1051,6 @@ CONFIG_SUNRPC=y
995# CONFIG_RPCSEC_GSS_SPKM3 is not set 1051# CONFIG_RPCSEC_GSS_SPKM3 is not set
996# CONFIG_SMB_FS is not set 1052# CONFIG_SMB_FS is not set
997# CONFIG_CIFS is not set 1053# CONFIG_CIFS is not set
998# CONFIG_CIFS_DEBUG2 is not set
999# CONFIG_NCP_FS is not set 1054# CONFIG_NCP_FS is not set
1000# CONFIG_CODA_FS is not set 1055# CONFIG_CODA_FS is not set
1001# CONFIG_AFS_FS is not set 1056# CONFIG_AFS_FS is not set
@@ -1013,6 +1068,11 @@ CONFIG_MSDOS_PARTITION=y
1013# CONFIG_NLS is not set 1068# CONFIG_NLS is not set
1014 1069
1015# 1070#
1071# Distributed Lock Manager
1072#
1073# CONFIG_DLM is not set
1074
1075#
1016# Profiling support 1076# Profiling support
1017# 1077#
1018# CONFIG_PROFILING is not set 1078# CONFIG_PROFILING is not set
@@ -1021,8 +1081,11 @@ CONFIG_MSDOS_PARTITION=y
1021# Kernel hacking 1081# Kernel hacking
1022# 1082#
1023# CONFIG_PRINTK_TIME is not set 1083# CONFIG_PRINTK_TIME is not set
1084CONFIG_ENABLE_MUST_CHECK=y
1024# CONFIG_MAGIC_SYSRQ is not set 1085# CONFIG_MAGIC_SYSRQ is not set
1025# CONFIG_UNUSED_SYMBOLS is not set 1086# CONFIG_UNUSED_SYMBOLS is not set
1087# CONFIG_DEBUG_FS is not set
1088# CONFIG_HEADERS_CHECK is not set
1026CONFIG_DEBUG_KERNEL=y 1089CONFIG_DEBUG_KERNEL=y
1027CONFIG_LOG_BUF_SHIFT=14 1090CONFIG_LOG_BUF_SHIFT=14
1028CONFIG_DETECT_SOFTLOCKUP=y 1091CONFIG_DETECT_SOFTLOCKUP=y
@@ -1038,10 +1101,9 @@ CONFIG_DETECT_SOFTLOCKUP=y
1038# CONFIG_DEBUG_KOBJECT is not set 1101# CONFIG_DEBUG_KOBJECT is not set
1039CONFIG_DEBUG_BUGVERBOSE=y 1102CONFIG_DEBUG_BUGVERBOSE=y
1040# CONFIG_DEBUG_INFO is not set 1103# CONFIG_DEBUG_INFO is not set
1041# CONFIG_DEBUG_FS is not set
1042# CONFIG_DEBUG_VM is not set 1104# CONFIG_DEBUG_VM is not set
1105# CONFIG_DEBUG_LIST is not set
1043CONFIG_FRAME_POINTER=y 1106CONFIG_FRAME_POINTER=y
1044# CONFIG_UNWIND_INFO is not set
1045CONFIG_FORCED_INLINING=y 1107CONFIG_FORCED_INLINING=y
1046# CONFIG_RCU_TORTURE_TEST is not set 1108# CONFIG_RCU_TORTURE_TEST is not set
1047CONFIG_DEBUG_USER=y 1109CONFIG_DEBUG_USER=y
@@ -1061,15 +1123,13 @@ CONFIG_DEBUG_LL=y
1061# CONFIG_CRYPTO is not set 1123# CONFIG_CRYPTO is not set
1062 1124
1063# 1125#
1064# Hardware crypto devices
1065#
1066
1067#
1068# Library routines 1126# Library routines
1069# 1127#
1128CONFIG_BITREVERSE=y
1070# CONFIG_CRC_CCITT is not set 1129# CONFIG_CRC_CCITT is not set
1071# CONFIG_CRC16 is not set 1130# CONFIG_CRC16 is not set
1072CONFIG_CRC32=y 1131CONFIG_CRC32=y
1073# CONFIG_LIBCRC32C is not set 1132# CONFIG_LIBCRC32C is not set
1074CONFIG_ZLIB_INFLATE=y 1133CONFIG_ZLIB_INFLATE=y
1075CONFIG_PLIST=y 1134CONFIG_PLIST=y
1135CONFIG_IOMAP_COPY=y
diff --git a/arch/arm/kernel/apm.c b/arch/arm/kernel/apm.c
index a11fb9a40c04..2c37b70b17ab 100644
--- a/arch/arm/kernel/apm.c
+++ b/arch/arm/kernel/apm.c
@@ -423,7 +423,7 @@ static int apm_open(struct inode * inode, struct file * filp)
423{ 423{
424 struct apm_user *as; 424 struct apm_user *as;
425 425
426 as = (struct apm_user *)kzalloc(sizeof(*as), GFP_KERNEL); 426 as = kzalloc(sizeof(*as), GFP_KERNEL);
427 if (as) { 427 if (as) {
428 /* 428 /*
429 * XXX - this is a tiny bit broken, when we consider BSD 429 * XXX - this is a tiny bit broken, when we consider BSD
diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S
index 3173924a9b60..f7598cbc7ec5 100644
--- a/arch/arm/kernel/calls.S
+++ b/arch/arm/kernel/calls.S
@@ -110,7 +110,7 @@
110 CALL(sys_ni_syscall) /* was sys_profil */ 110 CALL(sys_ni_syscall) /* was sys_profil */
111 CALL(sys_statfs) 111 CALL(sys_statfs)
112/* 100 */ CALL(sys_fstatfs) 112/* 100 */ CALL(sys_fstatfs)
113 CALL(sys_ni_syscall) 113 CALL(sys_ni_syscall) /* sys_ioperm */
114 CALL(OBSOLETE(ABI(sys_socketcall, sys_oabi_socketcall))) 114 CALL(OBSOLETE(ABI(sys_socketcall, sys_oabi_socketcall)))
115 CALL(sys_syslog) 115 CALL(sys_syslog)
116 CALL(sys_setitimer) 116 CALL(sys_setitimer)
@@ -132,7 +132,7 @@
132/* 120 */ CALL(sys_clone_wrapper) 132/* 120 */ CALL(sys_clone_wrapper)
133 CALL(sys_setdomainname) 133 CALL(sys_setdomainname)
134 CALL(sys_newuname) 134 CALL(sys_newuname)
135 CALL(sys_ni_syscall) 135 CALL(sys_ni_syscall) /* modify_ldt */
136 CALL(sys_adjtimex) 136 CALL(sys_adjtimex)
137/* 125 */ CALL(sys_mprotect) 137/* 125 */ CALL(sys_mprotect)
138 CALL(sys_sigprocmask) 138 CALL(sys_sigprocmask)
@@ -146,7 +146,7 @@
146 CALL(sys_bdflush) 146 CALL(sys_bdflush)
147/* 135 */ CALL(sys_sysfs) 147/* 135 */ CALL(sys_sysfs)
148 CALL(sys_personality) 148 CALL(sys_personality)
149 CALL(sys_ni_syscall) /* CALL(_sys_afs_syscall) */ 149 CALL(sys_ni_syscall) /* reserved for afs_syscall */
150 CALL(sys_setfsuid16) 150 CALL(sys_setfsuid16)
151 CALL(sys_setfsgid16) 151 CALL(sys_setfsgid16)
152/* 140 */ CALL(sys_llseek) 152/* 140 */ CALL(sys_llseek)
@@ -175,7 +175,7 @@
175 CALL(sys_arm_mremap) 175 CALL(sys_arm_mremap)
176 CALL(sys_setresuid16) 176 CALL(sys_setresuid16)
177/* 165 */ CALL(sys_getresuid16) 177/* 165 */ CALL(sys_getresuid16)
178 CALL(sys_ni_syscall) 178 CALL(sys_ni_syscall) /* vm86 */
179 CALL(sys_ni_syscall) /* was sys_query_module */ 179 CALL(sys_ni_syscall) /* was sys_query_module */
180 CALL(sys_poll) 180 CALL(sys_poll)
181 CALL(sys_nfsservctl) 181 CALL(sys_nfsservctl)
@@ -197,8 +197,8 @@
197/* 185 */ CALL(sys_capset) 197/* 185 */ CALL(sys_capset)
198 CALL(sys_sigaltstack_wrapper) 198 CALL(sys_sigaltstack_wrapper)
199 CALL(sys_sendfile) 199 CALL(sys_sendfile)
200 CALL(sys_ni_syscall) 200 CALL(sys_ni_syscall) /* getpmsg */
201 CALL(sys_ni_syscall) 201 CALL(sys_ni_syscall) /* putpmsg */
202/* 190 */ CALL(sys_vfork_wrapper) 202/* 190 */ CALL(sys_vfork_wrapper)
203 CALL(sys_getrlimit) 203 CALL(sys_getrlimit)
204 CALL(sys_mmap2) 204 CALL(sys_mmap2)
@@ -331,6 +331,31 @@
331 CALL(sys_mbind) 331 CALL(sys_mbind)
332/* 320 */ CALL(sys_get_mempolicy) 332/* 320 */ CALL(sys_get_mempolicy)
333 CALL(sys_set_mempolicy) 333 CALL(sys_set_mempolicy)
334 CALL(sys_openat)
335 CALL(sys_mkdirat)
336 CALL(sys_mknodat)
337/* 325 */ CALL(sys_fchownat)
338 CALL(sys_futimesat)
339 CALL(sys_fstatat64)
340 CALL(sys_unlinkat)
341 CALL(sys_renameat)
342/* 330 */ CALL(sys_linkat)
343 CALL(sys_symlinkat)
344 CALL(sys_readlinkat)
345 CALL(sys_fchmodat)
346 CALL(sys_faccessat)
347/* 335 */ CALL(sys_ni_syscall) /* eventually pselect6 */
348 CALL(sys_ni_syscall) /* eventually ppoll */
349 CALL(sys_unshare)
350 CALL(sys_set_robust_list)
351 CALL(sys_get_robust_list)
352/* 340 */ CALL(sys_splice)
353 CALL(sys_arm_sync_file_range)
354 CALL(sys_tee)
355 CALL(sys_vmsplice)
356 CALL(sys_move_pages)
357/* 345 */ CALL(sys_getcpu)
358 CALL(sys_ni_syscall) /* eventually epoll_pwait */
334#ifndef syscalls_counted 359#ifndef syscalls_counted
335.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls 360.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
336#define syscalls_counted 361#define syscalls_counted
diff --git a/arch/arm/kernel/ecard.c b/arch/arm/kernel/ecard.c
index a786f769035d..71257e3d513f 100644
--- a/arch/arm/kernel/ecard.c
+++ b/arch/arm/kernel/ecard.c
@@ -353,7 +353,7 @@ int ecard_readchunk(struct in_chunk_dir *cd, ecard_t *ec, int id, int num)
353 } 353 }
354 if (c_id(&excd) == 0x80) { /* loader */ 354 if (c_id(&excd) == 0x80) { /* loader */
355 if (!ec->loader) { 355 if (!ec->loader) {
356 ec->loader = (loader_t)kmalloc(c_len(&excd), 356 ec->loader = kmalloc(c_len(&excd),
357 GFP_KERNEL); 357 GFP_KERNEL);
358 if (ec->loader) 358 if (ec->loader)
359 ecard_readbytes(ec->loader, ec, 359 ecard_readbytes(ec->loader, ec,
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index bda0748ffb00..d994561816a1 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -22,30 +22,31 @@
22#include <asm/thread_info.h> 22#include <asm/thread_info.h>
23#include <asm/system.h> 23#include <asm/system.h>
24 24
25#define KERNEL_RAM_ADDR (PAGE_OFFSET + TEXT_OFFSET) 25#define KERNEL_RAM_VADDR (PAGE_OFFSET + TEXT_OFFSET)
26#define KERNEL_RAM_PADDR (PHYS_OFFSET + TEXT_OFFSET)
26 27
27/* 28/*
28 * swapper_pg_dir is the virtual address of the initial page table. 29 * swapper_pg_dir is the virtual address of the initial page table.
29 * We place the page tables 16K below KERNEL_RAM_ADDR. Therefore, we must 30 * We place the page tables 16K below KERNEL_RAM_VADDR. Therefore, we must
30 * make sure that KERNEL_RAM_ADDR is correctly set. Currently, we expect 31 * make sure that KERNEL_RAM_VADDR is correctly set. Currently, we expect
31 * the least significant 16 bits to be 0x8000, but we could probably 32 * the least significant 16 bits to be 0x8000, but we could probably
32 * relax this restriction to KERNEL_RAM_ADDR >= PAGE_OFFSET + 0x4000. 33 * relax this restriction to KERNEL_RAM_VADDR >= PAGE_OFFSET + 0x4000.
33 */ 34 */
34#if (KERNEL_RAM_ADDR & 0xffff) != 0x8000 35#if (KERNEL_RAM_VADDR & 0xffff) != 0x8000
35#error KERNEL_RAM_ADDR must start at 0xXXXX8000 36#error KERNEL_RAM_VADDR must start at 0xXXXX8000
36#endif 37#endif
37 38
38 .globl swapper_pg_dir 39 .globl swapper_pg_dir
39 .equ swapper_pg_dir, KERNEL_RAM_ADDR - 0x4000 40 .equ swapper_pg_dir, KERNEL_RAM_VADDR - 0x4000
40 41
41 .macro pgtbl, rd 42 .macro pgtbl, rd
42 ldr \rd, =(__virt_to_phys(KERNEL_RAM_ADDR - 0x4000)) 43 ldr \rd, =(KERNEL_RAM_PADDR - 0x4000)
43 .endm 44 .endm
44 45
45#ifdef CONFIG_XIP_KERNEL 46#ifdef CONFIG_XIP_KERNEL
46#define TEXTADDR XIP_VIRT_ADDR(CONFIG_XIP_PHYS_ADDR) 47#define TEXTADDR XIP_VIRT_ADDR(CONFIG_XIP_PHYS_ADDR)
47#else 48#else
48#define TEXTADDR KERNEL_RAM_ADDR 49#define TEXTADDR KERNEL_RAM_VADDR
49#endif 50#endif
50 51
51/* 52/*
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
index 238dd9b6db84..bbab134cd82d 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -354,9 +354,6 @@ static void __init setup_processor(void)
354#ifndef CONFIG_ARM_THUMB 354#ifndef CONFIG_ARM_THUMB
355 elf_hwcap &= ~HWCAP_THUMB; 355 elf_hwcap &= ~HWCAP_THUMB;
356#endif 356#endif
357#ifndef CONFIG_VFP
358 elf_hwcap &= ~HWCAP_VFP;
359#endif
360 357
361 cpu_proc_init(); 358 cpu_proc_init();
362} 359}
@@ -858,6 +855,7 @@ static const char *hwcap_str[] = {
858 "edsp", 855 "edsp",
859 "java", 856 "java",
860 "iwmmxt", 857 "iwmmxt",
858 "crunch",
861 NULL 859 NULL
862}; 860};
863 861
diff --git a/arch/arm/kernel/sys_arm.c b/arch/arm/kernel/sys_arm.c
index 00c18d35913c..3d4fcbc16276 100644
--- a/arch/arm/kernel/sys_arm.c
+++ b/arch/arm/kernel/sys_arm.c
@@ -328,3 +328,16 @@ asmlinkage long sys_arm_fadvise64_64(int fd, int advice,
328{ 328{
329 return sys_fadvise64_64(fd, offset, len, advice); 329 return sys_fadvise64_64(fd, offset, len, advice);
330} 330}
331
332/*
333 * Yet more syscall fsckage - we can't fit sys_sync_file_range's
334 * arguments into the available registers with EABI. So, let's
335 * create an ARM specific syscall for this which has _sane_
336 * arguments. (This incidentally also has an ABI-independent
337 * argument layout.)
338 */
339asmlinkage long sys_arm_sync_file_range(int fd, unsigned int flags,
340 loff_t offset, loff_t nbytes)
341{
342 return sys_sync_file_range(fd, offset, nbytes, flags);
343}
diff --git a/arch/arm/mach-at91rm9200/at91sam9260_devices.c b/arch/arm/mach-at91rm9200/at91sam9260_devices.c
index a6c596dc4516..f42d3a40ec3c 100644
--- a/arch/arm/mach-at91rm9200/at91sam9260_devices.c
+++ b/arch/arm/mach-at91rm9200/at91sam9260_devices.c
@@ -18,6 +18,7 @@
18#include <asm/arch/gpio.h> 18#include <asm/arch/gpio.h>
19#include <asm/arch/at91sam9260.h> 19#include <asm/arch/at91sam9260.h>
20#include <asm/arch/at91sam926x_mc.h> 20#include <asm/arch/at91sam926x_mc.h>
21#include <asm/arch/at91sam9260_matrix.h>
21 22
22#include "generic.h" 23#include "generic.h"
23 24
diff --git a/arch/arm/mach-at91rm9200/board-sam9260ek.c b/arch/arm/mach-at91rm9200/board-sam9260ek.c
index ffca9bdec37b..da5d58ac870b 100644
--- a/arch/arm/mach-at91rm9200/board-sam9260ek.c
+++ b/arch/arm/mach-at91rm9200/board-sam9260ek.c
@@ -119,6 +119,7 @@ static struct spi_board_info ek_spi_devices[] = {
119 * MACB Ethernet device 119 * MACB Ethernet device
120 */ 120 */
121static struct __initdata eth_platform_data ek_macb_data = { 121static struct __initdata eth_platform_data ek_macb_data = {
122 .phy_irq_pin = AT91_PIN_PA7,
122 .is_rmii = 1, 123 .is_rmii = 1,
123}; 124};
124 125
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c
index d649b39711d4..6b26346191c0 100644
--- a/arch/arm/mach-ep93xx/core.c
+++ b/arch/arm/mach-ep93xx/core.c
@@ -477,4 +477,8 @@ void __init ep93xx_init_devices(void)
477 477
478 platform_device_register(&ep93xx_rtc_device); 478 platform_device_register(&ep93xx_rtc_device);
479 platform_device_register(&ep93xx_ohci_device); 479 platform_device_register(&ep93xx_ohci_device);
480
481#ifdef CONFIG_CRUNCH
482 elf_hwcap |= HWCAP_CRUNCH;
483#endif
480} 484}
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
index 0b27d79f2efd..02272aa36e90 100644
--- a/arch/arm/mach-imx/Makefile
+++ b/arch/arm/mach-imx/Makefile
@@ -9,6 +9,8 @@
9 9
10obj-y += irq.o time.o dma.o generic.o 10obj-y += irq.o time.o dma.o generic.o
11 11
12obj-$(CONFIG_CPU_FREQ_IMX) += cpufreq.o
13
12# Specific board support 14# Specific board support
13obj-$(CONFIG_ARCH_MX1ADS) += mx1ads.o 15obj-$(CONFIG_ARCH_MX1ADS) += mx1ads.o
14 16
diff --git a/arch/arm/mach-imx/cpufreq.c b/arch/arm/mach-imx/cpufreq.c
new file mode 100644
index 000000000000..ac5f99895660
--- /dev/null
+++ b/arch/arm/mach-imx/cpufreq.c
@@ -0,0 +1,287 @@
1/*
2 * cpu.c: clock scaling for the iMX
3 *
4 * Copyright (C) 2000 2001, The Delft University of Technology
5 * Copyright (c) 2004 Sascha Hauer <sascha@saschahauer.de>
6 * Copyright (C) 2006 Inky Lung <ilung@cwlinux.com>
7 * Copyright (C) 2006 Pavel Pisa, PiKRON <ppisa@pikron.com>
8 *
9 * Based on SA1100 version written by:
10 * - Johan Pouwelse (J.A.Pouwelse@its.tudelft.nl): initial version
11 * - Erik Mouw (J.A.K.Mouw@its.tudelft.nl):
12 *
13 * This program is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License as published by
15 * the Free Software Foundation; either version 2 of the License, or
16 * (at your option) any later version.
17 *
18 * This program is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * You should have received a copy of the GNU General Public License
24 * along with this program; if not, write to the Free Software
25 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
26 *
27 */
28
29/*#define DEBUG*/
30
31#include <linux/kernel.h>
32#include <linux/types.h>
33#include <linux/init.h>
34#include <linux/cpufreq.h>
35#include <asm/system.h>
36
37#include <asm/hardware.h>
38
39#include "generic.h"
40
41#ifndef __val2mfld
42#define __val2mfld(mask,val) (((mask)&~((mask)<<1))*(val)&(mask))
43#endif
44#ifndef __mfld2val
45#define __mfld2val(mask,val) (((val)&(mask))/((mask)&~((mask)<<1)))
46#endif
47
48#define CR_920T_CLOCK_MODE 0xC0000000
49#define CR_920T_FASTBUS_MODE 0x00000000
50#define CR_920T_ASYNC_MODE 0xC0000000
51
52static u32 mpctl0_at_boot;
53
54static void imx_set_async_mode(void)
55{
56 adjust_cr(CR_920T_CLOCK_MODE, CR_920T_ASYNC_MODE);
57}
58
59static void imx_set_fastbus_mode(void)
60{
61 adjust_cr(CR_920T_CLOCK_MODE, CR_920T_FASTBUS_MODE);
62}
63
64static void imx_set_mpctl0(u32 mpctl0)
65{
66 unsigned long flags;
67
68 if (mpctl0 == 0) {
69 local_irq_save(flags);
70 CSCR &= ~CSCR_MPEN;
71 local_irq_restore(flags);
72 return;
73 }
74
75 local_irq_save(flags);
76 MPCTL0 = mpctl0;
77 CSCR |= CSCR_MPEN;
78 local_irq_restore(flags);
79}
80
81/**
82 * imx_compute_mpctl - compute new PLL parameters
83 * @new_mpctl: pointer to location assigned by new PLL control register value
84 * @cur_mpctl: current PLL control register parameters
85 * @freq: required frequency in Hz
86 * @relation: is one of %CPUFREQ_RELATION_L (supremum)
87 * and %CPUFREQ_RELATION_H (infimum)
88 */
89long imx_compute_mpctl(u32 *new_mpctl, u32 cur_mpctl, unsigned long freq, int relation)
90{
91 u32 f_ref = (CSCR & CSCR_SYSTEM_SEL) ? 16000000 : (CLK32 * 512);
92 u32 mfi;
93 u32 mfn;
94 u32 mfd;
95 u32 pd;
96 unsigned long long ll;
97 long l;
98 long quot;
99
100 /* Fdppl=2*Fref*(MFI+MFN/(MFD+1))/(PD+1) */
101 /* PD=<0,15>, MFD=<1,1023>, MFI=<5,15> MFN=<0,1022> */
102
103 if (cur_mpctl) {
104 mfd = ((cur_mpctl >> 16) & 0x3ff) + 1;
105 pd = ((cur_mpctl >> 26) & 0xf) + 1;
106 } else {
107 pd=2; mfd=313;
108 }
109
110 /* pd=2; mfd=313; mfi=8; mfn=183; */
111 /* (MFI+MFN/(MFD)) = Fdppl / (2*Fref) * (PD); */
112
113 quot = (f_ref + (1 << 9)) >> 10;
114 l = (freq * pd + quot) / (2 * quot);
115 mfi = l >> 10;
116 mfn = ((l & ((1 << 10) - 1)) * mfd + (1 << 9)) >> 10;
117
118 mfd -= 1;
119 pd -= 1;
120
121 *new_mpctl = ((mfi & 0xf) << 10) | (mfn & 0x3ff) | ((mfd & 0x3ff) << 16)
122 | ((pd & 0xf) << 26);
123
124 ll = 2 * (unsigned long long)f_ref * ( (mfi<<16) + (mfn<<16) / (mfd+1) );
125 quot = (pd+1) * (1<<16);
126 ll += quot / 2;
127 do_div(ll, quot);
128 freq = ll;
129
130 pr_debug(KERN_DEBUG "imx: new PLL parameters pd=%d mfd=%d mfi=%d mfn=%d, freq=%ld\n",
131 pd, mfd, mfi, mfn, freq);
132
133 return freq;
134}
135
136
137static int imx_verify_speed(struct cpufreq_policy *policy)
138{
139 if (policy->cpu != 0)
140 return -EINVAL;
141
142 cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq, policy->cpuinfo.max_freq);
143
144 return 0;
145}
146
147static unsigned int imx_get_speed(unsigned int cpu)
148{
149 unsigned int freq;
150 unsigned int cr;
151 unsigned int cscr;
152 unsigned int bclk_div;
153
154 if (cpu)
155 return 0;
156
157 cscr = CSCR;
158 bclk_div = __mfld2val(CSCR_BCLK_DIV, cscr) + 1;
159 cr = get_cr();
160
161 if((cr & CR_920T_CLOCK_MODE) == CR_920T_FASTBUS_MODE) {
162 freq = imx_get_system_clk();
163 freq = (freq + bclk_div/2) / bclk_div;
164 } else {
165 freq = imx_get_mcu_clk();
166 if (cscr & CSCR_MPU_PRESC)
167 freq /= 2;
168 }
169
170 freq = (freq + 500) / 1000;
171
172 return freq;
173}
174
175static int imx_set_target(struct cpufreq_policy *policy,
176 unsigned int target_freq,
177 unsigned int relation)
178{
179 struct cpufreq_freqs freqs;
180 u32 mpctl0 = 0;
181 u32 cscr;
182 unsigned long flags;
183 long freq;
184 long sysclk;
185 unsigned int bclk_div = 1;
186
187 freq = target_freq * 1000;
188
189 pr_debug(KERN_DEBUG "imx: requested frequency %ld Hz, mpctl0 at boot 0x%08x\n",
190 freq, mpctl0_at_boot);
191
192 sysclk = imx_get_system_clk();
193
194 if (freq > sysclk + 1000000) {
195 freq = imx_compute_mpctl(&mpctl0, mpctl0_at_boot, freq, relation);
196 if (freq < 0) {
197 printk(KERN_WARNING "imx: target frequency %ld Hz cannot be set\n", freq);
198 return -EINVAL;
199 }
200 } else {
201 if(freq + 1000 < sysclk) {
202 if (relation == CPUFREQ_RELATION_L)
203 bclk_div = (sysclk - 1000) / freq;
204 else
205 bclk_div = (sysclk + freq + 1000) / freq;
206
207 if(bclk_div > 16)
208 bclk_div = 16;
209 }
210 freq = (sysclk + bclk_div / 2) / bclk_div;
211 }
212
213 freqs.old = imx_get_speed(0);
214 freqs.new = (freq + 500) / 1000;
215 freqs.cpu = 0;
216 freqs.flags = 0;
217
218 cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
219
220 local_irq_save(flags);
221
222 imx_set_fastbus_mode();
223
224 imx_set_mpctl0(mpctl0);
225
226 cscr = CSCR;
227 cscr &= ~CSCR_BCLK_DIV;
228 cscr |= __val2mfld(CSCR_BCLK_DIV, bclk_div - 1);
229 CSCR = cscr;
230
231 if(mpctl0) {
232 CSCR |= CSCR_MPLL_RESTART;
233
234 /* Wait until MPLL is stablized */
235 while( CSCR & CSCR_MPLL_RESTART );
236
237 imx_set_async_mode();
238 }
239
240 local_irq_restore(flags);
241
242 cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
243
244 pr_debug(KERN_INFO "imx: set frequency %ld Hz, running from %s\n",
245 freq, mpctl0? "MPLL": "SPLL");
246
247 return 0;
248}
249
250static int __init imx_cpufreq_driver_init(struct cpufreq_policy *policy)
251{
252 printk(KERN_INFO "i.MX cpu freq change driver v1.0\n");
253
254 if (policy->cpu != 0)
255 return -EINVAL;
256
257 policy->cur = policy->min = policy->max = imx_get_speed(0);
258 policy->governor = CPUFREQ_DEFAULT_GOVERNOR;
259 policy->cpuinfo.min_freq = 8000;
260 policy->cpuinfo.max_freq = 200000;
261 policy->cpuinfo.transition_latency = CPUFREQ_ETERNAL;
262 return 0;
263}
264
265static struct cpufreq_driver imx_driver = {
266 .flags = CPUFREQ_STICKY,
267 .verify = imx_verify_speed,
268 .target = imx_set_target,
269 .get = imx_get_speed,
270 .init = imx_cpufreq_driver_init,
271 .name = "imx",
272};
273
274static int __init imx_cpufreq_init(void)
275{
276
277 mpctl0_at_boot = 0;
278
279 if((CSCR & CSCR_MPEN) &&
280 ((get_cr() & CR_920T_CLOCK_MODE) != CR_920T_FASTBUS_MODE))
281 mpctl0_at_boot = MPCTL0;
282
283 return cpufreq_register_driver(&imx_driver);
284}
285
286arch_initcall(imx_cpufreq_init);
287
diff --git a/arch/arm/mach-iop13xx/io.c b/arch/arm/mach-iop13xx/io.c
index fbf9f88e46ea..e79a1b62600f 100644
--- a/arch/arm/mach-iop13xx/io.c
+++ b/arch/arm/mach-iop13xx/io.c
@@ -21,6 +21,25 @@
21#include <asm/hardware.h> 21#include <asm/hardware.h>
22#include <asm/io.h> 22#include <asm/io.h>
23 23
24void * __iomem __iop13xx_io(unsigned long io_addr)
25{
26 void __iomem * io_virt;
27
28 switch (io_addr) {
29 case IOP13XX_PCIE_LOWER_IO_PA ... IOP13XX_PCIE_UPPER_IO_PA:
30 io_virt = (void *) IOP13XX_PCIE_IO_PHYS_TO_VIRT(io_addr);
31 break;
32 case IOP13XX_PCIX_LOWER_IO_PA ... IOP13XX_PCIX_UPPER_IO_PA:
33 io_virt = (void *) IOP13XX_PCIX_IO_PHYS_TO_VIRT(io_addr);
34 break;
35 default:
36 BUG();
37 }
38
39 return io_virt;
40}
41EXPORT_SYMBOL(__iop13xx_io);
42
24void * __iomem __iop13xx_ioremap(unsigned long cookie, size_t size, 43void * __iomem __iop13xx_ioremap(unsigned long cookie, size_t size,
25 unsigned long flags) 44 unsigned long flags)
26{ 45{
diff --git a/arch/arm/mach-iop13xx/iq81340mc.c b/arch/arm/mach-iop13xx/iq81340mc.c
index ee595786cd22..2a1bbfe9896f 100644
--- a/arch/arm/mach-iop13xx/iq81340mc.c
+++ b/arch/arm/mach-iop13xx/iq81340mc.c
@@ -88,11 +88,11 @@ static struct sys_timer iq81340mc_timer = {
88 88
89MACHINE_START(IQ81340MC, "Intel IQ81340MC") 89MACHINE_START(IQ81340MC, "Intel IQ81340MC")
90 /* Maintainer: Dan Williams <dan.j.williams@intel.com> */ 90 /* Maintainer: Dan Williams <dan.j.williams@intel.com> */
91 .phys_io = PHYS_IO, 91 .phys_io = IOP13XX_PMMR_PHYS_MEM_BASE,
92 .io_pg_offst = IO_PG_OFFSET, 92 .io_pg_offst = (IOP13XX_PMMR_VIRT_MEM_BASE >> 18) & 0xfffc,
93 .boot_params = 0x00000100,
93 .map_io = iop13xx_map_io, 94 .map_io = iop13xx_map_io,
94 .init_irq = iop13xx_init_irq, 95 .init_irq = iop13xx_init_irq,
95 .timer = &iq81340mc_timer, 96 .timer = &iq81340mc_timer,
96 .boot_params = BOOT_PARAM_OFFSET,
97 .init_machine = iq81340mc_init, 97 .init_machine = iq81340mc_init,
98MACHINE_END 98MACHINE_END
diff --git a/arch/arm/mach-iop13xx/iq81340sc.c b/arch/arm/mach-iop13xx/iq81340sc.c
index 6677e14b61bf..5ad2b62c9bfd 100644
--- a/arch/arm/mach-iop13xx/iq81340sc.c
+++ b/arch/arm/mach-iop13xx/iq81340sc.c
@@ -90,11 +90,11 @@ static struct sys_timer iq81340sc_timer = {
90 90
91MACHINE_START(IQ81340SC, "Intel IQ81340SC") 91MACHINE_START(IQ81340SC, "Intel IQ81340SC")
92 /* Maintainer: Dan Williams <dan.j.williams@intel.com> */ 92 /* Maintainer: Dan Williams <dan.j.williams@intel.com> */
93 .phys_io = PHYS_IO, 93 .phys_io = IOP13XX_PMMR_PHYS_MEM_BASE,
94 .io_pg_offst = IO_PG_OFFSET, 94 .io_pg_offst = (IOP13XX_PMMR_VIRT_MEM_BASE >> 18) & 0xfffc,
95 .boot_params = 0x00000100,
95 .map_io = iop13xx_map_io, 96 .map_io = iop13xx_map_io,
96 .init_irq = iop13xx_init_irq, 97 .init_irq = iop13xx_init_irq,
97 .timer = &iq81340sc_timer, 98 .timer = &iq81340sc_timer,
98 .boot_params = BOOT_PARAM_OFFSET,
99 .init_machine = iq81340sc_init, 99 .init_machine = iq81340sc_init,
100MACHINE_END 100MACHINE_END
diff --git a/arch/arm/mach-iop13xx/irq.c b/arch/arm/mach-iop13xx/irq.c
index c4d9c8c5579c..dbbc07c38b14 100644
--- a/arch/arm/mach-iop13xx/irq.c
+++ b/arch/arm/mach-iop13xx/irq.c
@@ -222,25 +222,29 @@ iop13xx_irq_unmask3(unsigned int irq)
222 iop13xx_cp6_restore(cp_flags); 222 iop13xx_cp6_restore(cp_flags);
223} 223}
224 224
225static struct irqchip iop13xx_irqchip0 = { 225static struct irq_chip iop13xx_irqchip1 = {
226 .name = "IOP13xx-1",
226 .ack = iop13xx_irq_mask0, 227 .ack = iop13xx_irq_mask0,
227 .mask = iop13xx_irq_mask0, 228 .mask = iop13xx_irq_mask0,
228 .unmask = iop13xx_irq_unmask0, 229 .unmask = iop13xx_irq_unmask0,
229}; 230};
230 231
231static struct irqchip iop13xx_irqchip1 = { 232static struct irq_chip iop13xx_irqchip2 = {
233 .name = "IOP13xx-2",
232 .ack = iop13xx_irq_mask1, 234 .ack = iop13xx_irq_mask1,
233 .mask = iop13xx_irq_mask1, 235 .mask = iop13xx_irq_mask1,
234 .unmask = iop13xx_irq_unmask1, 236 .unmask = iop13xx_irq_unmask1,
235}; 237};
236 238
237static struct irqchip iop13xx_irqchip2 = { 239static struct irq_chip iop13xx_irqchip3 = {
240 .name = "IOP13xx-3",
238 .ack = iop13xx_irq_mask2, 241 .ack = iop13xx_irq_mask2,
239 .mask = iop13xx_irq_mask2, 242 .mask = iop13xx_irq_mask2,
240 .unmask = iop13xx_irq_unmask2, 243 .unmask = iop13xx_irq_unmask2,
241}; 244};
242 245
243static struct irqchip iop13xx_irqchip3 = { 246static struct irq_chip iop13xx_irqchip4 = {
247 .name = "IOP13xx-4",
244 .ack = iop13xx_irq_mask3, 248 .ack = iop13xx_irq_mask3,
245 .mask = iop13xx_irq_mask3, 249 .mask = iop13xx_irq_mask3,
246 .unmask = iop13xx_irq_unmask3, 250 .unmask = iop13xx_irq_unmask3,
@@ -270,15 +274,15 @@ void __init iop13xx_init_irq(void)
270 274
271 for(i = 0; i < NR_IOP13XX_IRQS; i++) { 275 for(i = 0; i < NR_IOP13XX_IRQS; i++) {
272 if (i < 32) 276 if (i < 32)
273 set_irq_chip(i, &iop13xx_irqchip0);
274 else if (i < 64)
275 set_irq_chip(i, &iop13xx_irqchip1); 277 set_irq_chip(i, &iop13xx_irqchip1);
276 else if (i < 96) 278 else if (i < 64)
277 set_irq_chip(i, &iop13xx_irqchip2); 279 set_irq_chip(i, &iop13xx_irqchip2);
278 else 280 else if (i < 96)
279 set_irq_chip(i, &iop13xx_irqchip3); 281 set_irq_chip(i, &iop13xx_irqchip3);
282 else
283 set_irq_chip(i, &iop13xx_irqchip4);
280 284
281 set_irq_handler(i, do_level_IRQ); 285 set_irq_handler(i, handle_level_irq);
282 set_irq_flags(i, IRQF_VALID | IRQF_PROBE); 286 set_irq_flags(i, IRQF_VALID | IRQF_PROBE);
283 } 287 }
284 288
diff --git a/arch/arm/mach-iop13xx/setup.c b/arch/arm/mach-iop13xx/setup.c
index 3756d2ccb1a7..5fbeb28d04bb 100644
--- a/arch/arm/mach-iop13xx/setup.c
+++ b/arch/arm/mach-iop13xx/setup.c
@@ -337,7 +337,7 @@ void __init iop13xx_platform_init(void)
337 337
338#ifdef CONFIG_MTD_PHYSMAP 338#ifdef CONFIG_MTD_PHYSMAP
339 iq8134x_flash_resource.end = iq8134x_flash_resource.start + 339 iq8134x_flash_resource.end = iq8134x_flash_resource.start +
340 iq8134x_probe_flash_size(); 340 iq8134x_probe_flash_size() - 1;
341 if (iq8134x_flash_resource.end > iq8134x_flash_resource.start) 341 if (iq8134x_flash_resource.end > iq8134x_flash_resource.start)
342 iop13xx_devices[plat_idx++] = &iq8134x_flash; 342 iop13xx_devices[plat_idx++] = &iq8134x_flash;
343 else 343 else
diff --git a/arch/arm/mach-netx/time.c b/arch/arm/mach-netx/time.c
index 0993336c0b55..5773b55ef4a6 100644
--- a/arch/arm/mach-netx/time.c
+++ b/arch/arm/mach-netx/time.c
@@ -19,6 +19,8 @@
19 19
20#include <linux/init.h> 20#include <linux/init.h>
21#include <linux/interrupt.h> 21#include <linux/interrupt.h>
22#include <linux/irq.h>
23#include <linux/clocksource.h>
22 24
23#include <asm/hardware.h> 25#include <asm/hardware.h>
24#include <asm/io.h> 26#include <asm/io.h>
@@ -26,15 +28,6 @@
26#include <asm/arch/netx-regs.h> 28#include <asm/arch/netx-regs.h>
27 29
28/* 30/*
29 * Returns number of us since last clock interrupt. Note that interrupts
30 * will have been disabled by do_gettimeoffset()
31 */
32static unsigned long netx_gettimeoffset(void)
33{
34 return readl(NETX_GPIO_COUNTER_CURRENT(0)) / 100;
35}
36
37/*
38 * IRQ handler for the timer 31 * IRQ handler for the timer
39 */ 32 */
40static irqreturn_t 33static irqreturn_t
@@ -43,6 +36,7 @@ netx_timer_interrupt(int irq, void *dev_id)
43 write_seqlock(&xtime_lock); 36 write_seqlock(&xtime_lock);
44 37
45 timer_tick(); 38 timer_tick();
39
46 write_sequnlock(&xtime_lock); 40 write_sequnlock(&xtime_lock);
47 41
48 /* acknowledge interrupt */ 42 /* acknowledge interrupt */
@@ -51,13 +45,26 @@ netx_timer_interrupt(int irq, void *dev_id)
51 return IRQ_HANDLED; 45 return IRQ_HANDLED;
52} 46}
53 47
54
55static struct irqaction netx_timer_irq = { 48static struct irqaction netx_timer_irq = {
56 .name = "NetX Timer Tick", 49 .name = "NetX Timer Tick",
57 .flags = IRQF_DISABLED | IRQF_TIMER, 50 .flags = IRQF_DISABLED | IRQF_TIMER,
58 .handler = netx_timer_interrupt, 51 .handler = netx_timer_interrupt,
59}; 52};
60 53
54cycle_t netx_get_cycles(void)
55{
56 return readl(NETX_GPIO_COUNTER_CURRENT(1));
57}
58
59static struct clocksource clocksource_netx = {
60 .name = "netx_timer",
61 .rating = 200,
62 .read = netx_get_cycles,
63 .mask = CLOCKSOURCE_MASK(32),
64 .shift = 20,
65 .is_continuous = 1,
66};
67
61/* 68/*
62 * Set up timer interrupt 69 * Set up timer interrupt
63 */ 70 */
@@ -80,9 +87,20 @@ static void __init netx_timer_init(void)
80 NETX_GPIO_COUNTER_CTRL(0)); 87 NETX_GPIO_COUNTER_CTRL(0));
81 88
82 setup_irq(NETX_IRQ_TIMER0, &netx_timer_irq); 89 setup_irq(NETX_IRQ_TIMER0, &netx_timer_irq);
90
91 /* Setup timer one for clocksource */
92 writel(0, NETX_GPIO_COUNTER_CTRL(1));
93 writel(0, NETX_GPIO_COUNTER_CURRENT(1));
94 writel(0xFFFFFFFF, NETX_GPIO_COUNTER_MAX(1));
95
96 writel(NETX_GPIO_COUNTER_CTRL_RUN,
97 NETX_GPIO_COUNTER_CTRL(1));
98
99 clocksource_netx.mult =
100 clocksource_hz2mult(CLOCK_TICK_RATE, clocksource_netx.shift);
101 clocksource_register(&clocksource_netx);
83} 102}
84 103
85struct sys_timer netx_timer = { 104struct sys_timer netx_timer = {
86 .init = netx_timer_init, 105 .init = netx_timer_init,
87 .offset = netx_gettimeoffset,
88}; 106};
diff --git a/arch/arm/mach-omap1/Kconfig b/arch/arm/mach-omap1/Kconfig
index d135568dc9e7..8781aaeb576b 100644
--- a/arch/arm/mach-omap1/Kconfig
+++ b/arch/arm/mach-omap1/Kconfig
@@ -43,6 +43,7 @@ config MACH_OMAP_H3
43config MACH_OMAP_OSK 43config MACH_OMAP_OSK
44 bool "TI OSK Support" 44 bool "TI OSK Support"
45 depends on ARCH_OMAP1 && ARCH_OMAP16XX 45 depends on ARCH_OMAP1 && ARCH_OMAP16XX
46 select TPS65010
46 help 47 help
47 TI OMAP 5912 OSK (OMAP Starter Kit) board support. Say Y here 48 TI OMAP 5912 OSK (OMAP Starter Kit) board support. Say Y here
48 if you have such a board. 49 if you have such a board.
diff --git a/arch/arm/mach-omap1/board-osk.c b/arch/arm/mach-omap1/board-osk.c
index 3a622801d7b0..7d0cf7af88ce 100644
--- a/arch/arm/mach-omap1/board-osk.c
+++ b/arch/arm/mach-omap1/board-osk.c
@@ -30,6 +30,7 @@
30#include <linux/init.h> 30#include <linux/init.h>
31#include <linux/platform_device.h> 31#include <linux/platform_device.h>
32#include <linux/irq.h> 32#include <linux/irq.h>
33#include <linux/interrupt.h>
33 34
34#include <linux/mtd/mtd.h> 35#include <linux/mtd/mtd.h>
35#include <linux/mtd/partitions.h> 36#include <linux/mtd/partitions.h>
diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c
index 03d6905ba490..878ff9181d0e 100644
--- a/arch/arm/mach-omap2/board-apollon.c
+++ b/arch/arm/mach-omap2/board-apollon.c
@@ -22,6 +22,7 @@
22#include <linux/mtd/mtd.h> 22#include <linux/mtd/mtd.h>
23#include <linux/mtd/partitions.h> 23#include <linux/mtd/partitions.h>
24#include <linux/mtd/onenand.h> 24#include <linux/mtd/onenand.h>
25#include <linux/irq.h>
25#include <linux/interrupt.h> 26#include <linux/interrupt.h>
26#include <linux/delay.h> 27#include <linux/delay.h>
27 28
diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c
index f4f04d87df32..d8f57824423f 100644
--- a/arch/arm/mach-omap2/gpmc.c
+++ b/arch/arm/mach-omap2/gpmc.c
@@ -17,6 +17,7 @@
17#include <linux/spinlock.h> 17#include <linux/spinlock.h>
18 18
19#include <asm/io.h> 19#include <asm/io.h>
20#include <asm/mach-types.h>
20#include <asm/arch/gpmc.h> 21#include <asm/arch/gpmc.h>
21 22
22#undef DEBUG 23#undef DEBUG
@@ -338,19 +339,13 @@ void __init gpmc_mem_init(void)
338 int cs; 339 int cs;
339 unsigned long boot_rom_space = 0; 340 unsigned long boot_rom_space = 0;
340 341
341 if (cpu_is_omap242x()) { 342 /* never allocate the first page, to facilitate bug detection;
342 u32 l; 343 * even if we didn't boot from ROM.
343 l = omap_readl(OMAP242X_CONTROL_STATUS); 344 */
344 /* In case of internal boot the 1st MB is redirected to the 345 boot_rom_space = BOOT_ROM_SPACE;
345 * boot ROM memory space. 346 /* In apollon the CS0 is mapped as 0x0000 0000 */
346 */ 347 if (machine_is_omap_apollon())
347 if (l & (1 << 3)) 348 boot_rom_space = 0;
348 boot_rom_space = BOOT_ROM_SPACE;
349 } else
350 /* We assume internal boot if the mode can't be
351 * determined.
352 */
353 boot_rom_space = BOOT_ROM_SPACE;
354 gpmc_mem_root.start = GPMC_MEM_START + boot_rom_space; 349 gpmc_mem_root.start = GPMC_MEM_START + boot_rom_space;
355 gpmc_mem_root.end = GPMC_MEM_END; 350 gpmc_mem_root.end = GPMC_MEM_END;
356 351
diff --git a/arch/arm/mach-pxa/generic.c b/arch/arm/mach-pxa/generic.c
index 6ae605857ca9..9de1278d234f 100644
--- a/arch/arm/mach-pxa/generic.c
+++ b/arch/arm/mach-pxa/generic.c
@@ -76,7 +76,9 @@ unsigned long long sched_clock(void)
76 /* 76 /*
77 * 96-bit math to perform tick * NSEC_PER_SEC / CLOCK_TICK_RATE for 77 * 96-bit math to perform tick * NSEC_PER_SEC / CLOCK_TICK_RATE for
78 * any value of CLOCK_TICK_RATE. Max value is in the 80 thousand 78 * any value of CLOCK_TICK_RATE. Max value is in the 80 thousand
79 * years range which is nice, but with higher computation cost. 79 * years range and truncation to unsigned long long limits it to
80 * sched_clock's max range of ~584 years. This is nice but with
81 * higher computation cost.
80 */ 82 */
81 { 83 {
82 union { 84 union {
diff --git a/arch/arm/mach-pxa/time.c b/arch/arm/mach-pxa/time.c
index b91466861029..ee2beb400414 100644
--- a/arch/arm/mach-pxa/time.c
+++ b/arch/arm/mach-pxa/time.c
@@ -18,6 +18,7 @@
18#include <linux/signal.h> 18#include <linux/signal.h>
19#include <linux/errno.h> 19#include <linux/errno.h>
20#include <linux/sched.h> 20#include <linux/sched.h>
21#include <linux/clocksource.h>
21 22
22#include <asm/system.h> 23#include <asm/system.h>
23#include <asm/hardware.h> 24#include <asm/hardware.h>
@@ -48,27 +49,6 @@ static int pxa_set_rtc(void)
48 return 0; 49 return 0;
49} 50}
50 51
51/* IRQs are disabled before entering here from do_gettimeofday() */
52static unsigned long pxa_gettimeoffset (void)
53{
54 long ticks_to_match, elapsed, usec;
55
56 /* Get ticks before next timer match */
57 ticks_to_match = OSMR0 - OSCR;
58
59 /* We need elapsed ticks since last match */
60 elapsed = LATCH - ticks_to_match;
61
62 /* don't get fooled by the workaround in pxa_timer_interrupt() */
63 if (elapsed <= 0)
64 return 0;
65
66 /* Now convert them to usec */
67 usec = (unsigned long)(elapsed * (tick_nsec / 1000))/LATCH;
68
69 return usec;
70}
71
72#ifdef CONFIG_NO_IDLE_HZ 52#ifdef CONFIG_NO_IDLE_HZ
73static unsigned long initial_match; 53static unsigned long initial_match;
74static int match_posponed; 54static int match_posponed;
@@ -121,6 +101,20 @@ static struct irqaction pxa_timer_irq = {
121 .handler = pxa_timer_interrupt, 101 .handler = pxa_timer_interrupt,
122}; 102};
123 103
104static cycle_t pxa_get_cycles(void)
105{
106 return OSCR;
107}
108
109static struct clocksource clocksource_pxa = {
110 .name = "pxa_timer",
111 .rating = 200,
112 .read = pxa_get_cycles,
113 .mask = CLOCKSOURCE_MASK(32),
114 .shift = 20,
115 .is_continuous = 1,
116};
117
124static void __init pxa_timer_init(void) 118static void __init pxa_timer_init(void)
125{ 119{
126 struct timespec tv; 120 struct timespec tv;
@@ -139,6 +133,14 @@ static void __init pxa_timer_init(void)
139 OIER = OIER_E0; /* enable match on timer 0 to cause interrupts */ 133 OIER = OIER_E0; /* enable match on timer 0 to cause interrupts */
140 OSMR0 = OSCR + LATCH; /* set initial match */ 134 OSMR0 = OSCR + LATCH; /* set initial match */
141 local_irq_restore(flags); 135 local_irq_restore(flags);
136
137 /*
138 * OSCR runs continuously on PXA and is not written to,
139 * so we can use it as clock source directly.
140 */
141 clocksource_pxa.mult =
142 clocksource_hz2mult(CLOCK_TICK_RATE, clocksource_pxa.shift);
143 clocksource_register(&clocksource_pxa);
142} 144}
143 145
144#ifdef CONFIG_NO_IDLE_HZ 146#ifdef CONFIG_NO_IDLE_HZ
@@ -211,7 +213,6 @@ struct sys_timer pxa_timer = {
211 .init = pxa_timer_init, 213 .init = pxa_timer_init,
212 .suspend = pxa_timer_suspend, 214 .suspend = pxa_timer_suspend,
213 .resume = pxa_timer_resume, 215 .resume = pxa_timer_resume,
214 .offset = pxa_gettimeoffset,
215#ifdef CONFIG_NO_IDLE_HZ 216#ifdef CONFIG_NO_IDLE_HZ
216 .dyn_tick = &pxa_dyn_tick, 217 .dyn_tick = &pxa_dyn_tick,
217#endif 218#endif
diff --git a/arch/arm/mach-pxa/trizeps4.c b/arch/arm/mach-pxa/trizeps4.c
index c1827d021ba8..119c64b7223f 100644
--- a/arch/arm/mach-pxa/trizeps4.c
+++ b/arch/arm/mach-pxa/trizeps4.c
@@ -393,10 +393,6 @@ static struct pxafb_mach_info sharp_lcd = {
393 .pxafb_backlight_power = board_backlight_power, 393 .pxafb_backlight_power = board_backlight_power,
394}; 394};
395 395
396static void __init trizeps4_fixup(struct machine_desc *desc, struct tag *tags, char **cmdline, struct meminfo *mi)
397{
398}
399
400static void __init trizeps4_init(void) 396static void __init trizeps4_init(void)
401{ 397{
402 platform_add_devices(trizeps4_devices, ARRAY_SIZE(trizeps4_devices)); 398 platform_add_devices(trizeps4_devices, ARRAY_SIZE(trizeps4_devices));
@@ -469,7 +465,6 @@ MACHINE_START(TRIZEPS4, "Keith und Koep Trizeps IV module")
469 .phys_io = 0x40000000, 465 .phys_io = 0x40000000,
470 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, 466 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
471 .boot_params = TRIZEPS4_SDRAM_BASE + 0x100, 467 .boot_params = TRIZEPS4_SDRAM_BASE + 0x100,
472 .fixup = trizeps4_fixup,
473 .init_machine = trizeps4_init, 468 .init_machine = trizeps4_init,
474 .map_io = trizeps4_map_io, 469 .map_io = trizeps4_map_io,
475 .init_irq = pxa_init_irq, 470 .init_irq = pxa_init_irq,
diff --git a/arch/arm/mach-s3c2410/Kconfig b/arch/arm/mach-s3c2410/Kconfig
index 9f46bf330bc8..eb4ec411312b 100644
--- a/arch/arm/mach-s3c2410/Kconfig
+++ b/arch/arm/mach-s3c2410/Kconfig
@@ -5,6 +5,7 @@ menu "S3C24XX Implementations"
5config MACH_AML_M5900 5config MACH_AML_M5900
6 bool "AML M5900 Series" 6 bool "AML M5900 Series"
7 select CPU_S3C2410 7 select CPU_S3C2410
8 select PM_SIMTEC if PM
8 help 9 help
9 Say Y here if you are using the American Microsystems M5900 Series 10 Say Y here if you are using the American Microsystems M5900 Series
10 <http://www.amltd.com> 11 <http://www.amltd.com>
@@ -12,6 +13,7 @@ config MACH_AML_M5900
12config MACH_ANUBIS 13config MACH_ANUBIS
13 bool "Simtec Electronics ANUBIS" 14 bool "Simtec Electronics ANUBIS"
14 select CPU_S3C2440 15 select CPU_S3C2440
16 select PM_SIMTEC if PM
15 help 17 help
16 Say Y here if you are using the Simtec Electronics ANUBIS 18 Say Y here if you are using the Simtec Electronics ANUBIS
17 development system 19 development system
@@ -19,6 +21,7 @@ config MACH_ANUBIS
19config MACH_OSIRIS 21config MACH_OSIRIS
20 bool "Simtec IM2440D20 (OSIRIS) module" 22 bool "Simtec IM2440D20 (OSIRIS) module"
21 select CPU_S3C2440 23 select CPU_S3C2440
24 select PM_SIMTEC if PM
22 help 25 help
23 Say Y here if you are using the Simtec IM2440D20 module, also 26 Say Y here if you are using the Simtec IM2440D20 module, also
24 known as the Osiris. 27 known as the Osiris.
@@ -26,6 +29,7 @@ config MACH_OSIRIS
26config ARCH_BAST 29config ARCH_BAST
27 bool "Simtec Electronics BAST (EB2410ITX)" 30 bool "Simtec Electronics BAST (EB2410ITX)"
28 select CPU_S3C2410 31 select CPU_S3C2410
32 select PM_SIMTEC if PM
29 select ISA 33 select ISA
30 help 34 help
31 Say Y here if you are using the Simtec Electronics EB2410ITX 35 Say Y here if you are using the Simtec Electronics EB2410ITX
@@ -43,14 +47,13 @@ config BAST_PC104_IRQ
43 47
44config PM_H1940 48config PM_H1940
45 bool 49 bool
46 depends on PM
47 help 50 help
48 Internal node for H1940 and related PM 51 Internal node for H1940 and related PM
49 52
50config ARCH_H1940 53config ARCH_H1940
51 bool "IPAQ H1940" 54 bool "IPAQ H1940"
52 select CPU_S3C2410 55 select CPU_S3C2410
53 select PM_H1940 56 select PM_H1940 if PM
54 help 57 help
55 Say Y here if you are using the HP IPAQ H1940 58 Say Y here if you are using the HP IPAQ H1940
56 59
@@ -112,6 +115,7 @@ config MACH_SMDK2413
112 115
113config MACH_VR1000 116config MACH_VR1000
114 bool "Thorcom VR1000" 117 bool "Thorcom VR1000"
118 select PM_SIMTEC if PM
115 select CPU_S3C2410 119 select CPU_S3C2410
116 help 120 help
117 Say Y here if you are using the Thorcom VR1000 board. 121 Say Y here if you are using the Thorcom VR1000 board.
@@ -122,7 +126,7 @@ config MACH_VR1000
122config MACH_RX3715 126config MACH_RX3715
123 bool "HP iPAQ rx3715" 127 bool "HP iPAQ rx3715"
124 select CPU_S3C2440 128 select CPU_S3C2440
125 select PM_H1940 129 select PM_H1940 if PM
126 help 130 help
127 Say Y here if you are using the HP iPAQ rx3715. 131 Say Y here if you are using the HP iPAQ rx3715.
128 132
@@ -156,7 +160,6 @@ config S3C2410_CLOCK
156 160
157config S3C2410_PM 161config S3C2410_PM
158 bool 162 bool
159 depends on CONFIG_PM
160 help 163 help
161 Power Management code common to S3C2410 and better 164 Power Management code common to S3C2410 and better
162 165
@@ -171,7 +174,7 @@ config CPU_S3C2410
171 bool 174 bool
172 depends on ARCH_S3C2410 175 depends on ARCH_S3C2410
173 select S3C2410_CLOCK 176 select S3C2410_CLOCK
174 select S3C2410_PM 177 select S3C2410_PM if PM
175 help 178 help
176 Support for S3C2410 and S3C2410A family from the S3C24XX line 179 Support for S3C2410 and S3C2410A family from the S3C24XX line
177 of Samsung Mobile CPUs. 180 of Samsung Mobile CPUs.
@@ -186,14 +189,13 @@ config CPU_S3C2412_ONLY
186 189
187config S3C2412_PM 190config S3C2412_PM
188 bool 191 bool
189 default y if PM
190 depends on CPU_S3C2412
191 help 192 help
192 Internal config node to apply S3C2412 power management 193 Internal config node to apply S3C2412 power management
193 194
194config CPU_S3C2412 195config CPU_S3C2412
195 bool 196 bool
196 depends on ARCH_S3C2410 197 depends on ARCH_S3C2410
198 select S3C2412_PM if PM
197 help 199 help
198 Support for the S3C2412 and S3C2413 SoCs from the S3C24XX line 200 Support for the S3C2412 and S3C2413 SoCs from the S3C24XX line
199 201
@@ -207,7 +209,7 @@ config CPU_S3C2440
207 bool 209 bool
208 depends on ARCH_S3C2410 210 depends on ARCH_S3C2410
209 select S3C2410_CLOCK 211 select S3C2410_CLOCK
210 select S3C2410_PM 212 select S3C2410_PM if PM
211 select CPU_S3C244X 213 select CPU_S3C244X
212 help 214 help
213 Support for S3C2440 Samsung Mobile CPU based systems. 215 Support for S3C2440 Samsung Mobile CPU based systems.
@@ -216,7 +218,7 @@ config CPU_S3C2442
216 bool 218 bool
217 depends on ARCH_S3C2420 219 depends on ARCH_S3C2420
218 select S3C2410_CLOCK 220 select S3C2410_CLOCK
219 select S3C2410_PM 221 select S3C2410_PM if PM
220 select CPU_S3C244X 222 select CPU_S3C244X
221 help 223 help
222 Support for S3C2442 Samsung Mobile CPU based systems. 224 Support for S3C2442 Samsung Mobile CPU based systems.
@@ -300,8 +302,9 @@ config S3C2410_PM_CHECK_CHUNKSIZE
300 302
301config PM_SIMTEC 303config PM_SIMTEC
302 bool 304 bool
303 depends on PM && (ARCH_BAST || MACH_VR1000 || MACH_AML_M5900) 305 help
304 default y 306 Common power management code for systems that are
307 compatible with the Simtec style of power management
305 308
306config S3C2410_LOWLEVEL_UART_PORT 309config S3C2410_LOWLEVEL_UART_PORT
307 int "S3C2410 UART to use for low-level messages" 310 int "S3C2410 UART to use for low-level messages"
diff --git a/arch/arm/mach-s3c2410/cpu.c b/arch/arm/mach-s3c2410/cpu.c
index 9d4899eddf1f..ae1f5bb63f7a 100644
--- a/arch/arm/mach-s3c2410/cpu.c
+++ b/arch/arm/mach-s3c2410/cpu.c
@@ -26,6 +26,7 @@
26#include <linux/module.h> 26#include <linux/module.h>
27#include <linux/interrupt.h> 27#include <linux/interrupt.h>
28#include <linux/ioport.h> 28#include <linux/ioport.h>
29#include <linux/serial_core.h>
29#include <linux/platform_device.h> 30#include <linux/platform_device.h>
30 31
31#include <asm/hardware.h> 32#include <asm/hardware.h>
diff --git a/arch/arm/mach-s3c2410/devs.c b/arch/arm/mach-s3c2410/devs.c
index cae35ff76f33..faccde2092d2 100644
--- a/arch/arm/mach-s3c2410/devs.c
+++ b/arch/arm/mach-s3c2410/devs.c
@@ -17,6 +17,7 @@
17#include <linux/list.h> 17#include <linux/list.h>
18#include <linux/timer.h> 18#include <linux/timer.h>
19#include <linux/init.h> 19#include <linux/init.h>
20#include <linux/serial_core.h>
20#include <linux/platform_device.h> 21#include <linux/platform_device.h>
21 22
22#include <asm/mach/arch.h> 23#include <asm/mach/arch.h>
diff --git a/arch/arm/mach-s3c2410/dma.c b/arch/arm/mach-s3c2410/dma.c
index 01abb0ace234..fa860e716b4f 100644
--- a/arch/arm/mach-s3c2410/dma.c
+++ b/arch/arm/mach-s3c2410/dma.c
@@ -1,6 +1,6 @@
1/* linux/arch/arm/mach-s3c2410/dma.c 1/* linux/arch/arm/mach-s3c2410/dma.c
2 * 2 *
3 * (c) 2003-2005,2006 Simtec Electronics 3 * Copyright (c) 2003-2005,2006 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 DMA core 6 * S3C2410 DMA core
@@ -1053,11 +1053,11 @@ int s3c2410_dma_config(dmach_t channel,
1053 if (chan == NULL) 1053 if (chan == NULL)
1054 return -EINVAL; 1054 return -EINVAL;
1055 1055
1056 printk("Initial dcon is %08x\n", dcon); 1056 pr_debug("%s: Initial dcon is %08x\n", __FUNCTION__, dcon);
1057 1057
1058 dcon |= chan->dcon & dma_sel.dcon_mask; 1058 dcon |= chan->dcon & dma_sel.dcon_mask;
1059 1059
1060 printk("New dcon is %08x\n", dcon); 1060 pr_debug("%s: New dcon is %08x\n", __FUNCTION__, dcon);
1061 1061
1062 switch (xferunit) { 1062 switch (xferunit) {
1063 case 1: 1063 case 1:
diff --git a/arch/arm/mach-s3c2410/irq.h b/arch/arm/mach-s3c2410/irq.h
index 3686a0082245..e5913da3b919 100644
--- a/arch/arm/mach-s3c2410/irq.h
+++ b/arch/arm/mach-s3c2410/irq.h
@@ -8,8 +8,6 @@
8 * This program is free software; you can redistribute it and/or modify 8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as 9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation. 10 * published by the Free Software Foundation.
11 *
12 * Modifications:
13*/ 11*/
14 12
15#define irqdbf(x...) 13#define irqdbf(x...)
diff --git a/arch/arm/mach-s3c2410/mach-anubis.c b/arch/arm/mach-s3c2410/mach-anubis.c
index e94cdcd96591..0fad0c2fe07b 100644
--- a/arch/arm/mach-s3c2410/mach-anubis.c
+++ b/arch/arm/mach-s3c2410/mach-anubis.c
@@ -15,6 +15,7 @@
15#include <linux/list.h> 15#include <linux/list.h>
16#include <linux/timer.h> 16#include <linux/timer.h>
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/serial_core.h>
18#include <linux/platform_device.h> 19#include <linux/platform_device.h>
19 20
20#include <asm/mach/arch.h> 21#include <asm/mach/arch.h>
diff --git a/arch/arm/mach-s3c2410/mach-bast.c b/arch/arm/mach-s3c2410/mach-bast.c
index 2968fb235f95..b8b76757ec54 100644
--- a/arch/arm/mach-s3c2410/mach-bast.c
+++ b/arch/arm/mach-s3c2410/mach-bast.c
@@ -16,6 +16,7 @@
16#include <linux/list.h> 16#include <linux/list.h>
17#include <linux/timer.h> 17#include <linux/timer.h>
18#include <linux/init.h> 18#include <linux/init.h>
19#include <linux/serial_core.h>
19#include <linux/platform_device.h> 20#include <linux/platform_device.h>
20#include <linux/dm9000.h> 21#include <linux/dm9000.h>
21 22
diff --git a/arch/arm/mach-s3c2410/mach-h1940.c b/arch/arm/mach-s3c2410/mach-h1940.c
index f5b98099a5d9..15b625eae499 100644
--- a/arch/arm/mach-s3c2410/mach-h1940.c
+++ b/arch/arm/mach-s3c2410/mach-h1940.c
@@ -17,6 +17,7 @@
17#include <linux/list.h> 17#include <linux/list.h>
18#include <linux/timer.h> 18#include <linux/timer.h>
19#include <linux/init.h> 19#include <linux/init.h>
20#include <linux/serial_core.h>
20#include <linux/platform_device.h> 21#include <linux/platform_device.h>
21 22
22#include <asm/mach/arch.h> 23#include <asm/mach/arch.h>
@@ -37,8 +38,6 @@
37#include <asm/arch/h1940-latch.h> 38#include <asm/arch/h1940-latch.h>
38#include <asm/arch/fb.h> 39#include <asm/arch/fb.h>
39 40
40#include <linux/serial_core.h>
41
42#include "clock.h" 41#include "clock.h"
43#include "devs.h" 42#include "devs.h"
44#include "cpu.h" 43#include "cpu.h"
diff --git a/arch/arm/mach-s3c2410/mach-n30.c b/arch/arm/mach-s3c2410/mach-n30.c
index 116ac3169966..0411e9adb54d 100644
--- a/arch/arm/mach-s3c2410/mach-n30.c
+++ b/arch/arm/mach-s3c2410/mach-n30.c
@@ -20,6 +20,7 @@
20#include <linux/timer.h> 20#include <linux/timer.h>
21#include <linux/init.h> 21#include <linux/init.h>
22#include <linux/delay.h> 22#include <linux/delay.h>
23#include <linux/serial_core.h>
23#include <linux/platform_device.h> 24#include <linux/platform_device.h>
24#include <linux/kthread.h> 25#include <linux/kthread.h>
25 26
@@ -37,8 +38,6 @@
37#include <asm/arch/regs-gpio.h> 38#include <asm/arch/regs-gpio.h>
38#include <asm/arch/iic.h> 39#include <asm/arch/iic.h>
39 40
40#include <linux/serial_core.h>
41
42#include "s3c2410.h" 41#include "s3c2410.h"
43#include "clock.h" 42#include "clock.h"
44#include "devs.h" 43#include "devs.h"
diff --git a/arch/arm/mach-s3c2410/mach-nexcoder.c b/arch/arm/mach-s3c2410/mach-nexcoder.c
index 065a1d4e860b..d6dfdad8c90b 100644
--- a/arch/arm/mach-s3c2410/mach-nexcoder.c
+++ b/arch/arm/mach-s3c2410/mach-nexcoder.c
@@ -19,6 +19,7 @@
19#include <linux/timer.h> 19#include <linux/timer.h>
20#include <linux/init.h> 20#include <linux/init.h>
21#include <linux/string.h> 21#include <linux/string.h>
22#include <linux/serial_core.h>
22#include <linux/platform_device.h> 23#include <linux/platform_device.h>
23 24
24#include <linux/mtd/map.h> 25#include <linux/mtd/map.h>
diff --git a/arch/arm/mach-s3c2410/mach-osiris.c b/arch/arm/mach-s3c2410/mach-osiris.c
index a4ab144e7292..37b40850c9b9 100644
--- a/arch/arm/mach-s3c2410/mach-osiris.c
+++ b/arch/arm/mach-s3c2410/mach-osiris.c
@@ -16,6 +16,7 @@
16#include <linux/timer.h> 16#include <linux/timer.h>
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/device.h> 18#include <linux/device.h>
19#include <linux/serial_core.h>
19 20
20#include <asm/mach/arch.h> 21#include <asm/mach/arch.h>
21#include <asm/mach/map.h> 22#include <asm/mach/map.h>
diff --git a/arch/arm/mach-s3c2410/mach-otom.c b/arch/arm/mach-s3c2410/mach-otom.c
index c71673fd9955..2c738b375e4d 100644
--- a/arch/arm/mach-s3c2410/mach-otom.c
+++ b/arch/arm/mach-s3c2410/mach-otom.c
@@ -15,6 +15,7 @@
15#include <linux/list.h> 15#include <linux/list.h>
16#include <linux/timer.h> 16#include <linux/timer.h>
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/serial_core.h>
18#include <linux/platform_device.h> 19#include <linux/platform_device.h>
19 20
20#include <asm/mach/arch.h> 21#include <asm/mach/arch.h>
diff --git a/arch/arm/mach-s3c2410/mach-smdk2410.c b/arch/arm/mach-s3c2410/mach-smdk2410.c
index b3b0171d5052..01c0c986d827 100644
--- a/arch/arm/mach-s3c2410/mach-smdk2410.c
+++ b/arch/arm/mach-s3c2410/mach-smdk2410.c
@@ -35,6 +35,7 @@
35#include <linux/list.h> 35#include <linux/list.h>
36#include <linux/timer.h> 36#include <linux/timer.h>
37#include <linux/init.h> 37#include <linux/init.h>
38#include <linux/serial_core.h>
38#include <linux/platform_device.h> 39#include <linux/platform_device.h>
39 40
40#include <asm/mach/arch.h> 41#include <asm/mach/arch.h>
diff --git a/arch/arm/mach-s3c2410/mach-smdk2413.c b/arch/arm/mach-s3c2410/mach-smdk2413.c
index 3a4ca7f6f7b9..4f89abd7a6df 100644
--- a/arch/arm/mach-s3c2410/mach-smdk2413.c
+++ b/arch/arm/mach-s3c2410/mach-smdk2413.c
@@ -17,6 +17,7 @@
17#include <linux/list.h> 17#include <linux/list.h>
18#include <linux/timer.h> 18#include <linux/timer.h>
19#include <linux/init.h> 19#include <linux/init.h>
20#include <linux/serial_core.h>
20#include <linux/platform_device.h> 21#include <linux/platform_device.h>
21 22
22#include <asm/mach/arch.h> 23#include <asm/mach/arch.h>
diff --git a/arch/arm/mach-s3c2410/mach-smdk2440.c b/arch/arm/mach-s3c2410/mach-smdk2440.c
index e2205ff1b0ee..2b61f4ed1da4 100644
--- a/arch/arm/mach-s3c2410/mach-smdk2440.c
+++ b/arch/arm/mach-s3c2410/mach-smdk2440.c
@@ -19,6 +19,7 @@
19#include <linux/list.h> 19#include <linux/list.h>
20#include <linux/timer.h> 20#include <linux/timer.h>
21#include <linux/init.h> 21#include <linux/init.h>
22#include <linux/serial_core.h>
22#include <linux/platform_device.h> 23#include <linux/platform_device.h>
23 24
24#include <asm/mach/arch.h> 25#include <asm/mach/arch.h>
diff --git a/arch/arm/mach-s3c2410/mach-vr1000.c b/arch/arm/mach-s3c2410/mach-vr1000.c
index e2eda3937ab0..a382fc095110 100644
--- a/arch/arm/mach-s3c2410/mach-vr1000.c
+++ b/arch/arm/mach-s3c2410/mach-vr1000.c
@@ -352,7 +352,7 @@ static struct platform_device vr1000_led2 = {
352 352
353static struct platform_device vr1000_led3 = { 353static struct platform_device vr1000_led3 = {
354 .name = "s3c24xx_led", 354 .name = "s3c24xx_led",
355 .id = 1, 355 .id = 3,
356 .dev = { 356 .dev = {
357 .platform_data = &vr1000_led3_pdata, 357 .platform_data = &vr1000_led3_pdata,
358 }, 358 },
diff --git a/arch/arm/mach-s3c2410/mach-vstms.c b/arch/arm/mach-s3c2410/mach-vstms.c
index ea554e7c006e..0360e1055bcd 100644
--- a/arch/arm/mach-s3c2410/mach-vstms.c
+++ b/arch/arm/mach-s3c2410/mach-vstms.c
@@ -15,6 +15,7 @@
15#include <linux/list.h> 15#include <linux/list.h>
16#include <linux/timer.h> 16#include <linux/timer.h>
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/serial_core.h>
18#include <linux/platform_device.h> 19#include <linux/platform_device.h>
19 20
20#include <linux/mtd/mtd.h> 21#include <linux/mtd/mtd.h>
diff --git a/arch/arm/mach-s3c2410/pm-simtec.c b/arch/arm/mach-s3c2410/pm-simtec.c
index 42cd05e298f8..619133eb7168 100644
--- a/arch/arm/mach-s3c2410/pm-simtec.c
+++ b/arch/arm/mach-s3c2410/pm-simtec.c
@@ -27,7 +27,6 @@
27#include <asm/io.h> 27#include <asm/io.h>
28 28
29#include <asm/arch/map.h> 29#include <asm/arch/map.h>
30#include <asm/arch/regs-serial.h>
31#include <asm/arch/regs-gpio.h> 30#include <asm/arch/regs-gpio.h>
32#include <asm/arch/regs-mem.h> 31#include <asm/arch/regs-mem.h>
33 32
diff --git a/arch/arm/mach-s3c2410/pm.c b/arch/arm/mach-s3c2410/pm.c
index b49a0b3b72b3..00834097eb82 100644
--- a/arch/arm/mach-s3c2410/pm.c
+++ b/arch/arm/mach-s3c2410/pm.c
@@ -34,6 +34,7 @@
34#include <linux/crc32.h> 34#include <linux/crc32.h>
35#include <linux/ioport.h> 35#include <linux/ioport.h>
36#include <linux/delay.h> 36#include <linux/delay.h>
37#include <linux/serial_core.h>
37 38
38#include <asm/cacheflush.h> 39#include <asm/cacheflush.h>
39#include <asm/hardware.h> 40#include <asm/hardware.h>
diff --git a/arch/arm/mach-s3c2410/s3c2410-clock.c b/arch/arm/mach-s3c2410/s3c2410-clock.c
index 00abe199a08e..992cc6af230e 100644
--- a/arch/arm/mach-s3c2410/s3c2410-clock.c
+++ b/arch/arm/mach-s3c2410/s3c2410-clock.c
@@ -30,13 +30,18 @@
30#include <linux/clk.h> 30#include <linux/clk.h>
31#include <linux/mutex.h> 31#include <linux/mutex.h>
32#include <linux/delay.h> 32#include <linux/delay.h>
33#include <linux/serial_core.h>
34
35#include <asm/mach/map.h>
33 36
34#include <asm/hardware.h> 37#include <asm/hardware.h>
35#include <asm/io.h> 38#include <asm/io.h>
36 39
40#include <asm/arch/regs-serial.h>
37#include <asm/arch/regs-clock.h> 41#include <asm/arch/regs-clock.h>
38#include <asm/arch/regs-gpio.h> 42#include <asm/arch/regs-gpio.h>
39 43
44#include "s3c2410.h"
40#include "clock.h" 45#include "clock.h"
41#include "cpu.h" 46#include "cpu.h"
42 47
diff --git a/arch/arm/mach-s3c2410/s3c2410-dma.c b/arch/arm/mach-s3c2410/s3c2410-dma.c
index 51e5098b32e8..e67ba3911f11 100644
--- a/arch/arm/mach-s3c2410/s3c2410-dma.c
+++ b/arch/arm/mach-s3c2410/s3c2410-dma.c
@@ -1,6 +1,6 @@
1/* linux/arch/arm/mach-s3c2410/s3c2410-dma.c 1/* linux/arch/arm/mach-s3c2410/s3c2410-dma.c
2 * 2 *
3 * (c) 2006 Simtec Electronics 3 * Copyright (c) 2006 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 DMA selection 6 * S3C2410 DMA selection
@@ -15,6 +15,7 @@
15#include <linux/kernel.h> 15#include <linux/kernel.h>
16#include <linux/init.h> 16#include <linux/init.h>
17#include <linux/sysdev.h> 17#include <linux/sysdev.h>
18#include <linux/serial_core.h>
18 19
19#include <asm/dma.h> 20#include <asm/dma.h>
20#include <asm/arch/dma.h> 21#include <asm/arch/dma.h>
@@ -131,6 +132,7 @@ static int s3c2410_dma_add(struct sys_device *sysdev)
131 return s3c24xx_dma_init_map(&s3c2410_dma_sel); 132 return s3c24xx_dma_init_map(&s3c2410_dma_sel);
132} 133}
133 134
135#if defined(CONFIG_CPU_S3C2410)
134static struct sysdev_driver s3c2410_dma_driver = { 136static struct sysdev_driver s3c2410_dma_driver = {
135 .add = s3c2410_dma_add, 137 .add = s3c2410_dma_add,
136}; 138};
@@ -141,9 +143,10 @@ static int __init s3c2410_dma_init(void)
141} 143}
142 144
143arch_initcall(s3c2410_dma_init); 145arch_initcall(s3c2410_dma_init);
146#endif
144 147
148#if defined(CONFIG_CPU_S3C2442)
145/* S3C2442 DMA contains the same selection table as the S3C2410 */ 149/* S3C2442 DMA contains the same selection table as the S3C2410 */
146
147static struct sysdev_driver s3c2442_dma_driver = { 150static struct sysdev_driver s3c2442_dma_driver = {
148 .add = s3c2410_dma_add, 151 .add = s3c2410_dma_add,
149}; 152};
@@ -154,5 +157,5 @@ static int __init s3c2442_dma_init(void)
154} 157}
155 158
156arch_initcall(s3c2442_dma_init); 159arch_initcall(s3c2442_dma_init);
157 160#endif
158 161
diff --git a/arch/arm/mach-s3c2410/s3c2410-pm.c b/arch/arm/mach-s3c2410/s3c2410-pm.c
index 77c6814c0f05..8bb6e5e21f59 100644
--- a/arch/arm/mach-s3c2410/s3c2410-pm.c
+++ b/arch/arm/mach-s3c2410/s3c2410-pm.c
@@ -87,7 +87,7 @@ static void s3c2410_pm_prepare(void)
87 87
88} 88}
89 89
90int s3c2410_pm_resume(struct sys_device *dev) 90static int s3c2410_pm_resume(struct sys_device *dev)
91{ 91{
92 unsigned long tmp; 92 unsigned long tmp;
93 93
@@ -111,6 +111,7 @@ static int s3c2410_pm_add(struct sys_device *dev)
111 return 0; 111 return 0;
112} 112}
113 113
114#if defined(CONFIG_CPU_S3C2410)
114static struct sysdev_driver s3c2410_pm_driver = { 115static struct sysdev_driver s3c2410_pm_driver = {
115 .add = s3c2410_pm_add, 116 .add = s3c2410_pm_add,
116 .resume = s3c2410_pm_resume, 117 .resume = s3c2410_pm_resume,
@@ -124,7 +125,9 @@ static int __init s3c2410_pm_drvinit(void)
124} 125}
125 126
126arch_initcall(s3c2410_pm_drvinit); 127arch_initcall(s3c2410_pm_drvinit);
128#endif
127 129
130#if defined(CONFIG_CPU_S3C2440)
128static struct sysdev_driver s3c2440_pm_driver = { 131static struct sysdev_driver s3c2440_pm_driver = {
129 .add = s3c2410_pm_add, 132 .add = s3c2410_pm_add,
130 .resume = s3c2410_pm_resume, 133 .resume = s3c2410_pm_resume,
@@ -136,7 +139,9 @@ static int __init s3c2440_pm_drvinit(void)
136} 139}
137 140
138arch_initcall(s3c2440_pm_drvinit); 141arch_initcall(s3c2440_pm_drvinit);
142#endif
139 143
144#if defined(CONFIG_CPU_S3C2442)
140static struct sysdev_driver s3c2442_pm_driver = { 145static struct sysdev_driver s3c2442_pm_driver = {
141 .add = s3c2410_pm_add, 146 .add = s3c2410_pm_add,
142 .resume = s3c2410_pm_resume, 147 .resume = s3c2410_pm_resume,
@@ -148,3 +153,4 @@ static int __init s3c2442_pm_drvinit(void)
148} 153}
149 154
150arch_initcall(s3c2442_pm_drvinit); 155arch_initcall(s3c2442_pm_drvinit);
156#endif
diff --git a/arch/arm/mach-s3c2410/s3c2410.c b/arch/arm/mach-s3c2410/s3c2410.c
index 183e4033ce61..4cdc0d70c19f 100644
--- a/arch/arm/mach-s3c2410/s3c2410.c
+++ b/arch/arm/mach-s3c2410/s3c2410.c
@@ -17,6 +17,7 @@
17#include <linux/timer.h> 17#include <linux/timer.h>
18#include <linux/init.h> 18#include <linux/init.h>
19#include <linux/sysdev.h> 19#include <linux/sysdev.h>
20#include <linux/serial_core.h>
20#include <linux/platform_device.h> 21#include <linux/platform_device.h>
21 22
22#include <asm/mach/arch.h> 23#include <asm/mach/arch.h>
@@ -38,11 +39,9 @@
38/* Initial IO mappings */ 39/* Initial IO mappings */
39 40
40static struct map_desc s3c2410_iodesc[] __initdata = { 41static struct map_desc s3c2410_iodesc[] __initdata = {
41 IODESC_ENT(USBHOST),
42 IODESC_ENT(CLKPWR), 42 IODESC_ENT(CLKPWR),
43 IODESC_ENT(LCD), 43 IODESC_ENT(LCD),
44 IODESC_ENT(TIMER), 44 IODESC_ENT(TIMER),
45 IODESC_ENT(ADC),
46 IODESC_ENT(WATCHDOG), 45 IODESC_ENT(WATCHDOG),
47}; 46};
48 47
diff --git a/arch/arm/mach-s3c2410/s3c2412-clock.c b/arch/arm/mach-s3c2410/s3c2412-clock.c
index c95ed3e18580..8f94ad83901d 100644
--- a/arch/arm/mach-s3c2410/s3c2412-clock.c
+++ b/arch/arm/mach-s3c2410/s3c2412-clock.c
@@ -30,13 +30,18 @@
30#include <linux/clk.h> 30#include <linux/clk.h>
31#include <linux/mutex.h> 31#include <linux/mutex.h>
32#include <linux/delay.h> 32#include <linux/delay.h>
33#include <linux/serial_core.h>
34
35#include <asm/mach/map.h>
33 36
34#include <asm/hardware.h> 37#include <asm/hardware.h>
35#include <asm/io.h> 38#include <asm/io.h>
36 39
40#include <asm/arch/regs-serial.h>
37#include <asm/arch/regs-clock.h> 41#include <asm/arch/regs-clock.h>
38#include <asm/arch/regs-gpio.h> 42#include <asm/arch/regs-gpio.h>
39 43
44#include "s3c2412.h"
40#include "clock.h" 45#include "clock.h"
41#include "cpu.h" 46#include "cpu.h"
42 47
@@ -49,7 +54,7 @@
49 * set the correct muxing at initialisation 54 * set the correct muxing at initialisation
50*/ 55*/
51 56
52int s3c2412_clkcon_enable(struct clk *clk, int enable) 57static int s3c2412_clkcon_enable(struct clk *clk, int enable)
53{ 58{
54 unsigned int clocks = clk->ctrlbit; 59 unsigned int clocks = clk->ctrlbit;
55 unsigned long clkcon; 60 unsigned long clkcon;
@@ -556,7 +561,7 @@ struct clk_init {
556 struct clk *src_1; 561 struct clk *src_1;
557}; 562};
558 563
559struct clk_init clks_src[] __initdata = { 564static struct clk_init clks_src[] __initdata = {
560 { 565 {
561 .clk = &clk_usysclk, 566 .clk = &clk_usysclk,
562 .bit = S3C2412_CLKSRC_USBCLK_HCLK, 567 .bit = S3C2412_CLKSRC_USBCLK_HCLK,
@@ -619,7 +624,7 @@ static void __init s3c2412_clk_initparents(void)
619 624
620/* clocks to add straight away */ 625/* clocks to add straight away */
621 626
622struct clk *clks[] __initdata = { 627static struct clk *clks[] __initdata = {
623 &clk_ext, 628 &clk_ext,
624 &clk_usb_bus, 629 &clk_usb_bus,
625 &clk_erefclk, 630 &clk_erefclk,
diff --git a/arch/arm/mach-s3c2410/s3c2412-dma.c b/arch/arm/mach-s3c2410/s3c2412-dma.c
index 171f3706d36d..fe71a8fdb87c 100644
--- a/arch/arm/mach-s3c2410/s3c2412-dma.c
+++ b/arch/arm/mach-s3c2410/s3c2412-dma.c
@@ -1,6 +1,6 @@
1/* linux/arch/arm/mach-s3c2410/s3c2412-dma.c 1/* linux/arch/arm/mach-s3c2410/s3c2412-dma.c
2 * 2 *
3 * (c) 2006 Simtec Electronics 3 * Copyright (c) 2006 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2412 DMA selection 6 * S3C2412 DMA selection
@@ -15,6 +15,7 @@
15#include <linux/kernel.h> 15#include <linux/kernel.h>
16#include <linux/init.h> 16#include <linux/init.h>
17#include <linux/sysdev.h> 17#include <linux/sysdev.h>
18#include <linux/serial_core.h>
18 19
19#include <asm/dma.h> 20#include <asm/dma.h>
20#include <asm/arch/dma.h> 21#include <asm/arch/dma.h>
diff --git a/arch/arm/mach-s3c2410/s3c2412.c b/arch/arm/mach-s3c2410/s3c2412.c
index e76431c41461..2f651a811ecd 100644
--- a/arch/arm/mach-s3c2410/s3c2412.c
+++ b/arch/arm/mach-s3c2410/s3c2412.c
@@ -17,6 +17,7 @@
17#include <linux/timer.h> 17#include <linux/timer.h>
18#include <linux/init.h> 18#include <linux/init.h>
19#include <linux/sysdev.h> 19#include <linux/sysdev.h>
20#include <linux/serial_core.h>
20#include <linux/platform_device.h> 21#include <linux/platform_device.h>
21 22
22#include <asm/mach/arch.h> 23#include <asm/mach/arch.h>
@@ -60,7 +61,6 @@ static struct map_desc s3c2412_iodesc[] __initdata = {
60 IODESC_ENT(CLKPWR), 61 IODESC_ENT(CLKPWR),
61 IODESC_ENT(LCD), 62 IODESC_ENT(LCD),
62 IODESC_ENT(TIMER), 63 IODESC_ENT(TIMER),
63 IODESC_ENT(ADC),
64 IODESC_ENT(WATCHDOG), 64 IODESC_ENT(WATCHDOG),
65}; 65};
66 66
diff --git a/arch/arm/mach-s3c2410/s3c2440-clock.c b/arch/arm/mach-s3c2410/s3c2440-clock.c
index 15796864d010..ba13c1d079d1 100644
--- a/arch/arm/mach-s3c2410/s3c2440-clock.c
+++ b/arch/arm/mach-s3c2410/s3c2440-clock.c
@@ -113,18 +113,18 @@ static int s3c2440_clk_add(struct sys_device *sysdev)
113{ 113{
114 unsigned long camdivn = __raw_readl(S3C2440_CAMDIVN); 114 unsigned long camdivn = __raw_readl(S3C2440_CAMDIVN);
115 unsigned long clkdivn; 115 unsigned long clkdivn;
116 struct clk *clk_h; 116 struct clk *clock_h;
117 struct clk *clk_p; 117 struct clk *clock_p;
118 struct clk *clk_upll; 118 struct clk *clock_upll;
119 119
120 printk("S3C2440: Clock Support, DVS %s\n", 120 printk("S3C2440: Clock Support, DVS %s\n",
121 (camdivn & S3C2440_CAMDIVN_DVSEN) ? "on" : "off"); 121 (camdivn & S3C2440_CAMDIVN_DVSEN) ? "on" : "off");
122 122
123 clk_p = clk_get(NULL, "pclk"); 123 clock_p = clk_get(NULL, "pclk");
124 clk_h = clk_get(NULL, "hclk"); 124 clock_h = clk_get(NULL, "hclk");
125 clk_upll = clk_get(NULL, "upll"); 125 clock_upll = clk_get(NULL, "upll");
126 126
127 if (IS_ERR(clk_p) || IS_ERR(clk_h) || IS_ERR(clk_upll)) { 127 if (IS_ERR(clock_p) || IS_ERR(clock_h) || IS_ERR(clock_upll)) {
128 printk(KERN_ERR "S3C2440: Failed to get parent clocks\n"); 128 printk(KERN_ERR "S3C2440: Failed to get parent clocks\n");
129 return -EINVAL; 129 return -EINVAL;
130 } 130 }
@@ -132,8 +132,8 @@ static int s3c2440_clk_add(struct sys_device *sysdev)
132 /* check rate of UPLL, and if it is near 96MHz, then change 132 /* check rate of UPLL, and if it is near 96MHz, then change
133 * to using half the UPLL rate for the system */ 133 * to using half the UPLL rate for the system */
134 134
135 if (clk_get_rate(clk_upll) > (94 * MHZ)) { 135 if (clk_get_rate(clock_upll) > (94 * MHZ)) {
136 clk_usb_bus.rate = clk_get_rate(clk_upll) / 2; 136 clk_usb_bus.rate = clk_get_rate(clock_upll) / 2;
137 137
138 mutex_lock(&clocks_mutex); 138 mutex_lock(&clocks_mutex);
139 139
@@ -144,9 +144,9 @@ static int s3c2440_clk_add(struct sys_device *sysdev)
144 mutex_unlock(&clocks_mutex); 144 mutex_unlock(&clocks_mutex);
145 } 145 }
146 146
147 s3c2440_clk_cam.parent = clk_h; 147 s3c2440_clk_cam.parent = clock_h;
148 s3c2440_clk_ac97.parent = clk_p; 148 s3c2440_clk_ac97.parent = clock_p;
149 s3c2440_clk_cam_upll.parent = clk_upll; 149 s3c2440_clk_cam_upll.parent = clock_upll;
150 150
151 s3c24xx_register_clock(&s3c2440_clk_ac97); 151 s3c24xx_register_clock(&s3c2440_clk_ac97);
152 s3c24xx_register_clock(&s3c2440_clk_cam); 152 s3c24xx_register_clock(&s3c2440_clk_cam);
diff --git a/arch/arm/mach-s3c2410/s3c2440-dma.c b/arch/arm/mach-s3c2410/s3c2440-dma.c
index 11e109c84a15..47b861b9443d 100644
--- a/arch/arm/mach-s3c2410/s3c2440-dma.c
+++ b/arch/arm/mach-s3c2410/s3c2440-dma.c
@@ -1,6 +1,6 @@
1/* linux/arch/arm/mach-s3c2410/s3c2440-dma.c 1/* linux/arch/arm/mach-s3c2410/s3c2440-dma.c
2 * 2 *
3 * (c) 2006 Simtec Electronics 3 * Copyright (c) 2006 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2440 DMA selection 6 * S3C2440 DMA selection
@@ -15,6 +15,7 @@
15#include <linux/kernel.h> 15#include <linux/kernel.h>
16#include <linux/init.h> 16#include <linux/init.h>
17#include <linux/sysdev.h> 17#include <linux/sysdev.h>
18#include <linux/serial_core.h>
18 19
19#include <asm/dma.h> 20#include <asm/dma.h>
20#include <asm/arch/dma.h> 21#include <asm/arch/dma.h>
diff --git a/arch/arm/mach-s3c2410/s3c2440.c b/arch/arm/mach-s3c2410/s3c2440.c
index 0ab50f44f318..344eb27cca48 100644
--- a/arch/arm/mach-s3c2410/s3c2440.c
+++ b/arch/arm/mach-s3c2410/s3c2440.c
@@ -17,6 +17,7 @@
17#include <linux/timer.h> 17#include <linux/timer.h>
18#include <linux/init.h> 18#include <linux/init.h>
19#include <linux/platform_device.h> 19#include <linux/platform_device.h>
20#include <linux/serial_core.h>
20#include <linux/sysdev.h> 21#include <linux/sysdev.h>
21#include <linux/clk.h> 22#include <linux/clk.h>
22 23
@@ -28,17 +29,9 @@
28#include <asm/io.h> 29#include <asm/io.h>
29#include <asm/irq.h> 30#include <asm/irq.h>
30 31
31#include <asm/arch/regs-clock.h>
32#include <asm/arch/regs-serial.h>
33#include <asm/arch/regs-gpio.h>
34#include <asm/arch/regs-gpioj.h>
35#include <asm/arch/regs-dsc.h>
36
37#include "s3c2440.h" 32#include "s3c2440.h"
38#include "clock.h"
39#include "devs.h" 33#include "devs.h"
40#include "cpu.h" 34#include "cpu.h"
41#include "pm.h"
42 35
43static struct sys_device s3c2440_sysdev = { 36static struct sys_device s3c2440_sysdev = {
44 .cls = &s3c2440_sysclass, 37 .cls = &s3c2440_sysclass,
diff --git a/arch/arm/mach-s3c2410/s3c2440.h b/arch/arm/mach-s3c2410/s3c2440.h
index 29cb6df65a48..dcd316076c59 100644
--- a/arch/arm/mach-s3c2410/s3c2440.h
+++ b/arch/arm/mach-s3c2410/s3c2440.h
@@ -8,28 +8,10 @@
8 * This program is free software; you can redistribute it and/or modify 8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as 9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation. 10 * published by the Free Software Foundation.
11 *
12 * Modifications:
13 * 24-Aug-2004 BJD Start of S3C2440 CPU support
14 * 04-Nov-2004 BJD Added s3c2440_init_uarts()
15 * 04-Jan-2005 BJD Moved uart init to cpu code
16 * 10-Jan-2005 BJD Moved 2440 specific init here
17 * 14-Jan-2005 BJD Split the clock initialisation code
18*/ 11*/
19 12
20#ifdef CONFIG_CPU_S3C2440 13#ifdef CONFIG_CPU_S3C2440
21
22extern int s3c2440_init(void); 14extern int s3c2440_init(void);
23
24extern void s3c2440_map_io(struct map_desc *mach_desc, int size);
25
26extern void s3c2440_init_uarts(struct s3c2410_uartcfg *cfg, int no);
27
28extern void s3c2440_init_clocks(int xtal);
29
30#else 15#else
31#define s3c2440_init_clocks NULL
32#define s3c2440_init_uarts NULL
33#define s3c2440_map_io NULL
34#define s3c2440_init NULL 16#define s3c2440_init NULL
35#endif 17#endif
diff --git a/arch/arm/mach-s3c2410/s3c2442-clock.c b/arch/arm/mach-s3c2410/s3c2442-clock.c
index d9f54b5cab7f..4e292ca7c9be 100644
--- a/arch/arm/mach-s3c2410/s3c2442-clock.c
+++ b/arch/arm/mach-s3c2410/s3c2442-clock.c
@@ -117,18 +117,18 @@ static int s3c2442_clk_add(struct sys_device *sysdev)
117{ 117{
118 unsigned long camdivn = __raw_readl(S3C2440_CAMDIVN); 118 unsigned long camdivn = __raw_readl(S3C2440_CAMDIVN);
119 unsigned long clkdivn; 119 unsigned long clkdivn;
120 struct clk *clk_h; 120 struct clk *clock_h;
121 struct clk *clk_p; 121 struct clk *clock_p;
122 struct clk *clk_upll; 122 struct clk *clock_upll;
123 123
124 printk("S3C2442: Clock Support, DVS %s\n", 124 printk("S3C2442: Clock Support, DVS %s\n",
125 (camdivn & S3C2440_CAMDIVN_DVSEN) ? "on" : "off"); 125 (camdivn & S3C2440_CAMDIVN_DVSEN) ? "on" : "off");
126 126
127 clk_p = clk_get(NULL, "pclk"); 127 clock_p = clk_get(NULL, "pclk");
128 clk_h = clk_get(NULL, "hclk"); 128 clock_h = clk_get(NULL, "hclk");
129 clk_upll = clk_get(NULL, "upll"); 129 clock_upll = clk_get(NULL, "upll");
130 130
131 if (IS_ERR(clk_p) || IS_ERR(clk_h) || IS_ERR(clk_upll)) { 131 if (IS_ERR(clock_p) || IS_ERR(clock_h) || IS_ERR(clock_upll)) {
132 printk(KERN_ERR "S3C2442: Failed to get parent clocks\n"); 132 printk(KERN_ERR "S3C2442: Failed to get parent clocks\n");
133 return -EINVAL; 133 return -EINVAL;
134 } 134 }
@@ -136,8 +136,8 @@ static int s3c2442_clk_add(struct sys_device *sysdev)
136 /* check rate of UPLL, and if it is near 96MHz, then change 136 /* check rate of UPLL, and if it is near 96MHz, then change
137 * to using half the UPLL rate for the system */ 137 * to using half the UPLL rate for the system */
138 138
139 if (clk_get_rate(clk_upll) > (94 * MHZ)) { 139 if (clk_get_rate(clock_upll) > (94 * MHZ)) {
140 clk_usb_bus.rate = clk_get_rate(clk_upll) / 2; 140 clk_usb_bus.rate = clk_get_rate(clock_upll) / 2;
141 141
142 mutex_lock(&clocks_mutex); 142 mutex_lock(&clocks_mutex);
143 143
@@ -148,8 +148,8 @@ static int s3c2442_clk_add(struct sys_device *sysdev)
148 mutex_unlock(&clocks_mutex); 148 mutex_unlock(&clocks_mutex);
149 } 149 }
150 150
151 s3c2442_clk_cam.parent = clk_h; 151 s3c2442_clk_cam.parent = clock_h;
152 s3c2442_clk_cam_upll.parent = clk_upll; 152 s3c2442_clk_cam_upll.parent = clock_upll;
153 153
154 s3c24xx_register_clock(&s3c2442_clk_cam); 154 s3c24xx_register_clock(&s3c2442_clk_cam);
155 s3c24xx_register_clock(&s3c2442_clk_cam_upll); 155 s3c24xx_register_clock(&s3c2442_clk_cam_upll);
diff --git a/arch/arm/mach-s3c2410/s3c2442.c b/arch/arm/mach-s3c2410/s3c2442.c
index 581667efd13c..428732ee68c4 100644
--- a/arch/arm/mach-s3c2410/s3c2442.c
+++ b/arch/arm/mach-s3c2410/s3c2442.c
@@ -16,29 +16,11 @@
16#include <linux/list.h> 16#include <linux/list.h>
17#include <linux/timer.h> 17#include <linux/timer.h>
18#include <linux/init.h> 18#include <linux/init.h>
19#include <linux/platform_device.h> 19#include <linux/serial_core.h>
20#include <linux/sysdev.h> 20#include <linux/sysdev.h>
21#include <linux/clk.h>
22
23#include <asm/mach/arch.h>
24#include <asm/mach/map.h>
25#include <asm/mach/irq.h>
26
27#include <asm/hardware.h>
28#include <asm/io.h>
29#include <asm/irq.h>
30
31#include <asm/arch/regs-clock.h>
32#include <asm/arch/regs-serial.h>
33#include <asm/arch/regs-gpio.h>
34#include <asm/arch/regs-gpioj.h>
35#include <asm/arch/regs-dsc.h>
36 21
37#include "s3c2442.h" 22#include "s3c2442.h"
38#include "clock.h"
39#include "devs.h"
40#include "cpu.h" 23#include "cpu.h"
41#include "pm.h"
42 24
43static struct sys_device s3c2442_sysdev = { 25static struct sys_device s3c2442_sysdev = {
44 .cls = &s3c2442_sysclass, 26 .cls = &s3c2442_sysclass,
diff --git a/arch/arm/mach-s3c2410/s3c244x.c b/arch/arm/mach-s3c2410/s3c244x.c
index 9a2258270de9..23c7494ad10d 100644
--- a/arch/arm/mach-s3c2410/s3c244x.c
+++ b/arch/arm/mach-s3c2410/s3c244x.c
@@ -16,6 +16,7 @@
16#include <linux/list.h> 16#include <linux/list.h>
17#include <linux/timer.h> 17#include <linux/timer.h>
18#include <linux/init.h> 18#include <linux/init.h>
19#include <linux/serial_core.h>
19#include <linux/platform_device.h> 20#include <linux/platform_device.h>
20#include <linux/sysdev.h> 21#include <linux/sysdev.h>
21#include <linux/clk.h> 22#include <linux/clk.h>
@@ -47,8 +48,6 @@ static struct map_desc s3c244x_iodesc[] __initdata = {
47 IODESC_ENT(TIMER), 48 IODESC_ENT(TIMER),
48 IODESC_ENT(WATCHDOG), 49 IODESC_ENT(WATCHDOG),
49 IODESC_ENT(LCD), 50 IODESC_ENT(LCD),
50 IODESC_ENT(ADC),
51 IODESC_ENT(USBHOST),
52}; 51};
53 52
54/* uart initialisation */ 53/* uart initialisation */
diff --git a/arch/arm/mach-s3c2410/usb-simtec.h b/arch/arm/mach-s3c2410/usb-simtec.h
index d8aa6127dedb..03842ede9e71 100644
--- a/arch/arm/mach-s3c2410/usb-simtec.h
+++ b/arch/arm/mach-s3c2410/usb-simtec.h
@@ -10,9 +10,6 @@
10 * This program is free software; you can redistribute it and/or modify 10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as 11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation. 12 * published by the Free Software Foundation.
13 *
14 * Modifications:
15 * 20-Aug-2004 BJD Created
16*/ 13*/
17 14
18extern int usb_simtec_init(void); 15extern int usb_simtec_init(void);
diff --git a/arch/arm/mach-sa1100/jornada720.c b/arch/arm/mach-sa1100/jornada720.c
index 17f5a43acdb7..54ecdaa373d6 100644
--- a/arch/arm/mach-sa1100/jornada720.c
+++ b/arch/arm/mach-sa1100/jornada720.c
@@ -1,5 +1,15 @@
1/* 1/*
2 * linux/arch/arm/mach-sa1100/jornada720.c 2 * linux/arch/arm/mach-sa1100/jornada720.c
3 *
4 * HP Jornada720 init code
5 *
6 * Copyright (C) 2006 Filip Zyzniewski <filip.zyzniewski@tefnet.pl>
7 * Copyright (C) 2005 Michael Gernoth <michael@gernoth.net>
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 2 as
11 * published by the Free Software Foundation.
12 *
3 */ 13 */
4 14
5#include <linux/init.h> 15#include <linux/init.h>
@@ -10,13 +20,13 @@
10#include <linux/ioport.h> 20#include <linux/ioport.h>
11#include <linux/mtd/mtd.h> 21#include <linux/mtd/mtd.h>
12#include <linux/mtd/partitions.h> 22#include <linux/mtd/partitions.h>
23#include <video/s1d13xxxfb.h>
13 24
14#include <asm/hardware.h> 25#include <asm/hardware.h>
15#include <asm/hardware/sa1111.h> 26#include <asm/hardware/sa1111.h>
16#include <asm/irq.h> 27#include <asm/irq.h>
17#include <asm/mach-types.h> 28#include <asm/mach-types.h>
18#include <asm/setup.h> 29#include <asm/setup.h>
19
20#include <asm/mach/arch.h> 30#include <asm/mach/arch.h>
21#include <asm/mach/flash.h> 31#include <asm/mach/flash.h>
22#include <asm/mach/map.h> 32#include <asm/mach/map.h>
@@ -24,13 +34,170 @@
24 34
25#include "generic.h" 35#include "generic.h"
26 36
37/*
38 * HP Documentation referred in this file:
39 * http://www.jlime.com/downloads/development/docs/jornada7xx/jornada720.txt
40 */
41
42/* line 110 of HP's doc */
43#define TUCR_VAL 0x20000400
44
45/* memory space (line 52 of HP's doc) */
46#define SA1111REGSTART 0x40000000
47#define SA1111REGLEN 0x00001fff
48#define EPSONREGSTART 0x48000000
49#define EPSONREGLEN 0x00100000
50#define EPSONFBSTART 0x48200000
51/* 512kB framebuffer */
52#define EPSONFBLEN 512*1024
53
54static struct s1d13xxxfb_regval s1d13xxxfb_initregs[] = {
55 /* line 344 of HP's doc */
56 {0x0001,0x00}, // Miscellaneous Register
57 {0x01FC,0x00}, // Display Mode Register
58 {0x0004,0x00}, // General IO Pins Configuration Register 0
59 {0x0005,0x00}, // General IO Pins Configuration Register 1
60 {0x0008,0x00}, // General IO Pins Control Register 0
61 {0x0009,0x00}, // General IO Pins Control Register 1
62 {0x0010,0x01}, // Memory Clock Configuration Register
63 {0x0014,0x11}, // LCD Pixel Clock Configuration Register
64 {0x0018,0x01}, // CRT/TV Pixel Clock Configuration Register
65 {0x001C,0x01}, // MediaPlug Clock Configuration Register
66 {0x001E,0x01}, // CPU To Memory Wait State Select Register
67 {0x0020,0x00}, // Memory Configuration Register
68 {0x0021,0x45}, // DRAM Refresh Rate Register
69 {0x002A,0x01}, // DRAM Timings Control Register 0
70 {0x002B,0x03}, // DRAM Timings Control Register 1
71 {0x0030,0x1c}, // Panel Type Register
72 {0x0031,0x00}, // MOD Rate Register
73 {0x0032,0x4F}, // LCD Horizontal Display Width Register
74 {0x0034,0x07}, // LCD Horizontal Non-Display Period Register
75 {0x0035,0x01}, // TFT FPLINE Start Position Register
76 {0x0036,0x0B}, // TFT FPLINE Pulse Width Register
77 {0x0038,0xEF}, // LCD Vertical Display Height Register 0
78 {0x0039,0x00}, // LCD Vertical Display Height Register 1
79 {0x003A,0x13}, // LCD Vertical Non-Display Period Register
80 {0x003B,0x0B}, // TFT FPFRAME Start Position Register
81 {0x003C,0x01}, // TFT FPFRAME Pulse Width Register
82 {0x0040,0x05}, // LCD Display Mode Register (2:4bpp,3:8bpp,5:16bpp)
83 {0x0041,0x00}, // LCD Miscellaneous Register
84 {0x0042,0x00}, // LCD Display Start Address Register 0
85 {0x0043,0x00}, // LCD Display Start Address Register 1
86 {0x0044,0x00}, // LCD Display Start Address Register 2
87 {0x0046,0x80}, // LCD Memory Address Offset Register 0
88 {0x0047,0x02}, // LCD Memory Address Offset Register 1
89 {0x0048,0x00}, // LCD Pixel Panning Register
90 {0x004A,0x00}, // LCD Display FIFO High Threshold Control Register
91 {0x004B,0x00}, // LCD Display FIFO Low Threshold Control Register
92 {0x0050,0x4F}, // CRT/TV Horizontal Display Width Register
93 {0x0052,0x13}, // CRT/TV Horizontal Non-Display Period Register
94 {0x0053,0x01}, // CRT/TV HRTC Start Position Register
95 {0x0054,0x0B}, // CRT/TV HRTC Pulse Width Register
96 {0x0056,0xDF}, // CRT/TV Vertical Display Height Register 0
97 {0x0057,0x01}, // CRT/TV Vertical Display Height Register 1
98 {0x0058,0x2B}, // CRT/TV Vertical Non-Display Period Register
99 {0x0059,0x09}, // CRT/TV VRTC Start Position Register
100 {0x005A,0x01}, // CRT/TV VRTC Pulse Width Register
101 {0x005B,0x10}, // TV Output Control Register
102 {0x0060,0x03}, // CRT/TV Display Mode Register (2:4bpp,3:8bpp,5:16bpp)
103 {0x0062,0x00}, // CRT/TV Display Start Address Register 0
104 {0x0063,0x00}, // CRT/TV Display Start Address Register 1
105 {0x0064,0x00}, // CRT/TV Display Start Address Register 2
106 {0x0066,0x40}, // CRT/TV Memory Address Offset Register 0
107 {0x0067,0x01}, // CRT/TV Memory Address Offset Register 1
108 {0x0068,0x00}, // CRT/TV Pixel Panning Register
109 {0x006A,0x00}, // CRT/TV Display FIFO High Threshold Control Register
110 {0x006B,0x00}, // CRT/TV Display FIFO Low Threshold Control Register
111 {0x0070,0x00}, // LCD Ink/Cursor Control Register
112 {0x0071,0x01}, // LCD Ink/Cursor Start Address Register
113 {0x0072,0x00}, // LCD Cursor X Position Register 0
114 {0x0073,0x00}, // LCD Cursor X Position Register 1
115 {0x0074,0x00}, // LCD Cursor Y Position Register 0
116 {0x0075,0x00}, // LCD Cursor Y Position Register 1
117 {0x0076,0x00}, // LCD Ink/Cursor Blue Color 0 Register
118 {0x0077,0x00}, // LCD Ink/Cursor Green Color 0 Register
119 {0x0078,0x00}, // LCD Ink/Cursor Red Color 0 Register
120 {0x007A,0x1F}, // LCD Ink/Cursor Blue Color 1 Register
121 {0x007B,0x3F}, // LCD Ink/Cursor Green Color 1 Register
122 {0x007C,0x1F}, // LCD Ink/Cursor Red Color 1 Register
123 {0x007E,0x00}, // LCD Ink/Cursor FIFO Threshold Register
124 {0x0080,0x00}, // CRT/TV Ink/Cursor Control Register
125 {0x0081,0x01}, // CRT/TV Ink/Cursor Start Address Register
126 {0x0082,0x00}, // CRT/TV Cursor X Position Register 0
127 {0x0083,0x00}, // CRT/TV Cursor X Position Register 1
128 {0x0084,0x00}, // CRT/TV Cursor Y Position Register 0
129 {0x0085,0x00}, // CRT/TV Cursor Y Position Register 1
130 {0x0086,0x00}, // CRT/TV Ink/Cursor Blue Color 0 Register
131 {0x0087,0x00}, // CRT/TV Ink/Cursor Green Color 0 Register
132 {0x0088,0x00}, // CRT/TV Ink/Cursor Red Color 0 Register
133 {0x008A,0x1F}, // CRT/TV Ink/Cursor Blue Color 1 Register
134 {0x008B,0x3F}, // CRT/TV Ink/Cursor Green Color 1 Register
135 {0x008C,0x1F}, // CRT/TV Ink/Cursor Red Color 1 Register
136 {0x008E,0x00}, // CRT/TV Ink/Cursor FIFO Threshold Register
137 {0x0100,0x00}, // BitBlt Control Register 0
138 {0x0101,0x00}, // BitBlt Control Register 1
139 {0x0102,0x00}, // BitBlt ROP Code/Color Expansion Register
140 {0x0103,0x00}, // BitBlt Operation Register
141 {0x0104,0x00}, // BitBlt Source Start Address Register 0
142 {0x0105,0x00}, // BitBlt Source Start Address Register 1
143 {0x0106,0x00}, // BitBlt Source Start Address Register 2
144 {0x0108,0x00}, // BitBlt Destination Start Address Register 0
145 {0x0109,0x00}, // BitBlt Destination Start Address Register 1
146 {0x010A,0x00}, // BitBlt Destination Start Address Register 2
147 {0x010C,0x00}, // BitBlt Memory Address Offset Register 0
148 {0x010D,0x00}, // BitBlt Memory Address Offset Register 1
149 {0x0110,0x00}, // BitBlt Width Register 0
150 {0x0111,0x00}, // BitBlt Width Register 1
151 {0x0112,0x00}, // BitBlt Height Register 0
152 {0x0113,0x00}, // BitBlt Height Register 1
153 {0x0114,0x00}, // BitBlt Background Color Register 0
154 {0x0115,0x00}, // BitBlt Background Color Register 1
155 {0x0118,0x00}, // BitBlt Foreground Color Register 0
156 {0x0119,0x00}, // BitBlt Foreground Color Register 1
157 {0x01E0,0x00}, // Look-Up Table Mode Register
158 {0x01E2,0x00}, // Look-Up Table Address Register
159 /* not sure, wouldn't like to mess with the driver */
160 {0x01E4,0x00}, // Look-Up Table Data Register
161 /* jornada doc says 0x00, but I trust the driver */
162 {0x01F0,0x10}, // Power Save Configuration Register
163 {0x01F1,0x00}, // Power Save Status Register
164 {0x01F4,0x00}, // CPU-to-Memory Access Watchdog Timer Register
165 {0x01FC,0x01}, // Display Mode Register(0x01:LCD, 0x02:CRT, 0x03:LCD&CRT)
166};
167
168static struct s1d13xxxfb_pdata s1d13xxxfb_data = {
169 .initregs = s1d13xxxfb_initregs,
170 .initregssize = ARRAY_SIZE(s1d13xxxfb_initregs),
171 .platform_init_video = NULL
172};
27 173
28#define JORTUCR_VAL 0x20000400 174static struct resource s1d13xxxfb_resources[] = {
175 [0] = {
176 .start = EPSONFBSTART,
177 .end = EPSONFBSTART + EPSONFBLEN,
178 .flags = IORESOURCE_MEM,
179 },
180 [1] = {
181 .start = EPSONREGSTART,
182 .end = EPSONREGSTART + EPSONREGLEN,
183 .flags = IORESOURCE_MEM,
184 }
185};
186
187static struct platform_device s1d13xxxfb_device = {
188 .name = S1D_DEVICENAME,
189 .id = 0,
190 .dev = {
191 .platform_data = &s1d13xxxfb_data,
192 },
193 .num_resources = ARRAY_SIZE(s1d13xxxfb_resources),
194 .resource = s1d13xxxfb_resources,
195};
29 196
30static struct resource sa1111_resources[] = { 197static struct resource sa1111_resources[] = {
31 [0] = { 198 [0] = {
32 .start = 0x40000000, 199 .start = SA1111REGSTART,
33 .end = 0x40001fff, 200 .end = SA1111REGSTART + SA1111REGLEN,
34 .flags = IORESOURCE_MEM, 201 .flags = IORESOURCE_MEM,
35 }, 202 },
36 [1] = { 203 [1] = {
@@ -53,18 +220,32 @@ static struct platform_device sa1111_device = {
53 .resource = sa1111_resources, 220 .resource = sa1111_resources,
54}; 221};
55 222
223static struct platform_device jornada720_mcu_device = {
224 .name = "jornada720_mcu",
225 .id = -1,
226};
227
56static struct platform_device *devices[] __initdata = { 228static struct platform_device *devices[] __initdata = {
57 &sa1111_device, 229 &sa1111_device,
230 &jornada720_mcu_device,
231 &s1d13xxxfb_device,
58}; 232};
59 233
234/* a stub for now, we theoretically cannot suspend without a flashboard */
235int pm_suspend(suspend_state_t state)
236{
237 return -1;
238}
239
60static int __init jornada720_init(void) 240static int __init jornada720_init(void)
61{ 241{
62 int ret = -ENODEV; 242 int ret = -ENODEV;
63 243
64 if (machine_is_jornada720()) { 244 if (machine_is_jornada720()) {
65 GPDR |= GPIO_GPIO20; 245 GPDR |= GPIO_GPIO20;
66 TUCR = JORTUCR_VAL; /* set the oscillator out to the SA-1101 */ 246 /* oscillator setup (line 116 of HP's doc) */
67 247 TUCR = TUCR_VAL;
248 /* resetting SA1111 (line 118 of HP's doc) */
68 GPSR = GPIO_GPIO20; 249 GPSR = GPIO_GPIO20;
69 udelay(1); 250 udelay(1);
70 GPCR = GPIO_GPIO20; 251 GPCR = GPIO_GPIO20;
@@ -72,10 +253,6 @@ static int __init jornada720_init(void)
72 GPSR = GPIO_GPIO20; 253 GPSR = GPIO_GPIO20;
73 udelay(20); 254 udelay(20);
74 255
75 /* LDD4 is speaker, LDD3 is microphone */
76 PPSR &= ~(PPC_LDD3 | PPC_LDD4);
77 PPDR |= PPC_LDD3 | PPC_LDD4;
78
79 ret = platform_add_devices(devices, ARRAY_SIZE(devices)); 256 ret = platform_add_devices(devices, ARRAY_SIZE(devices));
80 } 257 }
81 return ret; 258 return ret;
@@ -85,19 +262,19 @@ arch_initcall(jornada720_init);
85 262
86static struct map_desc jornada720_io_desc[] __initdata = { 263static struct map_desc jornada720_io_desc[] __initdata = {
87 { /* Epson registers */ 264 { /* Epson registers */
88 .virtual = 0xf0000000, 265 .virtual = 0xf0000000,
89 .pfn = __phys_to_pfn(0x48000000), 266 .pfn = __phys_to_pfn(EPSONREGSTART),
90 .length = 0x00100000, 267 .length = EPSONREGLEN,
91 .type = MT_DEVICE 268 .type = MT_DEVICE
92 }, { /* Epson frame buffer */ 269 }, { /* Epson frame buffer */
93 .virtual = 0xf1000000, 270 .virtual = 0xf1000000,
94 .pfn = __phys_to_pfn(0x48200000), 271 .pfn = __phys_to_pfn(EPSONFBSTART),
95 .length = 0x00100000, 272 .length = EPSONFBLEN,
96 .type = MT_DEVICE 273 .type = MT_DEVICE
97 }, { /* SA-1111 */ 274 }, { /* SA-1111 */
98 .virtual = 0xf4000000, 275 .virtual = 0xf4000000,
99 .pfn = __phys_to_pfn(0x40000000), 276 .pfn = __phys_to_pfn(SA1111REGSTART),
100 .length = 0x00100000, 277 .length = SA1111REGLEN,
101 .type = MT_DEVICE 278 .type = MT_DEVICE
102 } 279 }
103}; 280};
@@ -106,7 +283,7 @@ static void __init jornada720_map_io(void)
106{ 283{
107 sa1100_map_io(); 284 sa1100_map_io();
108 iotable_init(jornada720_io_desc, ARRAY_SIZE(jornada720_io_desc)); 285 iotable_init(jornada720_io_desc, ARRAY_SIZE(jornada720_io_desc));
109 286
110 sa1100_register_uart(0, 3); 287 sa1100_register_uart(0, 3);
111 sa1100_register_uart(1, 1); 288 sa1100_register_uart(1, 1);
112} 289}
@@ -116,7 +293,7 @@ static struct mtd_partition jornada720_partitions[] = {
116 .name = "JORNADA720 boot firmware", 293 .name = "JORNADA720 boot firmware",
117 .size = 0x00040000, 294 .size = 0x00040000,
118 .offset = 0, 295 .offset = 0,
119 .mask_flags = MTD_WRITEABLE, /* force read-only */ 296 .mask_flags = MTD_WRITEABLE, /* force read-only */
120 }, { 297 }, {
121 .name = "JORNADA720 kernel", 298 .name = "JORNADA720 kernel",
122 .size = 0x000c0000, 299 .size = 0x000c0000,
@@ -139,7 +316,7 @@ static struct mtd_partition jornada720_partitions[] = {
139 .offset = 0x00540000, 316 .offset = 0x00540000,
140 }, { 317 }, {
141 .name = "JORNADA720 usr local", 318 .name = "JORNADA720 usr local",
142 .size = 0, /* will expand to the end of the flash */ 319 .size = 0, /* will expand to the end of the flash */
143 .offset = 0x00d00000, 320 .offset = 0x00d00000,
144 } 321 }
145}; 322};
@@ -147,10 +324,12 @@ static struct mtd_partition jornada720_partitions[] = {
147static void jornada720_set_vpp(int vpp) 324static void jornada720_set_vpp(int vpp)
148{ 325{
149 if (vpp) 326 if (vpp)
150 PPSR |= 0x80; 327 /* enabling flash write (line 470 of HP's doc) */
328 PPSR |= PPC_LDD7;
151 else 329 else
152 PPSR &= ~0x80; 330 /* disabling flash write (line 470 of HP's doc) */
153 PPDR |= 0x80; 331 PPSR &= ~PPC_LDD7;
332 PPDR |= PPC_LDD7;
154} 333}
155 334
156static struct flash_platform_data jornada720_flash_data = { 335static struct flash_platform_data jornada720_flash_data = {
diff --git a/arch/arm/mm/consistent.c b/arch/arm/mm/consistent.c
index b797217e82be..6a9c362fef5e 100644
--- a/arch/arm/mm/consistent.c
+++ b/arch/arm/mm/consistent.c
@@ -238,7 +238,7 @@ __dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, gfp_t gfp,
238 * x86 does not mark the pages reserved... 238 * x86 does not mark the pages reserved...
239 */ 239 */
240 SetPageReserved(page); 240 SetPageReserved(page);
241 set_pte(pte, mk_pte(page, prot)); 241 set_pte_ext(pte, mk_pte(page, prot), 0);
242 page++; 242 page++;
243 pte++; 243 pte++;
244 off++; 244 off++;
diff --git a/arch/arm/mm/copypage-v4mc.c b/arch/arm/mm/copypage-v4mc.c
index df1645e14b4c..ded0e96d069d 100644
--- a/arch/arm/mm/copypage-v4mc.c
+++ b/arch/arm/mm/copypage-v4mc.c
@@ -19,6 +19,7 @@
19#include <asm/page.h> 19#include <asm/page.h>
20#include <asm/pgtable.h> 20#include <asm/pgtable.h>
21#include <asm/tlbflush.h> 21#include <asm/tlbflush.h>
22#include <asm/cacheflush.h>
22 23
23#include "mm.h" 24#include "mm.h"
24 25
@@ -69,9 +70,14 @@ mc_copy_user_page(void *from, void *to)
69 70
70void v4_mc_copy_user_page(void *kto, const void *kfrom, unsigned long vaddr) 71void v4_mc_copy_user_page(void *kto, const void *kfrom, unsigned long vaddr)
71{ 72{
73 struct page *page = virt_to_page(kfrom);
74
75 if (test_and_clear_bit(PG_dcache_dirty, &page->flags))
76 __flush_dcache_page(page_mapping(page), page);
77
72 spin_lock(&minicache_lock); 78 spin_lock(&minicache_lock);
73 79
74 set_pte(TOP_PTE(0xffff8000), pfn_pte(__pa(kfrom) >> PAGE_SHIFT, minicache_pgprot)); 80 set_pte_ext(TOP_PTE(0xffff8000), pfn_pte(__pa(kfrom) >> PAGE_SHIFT, minicache_pgprot), 0);
75 flush_tlb_kernel_page(0xffff8000); 81 flush_tlb_kernel_page(0xffff8000);
76 82
77 mc_copy_user_page((void *)0xffff8000, kto); 83 mc_copy_user_page((void *)0xffff8000, kto);
diff --git a/arch/arm/mm/copypage-v6.c b/arch/arm/mm/copypage-v6.c
index 3d0d3a963d20..3adb79257f43 100644
--- a/arch/arm/mm/copypage-v6.c
+++ b/arch/arm/mm/copypage-v6.c
@@ -53,6 +53,10 @@ static void v6_copy_user_page_aliasing(void *kto, const void *kfrom, unsigned lo
53{ 53{
54 unsigned int offset = CACHE_COLOUR(vaddr); 54 unsigned int offset = CACHE_COLOUR(vaddr);
55 unsigned long from, to; 55 unsigned long from, to;
56 struct page *page = virt_to_page(kfrom);
57
58 if (test_and_clear_bit(PG_dcache_dirty, &page->flags))
59 __flush_dcache_page(page_mapping(page), page);
56 60
57 /* 61 /*
58 * Discard data in the kernel mapping for the new page. 62 * Discard data in the kernel mapping for the new page.
@@ -70,8 +74,8 @@ static void v6_copy_user_page_aliasing(void *kto, const void *kfrom, unsigned lo
70 */ 74 */
71 spin_lock(&v6_lock); 75 spin_lock(&v6_lock);
72 76
73 set_pte(TOP_PTE(from_address) + offset, pfn_pte(__pa(kfrom) >> PAGE_SHIFT, PAGE_KERNEL)); 77 set_pte_ext(TOP_PTE(from_address) + offset, pfn_pte(__pa(kfrom) >> PAGE_SHIFT, PAGE_KERNEL), 0);
74 set_pte(TOP_PTE(to_address) + offset, pfn_pte(__pa(kto) >> PAGE_SHIFT, PAGE_KERNEL)); 78 set_pte_ext(TOP_PTE(to_address) + offset, pfn_pte(__pa(kto) >> PAGE_SHIFT, PAGE_KERNEL), 0);
75 79
76 from = from_address + (offset << PAGE_SHIFT); 80 from = from_address + (offset << PAGE_SHIFT);
77 to = to_address + (offset << PAGE_SHIFT); 81 to = to_address + (offset << PAGE_SHIFT);
@@ -110,7 +114,7 @@ static void v6_clear_user_page_aliasing(void *kaddr, unsigned long vaddr)
110 */ 114 */
111 spin_lock(&v6_lock); 115 spin_lock(&v6_lock);
112 116
113 set_pte(TOP_PTE(to_address) + offset, pfn_pte(__pa(kaddr) >> PAGE_SHIFT, PAGE_KERNEL)); 117 set_pte_ext(TOP_PTE(to_address) + offset, pfn_pte(__pa(kaddr) >> PAGE_SHIFT, PAGE_KERNEL), 0);
114 flush_tlb_kernel_page(to); 118 flush_tlb_kernel_page(to);
115 clear_page((void *)to); 119 clear_page((void *)to);
116 120
diff --git a/arch/arm/mm/copypage-xscale.c b/arch/arm/mm/copypage-xscale.c
index 84ebe0aa379e..2e455f82a4d5 100644
--- a/arch/arm/mm/copypage-xscale.c
+++ b/arch/arm/mm/copypage-xscale.c
@@ -19,6 +19,7 @@
19#include <asm/page.h> 19#include <asm/page.h>
20#include <asm/pgtable.h> 20#include <asm/pgtable.h>
21#include <asm/tlbflush.h> 21#include <asm/tlbflush.h>
22#include <asm/cacheflush.h>
22 23
23#include "mm.h" 24#include "mm.h"
24 25
@@ -91,9 +92,14 @@ mc_copy_user_page(void *from, void *to)
91 92
92void xscale_mc_copy_user_page(void *kto, const void *kfrom, unsigned long vaddr) 93void xscale_mc_copy_user_page(void *kto, const void *kfrom, unsigned long vaddr)
93{ 94{
95 struct page *page = virt_to_page(kfrom);
96
97 if (test_and_clear_bit(PG_dcache_dirty, &page->flags))
98 __flush_dcache_page(page_mapping(page), page);
99
94 spin_lock(&minicache_lock); 100 spin_lock(&minicache_lock);
95 101
96 set_pte(TOP_PTE(COPYPAGE_MINICACHE), pfn_pte(__pa(kfrom) >> PAGE_SHIFT, minicache_pgprot)); 102 set_pte_ext(TOP_PTE(COPYPAGE_MINICACHE), pfn_pte(__pa(kfrom) >> PAGE_SHIFT, minicache_pgprot), 0);
97 flush_tlb_kernel_page(COPYPAGE_MINICACHE); 103 flush_tlb_kernel_page(COPYPAGE_MINICACHE);
98 104
99 mc_copy_user_page((void *)COPYPAGE_MINICACHE, kto); 105 mc_copy_user_page((void *)COPYPAGE_MINICACHE, kto);
diff --git a/arch/arm/mm/fault-armv.c b/arch/arm/mm/fault-armv.c
index 7fc1b35a6746..cf95c5d0ce4c 100644
--- a/arch/arm/mm/fault-armv.c
+++ b/arch/arm/mm/fault-armv.c
@@ -61,7 +61,7 @@ static int adjust_pte(struct vm_area_struct *vma, unsigned long address)
61 if (pte_present(entry) && pte_val(entry) & shared_pte_mask) { 61 if (pte_present(entry) && pte_val(entry) & shared_pte_mask) {
62 flush_cache_page(vma, address, pte_pfn(entry)); 62 flush_cache_page(vma, address, pte_pfn(entry));
63 pte_val(entry) &= ~shared_pte_mask; 63 pte_val(entry) &= ~shared_pte_mask;
64 set_pte(pte, entry); 64 set_pte_at(vma->vm_mm, address, pte, entry);
65 flush_tlb_page(vma, address); 65 flush_tlb_page(vma, address);
66 ret = 1; 66 ret = 1;
67 } 67 }
diff --git a/arch/arm/mm/flush.c b/arch/arm/mm/flush.c
index 454205b789d5..628348c9f6c5 100644
--- a/arch/arm/mm/flush.c
+++ b/arch/arm/mm/flush.c
@@ -26,7 +26,7 @@ static void flush_pfn_alias(unsigned long pfn, unsigned long vaddr)
26 unsigned long to = ALIAS_FLUSH_START + (CACHE_COLOUR(vaddr) << PAGE_SHIFT); 26 unsigned long to = ALIAS_FLUSH_START + (CACHE_COLOUR(vaddr) << PAGE_SHIFT);
27 const int zero = 0; 27 const int zero = 0;
28 28
29 set_pte(TOP_PTE(to), pfn_pte(pfn, PAGE_KERNEL)); 29 set_pte_ext(TOP_PTE(to), pfn_pte(pfn, PAGE_KERNEL), 0);
30 flush_tlb_kernel_page(to); 30 flush_tlb_kernel_page(to);
31 31
32 asm( "mcrr p15, 0, %1, %0, c14\n" 32 asm( "mcrr p15, 0, %1, %0, c14\n"
diff --git a/arch/arm/mm/ioremap.c b/arch/arm/mm/ioremap.c
index 465440592791..251685fe73a8 100644
--- a/arch/arm/mm/ioremap.c
+++ b/arch/arm/mm/ioremap.c
@@ -38,89 +38,71 @@
38 */ 38 */
39#define VM_ARM_SECTION_MAPPING 0x80000000 39#define VM_ARM_SECTION_MAPPING 0x80000000
40 40
41static inline void 41static int remap_area_pte(pmd_t *pmd, unsigned long addr, unsigned long end,
42remap_area_pte(pte_t * pte, unsigned long address, unsigned long size, 42 unsigned long phys_addr, pgprot_t prot)
43 unsigned long phys_addr, pgprot_t pgprot)
44{ 43{
45 unsigned long end; 44 pte_t *pte;
45
46 pte = pte_alloc_kernel(pmd, addr);
47 if (!pte)
48 return -ENOMEM;
46 49
47 address &= ~PMD_MASK;
48 end = address + size;
49 if (end > PMD_SIZE)
50 end = PMD_SIZE;
51 BUG_ON(address >= end);
52 do { 50 do {
53 if (!pte_none(*pte)) 51 if (!pte_none(*pte))
54 goto bad; 52 goto bad;
55 53
56 set_pte(pte, pfn_pte(phys_addr >> PAGE_SHIFT, pgprot)); 54 set_pte_ext(pte, pfn_pte(phys_addr >> PAGE_SHIFT, prot), 0);
57 address += PAGE_SIZE;
58 phys_addr += PAGE_SIZE; 55 phys_addr += PAGE_SIZE;
59 pte++; 56 } while (pte++, addr += PAGE_SIZE, addr != end);
60 } while (address && (address < end)); 57 return 0;
61 return;
62 58
63 bad: 59 bad:
64 printk("remap_area_pte: page already exists\n"); 60 printk(KERN_CRIT "remap_area_pte: page already exists\n");
65 BUG(); 61 BUG();
66} 62}
67 63
68static inline int 64static inline int remap_area_pmd(pgd_t *pgd, unsigned long addr,
69remap_area_pmd(pmd_t * pmd, unsigned long address, unsigned long size, 65 unsigned long end, unsigned long phys_addr,
70 unsigned long phys_addr, unsigned long flags) 66 pgprot_t prot)
71{ 67{
72 unsigned long end; 68 unsigned long next;
73 pgprot_t pgprot; 69 pmd_t *pmd;
74 70 int ret = 0;
75 address &= ~PGDIR_MASK;
76 end = address + size;
77
78 if (end > PGDIR_SIZE)
79 end = PGDIR_SIZE;
80 71
81 phys_addr -= address; 72 pmd = pmd_alloc(&init_mm, pgd, addr);
82 BUG_ON(address >= end); 73 if (!pmd)
74 return -ENOMEM;
83 75
84 pgprot = __pgprot(L_PTE_PRESENT | L_PTE_YOUNG | L_PTE_DIRTY | L_PTE_WRITE | flags);
85 do { 76 do {
86 pte_t * pte = pte_alloc_kernel(pmd, address); 77 next = pmd_addr_end(addr, end);
87 if (!pte) 78 ret = remap_area_pte(pmd, addr, next, phys_addr, prot);
88 return -ENOMEM; 79 if (ret)
89 remap_area_pte(pte, address, end - address, address + phys_addr, pgprot); 80 return ret;
90 address = (address + PMD_SIZE) & PMD_MASK; 81 phys_addr += next - addr;
91 pmd++; 82 } while (pmd++, addr = next, addr != end);
92 } while (address && (address < end)); 83 return ret;
93 return 0;
94} 84}
95 85
96static int 86static int remap_area_pages(unsigned long start, unsigned long pfn,
97remap_area_pages(unsigned long start, unsigned long pfn, 87 unsigned long size, unsigned long flags)
98 unsigned long size, unsigned long flags)
99{ 88{
100 unsigned long address = start; 89 unsigned long addr = start;
101 unsigned long end = start + size; 90 unsigned long next, end = start + size;
102 unsigned long phys_addr = __pfn_to_phys(pfn); 91 unsigned long phys_addr = __pfn_to_phys(pfn);
92 pgprot_t prot = __pgprot(L_PTE_PRESENT | L_PTE_YOUNG |
93 L_PTE_DIRTY | L_PTE_WRITE | flags);
94 pgd_t *pgd;
103 int err = 0; 95 int err = 0;
104 pgd_t * dir;
105 96
106 phys_addr -= address; 97 BUG_ON(addr >= end);
107 dir = pgd_offset(&init_mm, address); 98 pgd = pgd_offset_k(addr);
108 BUG_ON(address >= end);
109 do { 99 do {
110 pmd_t *pmd = pmd_alloc(&init_mm, dir, address); 100 next = pgd_addr_end(addr, end);
111 if (!pmd) { 101 err = remap_area_pmd(pgd, addr, next, phys_addr, prot);
112 err = -ENOMEM; 102 if (err)
113 break;
114 }
115 if (remap_area_pmd(pmd, address, end - address,
116 phys_addr + address, flags)) {
117 err = -ENOMEM;
118 break; 103 break;
119 } 104 phys_addr += next - addr;
120 105 } while (pgd++, addr = next, addr != end);
121 address = (address + PGDIR_SIZE) & PGDIR_MASK;
122 dir++;
123 } while (address && (address < end));
124 106
125 return err; 107 return err;
126} 108}
@@ -310,6 +292,8 @@ __ioremap_pfn(unsigned long pfn, unsigned long offset, size_t size,
310 if (pfn >= 0x100000 && (__pfn_to_phys(pfn) & ~SUPERSECTION_MASK)) 292 if (pfn >= 0x100000 && (__pfn_to_phys(pfn) & ~SUPERSECTION_MASK))
311 return NULL; 293 return NULL;
312 294
295 size = PAGE_ALIGN(size);
296
313 area = get_vm_area(size, VM_IOREMAP); 297 area = get_vm_area(size, VM_IOREMAP);
314 if (!area) 298 if (!area)
315 return NULL; 299 return NULL;
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index b7f194af20b4..655c8376f0b5 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -154,6 +154,26 @@ static int __init noalign_setup(char *__unused)
154} 154}
155__setup("noalign", noalign_setup); 155__setup("noalign", noalign_setup);
156 156
157#ifndef CONFIG_SMP
158void adjust_cr(unsigned long mask, unsigned long set)
159{
160 unsigned long flags;
161
162 mask &= ~CR_A;
163
164 set &= mask;
165
166 local_irq_save(flags);
167
168 cr_no_alignment = (cr_no_alignment & ~mask) | set;
169 cr_alignment = (cr_alignment & ~mask) | set;
170
171 set_cr((get_cr() & ~mask) | set);
172
173 local_irq_restore(flags);
174}
175#endif
176
157struct mem_types { 177struct mem_types {
158 unsigned int prot_pte; 178 unsigned int prot_pte;
159 unsigned int prot_l1; 179 unsigned int prot_l1;
@@ -294,12 +314,6 @@ static void __init build_mem_type_table(void)
294 mem_types[MT_DEVICE].prot_pte |= L_PTE_BUFFERABLE; 314 mem_types[MT_DEVICE].prot_pte |= L_PTE_BUFFERABLE;
295 mem_types[MT_DEVICE].prot_sect |= PMD_SECT_BUFFERED; 315 mem_types[MT_DEVICE].prot_sect |= PMD_SECT_BUFFERED;
296 316
297 /*
298 * User pages need to be mapped with the ASID
299 * (iow, non-global)
300 */
301 user_pgprot |= L_PTE_ASID;
302
303#ifdef CONFIG_SMP 317#ifdef CONFIG_SMP
304 /* 318 /*
305 * Mark memory with the "shared" attribute for SMP systems 319 * Mark memory with the "shared" attribute for SMP systems
@@ -408,7 +422,7 @@ alloc_init_page(unsigned long virt, unsigned long phys, unsigned int prot_l1, pg
408 } 422 }
409 ptep = pte_offset_kernel(pmdp, virt); 423 ptep = pte_offset_kernel(pmdp, virt);
410 424
411 set_pte(ptep, pfn_pte(phys >> PAGE_SHIFT, prot)); 425 set_pte_ext(ptep, pfn_pte(phys >> PAGE_SHIFT, prot), 0);
412} 426}
413 427
414/* 428/*
diff --git a/arch/arm/mm/pgd.c b/arch/arm/mm/pgd.c
index 20c1b0df75f2..50b9aed6000d 100644
--- a/arch/arm/mm/pgd.c
+++ b/arch/arm/mm/pgd.c
@@ -57,7 +57,7 @@ pgd_t *get_pgd_slow(struct mm_struct *mm)
57 57
58 init_pmd = pmd_offset(init_pgd, 0); 58 init_pmd = pmd_offset(init_pgd, 0);
59 init_pte = pte_offset_map_nested(init_pmd, 0); 59 init_pte = pte_offset_map_nested(init_pmd, 0);
60 set_pte(new_pte, *init_pte); 60 set_pte_ext(new_pte, *init_pte, 0);
61 pte_unmap_nested(init_pte); 61 pte_unmap_nested(init_pte);
62 pte_unmap(new_pte); 62 pte_unmap(new_pte);
63 } 63 }
diff --git a/arch/arm/mm/proc-arm1020.S b/arch/arm/mm/proc-arm1020.S
index 289b8e6f504d..700c04d6996e 100644
--- a/arch/arm/mm/proc-arm1020.S
+++ b/arch/arm/mm/proc-arm1020.S
@@ -397,7 +397,7 @@ ENTRY(cpu_arm1020_switch_mm)
397 * Set a PTE and flush it out 397 * Set a PTE and flush it out
398 */ 398 */
399 .align 5 399 .align 5
400ENTRY(cpu_arm1020_set_pte) 400ENTRY(cpu_arm1020_set_pte_ext)
401#ifdef CONFIG_MMU 401#ifdef CONFIG_MMU
402 str r1, [r0], #-2048 @ linux version 402 str r1, [r0], #-2048 @ linux version
403 403
@@ -477,7 +477,7 @@ arm1020_processor_functions:
477 .word cpu_arm1020_do_idle 477 .word cpu_arm1020_do_idle
478 .word cpu_arm1020_dcache_clean_area 478 .word cpu_arm1020_dcache_clean_area
479 .word cpu_arm1020_switch_mm 479 .word cpu_arm1020_switch_mm
480 .word cpu_arm1020_set_pte 480 .word cpu_arm1020_set_pte_ext
481 .size arm1020_processor_functions, . - arm1020_processor_functions 481 .size arm1020_processor_functions, . - arm1020_processor_functions
482 482
483 .section ".rodata" 483 .section ".rodata"
diff --git a/arch/arm/mm/proc-arm1020e.S b/arch/arm/mm/proc-arm1020e.S
index bed9db6ba582..1cc206ab5eae 100644
--- a/arch/arm/mm/proc-arm1020e.S
+++ b/arch/arm/mm/proc-arm1020e.S
@@ -381,7 +381,7 @@ ENTRY(cpu_arm1020e_switch_mm)
381 * Set a PTE and flush it out 381 * Set a PTE and flush it out
382 */ 382 */
383 .align 5 383 .align 5
384ENTRY(cpu_arm1020e_set_pte) 384ENTRY(cpu_arm1020e_set_pte_ext)
385#ifdef CONFIG_MMU 385#ifdef CONFIG_MMU
386 str r1, [r0], #-2048 @ linux version 386 str r1, [r0], #-2048 @ linux version
387 387
@@ -458,7 +458,7 @@ arm1020e_processor_functions:
458 .word cpu_arm1020e_do_idle 458 .word cpu_arm1020e_do_idle
459 .word cpu_arm1020e_dcache_clean_area 459 .word cpu_arm1020e_dcache_clean_area
460 .word cpu_arm1020e_switch_mm 460 .word cpu_arm1020e_switch_mm
461 .word cpu_arm1020e_set_pte 461 .word cpu_arm1020e_set_pte_ext
462 .size arm1020e_processor_functions, . - arm1020e_processor_functions 462 .size arm1020e_processor_functions, . - arm1020e_processor_functions
463 463
464 .section ".rodata" 464 .section ".rodata"
diff --git a/arch/arm/mm/proc-arm1022.S b/arch/arm/mm/proc-arm1022.S
index d2a7c1b9cab9..aff0ea08e2f8 100644
--- a/arch/arm/mm/proc-arm1022.S
+++ b/arch/arm/mm/proc-arm1022.S
@@ -358,12 +358,12 @@ ENTRY(cpu_arm1022_switch_mm)
358 mov pc, lr 358 mov pc, lr
359 359
360/* 360/*
361 * cpu_arm1022_set_pte(ptep, pte) 361 * cpu_arm1022_set_pte_ext(ptep, pte, ext)
362 * 362 *
363 * Set a PTE and flush it out 363 * Set a PTE and flush it out
364 */ 364 */
365 .align 5 365 .align 5
366ENTRY(cpu_arm1022_set_pte) 366ENTRY(cpu_arm1022_set_pte_ext)
367#ifdef CONFIG_MMU 367#ifdef CONFIG_MMU
368 str r1, [r0], #-2048 @ linux version 368 str r1, [r0], #-2048 @ linux version
369 369
@@ -441,7 +441,7 @@ arm1022_processor_functions:
441 .word cpu_arm1022_do_idle 441 .word cpu_arm1022_do_idle
442 .word cpu_arm1022_dcache_clean_area 442 .word cpu_arm1022_dcache_clean_area
443 .word cpu_arm1022_switch_mm 443 .word cpu_arm1022_switch_mm
444 .word cpu_arm1022_set_pte 444 .word cpu_arm1022_set_pte_ext
445 .size arm1022_processor_functions, . - arm1022_processor_functions 445 .size arm1022_processor_functions, . - arm1022_processor_functions
446 446
447 .section ".rodata" 447 .section ".rodata"
diff --git a/arch/arm/mm/proc-arm1026.S b/arch/arm/mm/proc-arm1026.S
index 3247ce5c0177..65e43a109085 100644
--- a/arch/arm/mm/proc-arm1026.S
+++ b/arch/arm/mm/proc-arm1026.S
@@ -347,12 +347,12 @@ ENTRY(cpu_arm1026_switch_mm)
347 mov pc, lr 347 mov pc, lr
348 348
349/* 349/*
350 * cpu_arm1026_set_pte(ptep, pte) 350 * cpu_arm1026_set_pte_ext(ptep, pte, ext)
351 * 351 *
352 * Set a PTE and flush it out 352 * Set a PTE and flush it out
353 */ 353 */
354 .align 5 354 .align 5
355ENTRY(cpu_arm1026_set_pte) 355ENTRY(cpu_arm1026_set_pte_ext)
356#ifdef CONFIG_MMU 356#ifdef CONFIG_MMU
357 str r1, [r0], #-2048 @ linux version 357 str r1, [r0], #-2048 @ linux version
358 358
@@ -436,7 +436,7 @@ arm1026_processor_functions:
436 .word cpu_arm1026_do_idle 436 .word cpu_arm1026_do_idle
437 .word cpu_arm1026_dcache_clean_area 437 .word cpu_arm1026_dcache_clean_area
438 .word cpu_arm1026_switch_mm 438 .word cpu_arm1026_switch_mm
439 .word cpu_arm1026_set_pte 439 .word cpu_arm1026_set_pte_ext
440 .size arm1026_processor_functions, . - arm1026_processor_functions 440 .size arm1026_processor_functions, . - arm1026_processor_functions
441 441
442 .section .rodata 442 .section .rodata
diff --git a/arch/arm/mm/proc-arm6_7.S b/arch/arm/mm/proc-arm6_7.S
index ce4f9eef763c..123a7dc7a433 100644
--- a/arch/arm/mm/proc-arm6_7.S
+++ b/arch/arm/mm/proc-arm6_7.S
@@ -209,14 +209,14 @@ ENTRY(cpu_arm7_switch_mm)
209 mov pc, lr 209 mov pc, lr
210 210
211/* 211/*
212 * Function: arm6_7_set_pte(pte_t *ptep, pte_t pte) 212 * Function: arm6_7_set_pte_ext(pte_t *ptep, pte_t pte, unsigned int ext)
213 * Params : r0 = Address to set 213 * Params : r0 = Address to set
214 * : r1 = value to set 214 * : r1 = value to set
215 * Purpose : Set a PTE and flush it out of any WB cache 215 * Purpose : Set a PTE and flush it out of any WB cache
216 */ 216 */
217 .align 5 217 .align 5
218ENTRY(cpu_arm6_set_pte) 218ENTRY(cpu_arm6_set_pte_ext)
219ENTRY(cpu_arm7_set_pte) 219ENTRY(cpu_arm7_set_pte_ext)
220#ifdef CONFIG_MMU 220#ifdef CONFIG_MMU
221 str r1, [r0], #-2048 @ linux version 221 str r1, [r0], #-2048 @ linux version
222 222
@@ -299,7 +299,7 @@ ENTRY(arm6_processor_functions)
299 .word cpu_arm6_do_idle 299 .word cpu_arm6_do_idle
300 .word cpu_arm6_dcache_clean_area 300 .word cpu_arm6_dcache_clean_area
301 .word cpu_arm6_switch_mm 301 .word cpu_arm6_switch_mm
302 .word cpu_arm6_set_pte 302 .word cpu_arm6_set_pte_ext
303 .size arm6_processor_functions, . - arm6_processor_functions 303 .size arm6_processor_functions, . - arm6_processor_functions
304 304
305/* 305/*
@@ -315,7 +315,7 @@ ENTRY(arm7_processor_functions)
315 .word cpu_arm7_do_idle 315 .word cpu_arm7_do_idle
316 .word cpu_arm7_dcache_clean_area 316 .word cpu_arm7_dcache_clean_area
317 .word cpu_arm7_switch_mm 317 .word cpu_arm7_switch_mm
318 .word cpu_arm7_set_pte 318 .word cpu_arm7_set_pte_ext
319 .size arm7_processor_functions, . - arm7_processor_functions 319 .size arm7_processor_functions, . - arm7_processor_functions
320 320
321 .section ".rodata" 321 .section ".rodata"
diff --git a/arch/arm/mm/proc-arm720.S b/arch/arm/mm/proc-arm720.S
index c04c194da785..dc763be43362 100644
--- a/arch/arm/mm/proc-arm720.S
+++ b/arch/arm/mm/proc-arm720.S
@@ -88,13 +88,13 @@ ENTRY(cpu_arm720_switch_mm)
88 mov pc, lr 88 mov pc, lr
89 89
90/* 90/*
91 * Function: arm720_set_pte(pte_t *ptep, pte_t pte) 91 * Function: arm720_set_pte_ext(pte_t *ptep, pte_t pte, unsigned int ext)
92 * Params : r0 = Address to set 92 * Params : r0 = Address to set
93 * : r1 = value to set 93 * : r1 = value to set
94 * Purpose : Set a PTE and flush it out of any WB cache 94 * Purpose : Set a PTE and flush it out of any WB cache
95 */ 95 */
96 .align 5 96 .align 5
97ENTRY(cpu_arm720_set_pte) 97ENTRY(cpu_arm720_set_pte_ext)
98#ifdef CONFIG_MMU 98#ifdef CONFIG_MMU
99 str r1, [r0], #-2048 @ linux version 99 str r1, [r0], #-2048 @ linux version
100 100
@@ -204,7 +204,7 @@ ENTRY(arm720_processor_functions)
204 .word cpu_arm720_do_idle 204 .word cpu_arm720_do_idle
205 .word cpu_arm720_dcache_clean_area 205 .word cpu_arm720_dcache_clean_area
206 .word cpu_arm720_switch_mm 206 .word cpu_arm720_switch_mm
207 .word cpu_arm720_set_pte 207 .word cpu_arm720_set_pte_ext
208 .size arm720_processor_functions, . - arm720_processor_functions 208 .size arm720_processor_functions, . - arm720_processor_functions
209 209
210 .section ".rodata" 210 .section ".rodata"
diff --git a/arch/arm/mm/proc-arm920.S b/arch/arm/mm/proc-arm920.S
index 65cbb2851bff..75c945ed6c4d 100644
--- a/arch/arm/mm/proc-arm920.S
+++ b/arch/arm/mm/proc-arm920.S
@@ -344,12 +344,12 @@ ENTRY(cpu_arm920_switch_mm)
344 mov pc, lr 344 mov pc, lr
345 345
346/* 346/*
347 * cpu_arm920_set_pte(ptep, pte) 347 * cpu_arm920_set_pte(ptep, pte, ext)
348 * 348 *
349 * Set a PTE and flush it out 349 * Set a PTE and flush it out
350 */ 350 */
351 .align 5 351 .align 5
352ENTRY(cpu_arm920_set_pte) 352ENTRY(cpu_arm920_set_pte_ext)
353#ifdef CONFIG_MMU 353#ifdef CONFIG_MMU
354 str r1, [r0], #-2048 @ linux version 354 str r1, [r0], #-2048 @ linux version
355 355
@@ -423,7 +423,7 @@ arm920_processor_functions:
423 .word cpu_arm920_do_idle 423 .word cpu_arm920_do_idle
424 .word cpu_arm920_dcache_clean_area 424 .word cpu_arm920_dcache_clean_area
425 .word cpu_arm920_switch_mm 425 .word cpu_arm920_switch_mm
426 .word cpu_arm920_set_pte 426 .word cpu_arm920_set_pte_ext
427 .size arm920_processor_functions, . - arm920_processor_functions 427 .size arm920_processor_functions, . - arm920_processor_functions
428 428
429 .section ".rodata" 429 .section ".rodata"
diff --git a/arch/arm/mm/proc-arm922.S b/arch/arm/mm/proc-arm922.S
index 52761b70d735..ffb751b877ff 100644
--- a/arch/arm/mm/proc-arm922.S
+++ b/arch/arm/mm/proc-arm922.S
@@ -348,12 +348,12 @@ ENTRY(cpu_arm922_switch_mm)
348 mov pc, lr 348 mov pc, lr
349 349
350/* 350/*
351 * cpu_arm922_set_pte(ptep, pte) 351 * cpu_arm922_set_pte_ext(ptep, pte, ext)
352 * 352 *
353 * Set a PTE and flush it out 353 * Set a PTE and flush it out
354 */ 354 */
355 .align 5 355 .align 5
356ENTRY(cpu_arm922_set_pte) 356ENTRY(cpu_arm922_set_pte_ext)
357#ifdef CONFIG_MMU 357#ifdef CONFIG_MMU
358 str r1, [r0], #-2048 @ linux version 358 str r1, [r0], #-2048 @ linux version
359 359
@@ -427,7 +427,7 @@ arm922_processor_functions:
427 .word cpu_arm922_do_idle 427 .word cpu_arm922_do_idle
428 .word cpu_arm922_dcache_clean_area 428 .word cpu_arm922_dcache_clean_area
429 .word cpu_arm922_switch_mm 429 .word cpu_arm922_switch_mm
430 .word cpu_arm922_set_pte 430 .word cpu_arm922_set_pte_ext
431 .size arm922_processor_functions, . - arm922_processor_functions 431 .size arm922_processor_functions, . - arm922_processor_functions
432 432
433 .section ".rodata" 433 .section ".rodata"
diff --git a/arch/arm/mm/proc-arm925.S b/arch/arm/mm/proc-arm925.S
index 5b74339d1588..44c2c997819f 100644
--- a/arch/arm/mm/proc-arm925.S
+++ b/arch/arm/mm/proc-arm925.S
@@ -391,12 +391,12 @@ ENTRY(cpu_arm925_switch_mm)
391 mov pc, lr 391 mov pc, lr
392 392
393/* 393/*
394 * cpu_arm925_set_pte(ptep, pte) 394 * cpu_arm925_set_pte_ext(ptep, pte, ext)
395 * 395 *
396 * Set a PTE and flush it out 396 * Set a PTE and flush it out
397 */ 397 */
398 .align 5 398 .align 5
399ENTRY(cpu_arm925_set_pte) 399ENTRY(cpu_arm925_set_pte_ext)
400#ifdef CONFIG_MMU 400#ifdef CONFIG_MMU
401 str r1, [r0], #-2048 @ linux version 401 str r1, [r0], #-2048 @ linux version
402 402
@@ -490,7 +490,7 @@ arm925_processor_functions:
490 .word cpu_arm925_do_idle 490 .word cpu_arm925_do_idle
491 .word cpu_arm925_dcache_clean_area 491 .word cpu_arm925_dcache_clean_area
492 .word cpu_arm925_switch_mm 492 .word cpu_arm925_switch_mm
493 .word cpu_arm925_set_pte 493 .word cpu_arm925_set_pte_ext
494 .size arm925_processor_functions, . - arm925_processor_functions 494 .size arm925_processor_functions, . - arm925_processor_functions
495 495
496 .section ".rodata" 496 .section ".rodata"
diff --git a/arch/arm/mm/proc-arm926.S b/arch/arm/mm/proc-arm926.S
index 8628ed29a955..5b80b6bdd0cb 100644
--- a/arch/arm/mm/proc-arm926.S
+++ b/arch/arm/mm/proc-arm926.S
@@ -348,12 +348,12 @@ ENTRY(cpu_arm926_switch_mm)
348 mov pc, lr 348 mov pc, lr
349 349
350/* 350/*
351 * cpu_arm926_set_pte(ptep, pte) 351 * cpu_arm926_set_pte_ext(ptep, pte, ext)
352 * 352 *
353 * Set a PTE and flush it out 353 * Set a PTE and flush it out
354 */ 354 */
355 .align 5 355 .align 5
356ENTRY(cpu_arm926_set_pte) 356ENTRY(cpu_arm926_set_pte_ext)
357#ifdef CONFIG_MMU 357#ifdef CONFIG_MMU
358 str r1, [r0], #-2048 @ linux version 358 str r1, [r0], #-2048 @ linux version
359 359
@@ -439,7 +439,7 @@ arm926_processor_functions:
439 .word cpu_arm926_do_idle 439 .word cpu_arm926_do_idle
440 .word cpu_arm926_dcache_clean_area 440 .word cpu_arm926_dcache_clean_area
441 .word cpu_arm926_switch_mm 441 .word cpu_arm926_switch_mm
442 .word cpu_arm926_set_pte 442 .word cpu_arm926_set_pte_ext
443 .size arm926_processor_functions, . - arm926_processor_functions 443 .size arm926_processor_functions, . - arm926_processor_functions
444 444
445 .section ".rodata" 445 .section ".rodata"
@@ -480,7 +480,7 @@ __arm926_proc_info:
480 b __arm926_setup 480 b __arm926_setup
481 .long cpu_arch_name 481 .long cpu_arch_name
482 .long cpu_elf_name 482 .long cpu_elf_name
483 .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_VFP|HWCAP_EDSP|HWCAP_JAVA 483 .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP|HWCAP_JAVA
484 .long cpu_arm926_name 484 .long cpu_arm926_name
485 .long arm926_processor_functions 485 .long arm926_processor_functions
486 .long v4wbi_tlb_fns 486 .long v4wbi_tlb_fns
diff --git a/arch/arm/mm/proc-sa110.S b/arch/arm/mm/proc-sa110.S
index cd7d865c9d19..6e226e12989f 100644
--- a/arch/arm/mm/proc-sa110.S
+++ b/arch/arm/mm/proc-sa110.S
@@ -146,12 +146,12 @@ ENTRY(cpu_sa110_switch_mm)
146#endif 146#endif
147 147
148/* 148/*
149 * cpu_sa110_set_pte(ptep, pte) 149 * cpu_sa110_set_pte_ext(ptep, pte, ext)
150 * 150 *
151 * Set a PTE and flush it out 151 * Set a PTE and flush it out
152 */ 152 */
153 .align 5 153 .align 5
154ENTRY(cpu_sa110_set_pte) 154ENTRY(cpu_sa110_set_pte_ext)
155#ifdef CONFIG_MMU 155#ifdef CONFIG_MMU
156 str r1, [r0], #-2048 @ linux version 156 str r1, [r0], #-2048 @ linux version
157 157
@@ -222,7 +222,7 @@ ENTRY(sa110_processor_functions)
222 .word cpu_sa110_do_idle 222 .word cpu_sa110_do_idle
223 .word cpu_sa110_dcache_clean_area 223 .word cpu_sa110_dcache_clean_area
224 .word cpu_sa110_switch_mm 224 .word cpu_sa110_switch_mm
225 .word cpu_sa110_set_pte 225 .word cpu_sa110_set_pte_ext
226 .size sa110_processor_functions, . - sa110_processor_functions 226 .size sa110_processor_functions, . - sa110_processor_functions
227 227
228 .section ".rodata" 228 .section ".rodata"
diff --git a/arch/arm/mm/proc-sa1100.S b/arch/arm/mm/proc-sa1100.S
index b776653cc31c..9afb11d089fe 100644
--- a/arch/arm/mm/proc-sa1100.S
+++ b/arch/arm/mm/proc-sa1100.S
@@ -159,12 +159,12 @@ ENTRY(cpu_sa1100_switch_mm)
159#endif 159#endif
160 160
161/* 161/*
162 * cpu_sa1100_set_pte(ptep, pte) 162 * cpu_sa1100_set_pte_ext(ptep, pte, ext)
163 * 163 *
164 * Set a PTE and flush it out 164 * Set a PTE and flush it out
165 */ 165 */
166 .align 5 166 .align 5
167ENTRY(cpu_sa1100_set_pte) 167ENTRY(cpu_sa1100_set_pte_ext)
168#ifdef CONFIG_MMU 168#ifdef CONFIG_MMU
169 str r1, [r0], #-2048 @ linux version 169 str r1, [r0], #-2048 @ linux version
170 170
@@ -237,7 +237,7 @@ ENTRY(sa1100_processor_functions)
237 .word cpu_sa1100_do_idle 237 .word cpu_sa1100_do_idle
238 .word cpu_sa1100_dcache_clean_area 238 .word cpu_sa1100_dcache_clean_area
239 .word cpu_sa1100_switch_mm 239 .word cpu_sa1100_switch_mm
240 .word cpu_sa1100_set_pte 240 .word cpu_sa1100_set_pte_ext
241 .size sa1100_processor_functions, . - sa1100_processor_functions 241 .size sa1100_processor_functions, . - sa1100_processor_functions
242 242
243 .section ".rodata" 243 .section ".rodata"
diff --git a/arch/arm/mm/proc-syms.c b/arch/arm/mm/proc-syms.c
index ab143557e688..9f396b4fa0b7 100644
--- a/arch/arm/mm/proc-syms.c
+++ b/arch/arm/mm/proc-syms.c
@@ -17,7 +17,7 @@
17 17
18#ifndef MULTI_CPU 18#ifndef MULTI_CPU
19EXPORT_SYMBOL(cpu_dcache_clean_area); 19EXPORT_SYMBOL(cpu_dcache_clean_area);
20EXPORT_SYMBOL(cpu_set_pte); 20EXPORT_SYMBOL(cpu_set_pte_ext);
21#else 21#else
22EXPORT_SYMBOL(processor); 22EXPORT_SYMBOL(processor);
23#endif 23#endif
diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S
index b440c8a1d345..7b1843befb9c 100644
--- a/arch/arm/mm/proc-v6.S
+++ b/arch/arm/mm/proc-v6.S
@@ -103,13 +103,14 @@ ENTRY(cpu_v6_switch_mm)
103 mov pc, lr 103 mov pc, lr
104 104
105/* 105/*
106 * cpu_v6_set_pte(ptep, pte) 106 * cpu_v6_set_pte_ext(ptep, pte, ext)
107 * 107 *
108 * Set a level 2 translation table entry. 108 * Set a level 2 translation table entry.
109 * 109 *
110 * - ptep - pointer to level 2 translation table entry 110 * - ptep - pointer to level 2 translation table entry
111 * (hardware version is stored at -1024 bytes) 111 * (hardware version is stored at -1024 bytes)
112 * - pte - PTE value to store 112 * - pte - PTE value to store
113 * - ext - value for extended PTE bits
113 * 114 *
114 * Permissions: 115 * Permissions:
115 * YUWD APX AP1 AP0 SVC User 116 * YUWD APX AP1 AP0 SVC User
@@ -121,33 +122,34 @@ ENTRY(cpu_v6_switch_mm)
121 * 11x0 0 1 0 r/w r/o 122 * 11x0 0 1 0 r/w r/o
122 * 1111 0 1 1 r/w r/w 123 * 1111 0 1 1 r/w r/w
123 */ 124 */
124ENTRY(cpu_v6_set_pte) 125ENTRY(cpu_v6_set_pte_ext)
125#ifdef CONFIG_MMU 126#ifdef CONFIG_MMU
126 str r1, [r0], #-2048 @ linux version 127 str r1, [r0], #-2048 @ linux version
127 128
128 bic r2, r1, #0x000003f0 129 bic r3, r1, #0x000003f0
129 bic r2, r2, #0x00000003 130 bic r3, r3, #0x00000003
130 orr r2, r2, #PTE_EXT_AP0 | 2 131 orr r3, r3, r2
132 orr r3, r3, #PTE_EXT_AP0 | 2
131 133
132 tst r1, #L_PTE_WRITE 134 tst r1, #L_PTE_WRITE
133 tstne r1, #L_PTE_DIRTY 135 tstne r1, #L_PTE_DIRTY
134 orreq r2, r2, #PTE_EXT_APX 136 orreq r3, r3, #PTE_EXT_APX
135 137
136 tst r1, #L_PTE_USER 138 tst r1, #L_PTE_USER
137 orrne r2, r2, #PTE_EXT_AP1 139 orrne r3, r3, #PTE_EXT_AP1
138 tstne r2, #PTE_EXT_APX 140 tstne r3, #PTE_EXT_APX
139 bicne r2, r2, #PTE_EXT_APX | PTE_EXT_AP0 141 bicne r3, r3, #PTE_EXT_APX | PTE_EXT_AP0
140 142
141 tst r1, #L_PTE_YOUNG 143 tst r1, #L_PTE_YOUNG
142 biceq r2, r2, #PTE_EXT_APX | PTE_EXT_AP_MASK 144 biceq r3, r3, #PTE_EXT_APX | PTE_EXT_AP_MASK
143 145
144 tst r1, #L_PTE_EXEC 146 tst r1, #L_PTE_EXEC
145 orreq r2, r2, #PTE_EXT_XN 147 orreq r3, r3, #PTE_EXT_XN
146 148
147 tst r1, #L_PTE_PRESENT 149 tst r1, #L_PTE_PRESENT
148 moveq r2, #0 150 moveq r3, #0
149 151
150 str r2, [r0] 152 str r3, [r0]
151 mcr p15, 0, r0, c7, c10, 1 @ flush_pte 153 mcr p15, 0, r0, c7, c10, 1 @ flush_pte
152#endif 154#endif
153 mov pc, lr 155 mov pc, lr
@@ -156,7 +158,7 @@ ENTRY(cpu_v6_set_pte)
156 158
157 159
158cpu_v6_name: 160cpu_v6_name:
159 .asciz "Some Random V6 Processor" 161 .asciz "ARMv6-compatible processor"
160 .align 162 .align
161 163
162 .section ".text.init", #alloc, #execinstr 164 .section ".text.init", #alloc, #execinstr
@@ -207,11 +209,6 @@ __v6_setup:
207#endif 209#endif
208 mcr p15, 0, r4, c2, c0, 1 @ load TTB1 210 mcr p15, 0, r4, c2, c0, 1 @ load TTB1
209#endif /* CONFIG_MMU */ 211#endif /* CONFIG_MMU */
210#ifdef CONFIG_VFP
211 mrc p15, 0, r0, c1, c0, 2
212 orr r0, r0, #(0xf << 20)
213 mcr p15, 0, r0, c1, c0, 2 @ Enable full access to VFP
214#endif
215 adr r5, v6_crval 212 adr r5, v6_crval
216 ldmia r5, {r5, r6} 213 ldmia r5, {r5, r6}
217 mrc p15, 0, r0, c1, c0, 0 @ read control register 214 mrc p15, 0, r0, c1, c0, 0 @ read control register
@@ -238,7 +235,7 @@ ENTRY(v6_processor_functions)
238 .word cpu_v6_do_idle 235 .word cpu_v6_do_idle
239 .word cpu_v6_dcache_clean_area 236 .word cpu_v6_dcache_clean_area
240 .word cpu_v6_switch_mm 237 .word cpu_v6_switch_mm
241 .word cpu_v6_set_pte 238 .word cpu_v6_set_pte_ext
242 .size v6_processor_functions, . - v6_processor_functions 239 .size v6_processor_functions, . - v6_processor_functions
243 240
244 .type cpu_arch_name, #object 241 .type cpu_arch_name, #object
@@ -273,7 +270,7 @@ __v6_proc_info:
273 b __v6_setup 270 b __v6_setup
274 .long cpu_arch_name 271 .long cpu_arch_name
275 .long cpu_elf_name 272 .long cpu_elf_name
276 .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_VFP|HWCAP_EDSP|HWCAP_JAVA 273 .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP|HWCAP_JAVA
277 .long cpu_v6_name 274 .long cpu_v6_name
278 .long v6_processor_functions 275 .long v6_processor_functions
279 .long v6wbi_tlb_fns 276 .long v6wbi_tlb_fns
diff --git a/arch/arm/mm/proc-xsc3.S b/arch/arm/mm/proc-xsc3.S
index 1ef564d0957f..94a58455f346 100644
--- a/arch/arm/mm/proc-xsc3.S
+++ b/arch/arm/mm/proc-xsc3.S
@@ -2,7 +2,7 @@
2 * linux/arch/arm/mm/proc-xsc3.S 2 * linux/arch/arm/mm/proc-xsc3.S
3 * 3 *
4 * Original Author: Matthew Gilbert 4 * Original Author: Matthew Gilbert
5 * Current Maintainer: Deepak Saxena <dsaxena@plexity.net> 5 * Current Maintainer: Lennert Buytenhek <buytenh@wantstofly.org>
6 * 6 *
7 * Copyright 2004 (C) Intel Corp. 7 * Copyright 2004 (C) Intel Corp.
8 * Copyright 2005 (c) MontaVista Software, Inc. 8 * Copyright 2005 (c) MontaVista Software, Inc.
@@ -357,13 +357,13 @@ ENTRY(cpu_xsc3_switch_mm)
357 cpwait_ret lr, ip 357 cpwait_ret lr, ip
358 358
359/* 359/*
360 * cpu_xsc3_set_pte(ptep, pte) 360 * cpu_xsc3_set_pte_ext(ptep, pte, ext)
361 * 361 *
362 * Set a PTE and flush it out 362 * Set a PTE and flush it out
363 * 363 *
364 */ 364 */
365 .align 5 365 .align 5
366ENTRY(cpu_xsc3_set_pte) 366ENTRY(cpu_xsc3_set_pte_ext)
367 str r1, [r0], #-2048 @ linux version 367 str r1, [r0], #-2048 @ linux version
368 368
369 bic r2, r1, #0xff0 @ Keep C, B bits 369 bic r2, r1, #0xff0 @ Keep C, B bits
@@ -457,7 +457,7 @@ ENTRY(xsc3_processor_functions)
457 .word cpu_xsc3_do_idle 457 .word cpu_xsc3_do_idle
458 .word cpu_xsc3_dcache_clean_area 458 .word cpu_xsc3_dcache_clean_area
459 .word cpu_xsc3_switch_mm 459 .word cpu_xsc3_switch_mm
460 .word cpu_xsc3_set_pte 460 .word cpu_xsc3_set_pte_ext
461 .size xsc3_processor_functions, . - xsc3_processor_functions 461 .size xsc3_processor_functions, . - xsc3_processor_functions
462 462
463 .section ".rodata" 463 .section ".rodata"
diff --git a/arch/arm/mm/proc-xscale.S b/arch/arm/mm/proc-xscale.S
index cc1004b3e511..490e11b34231 100644
--- a/arch/arm/mm/proc-xscale.S
+++ b/arch/arm/mm/proc-xscale.S
@@ -421,14 +421,14 @@ ENTRY(cpu_xscale_switch_mm)
421 cpwait_ret lr, ip 421 cpwait_ret lr, ip
422 422
423/* 423/*
424 * cpu_xscale_set_pte(ptep, pte) 424 * cpu_xscale_set_pte_ext(ptep, pte, ext)
425 * 425 *
426 * Set a PTE and flush it out 426 * Set a PTE and flush it out
427 * 427 *
428 * Errata 40: must set memory to write-through for user read-only pages. 428 * Errata 40: must set memory to write-through for user read-only pages.
429 */ 429 */
430 .align 5 430 .align 5
431ENTRY(cpu_xscale_set_pte) 431ENTRY(cpu_xscale_set_pte_ext)
432 str r1, [r0], #-2048 @ linux version 432 str r1, [r0], #-2048 @ linux version
433 433
434 bic r2, r1, #0xff0 434 bic r2, r1, #0xff0
@@ -529,7 +529,7 @@ ENTRY(xscale_processor_functions)
529 .word cpu_xscale_do_idle 529 .word cpu_xscale_do_idle
530 .word cpu_xscale_dcache_clean_area 530 .word cpu_xscale_dcache_clean_area
531 .word cpu_xscale_switch_mm 531 .word cpu_xscale_switch_mm
532 .word cpu_xscale_set_pte 532 .word cpu_xscale_set_pte_ext
533 .size xscale_processor_functions, . - xscale_processor_functions 533 .size xscale_processor_functions, . - xscale_processor_functions
534 534
535 .section ".rodata" 535 .section ".rodata"
diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c
index f08eafbddcc1..490d9d18a7d1 100644
--- a/arch/arm/vfp/vfpmodule.c
+++ b/arch/arm/vfp/vfpmodule.c
@@ -263,13 +263,36 @@ void VFP9_bounce(u32 trigger, u32 fpexc, struct pt_regs *regs)
263 if (exceptions) 263 if (exceptions)
264 vfp_raise_exceptions(exceptions, trigger, orig_fpscr, regs); 264 vfp_raise_exceptions(exceptions, trigger, orig_fpscr, regs);
265} 265}
266 266
267static void vfp_enable(void *unused)
268{
269 u32 access = get_copro_access();
270
271 /*
272 * Enable full access to VFP (cp10 and cp11)
273 */
274 set_copro_access(access | CPACC_FULL(10) | CPACC_FULL(11));
275}
276
277#include <linux/smp.h>
278
267/* 279/*
268 * VFP support code initialisation. 280 * VFP support code initialisation.
269 */ 281 */
270static int __init vfp_init(void) 282static int __init vfp_init(void)
271{ 283{
272 unsigned int vfpsid; 284 unsigned int vfpsid;
285 unsigned int cpu_arch = cpu_architecture();
286 u32 access = 0;
287
288 if (cpu_arch >= CPU_ARCH_ARMv6) {
289 access = get_copro_access();
290
291 /*
292 * Enable full access to VFP (cp10 and cp11)
293 */
294 set_copro_access(access | CPACC_FULL(10) | CPACC_FULL(11));
295 }
273 296
274 /* 297 /*
275 * First check that there is a VFP that we can use. 298 * First check that there is a VFP that we can use.
@@ -277,13 +300,22 @@ static int __init vfp_init(void)
277 * we just need to read the VFPSID register. 300 * we just need to read the VFPSID register.
278 */ 301 */
279 vfpsid = fmrx(FPSID); 302 vfpsid = fmrx(FPSID);
303 barrier();
280 304
281 printk(KERN_INFO "VFP support v0.3: "); 305 printk(KERN_INFO "VFP support v0.3: ");
282 if (VFP_arch) { 306 if (VFP_arch) {
283 printk("not present\n"); 307 printk("not present\n");
308
309 /*
310 * Restore the copro access register.
311 */
312 if (cpu_arch >= CPU_ARCH_ARMv6)
313 set_copro_access(access);
284 } else if (vfpsid & FPSID_NODOUBLE) { 314 } else if (vfpsid & FPSID_NODOUBLE) {
285 printk("no double precision support\n"); 315 printk("no double precision support\n");
286 } else { 316 } else {
317 smp_call_function(vfp_enable, NULL, 1, 1);
318
287 VFP_arch = (vfpsid & FPSID_ARCH_MASK) >> FPSID_ARCH_BIT; /* Extract the architecture version */ 319 VFP_arch = (vfpsid & FPSID_ARCH_MASK) >> FPSID_ARCH_BIT; /* Extract the architecture version */
288 printk("implementor %02x architecture %d part %02x variant %x rev %x\n", 320 printk("implementor %02x architecture %d part %02x variant %x rev %x\n",
289 (vfpsid & FPSID_IMPLEMENTER_MASK) >> FPSID_IMPLEMENTER_BIT, 321 (vfpsid & FPSID_IMPLEMENTER_MASK) >> FPSID_IMPLEMENTER_BIT,
@@ -291,9 +323,16 @@ static int __init vfp_init(void)
291 (vfpsid & FPSID_PART_MASK) >> FPSID_PART_BIT, 323 (vfpsid & FPSID_PART_MASK) >> FPSID_PART_BIT,
292 (vfpsid & FPSID_VARIANT_MASK) >> FPSID_VARIANT_BIT, 324 (vfpsid & FPSID_VARIANT_MASK) >> FPSID_VARIANT_BIT,
293 (vfpsid & FPSID_REV_MASK) >> FPSID_REV_BIT); 325 (vfpsid & FPSID_REV_MASK) >> FPSID_REV_BIT);
326
294 vfp_vector = vfp_support_entry; 327 vfp_vector = vfp_support_entry;
295 328
296 thread_register_notifier(&vfp_notifier_block); 329 thread_register_notifier(&vfp_notifier_block);
330
331 /*
332 * We detected VFP, and the support code is
333 * in place; report VFP support to userspace.
334 */
335 elf_hwcap |= HWCAP_VFP;
297 } 336 }
298 return 0; 337 return 0;
299} 338}
diff --git a/arch/arm26/kernel/ecard.c b/arch/arm26/kernel/ecard.c
index 43dd41be71fb..9dbc17247c6f 100644
--- a/arch/arm26/kernel/ecard.c
+++ b/arch/arm26/kernel/ecard.c
@@ -215,7 +215,7 @@ int ecard_readchunk(struct in_chunk_dir *cd, ecard_t *ec, int id, int num)
215 } 215 }
216 if (c_id(&excd) == 0x80) { /* loader */ 216 if (c_id(&excd) == 0x80) { /* loader */
217 if (!ec->loader) { 217 if (!ec->loader) {
218 ec->loader = (loader_t)kmalloc(c_len(&excd), 218 ec->loader = kmalloc(c_len(&excd),
219 GFP_KERNEL); 219 GFP_KERNEL);
220 if (ec->loader) 220 if (ec->loader)
221 ecard_readbytes(ec->loader, ec, 221 ecard_readbytes(ec->loader, ec,
diff --git a/arch/arm26/kernel/irq.c b/arch/arm26/kernel/irq.c
index d87d68b77d66..d53382c83bf9 100644
--- a/arch/arm26/kernel/irq.c
+++ b/arch/arm26/kernel/irq.c
@@ -545,7 +545,7 @@ int request_irq(unsigned int irq, irqreturn_t (*handler)(int, void *, struct pt_
545 (irq_flags & IRQF_SHARED && !dev_id)) 545 (irq_flags & IRQF_SHARED && !dev_id))
546 return -EINVAL; 546 return -EINVAL;
547 547
548 action = (struct irqaction *)kmalloc(sizeof(struct irqaction), GFP_KERNEL); 548 action = kmalloc(sizeof(struct irqaction), GFP_KERNEL);
549 if (!action) 549 if (!action)
550 return -ENOMEM; 550 return -ENOMEM;
551 551
diff --git a/arch/cris/arch-v10/drivers/axisflashmap.c b/arch/cris/arch-v10/drivers/axisflashmap.c
index 4fa81abab0c7..ffade19a14e6 100644
--- a/arch/cris/arch-v10/drivers/axisflashmap.c
+++ b/arch/cris/arch-v10/drivers/axisflashmap.c
@@ -516,7 +516,7 @@ static int __init init_axis_flash(void)
516#else 516#else
517 struct mtd_info *mtd_ram; 517 struct mtd_info *mtd_ram;
518 518
519 mtd_ram = (struct mtd_info *)kmalloc(sizeof(struct mtd_info), 519 mtd_ram = kmalloc(sizeof(struct mtd_info),
520 GFP_KERNEL); 520 GFP_KERNEL);
521 if (!mtd_ram) { 521 if (!mtd_ram) {
522 panic("axisflashmap couldn't allocate memory for " 522 panic("axisflashmap couldn't allocate memory for "
diff --git a/arch/cris/arch-v10/drivers/gpio.c b/arch/cris/arch-v10/drivers/gpio.c
index fcba6632ed7b..9aba18b931dd 100644
--- a/arch/cris/arch-v10/drivers/gpio.c
+++ b/arch/cris/arch-v10/drivers/gpio.c
@@ -440,7 +440,7 @@ gpio_open(struct inode *inode, struct file *filp)
440 if (p > GPIO_MINOR_LAST) 440 if (p > GPIO_MINOR_LAST)
441 return -EINVAL; 441 return -EINVAL;
442 442
443 priv = (struct gpio_private *)kmalloc(sizeof(struct gpio_private), 443 priv = kmalloc(sizeof(struct gpio_private),
444 GFP_KERNEL); 444 GFP_KERNEL);
445 445
446 if (!priv) 446 if (!priv)
diff --git a/arch/cris/arch-v32/drivers/axisflashmap.c b/arch/cris/arch-v32/drivers/axisflashmap.c
index 41952320e00a..5180d45412fc 100644
--- a/arch/cris/arch-v32/drivers/axisflashmap.c
+++ b/arch/cris/arch-v32/drivers/axisflashmap.c
@@ -427,7 +427,7 @@ static int __init init_axis_flash(void)
427#else 427#else
428 struct mtd_info *mtd_ram; 428 struct mtd_info *mtd_ram;
429 429
430 mtd_ram = (struct mtd_info *)kmalloc(sizeof(struct mtd_info), 430 mtd_ram = kmalloc(sizeof(struct mtd_info),
431 GFP_KERNEL); 431 GFP_KERNEL);
432 if (!mtd_ram) { 432 if (!mtd_ram) {
433 panic("axisflashmap couldn't allocate memory for " 433 panic("axisflashmap couldn't allocate memory for "
diff --git a/arch/cris/arch-v32/drivers/gpio.c b/arch/cris/arch-v32/drivers/gpio.c
index c3f876b4da6b..08d36f0955c6 100644
--- a/arch/cris/arch-v32/drivers/gpio.c
+++ b/arch/cris/arch-v32/drivers/gpio.c
@@ -423,7 +423,7 @@ gpio_open(struct inode *inode, struct file *filp)
423 if (p > GPIO_MINOR_LAST) 423 if (p > GPIO_MINOR_LAST)
424 return -EINVAL; 424 return -EINVAL;
425 425
426 priv = (struct gpio_private *)kmalloc(sizeof(struct gpio_private), 426 priv = kmalloc(sizeof(struct gpio_private),
427 GFP_KERNEL); 427 GFP_KERNEL);
428 428
429 if (!priv) 429 if (!priv)
diff --git a/arch/cris/arch-v32/kernel/signal.c b/arch/cris/arch-v32/kernel/signal.c
index 99e59b3eacf8..7cd6ac803409 100644
--- a/arch/cris/arch-v32/kernel/signal.c
+++ b/arch/cris/arch-v32/kernel/signal.c
@@ -686,7 +686,7 @@ keep_debug_flags(unsigned long oldccs, unsigned long oldspc,
686int __init 686int __init
687cris_init_signal(void) 687cris_init_signal(void)
688{ 688{
689 u16* data = (u16*)kmalloc(PAGE_SIZE, GFP_KERNEL); 689 u16* data = kmalloc(PAGE_SIZE, GFP_KERNEL);
690 690
691 /* This is movu.w __NR_sigreturn, r9; break 13; */ 691 /* This is movu.w __NR_sigreturn, r9; break 13; */
692 data[0] = 0x9c5f; 692 data[0] = 0x9c5f;
diff --git a/arch/cris/kernel/profile.c b/arch/cris/kernel/profile.c
index 69c52189f044..f60ab785f235 100644
--- a/arch/cris/kernel/profile.c
+++ b/arch/cris/kernel/profile.c
@@ -59,7 +59,7 @@ static int
59__init init_cris_profile(void) 59__init init_cris_profile(void)
60{ 60{
61 struct proc_dir_entry *entry; 61 struct proc_dir_entry *entry;
62 sample_buffer = (char*)kmalloc(SAMPLE_BUFFER_SIZE, GFP_KERNEL); 62 sample_buffer = kmalloc(SAMPLE_BUFFER_SIZE, GFP_KERNEL);
63 sample_buffer_pos = sample_buffer; 63 sample_buffer_pos = sample_buffer;
64 entry = create_proc_entry("system_profile", S_IWUSR | S_IRUGO, NULL); 64 entry = create_proc_entry("system_profile", S_IWUSR | S_IRUGO, NULL);
65 if (entry) { 65 if (entry) {
diff --git a/arch/h8300/kernel/ints.c b/arch/h8300/kernel/ints.c
index 1bfc77e391d5..587ef7f4fcc7 100644
--- a/arch/h8300/kernel/ints.c
+++ b/arch/h8300/kernel/ints.c
@@ -141,7 +141,7 @@ int request_irq(unsigned int irq,
141 return -EBUSY; 141 return -EBUSY;
142 142
143 if (use_kmalloc) 143 if (use_kmalloc)
144 irq_handle = (irq_handler_t *)kmalloc(sizeof(irq_handler_t), GFP_ATOMIC); 144 irq_handle = kmalloc(sizeof(irq_handler_t), GFP_ATOMIC);
145 else { 145 else {
146 /* use bootmem allocater */ 146 /* use bootmem allocater */
147 irq_handle = (irq_handler_t *)alloc_bootmem(sizeof(irq_handler_t)); 147 irq_handle = (irq_handler_t *)alloc_bootmem(sizeof(irq_handler_t));
diff --git a/arch/h8300/platform/h8s/ints.c b/arch/h8300/platform/h8s/ints.c
index 270440de4610..567f681ddfec 100644
--- a/arch/h8300/platform/h8s/ints.c
+++ b/arch/h8300/platform/h8s/ints.c
@@ -176,7 +176,7 @@ int request_irq(unsigned int irq,
176 } 176 }
177 177
178 if (use_kmalloc) 178 if (use_kmalloc)
179 irq_handle = (irq_handler_t *)kmalloc(sizeof(irq_handler_t), GFP_ATOMIC); 179 irq_handle = kmalloc(sizeof(irq_handler_t), GFP_ATOMIC);
180 else { 180 else {
181 /* use bootmem allocater */ 181 /* use bootmem allocater */
182 irq_handle = (irq_handler_t *)alloc_bootmem(sizeof(irq_handler_t)); 182 irq_handle = (irq_handler_t *)alloc_bootmem(sizeof(irq_handler_t));
diff --git a/arch/i386/boot/compressed/.gitignore b/arch/i386/boot/compressed/.gitignore
new file mode 100644
index 000000000000..be0ed065249b
--- /dev/null
+++ b/arch/i386/boot/compressed/.gitignore
@@ -0,0 +1 @@
relocs
diff --git a/arch/i386/boot/compressed/head.S b/arch/i386/boot/compressed/head.S
index f395a4bb38bb..3517a32aaf41 100644
--- a/arch/i386/boot/compressed/head.S
+++ b/arch/i386/boot/compressed/head.S
@@ -28,7 +28,7 @@
28#include <asm/page.h> 28#include <asm/page.h>
29#include <asm/boot.h> 29#include <asm/boot.h>
30 30
31.section ".text.head" 31.section ".text.head","ax",@progbits
32 .globl startup_32 32 .globl startup_32
33 33
34startup_32: 34startup_32:
diff --git a/arch/i386/defconfig b/arch/i386/defconfig
index 3265208e5899..88b7c1cf65a2 100644
--- a/arch/i386/defconfig
+++ b/arch/i386/defconfig
@@ -1167,7 +1167,7 @@ CONFIG_USB_STORAGE=y
1167# USB Input Devices 1167# USB Input Devices
1168# 1168#
1169CONFIG_USB_HID=y 1169CONFIG_USB_HID=y
1170# CONFIG_USB_HID_POWERBOOK is not set 1170# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1171# CONFIG_HID_FF is not set 1171# CONFIG_HID_FF is not set
1172# CONFIG_USB_HIDDEV is not set 1172# CONFIG_USB_HIDDEV is not set
1173# CONFIG_USB_AIPTEK is not set 1173# CONFIG_USB_AIPTEK is not set
@@ -1493,8 +1493,6 @@ CONFIG_DEBUG_BUGVERBOSE=y
1493# CONFIG_DEBUG_VM is not set 1493# CONFIG_DEBUG_VM is not set
1494# CONFIG_DEBUG_LIST is not set 1494# CONFIG_DEBUG_LIST is not set
1495# CONFIG_FRAME_POINTER is not set 1495# CONFIG_FRAME_POINTER is not set
1496CONFIG_UNWIND_INFO=y
1497CONFIG_STACK_UNWIND=y
1498# CONFIG_FORCED_INLINING is not set 1496# CONFIG_FORCED_INLINING is not set
1499# CONFIG_HEADERS_CHECK is not set 1497# CONFIG_HEADERS_CHECK is not set
1500# CONFIG_RCU_TORTURE_TEST is not set 1498# CONFIG_RCU_TORTURE_TEST is not set
diff --git a/arch/i386/kernel/acpi/boot.c b/arch/i386/kernel/acpi/boot.c
index c8f96cff07c6..094300b3a81f 100644
--- a/arch/i386/kernel/acpi/boot.c
+++ b/arch/i386/kernel/acpi/boot.c
@@ -1327,3 +1327,25 @@ static int __init setup_acpi_sci(char *s)
1327 return 0; 1327 return 0;
1328} 1328}
1329early_param("acpi_sci", setup_acpi_sci); 1329early_param("acpi_sci", setup_acpi_sci);
1330
1331int __acpi_acquire_global_lock(unsigned int *lock)
1332{
1333 unsigned int old, new, val;
1334 do {
1335 old = *lock;
1336 new = (((old & ~0x3) + 2) + ((old >> 1) & 0x1));
1337 val = cmpxchg(lock, old, new);
1338 } while (unlikely (val != old));
1339 return (new < 3) ? -1 : 0;
1340}
1341
1342int __acpi_release_global_lock(unsigned int *lock)
1343{
1344 unsigned int old, new, val;
1345 do {
1346 old = *lock;
1347 new = old & ~0x3;
1348 val = cmpxchg(lock, old, new);
1349 } while (unlikely (val != old));
1350 return old & 0x1;
1351}
diff --git a/arch/i386/kernel/apm.c b/arch/i386/kernel/apm.c
index a97847da9ed5..199016927541 100644
--- a/arch/i386/kernel/apm.c
+++ b/arch/i386/kernel/apm.c
@@ -785,7 +785,11 @@ static int apm_do_idle(void)
785 polling = !!(current_thread_info()->status & TS_POLLING); 785 polling = !!(current_thread_info()->status & TS_POLLING);
786 if (polling) { 786 if (polling) {
787 current_thread_info()->status &= ~TS_POLLING; 787 current_thread_info()->status &= ~TS_POLLING;
788 smp_mb__after_clear_bit(); 788 /*
789 * TS_POLLING-cleared state must be visible before we
790 * test NEED_RESCHED:
791 */
792 smp_mb();
789 } 793 }
790 if (!need_resched()) { 794 if (!need_resched()) {
791 idled = 1; 795 idled = 1;
@@ -1604,7 +1608,7 @@ static int do_open(struct inode * inode, struct file * filp)
1604{ 1608{
1605 struct apm_user * as; 1609 struct apm_user * as;
1606 1610
1607 as = (struct apm_user *)kmalloc(sizeof(*as), GFP_KERNEL); 1611 as = kmalloc(sizeof(*as), GFP_KERNEL);
1608 if (as == NULL) { 1612 if (as == NULL) {
1609 printk(KERN_ERR "apm: cannot allocate struct of size %d bytes\n", 1613 printk(KERN_ERR "apm: cannot allocate struct of size %d bytes\n",
1610 sizeof(*as)); 1614 sizeof(*as));
diff --git a/arch/i386/kernel/e820.c b/arch/i386/kernel/e820.c
index 2f7d0a92fd7c..f391abcf7da9 100644
--- a/arch/i386/kernel/e820.c
+++ b/arch/i386/kernel/e820.c
@@ -668,7 +668,7 @@ void __init register_bootmem_low_pages(unsigned long max_low_pfn)
668 } 668 }
669} 669}
670 670
671void __init register_memory(void) 671void __init e820_register_memory(void)
672{ 672{
673 unsigned long gapstart, gapsize, round; 673 unsigned long gapstart, gapsize, round;
674 unsigned long long last; 674 unsigned long long last;
diff --git a/arch/i386/kernel/entry.S b/arch/i386/kernel/entry.S
index de34b7fed3c1..06461b8b715d 100644
--- a/arch/i386/kernel/entry.S
+++ b/arch/i386/kernel/entry.S
@@ -979,38 +979,6 @@ ENTRY(spurious_interrupt_bug)
979 jmp error_code 979 jmp error_code
980 CFI_ENDPROC 980 CFI_ENDPROC
981 981
982#ifdef CONFIG_STACK_UNWIND
983ENTRY(arch_unwind_init_running)
984 CFI_STARTPROC
985 movl 4(%esp), %edx
986 movl (%esp), %ecx
987 leal 4(%esp), %eax
988 movl %ebx, PT_EBX(%edx)
989 xorl %ebx, %ebx
990 movl %ebx, PT_ECX(%edx)
991 movl %ebx, PT_EDX(%edx)
992 movl %esi, PT_ESI(%edx)
993 movl %edi, PT_EDI(%edx)
994 movl %ebp, PT_EBP(%edx)
995 movl %ebx, PT_EAX(%edx)
996 movl $__USER_DS, PT_DS(%edx)
997 movl $__USER_DS, PT_ES(%edx)
998 movl $0, PT_GS(%edx)
999 movl %ebx, PT_ORIG_EAX(%edx)
1000 movl %ecx, PT_EIP(%edx)
1001 movl 12(%esp), %ecx
1002 movl $__KERNEL_CS, PT_CS(%edx)
1003 movl %ebx, PT_EFLAGS(%edx)
1004 movl %eax, PT_OLDESP(%edx)
1005 movl 8(%esp), %eax
1006 movl %ecx, 8(%esp)
1007 movl PT_EBX(%edx), %ebx
1008 movl $__KERNEL_DS, PT_OLDSS(%edx)
1009 jmpl *%eax
1010 CFI_ENDPROC
1011ENDPROC(arch_unwind_init_running)
1012#endif
1013
1014ENTRY(kernel_thread_helper) 982ENTRY(kernel_thread_helper)
1015 pushl $0 # fake return address for unwinder 983 pushl $0 # fake return address for unwinder
1016 CFI_STARTPROC 984 CFI_STARTPROC
diff --git a/arch/i386/kernel/microcode.c b/arch/i386/kernel/microcode.c
index 972346604f9d..c8fa13721bcb 100644
--- a/arch/i386/kernel/microcode.c
+++ b/arch/i386/kernel/microcode.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Intel CPU Microcode Update Driver for Linux 2 * Intel CPU Microcode Update Driver for Linux
3 * 3 *
4 * Copyright (C) 2000-2004 Tigran Aivazian 4 * Copyright (C) 2000-2006 Tigran Aivazian <tigran@aivazian.fsnet.co.uk>
5 * 2006 Shaohua Li <shaohua.li@intel.com> 5 * 2006 Shaohua Li <shaohua.li@intel.com>
6 * 6 *
7 * This driver allows to upgrade microcode on Intel processors 7 * This driver allows to upgrade microcode on Intel processors
@@ -92,7 +92,7 @@
92#include <asm/processor.h> 92#include <asm/processor.h>
93 93
94MODULE_DESCRIPTION("Intel CPU (IA-32) Microcode Update Driver"); 94MODULE_DESCRIPTION("Intel CPU (IA-32) Microcode Update Driver");
95MODULE_AUTHOR("Tigran Aivazian <tigran@veritas.com>"); 95MODULE_AUTHOR("Tigran Aivazian <tigran@aivazian.fsnet.co.uk>");
96MODULE_LICENSE("GPL"); 96MODULE_LICENSE("GPL");
97 97
98#define MICROCODE_VERSION "1.14a" 98#define MICROCODE_VERSION "1.14a"
@@ -722,7 +722,7 @@ mc_cpu_callback(struct notifier_block *nb, unsigned long action, void *hcpu)
722 return NOTIFY_OK; 722 return NOTIFY_OK;
723} 723}
724 724
725static struct notifier_block mc_cpu_notifier = { 725static struct notifier_block __cpuinitdata mc_cpu_notifier = {
726 .notifier_call = mc_cpu_callback, 726 .notifier_call = mc_cpu_callback,
727}; 727};
728 728
@@ -752,7 +752,7 @@ static int __init microcode_init (void)
752 register_hotcpu_notifier(&mc_cpu_notifier); 752 register_hotcpu_notifier(&mc_cpu_notifier);
753 753
754 printk(KERN_INFO 754 printk(KERN_INFO
755 "IA-32 Microcode Update Driver: v" MICROCODE_VERSION " <tigran@veritas.com>\n"); 755 "IA-32 Microcode Update Driver: v" MICROCODE_VERSION " <tigran@aivazian.fsnet.co.uk>\n");
756 return 0; 756 return 0;
757} 757}
758 758
diff --git a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c
index 99308510a17c..c641056233a6 100644
--- a/arch/i386/kernel/process.c
+++ b/arch/i386/kernel/process.c
@@ -102,7 +102,12 @@ void default_idle(void)
102{ 102{
103 if (!hlt_counter && boot_cpu_data.hlt_works_ok) { 103 if (!hlt_counter && boot_cpu_data.hlt_works_ok) {
104 current_thread_info()->status &= ~TS_POLLING; 104 current_thread_info()->status &= ~TS_POLLING;
105 smp_mb__after_clear_bit(); 105 /*
106 * TS_POLLING-cleared state must be visible before we
107 * test NEED_RESCHED:
108 */
109 smp_mb();
110
106 local_irq_disable(); 111 local_irq_disable();
107 if (!need_resched()) 112 if (!need_resched())
108 safe_halt(); /* enables interrupts racelessly */ 113 safe_halt(); /* enables interrupts racelessly */
diff --git a/arch/i386/kernel/ptrace.c b/arch/i386/kernel/ptrace.c
index f3f94ac5736a..af8aabe85800 100644
--- a/arch/i386/kernel/ptrace.c
+++ b/arch/i386/kernel/ptrace.c
@@ -45,7 +45,7 @@
45/* 45/*
46 * Offset of eflags on child stack.. 46 * Offset of eflags on child stack..
47 */ 47 */
48#define EFL_OFFSET ((EFL-2)*4-sizeof(struct pt_regs)) 48#define EFL_OFFSET offsetof(struct pt_regs, eflags)
49 49
50static inline struct pt_regs *get_child_regs(struct task_struct *task) 50static inline struct pt_regs *get_child_regs(struct task_struct *task)
51{ 51{
@@ -54,24 +54,24 @@ static inline struct pt_regs *get_child_regs(struct task_struct *task)
54} 54}
55 55
56/* 56/*
57 * this routine will get a word off of the processes privileged stack. 57 * This routine will get a word off of the processes privileged stack.
58 * the offset is how far from the base addr as stored in the TSS. 58 * the offset is bytes into the pt_regs structure on the stack.
59 * this routine assumes that all the privileged stacks are in our 59 * This routine assumes that all the privileged stacks are in our
60 * data space. 60 * data space.
61 */ 61 */
62static inline int get_stack_long(struct task_struct *task, int offset) 62static inline int get_stack_long(struct task_struct *task, int offset)
63{ 63{
64 unsigned char *stack; 64 unsigned char *stack;
65 65
66 stack = (unsigned char *)task->thread.esp0; 66 stack = (unsigned char *)task->thread.esp0 - sizeof(struct pt_regs);
67 stack += offset; 67 stack += offset;
68 return (*((int *)stack)); 68 return (*((int *)stack));
69} 69}
70 70
71/* 71/*
72 * this routine will put a word on the processes privileged stack. 72 * This routine will put a word on the processes privileged stack.
73 * the offset is how far from the base addr as stored in the TSS. 73 * the offset is bytes into the pt_regs structure on the stack.
74 * this routine assumes that all the privileged stacks are in our 74 * This routine assumes that all the privileged stacks are in our
75 * data space. 75 * data space.
76 */ 76 */
77static inline int put_stack_long(struct task_struct *task, int offset, 77static inline int put_stack_long(struct task_struct *task, int offset,
@@ -79,7 +79,7 @@ static inline int put_stack_long(struct task_struct *task, int offset,
79{ 79{
80 unsigned char * stack; 80 unsigned char * stack;
81 81
82 stack = (unsigned char *) task->thread.esp0; 82 stack = (unsigned char *)task->thread.esp0 - sizeof(struct pt_regs);
83 stack += offset; 83 stack += offset;
84 *(unsigned long *) stack = data; 84 *(unsigned long *) stack = data;
85 return 0; 85 return 0;
@@ -114,7 +114,7 @@ static int putreg(struct task_struct *child,
114 } 114 }
115 if (regno > ES*4) 115 if (regno > ES*4)
116 regno -= 1*4; 116 regno -= 1*4;
117 put_stack_long(child, regno - sizeof(struct pt_regs), value); 117 put_stack_long(child, regno, value);
118 return 0; 118 return 0;
119} 119}
120 120
@@ -137,7 +137,6 @@ static unsigned long getreg(struct task_struct *child,
137 default: 137 default:
138 if (regno > ES*4) 138 if (regno > ES*4)
139 regno -= 1*4; 139 regno -= 1*4;
140 regno = regno - sizeof(struct pt_regs);
141 retval &= get_stack_long(child, regno); 140 retval &= get_stack_long(child, regno);
142 } 141 }
143 return retval; 142 return retval;
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c
index 79df6e612dbd..6f6cb7b31d18 100644
--- a/arch/i386/kernel/setup.c
+++ b/arch/i386/kernel/setup.c
@@ -639,7 +639,7 @@ void __init setup_arch(char **cmdline_p)
639 get_smp_config(); 639 get_smp_config();
640#endif 640#endif
641 641
642 register_memory(); 642 e820_register_memory();
643 643
644#ifdef CONFIG_VT 644#ifdef CONFIG_VT
645#if defined(CONFIG_VGA_CONSOLE) 645#if defined(CONFIG_VGA_CONSOLE)
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c
index b0f84e5778ad..aef39be81361 100644
--- a/arch/i386/kernel/smpboot.c
+++ b/arch/i386/kernel/smpboot.c
@@ -69,9 +69,7 @@ static int __devinitdata smp_b_stepping;
69 69
70/* Number of siblings per CPU package */ 70/* Number of siblings per CPU package */
71int smp_num_siblings = 1; 71int smp_num_siblings = 1;
72#ifdef CONFIG_SMP
73EXPORT_SYMBOL(smp_num_siblings); 72EXPORT_SYMBOL(smp_num_siblings);
74#endif
75 73
76/* Last level cache ID of each logical CPU */ 74/* Last level cache ID of each logical CPU */
77int cpu_llc_id[NR_CPUS] __cpuinitdata = {[0 ... NR_CPUS-1] = BAD_APICID}; 75int cpu_llc_id[NR_CPUS] __cpuinitdata = {[0 ... NR_CPUS-1] = BAD_APICID};
diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c
index 2b30dbf8d117..0efad8aeb41a 100644
--- a/arch/i386/kernel/traps.c
+++ b/arch/i386/kernel/traps.c
@@ -94,11 +94,6 @@ asmlinkage void spurious_interrupt_bug(void);
94asmlinkage void machine_check(void); 94asmlinkage void machine_check(void);
95 95
96int kstack_depth_to_print = 24; 96int kstack_depth_to_print = 24;
97#ifdef CONFIG_STACK_UNWIND
98static int call_trace = 1;
99#else
100#define call_trace (-1)
101#endif
102ATOMIC_NOTIFIER_HEAD(i386die_chain); 97ATOMIC_NOTIFIER_HEAD(i386die_chain);
103 98
104int register_die_notifier(struct notifier_block *nb) 99int register_die_notifier(struct notifier_block *nb)
@@ -152,33 +147,6 @@ static inline unsigned long print_context_stack(struct thread_info *tinfo,
152 return ebp; 147 return ebp;
153} 148}
154 149
155struct ops_and_data {
156 struct stacktrace_ops *ops;
157 void *data;
158};
159
160static asmlinkage int
161dump_trace_unwind(struct unwind_frame_info *info, void *data)
162{
163 struct ops_and_data *oad = (struct ops_and_data *)data;
164 int n = 0;
165 unsigned long sp = UNW_SP(info);
166
167 if (arch_unw_user_mode(info))
168 return -1;
169 while (unwind(info) == 0 && UNW_PC(info)) {
170 n++;
171 oad->ops->address(oad->data, UNW_PC(info));
172 if (arch_unw_user_mode(info))
173 break;
174 if ((sp & ~(PAGE_SIZE - 1)) == (UNW_SP(info) & ~(PAGE_SIZE - 1))
175 && sp > UNW_SP(info))
176 break;
177 sp = UNW_SP(info);
178 }
179 return n;
180}
181
182#define MSG(msg) ops->warning(data, msg) 150#define MSG(msg) ops->warning(data, msg)
183 151
184void dump_trace(struct task_struct *task, struct pt_regs *regs, 152void dump_trace(struct task_struct *task, struct pt_regs *regs,
@@ -190,41 +158,6 @@ void dump_trace(struct task_struct *task, struct pt_regs *regs,
190 if (!task) 158 if (!task)
191 task = current; 159 task = current;
192 160
193 if (call_trace >= 0) {
194 int unw_ret = 0;
195 struct unwind_frame_info info;
196 struct ops_and_data oad = { .ops = ops, .data = data };
197
198 if (regs) {
199 if (unwind_init_frame_info(&info, task, regs) == 0)
200 unw_ret = dump_trace_unwind(&info, &oad);
201 } else if (task == current)
202 unw_ret = unwind_init_running(&info, dump_trace_unwind,
203 &oad);
204 else {
205 if (unwind_init_blocked(&info, task) == 0)
206 unw_ret = dump_trace_unwind(&info, &oad);
207 }
208 if (unw_ret > 0) {
209 if (call_trace == 1 && !arch_unw_user_mode(&info)) {
210 ops->warning_symbol(data,
211 "DWARF2 unwinder stuck at %s",
212 UNW_PC(&info));
213 if (UNW_SP(&info) >= PAGE_OFFSET) {
214 MSG("Leftover inexact backtrace:");
215 stack = (void *)UNW_SP(&info);
216 if (!stack)
217 return;
218 ebp = UNW_FP(&info);
219 } else
220 MSG("Full inexact backtrace again:");
221 } else if (call_trace >= 1)
222 return;
223 else
224 MSG("Full inexact backtrace again:");
225 } else
226 MSG("Inexact backtrace:");
227 }
228 if (!stack) { 161 if (!stack) {
229 unsigned long dummy; 162 unsigned long dummy;
230 stack = &dummy; 163 stack = &dummy;
@@ -1258,19 +1191,3 @@ static int __init kstack_setup(char *s)
1258 return 1; 1191 return 1;
1259} 1192}
1260__setup("kstack=", kstack_setup); 1193__setup("kstack=", kstack_setup);
1261
1262#ifdef CONFIG_STACK_UNWIND
1263static int __init call_trace_setup(char *s)
1264{
1265 if (strcmp(s, "old") == 0)
1266 call_trace = -1;
1267 else if (strcmp(s, "both") == 0)
1268 call_trace = 0;
1269 else if (strcmp(s, "newfallback") == 0)
1270 call_trace = 1;
1271 else if (strcmp(s, "new") == 2)
1272 call_trace = 2;
1273 return 1;
1274}
1275__setup("call_trace=", call_trace_setup);
1276#endif
diff --git a/arch/i386/mm/discontig.c b/arch/i386/mm/discontig.c
index 103b76e56a94..e0c390d6ceb5 100644
--- a/arch/i386/mm/discontig.c
+++ b/arch/i386/mm/discontig.c
@@ -405,3 +405,31 @@ void __init set_highmem_pages_init(int bad_ppro)
405 totalram_pages += totalhigh_pages; 405 totalram_pages += totalhigh_pages;
406#endif 406#endif
407} 407}
408
409#ifdef CONFIG_MEMORY_HOTPLUG
410int paddr_to_nid(u64 addr)
411{
412 int nid;
413 unsigned long pfn = PFN_DOWN(addr);
414
415 for_each_node(nid)
416 if (node_start_pfn[nid] <= pfn &&
417 pfn < node_end_pfn[nid])
418 return nid;
419
420 return -1;
421}
422
423/*
424 * This function is used to ask node id BEFORE memmap and mem_section's
425 * initialization (pfn_to_nid() can't be used yet).
426 * If _PXM is not defined on ACPI's DSDT, node id must be found by this.
427 */
428int memory_add_physaddr_to_nid(u64 addr)
429{
430 int nid = paddr_to_nid(addr);
431 return (nid >= 0) ? nid : 0;
432}
433
434EXPORT_SYMBOL_GPL(memory_add_physaddr_to_nid);
435#endif
diff --git a/arch/i386/mm/init.c b/arch/i386/mm/init.c
index 84697dfc7348..60a7e57af197 100644
--- a/arch/i386/mm/init.c
+++ b/arch/i386/mm/init.c
@@ -673,16 +673,10 @@ void __init mem_init(void)
673#endif 673#endif
674} 674}
675 675
676/*
677 * this is for the non-NUMA, single node SMP system case.
678 * Specifically, in the case of x86, we will always add
679 * memory to the highmem for now.
680 */
681#ifdef CONFIG_MEMORY_HOTPLUG 676#ifdef CONFIG_MEMORY_HOTPLUG
682#ifndef CONFIG_NEED_MULTIPLE_NODES
683int arch_add_memory(int nid, u64 start, u64 size) 677int arch_add_memory(int nid, u64 start, u64 size)
684{ 678{
685 struct pglist_data *pgdata = &contig_page_data; 679 struct pglist_data *pgdata = NODE_DATA(nid);
686 struct zone *zone = pgdata->node_zones + ZONE_HIGHMEM; 680 struct zone *zone = pgdata->node_zones + ZONE_HIGHMEM;
687 unsigned long start_pfn = start >> PAGE_SHIFT; 681 unsigned long start_pfn = start >> PAGE_SHIFT;
688 unsigned long nr_pages = size >> PAGE_SHIFT; 682 unsigned long nr_pages = size >> PAGE_SHIFT;
@@ -694,7 +688,7 @@ int remove_memory(u64 start, u64 size)
694{ 688{
695 return -EINVAL; 689 return -EINVAL;
696} 690}
697#endif 691EXPORT_SYMBOL_GPL(remove_memory);
698#endif 692#endif
699 693
700struct kmem_cache *pgd_cache; 694struct kmem_cache *pgd_cache;
diff --git a/arch/i386/pci/fixup.c b/arch/i386/pci/fixup.c
index cde1170b01a1..8053b17ab647 100644
--- a/arch/i386/pci/fixup.c
+++ b/arch/i386/pci/fixup.c
@@ -115,7 +115,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371AB_3, pci
115#define VIA_8363_KL133_REVISION_ID 0x81 115#define VIA_8363_KL133_REVISION_ID 0x81
116#define VIA_8363_KM133_REVISION_ID 0x84 116#define VIA_8363_KM133_REVISION_ID 0x84
117 117
118static void __devinit pci_fixup_via_northbridge_bug(struct pci_dev *d) 118static void pci_fixup_via_northbridge_bug(struct pci_dev *d)
119{ 119{
120 u8 v; 120 u8 v;
121 u8 revision; 121 u8 revision;
@@ -151,6 +151,10 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8363_0, pci_fixup_
151DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8622, pci_fixup_via_northbridge_bug); 151DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8622, pci_fixup_via_northbridge_bug);
152DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8361, pci_fixup_via_northbridge_bug); 152DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8361, pci_fixup_via_northbridge_bug);
153DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8367_0, pci_fixup_via_northbridge_bug); 153DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8367_0, pci_fixup_via_northbridge_bug);
154DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8363_0, pci_fixup_via_northbridge_bug);
155DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8622, pci_fixup_via_northbridge_bug);
156DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8361, pci_fixup_via_northbridge_bug);
157DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8367_0, pci_fixup_via_northbridge_bug);
154 158
155/* 159/*
156 * For some reasons Intel decided that certain parts of their 160 * For some reasons Intel decided that certain parts of their
@@ -181,7 +185,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_ANY_ID, pci_fixup_transparent_
181 * issue another HALT within 80 ns of the initial HALT, the failure condition 185 * issue another HALT within 80 ns of the initial HALT, the failure condition
182 * is avoided. 186 * is avoided.
183 */ 187 */
184static void __init pci_fixup_nforce2(struct pci_dev *dev) 188static void pci_fixup_nforce2(struct pci_dev *dev)
185{ 189{
186 u32 val; 190 u32 val;
187 191
@@ -204,6 +208,7 @@ static void __init pci_fixup_nforce2(struct pci_dev *dev)
204 } 208 }
205} 209}
206DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE2, pci_fixup_nforce2); 210DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE2, pci_fixup_nforce2);
211DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE2, pci_fixup_nforce2);
207 212
208/* Max PCI Express root ports */ 213/* Max PCI Express root ports */
209#define MAX_PCIEROOT 6 214#define MAX_PCIEROOT 6
@@ -419,7 +424,7 @@ DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_TI, 0x8032,
419 * Prevent the BIOS trapping accesses to the Cyrix CS5530A video device 424 * Prevent the BIOS trapping accesses to the Cyrix CS5530A video device
420 * configuration space. 425 * configuration space.
421 */ 426 */
422static void __devinit pci_early_fixup_cyrix_5530(struct pci_dev *dev) 427static void pci_early_fixup_cyrix_5530(struct pci_dev *dev)
423{ 428{
424 u8 r; 429 u8 r;
425 /* clear 'F4 Video Configuration Trap' bit */ 430 /* clear 'F4 Video Configuration Trap' bit */
@@ -429,3 +434,5 @@ static void __devinit pci_early_fixup_cyrix_5530(struct pci_dev *dev)
429} 434}
430DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_5530_LEGACY, 435DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_5530_LEGACY,
431 pci_early_fixup_cyrix_5530); 436 pci_early_fixup_cyrix_5530);
437DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_5530_LEGACY,
438 pci_early_fixup_cyrix_5530);
diff --git a/arch/i386/pci/mmconfig.c b/arch/i386/pci/mmconfig.c
index c6b6d9bbc453..e2616a266e13 100644
--- a/arch/i386/pci/mmconfig.c
+++ b/arch/i386/pci/mmconfig.c
@@ -26,6 +26,7 @@
26 26
27/* The base address of the last MMCONFIG device accessed */ 27/* The base address of the last MMCONFIG device accessed */
28static u32 mmcfg_last_accessed_device; 28static u32 mmcfg_last_accessed_device;
29static int mmcfg_last_accessed_cpu;
29 30
30static DECLARE_BITMAP(fallback_slots, MAX_CHECK_BUS*32); 31static DECLARE_BITMAP(fallback_slots, MAX_CHECK_BUS*32);
31 32
@@ -73,8 +74,11 @@ static u32 get_base_addr(unsigned int seg, int bus, unsigned devfn)
73static void pci_exp_set_dev_base(unsigned int base, int bus, int devfn) 74static void pci_exp_set_dev_base(unsigned int base, int bus, int devfn)
74{ 75{
75 u32 dev_base = base | (bus << 20) | (devfn << 12); 76 u32 dev_base = base | (bus << 20) | (devfn << 12);
76 if (dev_base != mmcfg_last_accessed_device) { 77 int cpu = smp_processor_id();
78 if (dev_base != mmcfg_last_accessed_device ||
79 cpu != mmcfg_last_accessed_cpu) {
77 mmcfg_last_accessed_device = dev_base; 80 mmcfg_last_accessed_device = dev_base;
81 mmcfg_last_accessed_cpu = cpu;
78 set_fixmap_nocache(FIX_PCIE_MCFG, dev_base); 82 set_fixmap_nocache(FIX_PCIE_MCFG, dev_base);
79 } 83 }
80} 84}
diff --git a/arch/ia64/kernel/cpufreq/acpi-cpufreq.c b/arch/ia64/kernel/cpufreq/acpi-cpufreq.c
index 088f130197ae..15c08d52f09f 100644
--- a/arch/ia64/kernel/cpufreq/acpi-cpufreq.c
+++ b/arch/ia64/kernel/cpufreq/acpi-cpufreq.c
@@ -276,12 +276,10 @@ acpi_cpufreq_cpu_init (
276 276
277 dprintk("acpi_cpufreq_cpu_init\n"); 277 dprintk("acpi_cpufreq_cpu_init\n");
278 278
279 data = kmalloc(sizeof(struct cpufreq_acpi_io), GFP_KERNEL); 279 data = kzalloc(sizeof(struct cpufreq_acpi_io), GFP_KERNEL);
280 if (!data) 280 if (!data)
281 return (-ENOMEM); 281 return (-ENOMEM);
282 282
283 memset(data, 0, sizeof(struct cpufreq_acpi_io));
284
285 acpi_io_data[cpu] = data; 283 acpi_io_data[cpu] = data;
286 284
287 result = acpi_processor_register_performance(&data->acpi_data, cpu); 285 result = acpi_processor_register_performance(&data->acpi_data, cpu);
diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c
index 51922b98086a..17685abaf496 100644
--- a/arch/ia64/kernel/process.c
+++ b/arch/ia64/kernel/process.c
@@ -268,10 +268,16 @@ cpu_idle (void)
268 268
269 /* endless idle loop with no priority at all */ 269 /* endless idle loop with no priority at all */
270 while (1) { 270 while (1) {
271 if (can_do_pal_halt) 271 if (can_do_pal_halt) {
272 current_thread_info()->status &= ~TS_POLLING; 272 current_thread_info()->status &= ~TS_POLLING;
273 else 273 /*
274 * TS_POLLING-cleared state must be visible before we
275 * test NEED_RESCHED:
276 */
277 smp_mb();
278 } else {
274 current_thread_info()->status |= TS_POLLING; 279 current_thread_info()->status |= TS_POLLING;
280 }
275 281
276 if (!need_resched()) { 282 if (!need_resched()) {
277 void (*idle)(void); 283 void (*idle)(void);
diff --git a/arch/ia64/sn/kernel/sn2/sn_hwperf.c b/arch/ia64/sn/kernel/sn2/sn_hwperf.c
index 462ea178f49a..33367996d72d 100644
--- a/arch/ia64/sn/kernel/sn2/sn_hwperf.c
+++ b/arch/ia64/sn/kernel/sn2/sn_hwperf.c
@@ -189,7 +189,7 @@ static void print_pci_topology(struct seq_file *s)
189 int e; 189 int e;
190 190
191 for (sz = PAGE_SIZE; sz < 16 * PAGE_SIZE; sz += PAGE_SIZE) { 191 for (sz = PAGE_SIZE; sz < 16 * PAGE_SIZE; sz += PAGE_SIZE) {
192 if (!(p = (char *)kmalloc(sz, GFP_KERNEL))) 192 if (!(p = kmalloc(sz, GFP_KERNEL)))
193 break; 193 break;
194 e = ia64_sn_ioif_get_pci_topology(__pa(p), sz); 194 e = ia64_sn_ioif_get_pci_topology(__pa(p), sz);
195 if (e == SALRET_OK) 195 if (e == SALRET_OK)
diff --git a/arch/m68k/mm/kmap.c b/arch/m68k/mm/kmap.c
index b54ef1726c55..46b7d6035aab 100644
--- a/arch/m68k/mm/kmap.c
+++ b/arch/m68k/mm/kmap.c
@@ -59,7 +59,7 @@ static struct vm_struct *get_io_area(unsigned long size)
59 unsigned long addr; 59 unsigned long addr;
60 struct vm_struct **p, *tmp, *area; 60 struct vm_struct **p, *tmp, *area;
61 61
62 area = (struct vm_struct *)kmalloc(sizeof(*area), GFP_KERNEL); 62 area = kmalloc(sizeof(*area), GFP_KERNEL);
63 if (!area) 63 if (!area)
64 return NULL; 64 return NULL;
65 addr = KMAP_START; 65 addr = KMAP_START;
diff --git a/arch/mips/kernel/apm.c b/arch/mips/kernel/apm.c
index 528e731049c1..ba16d07588cb 100644
--- a/arch/mips/kernel/apm.c
+++ b/arch/mips/kernel/apm.c
@@ -356,7 +356,7 @@ static int apm_open(struct inode * inode, struct file * filp)
356{ 356{
357 struct apm_user *as; 357 struct apm_user *as;
358 358
359 as = (struct apm_user *)kzalloc(sizeof(*as), GFP_KERNEL); 359 as = kzalloc(sizeof(*as), GFP_KERNEL);
360 if (as) { 360 if (as) {
361 /* 361 /*
362 * XXX - this is a tiny bit broken, when we consider BSD 362 * XXX - this is a tiny bit broken, when we consider BSD
diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c
index ea2d15370bb7..30245c09d025 100644
--- a/arch/mips/mm/init.c
+++ b/arch/mips/mm/init.c
@@ -203,6 +203,31 @@ static inline void kunmap_coherent(struct page *page)
203 preempt_check_resched(); 203 preempt_check_resched();
204} 204}
205 205
206void copy_user_highpage(struct page *to, struct page *from,
207 unsigned long vaddr, struct vm_area_struct *vma)
208{
209 void *vfrom, *vto;
210
211 vto = kmap_atomic(to, KM_USER1);
212 if (cpu_has_dc_aliases) {
213 vfrom = kmap_coherent(from, vaddr);
214 copy_page(vto, vfrom);
215 kunmap_coherent(from);
216 } else {
217 vfrom = kmap_atomic(from, KM_USER0);
218 copy_page(vto, vfrom);
219 kunmap_atomic(vfrom, KM_USER0);
220 }
221 if (((vma->vm_flags & VM_EXEC) && !cpu_has_ic_fills_f_dc) ||
222 pages_do_alias((unsigned long)vto, vaddr & PAGE_MASK))
223 flush_data_cache_page((unsigned long)vto);
224 kunmap_atomic(vto, KM_USER1);
225 /* Make sure this page is cleared on other CPU's too before using it */
226 smp_wmb();
227}
228
229EXPORT_SYMBOL(copy_user_highpage);
230
206void copy_to_user_page(struct vm_area_struct *vma, 231void copy_to_user_page(struct vm_area_struct *vma,
207 struct page *page, unsigned long vaddr, void *dst, const void *src, 232 struct page *page, unsigned long vaddr, void *dst, const void *src,
208 unsigned long len) 233 unsigned long len)
diff --git a/arch/parisc/hpux/sys_hpux.c b/arch/parisc/hpux/sys_hpux.c
index d88309209f56..04c2ff444396 100644
--- a/arch/parisc/hpux/sys_hpux.c
+++ b/arch/parisc/hpux/sys_hpux.c
@@ -475,7 +475,7 @@ int hpux_sysfs(int opcode, unsigned long arg1, unsigned long arg2)
475 printk(KERN_DEBUG "len of arg1 = %d\n", len); 475 printk(KERN_DEBUG "len of arg1 = %d\n", len);
476 if (len == 0) 476 if (len == 0)
477 return 0; 477 return 0;
478 fsname = (char *) kmalloc(len, GFP_KERNEL); 478 fsname = kmalloc(len, GFP_KERNEL);
479 if ( !fsname ) { 479 if ( !fsname ) {
480 printk(KERN_DEBUG "failed to kmalloc fsname\n"); 480 printk(KERN_DEBUG "failed to kmalloc fsname\n");
481 return 0; 481 return 0;
diff --git a/arch/parisc/kernel/unwind.c b/arch/parisc/kernel/unwind.c
index 920bdbf8404f..c10ab47d81fa 100644
--- a/arch/parisc/kernel/unwind.c
+++ b/arch/parisc/kernel/unwind.c
@@ -343,7 +343,7 @@ void unwind_frame_init_from_blocked_task(struct unwind_frame_info *info, struct
343 struct pt_regs *r = &t->thread.regs; 343 struct pt_regs *r = &t->thread.regs;
344 struct pt_regs *r2; 344 struct pt_regs *r2;
345 345
346 r2 = (struct pt_regs *)kmalloc(sizeof(struct pt_regs), GFP_KERNEL); 346 r2 = kmalloc(sizeof(struct pt_regs), GFP_KERNEL);
347 if (!r2) 347 if (!r2)
348 return; 348 return;
349 *r2 = *r; 349 *r2 = *r;
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 343dbcfdf08a..98392fb5f581 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -152,6 +152,9 @@ $(obj)/zImage.initrd.miboot: vmlinux $(wrapperbits)
152$(obj)/zImage.ps3: vmlinux 152$(obj)/zImage.ps3: vmlinux
153 $(STRIP) -s -R .comment $< -o $@ 153 $(STRIP) -s -R .comment $< -o $@
154 154
155$(obj)/zImage.initrd.ps3: vmlinux
156 @echo " WARNING zImage.initrd.ps3 not supported (yet)"
157
155$(obj)/uImage: vmlinux $(wrapperbits) 158$(obj)/uImage: vmlinux $(wrapperbits)
156 $(call cmd,wrap,uboot) 159 $(call cmd,wrap,uboot)
157 160
diff --git a/arch/powerpc/configs/cell_defconfig b/arch/powerpc/configs/cell_defconfig
index a98c982c73ad..d1d25152f74f 100644
--- a/arch/powerpc/configs/cell_defconfig
+++ b/arch/powerpc/configs/cell_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.19-rc6 3# Linux kernel version: 2.6.20-rc1
4# Wed Nov 22 15:33:04 2006 4# Tue Dec 19 14:59:53 2006
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7CONFIG_64BIT=y 7CONFIG_64BIT=y
@@ -10,6 +10,8 @@ CONFIG_MMU=y
10CONFIG_GENERIC_HARDIRQS=y 10CONFIG_GENERIC_HARDIRQS=y
11CONFIG_IRQ_PER_CPU=y 11CONFIG_IRQ_PER_CPU=y
12CONFIG_RWSEM_XCHGADD_ALGORITHM=y 12CONFIG_RWSEM_XCHGADD_ALGORITHM=y
13CONFIG_ARCH_HAS_ILOG2_U32=y
14CONFIG_ARCH_HAS_ILOG2_U64=y
13CONFIG_GENERIC_HWEIGHT=y 15CONFIG_GENERIC_HWEIGHT=y
14CONFIG_GENERIC_CALIBRATE_DELAY=y 16CONFIG_GENERIC_CALIBRATE_DELAY=y
15CONFIG_GENERIC_FIND_NEXT_BIT=y 17CONFIG_GENERIC_FIND_NEXT_BIT=y
@@ -23,6 +25,7 @@ CONFIG_PPC_OF=y
23CONFIG_PPC_UDBG_16550=y 25CONFIG_PPC_UDBG_16550=y
24# CONFIG_GENERIC_TBSYNC is not set 26# CONFIG_GENERIC_TBSYNC is not set
25CONFIG_AUDIT_ARCH=y 27CONFIG_AUDIT_ARCH=y
28CONFIG_GENERIC_BUG=y
26# CONFIG_DEFAULT_UIMAGE is not set 29# CONFIG_DEFAULT_UIMAGE is not set
27 30
28# 31#
@@ -66,6 +69,7 @@ CONFIG_SYSVIPC=y
66CONFIG_IKCONFIG=y 69CONFIG_IKCONFIG=y
67CONFIG_IKCONFIG_PROC=y 70CONFIG_IKCONFIG_PROC=y
68CONFIG_CPUSETS=y 71CONFIG_CPUSETS=y
72CONFIG_SYSFS_DEPRECATED=y
69# CONFIG_RELAY is not set 73# CONFIG_RELAY is not set
70CONFIG_INITRAMFS_SOURCE="" 74CONFIG_INITRAMFS_SOURCE=""
71CONFIG_CC_OPTIMIZE_FOR_SIZE=y 75CONFIG_CC_OPTIMIZE_FOR_SIZE=y
@@ -128,14 +132,16 @@ CONFIG_PPC_MULTIPLATFORM=y
128# CONFIG_APUS is not set 132# CONFIG_APUS is not set
129# CONFIG_PPC_PSERIES is not set 133# CONFIG_PPC_PSERIES is not set
130# CONFIG_PPC_ISERIES is not set 134# CONFIG_PPC_ISERIES is not set
135# CONFIG_PPC_MPC52xx is not set
131# CONFIG_PPC_PMAC is not set 136# CONFIG_PPC_PMAC is not set
132# CONFIG_PPC_MAPLE is not set 137# CONFIG_PPC_MAPLE is not set
133# CONFIG_PPC_PASEMI is not set 138# CONFIG_PPC_PASEMI is not set
134CONFIG_PPC_CELL=y 139CONFIG_PPC_CELL=y
135CONFIG_PPC_CELL_NATIVE=y 140CONFIG_PPC_CELL_NATIVE=y
136CONFIG_PPC_IBM_CELL_BLADE=y 141CONFIG_PPC_IBM_CELL_BLADE=y
137CONFIG_UDBG_RTAS_CONSOLE=y
138CONFIG_PPC_PS3=y 142CONFIG_PPC_PS3=y
143CONFIG_PPC_NATIVE=y
144CONFIG_UDBG_RTAS_CONSOLE=y
139# CONFIG_U3_DART is not set 145# CONFIG_U3_DART is not set
140CONFIG_PPC_RTAS=y 146CONFIG_PPC_RTAS=y
141# CONFIG_RTAS_ERROR_LOGGING is not set 147# CONFIG_RTAS_ERROR_LOGGING is not set
@@ -177,12 +183,14 @@ CONFIG_CBE_CPUFREQ=m
177CONFIG_PS3_HTAB_SIZE=20 183CONFIG_PS3_HTAB_SIZE=20
178# CONFIG_PS3_DYNAMIC_DMA is not set 184# CONFIG_PS3_DYNAMIC_DMA is not set
179CONFIG_PS3_USE_LPAR_ADDR=y 185CONFIG_PS3_USE_LPAR_ADDR=y
186CONFIG_PS3_VUART=y
180 187
181# 188#
182# Kernel options 189# Kernel options
183# 190#
184# CONFIG_HZ_100 is not set 191# CONFIG_HZ_100 is not set
185CONFIG_HZ_250=y 192CONFIG_HZ_250=y
193# CONFIG_HZ_300 is not set
186# CONFIG_HZ_1000 is not set 194# CONFIG_HZ_1000 is not set
187CONFIG_HZ=250 195CONFIG_HZ=250
188CONFIG_PREEMPT_NONE=y 196CONFIG_PREEMPT_NONE=y
@@ -237,6 +245,7 @@ CONFIG_GENERIC_ISA_DMA=y
237CONFIG_PCI=y 245CONFIG_PCI=y
238CONFIG_PCI_DOMAINS=y 246CONFIG_PCI_DOMAINS=y
239CONFIG_PCIEPORTBUS=y 247CONFIG_PCIEPORTBUS=y
248# CONFIG_PCI_MULTITHREAD_PROBE is not set
240# CONFIG_PCI_DEBUG is not set 249# CONFIG_PCI_DEBUG is not set
241 250
242# 251#
@@ -270,7 +279,10 @@ CONFIG_INET=y
270CONFIG_IP_MULTICAST=y 279CONFIG_IP_MULTICAST=y
271# CONFIG_IP_ADVANCED_ROUTER is not set 280# CONFIG_IP_ADVANCED_ROUTER is not set
272CONFIG_IP_FIB_HASH=y 281CONFIG_IP_FIB_HASH=y
273# CONFIG_IP_PNP is not set 282CONFIG_IP_PNP=y
283CONFIG_IP_PNP_DHCP=y
284CONFIG_IP_PNP_BOOTP=y
285CONFIG_IP_PNP_RARP=y
274CONFIG_NET_IPIP=y 286CONFIG_NET_IPIP=y
275# CONFIG_NET_IPGRE is not set 287# CONFIG_NET_IPGRE is not set
276# CONFIG_IP_MROUTE is not set 288# CONFIG_IP_MROUTE is not set
@@ -289,6 +301,7 @@ CONFIG_INET_TCP_DIAG=y
289# CONFIG_TCP_CONG_ADVANCED is not set 301# CONFIG_TCP_CONG_ADVANCED is not set
290CONFIG_TCP_CONG_CUBIC=y 302CONFIG_TCP_CONG_CUBIC=y
291CONFIG_DEFAULT_TCP_CONG="cubic" 303CONFIG_DEFAULT_TCP_CONG="cubic"
304# CONFIG_TCP_MD5SIG is not set
292 305
293# 306#
294# IP: Virtual Server Configuration 307# IP: Virtual Server Configuration
@@ -317,31 +330,67 @@ CONFIG_NETFILTER=y
317# 330#
318# Core Netfilter Configuration 331# Core Netfilter Configuration
319# 332#
320# CONFIG_NETFILTER_NETLINK is not set 333CONFIG_NETFILTER_NETLINK=m
321# CONFIG_NETFILTER_XTABLES is not set 334CONFIG_NETFILTER_NETLINK_QUEUE=m
335CONFIG_NETFILTER_NETLINK_LOG=m
336# CONFIG_NF_CONNTRACK_ENABLED is not set
337CONFIG_NETFILTER_XTABLES=m
338CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
339CONFIG_NETFILTER_XT_TARGET_DSCP=m
340CONFIG_NETFILTER_XT_TARGET_MARK=m
341CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
342CONFIG_NETFILTER_XT_TARGET_NFLOG=m
343CONFIG_NETFILTER_XT_MATCH_COMMENT=m
344CONFIG_NETFILTER_XT_MATCH_DCCP=m
345CONFIG_NETFILTER_XT_MATCH_DSCP=m
346CONFIG_NETFILTER_XT_MATCH_ESP=m
347CONFIG_NETFILTER_XT_MATCH_LENGTH=m
348CONFIG_NETFILTER_XT_MATCH_LIMIT=m
349CONFIG_NETFILTER_XT_MATCH_MAC=m
350CONFIG_NETFILTER_XT_MATCH_MARK=m
351CONFIG_NETFILTER_XT_MATCH_POLICY=m
352CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
353CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
354CONFIG_NETFILTER_XT_MATCH_QUOTA=m
355CONFIG_NETFILTER_XT_MATCH_REALM=m
356CONFIG_NETFILTER_XT_MATCH_SCTP=m
357CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
358CONFIG_NETFILTER_XT_MATCH_STRING=m
359CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
360CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
322 361
323# 362#
324# IP: Netfilter Configuration 363# IP: Netfilter Configuration
325# 364#
326CONFIG_IP_NF_CONNTRACK=y
327# CONFIG_IP_NF_CT_ACCT is not set
328# CONFIG_IP_NF_CONNTRACK_MARK is not set
329# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
330CONFIG_IP_NF_CT_PROTO_SCTP=y
331CONFIG_IP_NF_FTP=m
332CONFIG_IP_NF_IRC=m
333# CONFIG_IP_NF_NETBIOS_NS is not set
334CONFIG_IP_NF_TFTP=m
335CONFIG_IP_NF_AMANDA=m
336# CONFIG_IP_NF_PPTP is not set
337# CONFIG_IP_NF_H323 is not set
338# CONFIG_IP_NF_SIP is not set
339CONFIG_IP_NF_QUEUE=m 365CONFIG_IP_NF_QUEUE=m
366CONFIG_IP_NF_IPTABLES=m
367CONFIG_IP_NF_MATCH_IPRANGE=m
368CONFIG_IP_NF_MATCH_TOS=m
369CONFIG_IP_NF_MATCH_RECENT=m
370CONFIG_IP_NF_MATCH_ECN=m
371CONFIG_IP_NF_MATCH_AH=m
372CONFIG_IP_NF_MATCH_TTL=m
373CONFIG_IP_NF_MATCH_OWNER=m
374CONFIG_IP_NF_MATCH_ADDRTYPE=m
375CONFIG_IP_NF_FILTER=m
376CONFIG_IP_NF_TARGET_REJECT=m
377CONFIG_IP_NF_TARGET_LOG=m
378CONFIG_IP_NF_TARGET_ULOG=m
379CONFIG_IP_NF_TARGET_TCPMSS=m
380CONFIG_IP_NF_MANGLE=m
381CONFIG_IP_NF_TARGET_TOS=m
382CONFIG_IP_NF_TARGET_ECN=m
383CONFIG_IP_NF_TARGET_TTL=m
384CONFIG_IP_NF_RAW=m
385CONFIG_IP_NF_ARPTABLES=m
386CONFIG_IP_NF_ARPFILTER=m
387CONFIG_IP_NF_ARP_MANGLE=m
340 388
341# 389#
342# IPv6: Netfilter Configuration (EXPERIMENTAL) 390# IPv6: Netfilter Configuration (EXPERIMENTAL)
343# 391#
344# CONFIG_IP6_NF_QUEUE is not set 392# CONFIG_IP6_NF_QUEUE is not set
393# CONFIG_IP6_NF_IPTABLES is not set
345 394
346# 395#
347# DCCP Configuration (EXPERIMENTAL) 396# DCCP Configuration (EXPERIMENTAL)
@@ -373,6 +422,7 @@ CONFIG_IP_NF_QUEUE=m
373# QoS and/or fair queueing 422# QoS and/or fair queueing
374# 423#
375# CONFIG_NET_SCHED is not set 424# CONFIG_NET_SCHED is not set
425CONFIG_NET_CLS_ROUTE=y
376 426
377# 427#
378# Network testing 428# Network testing
@@ -428,6 +478,7 @@ CONFIG_BLK_DEV_LOOP=y
428# CONFIG_BLK_DEV_CRYPTOLOOP is not set 478# CONFIG_BLK_DEV_CRYPTOLOOP is not set
429# CONFIG_BLK_DEV_NBD is not set 479# CONFIG_BLK_DEV_NBD is not set
430# CONFIG_BLK_DEV_SX8 is not set 480# CONFIG_BLK_DEV_SX8 is not set
481# CONFIG_BLK_DEV_UB is not set
431CONFIG_BLK_DEV_RAM=y 482CONFIG_BLK_DEV_RAM=y
432CONFIG_BLK_DEV_RAM_COUNT=16 483CONFIG_BLK_DEV_RAM_COUNT=16
433CONFIG_BLK_DEV_RAM_SIZE=131072 484CONFIG_BLK_DEV_RAM_SIZE=131072
@@ -457,6 +508,7 @@ CONFIG_IDEDISK_MULTI_MODE=y
457# CONFIG_BLK_DEV_IDECD is not set 508# CONFIG_BLK_DEV_IDECD is not set
458# CONFIG_BLK_DEV_IDETAPE is not set 509# CONFIG_BLK_DEV_IDETAPE is not set
459# CONFIG_BLK_DEV_IDEFLOPPY is not set 510# CONFIG_BLK_DEV_IDEFLOPPY is not set
511# CONFIG_BLK_DEV_IDESCSI is not set
460# CONFIG_IDE_TASK_IOCTL is not set 512# CONFIG_IDE_TASK_IOCTL is not set
461 513
462# 514#
@@ -468,7 +520,6 @@ CONFIG_IDEPCI_SHARE_IRQ=y
468# CONFIG_BLK_DEV_OFFBOARD is not set 520# CONFIG_BLK_DEV_OFFBOARD is not set
469CONFIG_BLK_DEV_GENERIC=y 521CONFIG_BLK_DEV_GENERIC=y
470# CONFIG_BLK_DEV_OPTI621 is not set 522# CONFIG_BLK_DEV_OPTI621 is not set
471# CONFIG_BLK_DEV_SL82C105 is not set
472CONFIG_BLK_DEV_IDEDMA_PCI=y 523CONFIG_BLK_DEV_IDEDMA_PCI=y
473# CONFIG_BLK_DEV_IDEDMA_FORCED is not set 524# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
474CONFIG_IDEDMA_PCI_AUTO=y 525CONFIG_IDEDMA_PCI_AUTO=y
@@ -492,6 +543,7 @@ CONFIG_BLK_DEV_AEC62XX=y
492# CONFIG_BLK_DEV_PDC202XX_NEW is not set 543# CONFIG_BLK_DEV_PDC202XX_NEW is not set
493# CONFIG_BLK_DEV_SVWKS is not set 544# CONFIG_BLK_DEV_SVWKS is not set
494CONFIG_BLK_DEV_SIIMAGE=y 545CONFIG_BLK_DEV_SIIMAGE=y
546# CONFIG_BLK_DEV_SL82C105 is not set
495# CONFIG_BLK_DEV_SLC90E66 is not set 547# CONFIG_BLK_DEV_SLC90E66 is not set
496# CONFIG_BLK_DEV_TRM290 is not set 548# CONFIG_BLK_DEV_TRM290 is not set
497# CONFIG_BLK_DEV_VIA82CXXX is not set 549# CONFIG_BLK_DEV_VIA82CXXX is not set
@@ -505,8 +557,74 @@ CONFIG_IDEDMA_AUTO=y
505# SCSI device support 557# SCSI device support
506# 558#
507# CONFIG_RAID_ATTRS is not set 559# CONFIG_RAID_ATTRS is not set
508# CONFIG_SCSI is not set 560CONFIG_SCSI=m
561# CONFIG_SCSI_TGT is not set
509# CONFIG_SCSI_NETLINK is not set 562# CONFIG_SCSI_NETLINK is not set
563CONFIG_SCSI_PROC_FS=y
564
565#
566# SCSI support type (disk, tape, CD-ROM)
567#
568CONFIG_BLK_DEV_SD=m
569# CONFIG_CHR_DEV_ST is not set
570# CONFIG_CHR_DEV_OSST is not set
571CONFIG_BLK_DEV_SR=m
572# CONFIG_BLK_DEV_SR_VENDOR is not set
573CONFIG_CHR_DEV_SG=m
574# CONFIG_CHR_DEV_SCH is not set
575
576#
577# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
578#
579# CONFIG_SCSI_MULTI_LUN is not set
580# CONFIG_SCSI_CONSTANTS is not set
581# CONFIG_SCSI_LOGGING is not set
582# CONFIG_SCSI_SCAN_ASYNC is not set
583
584#
585# SCSI Transports
586#
587# CONFIG_SCSI_SPI_ATTRS is not set
588# CONFIG_SCSI_FC_ATTRS is not set
589# CONFIG_SCSI_ISCSI_ATTRS is not set
590# CONFIG_SCSI_SAS_ATTRS is not set
591# CONFIG_SCSI_SAS_LIBSAS is not set
592
593#
594# SCSI low-level drivers
595#
596# CONFIG_ISCSI_TCP is not set
597# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
598# CONFIG_SCSI_3W_9XXX is not set
599# CONFIG_SCSI_ACARD is not set
600# CONFIG_SCSI_AACRAID is not set
601# CONFIG_SCSI_AIC7XXX is not set
602# CONFIG_SCSI_AIC7XXX_OLD is not set
603# CONFIG_SCSI_AIC79XX is not set
604# CONFIG_SCSI_AIC94XX is not set
605# CONFIG_SCSI_ARCMSR is not set
606# CONFIG_MEGARAID_NEWGEN is not set
607# CONFIG_MEGARAID_LEGACY is not set
608# CONFIG_MEGARAID_SAS is not set
609# CONFIG_SCSI_HPTIOP is not set
610# CONFIG_SCSI_BUSLOGIC is not set
611# CONFIG_SCSI_DMX3191D is not set
612# CONFIG_SCSI_EATA is not set
613# CONFIG_SCSI_FUTURE_DOMAIN is not set
614# CONFIG_SCSI_GDTH is not set
615# CONFIG_SCSI_IPS is not set
616# CONFIG_SCSI_INITIO is not set
617# CONFIG_SCSI_INIA100 is not set
618# CONFIG_SCSI_STEX is not set
619# CONFIG_SCSI_SYM53C8XX_2 is not set
620# CONFIG_SCSI_QLOGIC_1280 is not set
621# CONFIG_SCSI_QLA_FC is not set
622# CONFIG_SCSI_QLA_ISCSI is not set
623# CONFIG_SCSI_LPFC is not set
624# CONFIG_SCSI_DC395x is not set
625# CONFIG_SCSI_DC390T is not set
626# CONFIG_SCSI_DEBUG is not set
627# CONFIG_SCSI_SRP is not set
510 628
511# 629#
512# Serial ATA (prod) and Parallel ATA (experimental) drivers 630# Serial ATA (prod) and Parallel ATA (experimental) drivers
@@ -538,6 +656,9 @@ CONFIG_DM_MULTIPATH=m
538# Fusion MPT device support 656# Fusion MPT device support
539# 657#
540# CONFIG_FUSION is not set 658# CONFIG_FUSION is not set
659# CONFIG_FUSION_SPI is not set
660# CONFIG_FUSION_FC is not set
661# CONFIG_FUSION_SAS is not set
541 662
542# 663#
543# IEEE 1394 (FireWire) support 664# IEEE 1394 (FireWire) support
@@ -552,6 +673,7 @@ CONFIG_DM_MULTIPATH=m
552# 673#
553# Macintosh device drivers 674# Macintosh device drivers
554# 675#
676# CONFIG_MAC_EMUMOUSEBTN is not set
555# CONFIG_WINDFARM is not set 677# CONFIG_WINDFARM is not set
556 678
557# 679#
@@ -559,7 +681,7 @@ CONFIG_DM_MULTIPATH=m
559# 681#
560CONFIG_NETDEVICES=y 682CONFIG_NETDEVICES=y
561# CONFIG_DUMMY is not set 683# CONFIG_DUMMY is not set
562CONFIG_BONDING=y 684CONFIG_BONDING=m
563# CONFIG_EQUALIZER is not set 685# CONFIG_EQUALIZER is not set
564CONFIG_TUN=y 686CONFIG_TUN=y
565 687
@@ -604,11 +726,11 @@ CONFIG_E1000_NAPI=y
604# CONFIG_R8169 is not set 726# CONFIG_R8169 is not set
605# CONFIG_SIS190 is not set 727# CONFIG_SIS190 is not set
606CONFIG_SKGE=m 728CONFIG_SKGE=m
607# CONFIG_SKY2 is not set 729CONFIG_SKY2=m
608# CONFIG_SK98LIN is not set 730# CONFIG_SK98LIN is not set
609# CONFIG_TIGON3 is not set 731CONFIG_TIGON3=y
610# CONFIG_BNX2 is not set 732# CONFIG_BNX2 is not set
611CONFIG_SPIDER_NET=m 733CONFIG_SPIDER_NET=y
612# CONFIG_QLA3XXX is not set 734# CONFIG_QLA3XXX is not set
613 735
614# 736#
@@ -618,6 +740,7 @@ CONFIG_SPIDER_NET=m
618# CONFIG_IXGB is not set 740# CONFIG_IXGB is not set
619# CONFIG_S2IO is not set 741# CONFIG_S2IO is not set
620# CONFIG_MYRI10GE is not set 742# CONFIG_MYRI10GE is not set
743# CONFIG_NETXEN_NIC is not set
621 744
622# 745#
623# Token Ring devices 746# Token Ring devices
@@ -637,6 +760,7 @@ CONFIG_SPIDER_NET=m
637# CONFIG_HIPPI is not set 760# CONFIG_HIPPI is not set
638# CONFIG_PPP is not set 761# CONFIG_PPP is not set
639# CONFIG_SLIP is not set 762# CONFIG_SLIP is not set
763# CONFIG_NET_FC is not set
640# CONFIG_SHAPER is not set 764# CONFIG_SHAPER is not set
641# CONFIG_NETCONSOLE is not set 765# CONFIG_NETCONSOLE is not set
642# CONFIG_NETPOLL is not set 766# CONFIG_NETPOLL is not set
@@ -703,6 +827,7 @@ CONFIG_SERIAL_NONSTANDARD=y
703# CONFIG_DIGIEPCA is not set 827# CONFIG_DIGIEPCA is not set
704# CONFIG_MOXA_INTELLIO is not set 828# CONFIG_MOXA_INTELLIO is not set
705# CONFIG_MOXA_SMARTIO is not set 829# CONFIG_MOXA_SMARTIO is not set
830# CONFIG_MOXA_SMARTIO_NEW is not set
706# CONFIG_ISI is not set 831# CONFIG_ISI is not set
707# CONFIG_SYNCLINK is not set 832# CONFIG_SYNCLINK is not set
708# CONFIG_SYNCLINKMP is not set 833# CONFIG_SYNCLINKMP is not set
@@ -729,6 +854,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
729CONFIG_SERIAL_CORE=y 854CONFIG_SERIAL_CORE=y
730CONFIG_SERIAL_CORE_CONSOLE=y 855CONFIG_SERIAL_CORE_CONSOLE=y
731# CONFIG_SERIAL_JSM is not set 856# CONFIG_SERIAL_JSM is not set
857CONFIG_SERIAL_OF_PLATFORM=y
732CONFIG_UNIX98_PTYS=y 858CONFIG_UNIX98_PTYS=y
733# CONFIG_LEGACY_PTYS is not set 859# CONFIG_LEGACY_PTYS is not set
734CONFIG_HVC_DRIVER=y 860CONFIG_HVC_DRIVER=y
@@ -756,16 +882,17 @@ CONFIG_WATCHDOG_RTAS=y
756# 882#
757# CONFIG_PCIPCWATCHDOG is not set 883# CONFIG_PCIPCWATCHDOG is not set
758# CONFIG_WDTPCI is not set 884# CONFIG_WDTPCI is not set
885
886#
887# USB-based Watchdog Cards
888#
889# CONFIG_USBPCWATCHDOG is not set
759# CONFIG_HW_RANDOM is not set 890# CONFIG_HW_RANDOM is not set
760CONFIG_GEN_RTC=y 891CONFIG_GEN_RTC=y
761# CONFIG_GEN_RTC_X is not set 892# CONFIG_GEN_RTC_X is not set
762# CONFIG_DTLK is not set 893# CONFIG_DTLK is not set
763# CONFIG_R3964 is not set 894# CONFIG_R3964 is not set
764# CONFIG_APPLICOM is not set 895# CONFIG_APPLICOM is not set
765
766#
767# Ftape, the floppy tape device driver
768#
769# CONFIG_AGP is not set 896# CONFIG_AGP is not set
770# CONFIG_DRM is not set 897# CONFIG_DRM is not set
771# CONFIG_RAW_DRIVER is not set 898# CONFIG_RAW_DRIVER is not set
@@ -855,12 +982,14 @@ CONFIG_I2C_ALGOBIT=y
855# Digital Video Broadcasting Devices 982# Digital Video Broadcasting Devices
856# 983#
857# CONFIG_DVB is not set 984# CONFIG_DVB is not set
985# CONFIG_USB_DABUSB is not set
858 986
859# 987#
860# Graphics support 988# Graphics support
861# 989#
862CONFIG_FIRMWARE_EDID=y 990CONFIG_FIRMWARE_EDID=y
863# CONFIG_FB is not set 991# CONFIG_FB is not set
992# CONFIG_FB_IBM_GXT4500 is not set
864 993
865# 994#
866# Console display driver support 995# Console display driver support
@@ -875,18 +1004,145 @@ CONFIG_DUMMY_CONSOLE=y
875# CONFIG_SOUND is not set 1004# CONFIG_SOUND is not set
876 1005
877# 1006#
1007# HID Devices
1008#
1009CONFIG_HID=m
1010
1011#
878# USB support 1012# USB support
879# 1013#
880CONFIG_USB_ARCH_HAS_HCD=y 1014CONFIG_USB_ARCH_HAS_HCD=y
881CONFIG_USB_ARCH_HAS_OHCI=y 1015CONFIG_USB_ARCH_HAS_OHCI=y
882CONFIG_USB_ARCH_HAS_EHCI=y 1016CONFIG_USB_ARCH_HAS_EHCI=y
883# CONFIG_USB is not set 1017CONFIG_USB=m
1018# CONFIG_USB_DEBUG is not set
1019
1020#
1021# Miscellaneous USB options
1022#
1023CONFIG_USB_DEVICEFS=y
1024# CONFIG_USB_BANDWIDTH is not set
1025# CONFIG_USB_DYNAMIC_MINORS is not set
1026# CONFIG_USB_MULTITHREAD_PROBE is not set
1027# CONFIG_USB_OTG is not set
1028
1029#
1030# USB Host Controller Drivers
1031#
1032CONFIG_USB_EHCI_HCD=m
1033# CONFIG_USB_EHCI_SPLIT_ISO is not set
1034# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1035# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1036# CONFIG_USB_ISP116X_HCD is not set
1037CONFIG_USB_OHCI_HCD=m
1038# CONFIG_USB_OHCI_BIG_ENDIAN is not set
1039CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1040# CONFIG_USB_UHCI_HCD is not set
1041# CONFIG_USB_SL811_HCD is not set
1042
1043#
1044# USB Device Class drivers
1045#
1046# CONFIG_USB_ACM is not set
1047# CONFIG_USB_PRINTER is not set
884 1048
885# 1049#
886# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1050# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
887# 1051#
888 1052
889# 1053#
1054# may also be needed; see USB_STORAGE Help for more information
1055#
1056CONFIG_USB_STORAGE=m
1057# CONFIG_USB_STORAGE_DEBUG is not set
1058# CONFIG_USB_STORAGE_DATAFAB is not set
1059# CONFIG_USB_STORAGE_FREECOM is not set
1060# CONFIG_USB_STORAGE_ISD200 is not set
1061# CONFIG_USB_STORAGE_DPCM is not set
1062# CONFIG_USB_STORAGE_USBAT is not set
1063# CONFIG_USB_STORAGE_SDDR09 is not set
1064# CONFIG_USB_STORAGE_SDDR55 is not set
1065# CONFIG_USB_STORAGE_JUMPSHOT is not set
1066# CONFIG_USB_STORAGE_ALAUDA is not set
1067# CONFIG_USB_STORAGE_KARMA is not set
1068# CONFIG_USB_LIBUSUAL is not set
1069
1070#
1071# USB Input Devices
1072#
1073# CONFIG_USB_HID is not set
1074
1075#
1076# USB HID Boot Protocol drivers
1077#
1078# CONFIG_USB_KBD is not set
1079# CONFIG_USB_MOUSE is not set
1080# CONFIG_USB_AIPTEK is not set
1081# CONFIG_USB_WACOM is not set
1082# CONFIG_USB_ACECAD is not set
1083# CONFIG_USB_KBTAB is not set
1084# CONFIG_USB_POWERMATE is not set
1085# CONFIG_USB_TOUCHSCREEN is not set
1086# CONFIG_USB_YEALINK is not set
1087# CONFIG_USB_XPAD is not set
1088# CONFIG_USB_ATI_REMOTE is not set
1089# CONFIG_USB_ATI_REMOTE2 is not set
1090# CONFIG_USB_KEYSPAN_REMOTE is not set
1091# CONFIG_USB_APPLETOUCH is not set
1092
1093#
1094# USB Imaging devices
1095#
1096# CONFIG_USB_MDC800 is not set
1097# CONFIG_USB_MICROTEK is not set
1098
1099#
1100# USB Network Adapters
1101#
1102# CONFIG_USB_CATC is not set
1103# CONFIG_USB_KAWETH is not set
1104# CONFIG_USB_PEGASUS is not set
1105# CONFIG_USB_RTL8150 is not set
1106# CONFIG_USB_USBNET_MII is not set
1107# CONFIG_USB_USBNET is not set
1108CONFIG_USB_MON=y
1109
1110#
1111# USB port drivers
1112#
1113
1114#
1115# USB Serial Converter support
1116#
1117# CONFIG_USB_SERIAL is not set
1118
1119#
1120# USB Miscellaneous drivers
1121#
1122# CONFIG_USB_EMI62 is not set
1123# CONFIG_USB_EMI26 is not set
1124# CONFIG_USB_ADUTUX is not set
1125# CONFIG_USB_AUERSWALD is not set
1126# CONFIG_USB_RIO500 is not set
1127# CONFIG_USB_LEGOTOWER is not set
1128# CONFIG_USB_LCD is not set
1129# CONFIG_USB_LED is not set
1130# CONFIG_USB_CYPRESS_CY7C63 is not set
1131# CONFIG_USB_CYTHERM is not set
1132# CONFIG_USB_PHIDGET is not set
1133# CONFIG_USB_IDMOUSE is not set
1134# CONFIG_USB_FTDI_ELAN is not set
1135# CONFIG_USB_APPLEDISPLAY is not set
1136# CONFIG_USB_SISUSBVGA is not set
1137# CONFIG_USB_LD is not set
1138# CONFIG_USB_TRANCEVIBRATOR is not set
1139# CONFIG_USB_TEST is not set
1140
1141#
1142# USB DSL modem support
1143#
1144
1145#
890# USB Gadget Support 1146# USB Gadget Support
891# 1147#
892# CONFIG_USB_GADGET is not set 1148# CONFIG_USB_GADGET is not set
@@ -912,7 +1168,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
912# 1168#
913# InfiniBand support 1169# InfiniBand support
914# 1170#
915CONFIG_INFINIBAND=y 1171CONFIG_INFINIBAND=m
916CONFIG_INFINIBAND_USER_MAD=m 1172CONFIG_INFINIBAND_USER_MAD=m
917CONFIG_INFINIBAND_USER_ACCESS=m 1173CONFIG_INFINIBAND_USER_ACCESS=m
918CONFIG_INFINIBAND_ADDR_TRANS=y 1174CONFIG_INFINIBAND_ADDR_TRANS=y
@@ -922,6 +1178,8 @@ CONFIG_INFINIBAND_MTHCA_DEBUG=y
922CONFIG_INFINIBAND_IPOIB=m 1178CONFIG_INFINIBAND_IPOIB=m
923CONFIG_INFINIBAND_IPOIB_DEBUG=y 1179CONFIG_INFINIBAND_IPOIB_DEBUG=y
924CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y 1180CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
1181# CONFIG_INFINIBAND_SRP is not set
1182# CONFIG_INFINIBAND_ISER is not set
925 1183
926# 1184#
927# EDAC - error detection and reporting (RAS) (EXPERIMENTAL) 1185# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
@@ -946,6 +1204,10 @@ CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
946# 1204#
947 1205
948# 1206#
1207# Virtualization
1208#
1209
1210#
949# File systems 1211# File systems
950# 1212#
951CONFIG_EXT2_FS=y 1213CONFIG_EXT2_FS=y
@@ -1028,23 +1290,18 @@ CONFIG_RAMFS=y
1028# 1290#
1029# Network File Systems 1291# Network File Systems
1030# 1292#
1031CONFIG_NFS_FS=m 1293CONFIG_NFS_FS=y
1032CONFIG_NFS_V3=y 1294CONFIG_NFS_V3=y
1033CONFIG_NFS_V3_ACL=y 1295CONFIG_NFS_V3_ACL=y
1034# CONFIG_NFS_V4 is not set 1296# CONFIG_NFS_V4 is not set
1035# CONFIG_NFS_DIRECTIO is not set 1297# CONFIG_NFS_DIRECTIO is not set
1036CONFIG_NFSD=m 1298# CONFIG_NFSD is not set
1037CONFIG_NFSD_V2_ACL=y 1299CONFIG_ROOT_NFS=y
1038CONFIG_NFSD_V3=y 1300CONFIG_LOCKD=y
1039CONFIG_NFSD_V3_ACL=y
1040# CONFIG_NFSD_V4 is not set
1041CONFIG_NFSD_TCP=y
1042CONFIG_LOCKD=m
1043CONFIG_LOCKD_V4=y 1301CONFIG_LOCKD_V4=y
1044CONFIG_EXPORTFS=m 1302CONFIG_NFS_ACL_SUPPORT=y
1045CONFIG_NFS_ACL_SUPPORT=m
1046CONFIG_NFS_COMMON=y 1303CONFIG_NFS_COMMON=y
1047CONFIG_SUNRPC=m 1304CONFIG_SUNRPC=y
1048# CONFIG_RPCSEC_GSS_KRB5 is not set 1305# CONFIG_RPCSEC_GSS_KRB5 is not set
1049# CONFIG_RPCSEC_GSS_SPKM3 is not set 1306# CONFIG_RPCSEC_GSS_SPKM3 is not set
1050# CONFIG_SMB_FS is not set 1307# CONFIG_SMB_FS is not set
@@ -1120,8 +1377,14 @@ CONFIG_NLS_ISO8859_15=m
1120# CONFIG_NLS_UTF8 is not set 1377# CONFIG_NLS_UTF8 is not set
1121 1378
1122# 1379#
1380# Distributed Lock Manager
1381#
1382# CONFIG_DLM is not set
1383
1384#
1123# Library routines 1385# Library routines
1124# 1386#
1387CONFIG_BITREVERSE=y
1125# CONFIG_CRC_CCITT is not set 1388# CONFIG_CRC_CCITT is not set
1126# CONFIG_CRC16 is not set 1389# CONFIG_CRC16 is not set
1127CONFIG_CRC32=y 1390CONFIG_CRC32=y
@@ -1130,7 +1393,10 @@ CONFIG_ZLIB_INFLATE=m
1130CONFIG_ZLIB_DEFLATE=m 1393CONFIG_ZLIB_DEFLATE=m
1131CONFIG_TEXTSEARCH=y 1394CONFIG_TEXTSEARCH=y
1132CONFIG_TEXTSEARCH_KMP=m 1395CONFIG_TEXTSEARCH_KMP=m
1396CONFIG_TEXTSEARCH_BM=m
1397CONFIG_TEXTSEARCH_FSM=m
1133CONFIG_PLIST=y 1398CONFIG_PLIST=y
1399CONFIG_IOMAP_COPY=y
1134 1400
1135# 1401#
1136# Instrumentation Support 1402# Instrumentation Support
@@ -1146,6 +1412,8 @@ CONFIG_OPROFILE=y
1146# CONFIG_ENABLE_MUST_CHECK is not set 1412# CONFIG_ENABLE_MUST_CHECK is not set
1147CONFIG_MAGIC_SYSRQ=y 1413CONFIG_MAGIC_SYSRQ=y
1148# CONFIG_UNUSED_SYMBOLS is not set 1414# CONFIG_UNUSED_SYMBOLS is not set
1415CONFIG_DEBUG_FS=y
1416# CONFIG_HEADERS_CHECK is not set
1149CONFIG_DEBUG_KERNEL=y 1417CONFIG_DEBUG_KERNEL=y
1150CONFIG_LOG_BUF_SHIFT=15 1418CONFIG_LOG_BUF_SHIFT=15
1151CONFIG_DETECT_SOFTLOCKUP=y 1419CONFIG_DETECT_SOFTLOCKUP=y
@@ -1159,12 +1427,11 @@ CONFIG_DEBUG_MUTEXES=y
1159CONFIG_DEBUG_SPINLOCK_SLEEP=y 1427CONFIG_DEBUG_SPINLOCK_SLEEP=y
1160# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1428# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1161# CONFIG_DEBUG_KOBJECT is not set 1429# CONFIG_DEBUG_KOBJECT is not set
1430CONFIG_DEBUG_BUGVERBOSE=y
1162# CONFIG_DEBUG_INFO is not set 1431# CONFIG_DEBUG_INFO is not set
1163CONFIG_DEBUG_FS=y
1164# CONFIG_DEBUG_VM is not set 1432# CONFIG_DEBUG_VM is not set
1165# CONFIG_DEBUG_LIST is not set 1433# CONFIG_DEBUG_LIST is not set
1166# CONFIG_FORCED_INLINING is not set 1434# CONFIG_FORCED_INLINING is not set
1167# CONFIG_HEADERS_CHECK is not set
1168# CONFIG_RCU_TORTURE_TEST is not set 1435# CONFIG_RCU_TORTURE_TEST is not set
1169# CONFIG_DEBUG_STACKOVERFLOW is not set 1436# CONFIG_DEBUG_STACKOVERFLOW is not set
1170# CONFIG_DEBUG_STACK_USAGE is not set 1437# CONFIG_DEBUG_STACK_USAGE is not set
@@ -1191,6 +1458,7 @@ CONFIG_CRYPTO_BLKCIPHER=m
1191CONFIG_CRYPTO_HASH=y 1458CONFIG_CRYPTO_HASH=y
1192CONFIG_CRYPTO_MANAGER=y 1459CONFIG_CRYPTO_MANAGER=y
1193CONFIG_CRYPTO_HMAC=y 1460CONFIG_CRYPTO_HMAC=y
1461# CONFIG_CRYPTO_XCBC is not set
1194# CONFIG_CRYPTO_NULL is not set 1462# CONFIG_CRYPTO_NULL is not set
1195# CONFIG_CRYPTO_MD4 is not set 1463# CONFIG_CRYPTO_MD4 is not set
1196CONFIG_CRYPTO_MD5=m 1464CONFIG_CRYPTO_MD5=m
@@ -1199,8 +1467,10 @@ CONFIG_CRYPTO_SHA1=m
1199# CONFIG_CRYPTO_SHA512 is not set 1467# CONFIG_CRYPTO_SHA512 is not set
1200# CONFIG_CRYPTO_WP512 is not set 1468# CONFIG_CRYPTO_WP512 is not set
1201# CONFIG_CRYPTO_TGR192 is not set 1469# CONFIG_CRYPTO_TGR192 is not set
1470# CONFIG_CRYPTO_GF128MUL is not set
1202CONFIG_CRYPTO_ECB=m 1471CONFIG_CRYPTO_ECB=m
1203CONFIG_CRYPTO_CBC=m 1472CONFIG_CRYPTO_CBC=m
1473# CONFIG_CRYPTO_LRW is not set
1204CONFIG_CRYPTO_DES=m 1474CONFIG_CRYPTO_DES=m
1205# CONFIG_CRYPTO_BLOWFISH is not set 1475# CONFIG_CRYPTO_BLOWFISH is not set
1206# CONFIG_CRYPTO_TWOFISH is not set 1476# CONFIG_CRYPTO_TWOFISH is not set
diff --git a/arch/powerpc/kernel/nvram_64.c b/arch/powerpc/kernel/nvram_64.c
index 6960f090991e..869cebbba967 100644
--- a/arch/powerpc/kernel/nvram_64.c
+++ b/arch/powerpc/kernel/nvram_64.c
@@ -505,7 +505,7 @@ static int nvram_scan_partitions(void)
505 return -ENODEV; 505 return -ENODEV;
506 total_size = ppc_md.nvram_size(); 506 total_size = ppc_md.nvram_size();
507 507
508 header = (char *) kmalloc(NVRAM_HEADER_LEN, GFP_KERNEL); 508 header = kmalloc(NVRAM_HEADER_LEN, GFP_KERNEL);
509 if (!header) { 509 if (!header) {
510 printk(KERN_ERR "nvram_scan_partitions: Failed kmalloc\n"); 510 printk(KERN_ERR "nvram_scan_partitions: Failed kmalloc\n");
511 return -ENOMEM; 511 return -ENOMEM;
@@ -574,7 +574,7 @@ static int __init nvram_init(void)
574 } 574 }
575 575
576 /* initialize our anchor for the nvram partition list */ 576 /* initialize our anchor for the nvram partition list */
577 nvram_part = (struct nvram_partition *) kmalloc(sizeof(struct nvram_partition), GFP_KERNEL); 577 nvram_part = kmalloc(sizeof(struct nvram_partition), GFP_KERNEL);
578 if (!nvram_part) { 578 if (!nvram_part) {
579 printk(KERN_ERR "nvram_init: Failed kmalloc\n"); 579 printk(KERN_ERR "nvram_init: Failed kmalloc\n");
580 return -ENOMEM; 580 return -ENOMEM;
diff --git a/arch/powerpc/kernel/of_platform.c b/arch/powerpc/kernel/of_platform.c
index 3002ea3a61a2..b7345176b399 100644
--- a/arch/powerpc/kernel/of_platform.c
+++ b/arch/powerpc/kernel/of_platform.c
@@ -50,6 +50,7 @@ static struct of_device_id of_default_bus_ids[] = {
50 { .type = "plb5", }, 50 { .type = "plb5", },
51 { .type = "plb4", }, 51 { .type = "plb4", },
52 { .type = "opb", }, 52 { .type = "opb", },
53 { .type = "ebc", },
53 {}, 54 {},
54}; 55};
55 56
diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c
index 8336deafc624..2847cd51a2d7 100644
--- a/arch/powerpc/kernel/pci_32.c
+++ b/arch/powerpc/kernel/pci_32.c
@@ -670,7 +670,7 @@ pcibios_make_OF_bus_map(void)
670 struct pci_controller* hose; 670 struct pci_controller* hose;
671 struct property *map_prop; 671 struct property *map_prop;
672 672
673 pci_to_OF_bus_map = (u8*)kmalloc(pci_bus_count, GFP_KERNEL); 673 pci_to_OF_bus_map = kmalloc(pci_bus_count, GFP_KERNEL);
674 if (!pci_to_OF_bus_map) { 674 if (!pci_to_OF_bus_map) {
675 printk(KERN_ERR "Can't allocate OF bus map !\n"); 675 printk(KERN_ERR "Can't allocate OF bus map !\n");
676 return; 676 return;
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c
index a6b7692c7269..73c59ec49120 100644
--- a/arch/powerpc/kernel/pci_64.c
+++ b/arch/powerpc/kernel/pci_64.c
@@ -360,6 +360,7 @@ struct pci_dev *of_create_pci_dev(struct device_node *node,
360 DBG(" class: 0x%x\n", dev->class); 360 DBG(" class: 0x%x\n", dev->class);
361 361
362 dev->current_state = 4; /* unknown power state */ 362 dev->current_state = 4; /* unknown power state */
363 dev->error_state = pci_channel_io_normal;
363 364
364 if (!strcmp(type, "pci") || !strcmp(type, "pciex")) { 365 if (!strcmp(type, "pci") || !strcmp(type, "pciex")) {
365 /* a PCI-PCI bridge */ 366 /* a PCI-PCI bridge */
diff --git a/arch/powerpc/kernel/prom_parse.c b/arch/powerpc/kernel/prom_parse.c
index 0dfbe1cd28eb..12c51e4ad2b4 100644
--- a/arch/powerpc/kernel/prom_parse.c
+++ b/arch/powerpc/kernel/prom_parse.c
@@ -920,9 +920,20 @@ static int of_irq_map_oldworld(struct device_node *device, int index,
920 920
921 /* 921 /*
922 * Old machines just have a list of interrupt numbers 922 * Old machines just have a list of interrupt numbers
923 * and no interrupt-controller nodes. 923 * and no interrupt-controller nodes. We also have dodgy
924 * cases where the APPL,interrupts property is completely
925 * missing behind pci-pci bridges and we have to get it
926 * from the parent (the bridge itself, as apple just wired
927 * everything together on these)
924 */ 928 */
925 ints = get_property(device, "AAPL,interrupts", &intlen); 929 while (device) {
930 ints = get_property(device, "AAPL,interrupts", &intlen);
931 if (ints != NULL)
932 break;
933 device = device->parent;
934 if (device && strcmp(device->type, "pci") != 0)
935 break;
936 }
926 if (ints == NULL) 937 if (ints == NULL)
927 return -EINVAL; 938 return -EINVAL;
928 intlen /= sizeof(u32); 939 intlen /= sizeof(u32);
diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c
index e4ebe1a6228e..6b405a3f43f9 100644
--- a/arch/powerpc/kernel/signal_32.c
+++ b/arch/powerpc/kernel/signal_32.c
@@ -835,11 +835,21 @@ long sys_swapcontext(struct ucontext __user *old_ctx,
835 return -EINVAL; 835 return -EINVAL;
836 836
837 if (old_ctx != NULL) { 837 if (old_ctx != NULL) {
838 struct mcontext __user *mctx;
839
840 /*
841 * old_ctx might not be 16-byte aligned, in which
842 * case old_ctx->uc_mcontext won't be either.
843 * Because we have the old_ctx->uc_pad2 field
844 * before old_ctx->uc_mcontext, we need to round down
845 * from &old_ctx->uc_mcontext to a 16-byte boundary.
846 */
847 mctx = (struct mcontext __user *)
848 ((unsigned long) &old_ctx->uc_mcontext & ~0xfUL);
838 if (!access_ok(VERIFY_WRITE, old_ctx, sizeof(*old_ctx)) 849 if (!access_ok(VERIFY_WRITE, old_ctx, sizeof(*old_ctx))
839 || save_user_regs(regs, &old_ctx->uc_mcontext, 0) 850 || save_user_regs(regs, mctx, 0)
840 || put_sigset_t(&old_ctx->uc_sigmask, &current->blocked) 851 || put_sigset_t(&old_ctx->uc_sigmask, &current->blocked)
841 || __put_user(to_user_ptr(&old_ctx->uc_mcontext), 852 || __put_user(to_user_ptr(mctx), &old_ctx->uc_regs))
842 &old_ctx->uc_regs))
843 return -EFAULT; 853 return -EFAULT;
844 } 854 }
845 if (new_ctx == NULL) 855 if (new_ctx == NULL)
diff --git a/arch/powerpc/mm/imalloc.c b/arch/powerpc/mm/imalloc.c
index add8c1a9af68..c831815c31f0 100644
--- a/arch/powerpc/mm/imalloc.c
+++ b/arch/powerpc/mm/imalloc.c
@@ -138,7 +138,7 @@ static struct vm_struct * split_im_region(unsigned long v_addr,
138 struct vm_struct *vm2 = NULL; 138 struct vm_struct *vm2 = NULL;
139 struct vm_struct *new_vm = NULL; 139 struct vm_struct *new_vm = NULL;
140 140
141 vm1 = (struct vm_struct *) kmalloc(sizeof(*vm1), GFP_KERNEL); 141 vm1 = kmalloc(sizeof(*vm1), GFP_KERNEL);
142 if (vm1 == NULL) { 142 if (vm1 == NULL) {
143 printk(KERN_ERR "%s() out of memory\n", __FUNCTION__); 143 printk(KERN_ERR "%s() out of memory\n", __FUNCTION__);
144 return NULL; 144 return NULL;
@@ -172,7 +172,7 @@ static struct vm_struct * split_im_region(unsigned long v_addr,
172 * uppermost remainder, and use existing parent one for the 172 * uppermost remainder, and use existing parent one for the
173 * lower remainder of parent range 173 * lower remainder of parent range
174 */ 174 */
175 vm2 = (struct vm_struct *) kmalloc(sizeof(*vm2), GFP_KERNEL); 175 vm2 = kmalloc(sizeof(*vm2), GFP_KERNEL);
176 if (vm2 == NULL) { 176 if (vm2 == NULL) {
177 printk(KERN_ERR "%s() out of memory\n", __FUNCTION__); 177 printk(KERN_ERR "%s() out of memory\n", __FUNCTION__);
178 kfree(vm1); 178 kfree(vm1);
@@ -206,7 +206,7 @@ static struct vm_struct * __add_new_im_area(unsigned long req_addr,
206 break; 206 break;
207 } 207 }
208 208
209 area = (struct vm_struct *) kmalloc(sizeof(*area), GFP_KERNEL); 209 area = kmalloc(sizeof(*area), GFP_KERNEL);
210 if (!area) 210 if (!area)
211 return NULL; 211 return NULL;
212 area->flags = 0; 212 area->flags = 0;
diff --git a/arch/powerpc/platforms/Makefile b/arch/powerpc/platforms/Makefile
index 44d95eaf22e6..507d1b98f270 100644
--- a/arch/powerpc/platforms/Makefile
+++ b/arch/powerpc/platforms/Makefile
@@ -5,9 +5,9 @@ ifeq ($(CONFIG_PPC64),y)
5obj-$(CONFIG_PPC_PMAC) += powermac/ 5obj-$(CONFIG_PPC_PMAC) += powermac/
6endif 6endif
7endif 7endif
8obj-$(CONFIG_PPC_MPC52xx) += 52xx/
8obj-$(CONFIG_PPC_CHRP) += chrp/ 9obj-$(CONFIG_PPC_CHRP) += chrp/
9obj-$(CONFIG_4xx) += 4xx/ 10obj-$(CONFIG_4xx) += 4xx/
10obj-$(CONFIG_PPC_MPC52xx) += 52xx/
11obj-$(CONFIG_PPC_83xx) += 83xx/ 11obj-$(CONFIG_PPC_83xx) += 83xx/
12obj-$(CONFIG_PPC_85xx) += 85xx/ 12obj-$(CONFIG_PPC_85xx) += 85xx/
13obj-$(CONFIG_PPC_86xx) += 86xx/ 13obj-$(CONFIG_PPC_86xx) += 86xx/
diff --git a/arch/powerpc/platforms/cell/io-workarounds.c b/arch/powerpc/platforms/cell/io-workarounds.c
index 580d42595912..7c73128305ec 100644
--- a/arch/powerpc/platforms/cell/io-workarounds.c
+++ b/arch/powerpc/platforms/cell/io-workarounds.c
@@ -37,7 +37,7 @@
37 */ 37 */
38#define SPIDER_DISABLE_PREFETCH 38#define SPIDER_DISABLE_PREFETCH
39 39
40#define MAX_SPIDERS 2 40#define MAX_SPIDERS 3
41 41
42static struct spider_pci_bus { 42static struct spider_pci_bus {
43 void __iomem *regs; 43 void __iomem *regs;
diff --git a/arch/powerpc/platforms/cell/spu_priv1_mmio.c b/arch/powerpc/platforms/cell/spu_priv1_mmio.c
index a5de0430c56d..910a926b61a2 100644
--- a/arch/powerpc/platforms/cell/spu_priv1_mmio.c
+++ b/arch/powerpc/platforms/cell/spu_priv1_mmio.c
@@ -37,8 +37,9 @@
37#include "interrupt.h" 37#include "interrupt.h"
38#include "spu_priv1_mmio.h" 38#include "spu_priv1_mmio.h"
39 39
40static DEFINE_MUTEX(add_spumem_mutex);
41
40struct spu_pdata { 42struct spu_pdata {
41 int nid;
42 struct device_node *devnode; 43 struct device_node *devnode;
43 struct spu_priv1 __iomem *priv1; 44 struct spu_priv1 __iomem *priv1;
44}; 45};
@@ -56,20 +57,9 @@ struct device_node *spu_devnode(struct spu *spu)
56 57
57EXPORT_SYMBOL_GPL(spu_devnode); 58EXPORT_SYMBOL_GPL(spu_devnode);
58 59
59static int __init find_spu_node_id(struct device_node *spe)
60{
61 const unsigned int *id;
62 struct device_node *cpu;
63 cpu = spe->parent->parent;
64 id = get_property(cpu, "node-id", NULL);
65 return id ? *id : 0;
66}
67
68static int __init cell_spuprop_present(struct spu *spu, struct device_node *spe, 60static int __init cell_spuprop_present(struct spu *spu, struct device_node *spe,
69 const char *prop) 61 const char *prop)
70{ 62{
71 static DEFINE_MUTEX(add_spumem_mutex);
72
73 const struct address_prop { 63 const struct address_prop {
74 unsigned long address; 64 unsigned long address;
75 unsigned int len; 65 unsigned int len;
@@ -87,7 +77,7 @@ static int __init cell_spuprop_present(struct spu *spu, struct device_node *spe,
87 start_pfn = p->address >> PAGE_SHIFT; 77 start_pfn = p->address >> PAGE_SHIFT;
88 nr_pages = ((unsigned long)p->len + PAGE_SIZE - 1) >> PAGE_SHIFT; 78 nr_pages = ((unsigned long)p->len + PAGE_SIZE - 1) >> PAGE_SHIFT;
89 79
90 pgdata = NODE_DATA(spu_get_pdata(spu)->nid); 80 pgdata = NODE_DATA(spu->node);
91 zone = pgdata->node_zones; 81 zone = pgdata->node_zones;
92 82
93 /* XXX rethink locking here */ 83 /* XXX rethink locking here */
@@ -140,6 +130,7 @@ static int __init spu_map_interrupts_old(struct spu *spu,
140{ 130{
141 unsigned int isrc; 131 unsigned int isrc;
142 const u32 *tmp; 132 const u32 *tmp;
133 int nid;
143 134
144 /* Get the interrupt source unit from the device-tree */ 135 /* Get the interrupt source unit from the device-tree */
145 tmp = get_property(np, "isrc", NULL); 136 tmp = get_property(np, "isrc", NULL);
@@ -147,8 +138,15 @@ static int __init spu_map_interrupts_old(struct spu *spu,
147 return -ENODEV; 138 return -ENODEV;
148 isrc = tmp[0]; 139 isrc = tmp[0];
149 140
141 tmp = get_property(np->parent->parent, "node-id", NULL);
142 if (!tmp) {
143 printk(KERN_WARNING "%s: can't find node-id\n", __FUNCTION__);
144 nid = spu->node;
145 } else
146 nid = tmp[0];
147
150 /* Add the node number */ 148 /* Add the node number */
151 isrc |= spu->node << IIC_IRQ_NODE_SHIFT; 149 isrc |= nid << IIC_IRQ_NODE_SHIFT;
152 150
153 /* Now map interrupts of all 3 classes */ 151 /* Now map interrupts of all 3 classes */
154 spu->irqs[0] = irq_create_mapping(NULL, IIC_IRQ_CLASS_0 | isrc); 152 spu->irqs[0] = irq_create_mapping(NULL, IIC_IRQ_CLASS_0 | isrc);
@@ -237,70 +235,88 @@ err:
237 return ret; 235 return ret;
238} 236}
239 237
240static int spu_map_resource(struct device_node *node, int nr, 238static int spu_map_resource(struct spu *spu, int nr,
241 void __iomem** virt, unsigned long *phys) 239 void __iomem** virt, unsigned long *phys)
242{ 240{
241 struct device_node *np = spu_get_pdata(spu)->devnode;
242 unsigned long start_pfn, nr_pages;
243 struct pglist_data *pgdata;
244 struct zone *zone;
243 struct resource resource = { }; 245 struct resource resource = { };
246 unsigned long len;
244 int ret; 247 int ret;
245 248
246 ret = of_address_to_resource(node, nr, &resource); 249 ret = of_address_to_resource(np, nr, &resource);
247 if (ret) 250 if (ret)
248 goto out; 251 goto out;
249 252
250 if (phys) 253 if (phys)
251 *phys = resource.start; 254 *phys = resource.start;
252 *virt = ioremap(resource.start, resource.end - resource.start); 255 len = resource.end - resource.start + 1;
256 *virt = ioremap(resource.start, len);
253 if (!*virt) 257 if (!*virt)
254 ret = -EINVAL; 258 ret = -EINVAL;
255 259
260 start_pfn = resource.start >> PAGE_SHIFT;
261 nr_pages = (len + PAGE_SIZE - 1) >> PAGE_SHIFT;
262
263 pgdata = NODE_DATA(spu->node);
264 zone = pgdata->node_zones;
265
266 /* XXX rethink locking here */
267 mutex_lock(&add_spumem_mutex);
268 ret = __add_pages(zone, start_pfn, nr_pages);
269 mutex_unlock(&add_spumem_mutex);
270
256out: 271out:
257 return ret; 272 return ret;
258} 273}
259 274
260static int __init spu_map_device(struct spu *spu, struct device_node *node) 275static int __init spu_map_device(struct spu *spu)
261{ 276{
277 struct device_node *np = spu_get_pdata(spu)->devnode;
262 int ret = -ENODEV; 278 int ret = -ENODEV;
263 spu->name = get_property(node, "name", NULL); 279
280 spu->name = get_property(np, "name", NULL);
264 if (!spu->name) 281 if (!spu->name)
265 goto out; 282 goto out;
266 283
267 ret = spu_map_resource(node, 0, (void __iomem**)&spu->local_store, 284 ret = spu_map_resource(spu, 0, (void __iomem**)&spu->local_store,
268 &spu->local_store_phys); 285 &spu->local_store_phys);
269 if (ret) { 286 if (ret) {
270 pr_debug("spu_new: failed to map %s resource 0\n", 287 pr_debug("spu_new: failed to map %s resource 0\n",
271 node->full_name); 288 np->full_name);
272 goto out; 289 goto out;
273 } 290 }
274 ret = spu_map_resource(node, 1, (void __iomem**)&spu->problem, 291 ret = spu_map_resource(spu, 1, (void __iomem**)&spu->problem,
275 &spu->problem_phys); 292 &spu->problem_phys);
276 if (ret) { 293 if (ret) {
277 pr_debug("spu_new: failed to map %s resource 1\n", 294 pr_debug("spu_new: failed to map %s resource 1\n",
278 node->full_name); 295 np->full_name);
279 goto out_unmap; 296 goto out_unmap;
280 } 297 }
281 ret = spu_map_resource(node, 2, (void __iomem**)&spu->priv2, 298 ret = spu_map_resource(spu, 2, (void __iomem**)&spu->priv2, NULL);
282 NULL);
283 if (ret) { 299 if (ret) {
284 pr_debug("spu_new: failed to map %s resource 2\n", 300 pr_debug("spu_new: failed to map %s resource 2\n",
285 node->full_name); 301 np->full_name);
286 goto out_unmap; 302 goto out_unmap;
287 } 303 }
288 if (!firmware_has_feature(FW_FEATURE_LPAR)) 304 if (!firmware_has_feature(FW_FEATURE_LPAR))
289 ret = spu_map_resource(node, 3, 305 ret = spu_map_resource(spu, 3,
290 (void __iomem**)&spu_get_pdata(spu)->priv1, NULL); 306 (void __iomem**)&spu_get_pdata(spu)->priv1, NULL);
291 if (ret) { 307 if (ret) {
292 pr_debug("spu_new: failed to map %s resource 3\n", 308 pr_debug("spu_new: failed to map %s resource 3\n",
293 node->full_name); 309 np->full_name);
294 goto out_unmap; 310 goto out_unmap;
295 } 311 }
296 pr_debug("spu_new: %s maps:\n", node->full_name); 312 pr_debug("spu_new: %s maps:\n", np->full_name);
297 pr_debug(" local store : 0x%016lx -> 0x%p\n", 313 pr_debug(" local store : 0x%016lx -> 0x%p\n",
298 spu->local_store_phys, spu->local_store); 314 spu->local_store_phys, spu->local_store);
299 pr_debug(" problem state : 0x%016lx -> 0x%p\n", 315 pr_debug(" problem state : 0x%016lx -> 0x%p\n",
300 spu->problem_phys, spu->problem); 316 spu->problem_phys, spu->problem);
301 pr_debug(" priv2 : 0x%p\n", spu->priv2); 317 pr_debug(" priv2 : 0x%p\n", spu->priv2);
302 pr_debug(" priv1 : 0x%p\n", 318 pr_debug(" priv1 : 0x%p\n",
303 spu_get_pdata(spu)->priv1); 319 spu_get_pdata(spu)->priv1);
304 320
305 return 0; 321 return 0;
306 322
@@ -340,8 +356,9 @@ static int __init of_create_spu(struct spu *spu, void *data)
340 ret = -ENOMEM; 356 ret = -ENOMEM;
341 goto out; 357 goto out;
342 } 358 }
359 spu_get_pdata(spu)->devnode = of_node_get(spe);
343 360
344 spu->node = find_spu_node_id(spe); 361 spu->node = of_node_to_nid(spe);
345 if (spu->node >= MAX_NUMNODES) { 362 if (spu->node >= MAX_NUMNODES) {
346 printk(KERN_WARNING "SPE %s on node %d ignored," 363 printk(KERN_WARNING "SPE %s on node %d ignored,"
347 " node number too big\n", spe->full_name, spu->node); 364 " node number too big\n", spe->full_name, spu->node);
@@ -350,11 +367,7 @@ static int __init of_create_spu(struct spu *spu, void *data)
350 goto out_free; 367 goto out_free;
351 } 368 }
352 369
353 spu_get_pdata(spu)->nid = of_node_to_nid(spe); 370 ret = spu_map_device(spu);
354 if (spu_get_pdata(spu)->nid == -1)
355 spu_get_pdata(spu)->nid = 0;
356
357 ret = spu_map_device(spu, spe);
358 /* try old method */ 371 /* try old method */
359 if (ret) 372 if (ret)
360 ret = spu_map_device_old(spu, spe); 373 ret = spu_map_device_old(spu, spe);
@@ -367,8 +380,6 @@ static int __init of_create_spu(struct spu *spu, void *data)
367 if (ret) 380 if (ret)
368 goto out_unmap; 381 goto out_unmap;
369 382
370 spu_get_pdata(spu)->devnode = of_node_get(spe);
371
372 pr_debug(KERN_DEBUG "Using SPE %s %p %p %p %p %d\n", spu->name, 383 pr_debug(KERN_DEBUG "Using SPE %s %p %p %p %p %d\n", spu->name,
373 spu->local_store, spu->problem, spu_get_pdata(spu)->priv1, 384 spu->local_store, spu->problem, spu_get_pdata(spu)->priv1,
374 spu->priv2, spu->number); 385 spu->priv2, spu->number);
diff --git a/arch/powerpc/platforms/iseries/Kconfig b/arch/powerpc/platforms/iseries/Kconfig
index 887b68804e6d..54e6b3b6f261 100644
--- a/arch/powerpc/platforms/iseries/Kconfig
+++ b/arch/powerpc/platforms/iseries/Kconfig
@@ -31,5 +31,5 @@ endmenu
31 31
32config VIOPATH 32config VIOPATH
33 bool 33 bool
34 depends on VIOCONS || VIODASD || VIOCD || VIOTAPE || VETH 34 depends on VIOCONS || VIODASD || VIOCD || VIOTAPE || ISERIES_VETH
35 default y 35 default y
diff --git a/arch/powerpc/platforms/pseries/eeh_cache.c b/arch/powerpc/platforms/pseries/eeh_cache.c
index b6b462d3c604..f2bae04424f8 100644
--- a/arch/powerpc/platforms/pseries/eeh_cache.c
+++ b/arch/powerpc/platforms/pseries/eeh_cache.c
@@ -153,7 +153,7 @@ pci_addr_cache_insert(struct pci_dev *dev, unsigned long alo,
153 return piar; 153 return piar;
154 } 154 }
155 } 155 }
156 piar = (struct pci_io_addr_range *)kmalloc(sizeof(struct pci_io_addr_range), GFP_ATOMIC); 156 piar = kmalloc(sizeof(struct pci_io_addr_range), GFP_ATOMIC);
157 if (!piar) 157 if (!piar)
158 return NULL; 158 return NULL;
159 159
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
index 411480d5c626..d01ced11694d 100644
--- a/arch/powerpc/sysdev/mpic.c
+++ b/arch/powerpc/sysdev/mpic.c
@@ -390,7 +390,7 @@ static void __init mpic_scan_ht_pic(struct mpic *mpic, u8 __iomem *devbase,
390 u8 id = readb(devbase + pos + PCI_CAP_LIST_ID); 390 u8 id = readb(devbase + pos + PCI_CAP_LIST_ID);
391 if (id == PCI_CAP_ID_HT) { 391 if (id == PCI_CAP_ID_HT) {
392 id = readb(devbase + pos + 3); 392 id = readb(devbase + pos + 3);
393 if (id == HT_CAPTYPE_IRQ) 393 if ((id & HT_5BIT_CAP_MASK) == HT_CAPTYPE_IRQ)
394 break; 394 break;
395 } 395 }
396 } 396 }
diff --git a/arch/ppc/8260_io/fcc_enet.c b/arch/ppc/8260_io/fcc_enet.c
index 709952c25f29..06b84c372e58 100644
--- a/arch/ppc/8260_io/fcc_enet.c
+++ b/arch/ppc/8260_io/fcc_enet.c
@@ -1892,10 +1892,10 @@ init_fcc_param(fcc_info_t *fip, struct net_device *dev,
1892 /* Allocate space for the buffer descriptors from regular memory. 1892 /* Allocate space for the buffer descriptors from regular memory.
1893 * Initialize base addresses for the buffer descriptors. 1893 * Initialize base addresses for the buffer descriptors.
1894 */ 1894 */
1895 cep->rx_bd_base = (cbd_t *)kmalloc(sizeof(cbd_t) * RX_RING_SIZE, 1895 cep->rx_bd_base = kmalloc(sizeof(cbd_t) * RX_RING_SIZE,
1896 GFP_KERNEL | GFP_DMA); 1896 GFP_KERNEL | GFP_DMA);
1897 ep->fen_genfcc.fcc_rbase = __pa(cep->rx_bd_base); 1897 ep->fen_genfcc.fcc_rbase = __pa(cep->rx_bd_base);
1898 cep->tx_bd_base = (cbd_t *)kmalloc(sizeof(cbd_t) * TX_RING_SIZE, 1898 cep->tx_bd_base = kmalloc(sizeof(cbd_t) * TX_RING_SIZE,
1899 GFP_KERNEL | GFP_DMA); 1899 GFP_KERNEL | GFP_DMA);
1900 ep->fen_genfcc.fcc_tbase = __pa(cep->tx_bd_base); 1900 ep->fen_genfcc.fcc_tbase = __pa(cep->tx_bd_base);
1901 1901
diff --git a/arch/ppc/8xx_io/cs4218_tdm.c b/arch/ppc/8xx_io/cs4218_tdm.c
index c71ef3c2e7bf..b7bb5f0b3c5f 100644
--- a/arch/ppc/8xx_io/cs4218_tdm.c
+++ b/arch/ppc/8xx_io/cs4218_tdm.c
@@ -2601,7 +2601,7 @@ int __init tdm8xx_sound_init(void)
2601 /* Initialize beep stuff */ 2601 /* Initialize beep stuff */
2602 orig_mksound = kd_mksound; 2602 orig_mksound = kd_mksound;
2603 kd_mksound = cs_mksound; 2603 kd_mksound = cs_mksound;
2604 beep_buf = (short *) kmalloc(BEEP_BUFLEN * 4, GFP_KERNEL); 2604 beep_buf = kmalloc(BEEP_BUFLEN * 4, GFP_KERNEL);
2605 if (beep_buf == NULL) 2605 if (beep_buf == NULL)
2606 printk(KERN_WARNING "dmasound: no memory for " 2606 printk(KERN_WARNING "dmasound: no memory for "
2607 "beep buffer\n"); 2607 "beep buffer\n");
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index ff690564edbd..12272361c018 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -407,7 +407,7 @@ config APPLDATA_BASE
407 407
408config APPLDATA_MEM 408config APPLDATA_MEM
409 tristate "Monitor memory management statistics" 409 tristate "Monitor memory management statistics"
410 depends on APPLDATA_BASE 410 depends on APPLDATA_BASE && VM_EVENT_COUNTERS
411 help 411 help
412 This provides memory management related data to the Linux - VM Monitor 412 This provides memory management related data to the Linux - VM Monitor
413 Stream, like paging/swapping rate, memory utilisation, etc. 413 Stream, like paging/swapping rate, memory utilisation, etc.
diff --git a/arch/s390/defconfig b/arch/s390/defconfig
index a6ec919ba83f..5368cf4a350e 100644
--- a/arch/s390/defconfig
+++ b/arch/s390/defconfig
@@ -1,14 +1,15 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.19-rc2 3# Linux kernel version: 2.6.20-rc1
4# Wed Oct 18 17:11:10 2006 4# Fri Dec 15 16:52:28 2006
5# 5#
6CONFIG_MMU=y 6CONFIG_MMU=y
7CONFIG_LOCKDEP_SUPPORT=y 7CONFIG_LOCKDEP_SUPPORT=y
8CONFIG_STACKTRACE_SUPPORT=y 8CONFIG_STACKTRACE_SUPPORT=y
9CONFIG_RWSEM_XCHGADD_ALGORITHM=y 9CONFIG_RWSEM_XCHGADD_ALGORITHM=y
10# CONFIG_ARCH_HAS_ILOG2_U32 is not set
11# CONFIG_ARCH_HAS_ILOG2_U64 is not set
10CONFIG_GENERIC_HWEIGHT=y 12CONFIG_GENERIC_HWEIGHT=y
11CONFIG_GENERIC_CALIBRATE_DELAY=y
12CONFIG_GENERIC_TIME=y 13CONFIG_GENERIC_TIME=y
13CONFIG_S390=y 14CONFIG_S390=y
14CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 15CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -37,12 +38,13 @@ CONFIG_AUDIT=y
37CONFIG_IKCONFIG=y 38CONFIG_IKCONFIG=y
38CONFIG_IKCONFIG_PROC=y 39CONFIG_IKCONFIG_PROC=y
39# CONFIG_CPUSETS is not set 40# CONFIG_CPUSETS is not set
41CONFIG_SYSFS_DEPRECATED=y
40# CONFIG_RELAY is not set 42# CONFIG_RELAY is not set
41CONFIG_INITRAMFS_SOURCE="" 43CONFIG_INITRAMFS_SOURCE=""
42# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 44# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
43CONFIG_SYSCTL=y 45CONFIG_SYSCTL=y
44# CONFIG_EMBEDDED is not set 46# CONFIG_EMBEDDED is not set
45# CONFIG_SYSCTL_SYSCALL is not set 47CONFIG_SYSCTL_SYSCALL=y
46CONFIG_KALLSYMS=y 48CONFIG_KALLSYMS=y
47# CONFIG_KALLSYMS_ALL is not set 49# CONFIG_KALLSYMS_ALL is not set
48# CONFIG_KALLSYMS_EXTRA_PASS is not set 50# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -119,6 +121,7 @@ CONFIG_PACK_STACK=y
119CONFIG_CHECK_STACK=y 121CONFIG_CHECK_STACK=y
120CONFIG_STACK_GUARD=256 122CONFIG_STACK_GUARD=256
121# CONFIG_WARN_STACK is not set 123# CONFIG_WARN_STACK is not set
124CONFIG_ARCH_POPULATES_NODE_MAP=y
122CONFIG_SELECT_MEMORY_MODEL=y 125CONFIG_SELECT_MEMORY_MODEL=y
123CONFIG_FLATMEM_MANUAL=y 126CONFIG_FLATMEM_MANUAL=y
124# CONFIG_DISCONTIGMEM_MANUAL is not set 127# CONFIG_DISCONTIGMEM_MANUAL is not set
@@ -128,6 +131,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
128# CONFIG_SPARSEMEM_STATIC is not set 131# CONFIG_SPARSEMEM_STATIC is not set
129CONFIG_SPLIT_PTLOCK_CPUS=4 132CONFIG_SPLIT_PTLOCK_CPUS=4
130CONFIG_RESOURCES_64BIT=y 133CONFIG_RESOURCES_64BIT=y
134CONFIG_HOLES_IN_ZONE=y
131 135
132# 136#
133# I/O subsystem configuration 137# I/O subsystem configuration
@@ -196,6 +200,7 @@ CONFIG_INET_TCP_DIAG=y
196# CONFIG_TCP_CONG_ADVANCED is not set 200# CONFIG_TCP_CONG_ADVANCED is not set
197CONFIG_TCP_CONG_CUBIC=y 201CONFIG_TCP_CONG_CUBIC=y
198CONFIG_DEFAULT_TCP_CONG="cubic" 202CONFIG_DEFAULT_TCP_CONG="cubic"
203# CONFIG_TCP_MD5SIG is not set
199CONFIG_IPV6=y 204CONFIG_IPV6=y
200# CONFIG_IPV6_PRIVACY is not set 205# CONFIG_IPV6_PRIVACY is not set
201# CONFIG_IPV6_ROUTER_PREF is not set 206# CONFIG_IPV6_ROUTER_PREF is not set
@@ -211,7 +216,6 @@ CONFIG_INET6_XFRM_MODE_BEET=y
211# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set 216# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
212CONFIG_IPV6_SIT=y 217CONFIG_IPV6_SIT=y
213# CONFIG_IPV6_TUNNEL is not set 218# CONFIG_IPV6_TUNNEL is not set
214# CONFIG_IPV6_SUBTREES is not set
215# CONFIG_IPV6_MULTIPLE_TABLES is not set 219# CONFIG_IPV6_MULTIPLE_TABLES is not set
216# CONFIG_NETWORK_SECMARK is not set 220# CONFIG_NETWORK_SECMARK is not set
217# CONFIG_NETFILTER is not set 221# CONFIG_NETFILTER is not set
@@ -246,6 +250,7 @@ CONFIG_IPV6_SIT=y
246# QoS and/or fair queueing 250# QoS and/or fair queueing
247# 251#
248CONFIG_NET_SCHED=y 252CONFIG_NET_SCHED=y
253CONFIG_NET_SCH_FIFO=y
249CONFIG_NET_SCH_CLK_JIFFIES=y 254CONFIG_NET_SCH_CLK_JIFFIES=y
250# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set 255# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
251# CONFIG_NET_SCH_CLK_CPU is not set 256# CONFIG_NET_SCH_CLK_CPU is not set
@@ -277,6 +282,7 @@ CONFIG_NET_CLS_ROUTE=y
277CONFIG_NET_CLS_FW=m 282CONFIG_NET_CLS_FW=m
278CONFIG_NET_CLS_U32=m 283CONFIG_NET_CLS_U32=m
279# CONFIG_CLS_U32_PERF is not set 284# CONFIG_CLS_U32_PERF is not set
285CONFIG_CLS_U32_MARK=y
280CONFIG_NET_CLS_RSVP=m 286CONFIG_NET_CLS_RSVP=m
281CONFIG_NET_CLS_RSVP6=m 287CONFIG_NET_CLS_RSVP6=m
282# CONFIG_NET_EMATCH is not set 288# CONFIG_NET_EMATCH is not set
@@ -315,6 +321,7 @@ CONFIG_SYS_HYPERVISOR=y
315# 321#
316# CONFIG_RAID_ATTRS is not set 322# CONFIG_RAID_ATTRS is not set
317CONFIG_SCSI=y 323CONFIG_SCSI=y
324# CONFIG_SCSI_TGT is not set
318CONFIG_SCSI_NETLINK=y 325CONFIG_SCSI_NETLINK=y
319CONFIG_SCSI_PROC_FS=y 326CONFIG_SCSI_PROC_FS=y
320 327
@@ -335,6 +342,7 @@ CONFIG_CHR_DEV_SG=y
335CONFIG_SCSI_MULTI_LUN=y 342CONFIG_SCSI_MULTI_LUN=y
336CONFIG_SCSI_CONSTANTS=y 343CONFIG_SCSI_CONSTANTS=y
337CONFIG_SCSI_LOGGING=y 344CONFIG_SCSI_LOGGING=y
345CONFIG_SCSI_SCAN_ASYNC=y
338 346
339# 347#
340# SCSI Transports 348# SCSI Transports
@@ -546,6 +554,7 @@ CONFIG_DNOTIFY=y
546# CONFIG_AUTOFS_FS is not set 554# CONFIG_AUTOFS_FS is not set
547# CONFIG_AUTOFS4_FS is not set 555# CONFIG_AUTOFS4_FS is not set
548# CONFIG_FUSE_FS is not set 556# CONFIG_FUSE_FS is not set
557CONFIG_GENERIC_ACL=y
549 558
550# 559#
551# CD-ROM/DVD Filesystems 560# CD-ROM/DVD Filesystems
@@ -571,7 +580,7 @@ CONFIG_TMPFS=y
571CONFIG_TMPFS_POSIX_ACL=y 580CONFIG_TMPFS_POSIX_ACL=y
572# CONFIG_HUGETLB_PAGE is not set 581# CONFIG_HUGETLB_PAGE is not set
573CONFIG_RAMFS=y 582CONFIG_RAMFS=y
574# CONFIG_CONFIGFS_FS is not set 583CONFIG_CONFIGFS_FS=m
575 584
576# 585#
577# Miscellaneous filesystems 586# Miscellaneous filesystems
@@ -616,7 +625,6 @@ CONFIG_SUNRPC=y
616# CONFIG_CODA_FS is not set 625# CONFIG_CODA_FS is not set
617# CONFIG_AFS_FS is not set 626# CONFIG_AFS_FS is not set
618# CONFIG_9P_FS is not set 627# CONFIG_9P_FS is not set
619CONFIG_GENERIC_ACL=y
620 628
621# 629#
622# Partition Types 630# Partition Types
@@ -646,6 +654,14 @@ CONFIG_MSDOS_PARTITION=y
646# CONFIG_NLS is not set 654# CONFIG_NLS is not set
647 655
648# 656#
657# Distributed Lock Manager
658#
659CONFIG_DLM=m
660CONFIG_DLM_TCP=y
661# CONFIG_DLM_SCTP is not set
662# CONFIG_DLM_DEBUG is not set
663
664#
649# Instrumentation Support 665# Instrumentation Support
650# 666#
651 667
@@ -663,6 +679,8 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
663CONFIG_ENABLE_MUST_CHECK=y 679CONFIG_ENABLE_MUST_CHECK=y
664CONFIG_MAGIC_SYSRQ=y 680CONFIG_MAGIC_SYSRQ=y
665# CONFIG_UNUSED_SYMBOLS is not set 681# CONFIG_UNUSED_SYMBOLS is not set
682CONFIG_DEBUG_FS=y
683CONFIG_HEADERS_CHECK=y
666CONFIG_DEBUG_KERNEL=y 684CONFIG_DEBUG_KERNEL=y
667CONFIG_LOG_BUF_SHIFT=17 685CONFIG_LOG_BUF_SHIFT=17
668# CONFIG_SCHEDSTATS is not set 686# CONFIG_SCHEDSTATS is not set
@@ -679,13 +697,11 @@ CONFIG_DEBUG_SPINLOCK_SLEEP=y
679# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 697# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
680# CONFIG_DEBUG_KOBJECT is not set 698# CONFIG_DEBUG_KOBJECT is not set
681# CONFIG_DEBUG_INFO is not set 699# CONFIG_DEBUG_INFO is not set
682CONFIG_DEBUG_FS=y
683# CONFIG_DEBUG_VM is not set 700# CONFIG_DEBUG_VM is not set
684# CONFIG_DEBUG_LIST is not set 701# CONFIG_DEBUG_LIST is not set
685# CONFIG_FRAME_POINTER is not set 702# CONFIG_FRAME_POINTER is not set
686# CONFIG_UNWIND_INFO is not set 703# CONFIG_UNWIND_INFO is not set
687CONFIG_FORCED_INLINING=y 704CONFIG_FORCED_INLINING=y
688CONFIG_HEADERS_CHECK=y
689# CONFIG_RCU_TORTURE_TEST is not set 705# CONFIG_RCU_TORTURE_TEST is not set
690# CONFIG_LKDTM is not set 706# CONFIG_LKDTM is not set
691 707
@@ -699,10 +715,11 @@ CONFIG_HEADERS_CHECK=y
699# Cryptographic options 715# Cryptographic options
700# 716#
701CONFIG_CRYPTO=y 717CONFIG_CRYPTO=y
702CONFIG_CRYPTO_ALGAPI=m 718CONFIG_CRYPTO_ALGAPI=y
703CONFIG_CRYPTO_BLKCIPHER=m 719CONFIG_CRYPTO_BLKCIPHER=y
704CONFIG_CRYPTO_MANAGER=m 720CONFIG_CRYPTO_MANAGER=y
705# CONFIG_CRYPTO_HMAC is not set 721# CONFIG_CRYPTO_HMAC is not set
722# CONFIG_CRYPTO_XCBC is not set
706# CONFIG_CRYPTO_NULL is not set 723# CONFIG_CRYPTO_NULL is not set
707# CONFIG_CRYPTO_MD4 is not set 724# CONFIG_CRYPTO_MD4 is not set
708# CONFIG_CRYPTO_MD5 is not set 725# CONFIG_CRYPTO_MD5 is not set
@@ -713,8 +730,10 @@ CONFIG_CRYPTO_MANAGER=m
713# CONFIG_CRYPTO_SHA512 is not set 730# CONFIG_CRYPTO_SHA512 is not set
714# CONFIG_CRYPTO_WP512 is not set 731# CONFIG_CRYPTO_WP512 is not set
715# CONFIG_CRYPTO_TGR192 is not set 732# CONFIG_CRYPTO_TGR192 is not set
733# CONFIG_CRYPTO_GF128MUL is not set
716CONFIG_CRYPTO_ECB=m 734CONFIG_CRYPTO_ECB=m
717CONFIG_CRYPTO_CBC=m 735CONFIG_CRYPTO_CBC=y
736# CONFIG_CRYPTO_LRW is not set
718# CONFIG_CRYPTO_DES is not set 737# CONFIG_CRYPTO_DES is not set
719# CONFIG_CRYPTO_DES_S390 is not set 738# CONFIG_CRYPTO_DES_S390 is not set
720# CONFIG_CRYPTO_BLOWFISH is not set 739# CONFIG_CRYPTO_BLOWFISH is not set
@@ -740,8 +759,10 @@ CONFIG_CRYPTO_CBC=m
740# 759#
741# Library routines 760# Library routines
742# 761#
762CONFIG_BITREVERSE=m
743# CONFIG_CRC_CCITT is not set 763# CONFIG_CRC_CCITT is not set
744# CONFIG_CRC16 is not set 764# CONFIG_CRC16 is not set
745CONFIG_CRC32=m 765CONFIG_CRC32=m
746# CONFIG_LIBCRC32C is not set 766# CONFIG_LIBCRC32C is not set
747CONFIG_PLIST=y 767CONFIG_PLIST=y
768CONFIG_IOMAP_COPY=y
diff --git a/arch/s390/hypfs/hypfs_diag.c b/arch/s390/hypfs/hypfs_diag.c
index 443fa377d9ff..2782cf9da5b4 100644
--- a/arch/s390/hypfs/hypfs_diag.c
+++ b/arch/s390/hypfs/hypfs_diag.c
@@ -379,7 +379,7 @@ static void *diag204_alloc_vbuf(int pages)
379static void *diag204_alloc_rbuf(void) 379static void *diag204_alloc_rbuf(void)
380{ 380{
381 diag204_buf = (void*)__get_free_pages(GFP_KERNEL,0); 381 diag204_buf = (void*)__get_free_pages(GFP_KERNEL,0);
382 if (diag204_buf) 382 if (!diag204_buf)
383 return ERR_PTR(-ENOMEM); 383 return ERR_PTR(-ENOMEM);
384 diag204_buf_pages = 1; 384 diag204_buf_pages = 1;
385 return diag204_buf; 385 return diag204_buf;
@@ -521,7 +521,7 @@ __init int hypfs_diag_init(void)
521 } 521 }
522 rc = diag224_get_name_table(); 522 rc = diag224_get_name_table();
523 if (rc) { 523 if (rc) {
524 diag224_delete_name_table(); 524 diag204_free_buffer();
525 printk(KERN_ERR "hypfs: could not get name table.\n"); 525 printk(KERN_ERR "hypfs: could not get name table.\n");
526 } 526 }
527 return rc; 527 return rc;
diff --git a/arch/s390/kernel/debug.c b/arch/s390/kernel/debug.c
index ef5266fbce62..bb57bc0e3fc8 100644
--- a/arch/s390/kernel/debug.c
+++ b/arch/s390/kernel/debug.c
@@ -191,13 +191,13 @@ debug_areas_alloc(int pages_per_area, int nr_areas)
191 debug_entry_t*** areas; 191 debug_entry_t*** areas;
192 int i,j; 192 int i,j;
193 193
194 areas = (debug_entry_t ***) kmalloc(nr_areas * 194 areas = kmalloc(nr_areas *
195 sizeof(debug_entry_t**), 195 sizeof(debug_entry_t**),
196 GFP_KERNEL); 196 GFP_KERNEL);
197 if (!areas) 197 if (!areas)
198 goto fail_malloc_areas; 198 goto fail_malloc_areas;
199 for (i = 0; i < nr_areas; i++) { 199 for (i = 0; i < nr_areas; i++) {
200 areas[i] = (debug_entry_t**) kmalloc(pages_per_area * 200 areas[i] = kmalloc(pages_per_area *
201 sizeof(debug_entry_t*),GFP_KERNEL); 201 sizeof(debug_entry_t*),GFP_KERNEL);
202 if (!areas[i]) { 202 if (!areas[i]) {
203 goto fail_malloc_areas2; 203 goto fail_malloc_areas2;
@@ -242,7 +242,7 @@ debug_info_alloc(char *name, int pages_per_area, int nr_areas, int buf_size,
242 242
243 /* alloc everything */ 243 /* alloc everything */
244 244
245 rc = (debug_info_t*) kmalloc(sizeof(debug_info_t), GFP_KERNEL); 245 rc = kmalloc(sizeof(debug_info_t), GFP_KERNEL);
246 if(!rc) 246 if(!rc)
247 goto fail_malloc_rc; 247 goto fail_malloc_rc;
248 rc->active_entries = kcalloc(nr_areas, sizeof(int), GFP_KERNEL); 248 rc->active_entries = kcalloc(nr_areas, sizeof(int), GFP_KERNEL);
@@ -634,7 +634,7 @@ found:
634 rc = -ENOMEM; 634 rc = -ENOMEM;
635 goto out; 635 goto out;
636 } 636 }
637 p_info = (file_private_info_t *) kmalloc(sizeof(file_private_info_t), 637 p_info = kmalloc(sizeof(file_private_info_t),
638 GFP_KERNEL); 638 GFP_KERNEL);
639 if(!p_info){ 639 if(!p_info){
640 if(debug_info_snapshot) 640 if(debug_info_snapshot)
diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c
index a36bea1188d9..9e9972e8a52b 100644
--- a/arch/s390/kernel/ipl.c
+++ b/arch/s390/kernel/ipl.c
@@ -609,42 +609,12 @@ static ssize_t on_panic_store(struct subsystem *subsys, const char *buf,
609static struct subsys_attribute on_panic_attr = 609static struct subsys_attribute on_panic_attr =
610 __ATTR(on_panic, 0644, on_panic_show, on_panic_store); 610 __ATTR(on_panic, 0644, on_panic_show, on_panic_store);
611 611
612static void print_fcp_block(struct ipl_parameter_block *fcp_block)
613{
614 printk(KERN_EMERG "wwpn: %016llx\n",
615 (unsigned long long)fcp_block->ipl_info.fcp.wwpn);
616 printk(KERN_EMERG "lun: %016llx\n",
617 (unsigned long long)fcp_block->ipl_info.fcp.lun);
618 printk(KERN_EMERG "bootprog: %lld\n",
619 (unsigned long long)fcp_block->ipl_info.fcp.bootprog);
620 printk(KERN_EMERG "br_lba: %lld\n",
621 (unsigned long long)fcp_block->ipl_info.fcp.br_lba);
622 printk(KERN_EMERG "device: %llx\n",
623 (unsigned long long)fcp_block->ipl_info.fcp.devno);
624 printk(KERN_EMERG "opt: %x\n", fcp_block->ipl_info.fcp.opt);
625}
626
627void do_reipl(void) 612void do_reipl(void)
628{ 613{
629 struct ccw_dev_id devid; 614 struct ccw_dev_id devid;
630 static char buf[100]; 615 static char buf[100];
631 char loadparm[LOADPARM_LEN + 1]; 616 char loadparm[LOADPARM_LEN + 1];
632 617
633 switch (reipl_type) {
634 case IPL_TYPE_CCW:
635 reipl_get_ascii_loadparm(loadparm);
636 printk(KERN_EMERG "reboot on ccw device: 0.0.%04x\n",
637 reipl_block_ccw->ipl_info.ccw.devno);
638 printk(KERN_EMERG "loadparm = '%s'\n", loadparm);
639 break;
640 case IPL_TYPE_FCP:
641 printk(KERN_EMERG "reboot on fcp device:\n");
642 print_fcp_block(reipl_block_fcp);
643 break;
644 default:
645 break;
646 }
647
648 switch (reipl_method) { 618 switch (reipl_method) {
649 case IPL_METHOD_CCW_CIO: 619 case IPL_METHOD_CCW_CIO:
650 devid.devno = reipl_block_ccw->ipl_info.ccw.devno; 620 devid.devno = reipl_block_ccw->ipl_info.ccw.devno;
@@ -654,6 +624,7 @@ void do_reipl(void)
654 reipl_ccw_dev(&devid); 624 reipl_ccw_dev(&devid);
655 break; 625 break;
656 case IPL_METHOD_CCW_VM: 626 case IPL_METHOD_CCW_VM:
627 reipl_get_ascii_loadparm(loadparm);
657 if (strlen(loadparm) == 0) 628 if (strlen(loadparm) == 0)
658 sprintf(buf, "IPL %X", 629 sprintf(buf, "IPL %X",
659 reipl_block_ccw->ipl_info.ccw.devno); 630 reipl_block_ccw->ipl_info.ccw.devno);
@@ -683,7 +654,6 @@ void do_reipl(void)
683 diag308(DIAG308_IPL, NULL); 654 diag308(DIAG308_IPL, NULL);
684 break; 655 break;
685 } 656 }
686 printk(KERN_EMERG "reboot failed!\n");
687 signal_processor(smp_processor_id(), sigp_stop_and_store_status); 657 signal_processor(smp_processor_id(), sigp_stop_and_store_status);
688} 658}
689 659
@@ -692,19 +662,6 @@ static void do_dump(void)
692 struct ccw_dev_id devid; 662 struct ccw_dev_id devid;
693 static char buf[100]; 663 static char buf[100];
694 664
695 switch (dump_type) {
696 case IPL_TYPE_CCW:
697 printk(KERN_EMERG "Automatic dump on ccw device: 0.0.%04x\n",
698 dump_block_ccw->ipl_info.ccw.devno);
699 break;
700 case IPL_TYPE_FCP:
701 printk(KERN_EMERG "Automatic dump on fcp device:\n");
702 print_fcp_block(dump_block_fcp);
703 break;
704 default:
705 return;
706 }
707
708 switch (dump_method) { 665 switch (dump_method) {
709 case IPL_METHOD_CCW_CIO: 666 case IPL_METHOD_CCW_CIO:
710 smp_send_stop(); 667 smp_send_stop();
@@ -1037,15 +994,21 @@ static void do_reset_calls(void)
1037} 994}
1038 995
1039extern void reset_mcck_handler(void); 996extern void reset_mcck_handler(void);
997extern void reset_pgm_handler(void);
998extern __u32 dump_prefix_page;
1040 999
1041void s390_reset_system(void) 1000void s390_reset_system(void)
1042{ 1001{
1043 struct _lowcore *lc; 1002 struct _lowcore *lc;
1044 1003
1045 /* Stack for interrupt/machine check handler */
1046 lc = (struct _lowcore *)(unsigned long) store_prefix(); 1004 lc = (struct _lowcore *)(unsigned long) store_prefix();
1005
1006 /* Stack for interrupt/machine check handler */
1047 lc->panic_stack = S390_lowcore.panic_stack; 1007 lc->panic_stack = S390_lowcore.panic_stack;
1048 1008
1009 /* Save prefix page address for dump case */
1010 dump_prefix_page = (unsigned long) lc;
1011
1049 /* Disable prefixing */ 1012 /* Disable prefixing */
1050 set_prefix(0); 1013 set_prefix(0);
1051 1014
@@ -1056,5 +1019,11 @@ void s390_reset_system(void)
1056 S390_lowcore.mcck_new_psw.mask = PSW_KERNEL_BITS & ~PSW_MASK_MCHECK; 1019 S390_lowcore.mcck_new_psw.mask = PSW_KERNEL_BITS & ~PSW_MASK_MCHECK;
1057 S390_lowcore.mcck_new_psw.addr = 1020 S390_lowcore.mcck_new_psw.addr =
1058 PSW_ADDR_AMODE | (unsigned long) &reset_mcck_handler; 1021 PSW_ADDR_AMODE | (unsigned long) &reset_mcck_handler;
1022
1023 /* Set new program check handler */
1024 S390_lowcore.program_new_psw.mask = PSW_KERNEL_BITS & ~PSW_MASK_MCHECK;
1025 S390_lowcore.program_new_psw.addr =
1026 PSW_ADDR_AMODE | (unsigned long) &reset_pgm_handler;
1027
1059 do_reset_calls(); 1028 do_reset_calls();
1060} 1029}
diff --git a/arch/s390/kernel/reipl.S b/arch/s390/kernel/reipl.S
index f9434d42ce9f..c3f4d9b95083 100644
--- a/arch/s390/kernel/reipl.S
+++ b/arch/s390/kernel/reipl.S
@@ -16,7 +16,7 @@ do_reipl_asm: basr %r13,0
16 stm %r0,%r15,__LC_GPREGS_SAVE_AREA 16 stm %r0,%r15,__LC_GPREGS_SAVE_AREA
17 stctl %c0,%c15,__LC_CREGS_SAVE_AREA 17 stctl %c0,%c15,__LC_CREGS_SAVE_AREA
18 stam %a0,%a15,__LC_AREGS_SAVE_AREA 18 stam %a0,%a15,__LC_AREGS_SAVE_AREA
19 stpx __LC_PREFIX_SAVE_AREA 19 mvc __LC_PREFIX_SAVE_AREA(4),dump_prefix_page-.Lpg0(%r13)
20 stckc .Lclkcmp-.Lpg0(%r13) 20 stckc .Lclkcmp-.Lpg0(%r13)
21 mvc __LC_CLOCK_COMP_SAVE_AREA(8),.Lclkcmp-.Lpg0(%r13) 21 mvc __LC_CLOCK_COMP_SAVE_AREA(8),.Lclkcmp-.Lpg0(%r13)
22 stpt __LC_CPU_TIMER_SAVE_AREA 22 stpt __LC_CPU_TIMER_SAVE_AREA
@@ -79,3 +79,7 @@ do_reipl_asm: basr %r13,0
79 .long 0x00000000,0x00000000 79 .long 0x00000000,0x00000000
80 .long 0x00000000,0x00000000 80 .long 0x00000000,0x00000000
81 .long 0x00000000,0x00000000 81 .long 0x00000000,0x00000000
82 .globl dump_prefix_page
83dump_prefix_page:
84 .long 0x00000000
85
diff --git a/arch/s390/kernel/reipl64.S b/arch/s390/kernel/reipl64.S
index f18ef260ca23..dbb3eed38865 100644
--- a/arch/s390/kernel/reipl64.S
+++ b/arch/s390/kernel/reipl64.S
@@ -20,7 +20,7 @@ do_reipl_asm: basr %r13,0
20 stg %r0,__LC_GPREGS_SAVE_AREA-0x1000+8(%r1) 20 stg %r0,__LC_GPREGS_SAVE_AREA-0x1000+8(%r1)
21 stctg %c0,%c15,__LC_CREGS_SAVE_AREA-0x1000(%r1) 21 stctg %c0,%c15,__LC_CREGS_SAVE_AREA-0x1000(%r1)
22 stam %a0,%a15,__LC_AREGS_SAVE_AREA-0x1000(%r1) 22 stam %a0,%a15,__LC_AREGS_SAVE_AREA-0x1000(%r1)
23 stpx __LC_PREFIX_SAVE_AREA-0x1000(%r1) 23 mvc __LC_PREFIX_SAVE_AREA-0x1000(4,%r1),dump_prefix_page-.Lpg0(%r13)
24 stfpc __LC_FP_CREG_SAVE_AREA-0x1000(%r1) 24 stfpc __LC_FP_CREG_SAVE_AREA-0x1000(%r1)
25 stckc .Lclkcmp-.Lpg0(%r13) 25 stckc .Lclkcmp-.Lpg0(%r13)
26 mvc __LC_CLOCK_COMP_SAVE_AREA-0x1000(8,%r1),.Lclkcmp-.Lpg0(%r13) 26 mvc __LC_CLOCK_COMP_SAVE_AREA-0x1000(8,%r1),.Lclkcmp-.Lpg0(%r13)
@@ -103,3 +103,6 @@ do_reipl_asm: basr %r13,0
103 .long 0x00000000,0x00000000 103 .long 0x00000000,0x00000000
104 .long 0x00000000,0x00000000 104 .long 0x00000000,0x00000000
105 .long 0x00000000,0x00000000 105 .long 0x00000000,0x00000000
106 .globl dump_prefix_page
107dump_prefix_page:
108 .long 0x00000000
diff --git a/arch/s390/kernel/reset.S b/arch/s390/kernel/reset.S
index be8688c0665c..8a87355161fa 100644
--- a/arch/s390/kernel/reset.S
+++ b/arch/s390/kernel/reset.S
@@ -3,6 +3,7 @@
3 * 3 *
4 * Copyright (C) IBM Corp. 2006 4 * Copyright (C) IBM Corp. 2006
5 * Author(s): Heiko Carstens <heiko.carstens@de.ibm.com> 5 * Author(s): Heiko Carstens <heiko.carstens@de.ibm.com>
6 * Michael Holzheu <holzheu@de.ibm.com>
6 */ 7 */
7 8
8#include <asm/ptrace.h> 9#include <asm/ptrace.h>
@@ -27,6 +28,26 @@ reset_mcck_handler:
27s390_reset_mcck_handler: 28s390_reset_mcck_handler:
28 .quad 0 29 .quad 0
29 30
31 .globl reset_pgm_handler
32reset_pgm_handler:
33 stmg %r0,%r15,__LC_SAVE_AREA
34 basr %r13,0
350: lg %r15,__LC_PANIC_STACK # load panic stack
36 aghi %r15,-STACK_FRAME_OVERHEAD
37 lg %r1,s390_reset_pgm_handler-0b(%r13)
38 ltgr %r1,%r1
39 jz 1f
40 basr %r14,%r1
41 lmg %r0,%r15,__LC_SAVE_AREA
42 lpswe __LC_PGM_OLD_PSW
431: lpswe disabled_wait_psw-0b(%r13)
44 .globl s390_reset_pgm_handler
45s390_reset_pgm_handler:
46 .quad 0
47 .align 8
48disabled_wait_psw:
49 .quad 0x0002000180000000,0x0000000000000000 + reset_pgm_handler
50
30#else /* CONFIG_64BIT */ 51#else /* CONFIG_64BIT */
31 52
32 .globl reset_mcck_handler 53 .globl reset_mcck_handler
@@ -45,4 +66,25 @@ reset_mcck_handler:
45s390_reset_mcck_handler: 66s390_reset_mcck_handler:
46 .long 0 67 .long 0
47 68
69 .globl reset_pgm_handler
70reset_pgm_handler:
71 stm %r0,%r15,__LC_SAVE_AREA
72 basr %r13,0
730: l %r15,__LC_PANIC_STACK # load panic stack
74 ahi %r15,-STACK_FRAME_OVERHEAD
75 l %r1,s390_reset_pgm_handler-0b(%r13)
76 ltr %r1,%r1
77 jz 1f
78 basr %r14,%r1
79 lm %r0,%r15,__LC_SAVE_AREA
80 lpsw __LC_PGM_OLD_PSW
81
821: lpsw disabled_wait_psw-0b(%r13)
83 .globl s390_reset_pgm_handler
84s390_reset_pgm_handler:
85 .long 0
86disabled_wait_psw:
87 .align 8
88 .long 0x000a0000,0x00000000 + reset_pgm_handler
89
48#endif /* CONFIG_64BIT */ 90#endif /* CONFIG_64BIT */
diff --git a/arch/s390/kernel/s390_ext.c b/arch/s390/kernel/s390_ext.c
index 4faf96f8a834..bc5beaa8f98e 100644
--- a/arch/s390/kernel/s390_ext.c
+++ b/arch/s390/kernel/s390_ext.c
@@ -37,7 +37,7 @@ int register_external_interrupt(__u16 code, ext_int_handler_t handler)
37 ext_int_info_t *p; 37 ext_int_info_t *p;
38 int index; 38 int index;
39 39
40 p = (ext_int_info_t *) kmalloc(sizeof(ext_int_info_t), GFP_ATOMIC); 40 p = kmalloc(sizeof(ext_int_info_t), GFP_ATOMIC);
41 if (p == NULL) 41 if (p == NULL)
42 return -ENOMEM; 42 return -ENOMEM;
43 p->code = code; 43 p->code = code;
diff --git a/arch/sparc/defconfig b/arch/sparc/defconfig
index a69856263009..79e54894529d 100644
--- a/arch/sparc/defconfig
+++ b/arch/sparc/defconfig
@@ -1,41 +1,59 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20-rc1
4# Sun Dec 17 14:20:47 2006
3# 5#
4CONFIG_MMU=y 6CONFIG_MMU=y
5CONFIG_UID16=y
6CONFIG_HIGHMEM=y 7CONFIG_HIGHMEM=y
7CONFIG_GENERIC_ISA_DMA=y 8CONFIG_GENERIC_ISA_DMA=y
9CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
8 10
9# 11#
10# Code maturity level options 12# Code maturity level options
11# 13#
12CONFIG_EXPERIMENTAL=y 14CONFIG_EXPERIMENTAL=y
13CONFIG_CLEAN_COMPILE=y
14CONFIG_STANDALONE=y
15CONFIG_BROKEN_ON_SMP=y 15CONFIG_BROKEN_ON_SMP=y
16CONFIG_INIT_ENV_ARG_LIMIT=32
16 17
17# 18#
18# General setup 19# General setup
19# 20#
21CONFIG_LOCALVERSION=""
22CONFIG_LOCALVERSION_AUTO=y
20CONFIG_SWAP=y 23CONFIG_SWAP=y
21CONFIG_SYSVIPC=y 24CONFIG_SYSVIPC=y
25# CONFIG_IPC_NS is not set
22CONFIG_POSIX_MQUEUE=y 26CONFIG_POSIX_MQUEUE=y
23# CONFIG_BSD_PROCESS_ACCT is not set 27# CONFIG_BSD_PROCESS_ACCT is not set
24CONFIG_SYSCTL=y 28# CONFIG_TASKSTATS is not set
29# CONFIG_UTS_NS is not set
25# CONFIG_AUDIT is not set 30# CONFIG_AUDIT is not set
26CONFIG_LOG_BUF_SHIFT=14
27# CONFIG_HOTPLUG is not set
28# CONFIG_IKCONFIG is not set 31# CONFIG_IKCONFIG is not set
32CONFIG_SYSFS_DEPRECATED=y
33# CONFIG_RELAY is not set
34CONFIG_INITRAMFS_SOURCE=""
35# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
36CONFIG_SYSCTL=y
29# CONFIG_EMBEDDED is not set 37# CONFIG_EMBEDDED is not set
38CONFIG_UID16=y
39CONFIG_SYSCTL_SYSCALL=y
30CONFIG_KALLSYMS=y 40CONFIG_KALLSYMS=y
31# CONFIG_KALLSYMS_ALL is not set 41# CONFIG_KALLSYMS_ALL is not set
42# CONFIG_KALLSYMS_EXTRA_PASS is not set
43CONFIG_HOTPLUG=y
44CONFIG_PRINTK=y
45CONFIG_BUG=y
46CONFIG_ELF_CORE=y
47CONFIG_BASE_FULL=y
32CONFIG_FUTEX=y 48CONFIG_FUTEX=y
33CONFIG_EPOLL=y 49CONFIG_EPOLL=y
34CONFIG_IOSCHED_NOOP=y 50CONFIG_SHMEM=y
35CONFIG_IOSCHED_AS=y 51CONFIG_SLAB=y
36CONFIG_IOSCHED_DEADLINE=y 52CONFIG_VM_EVENT_COUNTERS=y
37CONFIG_IOSCHED_CFQ=y 53CONFIG_RT_MUTEXES=y
38# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 54# CONFIG_TINY_SHMEM is not set
55CONFIG_BASE_SMALL=0
56# CONFIG_SLOB is not set
39 57
40# 58#
41# Loadable module support 59# Loadable module support
@@ -43,17 +61,36 @@ CONFIG_IOSCHED_CFQ=y
43CONFIG_MODULES=y 61CONFIG_MODULES=y
44CONFIG_MODULE_UNLOAD=y 62CONFIG_MODULE_UNLOAD=y
45# CONFIG_MODULE_FORCE_UNLOAD is not set 63# CONFIG_MODULE_FORCE_UNLOAD is not set
46CONFIG_OBSOLETE_MODPARM=y
47# CONFIG_MODVERSIONS is not set 64# CONFIG_MODVERSIONS is not set
65# CONFIG_MODULE_SRCVERSION_ALL is not set
48CONFIG_KMOD=y 66CONFIG_KMOD=y
49 67
50# 68#
51# General setup 69# Block layer
70#
71CONFIG_BLOCK=y
72# CONFIG_LBD is not set
73# CONFIG_BLK_DEV_IO_TRACE is not set
74# CONFIG_LSF is not set
75
76#
77# IO Schedulers
78#
79CONFIG_IOSCHED_NOOP=y
80CONFIG_IOSCHED_AS=y
81CONFIG_IOSCHED_DEADLINE=y
82CONFIG_IOSCHED_CFQ=y
83# CONFIG_DEFAULT_AS is not set
84# CONFIG_DEFAULT_DEADLINE is not set
85CONFIG_DEFAULT_CFQ=y
86# CONFIG_DEFAULT_NOOP is not set
87CONFIG_DEFAULT_IOSCHED="cfq"
88
89#
90# General machine setup
52# 91#
53CONFIG_VT=y
54CONFIG_VT_CONSOLE=y
55CONFIG_HW_CONSOLE=y
56# CONFIG_SMP is not set 92# CONFIG_SMP is not set
93CONFIG_SPARC=y
57CONFIG_SPARC32=y 94CONFIG_SPARC32=y
58CONFIG_SBUS=y 95CONFIG_SBUS=y
59CONFIG_SBUSCHAR=y 96CONFIG_SBUSCHAR=y
@@ -61,73 +98,170 @@ CONFIG_SERIAL_CONSOLE=y
61CONFIG_SUN_AUXIO=y 98CONFIG_SUN_AUXIO=y
62CONFIG_SUN_IO=y 99CONFIG_SUN_IO=y
63CONFIG_RWSEM_GENERIC_SPINLOCK=y 100CONFIG_RWSEM_GENERIC_SPINLOCK=y
101CONFIG_GENERIC_FIND_NEXT_BIT=y
102CONFIG_GENERIC_HWEIGHT=y
103CONFIG_GENERIC_CALIBRATE_DELAY=y
104CONFIG_ARCH_MAY_HAVE_PC_FDC=y
105# CONFIG_ARCH_HAS_ILOG2_U32 is not set
106# CONFIG_ARCH_HAS_ILOG2_U64 is not set
64CONFIG_SUN_PM=y 107CONFIG_SUN_PM=y
65# CONFIG_SUN4 is not set 108# CONFIG_SUN4 is not set
66CONFIG_PCI=y 109CONFIG_PCI=y
67# CONFIG_PCI_LEGACY_PROC is not set 110# CONFIG_PCI_MULTITHREAD_PROBE is not set
68# CONFIG_PCI_NAMES is not set 111# CONFIG_PCI_DEBUG is not set
69CONFIG_SUN_OPENPROMFS=m 112CONFIG_SUN_OPENPROMFS=m
113# CONFIG_SPARC_LED is not set
70CONFIG_BINFMT_ELF=y 114CONFIG_BINFMT_ELF=y
71CONFIG_BINFMT_AOUT=y 115CONFIG_BINFMT_AOUT=y
72CONFIG_BINFMT_MISC=m 116CONFIG_BINFMT_MISC=m
73CONFIG_SUNOS_EMUL=y 117CONFIG_SUNOS_EMUL=y
118CONFIG_SELECT_MEMORY_MODEL=y
119CONFIG_FLATMEM_MANUAL=y
120# CONFIG_DISCONTIGMEM_MANUAL is not set
121# CONFIG_SPARSEMEM_MANUAL is not set
122CONFIG_FLATMEM=y
123CONFIG_FLAT_NODE_MEM_MAP=y
124# CONFIG_SPARSEMEM_STATIC is not set
125CONFIG_SPLIT_PTLOCK_CPUS=4
126# CONFIG_RESOURCES_64BIT is not set
74 127
75# 128#
76# Parallel port support 129# Networking
77# 130#
78# CONFIG_PARPORT is not set 131CONFIG_NET=y
79 132
80# 133#
81# Generic Driver Options 134# Networking options
82# 135#
83# CONFIG_DEBUG_DRIVER is not set 136# CONFIG_NETDEBUG is not set
137CONFIG_PACKET=y
138# CONFIG_PACKET_MMAP is not set
139CONFIG_UNIX=y
140CONFIG_XFRM=y
141CONFIG_XFRM_USER=m
142# CONFIG_XFRM_SUB_POLICY is not set
143CONFIG_NET_KEY=m
144CONFIG_INET=y
145# CONFIG_IP_MULTICAST is not set
146# CONFIG_IP_ADVANCED_ROUTER is not set
147CONFIG_IP_FIB_HASH=y
148CONFIG_IP_PNP=y
149CONFIG_IP_PNP_DHCP=y
150# CONFIG_IP_PNP_BOOTP is not set
151# CONFIG_IP_PNP_RARP is not set
152# CONFIG_NET_IPIP is not set
153# CONFIG_NET_IPGRE is not set
154# CONFIG_ARPD is not set
155# CONFIG_SYN_COOKIES is not set
156CONFIG_INET_AH=y
157CONFIG_INET_ESP=y
158CONFIG_INET_IPCOMP=y
159CONFIG_INET_XFRM_TUNNEL=y
160CONFIG_INET_TUNNEL=y
161CONFIG_INET_XFRM_MODE_TRANSPORT=y
162CONFIG_INET_XFRM_MODE_TUNNEL=y
163CONFIG_INET_XFRM_MODE_BEET=y
164CONFIG_INET_DIAG=y
165CONFIG_INET_TCP_DIAG=y
166# CONFIG_TCP_CONG_ADVANCED is not set
167CONFIG_TCP_CONG_CUBIC=y
168CONFIG_DEFAULT_TCP_CONG="cubic"
169# CONFIG_TCP_MD5SIG is not set
170CONFIG_IPV6=m
171CONFIG_IPV6_PRIVACY=y
172# CONFIG_IPV6_ROUTER_PREF is not set
173CONFIG_INET6_AH=m
174CONFIG_INET6_ESP=m
175CONFIG_INET6_IPCOMP=m
176# CONFIG_IPV6_MIP6 is not set
177CONFIG_INET6_XFRM_TUNNEL=m
178CONFIG_INET6_TUNNEL=m
179CONFIG_INET6_XFRM_MODE_TRANSPORT=m
180CONFIG_INET6_XFRM_MODE_TUNNEL=m
181CONFIG_INET6_XFRM_MODE_BEET=m
182# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
183CONFIG_IPV6_SIT=m
184CONFIG_IPV6_TUNNEL=m
185# CONFIG_IPV6_MULTIPLE_TABLES is not set
186# CONFIG_NETWORK_SECMARK is not set
187# CONFIG_NETFILTER is not set
84 188
85# 189#
86# Graphics support 190# DCCP Configuration (EXPERIMENTAL)
87# 191#
88# CONFIG_FB is not set 192# CONFIG_IP_DCCP is not set
89 193
90# 194#
91# Console display driver support 195# SCTP Configuration (EXPERIMENTAL)
92# 196#
93# CONFIG_MDA_CONSOLE is not set 197CONFIG_IP_SCTP=m
94# CONFIG_PROM_CONSOLE is not set 198# CONFIG_SCTP_DBG_MSG is not set
95CONFIG_DUMMY_CONSOLE=y 199CONFIG_SCTP_DBG_OBJCNT=y
200# CONFIG_SCTP_HMAC_NONE is not set
201# CONFIG_SCTP_HMAC_SHA1 is not set
202CONFIG_SCTP_HMAC_MD5=y
96 203
97# 204#
98# Memory Technology Devices (MTD) 205# TIPC Configuration (EXPERIMENTAL)
99# 206#
100# CONFIG_MTD is not set 207# CONFIG_TIPC is not set
208# CONFIG_ATM is not set
209# CONFIG_BRIDGE is not set
210# CONFIG_VLAN_8021Q is not set
211# CONFIG_DECNET is not set
212# CONFIG_LLC2 is not set
213# CONFIG_IPX is not set
214# CONFIG_ATALK is not set
215# CONFIG_X25 is not set
216# CONFIG_LAPB is not set
217# CONFIG_ECONET is not set
218# CONFIG_WAN_ROUTER is not set
101 219
102# 220#
103# Serial drivers 221# QoS and/or fair queueing
104# 222#
105# CONFIG_SERIAL_8250 is not set 223# CONFIG_NET_SCHED is not set
106 224
107# 225#
108# Non-8250 serial port support 226# Network testing
109# 227#
110CONFIG_SERIAL_SUNCORE=y 228CONFIG_NET_PKTGEN=m
111CONFIG_SERIAL_SUNZILOG=y 229# CONFIG_HAMRADIO is not set
112CONFIG_SERIAL_SUNZILOG_CONSOLE=y 230# CONFIG_IRDA is not set
113CONFIG_SERIAL_SUNSU=y 231# CONFIG_BT is not set
114CONFIG_SERIAL_SUNSU_CONSOLE=y 232# CONFIG_IEEE80211 is not set
115# CONFIG_SERIAL_SUNSAB is not set
116CONFIG_SERIAL_CORE=y
117CONFIG_SERIAL_CORE_CONSOLE=y
118 233
119# 234#
120# Misc Linux/SPARC drivers 235# Device Drivers
236#
237
238#
239# Generic Driver Options
240#
241CONFIG_STANDALONE=y
242CONFIG_PREVENT_FIRMWARE_BUILD=y
243# CONFIG_FW_LOADER is not set
244# CONFIG_DEBUG_DRIVER is not set
245# CONFIG_SYS_HYPERVISOR is not set
246
247#
248# Connector - unified userspace <-> kernelspace linker
249#
250# CONFIG_CONNECTOR is not set
251
252#
253# Memory Technology Devices (MTD)
254#
255# CONFIG_MTD is not set
256
257#
258# Parallel port support
259#
260# CONFIG_PARPORT is not set
261
262#
263# Plug and Play support
121# 264#
122CONFIG_SUN_OPENPROMIO=m
123CONFIG_SUN_MOSTEK_RTC=m
124# CONFIG_SUN_BPP is not set
125# CONFIG_SUN_VIDEOPIX is not set
126# CONFIG_SUN_AURORA is not set
127# CONFIG_TADPOLE_TS102_UCTRL is not set
128# CONFIG_SUN_JSFLASH is not set
129CONFIG_APM_RTC_IS_GMT=y
130CONFIG_RTC=m
131 265
132# 266#
133# Block devices 267# Block devices
@@ -137,28 +271,37 @@ CONFIG_RTC=m
137# CONFIG_BLK_CPQ_CISS_DA is not set 271# CONFIG_BLK_CPQ_CISS_DA is not set
138# CONFIG_BLK_DEV_DAC960 is not set 272# CONFIG_BLK_DEV_DAC960 is not set
139# CONFIG_BLK_DEV_UMEM is not set 273# CONFIG_BLK_DEV_UMEM is not set
274# CONFIG_BLK_DEV_COW_COMMON is not set
140CONFIG_BLK_DEV_LOOP=m 275CONFIG_BLK_DEV_LOOP=m
141CONFIG_BLK_DEV_CRYPTOLOOP=m 276CONFIG_BLK_DEV_CRYPTOLOOP=m
142# CONFIG_BLK_DEV_NBD is not set 277# CONFIG_BLK_DEV_NBD is not set
143# CONFIG_BLK_DEV_CARMEL is not set 278# CONFIG_BLK_DEV_SX8 is not set
144CONFIG_BLK_DEV_RAM=y 279CONFIG_BLK_DEV_RAM=y
280CONFIG_BLK_DEV_RAM_COUNT=16
145CONFIG_BLK_DEV_RAM_SIZE=4096 281CONFIG_BLK_DEV_RAM_SIZE=4096
282CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
146CONFIG_BLK_DEV_INITRD=y 283CONFIG_BLK_DEV_INITRD=y
284# CONFIG_CDROM_PKTCDVD is not set
285# CONFIG_ATA_OVER_ETH is not set
147 286
148# 287#
149# ATA/ATAPI/MFM/RLL support 288# Misc devices
150# 289#
151# CONFIG_IDE is not set 290# CONFIG_SGI_IOC4 is not set
291# CONFIG_TIFM_CORE is not set
152 292
153# 293#
154# ISDN subsystem 294# ATA/ATAPI/MFM/RLL support
155# 295#
156# CONFIG_ISDN is not set 296# CONFIG_IDE is not set
157 297
158# 298#
159# SCSI device support 299# SCSI device support
160# 300#
301# CONFIG_RAID_ATTRS is not set
161CONFIG_SCSI=y 302CONFIG_SCSI=y
303# CONFIG_SCSI_TGT is not set
304# CONFIG_SCSI_NETLINK is not set
162CONFIG_SCSI_PROC_FS=y 305CONFIG_SCSI_PROC_FS=y
163 306
164# 307#
@@ -170,6 +313,7 @@ CONFIG_BLK_DEV_SD=y
170CONFIG_BLK_DEV_SR=m 313CONFIG_BLK_DEV_SR=m
171# CONFIG_BLK_DEV_SR_VENDOR is not set 314# CONFIG_BLK_DEV_SR_VENDOR is not set
172CONFIG_CHR_DEV_SG=m 315CONFIG_CHR_DEV_SG=m
316# CONFIG_CHR_DEV_SCH is not set
173 317
174# 318#
175# Some SCSI devices (e.g. CD jukebox) support multiple LUNs 319# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
@@ -177,57 +321,58 @@ CONFIG_CHR_DEV_SG=m
177# CONFIG_SCSI_MULTI_LUN is not set 321# CONFIG_SCSI_MULTI_LUN is not set
178# CONFIG_SCSI_CONSTANTS is not set 322# CONFIG_SCSI_CONSTANTS is not set
179# CONFIG_SCSI_LOGGING is not set 323# CONFIG_SCSI_LOGGING is not set
324# CONFIG_SCSI_SCAN_ASYNC is not set
180 325
181# 326#
182# SCSI Transport Attributes 327# SCSI Transports
183# 328#
184CONFIG_SCSI_SPI_ATTRS=m 329CONFIG_SCSI_SPI_ATTRS=m
185# CONFIG_SCSI_FC_ATTRS is not set 330# CONFIG_SCSI_FC_ATTRS is not set
331# CONFIG_SCSI_ISCSI_ATTRS is not set
332# CONFIG_SCSI_SAS_ATTRS is not set
333# CONFIG_SCSI_SAS_LIBSAS is not set
186 334
187# 335#
188# SCSI low-level drivers 336# SCSI low-level drivers
189# 337#
338# CONFIG_ISCSI_TCP is not set
190# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 339# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
340# CONFIG_SCSI_3W_9XXX is not set
191# CONFIG_SCSI_ACARD is not set 341# CONFIG_SCSI_ACARD is not set
192# CONFIG_SCSI_AACRAID is not set 342# CONFIG_SCSI_AACRAID is not set
193# CONFIG_SCSI_AIC7XXX is not set 343# CONFIG_SCSI_AIC7XXX is not set
194# CONFIG_SCSI_AIC7XXX_OLD is not set 344# CONFIG_SCSI_AIC7XXX_OLD is not set
195# CONFIG_SCSI_AIC79XX is not set 345# CONFIG_SCSI_AIC79XX is not set
346# CONFIG_SCSI_AIC94XX is not set
196# CONFIG_SCSI_DPT_I2O is not set 347# CONFIG_SCSI_DPT_I2O is not set
197# CONFIG_SCSI_ADVANSYS is not set 348# CONFIG_SCSI_ARCMSR is not set
198# CONFIG_SCSI_MEGARAID is not set 349# CONFIG_MEGARAID_NEWGEN is not set
199# CONFIG_SCSI_SATA is not set 350# CONFIG_MEGARAID_LEGACY is not set
200# CONFIG_SCSI_BUSLOGIC is not set 351# CONFIG_MEGARAID_SAS is not set
352# CONFIG_SCSI_HPTIOP is not set
201# CONFIG_SCSI_DMX3191D is not set 353# CONFIG_SCSI_DMX3191D is not set
202# CONFIG_SCSI_EATA is not set
203# CONFIG_SCSI_EATA_PIO is not set
204# CONFIG_SCSI_FUTURE_DOMAIN is not set 354# CONFIG_SCSI_FUTURE_DOMAIN is not set
205# CONFIG_SCSI_GDTH is not set
206# CONFIG_SCSI_IPS is not set 355# CONFIG_SCSI_IPS is not set
356# CONFIG_SCSI_INITIO is not set
207# CONFIG_SCSI_INIA100 is not set 357# CONFIG_SCSI_INIA100 is not set
358# CONFIG_SCSI_STEX is not set
208# CONFIG_SCSI_SYM53C8XX_2 is not set 359# CONFIG_SCSI_SYM53C8XX_2 is not set
209# CONFIG_SCSI_IPR is not set
210# CONFIG_SCSI_QLOGIC_ISP is not set
211# CONFIG_SCSI_QLOGIC_FC is not set
212# CONFIG_SCSI_QLOGIC_1280 is not set 360# CONFIG_SCSI_QLOGIC_1280 is not set
213CONFIG_SCSI_QLOGICPTI=m 361CONFIG_SCSI_QLOGICPTI=m
214CONFIG_SCSI_QLA2XXX=y 362# CONFIG_SCSI_QLA_FC is not set
215# CONFIG_SCSI_QLA21XX is not set 363# CONFIG_SCSI_QLA_ISCSI is not set
216# CONFIG_SCSI_QLA22XX is not set 364# CONFIG_SCSI_LPFC is not set
217# CONFIG_SCSI_QLA2300 is not set
218# CONFIG_SCSI_QLA2322 is not set
219# CONFIG_SCSI_QLA6312 is not set
220# CONFIG_SCSI_QLA6322 is not set
221# CONFIG_SCSI_DC395x is not set 365# CONFIG_SCSI_DC395x is not set
222# CONFIG_SCSI_DC390T is not set 366# CONFIG_SCSI_DC390T is not set
223# CONFIG_SCSI_NSP32 is not set 367# CONFIG_SCSI_NSP32 is not set
224# CONFIG_SCSI_DEBUG is not set 368# CONFIG_SCSI_DEBUG is not set
225CONFIG_SCSI_SUNESP=y 369CONFIG_SCSI_SUNESP=y
370# CONFIG_SCSI_SRP is not set
226 371
227# 372#
228# Fibre Channel support 373# Serial ATA (prod) and Parallel ATA (experimental) drivers
229# 374#
230# CONFIG_FC4 is not set 375# CONFIG_ATA is not set
231 376
232# 377#
233# Multi-device support (RAID and LVM) 378# Multi-device support (RAID and LVM)
@@ -235,85 +380,31 @@ CONFIG_SCSI_SUNESP=y
235# CONFIG_MD is not set 380# CONFIG_MD is not set
236 381
237# 382#
238# Networking support 383# Fusion MPT device support
239#
240CONFIG_NET=y
241
242#
243# Networking options
244# 384#
245CONFIG_PACKET=y 385# CONFIG_FUSION is not set
246# CONFIG_PACKET_MMAP is not set 386# CONFIG_FUSION_SPI is not set
247CONFIG_NETLINK_DEV=y 387# CONFIG_FUSION_FC is not set
248CONFIG_UNIX=y 388# CONFIG_FUSION_SAS is not set
249CONFIG_NET_KEY=m
250CONFIG_INET=y
251# CONFIG_IP_MULTICAST is not set
252# CONFIG_IP_ADVANCED_ROUTER is not set
253CONFIG_IP_PNP=y
254CONFIG_IP_PNP_DHCP=y
255# CONFIG_IP_PNP_BOOTP is not set
256# CONFIG_IP_PNP_RARP is not set
257# CONFIG_NET_IPIP is not set
258# CONFIG_NET_IPGRE is not set
259# CONFIG_ARPD is not set
260# CONFIG_SYN_COOKIES is not set
261CONFIG_INET_AH=y
262CONFIG_INET_ESP=y
263CONFIG_INET_IPCOMP=y
264CONFIG_IPV6=m
265CONFIG_IPV6_PRIVACY=y
266CONFIG_INET6_AH=m
267CONFIG_INET6_ESP=m
268CONFIG_INET6_IPCOMP=m
269CONFIG_IPV6_TUNNEL=m
270# CONFIG_NETFILTER is not set
271CONFIG_XFRM=y
272CONFIG_XFRM_USER=m
273 389
274# 390#
275# SCTP Configuration (EXPERIMENTAL) 391# IEEE 1394 (FireWire) support
276# 392#
277CONFIG_IP_SCTP=m 393# CONFIG_IEEE1394 is not set
278# CONFIG_SCTP_DBG_MSG is not set
279CONFIG_SCTP_DBG_OBJCNT=y
280# CONFIG_SCTP_HMAC_NONE is not set
281# CONFIG_SCTP_HMAC_SHA1 is not set
282CONFIG_SCTP_HMAC_MD5=y
283# CONFIG_ATM is not set
284# CONFIG_BRIDGE is not set
285# CONFIG_VLAN_8021Q is not set
286# CONFIG_DECNET is not set
287# CONFIG_LLC2 is not set
288# CONFIG_IPX is not set
289# CONFIG_ATALK is not set
290# CONFIG_X25 is not set
291# CONFIG_LAPB is not set
292# CONFIG_NET_DIVERT is not set
293# CONFIG_ECONET is not set
294# CONFIG_WAN_ROUTER is not set
295# CONFIG_NET_HW_FLOWCONTROL is not set
296 394
297# 395#
298# QoS and/or fair queueing 396# I2O device support
299# 397#
300# CONFIG_NET_SCHED is not set 398# CONFIG_I2O is not set
301 399
302# 400#
303# Network testing 401# Network device support
304# 402#
305CONFIG_NET_PKTGEN=m
306# CONFIG_NETPOLL is not set
307# CONFIG_NET_POLL_CONTROLLER is not set
308# CONFIG_HAMRADIO is not set
309# CONFIG_IRDA is not set
310# CONFIG_BT is not set
311CONFIG_NETDEVICES=y 403CONFIG_NETDEVICES=y
312CONFIG_DUMMY=m 404CONFIG_DUMMY=m
313# CONFIG_BONDING is not set 405# CONFIG_BONDING is not set
314# CONFIG_EQUALIZER is not set 406# CONFIG_EQUALIZER is not set
315CONFIG_TUN=m 407CONFIG_TUN=m
316# CONFIG_ETHERTAP is not set
317 408
318# 409#
319# ARCnet devices 410# ARCnet devices
@@ -321,6 +412,11 @@ CONFIG_TUN=m
321# CONFIG_ARCNET is not set 412# CONFIG_ARCNET is not set
322 413
323# 414#
415# PHY device support
416#
417# CONFIG_PHYLIB is not set
418
419#
324# Ethernet (10 or 100Mbit) 420# Ethernet (10 or 100Mbit)
325# 421#
326CONFIG_NET_ETHERNET=y 422CONFIG_NET_ETHERNET=y
@@ -330,6 +426,7 @@ CONFIG_HAPPYMEAL=m
330CONFIG_SUNBMAC=m 426CONFIG_SUNBMAC=m
331CONFIG_SUNQE=m 427CONFIG_SUNQE=m
332# CONFIG_SUNGEM is not set 428# CONFIG_SUNGEM is not set
429# CONFIG_CASSINI is not set
333# CONFIG_NET_VENDOR_3COM is not set 430# CONFIG_NET_VENDOR_3COM is not set
334 431
335# 432#
@@ -350,14 +447,22 @@ CONFIG_SUNQE=m
350# CONFIG_HAMACHI is not set 447# CONFIG_HAMACHI is not set
351# CONFIG_YELLOWFIN is not set 448# CONFIG_YELLOWFIN is not set
352# CONFIG_R8169 is not set 449# CONFIG_R8169 is not set
450# CONFIG_SIS190 is not set
451# CONFIG_SKGE is not set
452# CONFIG_SKY2 is not set
353# CONFIG_SK98LIN is not set 453# CONFIG_SK98LIN is not set
354# CONFIG_TIGON3 is not set 454# CONFIG_TIGON3 is not set
455# CONFIG_BNX2 is not set
456# CONFIG_QLA3XXX is not set
355 457
356# 458#
357# Ethernet (10000 Mbit) 459# Ethernet (10000 Mbit)
358# 460#
461# CONFIG_CHELSIO_T1 is not set
359# CONFIG_IXGB is not set 462# CONFIG_IXGB is not set
360# CONFIG_S2IO is not set 463# CONFIG_S2IO is not set
464# CONFIG_MYRI10GE is not set
465# CONFIG_NETXEN_NIC is not set
361 466
362# 467#
363# Token Ring devices 468# Token Ring devices
@@ -380,17 +485,24 @@ CONFIG_SUNQE=m
380# CONFIG_NET_FC is not set 485# CONFIG_NET_FC is not set
381# CONFIG_SHAPER is not set 486# CONFIG_SHAPER is not set
382# CONFIG_NETCONSOLE is not set 487# CONFIG_NETCONSOLE is not set
488# CONFIG_NETPOLL is not set
489# CONFIG_NET_POLL_CONTROLLER is not set
383 490
384# 491#
385# Unix98 PTY support 492# ISDN subsystem
386# 493#
387CONFIG_UNIX98_PTYS=y 494# CONFIG_ISDN is not set
388CONFIG_UNIX98_PTY_COUNT=256 495
496#
497# Telephony Support
498#
499# CONFIG_PHONE is not set
389 500
390# 501#
391# Input device support 502# Input device support
392# 503#
393CONFIG_INPUT=y 504CONFIG_INPUT=y
505# CONFIG_INPUT_FF_MEMLESS is not set
394 506
395# 507#
396# Userland interfaces 508# Userland interfaces
@@ -405,17 +517,6 @@ CONFIG_INPUT_EVDEV=m
405CONFIG_INPUT_EVBUG=m 517CONFIG_INPUT_EVBUG=m
406 518
407# 519#
408# Input I/O drivers
409#
410# CONFIG_GAMEPORT is not set
411CONFIG_SOUND_GAMEPORT=y
412CONFIG_SERIO=m
413# CONFIG_SERIO_I8042 is not set
414CONFIG_SERIO_SERPORT=m
415# CONFIG_SERIO_CT82C710 is not set
416# CONFIG_SERIO_PCIPS2 is not set
417
418#
419# Input Device Drivers 520# Input Device Drivers
420# 521#
421CONFIG_INPUT_KEYBOARD=y 522CONFIG_INPUT_KEYBOARD=y
@@ -424,6 +525,7 @@ CONFIG_KEYBOARD_SUNKBD=m
424# CONFIG_KEYBOARD_LKKBD is not set 525# CONFIG_KEYBOARD_LKKBD is not set
425# CONFIG_KEYBOARD_XTKBD is not set 526# CONFIG_KEYBOARD_XTKBD is not set
426# CONFIG_KEYBOARD_NEWTON is not set 527# CONFIG_KEYBOARD_NEWTON is not set
528# CONFIG_KEYBOARD_STOWAWAY is not set
427CONFIG_INPUT_MOUSE=y 529CONFIG_INPUT_MOUSE=y
428CONFIG_MOUSE_PS2=m 530CONFIG_MOUSE_PS2=m
429CONFIG_MOUSE_SERIAL=m 531CONFIG_MOUSE_SERIAL=m
@@ -433,29 +535,239 @@ CONFIG_MOUSE_SERIAL=m
433# CONFIG_INPUT_MISC is not set 535# CONFIG_INPUT_MISC is not set
434 536
435# 537#
538# Hardware I/O ports
539#
540CONFIG_SERIO=m
541# CONFIG_SERIO_I8042 is not set
542CONFIG_SERIO_SERPORT=m
543# CONFIG_SERIO_PCIPS2 is not set
544CONFIG_SERIO_LIBPS2=m
545# CONFIG_SERIO_RAW is not set
546# CONFIG_GAMEPORT is not set
547
548#
549# Character devices
550#
551CONFIG_VT=y
552CONFIG_VT_CONSOLE=y
553CONFIG_HW_CONSOLE=y
554# CONFIG_VT_HW_CONSOLE_BINDING is not set
555# CONFIG_SERIAL_NONSTANDARD is not set
556
557#
558# Serial drivers
559#
560
561#
562# Non-8250 serial port support
563#
564CONFIG_SERIAL_SUNCORE=y
565CONFIG_SERIAL_SUNZILOG=y
566CONFIG_SERIAL_SUNZILOG_CONSOLE=y
567CONFIG_SERIAL_SUNSU=y
568CONFIG_SERIAL_SUNSU_CONSOLE=y
569# CONFIG_SERIAL_SUNSAB is not set
570CONFIG_SERIAL_CORE=y
571CONFIG_SERIAL_CORE_CONSOLE=y
572# CONFIG_SERIAL_JSM is not set
573CONFIG_UNIX98_PTYS=y
574CONFIG_LEGACY_PTYS=y
575CONFIG_LEGACY_PTY_COUNT=256
576
577#
578# IPMI
579#
580# CONFIG_IPMI_HANDLER is not set
581
582#
583# Watchdog Cards
584#
585# CONFIG_WATCHDOG is not set
586CONFIG_HW_RANDOM=m
587CONFIG_RTC=m
588# CONFIG_DTLK is not set
589# CONFIG_R3964 is not set
590# CONFIG_APPLICOM is not set
591# CONFIG_DRM is not set
592# CONFIG_RAW_DRIVER is not set
593
594#
595# TPM devices
596#
597# CONFIG_TCG_TPM is not set
598
599#
600# I2C support
601#
602# CONFIG_I2C is not set
603
604#
605# SPI support
606#
607# CONFIG_SPI is not set
608# CONFIG_SPI_MASTER is not set
609
610#
611# Dallas's 1-wire bus
612#
613# CONFIG_W1 is not set
614
615#
616# Hardware Monitoring support
617#
618CONFIG_HWMON=y
619# CONFIG_HWMON_VID is not set
620# CONFIG_SENSORS_ABITUGURU is not set
621# CONFIG_SENSORS_F71805F is not set
622# CONFIG_SENSORS_PC87427 is not set
623# CONFIG_SENSORS_VT1211 is not set
624# CONFIG_HWMON_DEBUG_CHIP is not set
625
626#
627# Multimedia devices
628#
629# CONFIG_VIDEO_DEV is not set
630
631#
632# Digital Video Broadcasting Devices
633#
634# CONFIG_DVB is not set
635
636#
637# Graphics support
638#
639CONFIG_FIRMWARE_EDID=y
640# CONFIG_FB is not set
641
642#
643# Console display driver support
644#
645# CONFIG_PROM_CONSOLE is not set
646CONFIG_DUMMY_CONSOLE=y
647# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
648
649#
650# Sound
651#
652# CONFIG_SOUND is not set
653
654#
655# HID Devices
656#
657CONFIG_HID=y
658
659#
660# USB support
661#
662CONFIG_USB_ARCH_HAS_HCD=y
663CONFIG_USB_ARCH_HAS_OHCI=y
664CONFIG_USB_ARCH_HAS_EHCI=y
665# CONFIG_USB is not set
666
667#
668# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
669#
670
671#
672# USB Gadget Support
673#
674# CONFIG_USB_GADGET is not set
675
676#
677# MMC/SD Card support
678#
679# CONFIG_MMC is not set
680
681#
682# LED devices
683#
684# CONFIG_NEW_LEDS is not set
685
686#
687# LED drivers
688#
689
690#
691# LED Triggers
692#
693
694#
695# InfiniBand support
696#
697# CONFIG_INFINIBAND is not set
698
699#
700# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
701#
702
703#
704# Real Time Clock
705#
706# CONFIG_RTC_CLASS is not set
707
708#
709# DMA Engine support
710#
711# CONFIG_DMA_ENGINE is not set
712
713#
714# DMA Clients
715#
716
717#
718# DMA Devices
719#
720
721#
722# Virtualization
723#
724
725#
726# Misc Linux/SPARC drivers
727#
728CONFIG_SUN_OPENPROMIO=m
729CONFIG_SUN_MOSTEK_RTC=m
730# CONFIG_SUN_BPP is not set
731# CONFIG_SUN_VIDEOPIX is not set
732# CONFIG_TADPOLE_TS102_UCTRL is not set
733# CONFIG_SUN_JSFLASH is not set
734
735#
736# Unix98 PTY support
737#
738CONFIG_UNIX98_PTY_COUNT=256
739
740#
436# File systems 741# File systems
437# 742#
438CONFIG_EXT2_FS=y 743CONFIG_EXT2_FS=y
439CONFIG_EXT2_FS_XATTR=y 744CONFIG_EXT2_FS_XATTR=y
440CONFIG_EXT2_FS_POSIX_ACL=y 745CONFIG_EXT2_FS_POSIX_ACL=y
441CONFIG_EXT2_FS_SECURITY=y 746CONFIG_EXT2_FS_SECURITY=y
747# CONFIG_EXT2_FS_XIP is not set
442# CONFIG_EXT3_FS is not set 748# CONFIG_EXT3_FS is not set
443# CONFIG_JBD is not set 749# CONFIG_EXT4DEV_FS is not set
444CONFIG_FS_MBCACHE=y 750CONFIG_FS_MBCACHE=y
445# CONFIG_REISERFS_FS is not set 751# CONFIG_REISERFS_FS is not set
446# CONFIG_JFS_FS is not set 752# CONFIG_JFS_FS is not set
447CONFIG_FS_POSIX_ACL=y 753CONFIG_FS_POSIX_ACL=y
448CONFIG_XFS_FS=m 754CONFIG_XFS_FS=m
449CONFIG_XFS_RT=y
450CONFIG_XFS_QUOTA=y 755CONFIG_XFS_QUOTA=y
451CONFIG_XFS_SECURITY=y 756CONFIG_XFS_SECURITY=y
452CONFIG_XFS_POSIX_ACL=y 757CONFIG_XFS_POSIX_ACL=y
758CONFIG_XFS_RT=y
759# CONFIG_GFS2_FS is not set
760# CONFIG_OCFS2_FS is not set
453# CONFIG_MINIX_FS is not set 761# CONFIG_MINIX_FS is not set
454CONFIG_ROMFS_FS=m 762CONFIG_ROMFS_FS=m
763CONFIG_INOTIFY=y
764CONFIG_INOTIFY_USER=y
455# CONFIG_QUOTA is not set 765# CONFIG_QUOTA is not set
456CONFIG_QUOTACTL=y 766CONFIG_QUOTACTL=y
767CONFIG_DNOTIFY=y
457CONFIG_AUTOFS_FS=m 768CONFIG_AUTOFS_FS=m
458CONFIG_AUTOFS4_FS=m 769CONFIG_AUTOFS4_FS=m
770# CONFIG_FUSE_FS is not set
459 771
460# 772#
461# CD-ROM/DVD Filesystems 773# CD-ROM/DVD Filesystems
@@ -468,7 +780,8 @@ CONFIG_ISO9660_FS=m
468# 780#
469# DOS/FAT/NT Filesystems 781# DOS/FAT/NT Filesystems
470# 782#
471# CONFIG_FAT_FS is not set 783# CONFIG_MSDOS_FS is not set
784# CONFIG_VFAT_FS is not set
472# CONFIG_NTFS_FS is not set 785# CONFIG_NTFS_FS is not set
473 786
474# 787#
@@ -476,13 +789,12 @@ CONFIG_ISO9660_FS=m
476# 789#
477CONFIG_PROC_FS=y 790CONFIG_PROC_FS=y
478CONFIG_PROC_KCORE=y 791CONFIG_PROC_KCORE=y
792CONFIG_PROC_SYSCTL=y
479CONFIG_SYSFS=y 793CONFIG_SYSFS=y
480# CONFIG_DEVFS_FS is not set
481CONFIG_DEVPTS_FS_XATTR=y
482# CONFIG_DEVPTS_FS_SECURITY is not set
483# CONFIG_TMPFS is not set 794# CONFIG_TMPFS is not set
484# CONFIG_HUGETLB_PAGE is not set 795# CONFIG_HUGETLB_PAGE is not set
485CONFIG_RAMFS=y 796CONFIG_RAMFS=y
797# CONFIG_CONFIGFS_FS is not set
486 798
487# 799#
488# Miscellaneous filesystems 800# Miscellaneous filesystems
@@ -512,17 +824,23 @@ CONFIG_NFS_FS=y
512# CONFIG_NFSD is not set 824# CONFIG_NFSD is not set
513CONFIG_ROOT_NFS=y 825CONFIG_ROOT_NFS=y
514CONFIG_LOCKD=y 826CONFIG_LOCKD=y
515# CONFIG_EXPORTFS is not set 827CONFIG_NFS_COMMON=y
516CONFIG_SUNRPC=y 828CONFIG_SUNRPC=y
517CONFIG_SUNRPC_GSS=m 829CONFIG_SUNRPC_GSS=m
518CONFIG_RPCSEC_GSS_KRB5=m 830CONFIG_RPCSEC_GSS_KRB5=m
831# CONFIG_RPCSEC_GSS_SPKM3 is not set
519# CONFIG_SMB_FS is not set 832# CONFIG_SMB_FS is not set
520CONFIG_CIFS=m 833CONFIG_CIFS=m
521# CONFIG_CIFS_STATS is not set 834# CONFIG_CIFS_STATS is not set
835# CONFIG_CIFS_WEAK_PW_HASH is not set
836# CONFIG_CIFS_XATTR is not set
837# CONFIG_CIFS_DEBUG2 is not set
838# CONFIG_CIFS_EXPERIMENTAL is not set
522# CONFIG_NCP_FS is not set 839# CONFIG_NCP_FS is not set
523# CONFIG_CODA_FS is not set 840# CONFIG_CODA_FS is not set
524CONFIG_AFS_FS=m 841CONFIG_AFS_FS=m
525CONFIG_RXRPC=m 842CONFIG_RXRPC=m
843# CONFIG_9P_FS is not set
526 844
527# 845#
528# Partition Types 846# Partition Types
@@ -559,6 +877,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
559# CONFIG_NLS_ISO8859_8 is not set 877# CONFIG_NLS_ISO8859_8 is not set
560# CONFIG_NLS_CODEPAGE_1250 is not set 878# CONFIG_NLS_CODEPAGE_1250 is not set
561# CONFIG_NLS_CODEPAGE_1251 is not set 879# CONFIG_NLS_CODEPAGE_1251 is not set
880# CONFIG_NLS_ASCII is not set
562# CONFIG_NLS_ISO8859_1 is not set 881# CONFIG_NLS_ISO8859_1 is not set
563# CONFIG_NLS_ISO8859_2 is not set 882# CONFIG_NLS_ISO8859_2 is not set
564# CONFIG_NLS_ISO8859_3 is not set 883# CONFIG_NLS_ISO8859_3 is not set
@@ -575,70 +894,104 @@ CONFIG_NLS_DEFAULT="iso8859-1"
575# CONFIG_NLS_UTF8 is not set 894# CONFIG_NLS_UTF8 is not set
576 895
577# 896#
578# Sound 897# Distributed Lock Manager
579#
580# CONFIG_SOUND is not set
581
582#
583# USB support
584# 898#
585# CONFIG_USB is not set 899# CONFIG_DLM is not set
586
587#
588# USB Gadget Support
589#
590# CONFIG_USB_GADGET is not set
591 900
592# 901#
593# Watchdog Cards 902# Instrumentation Support
594# 903#
595# CONFIG_WATCHDOG is not set 904# CONFIG_PROFILING is not set
596 905
597# 906#
598# Kernel hacking 907# Kernel hacking
599# 908#
909# CONFIG_PRINTK_TIME is not set
910CONFIG_ENABLE_MUST_CHECK=y
911CONFIG_MAGIC_SYSRQ=y
912# CONFIG_UNUSED_SYMBOLS is not set
913# CONFIG_DEBUG_FS is not set
914# CONFIG_HEADERS_CHECK is not set
600CONFIG_DEBUG_KERNEL=y 915CONFIG_DEBUG_KERNEL=y
601# CONFIG_DEBUG_STACK_USAGE is not set 916CONFIG_LOG_BUF_SHIFT=14
917CONFIG_DETECT_SOFTLOCKUP=y
918# CONFIG_SCHEDSTATS is not set
602# CONFIG_DEBUG_SLAB is not set 919# CONFIG_DEBUG_SLAB is not set
603CONFIG_MAGIC_SYSRQ=y 920# CONFIG_DEBUG_RT_MUTEXES is not set
921# CONFIG_RT_MUTEX_TESTER is not set
604# CONFIG_DEBUG_SPINLOCK is not set 922# CONFIG_DEBUG_SPINLOCK is not set
605# CONFIG_DEBUG_HIGHMEM is not set 923# CONFIG_DEBUG_MUTEXES is not set
924# CONFIG_DEBUG_RWSEMS is not set
606# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 925# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
607# CONFIG_DEBUG_BUGVERBOSE is not set 926# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
927# CONFIG_DEBUG_KOBJECT is not set
928# CONFIG_DEBUG_HIGHMEM is not set
929CONFIG_DEBUG_BUGVERBOSE=y
930# CONFIG_DEBUG_INFO is not set
931# CONFIG_DEBUG_VM is not set
932# CONFIG_DEBUG_LIST is not set
933CONFIG_FORCED_INLINING=y
934# CONFIG_RCU_TORTURE_TEST is not set
935# CONFIG_DEBUG_STACK_USAGE is not set
608 936
609# 937#
610# Security options 938# Security options
611# 939#
940# CONFIG_KEYS is not set
612# CONFIG_SECURITY is not set 941# CONFIG_SECURITY is not set
613 942
614# 943#
615# Cryptographic options 944# Cryptographic options
616# 945#
617CONFIG_CRYPTO=y 946CONFIG_CRYPTO=y
947CONFIG_CRYPTO_ALGAPI=y
948CONFIG_CRYPTO_BLKCIPHER=y
949CONFIG_CRYPTO_HASH=y
950CONFIG_CRYPTO_MANAGER=y
618CONFIG_CRYPTO_HMAC=y 951CONFIG_CRYPTO_HMAC=y
952# CONFIG_CRYPTO_XCBC is not set
619CONFIG_CRYPTO_NULL=m 953CONFIG_CRYPTO_NULL=m
620CONFIG_CRYPTO_MD4=y 954CONFIG_CRYPTO_MD4=y
621CONFIG_CRYPTO_MD5=y 955CONFIG_CRYPTO_MD5=y
622CONFIG_CRYPTO_SHA1=y 956CONFIG_CRYPTO_SHA1=y
623CONFIG_CRYPTO_SHA256=m 957CONFIG_CRYPTO_SHA256=m
624CONFIG_CRYPTO_SHA512=m 958CONFIG_CRYPTO_SHA512=m
959# CONFIG_CRYPTO_WP512 is not set
960# CONFIG_CRYPTO_TGR192 is not set
961# CONFIG_CRYPTO_GF128MUL is not set
962CONFIG_CRYPTO_ECB=m
963CONFIG_CRYPTO_CBC=y
964# CONFIG_CRYPTO_LRW is not set
625CONFIG_CRYPTO_DES=y 965CONFIG_CRYPTO_DES=y
626CONFIG_CRYPTO_BLOWFISH=m 966CONFIG_CRYPTO_BLOWFISH=m
627CONFIG_CRYPTO_TWOFISH=m 967CONFIG_CRYPTO_TWOFISH=m
968CONFIG_CRYPTO_TWOFISH_COMMON=m
628CONFIG_CRYPTO_SERPENT=m 969CONFIG_CRYPTO_SERPENT=m
629CONFIG_CRYPTO_AES=m 970CONFIG_CRYPTO_AES=m
630CONFIG_CRYPTO_CAST5=m 971CONFIG_CRYPTO_CAST5=m
631CONFIG_CRYPTO_CAST6=m 972CONFIG_CRYPTO_CAST6=m
973# CONFIG_CRYPTO_TEA is not set
632CONFIG_CRYPTO_ARC4=m 974CONFIG_CRYPTO_ARC4=m
975# CONFIG_CRYPTO_KHAZAD is not set
976# CONFIG_CRYPTO_ANUBIS is not set
633CONFIG_CRYPTO_DEFLATE=y 977CONFIG_CRYPTO_DEFLATE=y
634CONFIG_CRYPTO_MICHAEL_MIC=m 978CONFIG_CRYPTO_MICHAEL_MIC=m
635CONFIG_CRYPTO_CRC32C=m 979CONFIG_CRYPTO_CRC32C=m
636# CONFIG_CRYPTO_TEST is not set 980# CONFIG_CRYPTO_TEST is not set
637 981
638# 982#
983# Hardware crypto devices
984#
985
986#
639# Library routines 987# Library routines
640# 988#
989CONFIG_BITREVERSE=y
990# CONFIG_CRC_CCITT is not set
991# CONFIG_CRC16 is not set
641CONFIG_CRC32=y 992CONFIG_CRC32=y
642CONFIG_LIBCRC32C=m 993CONFIG_LIBCRC32C=m
643CONFIG_ZLIB_INFLATE=y 994CONFIG_ZLIB_INFLATE=y
644CONFIG_ZLIB_DEFLATE=y 995CONFIG_ZLIB_DEFLATE=y
996CONFIG_PLIST=y
997CONFIG_IOMAP_COPY=y
diff --git a/arch/sparc/kernel/ioport.c b/arch/sparc/kernel/ioport.c
index cbbc98846b00..987ec6782f99 100644
--- a/arch/sparc/kernel/ioport.c
+++ b/arch/sparc/kernel/ioport.c
@@ -153,7 +153,7 @@ void __iomem *of_ioremap(struct resource *res, unsigned long offset,
153} 153}
154EXPORT_SYMBOL(of_ioremap); 154EXPORT_SYMBOL(of_ioremap);
155 155
156void of_iounmap(void __iomem *base, unsigned long size) 156void of_iounmap(struct resource *res, void __iomem *base, unsigned long size)
157{ 157{
158 iounmap(base); 158 iounmap(base);
159} 159}
@@ -726,7 +726,8 @@ int pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg, int nents,
726 /* IIep is write-through, not flushing. */ 726 /* IIep is write-through, not flushing. */
727 for (n = 0; n < nents; n++) { 727 for (n = 0; n < nents; n++) {
728 BUG_ON(page_address(sg->page) == NULL); 728 BUG_ON(page_address(sg->page) == NULL);
729 sg->dvma_address = virt_to_phys(page_address(sg->page)); 729 sg->dvma_address =
730 virt_to_phys(page_address(sg->page)) + sg->offset;
730 sg->dvma_length = sg->length; 731 sg->dvma_length = sg->length;
731 sg++; 732 sg++;
732 } 733 }
diff --git a/arch/sparc/kernel/irq.c b/arch/sparc/kernel/irq.c
index c8cb211b9072..5b4841d067c1 100644
--- a/arch/sparc/kernel/irq.c
+++ b/arch/sparc/kernel/irq.c
@@ -425,7 +425,7 @@ int request_fast_irq(unsigned int irq,
425 } 425 }
426 426
427 if (action == NULL) 427 if (action == NULL)
428 action = (struct irqaction *)kmalloc(sizeof(struct irqaction), 428 action = kmalloc(sizeof(struct irqaction),
429 GFP_ATOMIC); 429 GFP_ATOMIC);
430 430
431 if (!action) { 431 if (!action) {
@@ -528,7 +528,7 @@ int request_irq(unsigned int irq,
528 } 528 }
529 529
530 if (action == NULL) 530 if (action == NULL)
531 action = (struct irqaction *)kmalloc(sizeof(struct irqaction), 531 action = kmalloc(sizeof(struct irqaction),
532 GFP_ATOMIC); 532 GFP_ATOMIC);
533 533
534 if (!action) { 534 if (!action) {
diff --git a/arch/sparc/kernel/sparc_ksyms.c b/arch/sparc/kernel/sparc_ksyms.c
index 33dadd9f2871..d8e008a04e2b 100644
--- a/arch/sparc/kernel/sparc_ksyms.c
+++ b/arch/sparc/kernel/sparc_ksyms.c
@@ -83,9 +83,6 @@ extern int __divdi3(int, int);
83/* Private functions with odd calling conventions. */ 83/* Private functions with odd calling conventions. */
84extern void ___atomic24_add(void); 84extern void ___atomic24_add(void);
85extern void ___atomic24_sub(void); 85extern void ___atomic24_sub(void);
86extern void ___set_bit(void);
87extern void ___clear_bit(void);
88extern void ___change_bit(void);
89extern void ___rw_read_enter(void); 86extern void ___rw_read_enter(void);
90extern void ___rw_read_try(void); 87extern void ___rw_read_try(void);
91extern void ___rw_read_exit(void); 88extern void ___rw_read_exit(void);
@@ -125,11 +122,6 @@ EXPORT_SYMBOL(pfn_base);
125EXPORT_SYMBOL(___atomic24_add); 122EXPORT_SYMBOL(___atomic24_add);
126EXPORT_SYMBOL(___atomic24_sub); 123EXPORT_SYMBOL(___atomic24_sub);
127 124
128/* Bit operations. */
129EXPORT_SYMBOL(___set_bit);
130EXPORT_SYMBOL(___clear_bit);
131EXPORT_SYMBOL(___change_bit);
132
133/* Per-CPU information table */ 125/* Per-CPU information table */
134EXPORT_PER_CPU_SYMBOL(__cpu_data); 126EXPORT_PER_CPU_SYMBOL(__cpu_data);
135 127
diff --git a/arch/sparc/kernel/sun4d_irq.c b/arch/sparc/kernel/sun4d_irq.c
index cf1b8baa57ea..0e27e226e0e2 100644
--- a/arch/sparc/kernel/sun4d_irq.c
+++ b/arch/sparc/kernel/sun4d_irq.c
@@ -327,7 +327,7 @@ int sun4d_request_irq(unsigned int irq,
327 } 327 }
328 328
329 if (action == NULL) 329 if (action == NULL)
330 action = (struct irqaction *)kmalloc(sizeof(struct irqaction), 330 action = kmalloc(sizeof(struct irqaction),
331 GFP_ATOMIC); 331 GFP_ATOMIC);
332 332
333 if (!action) { 333 if (!action) {
diff --git a/arch/sparc/kernel/time.c b/arch/sparc/kernel/time.c
index 6c7aa51b590f..2fcce000d877 100644
--- a/arch/sparc/kernel/time.c
+++ b/arch/sparc/kernel/time.c
@@ -78,7 +78,6 @@ unsigned long profile_pc(struct pt_regs *regs)
78 extern char __copy_user_begin[], __copy_user_end[]; 78 extern char __copy_user_begin[], __copy_user_end[];
79 extern char __atomic_begin[], __atomic_end[]; 79 extern char __atomic_begin[], __atomic_end[];
80 extern char __bzero_begin[], __bzero_end[]; 80 extern char __bzero_begin[], __bzero_end[];
81 extern char __bitops_begin[], __bitops_end[];
82 81
83 unsigned long pc = regs->pc; 82 unsigned long pc = regs->pc;
84 83
@@ -88,9 +87,7 @@ unsigned long profile_pc(struct pt_regs *regs)
88 (pc >= (unsigned long) __atomic_begin && 87 (pc >= (unsigned long) __atomic_begin &&
89 pc < (unsigned long) __atomic_end) || 88 pc < (unsigned long) __atomic_end) ||
90 (pc >= (unsigned long) __bzero_begin && 89 (pc >= (unsigned long) __bzero_begin &&
91 pc < (unsigned long) __bzero_end) || 90 pc < (unsigned long) __bzero_end))
92 (pc >= (unsigned long) __bitops_begin &&
93 pc < (unsigned long) __bitops_end))
94 pc = regs->u_regs[UREG_RETPC]; 91 pc = regs->u_regs[UREG_RETPC];
95 return pc; 92 return pc;
96} 93}
diff --git a/arch/sparc/lib/Makefile b/arch/sparc/lib/Makefile
index 5db7e1d85385..9ddc5b9ce3bd 100644
--- a/arch/sparc/lib/Makefile
+++ b/arch/sparc/lib/Makefile
@@ -7,7 +7,7 @@ EXTRA_AFLAGS := -ansi -DST_DIV0=0x02
7lib-y := mul.o rem.o sdiv.o udiv.o umul.o urem.o ashrdi3.o memcpy.o memset.o \ 7lib-y := mul.o rem.o sdiv.o udiv.o umul.o urem.o ashrdi3.o memcpy.o memset.o \
8 strlen.o checksum.o blockops.o memscan.o memcmp.o strncmp.o \ 8 strlen.o checksum.o blockops.o memscan.o memcmp.o strncmp.o \
9 strncpy_from_user.o divdi3.o udivdi3.o strlen_user.o \ 9 strncpy_from_user.o divdi3.o udivdi3.o strlen_user.o \
10 copy_user.o locks.o atomic.o atomic32.o bitops.o \ 10 copy_user.o locks.o atomic.o \
11 lshrdi3.o ashldi3.o rwsem.o muldi3.o bitext.o 11 lshrdi3.o ashldi3.o rwsem.o muldi3.o bitext.o
12 12
13obj-y += iomap.o 13obj-y += iomap.o atomic32.o
diff --git a/arch/sparc/lib/atomic32.c b/arch/sparc/lib/atomic32.c
index de84f8534bac..53ddcd9d1e60 100644
--- a/arch/sparc/lib/atomic32.c
+++ b/arch/sparc/lib/atomic32.c
@@ -76,3 +76,42 @@ void atomic_set(atomic_t *v, int i)
76 spin_unlock_irqrestore(ATOMIC_HASH(v), flags); 76 spin_unlock_irqrestore(ATOMIC_HASH(v), flags);
77} 77}
78EXPORT_SYMBOL(atomic_set); 78EXPORT_SYMBOL(atomic_set);
79
80unsigned long ___set_bit(unsigned long *addr, unsigned long mask)
81{
82 unsigned long old, flags;
83
84 spin_lock_irqsave(ATOMIC_HASH(addr), flags);
85 old = *addr;
86 *addr = old | mask;
87 spin_unlock_irqrestore(ATOMIC_HASH(addr), flags);
88
89 return old & mask;
90}
91EXPORT_SYMBOL(___set_bit);
92
93unsigned long ___clear_bit(unsigned long *addr, unsigned long mask)
94{
95 unsigned long old, flags;
96
97 spin_lock_irqsave(ATOMIC_HASH(addr), flags);
98 old = *addr;
99 *addr = old & ~mask;
100 spin_unlock_irqrestore(ATOMIC_HASH(addr), flags);
101
102 return old & mask;
103}
104EXPORT_SYMBOL(___clear_bit);
105
106unsigned long ___change_bit(unsigned long *addr, unsigned long mask)
107{
108 unsigned long old, flags;
109
110 spin_lock_irqsave(ATOMIC_HASH(addr), flags);
111 old = *addr;
112 *addr = old ^ mask;
113 spin_unlock_irqrestore(ATOMIC_HASH(addr), flags);
114
115 return old & mask;
116}
117EXPORT_SYMBOL(___change_bit);
diff --git a/arch/sparc/lib/bitops.S b/arch/sparc/lib/bitops.S
deleted file mode 100644
index cb7fb66a40c8..000000000000
--- a/arch/sparc/lib/bitops.S
+++ /dev/null
@@ -1,109 +0,0 @@
1/* bitops.S: Low level assembler bit operations.
2 *
3 * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
4 */
5
6#include <asm/ptrace.h>
7#include <asm/psr.h>
8
9 .text
10 .align 4
11
12 .globl __bitops_begin
13__bitops_begin:
14
15 /* Take bits in %g2 and set them in word at %g1,
16 * return whether bits were set in original value
17 * in %g2. %g4 holds value to restore into %o7
18 * in delay slot of jmpl return, %g3 + %g5 + %g7 can be
19 * used as temporaries and thus is considered clobbered
20 * by all callers.
21 */
22 .globl ___set_bit
23___set_bit:
24 rd %psr, %g3
25 nop; nop; nop;
26 or %g3, PSR_PIL, %g5
27 wr %g5, 0x0, %psr
28 nop; nop; nop
29#ifdef CONFIG_SMP
30 set bitops_spinlock, %g5
312: ldstub [%g5], %g7 ! Spin on the byte lock for SMP.
32 orcc %g7, 0x0, %g0 ! Did we get it?
33 bne 2b ! Nope...
34#endif
35 ld [%g1], %g7
36 or %g7, %g2, %g5
37 and %g7, %g2, %g2
38#ifdef CONFIG_SMP
39 st %g5, [%g1]
40 set bitops_spinlock, %g5
41 stb %g0, [%g5]
42#else
43 st %g5, [%g1]
44#endif
45 wr %g3, 0x0, %psr
46 nop; nop; nop
47 jmpl %o7, %g0
48 mov %g4, %o7
49
50 /* Same as above, but clears the bits from %g2 instead. */
51 .globl ___clear_bit
52___clear_bit:
53 rd %psr, %g3
54 nop; nop; nop
55 or %g3, PSR_PIL, %g5
56 wr %g5, 0x0, %psr
57 nop; nop; nop
58#ifdef CONFIG_SMP
59 set bitops_spinlock, %g5
602: ldstub [%g5], %g7 ! Spin on the byte lock for SMP.
61 orcc %g7, 0x0, %g0 ! Did we get it?
62 bne 2b ! Nope...
63#endif
64 ld [%g1], %g7
65 andn %g7, %g2, %g5
66 and %g7, %g2, %g2
67#ifdef CONFIG_SMP
68 st %g5, [%g1]
69 set bitops_spinlock, %g5
70 stb %g0, [%g5]
71#else
72 st %g5, [%g1]
73#endif
74 wr %g3, 0x0, %psr
75 nop; nop; nop
76 jmpl %o7, %g0
77 mov %g4, %o7
78
79 /* Same thing again, but this time toggles the bits from %g2. */
80 .globl ___change_bit
81___change_bit:
82 rd %psr, %g3
83 nop; nop; nop
84 or %g3, PSR_PIL, %g5
85 wr %g5, 0x0, %psr
86 nop; nop; nop
87#ifdef CONFIG_SMP
88 set bitops_spinlock, %g5
892: ldstub [%g5], %g7 ! Spin on the byte lock for SMP.
90 orcc %g7, 0x0, %g0 ! Did we get it?
91 bne 2b ! Nope...
92#endif
93 ld [%g1], %g7
94 xor %g7, %g2, %g5
95 and %g7, %g2, %g2
96#ifdef CONFIG_SMP
97 st %g5, [%g1]
98 set bitops_spinlock, %g5
99 stb %g0, [%g5]
100#else
101 st %g5, [%g1]
102#endif
103 wr %g3, 0x0, %psr
104 nop; nop; nop
105 jmpl %o7, %g0
106 mov %g4, %o7
107
108 .globl __bitops_end
109__bitops_end:
diff --git a/arch/sparc64/defconfig b/arch/sparc64/defconfig
index 0f0d38f6197c..5a9e68b13e60 100644
--- a/arch/sparc64/defconfig
+++ b/arch/sparc64/defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.19 3# Linux kernel version: 2.6.20-rc2
4# Sat Dec 9 15:41:30 2006 4# Thu Dec 28 15:09:49 2006
5# 5#
6CONFIG_SPARC=y 6CONFIG_SPARC=y
7CONFIG_SPARC64=y 7CONFIG_SPARC64=y
@@ -334,7 +334,7 @@ CONFIG_BLK_DEV_LOOP=m
334CONFIG_BLK_DEV_CRYPTOLOOP=m 334CONFIG_BLK_DEV_CRYPTOLOOP=m
335CONFIG_BLK_DEV_NBD=m 335CONFIG_BLK_DEV_NBD=m
336# CONFIG_BLK_DEV_SX8 is not set 336# CONFIG_BLK_DEV_SX8 is not set
337CONFIG_BLK_DEV_UB=m 337# CONFIG_BLK_DEV_UB is not set
338# CONFIG_BLK_DEV_RAM is not set 338# CONFIG_BLK_DEV_RAM is not set
339# CONFIG_BLK_DEV_INITRD is not set 339# CONFIG_BLK_DEV_INITRD is not set
340CONFIG_CDROM_PKTCDVD=m 340CONFIG_CDROM_PKTCDVD=m
@@ -840,6 +840,7 @@ CONFIG_HWMON=y
840# CONFIG_SENSORS_LM92 is not set 840# CONFIG_SENSORS_LM92 is not set
841# CONFIG_SENSORS_MAX1619 is not set 841# CONFIG_SENSORS_MAX1619 is not set
842# CONFIG_SENSORS_PC87360 is not set 842# CONFIG_SENSORS_PC87360 is not set
843# CONFIG_SENSORS_PC87427 is not set
843# CONFIG_SENSORS_SIS5595 is not set 844# CONFIG_SENSORS_SIS5595 is not set
844# CONFIG_SENSORS_SMSC47M1 is not set 845# CONFIG_SENSORS_SMSC47M1 is not set
845# CONFIG_SENSORS_SMSC47M192 is not set 846# CONFIG_SENSORS_SMSC47M192 is not set
@@ -850,6 +851,7 @@ CONFIG_HWMON=y
850# CONFIG_SENSORS_W83781D is not set 851# CONFIG_SENSORS_W83781D is not set
851# CONFIG_SENSORS_W83791D is not set 852# CONFIG_SENSORS_W83791D is not set
852# CONFIG_SENSORS_W83792D is not set 853# CONFIG_SENSORS_W83792D is not set
854# CONFIG_SENSORS_W83793 is not set
853# CONFIG_SENSORS_W83L785TS is not set 855# CONFIG_SENSORS_W83L785TS is not set
854# CONFIG_SENSORS_W83627HF is not set 856# CONFIG_SENSORS_W83627HF is not set
855# CONFIG_SENSORS_W83627EHF is not set 857# CONFIG_SENSORS_W83627EHF is not set
@@ -962,7 +964,6 @@ CONFIG_SND_VERBOSE_PROCFS=y
962# 964#
963CONFIG_SND_MPU401_UART=m 965CONFIG_SND_MPU401_UART=m
964CONFIG_SND_AC97_CODEC=m 966CONFIG_SND_AC97_CODEC=m
965CONFIG_SND_AC97_BUS=m
966CONFIG_SND_DUMMY=m 967CONFIG_SND_DUMMY=m
967CONFIG_SND_VIRMIDI=m 968CONFIG_SND_VIRMIDI=m
968CONFIG_SND_MTPAV=m 969CONFIG_SND_MTPAV=m
@@ -1045,6 +1046,7 @@ CONFIG_SND_SUN_CS4231=m
1045# Open Sound System 1046# Open Sound System
1046# 1047#
1047# CONFIG_SOUND_PRIME is not set 1048# CONFIG_SOUND_PRIME is not set
1049CONFIG_AC97_BUS=m
1048 1050
1049# 1051#
1050# HID Devices 1052# HID Devices
@@ -1096,14 +1098,26 @@ CONFIG_USB_UHCI_HCD=m
1096# 1098#
1097# may also be needed; see USB_STORAGE Help for more information 1099# may also be needed; see USB_STORAGE Help for more information
1098# 1100#
1099# CONFIG_USB_STORAGE is not set 1101CONFIG_USB_STORAGE=m
1102# CONFIG_USB_STORAGE_DEBUG is not set
1103# CONFIG_USB_STORAGE_DATAFAB is not set
1104# CONFIG_USB_STORAGE_FREECOM is not set
1105# CONFIG_USB_STORAGE_ISD200 is not set
1106# CONFIG_USB_STORAGE_DPCM is not set
1107# CONFIG_USB_STORAGE_USBAT is not set
1108# CONFIG_USB_STORAGE_SDDR09 is not set
1109# CONFIG_USB_STORAGE_SDDR55 is not set
1110# CONFIG_USB_STORAGE_JUMPSHOT is not set
1111# CONFIG_USB_STORAGE_ALAUDA is not set
1112# CONFIG_USB_STORAGE_ONETOUCH is not set
1113# CONFIG_USB_STORAGE_KARMA is not set
1100# CONFIG_USB_LIBUSUAL is not set 1114# CONFIG_USB_LIBUSUAL is not set
1101 1115
1102# 1116#
1103# USB Input Devices 1117# USB Input Devices
1104# 1118#
1105CONFIG_USB_HID=y 1119CONFIG_USB_HID=y
1106# CONFIG_USB_HID_POWERBOOK is not set 1120# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1107# CONFIG_HID_FF is not set 1121# CONFIG_HID_FF is not set
1108CONFIG_USB_HIDDEV=y 1122CONFIG_USB_HIDDEV=y
1109# CONFIG_USB_AIPTEK is not set 1123# CONFIG_USB_AIPTEK is not set
@@ -1222,6 +1236,10 @@ CONFIG_USB_HIDDEV=y
1222# 1236#
1223 1237
1224# 1238#
1239# Virtualization
1240#
1241
1242#
1225# Misc Linux/SPARC drivers 1243# Misc Linux/SPARC drivers
1226# 1244#
1227CONFIG_SUN_OPENPROMIO=m 1245CONFIG_SUN_OPENPROMIO=m
@@ -1397,6 +1415,8 @@ CONFIG_PRINTK_TIME=y
1397CONFIG_ENABLE_MUST_CHECK=y 1415CONFIG_ENABLE_MUST_CHECK=y
1398CONFIG_MAGIC_SYSRQ=y 1416CONFIG_MAGIC_SYSRQ=y
1399# CONFIG_UNUSED_SYMBOLS is not set 1417# CONFIG_UNUSED_SYMBOLS is not set
1418CONFIG_DEBUG_FS=y
1419# CONFIG_HEADERS_CHECK is not set
1400CONFIG_DEBUG_KERNEL=y 1420CONFIG_DEBUG_KERNEL=y
1401CONFIG_LOG_BUF_SHIFT=18 1421CONFIG_LOG_BUF_SHIFT=18
1402CONFIG_DETECT_SOFTLOCKUP=y 1422CONFIG_DETECT_SOFTLOCKUP=y
@@ -1414,12 +1434,9 @@ CONFIG_SCHEDSTATS=y
1414# CONFIG_DEBUG_KOBJECT is not set 1434# CONFIG_DEBUG_KOBJECT is not set
1415CONFIG_DEBUG_BUGVERBOSE=y 1435CONFIG_DEBUG_BUGVERBOSE=y
1416# CONFIG_DEBUG_INFO is not set 1436# CONFIG_DEBUG_INFO is not set
1417CONFIG_DEBUG_FS=y
1418# CONFIG_DEBUG_VM is not set 1437# CONFIG_DEBUG_VM is not set
1419# CONFIG_DEBUG_LIST is not set 1438# CONFIG_DEBUG_LIST is not set
1420# CONFIG_UNWIND_INFO is not set
1421CONFIG_FORCED_INLINING=y 1439CONFIG_FORCED_INLINING=y
1422# CONFIG_HEADERS_CHECK is not set
1423# CONFIG_RCU_TORTURE_TEST is not set 1440# CONFIG_RCU_TORTURE_TEST is not set
1424# CONFIG_LKDTM is not set 1441# CONFIG_LKDTM is not set
1425# CONFIG_DEBUG_STACK_USAGE is not set 1442# CONFIG_DEBUG_STACK_USAGE is not set
@@ -1489,3 +1506,4 @@ CONFIG_LIBCRC32C=m
1489CONFIG_ZLIB_INFLATE=y 1506CONFIG_ZLIB_INFLATE=y
1490CONFIG_ZLIB_DEFLATE=y 1507CONFIG_ZLIB_DEFLATE=y
1491CONFIG_PLIST=y 1508CONFIG_PLIST=y
1509CONFIG_IOMAP_COPY=y
diff --git a/arch/sparc64/kernel/head.S b/arch/sparc64/kernel/head.S
index 03ffaf895a22..baea10a98196 100644
--- a/arch/sparc64/kernel/head.S
+++ b/arch/sparc64/kernel/head.S
@@ -78,11 +78,7 @@ sparc_ramdisk_image64:
78 78
79 /* PROM cif handler code address is in %o4. */ 79 /* PROM cif handler code address is in %o4. */
80sparc64_boot: 80sparc64_boot:
811: rd %pc, %g7 81 mov %o4, %l7
82 set 1b, %g1
83 cmp %g1, %g7
84 be,pn %xcc, sparc64_boot_after_remap
85 mov %o4, %l7
86 82
87 /* We need to remap the kernel. Use position independant 83 /* We need to remap the kernel. Use position independant
88 * code to remap us to KERNBASE. 84 * code to remap us to KERNBASE.
@@ -295,7 +291,6 @@ is_sun4v:
295 291
296 add %sp, (192 + 128), %sp 292 add %sp, (192 + 128), %sp
297 293
298sparc64_boot_after_remap:
299 sethi %hi(prom_root_compatible), %g1 294 sethi %hi(prom_root_compatible), %g1
300 or %g1, %lo(prom_root_compatible), %g1 295 or %g1, %lo(prom_root_compatible), %g1
301 sethi %hi(prom_sun4v_name), %g7 296 sethi %hi(prom_sun4v_name), %g7
diff --git a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c
index d64b1ea848de..c3d068c7a412 100644
--- a/arch/sparc64/kernel/irq.c
+++ b/arch/sparc64/kernel/irq.c
@@ -372,14 +372,14 @@ static void run_pre_handler(unsigned int virt_irq)
372 } 372 }
373} 373}
374 374
375static struct hw_interrupt_type sun4u_irq = { 375static struct irq_chip sun4u_irq = {
376 .typename = "sun4u", 376 .typename = "sun4u",
377 .enable = sun4u_irq_enable, 377 .enable = sun4u_irq_enable,
378 .disable = sun4u_irq_disable, 378 .disable = sun4u_irq_disable,
379 .end = sun4u_irq_end, 379 .end = sun4u_irq_end,
380}; 380};
381 381
382static struct hw_interrupt_type sun4u_irq_ack = { 382static struct irq_chip sun4u_irq_ack = {
383 .typename = "sun4u+ack", 383 .typename = "sun4u+ack",
384 .enable = sun4u_irq_enable, 384 .enable = sun4u_irq_enable,
385 .disable = sun4u_irq_disable, 385 .disable = sun4u_irq_disable,
@@ -387,14 +387,14 @@ static struct hw_interrupt_type sun4u_irq_ack = {
387 .end = sun4u_irq_end, 387 .end = sun4u_irq_end,
388}; 388};
389 389
390static struct hw_interrupt_type sun4v_irq = { 390static struct irq_chip sun4v_irq = {
391 .typename = "sun4v", 391 .typename = "sun4v",
392 .enable = sun4v_irq_enable, 392 .enable = sun4v_irq_enable,
393 .disable = sun4v_irq_disable, 393 .disable = sun4v_irq_disable,
394 .end = sun4v_irq_end, 394 .end = sun4v_irq_end,
395}; 395};
396 396
397static struct hw_interrupt_type sun4v_irq_ack = { 397static struct irq_chip sun4v_irq_ack = {
398 .typename = "sun4v+ack", 398 .typename = "sun4v+ack",
399 .enable = sun4v_irq_enable, 399 .enable = sun4v_irq_enable,
400 .disable = sun4v_irq_disable, 400 .disable = sun4v_irq_disable,
@@ -493,22 +493,6 @@ out:
493 return bucket->virt_irq; 493 return bucket->virt_irq;
494} 494}
495 495
496void hw_resend_irq(struct hw_interrupt_type *handler, unsigned int virt_irq)
497{
498 struct ino_bucket *bucket = virt_irq_to_bucket(virt_irq);
499 unsigned long pstate;
500 unsigned int *ent;
501
502 __asm__ __volatile__("rdpr %%pstate, %0" : "=r" (pstate));
503 __asm__ __volatile__("wrpr %0, %1, %%pstate"
504 : : "r" (pstate), "i" (PSTATE_IE));
505 ent = irq_work(smp_processor_id());
506 bucket->irq_chain = *ent;
507 *ent = __irq(bucket);
508 set_softint(1 << PIL_DEVICE_IRQ);
509 __asm__ __volatile__("wrpr %0, 0x0, %%pstate" : : "r" (pstate));
510}
511
512void ack_bad_irq(unsigned int virt_irq) 496void ack_bad_irq(unsigned int virt_irq)
513{ 497{
514 struct ino_bucket *bucket = virt_irq_to_bucket(virt_irq); 498 struct ino_bucket *bucket = virt_irq_to_bucket(virt_irq);
diff --git a/arch/sparc64/kernel/isa.c b/arch/sparc64/kernel/isa.c
index ad1c4f55420f..98721a8f8619 100644
--- a/arch/sparc64/kernel/isa.c
+++ b/arch/sparc64/kernel/isa.c
@@ -22,14 +22,15 @@ static void __init report_dev(struct sparc_isa_device *isa_dev, int child)
22 printk(" [%s", isa_dev->prom_node->name); 22 printk(" [%s", isa_dev->prom_node->name);
23} 23}
24 24
25static struct linux_prom_registers * __init 25static void __init isa_dev_get_resource(struct sparc_isa_device *isa_dev)
26isa_dev_get_resource(struct sparc_isa_device *isa_dev)
27{ 26{
28 struct linux_prom_registers *pregs; 27 struct linux_prom_registers *pregs;
29 unsigned long base, len; 28 unsigned long base, len;
30 int prop_len; 29 int prop_len;
31 30
32 pregs = of_get_property(isa_dev->prom_node, "reg", &prop_len); 31 pregs = of_get_property(isa_dev->prom_node, "reg", &prop_len);
32 if (!pregs)
33 return;
33 34
34 /* Only the first one is interesting. */ 35 /* Only the first one is interesting. */
35 len = pregs[0].reg_size; 36 len = pregs[0].reg_size;
@@ -44,12 +45,9 @@ isa_dev_get_resource(struct sparc_isa_device *isa_dev)
44 45
45 request_resource(&isa_dev->bus->parent->io_space, 46 request_resource(&isa_dev->bus->parent->io_space,
46 &isa_dev->resource); 47 &isa_dev->resource);
47
48 return pregs;
49} 48}
50 49
51static void __init isa_dev_get_irq(struct sparc_isa_device *isa_dev, 50static void __init isa_dev_get_irq(struct sparc_isa_device *isa_dev)
52 struct linux_prom_registers *pregs)
53{ 51{
54 struct of_device *op = of_find_device_by_node(isa_dev->prom_node); 52 struct of_device *op = of_find_device_by_node(isa_dev->prom_node);
55 53
@@ -69,7 +67,6 @@ static void __init isa_fill_children(struct sparc_isa_device *parent_isa_dev)
69 67
70 printk(" ->"); 68 printk(" ->");
71 while (dp) { 69 while (dp) {
72 struct linux_prom_registers *regs;
73 struct sparc_isa_device *isa_dev; 70 struct sparc_isa_device *isa_dev;
74 71
75 isa_dev = kzalloc(sizeof(*isa_dev), GFP_KERNEL); 72 isa_dev = kzalloc(sizeof(*isa_dev), GFP_KERNEL);
@@ -85,8 +82,8 @@ static void __init isa_fill_children(struct sparc_isa_device *parent_isa_dev)
85 isa_dev->bus = parent_isa_dev->bus; 82 isa_dev->bus = parent_isa_dev->bus;
86 isa_dev->prom_node = dp; 83 isa_dev->prom_node = dp;
87 84
88 regs = isa_dev_get_resource(isa_dev); 85 isa_dev_get_resource(isa_dev);
89 isa_dev_get_irq(isa_dev, regs); 86 isa_dev_get_irq(isa_dev);
90 87
91 report_dev(isa_dev, 1); 88 report_dev(isa_dev, 1);
92 89
@@ -99,7 +96,6 @@ static void __init isa_fill_devices(struct sparc_isa_bridge *isa_br)
99 struct device_node *dp = isa_br->prom_node->child; 96 struct device_node *dp = isa_br->prom_node->child;
100 97
101 while (dp) { 98 while (dp) {
102 struct linux_prom_registers *regs;
103 struct sparc_isa_device *isa_dev; 99 struct sparc_isa_device *isa_dev;
104 100
105 isa_dev = kzalloc(sizeof(*isa_dev), GFP_KERNEL); 101 isa_dev = kzalloc(sizeof(*isa_dev), GFP_KERNEL);
@@ -137,8 +133,8 @@ static void __init isa_fill_devices(struct sparc_isa_bridge *isa_br)
137 isa_dev->bus = isa_br; 133 isa_dev->bus = isa_br;
138 isa_dev->prom_node = dp; 134 isa_dev->prom_node = dp;
139 135
140 regs = isa_dev_get_resource(isa_dev); 136 isa_dev_get_resource(isa_dev);
141 isa_dev_get_irq(isa_dev, regs); 137 isa_dev_get_irq(isa_dev);
142 138
143 report_dev(isa_dev, 0); 139 report_dev(isa_dev, 0);
144 140
diff --git a/arch/sparc64/kernel/of_device.c b/arch/sparc64/kernel/of_device.c
index cec0eceae552..b0f3e0082a0d 100644
--- a/arch/sparc64/kernel/of_device.c
+++ b/arch/sparc64/kernel/of_device.c
@@ -144,9 +144,12 @@ void __iomem *of_ioremap(struct resource *res, unsigned long offset, unsigned lo
144} 144}
145EXPORT_SYMBOL(of_ioremap); 145EXPORT_SYMBOL(of_ioremap);
146 146
147void of_iounmap(void __iomem *base, unsigned long size) 147void of_iounmap(struct resource *res, void __iomem *base, unsigned long size)
148{ 148{
149 release_region((unsigned long) base, size); 149 if (res->flags & IORESOURCE_MEM)
150 release_mem_region((unsigned long) base, size);
151 else
152 release_region((unsigned long) base, size);
150} 153}
151EXPORT_SYMBOL(of_iounmap); 154EXPORT_SYMBOL(of_iounmap);
152 155
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c
index cc09d8266414..0a4958536bcd 100644
--- a/arch/sparc64/kernel/smp.c
+++ b/arch/sparc64/kernel/smp.c
@@ -1447,11 +1447,8 @@ void __init setup_per_cpu_areas(void)
1447 char *ptr; 1447 char *ptr;
1448 1448
1449 /* Copy section for each CPU (we discard the original) */ 1449 /* Copy section for each CPU (we discard the original) */
1450 goal = ALIGN(__per_cpu_end - __per_cpu_start, SMP_CACHE_BYTES); 1450 goal = PERCPU_ENOUGH_ROOM;
1451#ifdef CONFIG_MODULES 1451
1452 if (goal < PERCPU_ENOUGH_ROOM)
1453 goal = PERCPU_ENOUGH_ROOM;
1454#endif
1455 __per_cpu_shift = 0; 1452 __per_cpu_shift = 0;
1456 for (size = 1UL; size < goal; size <<= 1UL) 1453 for (size = 1UL; size < goal; size <<= 1UL)
1457 __per_cpu_shift++; 1454 __per_cpu_shift++;
diff --git a/arch/sparc64/kernel/sys_sunos32.c b/arch/sparc64/kernel/sys_sunos32.c
index 4446f66590fa..2ebc2c051383 100644
--- a/arch/sparc64/kernel/sys_sunos32.c
+++ b/arch/sparc64/kernel/sys_sunos32.c
@@ -1055,7 +1055,7 @@ asmlinkage int sunos_msgsys(int op, u32 arg1, u32 arg2, u32 arg3, u32 arg4)
1055 break; 1055 break;
1056 case 2: 1056 case 2:
1057 rval = -EFAULT; 1057 rval = -EFAULT;
1058 kmbuf = (struct msgbuf *)kmalloc(sizeof(struct msgbuf) + arg3, 1058 kmbuf = kmalloc(sizeof(struct msgbuf) + arg3,
1059 GFP_KERNEL); 1059 GFP_KERNEL);
1060 if (!kmbuf) 1060 if (!kmbuf)
1061 break; 1061 break;
@@ -1078,7 +1078,7 @@ asmlinkage int sunos_msgsys(int op, u32 arg1, u32 arg2, u32 arg3, u32 arg4)
1078 break; 1078 break;
1079 case 3: 1079 case 3:
1080 rval = -EFAULT; 1080 rval = -EFAULT;
1081 kmbuf = (struct msgbuf *)kmalloc(sizeof(struct msgbuf) + arg3, 1081 kmbuf = kmalloc(sizeof(struct msgbuf) + arg3,
1082 GFP_KERNEL); 1082 GFP_KERNEL);
1083 if (!kmbuf || sunos_msgbuf_get((struct msgbuf32 __user *)(unsigned long)arg2, 1083 if (!kmbuf || sunos_msgbuf_get((struct msgbuf32 __user *)(unsigned long)arg2,
1084 kmbuf, arg3)) 1084 kmbuf, arg3))
diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c
index a8e8802eed4d..054822a3e05e 100644
--- a/arch/sparc64/mm/init.c
+++ b/arch/sparc64/mm/init.c
@@ -872,6 +872,115 @@ static unsigned long __init choose_bootmap_pfn(unsigned long start_pfn,
872 prom_halt(); 872 prom_halt();
873} 873}
874 874
875static void __init trim_pavail(unsigned long *cur_size_p,
876 unsigned long *end_of_phys_p)
877{
878 unsigned long to_trim = *cur_size_p - cmdline_memory_size;
879 unsigned long avoid_start, avoid_end;
880 int i;
881
882 to_trim = PAGE_ALIGN(to_trim);
883
884 avoid_start = avoid_end = 0;
885#ifdef CONFIG_BLK_DEV_INITRD
886 avoid_start = initrd_start;
887 avoid_end = PAGE_ALIGN(initrd_end);
888#endif
889
890 /* Trim some pavail[] entries in order to satisfy the
891 * requested "mem=xxx" kernel command line specification.
892 *
893 * We must not trim off the kernel image area nor the
894 * initial ramdisk range (if any). Also, we must not trim
895 * any pavail[] entry down to zero in order to preserve
896 * the invariant that all pavail[] entries have a non-zero
897 * size which is assumed by all of the code in here.
898 */
899 for (i = 0; i < pavail_ents; i++) {
900 unsigned long start, end, kern_end;
901 unsigned long trim_low, trim_high, n;
902
903 kern_end = PAGE_ALIGN(kern_base + kern_size);
904
905 trim_low = start = pavail[i].phys_addr;
906 trim_high = end = start + pavail[i].reg_size;
907
908 if (kern_base >= start &&
909 kern_base < end) {
910 trim_low = kern_base;
911 if (kern_end >= end)
912 continue;
913 }
914 if (kern_end >= start &&
915 kern_end < end) {
916 trim_high = kern_end;
917 }
918 if (avoid_start &&
919 avoid_start >= start &&
920 avoid_start < end) {
921 if (trim_low > avoid_start)
922 trim_low = avoid_start;
923 if (avoid_end >= end)
924 continue;
925 }
926 if (avoid_end &&
927 avoid_end >= start &&
928 avoid_end < end) {
929 if (trim_high < avoid_end)
930 trim_high = avoid_end;
931 }
932
933 if (trim_high <= trim_low)
934 continue;
935
936 if (trim_low == start && trim_high == end) {
937 /* Whole chunk is available for trimming.
938 * Trim all except one page, in order to keep
939 * entry non-empty.
940 */
941 n = (end - start) - PAGE_SIZE;
942 if (n > to_trim)
943 n = to_trim;
944
945 if (n) {
946 pavail[i].phys_addr += n;
947 pavail[i].reg_size -= n;
948 to_trim -= n;
949 }
950 } else {
951 n = (trim_low - start);
952 if (n > to_trim)
953 n = to_trim;
954
955 if (n) {
956 pavail[i].phys_addr += n;
957 pavail[i].reg_size -= n;
958 to_trim -= n;
959 }
960 if (to_trim) {
961 n = end - trim_high;
962 if (n > to_trim)
963 n = to_trim;
964 if (n) {
965 pavail[i].reg_size -= n;
966 to_trim -= n;
967 }
968 }
969 }
970
971 if (!to_trim)
972 break;
973 }
974
975 /* Recalculate. */
976 *cur_size_p = 0UL;
977 for (i = 0; i < pavail_ents; i++) {
978 *end_of_phys_p = pavail[i].phys_addr +
979 pavail[i].reg_size;
980 *cur_size_p += pavail[i].reg_size;
981 }
982}
983
875static unsigned long __init bootmem_init(unsigned long *pages_avail, 984static unsigned long __init bootmem_init(unsigned long *pages_avail,
876 unsigned long phys_base) 985 unsigned long phys_base)
877{ 986{
@@ -889,31 +998,13 @@ static unsigned long __init bootmem_init(unsigned long *pages_avail,
889 end_of_phys_memory = pavail[i].phys_addr + 998 end_of_phys_memory = pavail[i].phys_addr +
890 pavail[i].reg_size; 999 pavail[i].reg_size;
891 bytes_avail += pavail[i].reg_size; 1000 bytes_avail += pavail[i].reg_size;
892 if (cmdline_memory_size) {
893 if (bytes_avail > cmdline_memory_size) {
894 unsigned long slack = bytes_avail - cmdline_memory_size;
895
896 bytes_avail -= slack;
897 end_of_phys_memory -= slack;
898
899 pavail[i].reg_size -= slack;
900 if ((long)pavail[i].reg_size <= 0L) {
901 pavail[i].phys_addr = 0xdeadbeefUL;
902 pavail[i].reg_size = 0UL;
903 pavail_ents = i;
904 } else {
905 pavail[i+1].reg_size = 0Ul;
906 pavail[i+1].phys_addr = 0xdeadbeefUL;
907 pavail_ents = i + 1;
908 }
909 break;
910 }
911 }
912 } 1001 }
913 1002
914 *pages_avail = bytes_avail >> PAGE_SHIFT; 1003 /* Determine the location of the initial ramdisk before trying
915 1004 * to honor the "mem=xxx" command line argument. We must know
916 end_pfn = end_of_phys_memory >> PAGE_SHIFT; 1005 * where the kernel image and the ramdisk image are so that we
1006 * do not trim those two areas from the physical memory map.
1007 */
917 1008
918#ifdef CONFIG_BLK_DEV_INITRD 1009#ifdef CONFIG_BLK_DEV_INITRD
919 /* Now have to check initial ramdisk, so that bootmap does not overwrite it */ 1010 /* Now have to check initial ramdisk, so that bootmap does not overwrite it */
@@ -932,6 +1023,16 @@ static unsigned long __init bootmem_init(unsigned long *pages_avail,
932 } 1023 }
933 } 1024 }
934#endif 1025#endif
1026
1027 if (cmdline_memory_size &&
1028 bytes_avail > cmdline_memory_size)
1029 trim_pavail(&bytes_avail,
1030 &end_of_phys_memory);
1031
1032 *pages_avail = bytes_avail >> PAGE_SHIFT;
1033
1034 end_pfn = end_of_phys_memory >> PAGE_SHIFT;
1035
935 /* Initialize the boot-time allocator. */ 1036 /* Initialize the boot-time allocator. */
936 max_pfn = max_low_pfn = end_pfn; 1037 max_pfn = max_low_pfn = end_pfn;
937 min_low_pfn = (phys_base >> PAGE_SHIFT); 1038 min_low_pfn = (phys_base >> PAGE_SHIFT);
diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c
index b2e9762e13c5..afe3d427ddfa 100644
--- a/arch/um/drivers/net_kern.c
+++ b/arch/um/drivers/net_kern.c
@@ -72,9 +72,11 @@ static int uml_net_rx(struct net_device *dev)
72 return pkt_len; 72 return pkt_len;
73} 73}
74 74
75static void uml_dev_close(void* dev) 75static void uml_dev_close(struct work_struct *work)
76{ 76{
77 dev_close( (struct net_device *) dev); 77 struct uml_net_private *lp =
78 container_of(work, struct uml_net_private, work);
79 dev_close(lp->dev);
78} 80}
79 81
80irqreturn_t uml_net_interrupt(int irq, void *dev_id) 82irqreturn_t uml_net_interrupt(int irq, void *dev_id)
@@ -89,7 +91,6 @@ irqreturn_t uml_net_interrupt(int irq, void *dev_id)
89 spin_lock(&lp->lock); 91 spin_lock(&lp->lock);
90 while((err = uml_net_rx(dev)) > 0) ; 92 while((err = uml_net_rx(dev)) > 0) ;
91 if(err < 0) { 93 if(err < 0) {
92 DECLARE_WORK(close_work, uml_dev_close, dev);
93 printk(KERN_ERR 94 printk(KERN_ERR
94 "Device '%s' read returned %d, shutting it down\n", 95 "Device '%s' read returned %d, shutting it down\n",
95 dev->name, err); 96 dev->name, err);
@@ -97,9 +98,10 @@ irqreturn_t uml_net_interrupt(int irq, void *dev_id)
97 * again lp->lock. 98 * again lp->lock.
98 * And dev_close() can be safely called multiple times on the 99 * And dev_close() can be safely called multiple times on the
99 * same device, since it tests for (dev->flags & IFF_UP). So 100 * same device, since it tests for (dev->flags & IFF_UP). So
100 * there's no harm in delaying the device shutdown. */ 101 * there's no harm in delaying the device shutdown.
101 schedule_work(&close_work); 102 * Furthermore, the workqueue will not re-enqueue an already
102#error this is not permitted - close_work will go out of scope 103 * enqueued work item. */
104 schedule_work(&lp->work);
103 goto out; 105 goto out;
104 } 106 }
105 reactivate_fd(lp->fd, UM_ETH_IRQ); 107 reactivate_fd(lp->fd, UM_ETH_IRQ);
@@ -365,6 +367,7 @@ static int eth_configure(int n, void *init, char *mac,
365 /* This points to the transport private data. It's still clear, but we 367 /* This points to the transport private data. It's still clear, but we
366 * must memset it to 0 *now*. Let's help the drivers. */ 368 * must memset it to 0 *now*. Let's help the drivers. */
367 memset(lp, 0, size); 369 memset(lp, 0, size);
370 INIT_WORK(&lp->work, uml_dev_close);
368 371
369 /* sysfs register */ 372 /* sysfs register */
370 if (!driver_registered) { 373 if (!driver_registered) {
diff --git a/arch/um/include/net_kern.h b/arch/um/include/net_kern.h
index 280459fb0b26..218f8b47fdcd 100644
--- a/arch/um/include/net_kern.h
+++ b/arch/um/include/net_kern.h
@@ -11,6 +11,7 @@
11#include <linux/skbuff.h> 11#include <linux/skbuff.h>
12#include <linux/socket.h> 12#include <linux/socket.h>
13#include <linux/list.h> 13#include <linux/list.h>
14#include <linux/workqueue.h>
14 15
15struct uml_net { 16struct uml_net {
16 struct list_head list; 17 struct list_head list;
@@ -26,6 +27,7 @@ struct uml_net_private {
26 struct net_device *dev; 27 struct net_device *dev;
27 struct timer_list tl; 28 struct timer_list tl;
28 struct net_device_stats stats; 29 struct net_device_stats stats;
30 struct work_struct work;
29 int fd; 31 int fd;
30 unsigned char mac[ETH_ALEN]; 32 unsigned char mac[ETH_ALEN];
31 unsigned short (*protocol)(struct sk_buff *); 33 unsigned short (*protocol)(struct sk_buff *);
diff --git a/arch/um/sys-i386/ldt.c b/arch/um/sys-i386/ldt.c
index 49057d8bc668..5db7737df0ff 100644
--- a/arch/um/sys-i386/ldt.c
+++ b/arch/um/sys-i386/ldt.c
@@ -166,7 +166,7 @@ static long read_ldt_from_host(void __user * ptr, unsigned long bytecount)
166 struct ptrace_ldt ptrace_ldt = (struct ptrace_ldt) { 166 struct ptrace_ldt ptrace_ldt = (struct ptrace_ldt) {
167 .func = 0, 167 .func = 0,
168 .bytecount = bytecount, 168 .bytecount = bytecount,
169 .ptr = (void *)kmalloc(bytecount, GFP_KERNEL)}; 169 .ptr = kmalloc(bytecount, GFP_KERNEL)};
170 u32 cpu; 170 u32 cpu;
171 171
172 if(ptrace_ldt.ptr == NULL) 172 if(ptrace_ldt.ptr == NULL)
@@ -426,7 +426,7 @@ void ldt_get_host_info(void)
426 host_ldt_entries = dummy_list; 426 host_ldt_entries = dummy_list;
427 else { 427 else {
428 size = (size + 1) * sizeof(dummy_list[0]); 428 size = (size + 1) * sizeof(dummy_list[0]);
429 host_ldt_entries = (short *)kmalloc(size, GFP_KERNEL); 429 host_ldt_entries = kmalloc(size, GFP_KERNEL);
430 if(host_ldt_entries == NULL) { 430 if(host_ldt_entries == NULL) {
431 printk("ldt_get_host_info: couldn't allocate host ldt list\n"); 431 printk("ldt_get_host_info: couldn't allocate host ldt list\n");
432 goto out_free; 432 goto out_free;
diff --git a/arch/x86_64/Makefile b/arch/x86_64/Makefile
index b471b8550d03..2941a915d4ef 100644
--- a/arch/x86_64/Makefile
+++ b/arch/x86_64/Makefile
@@ -45,9 +45,7 @@ cflags-kernel-$(CONFIG_REORDER) += -ffunction-sections
45# actually it makes the kernel smaller too. 45# actually it makes the kernel smaller too.
46cflags-y += -fno-reorder-blocks 46cflags-y += -fno-reorder-blocks
47cflags-y += -Wno-sign-compare 47cflags-y += -Wno-sign-compare
48ifneq ($(CONFIG_UNWIND_INFO),y)
49cflags-y += -fno-asynchronous-unwind-tables 48cflags-y += -fno-asynchronous-unwind-tables
50endif
51ifneq ($(CONFIG_DEBUG_INFO),y) 49ifneq ($(CONFIG_DEBUG_INFO),y)
52# -fweb shrinks the kernel a bit, but the difference is very small 50# -fweb shrinks the kernel a bit, but the difference is very small
53# it also messes up debugging, so don't use it for now. 51# it also messes up debugging, so don't use it for now.
diff --git a/arch/x86_64/defconfig b/arch/x86_64/defconfig
index 1a1c6a1a299b..9cc7c21547a2 100644
--- a/arch/x86_64/defconfig
+++ b/arch/x86_64/defconfig
@@ -1191,7 +1191,7 @@ CONFIG_USB_STORAGE=y
1191# USB Input Devices 1191# USB Input Devices
1192# 1192#
1193CONFIG_USB_HID=y 1193CONFIG_USB_HID=y
1194# CONFIG_USB_HID_POWERBOOK is not set 1194# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1195# CONFIG_HID_FF is not set 1195# CONFIG_HID_FF is not set
1196# CONFIG_USB_HIDDEV is not set 1196# CONFIG_USB_HIDDEV is not set
1197# CONFIG_USB_AIPTEK is not set 1197# CONFIG_USB_AIPTEK is not set
@@ -1523,8 +1523,6 @@ CONFIG_DEBUG_FS=y
1523# CONFIG_DEBUG_VM is not set 1523# CONFIG_DEBUG_VM is not set
1524# CONFIG_DEBUG_LIST is not set 1524# CONFIG_DEBUG_LIST is not set
1525# CONFIG_FRAME_POINTER is not set 1525# CONFIG_FRAME_POINTER is not set
1526CONFIG_UNWIND_INFO=y
1527CONFIG_STACK_UNWIND=y
1528# CONFIG_FORCED_INLINING is not set 1526# CONFIG_FORCED_INLINING is not set
1529# CONFIG_HEADERS_CHECK is not set 1527# CONFIG_HEADERS_CHECK is not set
1530# CONFIG_RCU_TORTURE_TEST is not set 1528# CONFIG_RCU_TORTURE_TEST is not set
diff --git a/arch/x86_64/kernel/entry.S b/arch/x86_64/kernel/entry.S
index 601d332c4b79..9f5dac64aa8f 100644
--- a/arch/x86_64/kernel/entry.S
+++ b/arch/x86_64/kernel/entry.S
@@ -1155,36 +1155,3 @@ ENTRY(call_softirq)
1155 ret 1155 ret
1156 CFI_ENDPROC 1156 CFI_ENDPROC
1157ENDPROC(call_softirq) 1157ENDPROC(call_softirq)
1158
1159#ifdef CONFIG_STACK_UNWIND
1160ENTRY(arch_unwind_init_running)
1161 CFI_STARTPROC
1162 movq %r15, R15(%rdi)
1163 movq %r14, R14(%rdi)
1164 xchgq %rsi, %rdx
1165 movq %r13, R13(%rdi)
1166 movq %r12, R12(%rdi)
1167 xorl %eax, %eax
1168 movq %rbp, RBP(%rdi)
1169 movq %rbx, RBX(%rdi)
1170 movq (%rsp), %rcx
1171 movq %rax, R11(%rdi)
1172 movq %rax, R10(%rdi)
1173 movq %rax, R9(%rdi)
1174 movq %rax, R8(%rdi)
1175 movq %rax, RAX(%rdi)
1176 movq %rax, RCX(%rdi)
1177 movq %rax, RDX(%rdi)
1178 movq %rax, RSI(%rdi)
1179 movq %rax, RDI(%rdi)
1180 movq %rax, ORIG_RAX(%rdi)
1181 movq %rcx, RIP(%rdi)
1182 leaq 8(%rsp), %rcx
1183 movq $__KERNEL_CS, CS(%rdi)
1184 movq %rax, EFLAGS(%rdi)
1185 movq %rcx, RSP(%rdi)
1186 movq $__KERNEL_DS, SS(%rdi)
1187 jmpq *%rdx
1188 CFI_ENDPROC
1189ENDPROC(arch_unwind_init_running)
1190#endif
diff --git a/arch/x86_64/kernel/pci-calgary.c b/arch/x86_64/kernel/pci-calgary.c
index 3215675ab128..87d90cb68a74 100644
--- a/arch/x86_64/kernel/pci-calgary.c
+++ b/arch/x86_64/kernel/pci-calgary.c
@@ -1052,7 +1052,7 @@ void __init detect_calgary(void)
1052 void *tbl; 1052 void *tbl;
1053 int calgary_found = 0; 1053 int calgary_found = 0;
1054 unsigned long ptr; 1054 unsigned long ptr;
1055 int offset; 1055 unsigned int offset, prev_offset;
1056 int ret; 1056 int ret;
1057 1057
1058 /* 1058 /*
@@ -1071,15 +1071,20 @@ void __init detect_calgary(void)
1071 ptr = (unsigned long)phys_to_virt(get_bios_ebda()); 1071 ptr = (unsigned long)phys_to_virt(get_bios_ebda());
1072 1072
1073 rio_table_hdr = NULL; 1073 rio_table_hdr = NULL;
1074 prev_offset = 0;
1074 offset = 0x180; 1075 offset = 0x180;
1075 while (offset) { 1076 /*
1077 * The next offset is stored in the 1st word.
1078 * Only parse up until the offset increases:
1079 */
1080 while (offset > prev_offset) {
1076 /* The block id is stored in the 2nd word */ 1081 /* The block id is stored in the 2nd word */
1077 if (*((unsigned short *)(ptr + offset + 2)) == 0x4752){ 1082 if (*((unsigned short *)(ptr + offset + 2)) == 0x4752){
1078 /* set the pointer past the offset & block id */ 1083 /* set the pointer past the offset & block id */
1079 rio_table_hdr = (struct rio_table_hdr *)(ptr + offset + 4); 1084 rio_table_hdr = (struct rio_table_hdr *)(ptr + offset + 4);
1080 break; 1085 break;
1081 } 1086 }
1082 /* The next offset is stored in the 1st word. 0 means no more */ 1087 prev_offset = offset;
1083 offset = *((unsigned short *)(ptr + offset)); 1088 offset = *((unsigned short *)(ptr + offset));
1084 } 1089 }
1085 if (!rio_table_hdr) { 1090 if (!rio_table_hdr) {
diff --git a/arch/x86_64/kernel/process.c b/arch/x86_64/kernel/process.c
index a418ee4c8c62..cbbc6adc1a92 100644
--- a/arch/x86_64/kernel/process.c
+++ b/arch/x86_64/kernel/process.c
@@ -109,7 +109,11 @@ void exit_idle(void)
109static void default_idle(void) 109static void default_idle(void)
110{ 110{
111 current_thread_info()->status &= ~TS_POLLING; 111 current_thread_info()->status &= ~TS_POLLING;
112 smp_mb__after_clear_bit(); 112 /*
113 * TS_POLLING-cleared state must be visible before we
114 * test NEED_RESCHED:
115 */
116 smp_mb();
113 local_irq_disable(); 117 local_irq_disable();
114 if (!need_resched()) { 118 if (!need_resched()) {
115 /* Enables interrupts one instruction before HLT. 119 /* Enables interrupts one instruction before HLT.
diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c
index b54ccc07f379..09d2e8a10a49 100644
--- a/arch/x86_64/kernel/traps.c
+++ b/arch/x86_64/kernel/traps.c
@@ -110,11 +110,6 @@ static inline void preempt_conditional_cli(struct pt_regs *regs)
110} 110}
111 111
112int kstack_depth_to_print = 12; 112int kstack_depth_to_print = 12;
113#ifdef CONFIG_STACK_UNWIND
114static int call_trace = 1;
115#else
116#define call_trace (-1)
117#endif
118 113
119#ifdef CONFIG_KALLSYMS 114#ifdef CONFIG_KALLSYMS
120void printk_address(unsigned long address) 115void printk_address(unsigned long address)
@@ -217,32 +212,6 @@ static unsigned long *in_exception_stack(unsigned cpu, unsigned long stack,
217 return NULL; 212 return NULL;
218} 213}
219 214
220struct ops_and_data {
221 struct stacktrace_ops *ops;
222 void *data;
223};
224
225static int dump_trace_unwind(struct unwind_frame_info *info, void *context)
226{
227 struct ops_and_data *oad = (struct ops_and_data *)context;
228 int n = 0;
229 unsigned long sp = UNW_SP(info);
230
231 if (arch_unw_user_mode(info))
232 return -1;
233 while (unwind(info) == 0 && UNW_PC(info)) {
234 n++;
235 oad->ops->address(oad->data, UNW_PC(info));
236 if (arch_unw_user_mode(info))
237 break;
238 if ((sp & ~(PAGE_SIZE - 1)) == (UNW_SP(info) & ~(PAGE_SIZE - 1))
239 && sp > UNW_SP(info))
240 break;
241 sp = UNW_SP(info);
242 }
243 return n;
244}
245
246#define MSG(txt) ops->warning(data, txt) 215#define MSG(txt) ops->warning(data, txt)
247 216
248/* 217/*
@@ -270,40 +239,6 @@ void dump_trace(struct task_struct *tsk, struct pt_regs *regs,
270 if (!tsk) 239 if (!tsk)
271 tsk = current; 240 tsk = current;
272 241
273 if (call_trace >= 0) {
274 int unw_ret = 0;
275 struct unwind_frame_info info;
276 struct ops_and_data oad = { .ops = ops, .data = data };
277
278 if (regs) {
279 if (unwind_init_frame_info(&info, tsk, regs) == 0)
280 unw_ret = dump_trace_unwind(&info, &oad);
281 } else if (tsk == current)
282 unw_ret = unwind_init_running(&info, dump_trace_unwind,
283 &oad);
284 else {
285 if (unwind_init_blocked(&info, tsk) == 0)
286 unw_ret = dump_trace_unwind(&info, &oad);
287 }
288 if (unw_ret > 0) {
289 if (call_trace == 1 && !arch_unw_user_mode(&info)) {
290 ops->warning_symbol(data,
291 "DWARF2 unwinder stuck at %s",
292 UNW_PC(&info));
293 if ((long)UNW_SP(&info) < 0) {
294 MSG("Leftover inexact backtrace:");
295 stack = (unsigned long *)UNW_SP(&info);
296 if (!stack)
297 goto out;
298 } else
299 MSG("Full inexact backtrace again:");
300 } else if (call_trace >= 1)
301 goto out;
302 else
303 MSG("Full inexact backtrace again:");
304 } else
305 MSG("Inexact backtrace:");
306 }
307 if (!stack) { 242 if (!stack) {
308 unsigned long dummy; 243 unsigned long dummy;
309 stack = &dummy; 244 stack = &dummy;
@@ -384,10 +319,9 @@ void dump_trace(struct task_struct *tsk, struct pt_regs *regs,
384 /* 319 /*
385 * This handles the process stack: 320 * This handles the process stack:
386 */ 321 */
387 tinfo = current_thread_info(); 322 tinfo = task_thread_info(tsk);
388 HANDLE_STACK (valid_stack_ptr(tinfo, stack)); 323 HANDLE_STACK (valid_stack_ptr(tinfo, stack));
389#undef HANDLE_STACK 324#undef HANDLE_STACK
390out:
391 put_cpu(); 325 put_cpu();
392} 326}
393EXPORT_SYMBOL(dump_trace); 327EXPORT_SYMBOL(dump_trace);
@@ -1188,21 +1122,3 @@ static int __init kstack_setup(char *s)
1188 return 0; 1122 return 0;
1189} 1123}
1190early_param("kstack", kstack_setup); 1124early_param("kstack", kstack_setup);
1191
1192#ifdef CONFIG_STACK_UNWIND
1193static int __init call_trace_setup(char *s)
1194{
1195 if (!s)
1196 return -EINVAL;
1197 if (strcmp(s, "old") == 0)
1198 call_trace = -1;
1199 else if (strcmp(s, "both") == 0)
1200 call_trace = 0;
1201 else if (strcmp(s, "newfallback") == 0)
1202 call_trace = 1;
1203 else if (strcmp(s, "new") == 0)
1204 call_trace = 2;
1205 return 0;
1206}
1207early_param("call_trace", call_trace_setup);
1208#endif
diff --git a/arch/x86_64/kernel/vmlinux.lds.S b/arch/x86_64/kernel/vmlinux.lds.S
index 514be5dd2303..1e54ddf2338d 100644
--- a/arch/x86_64/kernel/vmlinux.lds.S
+++ b/arch/x86_64/kernel/vmlinux.lds.S
@@ -221,9 +221,7 @@ SECTIONS
221 /* Sections to be discarded */ 221 /* Sections to be discarded */
222 /DISCARD/ : { 222 /DISCARD/ : {
223 *(.exitcall.exit) 223 *(.exitcall.exit)
224#ifndef CONFIG_UNWIND_INFO
225 *(.eh_frame) 224 *(.eh_frame)
226#endif
227 } 225 }
228 226
229 STABS_DEBUG 227 STABS_DEBUG
diff --git a/arch/xtensa/kernel/Makefile b/arch/xtensa/kernel/Makefile
index d573017a5dde..71f733c4f66d 100644
--- a/arch/xtensa/kernel/Makefile
+++ b/arch/xtensa/kernel/Makefile
@@ -6,7 +6,7 @@ extra-y := head.o vmlinux.lds
6 6
7 7
8obj-y := align.o entry.o irq.o coprocessor.o process.o ptrace.o semaphore.o \ 8obj-y := align.o entry.o irq.o coprocessor.o process.o ptrace.o semaphore.o \
9 setup.o signal.o syscalls.o time.o traps.o vectors.o platform.o \ 9 setup.o signal.o syscall.o time.o traps.o vectors.o platform.o \
10 pci-dma.o 10 pci-dma.o
11 11
12## windowspill.o 12## windowspill.o
diff --git a/arch/xtensa/kernel/syscall.c b/arch/xtensa/kernel/syscall.c
index 418268f49766..fe3834bc1dbf 100644
--- a/arch/xtensa/kernel/syscall.c
+++ b/arch/xtensa/kernel/syscall.c
@@ -16,7 +16,7 @@
16 * 16 *
17 */ 17 */
18#include <asm/uaccess.h> 18#include <asm/uaccess.h>
19#include <asm/syscalls.h> 19#include <asm/syscall.h>
20#include <asm/unistd.h> 20#include <asm/unistd.h>
21#include <linux/linkage.h> 21#include <linux/linkage.h>
22#include <linux/stringify.h> 22#include <linux/stringify.h>