moko: Fix 2.6.28 boot.
authorMichael Büsch <mb@bu3sch.de>
Sat, 3 Jan 2009 12:24:51 +0000 (12:24 +0000)
committerMichael Büsch <mb@bu3sch.de>
Sat, 3 Jan 2009 12:24:51 +0000 (12:24 +0000)
SVN-Revision: 13833

target/linux/s3c24xx/Makefile
target/linux/s3c24xx/config-2.6.28
target/linux/s3c24xx/patches-2.6.28/0001-merge-openmoko.patch [deleted file]
target/linux/s3c24xx/patches-2.6.28/0002-disable-xt-chaos.patch [deleted file]
target/linux/s3c24xx/patches-2.6.28/001-merge-openmoko.patch [new file with mode: 0644]
target/linux/s3c24xx/patches-2.6.28/002-call-preinit-instead-of-init.patch [new file with mode: 0644]
target/linux/s3c24xx/patches-2.6.28/003-disable-xt-chaos.patch [new file with mode: 0644]

index afcbc78..acd3b92 100644 (file)
@@ -1,5 +1,5 @@
 # 
-# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2006-2009 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -11,7 +11,7 @@ BOARD:=s3c24xx
 BOARDNAME:=s3c24xx
 FEATURES:=jffs2
 
-LINUX_VERSION:=2.6.26
+LINUX_VERSION:=2.6.28
 
 DEVICE_TYPE=phone
 
index 5a51d41..d1fe910 100644 (file)
@@ -581,11 +581,11 @@ CONFIG_NET_IPIP=m
 CONFIG_NET_KEY_MIGRATE=y
 # CONFIG_NET_PKTGEN is not set
 CONFIG_NET_SCH_NETEM=m
-CONFIG_NFSD=y
-CONFIG_NFSD_V2_ACL=y
-CONFIG_NFSD_V3_ACL=y
+# CONFIG_NFSD is not set
+# CONFIG_NFSD_V2_ACL is not set
+# CONFIG_NFSD_V3_ACL is not set
 # CONFIG_NFSD_V4 is not set
-CONFIG_NFS_ACL_SUPPORT=y
+# CONFIG_NFS_ACL_SUPPORT is not set
 # CONFIG_NFS_FS is not set
 CONFIG_NF_CONNTRACK=y
 # CONFIG_NF_CONNTRACK_AMANDA is not set
@@ -648,7 +648,7 @@ CONFIG_PREEMPT=y
 CONFIG_PRINTK_TIME=y
 CONFIG_PROC_PAGE_MONITOR=y
 # CONFIG_PROVE_LOCKING is not set
-CONFIG_RCU_CPU_STALL_DETECTOR=y
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
 # CONFIG_RCU_TORTURE_TEST is not set
 CONFIG_REGULATOR=y
 CONFIG_REGULATOR_DEBUG=y
diff --git a/target/linux/s3c24xx/patches-2.6.28/0001-merge-openmoko.patch b/target/linux/s3c24xx/patches-2.6.28/0001-merge-openmoko.patch
deleted file mode 100644 (file)
index 77be550..0000000
+++ /dev/null
@@ -1,151201 +0,0 @@
-Merge OpenMoko kernel patches
-git://git.openmoko.org/git/kernel.git#andy-tracking
-
-mb@homer   Thu Jan  1 22:58:51 UTC 2009
-
----
-
-Index: linux-2.6.28/arch/arm/common/vic.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/common/vic.c    2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/common/vic.c 2009-01-02 00:01:56.000000000 +0100
-@@ -69,12 +69,12 @@ void __init vic_init(void __iomem *base,
-       /*
-        * Make sure we clear all existing interrupts
-        */
--      writel(0, base + VIC_VECT_ADDR);
-+      writel(0, base + VIC_PL190_VECT_ADDR);
-       for (i = 0; i < 19; i++) {
-               unsigned int value;
--              value = readl(base + VIC_VECT_ADDR);
--              writel(value, base + VIC_VECT_ADDR);
-+              value = readl(base + VIC_PL190_VECT_ADDR);
-+              writel(value, base + VIC_PL190_VECT_ADDR);
-       }
-       for (i = 0; i < 16; i++) {
-@@ -82,7 +82,7 @@ void __init vic_init(void __iomem *base,
-               writel(VIC_VECT_CNTL_ENABLE | i, reg);
-       }
--      writel(32, base + VIC_DEF_VECT_ADDR);
-+      writel(32, base + VIC_PL190_DEF_VECT_ADDR);
-       for (i = 0; i < 32; i++) {
-               unsigned int irq = irq_start + i;
-Index: linux-2.6.28/arch/arm/configs/gta02-moredrivers-defconfig
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/configs/gta02-moredrivers-defconfig  2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,2107 @@
-+#
-+# Automatically generated make config: don't edit
-+# Linux kernel version: 2.6.28-rc4
-+# Mon Dec 29 12:13:48 2008
-+#
-+CONFIG_ARM=y
-+CONFIG_HAVE_PWM=y
-+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-+CONFIG_GENERIC_GPIO=y
-+# CONFIG_GENERIC_TIME is not set
-+# CONFIG_GENERIC_CLOCKEVENTS is not set
-+CONFIG_MMU=y
-+CONFIG_NO_IOPORT=y
-+CONFIG_GENERIC_HARDIRQS=y
-+CONFIG_STACKTRACE_SUPPORT=y
-+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-+CONFIG_LOCKDEP_SUPPORT=y
-+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-+CONFIG_HARDIRQS_SW_RESEND=y
-+CONFIG_GENERIC_IRQ_PROBE=y
-+CONFIG_RWSEM_GENERIC_SPINLOCK=y
-+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-+CONFIG_GENERIC_HWEIGHT=y
-+CONFIG_GENERIC_CALIBRATE_DELAY=y
-+CONFIG_FIQ=y
-+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-+CONFIG_VECTORS_BASE=0xffff0000
-+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-+
-+#
-+# General setup
-+#
-+CONFIG_EXPERIMENTAL=y
-+CONFIG_BROKEN_ON_SMP=y
-+CONFIG_LOCK_KERNEL=y
-+CONFIG_INIT_ENV_ARG_LIMIT=32
-+CONFIG_LOCALVERSION="-mokodev"
-+# CONFIG_LOCALVERSION_AUTO is not set
-+CONFIG_SWAP=y
-+CONFIG_SYSVIPC=y
-+CONFIG_SYSVIPC_SYSCTL=y
-+# CONFIG_POSIX_MQUEUE is not set
-+# CONFIG_BSD_PROCESS_ACCT is not set
-+# CONFIG_TASKSTATS is not set
-+# CONFIG_AUDIT is not set
-+CONFIG_IKCONFIG=y
-+CONFIG_IKCONFIG_PROC=y
-+CONFIG_LOG_BUF_SHIFT=18
-+# CONFIG_CGROUPS is not set
-+# CONFIG_GROUP_SCHED is not set
-+CONFIG_SYSFS_DEPRECATED=y
-+CONFIG_SYSFS_DEPRECATED_V2=y
-+# CONFIG_RELAY is not set
-+CONFIG_NAMESPACES=y
-+# CONFIG_UTS_NS is not set
-+# CONFIG_IPC_NS is not set
-+# CONFIG_USER_NS is not set
-+# CONFIG_PID_NS is not set
-+CONFIG_BLK_DEV_INITRD=y
-+CONFIG_INITRAMFS_SOURCE=""
-+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-+CONFIG_SYSCTL=y
-+# CONFIG_EMBEDDED is not set
-+CONFIG_UID16=y
-+CONFIG_SYSCTL_SYSCALL=y
-+CONFIG_KALLSYMS=y
-+CONFIG_KALLSYMS_ALL=y
-+# CONFIG_KALLSYMS_EXTRA_PASS is not set
-+CONFIG_HOTPLUG=y
-+CONFIG_PRINTK=y
-+CONFIG_BUG=y
-+CONFIG_ELF_CORE=y
-+CONFIG_COMPAT_BRK=y
-+CONFIG_BASE_FULL=y
-+CONFIG_FUTEX=y
-+CONFIG_ANON_INODES=y
-+CONFIG_EPOLL=y
-+CONFIG_SIGNALFD=y
-+CONFIG_TIMERFD=y
-+CONFIG_EVENTFD=y
-+CONFIG_SHMEM=y
-+CONFIG_AIO=y
-+CONFIG_ASHMEM=y
-+CONFIG_VM_EVENT_COUNTERS=y
-+CONFIG_SLAB=y
-+# CONFIG_SLUB is not set
-+# CONFIG_SLOB is not set
-+# CONFIG_PROFILING is not set
-+CONFIG_MARKERS=y
-+CONFIG_HAVE_OPROFILE=y
-+# CONFIG_KPROBES is not set
-+CONFIG_HAVE_KPROBES=y
-+CONFIG_HAVE_KRETPROBES=y
-+CONFIG_HAVE_CLK=y
-+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-+CONFIG_SLABINFO=y
-+CONFIG_RT_MUTEXES=y
-+# CONFIG_TINY_SHMEM is not set
-+CONFIG_BASE_SMALL=0
-+CONFIG_MODULES=y
-+# CONFIG_MODULE_FORCE_LOAD is not set
-+CONFIG_MODULE_UNLOAD=y
-+CONFIG_MODULE_FORCE_UNLOAD=y
-+# CONFIG_MODVERSIONS is not set
-+# CONFIG_MODULE_SRCVERSION_ALL is not set
-+CONFIG_KMOD=y
-+CONFIG_BLOCK=y
-+# CONFIG_LBD is not set
-+# CONFIG_BLK_DEV_IO_TRACE is not set
-+# CONFIG_LSF is not set
-+# CONFIG_BLK_DEV_BSG is not set
-+# CONFIG_BLK_DEV_INTEGRITY is not set
-+
-+#
-+# IO Schedulers
-+#
-+CONFIG_IOSCHED_NOOP=y
-+CONFIG_IOSCHED_AS=m
-+CONFIG_IOSCHED_DEADLINE=y
-+CONFIG_IOSCHED_CFQ=m
-+# CONFIG_DEFAULT_AS is not set
-+CONFIG_DEFAULT_DEADLINE=y
-+# CONFIG_DEFAULT_CFQ is not set
-+# CONFIG_DEFAULT_NOOP is not set
-+CONFIG_DEFAULT_IOSCHED="deadline"
-+CONFIG_CLASSIC_RCU=y
-+CONFIG_FREEZER=y
-+
-+#
-+# System Type
-+#
-+# CONFIG_ARCH_AAEC2000 is not set
-+# CONFIG_ARCH_INTEGRATOR is not set
-+# CONFIG_ARCH_REALVIEW is not set
-+# CONFIG_ARCH_VERSATILE is not set
-+# CONFIG_ARCH_AT91 is not set
-+# CONFIG_ARCH_CLPS7500 is not set
-+# CONFIG_ARCH_CLPS711X is not set
-+# CONFIG_ARCH_EBSA110 is not set
-+# CONFIG_ARCH_EP93XX is not set
-+# CONFIG_ARCH_FOOTBRIDGE is not set
-+# CONFIG_ARCH_NETX is not set
-+# CONFIG_ARCH_H720X is not set
-+# CONFIG_ARCH_IMX is not set
-+# CONFIG_ARCH_IOP13XX is not set
-+# CONFIG_ARCH_IOP32X is not set
-+# CONFIG_ARCH_IOP33X is not set
-+# CONFIG_ARCH_IXP23XX is not set
-+# CONFIG_ARCH_IXP2000 is not set
-+# CONFIG_ARCH_IXP4XX is not set
-+# CONFIG_ARCH_L7200 is not set
-+# CONFIG_ARCH_KIRKWOOD is not set
-+# CONFIG_ARCH_KS8695 is not set
-+# CONFIG_ARCH_NS9XXX is not set
-+# CONFIG_ARCH_LOKI is not set
-+# CONFIG_ARCH_MV78XX0 is not set
-+# CONFIG_ARCH_MXC is not set
-+# CONFIG_ARCH_ORION5X is not set
-+# CONFIG_ARCH_PNX4008 is not set
-+# CONFIG_ARCH_PXA is not set
-+# CONFIG_ARCH_RPC is not set
-+# CONFIG_ARCH_SA1100 is not set
-+CONFIG_ARCH_S3C2410=y
-+# CONFIG_ARCH_S3C64XX is not set
-+# CONFIG_ARCH_SHARK is not set
-+# CONFIG_ARCH_LH7A40X is not set
-+# CONFIG_ARCH_DAVINCI is not set
-+# CONFIG_ARCH_OMAP is not set
-+# CONFIG_ARCH_MSM is not set
-+CONFIG_PLAT_S3C24XX=y
-+CONFIG_S3C2410_CLOCK=y
-+CONFIG_CPU_S3C244X=y
-+CONFIG_S3C24XX_PWM=y
-+CONFIG_S3C2410_DMA=y
-+# CONFIG_S3C2410_DMA_DEBUG is not set
-+CONFIG_MACH_SMDK=y
-+CONFIG_MACH_NEO1973=y
-+CONFIG_PLAT_S3C=y
-+CONFIG_CPU_LLSERIAL_S3C2410=y
-+CONFIG_CPU_LLSERIAL_S3C2440=y
-+
-+#
-+# Boot options
-+#
-+# CONFIG_S3C_BOOT_WATCHDOG is not set
-+# CONFIG_S3C_BOOT_ERROR_RESET is not set
-+CONFIG_S3C_BOOT_UART_FORCE_FIFO=y
-+
-+#
-+# Power management
-+#
-+# CONFIG_S3C2410_PM_DEBUG is not set
-+# CONFIG_S3C2410_PM_CHECK is not set
-+CONFIG_S3C_LOWLEVEL_UART_PORT=2
-+CONFIG_S3C_GPIO_SPACE=0
-+CONFIG_S3C_GPIO_TRACK=y
-+
-+#
-+# S3C2400 Machines
-+#
-+CONFIG_CPU_S3C2410=y
-+CONFIG_CPU_S3C2410_DMA=y
-+CONFIG_S3C2410_PM=y
-+CONFIG_S3C2410_GPIO=y
-+CONFIG_S3C2410_PWM=y
-+
-+#
-+# S3C2410 Machines
-+#
-+# CONFIG_ARCH_SMDK2410 is not set
-+# CONFIG_ARCH_H1940 is not set
-+# CONFIG_MACH_N30 is not set
-+# CONFIG_ARCH_BAST is not set
-+# CONFIG_MACH_OTOM is not set
-+# CONFIG_MACH_AML_M5900 is not set
-+# CONFIG_MACH_TCT_HAMMER is not set
-+# CONFIG_MACH_VR1000 is not set
-+CONFIG_MACH_QT2410=y
-+# CONFIG_MACH_NEO1973_GTA01 is not set
-+
-+#
-+# S3C2412 Machines
-+#
-+# CONFIG_MACH_JIVE is not set
-+# CONFIG_MACH_SMDK2413 is not set
-+# CONFIG_MACH_SMDK2412 is not set
-+# CONFIG_MACH_VSTMS is not set
-+CONFIG_CPU_S3C2440=y
-+CONFIG_S3C2440_DMA=y
-+CONFIG_S3C2440_C_FIQ=y
-+
-+#
-+# S3C2440 Machines
-+#
-+# CONFIG_MACH_ANUBIS is not set
-+# CONFIG_MACH_OSIRIS is not set
-+# CONFIG_MACH_RX3715 is not set
-+CONFIG_ARCH_S3C2440=y
-+# CONFIG_MACH_NEXCODER_2440 is not set
-+CONFIG_SMDK2440_CPU2440=y
-+# CONFIG_MACH_AT2440EVB is not set
-+CONFIG_MACH_NEO1973_GTA02=y
-+# CONFIG_NEO1973_GTA02_2440 is not set
-+CONFIG_CPU_S3C2442=y
-+
-+#
-+# S3C2442 Machines
-+#
-+CONFIG_SMDK2440_CPU2442=y
-+
-+#
-+# S3C2443 Machines
-+#
-+# CONFIG_MACH_SMDK2443 is not set
-+
-+#
-+# Processor Type
-+#
-+CONFIG_CPU_32=y
-+CONFIG_CPU_ARM920T=y
-+CONFIG_CPU_32v4T=y
-+CONFIG_CPU_ABRT_EV4T=y
-+CONFIG_CPU_PABRT_NOIFAR=y
-+CONFIG_CPU_CACHE_V4WT=y
-+CONFIG_CPU_CACHE_VIVT=y
-+CONFIG_CPU_COPY_V4WB=y
-+CONFIG_CPU_TLB_V4WBI=y
-+CONFIG_CPU_CP15=y
-+CONFIG_CPU_CP15_MMU=y
-+
-+#
-+# Processor Features
-+#
-+CONFIG_ARM_THUMB=y
-+# CONFIG_CPU_ICACHE_DISABLE is not set
-+# CONFIG_CPU_DCACHE_DISABLE is not set
-+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
-+# CONFIG_OUTER_CACHE is not set
-+
-+#
-+# Bus support
-+#
-+# CONFIG_PCI_SYSCALL is not set
-+# CONFIG_ARCH_SUPPORTS_MSI is not set
-+# CONFIG_PCCARD is not set
-+
-+#
-+# Kernel Features
-+#
-+CONFIG_VMSPLIT_3G=y
-+# CONFIG_VMSPLIT_2G is not set
-+# CONFIG_VMSPLIT_1G is not set
-+CONFIG_PAGE_OFFSET=0xC0000000
-+CONFIG_PREEMPT=y
-+CONFIG_HZ=200
-+CONFIG_AEABI=y
-+CONFIG_OABI_COMPAT=y
-+CONFIG_ARCH_FLATMEM_HAS_HOLES=y
-+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-+CONFIG_SELECT_MEMORY_MODEL=y
-+CONFIG_FLATMEM_MANUAL=y
-+# CONFIG_DISCONTIGMEM_MANUAL is not set
-+# CONFIG_SPARSEMEM_MANUAL is not set
-+CONFIG_FLATMEM=y
-+CONFIG_FLAT_NODE_MEM_MAP=y
-+CONFIG_PAGEFLAGS_EXTENDED=y
-+CONFIG_SPLIT_PTLOCK_CPUS=4096
-+# CONFIG_RESOURCES_64BIT is not set
-+# CONFIG_PHYS_ADDR_T_64BIT is not set
-+CONFIG_ZONE_DMA_FLAG=0
-+CONFIG_VIRT_TO_BUS=y
-+CONFIG_UNEVICTABLE_LRU=y
-+CONFIG_ALIGNMENT_TRAP=y
-+
-+#
-+# Boot options
-+#
-+CONFIG_ZBOOT_ROM_TEXT=0x0
-+CONFIG_ZBOOT_ROM_BSS=0x0
-+CONFIG_CMDLINE="unused -- bootloader passes ATAG list"
-+# CONFIG_XIP_KERNEL is not set
-+CONFIG_KEXEC=y
-+CONFIG_ATAGS_PROC=y
-+
-+#
-+# CPU Power Management
-+#
-+CONFIG_CPU_IDLE=y
-+CONFIG_CPU_IDLE_GOV_LADDER=y
-+
-+#
-+# Floating point emulation
-+#
-+
-+#
-+# At least one emulation must be selected
-+#
-+CONFIG_FPE_NWFPE=y
-+# CONFIG_FPE_NWFPE_XP is not set
-+# CONFIG_FPE_FASTFPE is not set
-+
-+#
-+# Userspace binary formats
-+#
-+CONFIG_BINFMT_ELF=y
-+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-+CONFIG_HAVE_AOUT=y
-+# CONFIG_BINFMT_AOUT is not set
-+# CONFIG_BINFMT_MISC is not set
-+
-+#
-+# Power management options
-+#
-+CONFIG_PM=y
-+# CONFIG_PM_DEBUG is not set
-+CONFIG_PM_SLEEP=y
-+CONFIG_SUSPEND=y
-+CONFIG_SUSPEND_FREEZER=y
-+CONFIG_APM_EMULATION=y
-+CONFIG_ARCH_SUSPEND_POSSIBLE=y
-+CONFIG_NET=y
-+
-+#
-+# Networking options
-+#
-+CONFIG_PACKET=y
-+CONFIG_PACKET_MMAP=y
-+CONFIG_UNIX=y
-+CONFIG_XFRM=y
-+# CONFIG_XFRM_USER is not set
-+# CONFIG_XFRM_SUB_POLICY is not set
-+CONFIG_XFRM_MIGRATE=y
-+# CONFIG_XFRM_STATISTICS is not set
-+CONFIG_XFRM_IPCOMP=m
-+CONFIG_NET_KEY=m
-+CONFIG_NET_KEY_MIGRATE=y
-+CONFIG_INET=y
-+CONFIG_IP_MULTICAST=y
-+CONFIG_IP_ADVANCED_ROUTER=y
-+CONFIG_ASK_IP_FIB_HASH=y
-+# CONFIG_IP_FIB_TRIE is not set
-+CONFIG_IP_FIB_HASH=y
-+CONFIG_IP_MULTIPLE_TABLES=y
-+# CONFIG_IP_ROUTE_MULTIPATH is not set
-+# CONFIG_IP_ROUTE_VERBOSE is not set
-+CONFIG_IP_PNP=y
-+# CONFIG_IP_PNP_DHCP is not set
-+# CONFIG_IP_PNP_BOOTP is not set
-+# CONFIG_IP_PNP_RARP is not set
-+CONFIG_NET_IPIP=m
-+CONFIG_NET_IPGRE=m
-+# CONFIG_NET_IPGRE_BROADCAST is not set
-+# CONFIG_IP_MROUTE is not set
-+# CONFIG_ARPD is not set
-+CONFIG_SYN_COOKIES=y
-+CONFIG_INET_AH=m
-+CONFIG_INET_ESP=m
-+CONFIG_INET_IPCOMP=m
-+CONFIG_INET_XFRM_TUNNEL=m
-+CONFIG_INET_TUNNEL=m
-+CONFIG_INET_XFRM_MODE_TRANSPORT=m
-+CONFIG_INET_XFRM_MODE_TUNNEL=m
-+CONFIG_INET_XFRM_MODE_BEET=m
-+# CONFIG_INET_LRO is not set
-+CONFIG_INET_DIAG=y
-+CONFIG_INET_TCP_DIAG=y
-+# CONFIG_TCP_CONG_ADVANCED is not set
-+CONFIG_TCP_CONG_CUBIC=y
-+CONFIG_DEFAULT_TCP_CONG="cubic"
-+CONFIG_TCP_MD5SIG=y
-+CONFIG_IPV6=m
-+# CONFIG_IPV6_PRIVACY is not set
-+# CONFIG_IPV6_ROUTER_PREF is not set
-+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
-+CONFIG_INET6_AH=m
-+CONFIG_INET6_ESP=m
-+CONFIG_INET6_IPCOMP=m
-+# CONFIG_IPV6_MIP6 is not set
-+CONFIG_INET6_XFRM_TUNNEL=m
-+CONFIG_INET6_TUNNEL=m
-+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-+CONFIG_INET6_XFRM_MODE_TUNNEL=m
-+CONFIG_INET6_XFRM_MODE_BEET=m
-+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
-+CONFIG_IPV6_SIT=m
-+CONFIG_IPV6_NDISC_NODETYPE=y
-+CONFIG_IPV6_TUNNEL=m
-+# CONFIG_IPV6_MULTIPLE_TABLES is not set
-+# CONFIG_IPV6_MROUTE is not set
-+# CONFIG_NETWORK_SECMARK is not set
-+CONFIG_NETFILTER=y
-+# CONFIG_NETFILTER_DEBUG is not set
-+CONFIG_NETFILTER_ADVANCED=y
-+CONFIG_BRIDGE_NETFILTER=y
-+
-+#
-+# Core Netfilter Configuration
-+#
-+CONFIG_NETFILTER_NETLINK=m
-+CONFIG_NETFILTER_NETLINK_QUEUE=m
-+CONFIG_NETFILTER_NETLINK_LOG=m
-+CONFIG_NF_CONNTRACK=y
-+# CONFIG_NF_CT_ACCT is not set
-+# CONFIG_NF_CONNTRACK_MARK is not set
-+# CONFIG_NF_CONNTRACK_EVENTS is not set
-+# CONFIG_NF_CT_PROTO_DCCP is not set
-+# CONFIG_NF_CT_PROTO_SCTP is not set
-+# CONFIG_NF_CT_PROTO_UDPLITE is not set
-+# CONFIG_NF_CONNTRACK_AMANDA is not set
-+# CONFIG_NF_CONNTRACK_FTP is not set
-+# CONFIG_NF_CONNTRACK_H323 is not set
-+# CONFIG_NF_CONNTRACK_IRC is not set
-+# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
-+# CONFIG_NF_CONNTRACK_PPTP is not set
-+# CONFIG_NF_CONNTRACK_SANE is not set
-+# CONFIG_NF_CONNTRACK_SIP is not set
-+# CONFIG_NF_CONNTRACK_TFTP is not set
-+# CONFIG_NF_CT_NETLINK is not set
-+# CONFIG_NETFILTER_TPROXY is not set
-+CONFIG_NETFILTER_XTABLES=m
-+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-+# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
-+CONFIG_NETFILTER_XT_TARGET_DSCP=m
-+CONFIG_NETFILTER_XT_TARGET_MARK=m
-+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-+# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
-+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-+# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
-+# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
-+# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
-+# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
-+# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
-+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-+CONFIG_NETFILTER_XT_MATCH_DCCP=m
-+CONFIG_NETFILTER_XT_MATCH_DSCP=m
-+CONFIG_NETFILTER_XT_MATCH_ESP=m
-+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-+# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
-+# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
-+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-+CONFIG_NETFILTER_XT_MATCH_MAC=m
-+CONFIG_NETFILTER_XT_MATCH_MARK=m
-+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-+# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
-+CONFIG_NETFILTER_XT_MATCH_POLICY=m
-+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
-+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-+# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
-+CONFIG_NETFILTER_XT_MATCH_REALM=m
-+# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
-+CONFIG_NETFILTER_XT_MATCH_SCTP=m
-+# CONFIG_NETFILTER_XT_MATCH_STATE is not set
-+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-+CONFIG_NETFILTER_XT_MATCH_STRING=m
-+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-+# CONFIG_NETFILTER_XT_MATCH_TIME is not set
-+# CONFIG_NETFILTER_XT_MATCH_U32 is not set
-+# CONFIG_IP_VS is not set
-+
-+#
-+# IP: Netfilter Configuration
-+#
-+CONFIG_NF_DEFRAG_IPV4=y
-+CONFIG_NF_CONNTRACK_IPV4=y
-+# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
-+# CONFIG_IP_NF_QUEUE is not set
-+CONFIG_IP_NF_IPTABLES=m
-+CONFIG_IP_NF_MATCH_ADDRTYPE=m
-+CONFIG_IP_NF_MATCH_AH=m
-+CONFIG_IP_NF_MATCH_ECN=m
-+CONFIG_IP_NF_MATCH_TTL=m
-+CONFIG_IP_NF_FILTER=m
-+CONFIG_IP_NF_TARGET_REJECT=m
-+CONFIG_IP_NF_TARGET_LOG=m
-+CONFIG_IP_NF_TARGET_ULOG=m
-+CONFIG_NF_NAT=m
-+CONFIG_NF_NAT_NEEDED=y
-+CONFIG_IP_NF_TARGET_MASQUERADE=m
-+# CONFIG_IP_NF_TARGET_NETMAP is not set
-+# CONFIG_IP_NF_TARGET_REDIRECT is not set
-+# CONFIG_NF_NAT_SNMP_BASIC is not set
-+# CONFIG_NF_NAT_FTP is not set
-+# CONFIG_NF_NAT_IRC is not set
-+# CONFIG_NF_NAT_TFTP is not set
-+# CONFIG_NF_NAT_AMANDA is not set
-+# CONFIG_NF_NAT_PPTP is not set
-+# CONFIG_NF_NAT_H323 is not set
-+# CONFIG_NF_NAT_SIP is not set
-+CONFIG_IP_NF_MANGLE=m
-+# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
-+CONFIG_IP_NF_TARGET_ECN=m
-+CONFIG_IP_NF_TARGET_TTL=m
-+# CONFIG_IP_NF_RAW is not set
-+# CONFIG_IP_NF_ARPTABLES is not set
-+
-+#
-+# IPv6: Netfilter Configuration
-+#
-+CONFIG_NF_CONNTRACK_IPV6=m
-+# CONFIG_IP6_NF_QUEUE is not set
-+CONFIG_IP6_NF_IPTABLES=m
-+CONFIG_IP6_NF_MATCH_AH=m
-+CONFIG_IP6_NF_MATCH_EUI64=m
-+CONFIG_IP6_NF_MATCH_FRAG=m
-+CONFIG_IP6_NF_MATCH_OPTS=m
-+CONFIG_IP6_NF_MATCH_HL=m
-+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-+CONFIG_IP6_NF_MATCH_MH=m
-+CONFIG_IP6_NF_MATCH_RT=m
-+CONFIG_IP6_NF_TARGET_LOG=m
-+CONFIG_IP6_NF_FILTER=m
-+CONFIG_IP6_NF_TARGET_REJECT=m
-+CONFIG_IP6_NF_MANGLE=m
-+CONFIG_IP6_NF_TARGET_HL=m
-+# CONFIG_IP6_NF_RAW is not set
-+CONFIG_BRIDGE_NF_EBTABLES=m
-+CONFIG_BRIDGE_EBT_BROUTE=m
-+CONFIG_BRIDGE_EBT_T_FILTER=m
-+CONFIG_BRIDGE_EBT_T_NAT=m
-+CONFIG_BRIDGE_EBT_802_3=m
-+CONFIG_BRIDGE_EBT_AMONG=m
-+CONFIG_BRIDGE_EBT_ARP=m
-+CONFIG_BRIDGE_EBT_IP=m
-+# CONFIG_BRIDGE_EBT_IP6 is not set
-+CONFIG_BRIDGE_EBT_LIMIT=m
-+CONFIG_BRIDGE_EBT_MARK=m
-+CONFIG_BRIDGE_EBT_PKTTYPE=m
-+CONFIG_BRIDGE_EBT_STP=m
-+CONFIG_BRIDGE_EBT_VLAN=m
-+CONFIG_BRIDGE_EBT_ARPREPLY=m
-+CONFIG_BRIDGE_EBT_DNAT=m
-+CONFIG_BRIDGE_EBT_MARK_T=m
-+CONFIG_BRIDGE_EBT_REDIRECT=m
-+CONFIG_BRIDGE_EBT_SNAT=m
-+CONFIG_BRIDGE_EBT_LOG=m
-+CONFIG_BRIDGE_EBT_ULOG=m
-+# CONFIG_BRIDGE_EBT_NFLOG is not set
-+# CONFIG_IP_DCCP is not set
-+# CONFIG_IP_SCTP is not set
-+# CONFIG_TIPC is not set
-+# CONFIG_ATM is not set
-+CONFIG_STP=y
-+CONFIG_BRIDGE=y
-+# CONFIG_NET_DSA is not set
-+# CONFIG_VLAN_8021Q is not set
-+# CONFIG_DECNET is not set
-+CONFIG_LLC=y
-+# CONFIG_LLC2 is not set
-+# CONFIG_IPX is not set
-+# CONFIG_ATALK is not set
-+# CONFIG_X25 is not set
-+# CONFIG_LAPB is not set
-+# CONFIG_ECONET is not set
-+# CONFIG_WAN_ROUTER is not set
-+CONFIG_NET_SCHED=y
-+
-+#
-+# Queueing/Scheduling
-+#
-+CONFIG_NET_SCH_CBQ=m
-+CONFIG_NET_SCH_HTB=m
-+CONFIG_NET_SCH_HFSC=m
-+CONFIG_NET_SCH_PRIO=m
-+# CONFIG_NET_SCH_MULTIQ is not set
-+CONFIG_NET_SCH_RED=m
-+CONFIG_NET_SCH_SFQ=m
-+CONFIG_NET_SCH_TEQL=m
-+CONFIG_NET_SCH_TBF=m
-+CONFIG_NET_SCH_GRED=m
-+CONFIG_NET_SCH_DSMARK=m
-+CONFIG_NET_SCH_NETEM=m
-+
-+#
-+# Classification
-+#
-+CONFIG_NET_CLS=y
-+CONFIG_NET_CLS_BASIC=m
-+CONFIG_NET_CLS_TCINDEX=m
-+CONFIG_NET_CLS_ROUTE4=m
-+CONFIG_NET_CLS_ROUTE=y
-+CONFIG_NET_CLS_FW=m
-+CONFIG_NET_CLS_U32=m
-+CONFIG_CLS_U32_PERF=y
-+CONFIG_CLS_U32_MARK=y
-+CONFIG_NET_CLS_RSVP=m
-+CONFIG_NET_CLS_RSVP6=m
-+# CONFIG_NET_CLS_FLOW is not set
-+# CONFIG_NET_EMATCH is not set
-+# CONFIG_NET_CLS_ACT is not set
-+# CONFIG_NET_CLS_IND is not set
-+CONFIG_NET_SCH_FIFO=y
-+
-+#
-+# Network testing
-+#
-+# CONFIG_NET_PKTGEN is not set
-+# CONFIG_HAMRADIO is not set
-+# CONFIG_CAN is not set
-+# CONFIG_IRDA is not set
-+CONFIG_BT=y
-+CONFIG_BT_L2CAP=y
-+CONFIG_BT_SCO=y
-+CONFIG_BT_RFCOMM=y
-+CONFIG_BT_RFCOMM_TTY=y
-+CONFIG_BT_BNEP=y
-+CONFIG_BT_BNEP_MC_FILTER=y
-+CONFIG_BT_BNEP_PROTO_FILTER=y
-+CONFIG_BT_HIDP=y
-+
-+#
-+# Bluetooth device drivers
-+#
-+CONFIG_BT_HCIBTUSB=y
-+# CONFIG_BT_HCIBTSDIO is not set
-+# CONFIG_BT_HCIUART is not set
-+# CONFIG_BT_HCIBCM203X is not set
-+# CONFIG_BT_HCIBPA10X is not set
-+# CONFIG_BT_HCIBFUSB is not set
-+# CONFIG_BT_HCIVHCI is not set
-+# CONFIG_AF_RXRPC is not set
-+# CONFIG_PHONET is not set
-+CONFIG_FIB_RULES=y
-+CONFIG_WIRELESS=y
-+# CONFIG_CFG80211 is not set
-+# CONFIG_WIRELESS_OLD_REGULATORY is not set
-+CONFIG_WIRELESS_EXT=y
-+CONFIG_WIRELESS_EXT_SYSFS=y
-+# CONFIG_MAC80211 is not set
-+# CONFIG_IEEE80211 is not set
-+CONFIG_RFKILL=y
-+CONFIG_RFKILL_INPUT=y
-+CONFIG_RFKILL_LEDS=y
-+# CONFIG_NET_9P is not set
-+
-+#
-+# Device Drivers
-+#
-+
-+#
-+# Generic Driver Options
-+#
-+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-+CONFIG_STANDALONE=y
-+CONFIG_PREVENT_FIRMWARE_BUILD=y
-+CONFIG_FW_LOADER=y
-+# CONFIG_FIRMWARE_IN_KERNEL is not set
-+CONFIG_EXTRA_FIRMWARE=""
-+# CONFIG_DEBUG_DRIVER is not set
-+# CONFIG_DEBUG_DEVRES is not set
-+# CONFIG_SYS_HYPERVISOR is not set
-+CONFIG_CONNECTOR=m
-+CONFIG_MTD=y
-+# CONFIG_MTD_DEBUG is not set
-+CONFIG_MTD_CONCAT=y
-+CONFIG_MTD_PARTITIONS=y
-+# CONFIG_MTD_REDBOOT_PARTS is not set
-+CONFIG_MTD_CMDLINE_PARTS=y
-+# CONFIG_MTD_AFS_PARTS is not set
-+# CONFIG_MTD_AR7_PARTS is not set
-+
-+#
-+# User Modules And Translation Layers
-+#
-+CONFIG_MTD_CHAR=y
-+CONFIG_MTD_BLKDEVS=y
-+CONFIG_MTD_BLOCK=y
-+# CONFIG_FTL is not set
-+# CONFIG_NFTL is not set
-+# CONFIG_INFTL is not set
-+# CONFIG_RFD_FTL is not set
-+# CONFIG_SSFDC is not set
-+# CONFIG_MTD_OOPS is not set
-+
-+#
-+# RAM/ROM/Flash chip drivers
-+#
-+CONFIG_MTD_CFI=y
-+# CONFIG_MTD_JEDECPROBE is not set
-+CONFIG_MTD_GEN_PROBE=y
-+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
-+CONFIG_MTD_MAP_BANK_WIDTH_1=y
-+CONFIG_MTD_MAP_BANK_WIDTH_2=y
-+CONFIG_MTD_MAP_BANK_WIDTH_4=y
-+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-+CONFIG_MTD_CFI_I1=y
-+CONFIG_MTD_CFI_I2=y
-+# CONFIG_MTD_CFI_I4 is not set
-+# CONFIG_MTD_CFI_I8 is not set
-+CONFIG_MTD_CFI_INTELEXT=y
-+# CONFIG_MTD_CFI_AMDSTD is not set
-+# CONFIG_MTD_CFI_STAA is not set
-+CONFIG_MTD_CFI_UTIL=y
-+# CONFIG_MTD_RAM is not set
-+CONFIG_MTD_ROM=y
-+CONFIG_MTD_ABSENT=y
-+
-+#
-+# Mapping drivers for chip access
-+#
-+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-+CONFIG_MTD_PHYSMAP=y
-+CONFIG_MTD_PHYSMAP_START=0x0
-+CONFIG_MTD_PHYSMAP_LEN=0
-+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
-+# CONFIG_MTD_ARM_INTEGRATOR is not set
-+# CONFIG_MTD_PLATRAM is not set
-+
-+#
-+# Self-contained MTD device drivers
-+#
-+# CONFIG_MTD_DATAFLASH is not set
-+# CONFIG_MTD_M25P80 is not set
-+# CONFIG_MTD_SLRAM is not set
-+# CONFIG_MTD_PHRAM is not set
-+# CONFIG_MTD_MTDRAM is not set
-+# CONFIG_MTD_BLOCK2MTD is not set
-+
-+#
-+# Disk-On-Chip Device Drivers
-+#
-+# CONFIG_MTD_DOC2000 is not set
-+# CONFIG_MTD_DOC2001 is not set
-+# CONFIG_MTD_DOC2001PLUS is not set
-+CONFIG_MTD_NAND=y
-+CONFIG_MTD_NAND_VERIFY_WRITE=y
-+# CONFIG_MTD_NAND_ECC_SMC is not set
-+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-+# CONFIG_MTD_NAND_GPIO is not set
-+CONFIG_MTD_NAND_IDS=y
-+CONFIG_MTD_NAND_S3C2410=y
-+CONFIG_MTD_NAND_S3C2410_DEBUG=y
-+CONFIG_MTD_NAND_S3C2410_HWECC=y
-+# CONFIG_MTD_NAND_S3C2410_CLKSTOP is not set
-+# CONFIG_MTD_NAND_DISKONCHIP is not set
-+# CONFIG_MTD_NAND_NANDSIM is not set
-+# CONFIG_MTD_NAND_PLATFORM is not set
-+# CONFIG_MTD_ALAUDA is not set
-+# CONFIG_MTD_ONENAND is not set
-+
-+#
-+# UBI - Unsorted block images
-+#
-+# CONFIG_MTD_UBI is not set
-+# CONFIG_PARPORT is not set
-+CONFIG_BLK_DEV=y
-+# CONFIG_BLK_DEV_COW_COMMON is not set
-+CONFIG_BLK_DEV_LOOP=m
-+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-+# CONFIG_BLK_DEV_NBD is not set
-+CONFIG_BLK_DEV_UB=m
-+CONFIG_BLK_DEV_RAM=y
-+CONFIG_BLK_DEV_RAM_COUNT=16
-+CONFIG_BLK_DEV_RAM_SIZE=4096
-+# CONFIG_BLK_DEV_XIP is not set
-+# CONFIG_CDROM_PKTCDVD is not set
-+# CONFIG_ATA_OVER_ETH is not set
-+CONFIG_MISC_DEVICES=y
-+# CONFIG_EEPROM_93CX6 is not set
-+CONFIG_LOW_MEMORY_KILLER=y
-+# CONFIG_ENCLOSURE_SERVICES is not set
-+CONFIG_HAVE_IDE=y
-+# CONFIG_IDE is not set
-+
-+#
-+# SCSI device support
-+#
-+# CONFIG_RAID_ATTRS is not set
-+CONFIG_SCSI=y
-+CONFIG_SCSI_DMA=y
-+# CONFIG_SCSI_TGT is not set
-+# CONFIG_SCSI_NETLINK is not set
-+CONFIG_SCSI_PROC_FS=y
-+
-+#
-+# SCSI support type (disk, tape, CD-ROM)
-+#
-+CONFIG_BLK_DEV_SD=y
-+# CONFIG_CHR_DEV_ST is not set
-+# CONFIG_CHR_DEV_OSST is not set
-+CONFIG_BLK_DEV_SR=y
-+# CONFIG_BLK_DEV_SR_VENDOR is not set
-+CONFIG_CHR_DEV_SG=y
-+# CONFIG_CHR_DEV_SCH is not set
-+
-+#
-+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-+#
-+CONFIG_SCSI_MULTI_LUN=y
-+# CONFIG_SCSI_CONSTANTS is not set
-+# CONFIG_SCSI_LOGGING is not set
-+CONFIG_SCSI_SCAN_ASYNC=y
-+CONFIG_SCSI_WAIT_SCAN=m
-+
-+#
-+# SCSI Transports
-+#
-+# CONFIG_SCSI_SPI_ATTRS is not set
-+# CONFIG_SCSI_FC_ATTRS is not set
-+# CONFIG_SCSI_ISCSI_ATTRS is not set
-+# CONFIG_SCSI_SAS_LIBSAS is not set
-+# CONFIG_SCSI_SRP_ATTRS is not set
-+CONFIG_SCSI_LOWLEVEL=y
-+# CONFIG_ISCSI_TCP is not set
-+# CONFIG_SCSI_DEBUG is not set
-+# CONFIG_SCSI_DH is not set
-+# CONFIG_ATA is not set
-+CONFIG_MD=y
-+# CONFIG_BLK_DEV_MD is not set
-+CONFIG_BLK_DEV_DM=m
-+# CONFIG_DM_DEBUG is not set
-+CONFIG_DM_CRYPT=m
-+CONFIG_DM_SNAPSHOT=m
-+# CONFIG_DM_MIRROR is not set
-+# CONFIG_DM_ZERO is not set
-+# CONFIG_DM_MULTIPATH is not set
-+# CONFIG_DM_DELAY is not set
-+# CONFIG_DM_UEVENT is not set
-+CONFIG_NETDEVICES=y
-+# CONFIG_DUMMY is not set
-+# CONFIG_BONDING is not set
-+# CONFIG_MACVLAN is not set
-+# CONFIG_EQUALIZER is not set
-+CONFIG_TUN=y
-+# CONFIG_VETH is not set
-+# CONFIG_PHYLIB is not set
-+CONFIG_NET_ETHERNET=y
-+CONFIG_MII=y
-+# CONFIG_AX88796 is not set
-+# CONFIG_SMC91X is not set
-+# CONFIG_DM9000 is not set
-+# CONFIG_ENC28J60 is not set
-+# CONFIG_SMC911X is not set
-+# CONFIG_IBM_NEW_EMAC_ZMII is not set
-+# CONFIG_IBM_NEW_EMAC_RGMII is not set
-+# CONFIG_IBM_NEW_EMAC_TAH is not set
-+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
-+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
-+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
-+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
-+# CONFIG_B44 is not set
-+# CONFIG_NETDEV_1000 is not set
-+# CONFIG_NETDEV_10000 is not set
-+
-+#
-+# Wireless LAN
-+#
-+# CONFIG_WLAN_PRE80211 is not set
-+# CONFIG_WLAN_80211 is not set
-+# CONFIG_IWLWIFI_LEDS is not set
-+
-+#
-+# USB Network Adapters
-+#
-+CONFIG_USB_CATC=m
-+CONFIG_USB_KAWETH=m
-+CONFIG_USB_PEGASUS=m
-+CONFIG_USB_RTL8150=m
-+CONFIG_USB_USBNET=y
-+CONFIG_USB_NET_AX8817X=m
-+CONFIG_USB_NET_CDCETHER=y
-+CONFIG_USB_NET_DM9601=m
-+# CONFIG_USB_NET_SMSC95XX is not set
-+CONFIG_USB_NET_GL620A=m
-+CONFIG_USB_NET_NET1080=m
-+CONFIG_USB_NET_PLUSB=m
-+CONFIG_USB_NET_MCS7830=m
-+CONFIG_USB_NET_RNDIS_HOST=y
-+CONFIG_USB_NET_CDC_SUBSET=m
-+CONFIG_USB_ALI_M5632=y
-+CONFIG_USB_AN2720=y
-+CONFIG_USB_BELKIN=y
-+CONFIG_USB_ARMLINUX=y
-+CONFIG_USB_EPSON2888=y
-+CONFIG_USB_KC2190=y
-+CONFIG_USB_NET_ZAURUS=m
-+# CONFIG_USB_HSO is not set
-+# CONFIG_WAN is not set
-+CONFIG_PPP=y
-+CONFIG_PPP_MULTILINK=y
-+CONFIG_PPP_FILTER=y
-+CONFIG_PPP_ASYNC=y
-+CONFIG_PPP_SYNC_TTY=y
-+CONFIG_PPP_DEFLATE=y
-+CONFIG_PPP_BSDCOMP=y
-+CONFIG_PPP_MPPE=y
-+# CONFIG_PPPOE is not set
-+# CONFIG_PPPOL2TP is not set
-+# CONFIG_SLIP is not set
-+CONFIG_SLHC=y
-+# CONFIG_NETCONSOLE is not set
-+# CONFIG_NETPOLL is not set
-+# CONFIG_NET_POLL_CONTROLLER is not set
-+# CONFIG_ISDN is not set
-+
-+#
-+# Input device support
-+#
-+CONFIG_INPUT=y
-+# CONFIG_INPUT_FF_MEMLESS is not set
-+# CONFIG_INPUT_POLLDEV is not set
-+
-+#
-+# Userland interfaces
-+#
-+CONFIG_INPUT_MOUSEDEV=y
-+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-+CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
-+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
-+# CONFIG_INPUT_JOYDEV is not set
-+CONFIG_INPUT_EVDEV=y
-+# CONFIG_INPUT_EVBUG is not set
-+
-+#
-+# Input Device Drivers
-+#
-+CONFIG_INPUT_KEYBOARD=y
-+# CONFIG_KEYBOARD_ATKBD is not set
-+# CONFIG_KEYBOARD_SUNKBD is not set
-+# CONFIG_KEYBOARD_LKKBD is not set
-+# CONFIG_KEYBOARD_XTKBD is not set
-+# CONFIG_KEYBOARD_NEWTON is not set
-+CONFIG_KEYBOARD_STOWAWAY=m
-+CONFIG_KEYBOARD_GPIO=m
-+CONFIG_KEYBOARD_NEO1973=y
-+CONFIG_KEYBOARD_QT2410=y
-+CONFIG_INPUT_MOUSE=y
-+# CONFIG_MOUSE_PS2 is not set
-+# CONFIG_MOUSE_SERIAL is not set
-+# CONFIG_MOUSE_APPLETOUCH is not set
-+# CONFIG_MOUSE_BCM5974 is not set
-+# CONFIG_MOUSE_VSXXXAA is not set
-+# CONFIG_MOUSE_GPIO is not set
-+# CONFIG_INPUT_JOYSTICK is not set
-+# CONFIG_INPUT_TABLET is not set
-+CONFIG_INPUT_TOUCHSCREEN=y
-+CONFIG_TOUCHSCREEN_FILTER=y
-+CONFIG_TOUCHSCREEN_FILTER_GROUP=y
-+CONFIG_TOUCHSCREEN_FILTER_MEDIAN=y
-+CONFIG_TOUCHSCREEN_FILTER_MEAN=y
-+CONFIG_TOUCHSCREEN_FILTER_LINEAR=y
-+# CONFIG_TOUCHSCREEN_ADS7846 is not set
-+# CONFIG_TOUCHSCREEN_FUJITSU is not set
-+CONFIG_TOUCHSCREEN_S3C2410=y
-+# CONFIG_TOUCHSCREEN_S3C2410_DEBUG is not set
-+# CONFIG_TOUCHSCREEN_GUNZE is not set
-+# CONFIG_TOUCHSCREEN_ELO is not set
-+# CONFIG_TOUCHSCREEN_MTOUCH is not set
-+# CONFIG_TOUCHSCREEN_INEXIO is not set
-+# CONFIG_TOUCHSCREEN_MK712 is not set
-+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-+# CONFIG_TOUCHSCREEN_PCAP7200 is not set
-+CONFIG_INPUT_MISC=y
-+# CONFIG_INPUT_ATI_REMOTE is not set
-+# CONFIG_INPUT_ATI_REMOTE2 is not set
-+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
-+# CONFIG_INPUT_POWERMATE is not set
-+# CONFIG_INPUT_YEALINK is not set
-+# CONFIG_INPUT_CM109 is not set
-+CONFIG_INPUT_UINPUT=m
-+CONFIG_INPUT_LIS302DL=y
-+CONFIG_INPUT_PCF50633_PMU=y
-+
-+#
-+# Hardware I/O ports
-+#
-+CONFIG_SERIO=y
-+# CONFIG_SERIO_SERPORT is not set
-+# CONFIG_SERIO_RAW is not set
-+# CONFIG_GAMEPORT is not set
-+
-+#
-+# Character devices
-+#
-+CONFIG_VT=y
-+CONFIG_CONSOLE_TRANSLATIONS=y
-+CONFIG_VT_CONSOLE=y
-+CONFIG_NR_TTY_DEVICES=6
-+CONFIG_HW_CONSOLE=y
-+CONFIG_VT_HW_CONSOLE_BINDING=y
-+# CONFIG_DEVKMEM is not set
-+# CONFIG_SERIAL_NONSTANDARD is not set
-+
-+#
-+# Serial drivers
-+#
-+# CONFIG_SERIAL_8250 is not set
-+
-+#
-+# Non-8250 serial port support
-+#
-+CONFIG_SERIAL_SAMSUNG=y
-+CONFIG_SERIAL_SAMSUNG_UARTS=3
-+CONFIG_SERIAL_SAMSUNG_CONSOLE=y
-+CONFIG_SERIAL_S3C2410=y
-+CONFIG_SERIAL_S3C2440=y
-+CONFIG_SERIAL_CORE=y
-+CONFIG_SERIAL_CORE_CONSOLE=y
-+CONFIG_UNIX98_PTYS=y
-+# CONFIG_LEGACY_PTYS is not set
-+# CONFIG_IPMI_HANDLER is not set
-+# CONFIG_HW_RANDOM is not set
-+# CONFIG_NVRAM is not set
-+# CONFIG_R3964 is not set
-+# CONFIG_RAW_DRIVER is not set
-+# CONFIG_TCG_TPM is not set
-+CONFIG_I2C=y
-+CONFIG_I2C_BOARDINFO=y
-+CONFIG_I2C_CHARDEV=y
-+CONFIG_I2C_HELPER_AUTO=y
-+
-+#
-+# I2C Hardware Bus support
-+#
-+
-+#
-+# I2C system bus drivers (mostly embedded / system-on-chip)
-+#
-+# CONFIG_I2C_GPIO is not set
-+# CONFIG_I2C_OCORES is not set
-+CONFIG_I2C_S3C2410=y
-+# CONFIG_I2C_SIMTEC is not set
-+
-+#
-+# External I2C/SMBus adapter drivers
-+#
-+# CONFIG_I2C_PARPORT_LIGHT is not set
-+# CONFIG_I2C_TAOS_EVM is not set
-+# CONFIG_I2C_TINY_USB is not set
-+
-+#
-+# Other I2C/SMBus bus drivers
-+#
-+# CONFIG_I2C_PCA_PLATFORM is not set
-+# CONFIG_I2C_STUB is not set
-+
-+#
-+# Miscellaneous I2C Chip support
-+#
-+# CONFIG_DS1682 is not set
-+# CONFIG_AT24 is not set
-+# CONFIG_SENSORS_EEPROM is not set
-+# CONFIG_SENSORS_PCF50606 is not set
-+# CONFIG_SENSORS_PCF50633 is not set
-+# CONFIG_SENSORS_PCF8574 is not set
-+# CONFIG_PCF8575 is not set
-+# CONFIG_SENSORS_PCA9539 is not set
-+# CONFIG_SENSORS_PCF8591 is not set
-+# CONFIG_TPS65010 is not set
-+# CONFIG_SENSORS_MAX6875 is not set
-+# CONFIG_SENSORS_TSL2550 is not set
-+# CONFIG_SENSORS_TSL256X is not set
-+CONFIG_PCA9632=y
-+# CONFIG_I2C_DEBUG_CORE is not set
-+# CONFIG_I2C_DEBUG_ALGO is not set
-+# CONFIG_I2C_DEBUG_BUS is not set
-+# CONFIG_I2C_DEBUG_CHIP is not set
-+CONFIG_SPI=y
-+# CONFIG_SPI_DEBUG is not set
-+CONFIG_SPI_MASTER=y
-+
-+#
-+# SPI Master Controller Drivers
-+#
-+CONFIG_SPI_BITBANG=y
-+# CONFIG_SPI_S3C24XX is not set
-+CONFIG_SPI_S3C24XX_GPIO=y
-+
-+#
-+# SPI Protocol Masters
-+#
-+# CONFIG_SPI_AT25 is not set
-+# CONFIG_SPI_SPIDEV is not set
-+# CONFIG_SPI_TLE62X0 is not set
-+CONFIG_ARCH_REQUIRE_GPIOLIB=y
-+CONFIG_GPIOLIB=y
-+CONFIG_DEBUG_GPIO=y
-+CONFIG_GPIO_SYSFS=y
-+
-+#
-+# I2C GPIO expanders:
-+#
-+# CONFIG_GPIO_MAX732X is not set
-+# CONFIG_GPIO_PCA953X is not set
-+# CONFIG_GPIO_PCF857X is not set
-+
-+#
-+# PCI GPIO expanders:
-+#
-+
-+#
-+# SPI GPIO expanders:
-+#
-+# CONFIG_GPIO_MAX7301 is not set
-+# CONFIG_GPIO_MCP23S08 is not set
-+# CONFIG_W1 is not set
-+CONFIG_POWER_SUPPLY=y
-+CONFIG_POWER_SUPPLY_DEBUG=y
-+CONFIG_PDA_POWER=y
-+CONFIG_APM_POWER=y
-+# CONFIG_BATTERY_DS2760 is not set
-+# CONFIG_BATTERY_BQ27x00 is not set
-+CONFIG_BATTERY_BQ27000_HDQ=y
-+CONFIG_GTA02_HDQ=y
-+CONFIG_CHARGER_PCF50633=y
-+CONFIG_HWMON=y
-+# CONFIG_HWMON_VID is not set
-+# CONFIG_SENSORS_AD7414 is not set
-+# CONFIG_SENSORS_AD7418 is not set
-+# CONFIG_SENSORS_ADCXX is not set
-+# CONFIG_SENSORS_ADM1021 is not set
-+# CONFIG_SENSORS_ADM1025 is not set
-+# CONFIG_SENSORS_ADM1026 is not set
-+# CONFIG_SENSORS_ADM1029 is not set
-+# CONFIG_SENSORS_ADM1031 is not set
-+# CONFIG_SENSORS_ADM9240 is not set
-+# CONFIG_SENSORS_ADT7470 is not set
-+# CONFIG_SENSORS_ADT7473 is not set
-+# CONFIG_SENSORS_ATXP1 is not set
-+# CONFIG_SENSORS_DS1621 is not set
-+# CONFIG_SENSORS_F71805F is not set
-+# CONFIG_SENSORS_F71882FG is not set
-+# CONFIG_SENSORS_F75375S is not set
-+# CONFIG_SENSORS_GL518SM is not set
-+# CONFIG_SENSORS_GL520SM is not set
-+# CONFIG_SENSORS_IT87 is not set
-+# CONFIG_SENSORS_LM63 is not set
-+# CONFIG_SENSORS_LM70 is not set
-+# CONFIG_SENSORS_LM75 is not set
-+# CONFIG_SENSORS_LM77 is not set
-+# CONFIG_SENSORS_LM78 is not set
-+# CONFIG_SENSORS_LM80 is not set
-+# CONFIG_SENSORS_LM83 is not set
-+# CONFIG_SENSORS_LM85 is not set
-+# CONFIG_SENSORS_LM87 is not set
-+# CONFIG_SENSORS_LM90 is not set
-+# CONFIG_SENSORS_LM92 is not set
-+# CONFIG_SENSORS_LM93 is not set
-+# CONFIG_SENSORS_MAX1111 is not set
-+# CONFIG_SENSORS_MAX1619 is not set
-+# CONFIG_SENSORS_MAX6650 is not set
-+# CONFIG_SENSORS_PC87360 is not set
-+# CONFIG_SENSORS_PC87427 is not set
-+# CONFIG_SENSORS_DME1737 is not set
-+# CONFIG_SENSORS_SMSC47M1 is not set
-+# CONFIG_SENSORS_SMSC47M192 is not set
-+# CONFIG_SENSORS_SMSC47B397 is not set
-+# CONFIG_SENSORS_ADS7828 is not set
-+# CONFIG_SENSORS_THMC50 is not set
-+# CONFIG_SENSORS_VT1211 is not set
-+# CONFIG_SENSORS_W83781D is not set
-+# CONFIG_SENSORS_W83791D is not set
-+# CONFIG_SENSORS_W83792D is not set
-+# CONFIG_SENSORS_W83793 is not set
-+# CONFIG_SENSORS_W83L785TS is not set
-+# CONFIG_SENSORS_W83L786NG is not set
-+# CONFIG_SENSORS_W83627HF is not set
-+# CONFIG_SENSORS_W83627EHF is not set
-+# CONFIG_HWMON_DEBUG_CHIP is not set
-+# CONFIG_THERMAL is not set
-+# CONFIG_THERMAL_HWMON is not set
-+CONFIG_WATCHDOG=y
-+# CONFIG_WATCHDOG_NOWAYOUT is not set
-+
-+#
-+# Watchdog Device Drivers
-+#
-+# CONFIG_SOFT_WATCHDOG is not set
-+CONFIG_S3C2410_WATCHDOG=m
-+
-+#
-+# USB-based Watchdog Cards
-+#
-+# CONFIG_USBPCWATCHDOG is not set
-+
-+#
-+# Sonics Silicon Backplane
-+#
-+CONFIG_SSB_POSSIBLE=y
-+# CONFIG_SSB is not set
-+
-+#
-+# Multifunction device drivers
-+#
-+# CONFIG_MFD_CORE is not set
-+# CONFIG_MFD_SM501 is not set
-+# CONFIG_MFD_ASIC3 is not set
-+# CONFIG_HTC_EGPIO is not set
-+# CONFIG_HTC_PASIC3 is not set
-+# CONFIG_MFD_TMIO is not set
-+# CONFIG_MFD_T7L66XB is not set
-+# CONFIG_MFD_TC6387XB is not set
-+# CONFIG_MFD_TC6393XB is not set
-+# CONFIG_PMIC_DA903X is not set
-+# CONFIG_MFD_WM8400 is not set
-+# CONFIG_MFD_WM8350_I2C is not set
-+CONFIG_MFD_PCF50633=y
-+CONFIG_PCF50633_ADC=y
-+CONFIG_PCF50633_GPIO=y
-+# CONFIG_MFD_PCF50606 is not set
-+CONFIG_MFD_GLAMO=y
-+CONFIG_MFD_GLAMO_FB=y
-+CONFIG_MFD_GLAMO_SPI_GPIO=y
-+CONFIG_MFD_GLAMO_SPI_FB=y
-+CONFIG_MFD_GLAMO_MCI=y
-+
-+#
-+# Multimedia devices
-+#
-+
-+#
-+# Multimedia core support
-+#
-+# CONFIG_VIDEO_DEV is not set
-+# CONFIG_DVB_CORE is not set
-+# CONFIG_VIDEO_MEDIA is not set
-+
-+#
-+# Multimedia drivers
-+#
-+CONFIG_DAB=y
-+# CONFIG_USB_DABUSB is not set
-+
-+#
-+# Graphics support
-+#
-+# CONFIG_VGASTATE is not set
-+CONFIG_VIDEO_OUTPUT_CONTROL=y
-+CONFIG_FB=y
-+# CONFIG_FIRMWARE_EDID is not set
-+# CONFIG_FB_DDC is not set
-+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
-+CONFIG_FB_CFB_FILLRECT=y
-+CONFIG_FB_CFB_COPYAREA=y
-+CONFIG_FB_CFB_IMAGEBLIT=y
-+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-+# CONFIG_FB_SYS_FILLRECT is not set
-+# CONFIG_FB_SYS_COPYAREA is not set
-+# CONFIG_FB_SYS_IMAGEBLIT is not set
-+# CONFIG_FB_FOREIGN_ENDIAN is not set
-+# CONFIG_FB_SYS_FOPS is not set
-+# CONFIG_FB_SVGALIB is not set
-+# CONFIG_FB_MACMODES is not set
-+# CONFIG_FB_BACKLIGHT is not set
-+# CONFIG_FB_MODE_HELPERS is not set
-+# CONFIG_FB_TILEBLITTING is not set
-+
-+#
-+# Frame buffer hardware drivers
-+#
-+# CONFIG_FB_UVESA is not set
-+# CONFIG_FB_S1D13XXX is not set
-+CONFIG_FB_S3C2410=y
-+# CONFIG_FB_S3C2410_DEBUG is not set
-+# CONFIG_FB_VIRTUAL is not set
-+# CONFIG_FB_METRONOME is not set
-+# CONFIG_FB_MB862XX is not set
-+CONFIG_BACKLIGHT_LCD_SUPPORT=y
-+CONFIG_LCD_CLASS_DEVICE=y
-+CONFIG_LCD_LTV350QV=y
-+# CONFIG_LCD_ILI9320 is not set
-+# CONFIG_LCD_TDO24M is not set
-+# CONFIG_LCD_VGG2432A4 is not set
-+# CONFIG_LCD_PLATFORM is not set
-+CONFIG_BACKLIGHT_CLASS_DEVICE=y
-+CONFIG_BACKLIGHT_CORGI=y
-+# CONFIG_BACKLIGHT_PWM is not set
-+
-+#
-+# Display device support
-+#
-+CONFIG_DISPLAY_SUPPORT=y
-+
-+#
-+# Display hardware drivers
-+#
-+CONFIG_DISPLAY_JBT6K74=y
-+
-+#
-+# Console display driver support
-+#
-+# CONFIG_VGA_CONSOLE is not set
-+CONFIG_DUMMY_CONSOLE=y
-+CONFIG_FRAMEBUFFER_CONSOLE=y
-+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-+CONFIG_FONTS=y
-+# CONFIG_FONT_8x8 is not set
-+# CONFIG_FONT_8x16 is not set
-+CONFIG_FONT_6x11=y
-+# CONFIG_FONT_7x14 is not set
-+# CONFIG_FONT_PEARL_8x8 is not set
-+# CONFIG_FONT_ACORN_8x8 is not set
-+# CONFIG_FONT_MINI_4x6 is not set
-+# CONFIG_FONT_SUN8x16 is not set
-+# CONFIG_FONT_SUN12x22 is not set
-+# CONFIG_FONT_10x18 is not set
-+# CONFIG_LOGO is not set
-+CONFIG_SOUND=y
-+CONFIG_SOUND_OSS_CORE=y
-+CONFIG_SND=y
-+CONFIG_SND_TIMER=y
-+CONFIG_SND_PCM=y
-+CONFIG_SND_HWDEP=m
-+CONFIG_SND_RAWMIDI=m
-+# CONFIG_SND_SEQUENCER is not set
-+CONFIG_SND_OSSEMUL=y
-+CONFIG_SND_MIXER_OSS=y
-+CONFIG_SND_PCM_OSS=y
-+CONFIG_SND_PCM_OSS_PLUGINS=y
-+# CONFIG_SND_DYNAMIC_MINORS is not set
-+CONFIG_SND_SUPPORT_OLD_API=y
-+CONFIG_SND_VERBOSE_PROCFS=y
-+# CONFIG_SND_VERBOSE_PRINTK is not set
-+CONFIG_SND_DEBUG=y
-+# CONFIG_SND_DEBUG_VERBOSE is not set
-+CONFIG_SND_PCM_XRUN_DEBUG=y
-+CONFIG_SND_DRIVERS=y
-+# CONFIG_SND_DUMMY is not set
-+# CONFIG_SND_MTPAV is not set
-+# CONFIG_SND_SERIAL_U16550 is not set
-+# CONFIG_SND_MPU401 is not set
-+CONFIG_SND_ARM=y
-+# CONFIG_SND_SPI is not set
-+CONFIG_SND_USB=y
-+CONFIG_SND_USB_AUDIO=m
-+# CONFIG_SND_USB_CAIAQ is not set
-+CONFIG_SND_SOC=y
-+CONFIG_SND_S3C24XX_SOC=y
-+CONFIG_SND_S3C24XX_SOC_I2S=y
-+CONFIG_SND_S3C24XX_SOC_NEO1973_GTA02_WM8753=y
-+# CONFIG_SND_S3C24XX_SOC_LN2440SBC_ALC650 is not set
-+# CONFIG_SND_SOC_ALL_CODECS is not set
-+CONFIG_SND_SOC_WM8753=y
-+# CONFIG_SOUND_PRIME is not set
-+CONFIG_HID_SUPPORT=y
-+CONFIG_HID=y
-+# CONFIG_HID_DEBUG is not set
-+# CONFIG_HIDRAW is not set
-+
-+#
-+# USB Input Devices
-+#
-+CONFIG_USB_HID=y
-+CONFIG_HID_PID=y
-+# CONFIG_USB_HIDDEV is not set
-+
-+#
-+# Special HID drivers
-+#
-+CONFIG_HID_COMPAT=y
-+CONFIG_HID_A4TECH=y
-+CONFIG_HID_APPLE=y
-+CONFIG_HID_BELKIN=y
-+CONFIG_HID_BRIGHT=y
-+CONFIG_HID_CHERRY=y
-+CONFIG_HID_CHICONY=y
-+CONFIG_HID_CYPRESS=y
-+CONFIG_HID_DELL=y
-+CONFIG_HID_EZKEY=y
-+CONFIG_HID_GYRATION=y
-+CONFIG_HID_LOGITECH=y
-+# CONFIG_LOGITECH_FF is not set
-+# CONFIG_LOGIRUMBLEPAD2_FF is not set
-+CONFIG_HID_MICROSOFT=y
-+CONFIG_HID_MONTEREY=y
-+CONFIG_HID_PANTHERLORD=y
-+# CONFIG_PANTHERLORD_FF is not set
-+CONFIG_HID_PETALYNX=y
-+CONFIG_HID_SAMSUNG=y
-+CONFIG_HID_SONY=y
-+CONFIG_HID_SUNPLUS=y
-+# CONFIG_THRUSTMASTER_FF is not set
-+# CONFIG_ZEROPLUS_FF is not set
-+CONFIG_USB_SUPPORT=y
-+CONFIG_USB_ARCH_HAS_HCD=y
-+CONFIG_USB_ARCH_HAS_OHCI=y
-+# CONFIG_USB_ARCH_HAS_EHCI is not set
-+CONFIG_USB=y
-+# CONFIG_USB_DEBUG is not set
-+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-+
-+#
-+# Miscellaneous USB options
-+#
-+CONFIG_USB_DEVICEFS=y
-+CONFIG_USB_DEVICE_CLASS=y
-+# CONFIG_USB_DYNAMIC_MINORS is not set
-+CONFIG_USB_SUSPEND=y
-+# CONFIG_USB_OTG is not set
-+CONFIG_USB_MON=y
-+# CONFIG_USB_WUSB is not set
-+# CONFIG_USB_WUSB_CBAF is not set
-+
-+#
-+# USB Host Controller Drivers
-+#
-+# CONFIG_USB_C67X00_HCD is not set
-+# CONFIG_USB_ISP116X_HCD is not set
-+# CONFIG_USB_ISP1760_HCD is not set
-+CONFIG_USB_OHCI_HCD=y
-+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
-+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-+# CONFIG_USB_SL811_HCD is not set
-+# CONFIG_USB_R8A66597_HCD is not set
-+# CONFIG_USB_HWA_HCD is not set
-+# CONFIG_USB_MUSB_HDRC is not set
-+# CONFIG_USB_GADGET_MUSB_HDRC is not set
-+
-+#
-+# USB Device Class drivers
-+#
-+CONFIG_USB_ACM=y
-+CONFIG_USB_PRINTER=m
-+# CONFIG_USB_WDM is not set
-+CONFIG_USB_TMC=m
-+
-+#
-+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-+#
-+
-+#
-+# may also be needed; see USB_STORAGE Help for more information
-+#
-+CONFIG_USB_STORAGE=y
-+# CONFIG_USB_STORAGE_DEBUG is not set
-+CONFIG_USB_STORAGE_DATAFAB=y
-+CONFIG_USB_STORAGE_FREECOM=y
-+# CONFIG_USB_STORAGE_ISD200 is not set
-+CONFIG_USB_STORAGE_DPCM=y
-+CONFIG_USB_STORAGE_USBAT=y
-+CONFIG_USB_STORAGE_SDDR09=y
-+CONFIG_USB_STORAGE_SDDR55=y
-+CONFIG_USB_STORAGE_JUMPSHOT=y
-+CONFIG_USB_STORAGE_ALAUDA=y
-+# CONFIG_USB_STORAGE_ONETOUCH is not set
-+CONFIG_USB_STORAGE_KARMA=y
-+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
-+CONFIG_USB_LIBUSUAL=y
-+
-+#
-+# USB Imaging devices
-+#
-+# CONFIG_USB_MDC800 is not set
-+# CONFIG_USB_MICROTEK is not set
-+
-+#
-+# USB port drivers
-+#
-+CONFIG_USB_SERIAL=y
-+CONFIG_USB_SERIAL_CONSOLE=y
-+CONFIG_USB_EZUSB=y
-+CONFIG_USB_SERIAL_GENERIC=y
-+CONFIG_USB_SERIAL_AIRCABLE=m
-+CONFIG_USB_SERIAL_ARK3116=m
-+CONFIG_USB_SERIAL_BELKIN=m
-+# CONFIG_USB_SERIAL_CH341 is not set
-+CONFIG_USB_SERIAL_WHITEHEAT=m
-+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-+CONFIG_USB_SERIAL_CP2101=m
-+CONFIG_USB_SERIAL_CYPRESS_M8=m
-+CONFIG_USB_SERIAL_EMPEG=m
-+CONFIG_USB_SERIAL_FTDI_SIO=m
-+CONFIG_USB_SERIAL_FUNSOFT=m
-+CONFIG_USB_SERIAL_VISOR=m
-+CONFIG_USB_SERIAL_IPAQ=m
-+CONFIG_USB_SERIAL_IR=m
-+CONFIG_USB_SERIAL_EDGEPORT=m
-+CONFIG_USB_SERIAL_EDGEPORT_TI=m
-+CONFIG_USB_SERIAL_GARMIN=m
-+CONFIG_USB_SERIAL_IPW=m
-+# CONFIG_USB_SERIAL_IUU is not set
-+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-+CONFIG_USB_SERIAL_KEYSPAN=m
-+CONFIG_USB_SERIAL_KLSI=m
-+CONFIG_USB_SERIAL_KOBIL_SCT=m
-+CONFIG_USB_SERIAL_MCT_U232=m
-+CONFIG_USB_SERIAL_MOS7720=m
-+CONFIG_USB_SERIAL_MOS7840=m
-+# CONFIG_USB_SERIAL_MOTOROLA is not set
-+CONFIG_USB_SERIAL_NAVMAN=m
-+CONFIG_USB_SERIAL_PL2303=m
-+# CONFIG_USB_SERIAL_OTI6858 is not set
-+# CONFIG_USB_SERIAL_SPCP8X5 is not set
-+CONFIG_USB_SERIAL_HP4X=m
-+CONFIG_USB_SERIAL_SAFE=m
-+CONFIG_USB_SERIAL_SAFE_PADDED=y
-+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-+CONFIG_USB_SERIAL_TI=m
-+CONFIG_USB_SERIAL_CYBERJACK=m
-+CONFIG_USB_SERIAL_XIRCOM=m
-+CONFIG_USB_SERIAL_OPTION=y
-+CONFIG_USB_SERIAL_OMNINET=m
-+# CONFIG_USB_SERIAL_DEBUG is not set
-+
-+#
-+# USB Miscellaneous drivers
-+#
-+# CONFIG_USB_EMI62 is not set
-+# CONFIG_USB_EMI26 is not set
-+# CONFIG_USB_ADUTUX is not set
-+# CONFIG_USB_SEVSEG is not set
-+# CONFIG_USB_RIO500 is not set
-+# CONFIG_USB_LEGOTOWER is not set
-+# CONFIG_USB_LCD is not set
-+CONFIG_USB_BERRY_CHARGE=m
-+# CONFIG_USB_LED is not set
-+# CONFIG_USB_CYPRESS_CY7C63 is not set
-+# CONFIG_USB_CYTHERM is not set
-+# CONFIG_USB_PHIDGET is not set
-+# CONFIG_USB_IDMOUSE is not set
-+# CONFIG_USB_FTDI_ELAN is not set
-+# CONFIG_USB_APPLEDISPLAY is not set
-+# CONFIG_USB_LD is not set
-+CONFIG_USB_TRANCEVIBRATOR=m
-+CONFIG_USB_IOWARRIOR=m
-+# CONFIG_USB_TEST is not set
-+# CONFIG_USB_ISIGHTFW is not set
-+# CONFIG_USB_VST is not set
-+CONFIG_USB_GADGET=y
-+# CONFIG_USB_GADGET_DEBUG is not set
-+# CONFIG_USB_GADGET_DEBUG_FILES is not set
-+# CONFIG_USB_GADGET_DEBUG_FS is not set
-+CONFIG_USB_GADGET_VBUS_DRAW=500
-+CONFIG_USB_GADGET_SELECTED=y
-+# CONFIG_USB_GADGET_AT91 is not set
-+# CONFIG_USB_GADGET_ATMEL_USBA is not set
-+# CONFIG_USB_GADGET_FSL_USB2 is not set
-+# CONFIG_USB_GADGET_LH7A40X is not set
-+# CONFIG_USB_GADGET_OMAP is not set
-+# CONFIG_USB_GADGET_PXA25X is not set
-+# CONFIG_USB_GADGET_PXA27X is not set
-+CONFIG_USB_GADGET_S3C2410=y
-+CONFIG_USB_S3C2410=y
-+CONFIG_USB_S3C2410_DEBUG=y
-+# CONFIG_USB_GADGET_M66592 is not set
-+# CONFIG_USB_GADGET_AMD5536UDC is not set
-+# CONFIG_USB_GADGET_FSL_QE is not set
-+# CONFIG_USB_GADGET_NET2280 is not set
-+# CONFIG_USB_GADGET_GOKU is not set
-+# CONFIG_USB_GADGET_DUMMY_HCD is not set
-+# CONFIG_USB_GADGET_DUALSPEED is not set
-+# CONFIG_USB_ZERO is not set
-+CONFIG_USB_ETH=y
-+CONFIG_USB_ETH_RNDIS=y
-+# CONFIG_USB_GADGETFS is not set
-+# CONFIG_USB_FILE_STORAGE is not set
-+# CONFIG_USB_G_SERIAL is not set
-+# CONFIG_USB_MIDI_GADGET is not set
-+# CONFIG_USB_G_PRINTER is not set
-+# CONFIG_USB_CDC_COMPOSITE is not set
-+CONFIG_AR6000_WLAN=y
-+CONFIG_MMC=y
-+# CONFIG_MMC_DEBUG is not set
-+CONFIG_MMC_UNSAFE_RESUME=y
-+
-+#
-+# MMC/SD/SDIO Card Drivers
-+#
-+CONFIG_MMC_BLOCK=y
-+CONFIG_MMC_BLOCK_BOUNCE=y
-+# CONFIG_SDIO_UART is not set
-+# CONFIG_MMC_TEST is not set
-+
-+#
-+# MMC/SD/SDIO Host Controller Drivers
-+#
-+CONFIG_MMC_SDHCI=y
-+CONFIG_MMC_SDHCI_S3C=y
-+# CONFIG_MMC_SPI is not set
-+CONFIG_MMC_S3C=y
-+# CONFIG_MEMSTICK is not set
-+# CONFIG_ACCESSIBILITY is not set
-+CONFIG_NEW_LEDS=y
-+CONFIG_LEDS_CLASS=y
-+
-+#
-+# LED drivers
-+#
-+CONFIG_LEDS_S3C24XX=m
-+# CONFIG_LEDS_PCA9532 is not set
-+CONFIG_LEDS_GPIO=y
-+# CONFIG_LEDS_PCA955X is not set
-+CONFIG_LEDS_NEO1973_VIBRATOR=y
-+CONFIG_LEDS_NEO1973_GTA02=y
-+
-+#
-+# LED Triggers
-+#
-+CONFIG_LEDS_TRIGGERS=y
-+CONFIG_LEDS_TRIGGER_TIMER=y
-+# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
-+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
-+# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-+CONFIG_RTC_LIB=y
-+CONFIG_RTC_CLASS=y
-+CONFIG_RTC_HCTOSYS=y
-+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-+CONFIG_RTC_DEBUG=y
-+
-+#
-+# RTC interfaces
-+#
-+CONFIG_RTC_INTF_SYSFS=y
-+CONFIG_RTC_INTF_PROC=y
-+CONFIG_RTC_INTF_DEV=y
-+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-+# CONFIG_RTC_DRV_TEST is not set
-+
-+#
-+# I2C RTC drivers
-+#
-+# CONFIG_RTC_DRV_DS1307 is not set
-+# CONFIG_RTC_DRV_DS1374 is not set
-+# CONFIG_RTC_DRV_DS1672 is not set
-+# CONFIG_RTC_DRV_MAX6900 is not set
-+# CONFIG_RTC_DRV_RS5C372 is not set
-+# CONFIG_RTC_DRV_ISL1208 is not set
-+# CONFIG_RTC_DRV_X1205 is not set
-+# CONFIG_RTC_DRV_PCF8563 is not set
-+# CONFIG_RTC_DRV_PCF8583 is not set
-+CONFIG_RTC_DRV_PCF50633=y
-+# CONFIG_RTC_DRV_PCF50606 is not set
-+# CONFIG_RTC_DRV_M41T80 is not set
-+# CONFIG_RTC_DRV_S35390A is not set
-+# CONFIG_RTC_DRV_FM3130 is not set
-+
-+#
-+# SPI RTC drivers
-+#
-+# CONFIG_RTC_DRV_M41T94 is not set
-+# CONFIG_RTC_DRV_DS1305 is not set
-+# CONFIG_RTC_DRV_MAX6902 is not set
-+# CONFIG_RTC_DRV_R9701 is not set
-+# CONFIG_RTC_DRV_RS5C348 is not set
-+# CONFIG_RTC_DRV_DS3234 is not set
-+
-+#
-+# Platform RTC drivers
-+#
-+# CONFIG_RTC_DRV_CMOS is not set
-+# CONFIG_RTC_DRV_DS1286 is not set
-+# CONFIG_RTC_DRV_DS1511 is not set
-+# CONFIG_RTC_DRV_DS1553 is not set
-+# CONFIG_RTC_DRV_DS1742 is not set
-+# CONFIG_RTC_DRV_STK17TA8 is not set
-+# CONFIG_RTC_DRV_M48T86 is not set
-+# CONFIG_RTC_DRV_M48T35 is not set
-+# CONFIG_RTC_DRV_M48T59 is not set
-+# CONFIG_RTC_DRV_BQ4802 is not set
-+# CONFIG_RTC_DRV_V3020 is not set
-+
-+#
-+# on-CPU RTC drivers
-+#
-+CONFIG_RTC_DRV_S3C=m
-+CONFIG_DMADEVICES=y
-+
-+#
-+# DMA Devices
-+#
-+
-+#
-+# Android
-+#
-+CONFIG_ANDROID_BINDER_IPC=y
-+CONFIG_ANDROID_POWER=y
-+CONFIG_ANDROID_POWER_STAT=y
-+CONFIG_ANDROID_POWER_ALARM=y
-+CONFIG_ANDROID_LOGGER=y
-+# CONFIG_ANDROID_RAM_CONSOLE is not set
-+# CONFIG_ANDROID_TIMED_GPIO is not set
-+# CONFIG_ANDROID_PARANOID_NETWORK is not set
-+CONFIG_REGULATOR=y
-+CONFIG_REGULATOR_DEBUG=y
-+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
-+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-+# CONFIG_REGULATOR_BQ24022 is not set
-+CONFIG_REGULATOR_PCF50633=y
-+CONFIG_UIO=y
-+CONFIG_UIO_PDRV=y
-+# CONFIG_UIO_PDRV_GENIRQ is not set
-+# CONFIG_UIO_SMX is not set
-+# CONFIG_UIO_SERCOS3 is not set
-+
-+#
-+# File systems
-+#
-+CONFIG_EXT2_FS=y
-+# CONFIG_EXT2_FS_XATTR is not set
-+# CONFIG_EXT2_FS_XIP is not set
-+CONFIG_EXT3_FS=y
-+# CONFIG_EXT3_FS_XATTR is not set
-+CONFIG_EXT4_FS=y
-+CONFIG_EXT4DEV_COMPAT=y
-+CONFIG_EXT4_FS_XATTR=y
-+# CONFIG_EXT4_FS_POSIX_ACL is not set
-+CONFIG_EXT4_FS_SECURITY=y
-+CONFIG_JBD=y
-+# CONFIG_JBD_DEBUG is not set
-+CONFIG_JBD2=y
-+# CONFIG_JBD2_DEBUG is not set
-+CONFIG_FS_MBCACHE=y
-+# CONFIG_REISERFS_FS is not set
-+# CONFIG_JFS_FS is not set
-+CONFIG_FS_POSIX_ACL=y
-+CONFIG_FILE_LOCKING=y
-+# CONFIG_XFS_FS is not set
-+# CONFIG_OCFS2_FS is not set
-+CONFIG_DNOTIFY=y
-+CONFIG_INOTIFY=y
-+CONFIG_INOTIFY_USER=y
-+# CONFIG_QUOTA is not set
-+# CONFIG_AUTOFS_FS is not set
-+# CONFIG_AUTOFS4_FS is not set
-+CONFIG_FUSE_FS=m
-+
-+#
-+# CD-ROM/DVD Filesystems
-+#
-+CONFIG_ISO9660_FS=m
-+CONFIG_JOLIET=y
-+# CONFIG_ZISOFS is not set
-+# CONFIG_UDF_FS is not set
-+
-+#
-+# DOS/FAT/NT Filesystems
-+#
-+CONFIG_FAT_FS=y
-+CONFIG_MSDOS_FS=y
-+CONFIG_VFAT_FS=y
-+CONFIG_FAT_DEFAULT_CODEPAGE=437
-+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-+# CONFIG_NTFS_FS is not set
-+
-+#
-+# Pseudo filesystems
-+#
-+CONFIG_PROC_FS=y
-+CONFIG_PROC_SYSCTL=y
-+CONFIG_PROC_PAGE_MONITOR=y
-+CONFIG_SYSFS=y
-+CONFIG_TMPFS=y
-+# CONFIG_TMPFS_POSIX_ACL is not set
-+# CONFIG_HUGETLB_PAGE is not set
-+CONFIG_CONFIGFS_FS=m
-+
-+#
-+# Miscellaneous filesystems
-+#
-+# CONFIG_ADFS_FS is not set
-+# CONFIG_AFFS_FS is not set
-+# CONFIG_HFS_FS is not set
-+# CONFIG_HFSPLUS_FS is not set
-+# CONFIG_BEFS_FS is not set
-+# CONFIG_BFS_FS is not set
-+# CONFIG_EFS_FS is not set
-+CONFIG_JFFS2_FS=y
-+CONFIG_JFFS2_FS_DEBUG=0
-+CONFIG_JFFS2_FS_WRITEBUFFER=y
-+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-+CONFIG_JFFS2_SUMMARY=y
-+# CONFIG_JFFS2_FS_XATTR is not set
-+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-+CONFIG_JFFS2_ZLIB=y
-+# CONFIG_JFFS2_LZO is not set
-+CONFIG_JFFS2_RTIME=y
-+# CONFIG_JFFS2_RUBIN is not set
-+CONFIG_CRAMFS=y
-+# CONFIG_VXFS_FS is not set
-+# CONFIG_MINIX_FS is not set
-+# CONFIG_OMFS_FS is not set
-+# CONFIG_HPFS_FS is not set
-+# CONFIG_QNX4FS_FS is not set
-+CONFIG_ROMFS_FS=y
-+# CONFIG_SYSV_FS is not set
-+# CONFIG_UFS_FS is not set
-+CONFIG_NETWORK_FILESYSTEMS=y
-+# CONFIG_NFS_FS is not set
-+CONFIG_NFSD=y
-+CONFIG_NFSD_V2_ACL=y
-+CONFIG_NFSD_V3=y
-+CONFIG_NFSD_V3_ACL=y
-+# CONFIG_NFSD_V4 is not set
-+CONFIG_LOCKD=y
-+CONFIG_LOCKD_V4=y
-+CONFIG_EXPORTFS=y
-+CONFIG_NFS_ACL_SUPPORT=y
-+CONFIG_NFS_COMMON=y
-+CONFIG_SUNRPC=y
-+# CONFIG_SUNRPC_REGISTER_V4 is not set
-+# CONFIG_RPCSEC_GSS_KRB5 is not set
-+# CONFIG_RPCSEC_GSS_SPKM3 is not set
-+# CONFIG_SMB_FS is not set
-+CONFIG_CIFS=m
-+# CONFIG_CIFS_STATS is not set
-+# CONFIG_CIFS_WEAK_PW_HASH is not set
-+# CONFIG_CIFS_XATTR is not set
-+# CONFIG_CIFS_DEBUG2 is not set
-+# CONFIG_CIFS_EXPERIMENTAL is not set
-+# CONFIG_NCP_FS is not set
-+# CONFIG_CODA_FS is not set
-+# CONFIG_AFS_FS is not set
-+
-+#
-+# Partition Types
-+#
-+CONFIG_PARTITION_ADVANCED=y
-+# CONFIG_ACORN_PARTITION is not set
-+# CONFIG_OSF_PARTITION is not set
-+# CONFIG_AMIGA_PARTITION is not set
-+# CONFIG_ATARI_PARTITION is not set
-+# CONFIG_MAC_PARTITION is not set
-+CONFIG_MSDOS_PARTITION=y
-+# CONFIG_BSD_DISKLABEL is not set
-+# CONFIG_MINIX_SUBPARTITION is not set
-+# CONFIG_SOLARIS_X86_PARTITION is not set
-+# CONFIG_UNIXWARE_DISKLABEL is not set
-+# CONFIG_LDM_PARTITION is not set
-+# CONFIG_SGI_PARTITION is not set
-+# CONFIG_ULTRIX_PARTITION is not set
-+# CONFIG_SUN_PARTITION is not set
-+# CONFIG_KARMA_PARTITION is not set
-+# CONFIG_EFI_PARTITION is not set
-+# CONFIG_SYSV68_PARTITION is not set
-+CONFIG_NLS=y
-+CONFIG_NLS_DEFAULT="iso8859-1"
-+CONFIG_NLS_CODEPAGE_437=y
-+# CONFIG_NLS_CODEPAGE_737 is not set
-+# CONFIG_NLS_CODEPAGE_775 is not set
-+CONFIG_NLS_CODEPAGE_850=m
-+# CONFIG_NLS_CODEPAGE_852 is not set
-+# CONFIG_NLS_CODEPAGE_855 is not set
-+# CONFIG_NLS_CODEPAGE_857 is not set
-+# CONFIG_NLS_CODEPAGE_860 is not set
-+# CONFIG_NLS_CODEPAGE_861 is not set
-+# CONFIG_NLS_CODEPAGE_862 is not set
-+# CONFIG_NLS_CODEPAGE_863 is not set
-+# CONFIG_NLS_CODEPAGE_864 is not set
-+# CONFIG_NLS_CODEPAGE_865 is not set
-+# CONFIG_NLS_CODEPAGE_866 is not set
-+# CONFIG_NLS_CODEPAGE_869 is not set
-+CONFIG_NLS_CODEPAGE_936=m
-+CONFIG_NLS_CODEPAGE_950=m
-+# CONFIG_NLS_CODEPAGE_932 is not set
-+# CONFIG_NLS_CODEPAGE_949 is not set
-+# CONFIG_NLS_CODEPAGE_874 is not set
-+# CONFIG_NLS_ISO8859_8 is not set
-+# CONFIG_NLS_CODEPAGE_1250 is not set
-+# CONFIG_NLS_CODEPAGE_1251 is not set
-+# CONFIG_NLS_ASCII is not set
-+CONFIG_NLS_ISO8859_1=y
-+# CONFIG_NLS_ISO8859_2 is not set
-+# CONFIG_NLS_ISO8859_3 is not set
-+# CONFIG_NLS_ISO8859_4 is not set
-+# CONFIG_NLS_ISO8859_5 is not set
-+# CONFIG_NLS_ISO8859_6 is not set
-+# CONFIG_NLS_ISO8859_7 is not set
-+# CONFIG_NLS_ISO8859_9 is not set
-+# CONFIG_NLS_ISO8859_13 is not set
-+# CONFIG_NLS_ISO8859_14 is not set
-+# CONFIG_NLS_ISO8859_15 is not set
-+# CONFIG_NLS_KOI8_R is not set
-+# CONFIG_NLS_KOI8_U is not set
-+CONFIG_NLS_UTF8=m
-+# CONFIG_DLM is not set
-+
-+#
-+# Kernel hacking
-+#
-+CONFIG_PRINTK_TIME=y
-+CONFIG_ENABLE_WARN_DEPRECATED=y
-+CONFIG_ENABLE_MUST_CHECK=y
-+CONFIG_FRAME_WARN=1024
-+CONFIG_MAGIC_SYSRQ=y
-+# CONFIG_UNUSED_SYMBOLS is not set
-+CONFIG_DEBUG_FS=y
-+# CONFIG_HEADERS_CHECK is not set
-+CONFIG_DEBUG_KERNEL=y
-+CONFIG_DEBUG_SHIRQ=y
-+CONFIG_DETECT_SOFTLOCKUP=y
-+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
-+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1
-+CONFIG_SCHED_DEBUG=y
-+CONFIG_SCHEDSTATS=y
-+CONFIG_TIMER_STATS=y
-+# CONFIG_DEBUG_OBJECTS is not set
-+# CONFIG_DEBUG_SLAB is not set
-+CONFIG_DEBUG_PREEMPT=y
-+# CONFIG_DEBUG_RT_MUTEXES is not set
-+# CONFIG_RT_MUTEX_TESTER is not set
-+CONFIG_DEBUG_SPINLOCK=y
-+CONFIG_DEBUG_MUTEXES=y
-+CONFIG_DEBUG_LOCK_ALLOC=y
-+# CONFIG_PROVE_LOCKING is not set
-+CONFIG_LOCKDEP=y
-+CONFIG_LOCK_STAT=y
-+CONFIG_DEBUG_LOCKDEP=y
-+CONFIG_DEBUG_SPINLOCK_SLEEP=y
-+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-+CONFIG_STACKTRACE=y
-+# CONFIG_DEBUG_KOBJECT is not set
-+CONFIG_DEBUG_BUGVERBOSE=y
-+CONFIG_DEBUG_INFO=y
-+# CONFIG_DEBUG_VM is not set
-+# CONFIG_DEBUG_WRITECOUNT is not set
-+CONFIG_DEBUG_MEMORY_INIT=y
-+# CONFIG_DEBUG_LIST is not set
-+CONFIG_DEBUG_SG=y
-+CONFIG_FRAME_POINTER=y
-+# CONFIG_BOOT_PRINTK_DELAY is not set
-+# CONFIG_RCU_TORTURE_TEST is not set
-+CONFIG_RCU_CPU_STALL_DETECTOR=y
-+# CONFIG_BACKTRACE_SELF_TEST is not set
-+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-+# CONFIG_FAULT_INJECTION is not set
-+CONFIG_LATENCYTOP=y
-+CONFIG_SYSCTL_SYSCALL_CHECK=y
-+CONFIG_HAVE_FUNCTION_TRACER=y
-+
-+#
-+# Tracers
-+#
-+# CONFIG_FUNCTION_TRACER is not set
-+# CONFIG_SCHED_TRACER is not set
-+# CONFIG_CONTEXT_SWITCH_TRACER is not set
-+# CONFIG_BOOT_TRACER is not set
-+# CONFIG_STACK_TRACER is not set
-+CONFIG_DYNAMIC_PRINTK_DEBUG=y
-+# CONFIG_SAMPLES is not set
-+CONFIG_HAVE_ARCH_KGDB=y
-+# CONFIG_KGDB is not set
-+# CONFIG_DEBUG_USER is not set
-+CONFIG_DEBUG_ERRORS=y
-+# CONFIG_DEBUG_STACK_USAGE is not set
-+# CONFIG_DEBUG_LL is not set
-+CONFIG_DEBUG_S3C_UART=2
-+
-+#
-+# Security options
-+#
-+# CONFIG_KEYS is not set
-+# CONFIG_SECURITY is not set
-+CONFIG_SECURITYFS=y
-+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
-+CONFIG_CRYPTO=y
-+
-+#
-+# Crypto core or helper
-+#
-+CONFIG_CRYPTO_FIPS=y
-+CONFIG_CRYPTO_ALGAPI=y
-+CONFIG_CRYPTO_AEAD=y
-+CONFIG_CRYPTO_BLKCIPHER=y
-+CONFIG_CRYPTO_HASH=y
-+CONFIG_CRYPTO_RNG=y
-+CONFIG_CRYPTO_MANAGER=y
-+CONFIG_CRYPTO_GF128MUL=m
-+CONFIG_CRYPTO_NULL=m
-+# CONFIG_CRYPTO_CRYPTD is not set
-+CONFIG_CRYPTO_AUTHENC=m
-+CONFIG_CRYPTO_TEST=m
-+
-+#
-+# Authenticated Encryption with Associated Data
-+#
-+# CONFIG_CRYPTO_CCM is not set
-+# CONFIG_CRYPTO_GCM is not set
-+# CONFIG_CRYPTO_SEQIV is not set
-+
-+#
-+# Block modes
-+#
-+CONFIG_CRYPTO_CBC=y
-+# CONFIG_CRYPTO_CTR is not set
-+# CONFIG_CRYPTO_CTS is not set
-+CONFIG_CRYPTO_ECB=y
-+CONFIG_CRYPTO_LRW=m
-+CONFIG_CRYPTO_PCBC=m
-+# CONFIG_CRYPTO_XTS is not set
-+
-+#
-+# Hash modes
-+#
-+CONFIG_CRYPTO_HMAC=y
-+CONFIG_CRYPTO_XCBC=m
-+
-+#
-+# Digest
-+#
-+CONFIG_CRYPTO_CRC32C=m
-+CONFIG_CRYPTO_MD4=m
-+CONFIG_CRYPTO_MD5=y
-+CONFIG_CRYPTO_MICHAEL_MIC=m
-+# CONFIG_CRYPTO_RMD128 is not set
-+# CONFIG_CRYPTO_RMD160 is not set
-+# CONFIG_CRYPTO_RMD256 is not set
-+# CONFIG_CRYPTO_RMD320 is not set
-+CONFIG_CRYPTO_SHA1=y
-+CONFIG_CRYPTO_SHA256=m
-+CONFIG_CRYPTO_SHA512=m
-+CONFIG_CRYPTO_TGR192=m
-+CONFIG_CRYPTO_WP512=m
-+
-+#
-+# Ciphers
-+#
-+CONFIG_CRYPTO_AES=y
-+CONFIG_CRYPTO_ANUBIS=m
-+CONFIG_CRYPTO_ARC4=y
-+CONFIG_CRYPTO_BLOWFISH=m
-+CONFIG_CRYPTO_CAMELLIA=m
-+CONFIG_CRYPTO_CAST5=m
-+CONFIG_CRYPTO_CAST6=m
-+CONFIG_CRYPTO_DES=y
-+CONFIG_CRYPTO_FCRYPT=m
-+CONFIG_CRYPTO_KHAZAD=m
-+# CONFIG_CRYPTO_SALSA20 is not set
-+# CONFIG_CRYPTO_SEED is not set
-+CONFIG_CRYPTO_SERPENT=m
-+CONFIG_CRYPTO_TEA=m
-+CONFIG_CRYPTO_TWOFISH=m
-+CONFIG_CRYPTO_TWOFISH_COMMON=m
-+
-+#
-+# Compression
-+#
-+CONFIG_CRYPTO_DEFLATE=m
-+# CONFIG_CRYPTO_LZO is not set
-+
-+#
-+# Random Number Generation
-+#
-+CONFIG_CRYPTO_ANSI_CPRNG=y
-+CONFIG_CRYPTO_HW=y
-+
-+#
-+# Library routines
-+#
-+CONFIG_BITREVERSE=y
-+CONFIG_CRC_CCITT=y
-+CONFIG_CRC16=y
-+CONFIG_CRC_T10DIF=y
-+# CONFIG_CRC_ITU_T is not set
-+CONFIG_CRC32=y
-+# CONFIG_CRC7 is not set
-+CONFIG_LIBCRC32C=m
-+CONFIG_ZLIB_INFLATE=y
-+CONFIG_ZLIB_DEFLATE=y
-+CONFIG_TEXTSEARCH=y
-+CONFIG_TEXTSEARCH_KMP=m
-+CONFIG_TEXTSEARCH_BM=m
-+CONFIG_TEXTSEARCH_FSM=m
-+CONFIG_PLIST=y
-+CONFIG_HAS_IOMEM=y
-+CONFIG_HAS_DMA=y
-Index: linux-2.6.28/arch/arm/configs/gta02-packaging-defconfig
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/configs/gta02-packaging-defconfig    2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,2111 @@
-+#
-+# Automatically generated make config: don't edit
-+# Linux kernel version: 2.6.28-rc4
-+# Wed Dec 10 11:09:39 2008
-+#
-+CONFIG_ARM=y
-+CONFIG_HAVE_PWM=y
-+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-+CONFIG_GENERIC_GPIO=y
-+# CONFIG_GENERIC_TIME is not set
-+# CONFIG_GENERIC_CLOCKEVENTS is not set
-+CONFIG_MMU=y
-+CONFIG_NO_IOPORT=y
-+CONFIG_GENERIC_HARDIRQS=y
-+CONFIG_STACKTRACE_SUPPORT=y
-+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-+CONFIG_LOCKDEP_SUPPORT=y
-+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-+CONFIG_HARDIRQS_SW_RESEND=y
-+CONFIG_GENERIC_IRQ_PROBE=y
-+CONFIG_RWSEM_GENERIC_SPINLOCK=y
-+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-+CONFIG_GENERIC_HWEIGHT=y
-+CONFIG_GENERIC_CALIBRATE_DELAY=y
-+CONFIG_FIQ=y
-+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-+CONFIG_VECTORS_BASE=0xffff0000
-+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-+
-+#
-+# General setup
-+#
-+CONFIG_EXPERIMENTAL=y
-+CONFIG_BROKEN_ON_SMP=y
-+CONFIG_LOCK_KERNEL=y
-+CONFIG_INIT_ENV_ARG_LIMIT=32
-+CONFIG_LOCALVERSION="-mokodev"
-+# CONFIG_LOCALVERSION_AUTO is not set
-+CONFIG_SWAP=y
-+CONFIG_SYSVIPC=y
-+CONFIG_SYSVIPC_SYSCTL=y
-+# CONFIG_POSIX_MQUEUE is not set
-+# CONFIG_BSD_PROCESS_ACCT is not set
-+# CONFIG_TASKSTATS is not set
-+# CONFIG_AUDIT is not set
-+CONFIG_IKCONFIG=y
-+CONFIG_IKCONFIG_PROC=y
-+CONFIG_LOG_BUF_SHIFT=18
-+# CONFIG_CGROUPS is not set
-+# CONFIG_GROUP_SCHED is not set
-+CONFIG_SYSFS_DEPRECATED=y
-+CONFIG_SYSFS_DEPRECATED_V2=y
-+# CONFIG_RELAY is not set
-+CONFIG_NAMESPACES=y
-+# CONFIG_UTS_NS is not set
-+# CONFIG_IPC_NS is not set
-+# CONFIG_USER_NS is not set
-+# CONFIG_PID_NS is not set
-+CONFIG_BLK_DEV_INITRD=y
-+CONFIG_INITRAMFS_SOURCE=""
-+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-+CONFIG_SYSCTL=y
-+# CONFIG_EMBEDDED is not set
-+CONFIG_UID16=y
-+CONFIG_SYSCTL_SYSCALL=y
-+CONFIG_KALLSYMS=y
-+CONFIG_KALLSYMS_ALL=y
-+# CONFIG_KALLSYMS_EXTRA_PASS is not set
-+CONFIG_HOTPLUG=y
-+CONFIG_PRINTK=y
-+CONFIG_BUG=y
-+CONFIG_ELF_CORE=y
-+CONFIG_COMPAT_BRK=y
-+CONFIG_BASE_FULL=y
-+CONFIG_FUTEX=y
-+CONFIG_ANON_INODES=y
-+CONFIG_EPOLL=y
-+CONFIG_SIGNALFD=y
-+CONFIG_TIMERFD=y
-+CONFIG_EVENTFD=y
-+CONFIG_SHMEM=y
-+CONFIG_AIO=y
-+CONFIG_ASHMEM=y
-+CONFIG_VM_EVENT_COUNTERS=y
-+CONFIG_SLAB=y
-+# CONFIG_SLUB is not set
-+# CONFIG_SLOB is not set
-+# CONFIG_PROFILING is not set
-+CONFIG_MARKERS=y
-+CONFIG_HAVE_OPROFILE=y
-+# CONFIG_KPROBES is not set
-+CONFIG_HAVE_KPROBES=y
-+CONFIG_HAVE_KRETPROBES=y
-+CONFIG_HAVE_CLK=y
-+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-+CONFIG_SLABINFO=y
-+CONFIG_RT_MUTEXES=y
-+# CONFIG_TINY_SHMEM is not set
-+CONFIG_BASE_SMALL=0
-+CONFIG_MODULES=y
-+# CONFIG_MODULE_FORCE_LOAD is not set
-+CONFIG_MODULE_UNLOAD=y
-+CONFIG_MODULE_FORCE_UNLOAD=y
-+# CONFIG_MODVERSIONS is not set
-+# CONFIG_MODULE_SRCVERSION_ALL is not set
-+CONFIG_KMOD=y
-+CONFIG_BLOCK=y
-+# CONFIG_LBD is not set
-+# CONFIG_BLK_DEV_IO_TRACE is not set
-+# CONFIG_LSF is not set
-+# CONFIG_BLK_DEV_BSG is not set
-+# CONFIG_BLK_DEV_INTEGRITY is not set
-+
-+#
-+# IO Schedulers
-+#
-+CONFIG_IOSCHED_NOOP=y
-+CONFIG_IOSCHED_AS=m
-+CONFIG_IOSCHED_DEADLINE=y
-+CONFIG_IOSCHED_CFQ=m
-+# CONFIG_DEFAULT_AS is not set
-+CONFIG_DEFAULT_DEADLINE=y
-+# CONFIG_DEFAULT_CFQ is not set
-+# CONFIG_DEFAULT_NOOP is not set
-+CONFIG_DEFAULT_IOSCHED="deadline"
-+CONFIG_CLASSIC_RCU=y
-+CONFIG_FREEZER=y
-+
-+#
-+# System Type
-+#
-+# CONFIG_ARCH_AAEC2000 is not set
-+# CONFIG_ARCH_INTEGRATOR is not set
-+# CONFIG_ARCH_REALVIEW is not set
-+# CONFIG_ARCH_VERSATILE is not set
-+# CONFIG_ARCH_AT91 is not set
-+# CONFIG_ARCH_CLPS7500 is not set
-+# CONFIG_ARCH_CLPS711X is not set
-+# CONFIG_ARCH_EBSA110 is not set
-+# CONFIG_ARCH_EP93XX is not set
-+# CONFIG_ARCH_FOOTBRIDGE is not set
-+# CONFIG_ARCH_NETX is not set
-+# CONFIG_ARCH_H720X is not set
-+# CONFIG_ARCH_IMX is not set
-+# CONFIG_ARCH_IOP13XX is not set
-+# CONFIG_ARCH_IOP32X is not set
-+# CONFIG_ARCH_IOP33X is not set
-+# CONFIG_ARCH_IXP23XX is not set
-+# CONFIG_ARCH_IXP2000 is not set
-+# CONFIG_ARCH_IXP4XX is not set
-+# CONFIG_ARCH_L7200 is not set
-+# CONFIG_ARCH_KIRKWOOD is not set
-+# CONFIG_ARCH_KS8695 is not set
-+# CONFIG_ARCH_NS9XXX is not set
-+# CONFIG_ARCH_LOKI is not set
-+# CONFIG_ARCH_MV78XX0 is not set
-+# CONFIG_ARCH_MXC is not set
-+# CONFIG_ARCH_ORION5X is not set
-+# CONFIG_ARCH_PNX4008 is not set
-+# CONFIG_ARCH_PXA is not set
-+# CONFIG_ARCH_RPC is not set
-+# CONFIG_ARCH_SA1100 is not set
-+CONFIG_ARCH_S3C2410=y
-+# CONFIG_ARCH_S3C64XX is not set
-+# CONFIG_ARCH_SHARK is not set
-+# CONFIG_ARCH_LH7A40X is not set
-+# CONFIG_ARCH_DAVINCI is not set
-+# CONFIG_ARCH_OMAP is not set
-+# CONFIG_ARCH_MSM is not set
-+CONFIG_PLAT_S3C24XX=y
-+CONFIG_S3C2410_CLOCK=y
-+CONFIG_CPU_S3C244X=y
-+CONFIG_S3C24XX_PWM=y
-+CONFIG_S3C2410_DMA=y
-+# CONFIG_S3C2410_DMA_DEBUG is not set
-+CONFIG_MACH_SMDK=y
-+CONFIG_MACH_NEO1973=y
-+CONFIG_PLAT_S3C=y
-+CONFIG_CPU_LLSERIAL_S3C2410=y
-+CONFIG_CPU_LLSERIAL_S3C2440=y
-+
-+#
-+# Boot options
-+#
-+# CONFIG_S3C_BOOT_WATCHDOG is not set
-+# CONFIG_S3C_BOOT_ERROR_RESET is not set
-+CONFIG_S3C_BOOT_UART_FORCE_FIFO=y
-+
-+#
-+# Power management
-+#
-+# CONFIG_S3C2410_PM_DEBUG is not set
-+# CONFIG_S3C2410_PM_CHECK is not set
-+CONFIG_S3C_LOWLEVEL_UART_PORT=2
-+CONFIG_S3C_GPIO_SPACE=0
-+CONFIG_S3C_GPIO_TRACK=y
-+
-+#
-+# S3C2400 Machines
-+#
-+CONFIG_CPU_S3C2410=y
-+CONFIG_CPU_S3C2410_DMA=y
-+CONFIG_S3C2410_PM=y
-+CONFIG_S3C2410_GPIO=y
-+CONFIG_S3C2410_PWM=y
-+
-+#
-+# S3C2410 Machines
-+#
-+# CONFIG_ARCH_SMDK2410 is not set
-+# CONFIG_ARCH_H1940 is not set
-+# CONFIG_MACH_N30 is not set
-+# CONFIG_ARCH_BAST is not set
-+# CONFIG_MACH_OTOM is not set
-+# CONFIG_MACH_AML_M5900 is not set
-+# CONFIG_MACH_TCT_HAMMER is not set
-+# CONFIG_MACH_VR1000 is not set
-+CONFIG_MACH_QT2410=y
-+# CONFIG_MACH_NEO1973_GTA01 is not set
-+
-+#
-+# S3C2412 Machines
-+#
-+# CONFIG_MACH_JIVE is not set
-+# CONFIG_MACH_SMDK2413 is not set
-+# CONFIG_MACH_SMDK2412 is not set
-+# CONFIG_MACH_VSTMS is not set
-+CONFIG_CPU_S3C2440=y
-+CONFIG_S3C2440_DMA=y
-+CONFIG_S3C2440_C_FIQ=y
-+
-+#
-+# S3C2440 Machines
-+#
-+# CONFIG_MACH_ANUBIS is not set
-+# CONFIG_MACH_OSIRIS is not set
-+# CONFIG_MACH_RX3715 is not set
-+CONFIG_ARCH_S3C2440=y
-+# CONFIG_MACH_NEXCODER_2440 is not set
-+CONFIG_SMDK2440_CPU2440=y
-+# CONFIG_MACH_AT2440EVB is not set
-+CONFIG_MACH_NEO1973_GTA02=y
-+# CONFIG_NEO1973_GTA02_2440 is not set
-+CONFIG_CPU_S3C2442=y
-+
-+#
-+# S3C2442 Machines
-+#
-+CONFIG_SMDK2440_CPU2442=y
-+
-+#
-+# S3C2443 Machines
-+#
-+# CONFIG_MACH_SMDK2443 is not set
-+
-+#
-+# Processor Type
-+#
-+CONFIG_CPU_32=y
-+CONFIG_CPU_ARM920T=y
-+CONFIG_CPU_32v4T=y
-+CONFIG_CPU_ABRT_EV4T=y
-+CONFIG_CPU_PABRT_NOIFAR=y
-+CONFIG_CPU_CACHE_V4WT=y
-+CONFIG_CPU_CACHE_VIVT=y
-+CONFIG_CPU_COPY_V4WB=y
-+CONFIG_CPU_TLB_V4WBI=y
-+CONFIG_CPU_CP15=y
-+CONFIG_CPU_CP15_MMU=y
-+
-+#
-+# Processor Features
-+#
-+CONFIG_ARM_THUMB=y
-+# CONFIG_CPU_ICACHE_DISABLE is not set
-+# CONFIG_CPU_DCACHE_DISABLE is not set
-+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
-+# CONFIG_OUTER_CACHE is not set
-+
-+#
-+# Bus support
-+#
-+# CONFIG_PCI_SYSCALL is not set
-+# CONFIG_ARCH_SUPPORTS_MSI is not set
-+# CONFIG_PCCARD is not set
-+
-+#
-+# Kernel Features
-+#
-+CONFIG_VMSPLIT_3G=y
-+# CONFIG_VMSPLIT_2G is not set
-+# CONFIG_VMSPLIT_1G is not set
-+CONFIG_PAGE_OFFSET=0xC0000000
-+CONFIG_PREEMPT=y
-+CONFIG_HZ=200
-+CONFIG_AEABI=y
-+CONFIG_OABI_COMPAT=y
-+CONFIG_ARCH_FLATMEM_HAS_HOLES=y
-+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-+CONFIG_SELECT_MEMORY_MODEL=y
-+CONFIG_FLATMEM_MANUAL=y
-+# CONFIG_DISCONTIGMEM_MANUAL is not set
-+# CONFIG_SPARSEMEM_MANUAL is not set
-+CONFIG_FLATMEM=y
-+CONFIG_FLAT_NODE_MEM_MAP=y
-+CONFIG_PAGEFLAGS_EXTENDED=y
-+CONFIG_SPLIT_PTLOCK_CPUS=4096
-+# CONFIG_RESOURCES_64BIT is not set
-+# CONFIG_PHYS_ADDR_T_64BIT is not set
-+CONFIG_ZONE_DMA_FLAG=0
-+CONFIG_VIRT_TO_BUS=y
-+CONFIG_UNEVICTABLE_LRU=y
-+CONFIG_ALIGNMENT_TRAP=y
-+
-+#
-+# Boot options
-+#
-+CONFIG_ZBOOT_ROM_TEXT=0x0
-+CONFIG_ZBOOT_ROM_BSS=0x0
-+CONFIG_CMDLINE="unused -- bootloader passes ATAG list"
-+# CONFIG_XIP_KERNEL is not set
-+CONFIG_KEXEC=y
-+CONFIG_ATAGS_PROC=y
-+
-+#
-+# CPU Power Management
-+#
-+CONFIG_CPU_IDLE=y
-+CONFIG_CPU_IDLE_GOV_LADDER=y
-+
-+#
-+# Floating point emulation
-+#
-+
-+#
-+# At least one emulation must be selected
-+#
-+CONFIG_FPE_NWFPE=y
-+# CONFIG_FPE_NWFPE_XP is not set
-+# CONFIG_FPE_FASTFPE is not set
-+
-+#
-+# Userspace binary formats
-+#
-+CONFIG_BINFMT_ELF=y
-+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-+CONFIG_HAVE_AOUT=y
-+# CONFIG_BINFMT_AOUT is not set
-+# CONFIG_BINFMT_MISC is not set
-+
-+#
-+# Power management options
-+#
-+CONFIG_PM=y
-+# CONFIG_PM_DEBUG is not set
-+CONFIG_PM_SLEEP=y
-+CONFIG_SUSPEND=y
-+CONFIG_SUSPEND_FREEZER=y
-+CONFIG_APM_EMULATION=y
-+CONFIG_ARCH_SUSPEND_POSSIBLE=y
-+CONFIG_NET=y
-+
-+#
-+# Networking options
-+#
-+CONFIG_PACKET=y
-+CONFIG_PACKET_MMAP=y
-+CONFIG_UNIX=y
-+CONFIG_XFRM=y
-+# CONFIG_XFRM_USER is not set
-+# CONFIG_XFRM_SUB_POLICY is not set
-+CONFIG_XFRM_MIGRATE=y
-+# CONFIG_XFRM_STATISTICS is not set
-+CONFIG_XFRM_IPCOMP=m
-+CONFIG_NET_KEY=m
-+CONFIG_NET_KEY_MIGRATE=y
-+CONFIG_INET=y
-+CONFIG_IP_MULTICAST=y
-+CONFIG_IP_ADVANCED_ROUTER=y
-+CONFIG_ASK_IP_FIB_HASH=y
-+# CONFIG_IP_FIB_TRIE is not set
-+CONFIG_IP_FIB_HASH=y
-+CONFIG_IP_MULTIPLE_TABLES=y
-+# CONFIG_IP_ROUTE_MULTIPATH is not set
-+# CONFIG_IP_ROUTE_VERBOSE is not set
-+CONFIG_IP_PNP=y
-+# CONFIG_IP_PNP_DHCP is not set
-+# CONFIG_IP_PNP_BOOTP is not set
-+# CONFIG_IP_PNP_RARP is not set
-+CONFIG_NET_IPIP=m
-+CONFIG_NET_IPGRE=m
-+# CONFIG_NET_IPGRE_BROADCAST is not set
-+# CONFIG_IP_MROUTE is not set
-+# CONFIG_ARPD is not set
-+CONFIG_SYN_COOKIES=y
-+CONFIG_INET_AH=m
-+CONFIG_INET_ESP=m
-+CONFIG_INET_IPCOMP=m
-+CONFIG_INET_XFRM_TUNNEL=m
-+CONFIG_INET_TUNNEL=m
-+CONFIG_INET_XFRM_MODE_TRANSPORT=m
-+CONFIG_INET_XFRM_MODE_TUNNEL=m
-+CONFIG_INET_XFRM_MODE_BEET=m
-+# CONFIG_INET_LRO is not set
-+CONFIG_INET_DIAG=y
-+CONFIG_INET_TCP_DIAG=y
-+# CONFIG_TCP_CONG_ADVANCED is not set
-+CONFIG_TCP_CONG_CUBIC=y
-+CONFIG_DEFAULT_TCP_CONG="cubic"
-+CONFIG_TCP_MD5SIG=y
-+CONFIG_IPV6=m
-+# CONFIG_IPV6_PRIVACY is not set
-+# CONFIG_IPV6_ROUTER_PREF is not set
-+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
-+CONFIG_INET6_AH=m
-+CONFIG_INET6_ESP=m
-+CONFIG_INET6_IPCOMP=m
-+# CONFIG_IPV6_MIP6 is not set
-+CONFIG_INET6_XFRM_TUNNEL=m
-+CONFIG_INET6_TUNNEL=m
-+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-+CONFIG_INET6_XFRM_MODE_TUNNEL=m
-+CONFIG_INET6_XFRM_MODE_BEET=m
-+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
-+CONFIG_IPV6_SIT=m
-+CONFIG_IPV6_NDISC_NODETYPE=y
-+CONFIG_IPV6_TUNNEL=m
-+# CONFIG_IPV6_MULTIPLE_TABLES is not set
-+# CONFIG_IPV6_MROUTE is not set
-+# CONFIG_NETWORK_SECMARK is not set
-+CONFIG_NETFILTER=y
-+# CONFIG_NETFILTER_DEBUG is not set
-+CONFIG_NETFILTER_ADVANCED=y
-+CONFIG_BRIDGE_NETFILTER=y
-+
-+#
-+# Core Netfilter Configuration
-+#
-+CONFIG_NETFILTER_NETLINK=m
-+CONFIG_NETFILTER_NETLINK_QUEUE=m
-+CONFIG_NETFILTER_NETLINK_LOG=m
-+CONFIG_NF_CONNTRACK=m
-+CONFIG_NF_CT_ACCT=y
-+CONFIG_NF_CONNTRACK_MARK=y
-+# CONFIG_NF_CONNTRACK_EVENTS is not set
-+# CONFIG_NF_CT_PROTO_DCCP is not set
-+CONFIG_NF_CT_PROTO_GRE=m
-+CONFIG_NF_CT_PROTO_SCTP=m
-+# CONFIG_NF_CT_PROTO_UDPLITE is not set
-+# CONFIG_NF_CONNTRACK_AMANDA is not set
-+CONFIG_NF_CONNTRACK_FTP=m
-+CONFIG_NF_CONNTRACK_H323=m
-+CONFIG_NF_CONNTRACK_IRC=m
-+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
-+CONFIG_NF_CONNTRACK_PPTP=m
-+CONFIG_NF_CONNTRACK_SANE=m
-+CONFIG_NF_CONNTRACK_SIP=m
-+CONFIG_NF_CONNTRACK_TFTP=m
-+CONFIG_NF_CT_NETLINK=m
-+# CONFIG_NETFILTER_TPROXY is not set
-+CONFIG_NETFILTER_XTABLES=m
-+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-+CONFIG_NETFILTER_XT_TARGET_DSCP=m
-+CONFIG_NETFILTER_XT_TARGET_MARK=m
-+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-+# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
-+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-+# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
-+# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
-+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-+# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
-+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-+CONFIG_NETFILTER_XT_MATCH_DCCP=m
-+CONFIG_NETFILTER_XT_MATCH_DSCP=m
-+CONFIG_NETFILTER_XT_MATCH_ESP=m
-+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-+CONFIG_NETFILTER_XT_MATCH_HELPER=m
-+# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
-+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-+CONFIG_NETFILTER_XT_MATCH_MAC=m
-+CONFIG_NETFILTER_XT_MATCH_MARK=m
-+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-+# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
-+CONFIG_NETFILTER_XT_MATCH_POLICY=m
-+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
-+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-+# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
-+CONFIG_NETFILTER_XT_MATCH_REALM=m
-+# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
-+CONFIG_NETFILTER_XT_MATCH_SCTP=m
-+CONFIG_NETFILTER_XT_MATCH_STATE=m
-+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-+CONFIG_NETFILTER_XT_MATCH_STRING=m
-+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-+# CONFIG_NETFILTER_XT_MATCH_TIME is not set
-+# CONFIG_NETFILTER_XT_MATCH_U32 is not set
-+# CONFIG_IP_VS is not set
-+
-+#
-+# IP: Netfilter Configuration
-+#
-+CONFIG_NF_DEFRAG_IPV4=m
-+CONFIG_NF_CONNTRACK_IPV4=m
-+# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
-+# CONFIG_IP_NF_QUEUE is not set
-+CONFIG_IP_NF_IPTABLES=m
-+CONFIG_IP_NF_MATCH_ADDRTYPE=m
-+CONFIG_IP_NF_MATCH_AH=m
-+CONFIG_IP_NF_MATCH_ECN=m
-+CONFIG_IP_NF_MATCH_TTL=m
-+CONFIG_IP_NF_FILTER=m
-+CONFIG_IP_NF_TARGET_REJECT=m
-+CONFIG_IP_NF_TARGET_LOG=m
-+CONFIG_IP_NF_TARGET_ULOG=m
-+CONFIG_NF_NAT=m
-+CONFIG_NF_NAT_NEEDED=y
-+CONFIG_IP_NF_TARGET_MASQUERADE=m
-+CONFIG_IP_NF_TARGET_NETMAP=m
-+CONFIG_IP_NF_TARGET_REDIRECT=m
-+CONFIG_NF_NAT_SNMP_BASIC=m
-+CONFIG_NF_NAT_PROTO_GRE=m
-+CONFIG_NF_NAT_PROTO_SCTP=m
-+CONFIG_NF_NAT_FTP=m
-+CONFIG_NF_NAT_IRC=m
-+CONFIG_NF_NAT_TFTP=m
-+# CONFIG_NF_NAT_AMANDA is not set
-+CONFIG_NF_NAT_PPTP=m
-+CONFIG_NF_NAT_H323=m
-+CONFIG_NF_NAT_SIP=m
-+CONFIG_IP_NF_MANGLE=m
-+CONFIG_IP_NF_TARGET_CLUSTERIP=m
-+CONFIG_IP_NF_TARGET_ECN=m
-+CONFIG_IP_NF_TARGET_TTL=m
-+# CONFIG_IP_NF_RAW is not set
-+# CONFIG_IP_NF_ARPTABLES is not set
-+
-+#
-+# IPv6: Netfilter Configuration
-+#
-+CONFIG_NF_CONNTRACK_IPV6=m
-+# CONFIG_IP6_NF_QUEUE is not set
-+CONFIG_IP6_NF_IPTABLES=m
-+CONFIG_IP6_NF_MATCH_AH=m
-+CONFIG_IP6_NF_MATCH_EUI64=m
-+CONFIG_IP6_NF_MATCH_FRAG=m
-+CONFIG_IP6_NF_MATCH_OPTS=m
-+CONFIG_IP6_NF_MATCH_HL=m
-+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-+CONFIG_IP6_NF_MATCH_MH=m
-+CONFIG_IP6_NF_MATCH_RT=m
-+CONFIG_IP6_NF_TARGET_LOG=m
-+CONFIG_IP6_NF_FILTER=m
-+CONFIG_IP6_NF_TARGET_REJECT=m
-+CONFIG_IP6_NF_MANGLE=m
-+CONFIG_IP6_NF_TARGET_HL=m
-+# CONFIG_IP6_NF_RAW is not set
-+CONFIG_BRIDGE_NF_EBTABLES=m
-+CONFIG_BRIDGE_EBT_BROUTE=m
-+CONFIG_BRIDGE_EBT_T_FILTER=m
-+CONFIG_BRIDGE_EBT_T_NAT=m
-+CONFIG_BRIDGE_EBT_802_3=m
-+CONFIG_BRIDGE_EBT_AMONG=m
-+CONFIG_BRIDGE_EBT_ARP=m
-+CONFIG_BRIDGE_EBT_IP=m
-+# CONFIG_BRIDGE_EBT_IP6 is not set
-+CONFIG_BRIDGE_EBT_LIMIT=m
-+CONFIG_BRIDGE_EBT_MARK=m
-+CONFIG_BRIDGE_EBT_PKTTYPE=m
-+CONFIG_BRIDGE_EBT_STP=m
-+CONFIG_BRIDGE_EBT_VLAN=m
-+CONFIG_BRIDGE_EBT_ARPREPLY=m
-+CONFIG_BRIDGE_EBT_DNAT=m
-+CONFIG_BRIDGE_EBT_MARK_T=m
-+CONFIG_BRIDGE_EBT_REDIRECT=m
-+CONFIG_BRIDGE_EBT_SNAT=m
-+CONFIG_BRIDGE_EBT_LOG=m
-+CONFIG_BRIDGE_EBT_ULOG=m
-+# CONFIG_BRIDGE_EBT_NFLOG is not set
-+# CONFIG_IP_DCCP is not set
-+# CONFIG_IP_SCTP is not set
-+# CONFIG_TIPC is not set
-+# CONFIG_ATM is not set
-+CONFIG_STP=y
-+CONFIG_BRIDGE=y
-+# CONFIG_NET_DSA is not set
-+# CONFIG_VLAN_8021Q is not set
-+# CONFIG_DECNET is not set
-+CONFIG_LLC=y
-+# CONFIG_LLC2 is not set
-+# CONFIG_IPX is not set
-+# CONFIG_ATALK is not set
-+# CONFIG_X25 is not set
-+# CONFIG_LAPB is not set
-+# CONFIG_ECONET is not set
-+# CONFIG_WAN_ROUTER is not set
-+CONFIG_NET_SCHED=y
-+
-+#
-+# Queueing/Scheduling
-+#
-+CONFIG_NET_SCH_CBQ=m
-+CONFIG_NET_SCH_HTB=m
-+CONFIG_NET_SCH_HFSC=m
-+CONFIG_NET_SCH_PRIO=m
-+# CONFIG_NET_SCH_MULTIQ is not set
-+CONFIG_NET_SCH_RED=m
-+CONFIG_NET_SCH_SFQ=m
-+CONFIG_NET_SCH_TEQL=m
-+CONFIG_NET_SCH_TBF=m
-+CONFIG_NET_SCH_GRED=m
-+CONFIG_NET_SCH_DSMARK=m
-+CONFIG_NET_SCH_NETEM=m
-+
-+#
-+# Classification
-+#
-+CONFIG_NET_CLS=y
-+CONFIG_NET_CLS_BASIC=m
-+CONFIG_NET_CLS_TCINDEX=m
-+CONFIG_NET_CLS_ROUTE4=m
-+CONFIG_NET_CLS_ROUTE=y
-+CONFIG_NET_CLS_FW=m
-+CONFIG_NET_CLS_U32=m
-+CONFIG_CLS_U32_PERF=y
-+CONFIG_CLS_U32_MARK=y
-+CONFIG_NET_CLS_RSVP=m
-+CONFIG_NET_CLS_RSVP6=m
-+# CONFIG_NET_CLS_FLOW is not set
-+# CONFIG_NET_EMATCH is not set
-+# CONFIG_NET_CLS_ACT is not set
-+# CONFIG_NET_CLS_IND is not set
-+CONFIG_NET_SCH_FIFO=y
-+
-+#
-+# Network testing
-+#
-+# CONFIG_NET_PKTGEN is not set
-+# CONFIG_HAMRADIO is not set
-+# CONFIG_CAN is not set
-+# CONFIG_IRDA is not set
-+CONFIG_BT=m
-+CONFIG_BT_L2CAP=m
-+CONFIG_BT_SCO=m
-+CONFIG_BT_RFCOMM=m
-+CONFIG_BT_RFCOMM_TTY=y
-+CONFIG_BT_BNEP=m
-+CONFIG_BT_BNEP_MC_FILTER=y
-+CONFIG_BT_BNEP_PROTO_FILTER=y
-+CONFIG_BT_HIDP=m
-+
-+#
-+# Bluetooth device drivers
-+#
-+CONFIG_BT_HCIBTUSB=m
-+# CONFIG_BT_HCIBTSDIO is not set
-+# CONFIG_BT_HCIUART is not set
-+# CONFIG_BT_HCIBCM203X is not set
-+# CONFIG_BT_HCIBPA10X is not set
-+# CONFIG_BT_HCIBFUSB is not set
-+# CONFIG_BT_HCIVHCI is not set
-+# CONFIG_AF_RXRPC is not set
-+# CONFIG_PHONET is not set
-+CONFIG_FIB_RULES=y
-+CONFIG_WIRELESS=y
-+# CONFIG_CFG80211 is not set
-+# CONFIG_WIRELESS_OLD_REGULATORY is not set
-+CONFIG_WIRELESS_EXT=y
-+CONFIG_WIRELESS_EXT_SYSFS=y
-+# CONFIG_MAC80211 is not set
-+# CONFIG_IEEE80211 is not set
-+CONFIG_RFKILL=y
-+CONFIG_RFKILL_INPUT=y
-+CONFIG_RFKILL_LEDS=y
-+# CONFIG_NET_9P is not set
-+
-+#
-+# Device Drivers
-+#
-+
-+#
-+# Generic Driver Options
-+#
-+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-+CONFIG_STANDALONE=y
-+CONFIG_PREVENT_FIRMWARE_BUILD=y
-+CONFIG_FW_LOADER=y
-+# CONFIG_FIRMWARE_IN_KERNEL is not set
-+CONFIG_EXTRA_FIRMWARE=""
-+# CONFIG_DEBUG_DRIVER is not set
-+# CONFIG_DEBUG_DEVRES is not set
-+# CONFIG_SYS_HYPERVISOR is not set
-+CONFIG_CONNECTOR=m
-+CONFIG_MTD=y
-+# CONFIG_MTD_DEBUG is not set
-+CONFIG_MTD_CONCAT=y
-+CONFIG_MTD_PARTITIONS=y
-+# CONFIG_MTD_REDBOOT_PARTS is not set
-+CONFIG_MTD_CMDLINE_PARTS=y
-+# CONFIG_MTD_AFS_PARTS is not set
-+# CONFIG_MTD_AR7_PARTS is not set
-+
-+#
-+# User Modules And Translation Layers
-+#
-+CONFIG_MTD_CHAR=y
-+CONFIG_MTD_BLKDEVS=y
-+CONFIG_MTD_BLOCK=y
-+# CONFIG_FTL is not set
-+# CONFIG_NFTL is not set
-+# CONFIG_INFTL is not set
-+# CONFIG_RFD_FTL is not set
-+# CONFIG_SSFDC is not set
-+# CONFIG_MTD_OOPS is not set
-+
-+#
-+# RAM/ROM/Flash chip drivers
-+#
-+CONFIG_MTD_CFI=y
-+# CONFIG_MTD_JEDECPROBE is not set
-+CONFIG_MTD_GEN_PROBE=y
-+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
-+CONFIG_MTD_MAP_BANK_WIDTH_1=y
-+CONFIG_MTD_MAP_BANK_WIDTH_2=y
-+CONFIG_MTD_MAP_BANK_WIDTH_4=y
-+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-+CONFIG_MTD_CFI_I1=y
-+CONFIG_MTD_CFI_I2=y
-+# CONFIG_MTD_CFI_I4 is not set
-+# CONFIG_MTD_CFI_I8 is not set
-+CONFIG_MTD_CFI_INTELEXT=y
-+# CONFIG_MTD_CFI_AMDSTD is not set
-+# CONFIG_MTD_CFI_STAA is not set
-+CONFIG_MTD_CFI_UTIL=y
-+# CONFIG_MTD_RAM is not set
-+CONFIG_MTD_ROM=y
-+CONFIG_MTD_ABSENT=y
-+
-+#
-+# Mapping drivers for chip access
-+#
-+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-+CONFIG_MTD_PHYSMAP=y
-+CONFIG_MTD_PHYSMAP_START=0x0
-+CONFIG_MTD_PHYSMAP_LEN=0
-+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
-+# CONFIG_MTD_ARM_INTEGRATOR is not set
-+# CONFIG_MTD_PLATRAM is not set
-+
-+#
-+# Self-contained MTD device drivers
-+#
-+# CONFIG_MTD_DATAFLASH is not set
-+# CONFIG_MTD_M25P80 is not set
-+# CONFIG_MTD_SLRAM is not set
-+# CONFIG_MTD_PHRAM is not set
-+# CONFIG_MTD_MTDRAM is not set
-+# CONFIG_MTD_BLOCK2MTD is not set
-+
-+#
-+# Disk-On-Chip Device Drivers
-+#
-+# CONFIG_MTD_DOC2000 is not set
-+# CONFIG_MTD_DOC2001 is not set
-+# CONFIG_MTD_DOC2001PLUS is not set
-+CONFIG_MTD_NAND=y
-+CONFIG_MTD_NAND_VERIFY_WRITE=y
-+# CONFIG_MTD_NAND_ECC_SMC is not set
-+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-+# CONFIG_MTD_NAND_GPIO is not set
-+CONFIG_MTD_NAND_IDS=y
-+CONFIG_MTD_NAND_S3C2410=y
-+CONFIG_MTD_NAND_S3C2410_DEBUG=y
-+CONFIG_MTD_NAND_S3C2410_HWECC=y
-+# CONFIG_MTD_NAND_S3C2410_CLKSTOP is not set
-+# CONFIG_MTD_NAND_DISKONCHIP is not set
-+# CONFIG_MTD_NAND_NANDSIM is not set
-+# CONFIG_MTD_NAND_PLATFORM is not set
-+# CONFIG_MTD_ALAUDA is not set
-+# CONFIG_MTD_ONENAND is not set
-+
-+#
-+# UBI - Unsorted block images
-+#
-+# CONFIG_MTD_UBI is not set
-+# CONFIG_PARPORT is not set
-+CONFIG_BLK_DEV=y
-+# CONFIG_BLK_DEV_COW_COMMON is not set
-+CONFIG_BLK_DEV_LOOP=m
-+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-+# CONFIG_BLK_DEV_NBD is not set
-+CONFIG_BLK_DEV_UB=m
-+CONFIG_BLK_DEV_RAM=y
-+CONFIG_BLK_DEV_RAM_COUNT=16
-+CONFIG_BLK_DEV_RAM_SIZE=4096
-+# CONFIG_BLK_DEV_XIP is not set
-+# CONFIG_CDROM_PKTCDVD is not set
-+# CONFIG_ATA_OVER_ETH is not set
-+CONFIG_MISC_DEVICES=y
-+# CONFIG_EEPROM_93CX6 is not set
-+CONFIG_LOW_MEMORY_KILLER=y
-+# CONFIG_ENCLOSURE_SERVICES is not set
-+CONFIG_HAVE_IDE=y
-+# CONFIG_IDE is not set
-+
-+#
-+# SCSI device support
-+#
-+# CONFIG_RAID_ATTRS is not set
-+CONFIG_SCSI=m
-+CONFIG_SCSI_DMA=y
-+# CONFIG_SCSI_TGT is not set
-+# CONFIG_SCSI_NETLINK is not set
-+CONFIG_SCSI_PROC_FS=y
-+
-+#
-+# SCSI support type (disk, tape, CD-ROM)
-+#
-+CONFIG_BLK_DEV_SD=m
-+# CONFIG_CHR_DEV_ST is not set
-+# CONFIG_CHR_DEV_OSST is not set
-+CONFIG_BLK_DEV_SR=m
-+# CONFIG_BLK_DEV_SR_VENDOR is not set
-+CONFIG_CHR_DEV_SG=m
-+# CONFIG_CHR_DEV_SCH is not set
-+
-+#
-+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-+#
-+CONFIG_SCSI_MULTI_LUN=y
-+# CONFIG_SCSI_CONSTANTS is not set
-+# CONFIG_SCSI_LOGGING is not set
-+CONFIG_SCSI_SCAN_ASYNC=y
-+CONFIG_SCSI_WAIT_SCAN=m
-+
-+#
-+# SCSI Transports
-+#
-+# CONFIG_SCSI_SPI_ATTRS is not set
-+# CONFIG_SCSI_FC_ATTRS is not set
-+# CONFIG_SCSI_ISCSI_ATTRS is not set
-+# CONFIG_SCSI_SAS_LIBSAS is not set
-+# CONFIG_SCSI_SRP_ATTRS is not set
-+CONFIG_SCSI_LOWLEVEL=y
-+# CONFIG_ISCSI_TCP is not set
-+# CONFIG_SCSI_DEBUG is not set
-+# CONFIG_SCSI_DH is not set
-+# CONFIG_ATA is not set
-+CONFIG_MD=y
-+# CONFIG_BLK_DEV_MD is not set
-+CONFIG_BLK_DEV_DM=m
-+# CONFIG_DM_DEBUG is not set
-+CONFIG_DM_CRYPT=m
-+CONFIG_DM_SNAPSHOT=m
-+# CONFIG_DM_MIRROR is not set
-+# CONFIG_DM_ZERO is not set
-+# CONFIG_DM_MULTIPATH is not set
-+# CONFIG_DM_DELAY is not set
-+# CONFIG_DM_UEVENT is not set
-+CONFIG_NETDEVICES=y
-+# CONFIG_DUMMY is not set
-+# CONFIG_BONDING is not set
-+# CONFIG_MACVLAN is not set
-+# CONFIG_EQUALIZER is not set
-+CONFIG_TUN=m
-+# CONFIG_VETH is not set
-+# CONFIG_PHYLIB is not set
-+CONFIG_NET_ETHERNET=y
-+CONFIG_MII=y
-+# CONFIG_AX88796 is not set
-+# CONFIG_SMC91X is not set
-+# CONFIG_DM9000 is not set
-+# CONFIG_ENC28J60 is not set
-+# CONFIG_SMC911X is not set
-+# CONFIG_IBM_NEW_EMAC_ZMII is not set
-+# CONFIG_IBM_NEW_EMAC_RGMII is not set
-+# CONFIG_IBM_NEW_EMAC_TAH is not set
-+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
-+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
-+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
-+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
-+# CONFIG_B44 is not set
-+# CONFIG_NETDEV_1000 is not set
-+# CONFIG_NETDEV_10000 is not set
-+
-+#
-+# Wireless LAN
-+#
-+# CONFIG_WLAN_PRE80211 is not set
-+# CONFIG_WLAN_80211 is not set
-+# CONFIG_IWLWIFI_LEDS is not set
-+
-+#
-+# USB Network Adapters
-+#
-+CONFIG_USB_CATC=m
-+CONFIG_USB_KAWETH=m
-+CONFIG_USB_PEGASUS=m
-+CONFIG_USB_RTL8150=m
-+CONFIG_USB_USBNET=y
-+CONFIG_USB_NET_AX8817X=m
-+CONFIG_USB_NET_CDCETHER=m
-+CONFIG_USB_NET_DM9601=m
-+# CONFIG_USB_NET_SMSC95XX is not set
-+CONFIG_USB_NET_GL620A=m
-+CONFIG_USB_NET_NET1080=m
-+CONFIG_USB_NET_PLUSB=m
-+CONFIG_USB_NET_MCS7830=m
-+CONFIG_USB_NET_RNDIS_HOST=m
-+CONFIG_USB_NET_CDC_SUBSET=m
-+CONFIG_USB_ALI_M5632=y
-+CONFIG_USB_AN2720=y
-+CONFIG_USB_BELKIN=y
-+CONFIG_USB_ARMLINUX=y
-+CONFIG_USB_EPSON2888=y
-+CONFIG_USB_KC2190=y
-+CONFIG_USB_NET_ZAURUS=m
-+# CONFIG_USB_HSO is not set
-+# CONFIG_WAN is not set
-+CONFIG_PPP=m
-+CONFIG_PPP_MULTILINK=y
-+CONFIG_PPP_FILTER=y
-+CONFIG_PPP_ASYNC=m
-+CONFIG_PPP_SYNC_TTY=m
-+CONFIG_PPP_DEFLATE=m
-+CONFIG_PPP_BSDCOMP=m
-+CONFIG_PPP_MPPE=m
-+# CONFIG_PPPOE is not set
-+# CONFIG_PPPOL2TP is not set
-+# CONFIG_SLIP is not set
-+CONFIG_SLHC=m
-+# CONFIG_NETCONSOLE is not set
-+# CONFIG_NETPOLL is not set
-+# CONFIG_NET_POLL_CONTROLLER is not set
-+# CONFIG_ISDN is not set
-+
-+#
-+# Input device support
-+#
-+CONFIG_INPUT=y
-+# CONFIG_INPUT_FF_MEMLESS is not set
-+# CONFIG_INPUT_POLLDEV is not set
-+
-+#
-+# Userland interfaces
-+#
-+CONFIG_INPUT_MOUSEDEV=y
-+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-+CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
-+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
-+# CONFIG_INPUT_JOYDEV is not set
-+CONFIG_INPUT_EVDEV=y
-+# CONFIG_INPUT_EVBUG is not set
-+
-+#
-+# Input Device Drivers
-+#
-+CONFIG_INPUT_KEYBOARD=y
-+# CONFIG_KEYBOARD_ATKBD is not set
-+# CONFIG_KEYBOARD_SUNKBD is not set
-+# CONFIG_KEYBOARD_LKKBD is not set
-+# CONFIG_KEYBOARD_XTKBD is not set
-+# CONFIG_KEYBOARD_NEWTON is not set
-+CONFIG_KEYBOARD_STOWAWAY=m
-+CONFIG_KEYBOARD_GPIO=m
-+CONFIG_KEYBOARD_NEO1973=y
-+CONFIG_KEYBOARD_QT2410=y
-+CONFIG_INPUT_MOUSE=y
-+# CONFIG_MOUSE_PS2 is not set
-+# CONFIG_MOUSE_SERIAL is not set
-+# CONFIG_MOUSE_APPLETOUCH is not set
-+# CONFIG_MOUSE_BCM5974 is not set
-+# CONFIG_MOUSE_VSXXXAA is not set
-+# CONFIG_MOUSE_GPIO is not set
-+# CONFIG_INPUT_JOYSTICK is not set
-+# CONFIG_INPUT_TABLET is not set
-+CONFIG_INPUT_TOUCHSCREEN=y
-+CONFIG_TOUCHSCREEN_FILTER=y
-+CONFIG_TOUCHSCREEN_FILTER_GROUP=y
-+CONFIG_TOUCHSCREEN_FILTER_MEDIAN=y
-+CONFIG_TOUCHSCREEN_FILTER_MEAN=y
-+CONFIG_TOUCHSCREEN_FILTER_LINEAR=y
-+# CONFIG_TOUCHSCREEN_ADS7846 is not set
-+# CONFIG_TOUCHSCREEN_FUJITSU is not set
-+CONFIG_TOUCHSCREEN_S3C2410=y
-+# CONFIG_TOUCHSCREEN_S3C2410_DEBUG is not set
-+# CONFIG_TOUCHSCREEN_GUNZE is not set
-+# CONFIG_TOUCHSCREEN_ELO is not set
-+# CONFIG_TOUCHSCREEN_MTOUCH is not set
-+# CONFIG_TOUCHSCREEN_INEXIO is not set
-+# CONFIG_TOUCHSCREEN_MK712 is not set
-+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-+# CONFIG_TOUCHSCREEN_PCAP7200 is not set
-+CONFIG_INPUT_MISC=y
-+# CONFIG_INPUT_ATI_REMOTE is not set
-+# CONFIG_INPUT_ATI_REMOTE2 is not set
-+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
-+# CONFIG_INPUT_POWERMATE is not set
-+# CONFIG_INPUT_YEALINK is not set
-+# CONFIG_INPUT_CM109 is not set
-+CONFIG_INPUT_UINPUT=m
-+CONFIG_INPUT_LIS302DL=y
-+CONFIG_INPUT_PCF50633_PMU=y
-+
-+#
-+# Hardware I/O ports
-+#
-+CONFIG_SERIO=y
-+# CONFIG_SERIO_SERPORT is not set
-+# CONFIG_SERIO_RAW is not set
-+# CONFIG_GAMEPORT is not set
-+
-+#
-+# Character devices
-+#
-+CONFIG_VT=y
-+CONFIG_CONSOLE_TRANSLATIONS=y
-+CONFIG_VT_CONSOLE=y
-+CONFIG_NR_TTY_DEVICES=6
-+CONFIG_HW_CONSOLE=y
-+CONFIG_VT_HW_CONSOLE_BINDING=y
-+# CONFIG_DEVKMEM is not set
-+# CONFIG_SERIAL_NONSTANDARD is not set
-+
-+#
-+# Serial drivers
-+#
-+# CONFIG_SERIAL_8250 is not set
-+
-+#
-+# Non-8250 serial port support
-+#
-+CONFIG_SERIAL_SAMSUNG=y
-+CONFIG_SERIAL_SAMSUNG_UARTS=3
-+CONFIG_SERIAL_SAMSUNG_CONSOLE=y
-+CONFIG_SERIAL_S3C2410=y
-+CONFIG_SERIAL_S3C2440=y
-+CONFIG_SERIAL_CORE=y
-+CONFIG_SERIAL_CORE_CONSOLE=y
-+CONFIG_UNIX98_PTYS=y
-+# CONFIG_LEGACY_PTYS is not set
-+# CONFIG_IPMI_HANDLER is not set
-+# CONFIG_HW_RANDOM is not set
-+# CONFIG_NVRAM is not set
-+# CONFIG_R3964 is not set
-+# CONFIG_RAW_DRIVER is not set
-+# CONFIG_TCG_TPM is not set
-+CONFIG_I2C=y
-+CONFIG_I2C_BOARDINFO=y
-+CONFIG_I2C_CHARDEV=y
-+CONFIG_I2C_HELPER_AUTO=y
-+
-+#
-+# I2C Hardware Bus support
-+#
-+
-+#
-+# I2C system bus drivers (mostly embedded / system-on-chip)
-+#
-+# CONFIG_I2C_GPIO is not set
-+# CONFIG_I2C_OCORES is not set
-+CONFIG_I2C_S3C2410=y
-+# CONFIG_I2C_SIMTEC is not set
-+
-+#
-+# External I2C/SMBus adapter drivers
-+#
-+# CONFIG_I2C_PARPORT_LIGHT is not set
-+# CONFIG_I2C_TAOS_EVM is not set
-+# CONFIG_I2C_TINY_USB is not set
-+
-+#
-+# Other I2C/SMBus bus drivers
-+#
-+# CONFIG_I2C_PCA_PLATFORM is not set
-+# CONFIG_I2C_STUB is not set
-+
-+#
-+# Miscellaneous I2C Chip support
-+#
-+# CONFIG_DS1682 is not set
-+# CONFIG_AT24 is not set
-+# CONFIG_SENSORS_EEPROM is not set
-+# CONFIG_SENSORS_PCF50606 is not set
-+# CONFIG_SENSORS_PCF50633 is not set
-+# CONFIG_SENSORS_PCF8574 is not set
-+# CONFIG_PCF8575 is not set
-+# CONFIG_SENSORS_PCA9539 is not set
-+# CONFIG_SENSORS_PCF8591 is not set
-+# CONFIG_TPS65010 is not set
-+# CONFIG_SENSORS_MAX6875 is not set
-+# CONFIG_SENSORS_TSL2550 is not set
-+# CONFIG_SENSORS_TSL256X is not set
-+CONFIG_PCA9632=y
-+# CONFIG_I2C_DEBUG_CORE is not set
-+# CONFIG_I2C_DEBUG_ALGO is not set
-+# CONFIG_I2C_DEBUG_BUS is not set
-+# CONFIG_I2C_DEBUG_CHIP is not set
-+CONFIG_SPI=y
-+# CONFIG_SPI_DEBUG is not set
-+CONFIG_SPI_MASTER=y
-+
-+#
-+# SPI Master Controller Drivers
-+#
-+CONFIG_SPI_BITBANG=y
-+# CONFIG_SPI_S3C24XX is not set
-+CONFIG_SPI_S3C24XX_GPIO=y
-+
-+#
-+# SPI Protocol Masters
-+#
-+# CONFIG_SPI_AT25 is not set
-+# CONFIG_SPI_SPIDEV is not set
-+# CONFIG_SPI_TLE62X0 is not set
-+CONFIG_ARCH_REQUIRE_GPIOLIB=y
-+CONFIG_GPIOLIB=y
-+CONFIG_DEBUG_GPIO=y
-+CONFIG_GPIO_SYSFS=y
-+
-+#
-+# I2C GPIO expanders:
-+#
-+# CONFIG_GPIO_MAX732X is not set
-+# CONFIG_GPIO_PCA953X is not set
-+# CONFIG_GPIO_PCF857X is not set
-+
-+#
-+# PCI GPIO expanders:
-+#
-+
-+#
-+# SPI GPIO expanders:
-+#
-+# CONFIG_GPIO_MAX7301 is not set
-+# CONFIG_GPIO_MCP23S08 is not set
-+# CONFIG_W1 is not set
-+CONFIG_POWER_SUPPLY=y
-+CONFIG_POWER_SUPPLY_DEBUG=y
-+CONFIG_PDA_POWER=y
-+CONFIG_APM_POWER=y
-+# CONFIG_BATTERY_DS2760 is not set
-+# CONFIG_BATTERY_BQ27x00 is not set
-+CONFIG_BATTERY_BQ27000_HDQ=y
-+CONFIG_GTA02_HDQ=y
-+CONFIG_CHARGER_PCF50633=y
-+CONFIG_HWMON=y
-+# CONFIG_HWMON_VID is not set
-+# CONFIG_SENSORS_AD7414 is not set
-+# CONFIG_SENSORS_AD7418 is not set
-+# CONFIG_SENSORS_ADCXX is not set
-+# CONFIG_SENSORS_ADM1021 is not set
-+# CONFIG_SENSORS_ADM1025 is not set
-+# CONFIG_SENSORS_ADM1026 is not set
-+# CONFIG_SENSORS_ADM1029 is not set
-+# CONFIG_SENSORS_ADM1031 is not set
-+# CONFIG_SENSORS_ADM9240 is not set
-+# CONFIG_SENSORS_ADT7470 is not set
-+# CONFIG_SENSORS_ADT7473 is not set
-+# CONFIG_SENSORS_ATXP1 is not set
-+# CONFIG_SENSORS_DS1621 is not set
-+# CONFIG_SENSORS_F71805F is not set
-+# CONFIG_SENSORS_F71882FG is not set
-+# CONFIG_SENSORS_F75375S is not set
-+# CONFIG_SENSORS_GL518SM is not set
-+# CONFIG_SENSORS_GL520SM is not set
-+# CONFIG_SENSORS_IT87 is not set
-+# CONFIG_SENSORS_LM63 is not set
-+# CONFIG_SENSORS_LM70 is not set
-+# CONFIG_SENSORS_LM75 is not set
-+# CONFIG_SENSORS_LM77 is not set
-+# CONFIG_SENSORS_LM78 is not set
-+# CONFIG_SENSORS_LM80 is not set
-+# CONFIG_SENSORS_LM83 is not set
-+# CONFIG_SENSORS_LM85 is not set
-+# CONFIG_SENSORS_LM87 is not set
-+# CONFIG_SENSORS_LM90 is not set
-+# CONFIG_SENSORS_LM92 is not set
-+# CONFIG_SENSORS_LM93 is not set
-+# CONFIG_SENSORS_MAX1111 is not set
-+# CONFIG_SENSORS_MAX1619 is not set
-+# CONFIG_SENSORS_MAX6650 is not set
-+# CONFIG_SENSORS_PC87360 is not set
-+# CONFIG_SENSORS_PC87427 is not set
-+# CONFIG_SENSORS_DME1737 is not set
-+# CONFIG_SENSORS_SMSC47M1 is not set
-+# CONFIG_SENSORS_SMSC47M192 is not set
-+# CONFIG_SENSORS_SMSC47B397 is not set
-+# CONFIG_SENSORS_ADS7828 is not set
-+# CONFIG_SENSORS_THMC50 is not set
-+# CONFIG_SENSORS_VT1211 is not set
-+# CONFIG_SENSORS_W83781D is not set
-+# CONFIG_SENSORS_W83791D is not set
-+# CONFIG_SENSORS_W83792D is not set
-+# CONFIG_SENSORS_W83793 is not set
-+# CONFIG_SENSORS_W83L785TS is not set
-+# CONFIG_SENSORS_W83L786NG is not set
-+# CONFIG_SENSORS_W83627HF is not set
-+# CONFIG_SENSORS_W83627EHF is not set
-+# CONFIG_HWMON_DEBUG_CHIP is not set
-+# CONFIG_THERMAL is not set
-+# CONFIG_THERMAL_HWMON is not set
-+CONFIG_WATCHDOG=y
-+# CONFIG_WATCHDOG_NOWAYOUT is not set
-+
-+#
-+# Watchdog Device Drivers
-+#
-+# CONFIG_SOFT_WATCHDOG is not set
-+CONFIG_S3C2410_WATCHDOG=m
-+
-+#
-+# USB-based Watchdog Cards
-+#
-+# CONFIG_USBPCWATCHDOG is not set
-+
-+#
-+# Sonics Silicon Backplane
-+#
-+CONFIG_SSB_POSSIBLE=y
-+# CONFIG_SSB is not set
-+
-+#
-+# Multifunction device drivers
-+#
-+# CONFIG_MFD_CORE is not set
-+# CONFIG_MFD_SM501 is not set
-+# CONFIG_MFD_ASIC3 is not set
-+# CONFIG_HTC_EGPIO is not set
-+# CONFIG_HTC_PASIC3 is not set
-+# CONFIG_MFD_TMIO is not set
-+# CONFIG_MFD_T7L66XB is not set
-+# CONFIG_MFD_TC6387XB is not set
-+# CONFIG_MFD_TC6393XB is not set
-+# CONFIG_PMIC_DA903X is not set
-+# CONFIG_MFD_WM8400 is not set
-+# CONFIG_MFD_WM8350_I2C is not set
-+CONFIG_MFD_PCF50633=y
-+CONFIG_PCF50633_ADC=y
-+CONFIG_PCF50633_GPIO=y
-+# CONFIG_MFD_PCF50606 is not set
-+CONFIG_MFD_GLAMO=y
-+CONFIG_MFD_GLAMO_FB=y
-+CONFIG_MFD_GLAMO_SPI_GPIO=y
-+CONFIG_MFD_GLAMO_SPI_FB=y
-+CONFIG_MFD_GLAMO_MCI=y
-+
-+#
-+# Multimedia devices
-+#
-+
-+#
-+# Multimedia core support
-+#
-+# CONFIG_VIDEO_DEV is not set
-+# CONFIG_DVB_CORE is not set
-+# CONFIG_VIDEO_MEDIA is not set
-+
-+#
-+# Multimedia drivers
-+#
-+CONFIG_DAB=y
-+# CONFIG_USB_DABUSB is not set
-+
-+#
-+# Graphics support
-+#
-+# CONFIG_VGASTATE is not set
-+CONFIG_VIDEO_OUTPUT_CONTROL=y
-+CONFIG_FB=y
-+# CONFIG_FIRMWARE_EDID is not set
-+# CONFIG_FB_DDC is not set
-+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
-+CONFIG_FB_CFB_FILLRECT=y
-+CONFIG_FB_CFB_COPYAREA=y
-+CONFIG_FB_CFB_IMAGEBLIT=y
-+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-+# CONFIG_FB_SYS_FILLRECT is not set
-+# CONFIG_FB_SYS_COPYAREA is not set
-+# CONFIG_FB_SYS_IMAGEBLIT is not set
-+# CONFIG_FB_FOREIGN_ENDIAN is not set
-+# CONFIG_FB_SYS_FOPS is not set
-+# CONFIG_FB_SVGALIB is not set
-+# CONFIG_FB_MACMODES is not set
-+# CONFIG_FB_BACKLIGHT is not set
-+# CONFIG_FB_MODE_HELPERS is not set
-+# CONFIG_FB_TILEBLITTING is not set
-+
-+#
-+# Frame buffer hardware drivers
-+#
-+# CONFIG_FB_UVESA is not set
-+# CONFIG_FB_S1D13XXX is not set
-+CONFIG_FB_S3C2410=y
-+# CONFIG_FB_S3C2410_DEBUG is not set
-+# CONFIG_FB_VIRTUAL is not set
-+# CONFIG_FB_METRONOME is not set
-+# CONFIG_FB_MB862XX is not set
-+CONFIG_BACKLIGHT_LCD_SUPPORT=y
-+CONFIG_LCD_CLASS_DEVICE=y
-+CONFIG_LCD_LTV350QV=y
-+# CONFIG_LCD_ILI9320 is not set
-+# CONFIG_LCD_TDO24M is not set
-+# CONFIG_LCD_VGG2432A4 is not set
-+# CONFIG_LCD_PLATFORM is not set
-+CONFIG_BACKLIGHT_CLASS_DEVICE=y
-+CONFIG_BACKLIGHT_CORGI=y
-+# CONFIG_BACKLIGHT_PWM is not set
-+
-+#
-+# Display device support
-+#
-+CONFIG_DISPLAY_SUPPORT=y
-+
-+#
-+# Display hardware drivers
-+#
-+CONFIG_DISPLAY_JBT6K74=y
-+
-+#
-+# Console display driver support
-+#
-+# CONFIG_VGA_CONSOLE is not set
-+CONFIG_DUMMY_CONSOLE=y
-+CONFIG_FRAMEBUFFER_CONSOLE=y
-+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-+CONFIG_FONTS=y
-+# CONFIG_FONT_8x8 is not set
-+# CONFIG_FONT_8x16 is not set
-+CONFIG_FONT_6x11=y
-+# CONFIG_FONT_7x14 is not set
-+# CONFIG_FONT_PEARL_8x8 is not set
-+# CONFIG_FONT_ACORN_8x8 is not set
-+# CONFIG_FONT_MINI_4x6 is not set
-+# CONFIG_FONT_SUN8x16 is not set
-+# CONFIG_FONT_SUN12x22 is not set
-+# CONFIG_FONT_10x18 is not set
-+# CONFIG_LOGO is not set
-+CONFIG_SOUND=y
-+CONFIG_SOUND_OSS_CORE=y
-+CONFIG_SND=m
-+CONFIG_SND_TIMER=m
-+CONFIG_SND_PCM=m
-+CONFIG_SND_HWDEP=m
-+CONFIG_SND_RAWMIDI=m
-+# CONFIG_SND_SEQUENCER is not set
-+CONFIG_SND_OSSEMUL=y
-+CONFIG_SND_MIXER_OSS=m
-+CONFIG_SND_PCM_OSS=m
-+CONFIG_SND_PCM_OSS_PLUGINS=y
-+# CONFIG_SND_DYNAMIC_MINORS is not set
-+CONFIG_SND_SUPPORT_OLD_API=y
-+CONFIG_SND_VERBOSE_PROCFS=y
-+# CONFIG_SND_VERBOSE_PRINTK is not set
-+CONFIG_SND_DEBUG=y
-+# CONFIG_SND_DEBUG_VERBOSE is not set
-+CONFIG_SND_PCM_XRUN_DEBUG=y
-+CONFIG_SND_DRIVERS=y
-+# CONFIG_SND_DUMMY is not set
-+# CONFIG_SND_MTPAV is not set
-+# CONFIG_SND_SERIAL_U16550 is not set
-+# CONFIG_SND_MPU401 is not set
-+CONFIG_SND_ARM=y
-+# CONFIG_SND_SPI is not set
-+CONFIG_SND_USB=y
-+CONFIG_SND_USB_AUDIO=m
-+# CONFIG_SND_USB_CAIAQ is not set
-+CONFIG_SND_SOC=m
-+CONFIG_SND_S3C24XX_SOC=m
-+CONFIG_SND_S3C24XX_SOC_I2S=m
-+CONFIG_SND_S3C24XX_SOC_NEO1973_GTA02_WM8753=m
-+# CONFIG_SND_S3C24XX_SOC_LN2440SBC_ALC650 is not set
-+# CONFIG_SND_SOC_ALL_CODECS is not set
-+CONFIG_SND_SOC_WM8753=m
-+# CONFIG_SOUND_PRIME is not set
-+CONFIG_HID_SUPPORT=y
-+CONFIG_HID=y
-+# CONFIG_HID_DEBUG is not set
-+# CONFIG_HIDRAW is not set
-+
-+#
-+# USB Input Devices
-+#
-+CONFIG_USB_HID=y
-+CONFIG_HID_PID=y
-+# CONFIG_USB_HIDDEV is not set
-+
-+#
-+# Special HID drivers
-+#
-+CONFIG_HID_COMPAT=y
-+CONFIG_HID_A4TECH=y
-+CONFIG_HID_APPLE=y
-+CONFIG_HID_BELKIN=y
-+CONFIG_HID_BRIGHT=y
-+CONFIG_HID_CHERRY=y
-+CONFIG_HID_CHICONY=y
-+CONFIG_HID_CYPRESS=y
-+CONFIG_HID_DELL=y
-+CONFIG_HID_EZKEY=y
-+CONFIG_HID_GYRATION=y
-+CONFIG_HID_LOGITECH=y
-+# CONFIG_LOGITECH_FF is not set
-+# CONFIG_LOGIRUMBLEPAD2_FF is not set
-+CONFIG_HID_MICROSOFT=y
-+CONFIG_HID_MONTEREY=y
-+CONFIG_HID_PANTHERLORD=y
-+# CONFIG_PANTHERLORD_FF is not set
-+CONFIG_HID_PETALYNX=y
-+CONFIG_HID_SAMSUNG=y
-+CONFIG_HID_SONY=y
-+CONFIG_HID_SUNPLUS=y
-+# CONFIG_THRUSTMASTER_FF is not set
-+# CONFIG_ZEROPLUS_FF is not set
-+CONFIG_USB_SUPPORT=y
-+CONFIG_USB_ARCH_HAS_HCD=y
-+CONFIG_USB_ARCH_HAS_OHCI=y
-+# CONFIG_USB_ARCH_HAS_EHCI is not set
-+CONFIG_USB=y
-+# CONFIG_USB_DEBUG is not set
-+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-+
-+#
-+# Miscellaneous USB options
-+#
-+CONFIG_USB_DEVICEFS=y
-+CONFIG_USB_DEVICE_CLASS=y
-+# CONFIG_USB_DYNAMIC_MINORS is not set
-+CONFIG_USB_SUSPEND=y
-+# CONFIG_USB_OTG is not set
-+CONFIG_USB_MON=y
-+# CONFIG_USB_WUSB is not set
-+# CONFIG_USB_WUSB_CBAF is not set
-+
-+#
-+# USB Host Controller Drivers
-+#
-+# CONFIG_USB_C67X00_HCD is not set
-+# CONFIG_USB_ISP116X_HCD is not set
-+# CONFIG_USB_ISP1760_HCD is not set
-+CONFIG_USB_OHCI_HCD=m
-+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
-+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-+# CONFIG_USB_SL811_HCD is not set
-+# CONFIG_USB_R8A66597_HCD is not set
-+# CONFIG_USB_HWA_HCD is not set
-+# CONFIG_USB_MUSB_HDRC is not set
-+# CONFIG_USB_GADGET_MUSB_HDRC is not set
-+
-+#
-+# USB Device Class drivers
-+#
-+CONFIG_USB_ACM=m
-+CONFIG_USB_PRINTER=m
-+# CONFIG_USB_WDM is not set
-+CONFIG_USB_TMC=m
-+
-+#
-+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-+#
-+
-+#
-+# may also be needed; see USB_STORAGE Help for more information
-+#
-+CONFIG_USB_STORAGE=m
-+# CONFIG_USB_STORAGE_DEBUG is not set
-+CONFIG_USB_STORAGE_DATAFAB=y
-+CONFIG_USB_STORAGE_FREECOM=y
-+# CONFIG_USB_STORAGE_ISD200 is not set
-+CONFIG_USB_STORAGE_DPCM=y
-+CONFIG_USB_STORAGE_USBAT=y
-+CONFIG_USB_STORAGE_SDDR09=y
-+CONFIG_USB_STORAGE_SDDR55=y
-+CONFIG_USB_STORAGE_JUMPSHOT=y
-+CONFIG_USB_STORAGE_ALAUDA=y
-+# CONFIG_USB_STORAGE_ONETOUCH is not set
-+CONFIG_USB_STORAGE_KARMA=y
-+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
-+CONFIG_USB_LIBUSUAL=y
-+
-+#
-+# USB Imaging devices
-+#
-+# CONFIG_USB_MDC800 is not set
-+# CONFIG_USB_MICROTEK is not set
-+
-+#
-+# USB port drivers
-+#
-+CONFIG_USB_SERIAL=m
-+CONFIG_USB_EZUSB=y
-+CONFIG_USB_SERIAL_GENERIC=y
-+CONFIG_USB_SERIAL_AIRCABLE=m
-+CONFIG_USB_SERIAL_ARK3116=m
-+CONFIG_USB_SERIAL_BELKIN=m
-+# CONFIG_USB_SERIAL_CH341 is not set
-+CONFIG_USB_SERIAL_WHITEHEAT=m
-+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-+CONFIG_USB_SERIAL_CP2101=m
-+CONFIG_USB_SERIAL_CYPRESS_M8=m
-+CONFIG_USB_SERIAL_EMPEG=m
-+CONFIG_USB_SERIAL_FTDI_SIO=m
-+CONFIG_USB_SERIAL_FUNSOFT=m
-+CONFIG_USB_SERIAL_VISOR=m
-+CONFIG_USB_SERIAL_IPAQ=m
-+CONFIG_USB_SERIAL_IR=m
-+CONFIG_USB_SERIAL_EDGEPORT=m
-+CONFIG_USB_SERIAL_EDGEPORT_TI=m
-+CONFIG_USB_SERIAL_GARMIN=m
-+CONFIG_USB_SERIAL_IPW=m
-+# CONFIG_USB_SERIAL_IUU is not set
-+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-+CONFIG_USB_SERIAL_KEYSPAN=m
-+CONFIG_USB_SERIAL_KLSI=m
-+CONFIG_USB_SERIAL_KOBIL_SCT=m
-+CONFIG_USB_SERIAL_MCT_U232=m
-+CONFIG_USB_SERIAL_MOS7720=m
-+CONFIG_USB_SERIAL_MOS7840=m
-+# CONFIG_USB_SERIAL_MOTOROLA is not set
-+CONFIG_USB_SERIAL_NAVMAN=m
-+CONFIG_USB_SERIAL_PL2303=m
-+# CONFIG_USB_SERIAL_OTI6858 is not set
-+# CONFIG_USB_SERIAL_SPCP8X5 is not set
-+CONFIG_USB_SERIAL_HP4X=m
-+CONFIG_USB_SERIAL_SAFE=m
-+CONFIG_USB_SERIAL_SAFE_PADDED=y
-+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-+CONFIG_USB_SERIAL_TI=m
-+CONFIG_USB_SERIAL_CYBERJACK=m
-+CONFIG_USB_SERIAL_XIRCOM=m
-+CONFIG_USB_SERIAL_OPTION=m
-+CONFIG_USB_SERIAL_OMNINET=m
-+# CONFIG_USB_SERIAL_DEBUG is not set
-+
-+#
-+# USB Miscellaneous drivers
-+#
-+# CONFIG_USB_EMI62 is not set
-+# CONFIG_USB_EMI26 is not set
-+# CONFIG_USB_ADUTUX is not set
-+# CONFIG_USB_SEVSEG is not set
-+# CONFIG_USB_RIO500 is not set
-+# CONFIG_USB_LEGOTOWER is not set
-+# CONFIG_USB_LCD is not set
-+CONFIG_USB_BERRY_CHARGE=m
-+# CONFIG_USB_LED is not set
-+# CONFIG_USB_CYPRESS_CY7C63 is not set
-+# CONFIG_USB_CYTHERM is not set
-+# CONFIG_USB_PHIDGET is not set
-+# CONFIG_USB_IDMOUSE is not set
-+# CONFIG_USB_FTDI_ELAN is not set
-+# CONFIG_USB_APPLEDISPLAY is not set
-+# CONFIG_USB_LD is not set
-+CONFIG_USB_TRANCEVIBRATOR=m
-+CONFIG_USB_IOWARRIOR=m
-+# CONFIG_USB_TEST is not set
-+# CONFIG_USB_ISIGHTFW is not set
-+# CONFIG_USB_VST is not set
-+CONFIG_USB_GADGET=y
-+# CONFIG_USB_GADGET_DEBUG is not set
-+# CONFIG_USB_GADGET_DEBUG_FILES is not set
-+# CONFIG_USB_GADGET_DEBUG_FS is not set
-+CONFIG_USB_GADGET_VBUS_DRAW=500
-+CONFIG_USB_GADGET_SELECTED=y
-+# CONFIG_USB_GADGET_AT91 is not set
-+# CONFIG_USB_GADGET_ATMEL_USBA is not set
-+# CONFIG_USB_GADGET_FSL_USB2 is not set
-+# CONFIG_USB_GADGET_LH7A40X is not set
-+# CONFIG_USB_GADGET_OMAP is not set
-+# CONFIG_USB_GADGET_PXA25X is not set
-+# CONFIG_USB_GADGET_PXA27X is not set
-+CONFIG_USB_GADGET_S3C2410=y
-+CONFIG_USB_S3C2410=y
-+CONFIG_USB_S3C2410_DEBUG=y
-+# CONFIG_USB_GADGET_M66592 is not set
-+# CONFIG_USB_GADGET_AMD5536UDC is not set
-+# CONFIG_USB_GADGET_FSL_QE is not set
-+# CONFIG_USB_GADGET_NET2280 is not set
-+# CONFIG_USB_GADGET_GOKU is not set
-+# CONFIG_USB_GADGET_DUMMY_HCD is not set
-+# CONFIG_USB_GADGET_DUALSPEED is not set
-+# CONFIG_USB_ZERO is not set
-+CONFIG_USB_ETH=m
-+CONFIG_USB_ETH_RNDIS=y
-+CONFIG_USB_GADGETFS=m
-+CONFIG_USB_FILE_STORAGE=m
-+# CONFIG_USB_FILE_STORAGE_TEST is not set
-+CONFIG_USB_G_SERIAL=m
-+CONFIG_USB_MIDI_GADGET=m
-+# CONFIG_USB_G_PRINTER is not set
-+# CONFIG_USB_CDC_COMPOSITE is not set
-+CONFIG_AR6000_WLAN=y
-+CONFIG_MMC=y
-+# CONFIG_MMC_DEBUG is not set
-+CONFIG_MMC_UNSAFE_RESUME=y
-+
-+#
-+# MMC/SD/SDIO Card Drivers
-+#
-+CONFIG_MMC_BLOCK=y
-+CONFIG_MMC_BLOCK_BOUNCE=y
-+# CONFIG_SDIO_UART is not set
-+# CONFIG_MMC_TEST is not set
-+
-+#
-+# MMC/SD/SDIO Host Controller Drivers
-+#
-+CONFIG_MMC_SDHCI=y
-+CONFIG_MMC_SDHCI_S3C=y
-+# CONFIG_MMC_SPI is not set
-+CONFIG_MMC_S3C=y
-+# CONFIG_MEMSTICK is not set
-+# CONFIG_ACCESSIBILITY is not set
-+CONFIG_NEW_LEDS=y
-+CONFIG_LEDS_CLASS=y
-+
-+#
-+# LED drivers
-+#
-+CONFIG_LEDS_S3C24XX=m
-+# CONFIG_LEDS_PCA9532 is not set
-+CONFIG_LEDS_GPIO=y
-+# CONFIG_LEDS_PCA955X is not set
-+CONFIG_LEDS_NEO1973_VIBRATOR=y
-+CONFIG_LEDS_NEO1973_GTA02=y
-+
-+#
-+# LED Triggers
-+#
-+CONFIG_LEDS_TRIGGERS=y
-+CONFIG_LEDS_TRIGGER_TIMER=y
-+# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
-+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
-+# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-+CONFIG_RTC_LIB=y
-+CONFIG_RTC_CLASS=y
-+CONFIG_RTC_HCTOSYS=y
-+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-+CONFIG_RTC_DEBUG=y
-+
-+#
-+# RTC interfaces
-+#
-+CONFIG_RTC_INTF_SYSFS=y
-+CONFIG_RTC_INTF_PROC=y
-+CONFIG_RTC_INTF_DEV=y
-+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-+# CONFIG_RTC_DRV_TEST is not set
-+
-+#
-+# I2C RTC drivers
-+#
-+# CONFIG_RTC_DRV_DS1307 is not set
-+# CONFIG_RTC_DRV_DS1374 is not set
-+# CONFIG_RTC_DRV_DS1672 is not set
-+# CONFIG_RTC_DRV_MAX6900 is not set
-+# CONFIG_RTC_DRV_RS5C372 is not set
-+# CONFIG_RTC_DRV_ISL1208 is not set
-+# CONFIG_RTC_DRV_X1205 is not set
-+# CONFIG_RTC_DRV_PCF8563 is not set
-+# CONFIG_RTC_DRV_PCF8583 is not set
-+CONFIG_RTC_DRV_PCF50633=y
-+# CONFIG_RTC_DRV_PCF50606 is not set
-+# CONFIG_RTC_DRV_M41T80 is not set
-+# CONFIG_RTC_DRV_S35390A is not set
-+# CONFIG_RTC_DRV_FM3130 is not set
-+
-+#
-+# SPI RTC drivers
-+#
-+# CONFIG_RTC_DRV_M41T94 is not set
-+# CONFIG_RTC_DRV_DS1305 is not set
-+# CONFIG_RTC_DRV_MAX6902 is not set
-+# CONFIG_RTC_DRV_R9701 is not set
-+# CONFIG_RTC_DRV_RS5C348 is not set
-+# CONFIG_RTC_DRV_DS3234 is not set
-+
-+#
-+# Platform RTC drivers
-+#
-+# CONFIG_RTC_DRV_CMOS is not set
-+# CONFIG_RTC_DRV_DS1286 is not set
-+# CONFIG_RTC_DRV_DS1511 is not set
-+# CONFIG_RTC_DRV_DS1553 is not set
-+# CONFIG_RTC_DRV_DS1742 is not set
-+# CONFIG_RTC_DRV_STK17TA8 is not set
-+# CONFIG_RTC_DRV_M48T86 is not set
-+# CONFIG_RTC_DRV_M48T35 is not set
-+# CONFIG_RTC_DRV_M48T59 is not set
-+# CONFIG_RTC_DRV_BQ4802 is not set
-+# CONFIG_RTC_DRV_V3020 is not set
-+
-+#
-+# on-CPU RTC drivers
-+#
-+CONFIG_RTC_DRV_S3C=m
-+CONFIG_DMADEVICES=y
-+
-+#
-+# DMA Devices
-+#
-+
-+#
-+# Android
-+#
-+CONFIG_ANDROID_BINDER_IPC=y
-+CONFIG_ANDROID_POWER=y
-+CONFIG_ANDROID_POWER_STAT=y
-+CONFIG_ANDROID_POWER_ALARM=y
-+CONFIG_ANDROID_LOGGER=y
-+# CONFIG_ANDROID_RAM_CONSOLE is not set
-+# CONFIG_ANDROID_TIMED_GPIO is not set
-+# CONFIG_ANDROID_PARANOID_NETWORK is not set
-+CONFIG_REGULATOR=y
-+CONFIG_REGULATOR_DEBUG=y
-+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
-+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-+# CONFIG_REGULATOR_BQ24022 is not set
-+CONFIG_REGULATOR_PCF50633=y
-+CONFIG_UIO=y
-+CONFIG_UIO_PDRV=y
-+# CONFIG_UIO_PDRV_GENIRQ is not set
-+# CONFIG_UIO_SMX is not set
-+# CONFIG_UIO_SERCOS3 is not set
-+
-+#
-+# File systems
-+#
-+CONFIG_EXT2_FS=y
-+# CONFIG_EXT2_FS_XATTR is not set
-+# CONFIG_EXT2_FS_XIP is not set
-+CONFIG_EXT3_FS=y
-+# CONFIG_EXT3_FS_XATTR is not set
-+CONFIG_EXT4_FS=y
-+CONFIG_EXT4DEV_COMPAT=y
-+CONFIG_EXT4_FS_XATTR=y
-+# CONFIG_EXT4_FS_POSIX_ACL is not set
-+CONFIG_EXT4_FS_SECURITY=y
-+CONFIG_JBD=y
-+# CONFIG_JBD_DEBUG is not set
-+CONFIG_JBD2=y
-+# CONFIG_JBD2_DEBUG is not set
-+CONFIG_FS_MBCACHE=y
-+# CONFIG_REISERFS_FS is not set
-+# CONFIG_JFS_FS is not set
-+CONFIG_FS_POSIX_ACL=y
-+CONFIG_FILE_LOCKING=y
-+# CONFIG_XFS_FS is not set
-+# CONFIG_OCFS2_FS is not set
-+CONFIG_DNOTIFY=y
-+CONFIG_INOTIFY=y
-+CONFIG_INOTIFY_USER=y
-+# CONFIG_QUOTA is not set
-+# CONFIG_AUTOFS_FS is not set
-+CONFIG_AUTOFS4_FS=m
-+CONFIG_FUSE_FS=m
-+
-+#
-+# CD-ROM/DVD Filesystems
-+#
-+CONFIG_ISO9660_FS=m
-+CONFIG_JOLIET=y
-+# CONFIG_ZISOFS is not set
-+CONFIG_UDF_FS=m
-+CONFIG_UDF_NLS=y
-+
-+#
-+# DOS/FAT/NT Filesystems
-+#
-+CONFIG_FAT_FS=y
-+CONFIG_MSDOS_FS=y
-+CONFIG_VFAT_FS=y
-+CONFIG_FAT_DEFAULT_CODEPAGE=437
-+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-+# CONFIG_NTFS_FS is not set
-+
-+#
-+# Pseudo filesystems
-+#
-+CONFIG_PROC_FS=y
-+CONFIG_PROC_SYSCTL=y
-+CONFIG_PROC_PAGE_MONITOR=y
-+CONFIG_SYSFS=y
-+CONFIG_TMPFS=y
-+# CONFIG_TMPFS_POSIX_ACL is not set
-+# CONFIG_HUGETLB_PAGE is not set
-+CONFIG_CONFIGFS_FS=m
-+
-+#
-+# Miscellaneous filesystems
-+#
-+# CONFIG_ADFS_FS is not set
-+# CONFIG_AFFS_FS is not set
-+# CONFIG_HFS_FS is not set
-+# CONFIG_HFSPLUS_FS is not set
-+# CONFIG_BEFS_FS is not set
-+# CONFIG_BFS_FS is not set
-+# CONFIG_EFS_FS is not set
-+CONFIG_JFFS2_FS=y
-+CONFIG_JFFS2_FS_DEBUG=0
-+CONFIG_JFFS2_FS_WRITEBUFFER=y
-+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-+CONFIG_JFFS2_SUMMARY=y
-+# CONFIG_JFFS2_FS_XATTR is not set
-+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-+CONFIG_JFFS2_ZLIB=y
-+# CONFIG_JFFS2_LZO is not set
-+CONFIG_JFFS2_RTIME=y
-+# CONFIG_JFFS2_RUBIN is not set
-+CONFIG_CRAMFS=y
-+# CONFIG_VXFS_FS is not set
-+# CONFIG_MINIX_FS is not set
-+# CONFIG_OMFS_FS is not set
-+# CONFIG_HPFS_FS is not set
-+# CONFIG_QNX4FS_FS is not set
-+CONFIG_ROMFS_FS=y
-+# CONFIG_SYSV_FS is not set
-+# CONFIG_UFS_FS is not set
-+CONFIG_NETWORK_FILESYSTEMS=y
-+# CONFIG_NFS_FS is not set
-+CONFIG_NFSD=m
-+CONFIG_NFSD_V2_ACL=y
-+CONFIG_NFSD_V3=y
-+CONFIG_NFSD_V3_ACL=y
-+# CONFIG_NFSD_V4 is not set
-+CONFIG_LOCKD=m
-+CONFIG_LOCKD_V4=y
-+CONFIG_EXPORTFS=m
-+CONFIG_NFS_ACL_SUPPORT=m
-+CONFIG_NFS_COMMON=y
-+CONFIG_SUNRPC=m
-+# CONFIG_SUNRPC_REGISTER_V4 is not set
-+# CONFIG_RPCSEC_GSS_KRB5 is not set
-+# CONFIG_RPCSEC_GSS_SPKM3 is not set
-+# CONFIG_SMB_FS is not set
-+CONFIG_CIFS=m
-+# CONFIG_CIFS_STATS is not set
-+# CONFIG_CIFS_WEAK_PW_HASH is not set
-+# CONFIG_CIFS_XATTR is not set
-+# CONFIG_CIFS_DEBUG2 is not set
-+# CONFIG_CIFS_EXPERIMENTAL is not set
-+# CONFIG_NCP_FS is not set
-+# CONFIG_CODA_FS is not set
-+# CONFIG_AFS_FS is not set
-+
-+#
-+# Partition Types
-+#
-+CONFIG_PARTITION_ADVANCED=y
-+# CONFIG_ACORN_PARTITION is not set
-+# CONFIG_OSF_PARTITION is not set
-+# CONFIG_AMIGA_PARTITION is not set
-+# CONFIG_ATARI_PARTITION is not set
-+# CONFIG_MAC_PARTITION is not set
-+CONFIG_MSDOS_PARTITION=y
-+# CONFIG_BSD_DISKLABEL is not set
-+# CONFIG_MINIX_SUBPARTITION is not set
-+# CONFIG_SOLARIS_X86_PARTITION is not set
-+# CONFIG_UNIXWARE_DISKLABEL is not set
-+# CONFIG_LDM_PARTITION is not set
-+# CONFIG_SGI_PARTITION is not set
-+# CONFIG_ULTRIX_PARTITION is not set
-+# CONFIG_SUN_PARTITION is not set
-+# CONFIG_KARMA_PARTITION is not set
-+# CONFIG_EFI_PARTITION is not set
-+# CONFIG_SYSV68_PARTITION is not set
-+CONFIG_NLS=y
-+CONFIG_NLS_DEFAULT="iso8859-1"
-+CONFIG_NLS_CODEPAGE_437=y
-+# CONFIG_NLS_CODEPAGE_737 is not set
-+# CONFIG_NLS_CODEPAGE_775 is not set
-+CONFIG_NLS_CODEPAGE_850=m
-+# CONFIG_NLS_CODEPAGE_852 is not set
-+# CONFIG_NLS_CODEPAGE_855 is not set
-+# CONFIG_NLS_CODEPAGE_857 is not set
-+# CONFIG_NLS_CODEPAGE_860 is not set
-+# CONFIG_NLS_CODEPAGE_861 is not set
-+# CONFIG_NLS_CODEPAGE_862 is not set
-+# CONFIG_NLS_CODEPAGE_863 is not set
-+# CONFIG_NLS_CODEPAGE_864 is not set
-+# CONFIG_NLS_CODEPAGE_865 is not set
-+# CONFIG_NLS_CODEPAGE_866 is not set
-+# CONFIG_NLS_CODEPAGE_869 is not set
-+CONFIG_NLS_CODEPAGE_936=m
-+CONFIG_NLS_CODEPAGE_950=m
-+# CONFIG_NLS_CODEPAGE_932 is not set
-+# CONFIG_NLS_CODEPAGE_949 is not set
-+# CONFIG_NLS_CODEPAGE_874 is not set
-+# CONFIG_NLS_ISO8859_8 is not set
-+# CONFIG_NLS_CODEPAGE_1250 is not set
-+# CONFIG_NLS_CODEPAGE_1251 is not set
-+# CONFIG_NLS_ASCII is not set
-+CONFIG_NLS_ISO8859_1=y
-+# CONFIG_NLS_ISO8859_2 is not set
-+# CONFIG_NLS_ISO8859_3 is not set
-+# CONFIG_NLS_ISO8859_4 is not set
-+# CONFIG_NLS_ISO8859_5 is not set
-+# CONFIG_NLS_ISO8859_6 is not set
-+# CONFIG_NLS_ISO8859_7 is not set
-+# CONFIG_NLS_ISO8859_9 is not set
-+# CONFIG_NLS_ISO8859_13 is not set
-+# CONFIG_NLS_ISO8859_14 is not set
-+# CONFIG_NLS_ISO8859_15 is not set
-+# CONFIG_NLS_KOI8_R is not set
-+# CONFIG_NLS_KOI8_U is not set
-+CONFIG_NLS_UTF8=m
-+# CONFIG_DLM is not set
-+
-+#
-+# Kernel hacking
-+#
-+CONFIG_PRINTK_TIME=y
-+CONFIG_ENABLE_WARN_DEPRECATED=y
-+CONFIG_ENABLE_MUST_CHECK=y
-+CONFIG_FRAME_WARN=1024
-+CONFIG_MAGIC_SYSRQ=y
-+# CONFIG_UNUSED_SYMBOLS is not set
-+CONFIG_DEBUG_FS=y
-+# CONFIG_HEADERS_CHECK is not set
-+CONFIG_DEBUG_KERNEL=y
-+CONFIG_DEBUG_SHIRQ=y
-+CONFIG_DETECT_SOFTLOCKUP=y
-+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
-+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1
-+CONFIG_SCHED_DEBUG=y
-+CONFIG_SCHEDSTATS=y
-+CONFIG_TIMER_STATS=y
-+# CONFIG_DEBUG_OBJECTS is not set
-+# CONFIG_DEBUG_SLAB is not set
-+CONFIG_DEBUG_PREEMPT=y
-+# CONFIG_DEBUG_RT_MUTEXES is not set
-+# CONFIG_RT_MUTEX_TESTER is not set
-+CONFIG_DEBUG_SPINLOCK=y
-+CONFIG_DEBUG_MUTEXES=y
-+CONFIG_DEBUG_LOCK_ALLOC=y
-+# CONFIG_PROVE_LOCKING is not set
-+CONFIG_LOCKDEP=y
-+CONFIG_LOCK_STAT=y
-+CONFIG_DEBUG_LOCKDEP=y
-+CONFIG_DEBUG_SPINLOCK_SLEEP=y
-+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-+CONFIG_STACKTRACE=y
-+# CONFIG_DEBUG_KOBJECT is not set
-+CONFIG_DEBUG_BUGVERBOSE=y
-+CONFIG_DEBUG_INFO=y
-+# CONFIG_DEBUG_VM is not set
-+# CONFIG_DEBUG_WRITECOUNT is not set
-+CONFIG_DEBUG_MEMORY_INIT=y
-+# CONFIG_DEBUG_LIST is not set
-+CONFIG_DEBUG_SG=y
-+CONFIG_FRAME_POINTER=y
-+# CONFIG_BOOT_PRINTK_DELAY is not set
-+# CONFIG_RCU_TORTURE_TEST is not set
-+CONFIG_RCU_CPU_STALL_DETECTOR=y
-+# CONFIG_BACKTRACE_SELF_TEST is not set
-+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-+# CONFIG_FAULT_INJECTION is not set
-+CONFIG_LATENCYTOP=y
-+CONFIG_SYSCTL_SYSCALL_CHECK=y
-+CONFIG_HAVE_FUNCTION_TRACER=y
-+
-+#
-+# Tracers
-+#
-+# CONFIG_FUNCTION_TRACER is not set
-+# CONFIG_SCHED_TRACER is not set
-+# CONFIG_CONTEXT_SWITCH_TRACER is not set
-+# CONFIG_BOOT_TRACER is not set
-+# CONFIG_STACK_TRACER is not set
-+CONFIG_DYNAMIC_PRINTK_DEBUG=y
-+# CONFIG_SAMPLES is not set
-+CONFIG_HAVE_ARCH_KGDB=y
-+# CONFIG_KGDB is not set
-+# CONFIG_DEBUG_USER is not set
-+CONFIG_DEBUG_ERRORS=y
-+# CONFIG_DEBUG_STACK_USAGE is not set
-+# CONFIG_DEBUG_LL is not set
-+CONFIG_DEBUG_S3C_UART=2
-+
-+#
-+# Security options
-+#
-+# CONFIG_KEYS is not set
-+# CONFIG_SECURITY is not set
-+CONFIG_SECURITYFS=y
-+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
-+CONFIG_CRYPTO=y
-+
-+#
-+# Crypto core or helper
-+#
-+CONFIG_CRYPTO_FIPS=y
-+CONFIG_CRYPTO_ALGAPI=y
-+CONFIG_CRYPTO_AEAD=y
-+CONFIG_CRYPTO_BLKCIPHER=y
-+CONFIG_CRYPTO_HASH=y
-+CONFIG_CRYPTO_RNG=y
-+CONFIG_CRYPTO_MANAGER=y
-+CONFIG_CRYPTO_GF128MUL=m
-+CONFIG_CRYPTO_NULL=m
-+# CONFIG_CRYPTO_CRYPTD is not set
-+CONFIG_CRYPTO_AUTHENC=m
-+CONFIG_CRYPTO_TEST=m
-+
-+#
-+# Authenticated Encryption with Associated Data
-+#
-+# CONFIG_CRYPTO_CCM is not set
-+# CONFIG_CRYPTO_GCM is not set
-+# CONFIG_CRYPTO_SEQIV is not set
-+
-+#
-+# Block modes
-+#
-+CONFIG_CRYPTO_CBC=y
-+# CONFIG_CRYPTO_CTR is not set
-+# CONFIG_CRYPTO_CTS is not set
-+CONFIG_CRYPTO_ECB=m
-+CONFIG_CRYPTO_LRW=m
-+CONFIG_CRYPTO_PCBC=m
-+# CONFIG_CRYPTO_XTS is not set
-+
-+#
-+# Hash modes
-+#
-+CONFIG_CRYPTO_HMAC=y
-+CONFIG_CRYPTO_XCBC=m
-+
-+#
-+# Digest
-+#
-+CONFIG_CRYPTO_CRC32C=m
-+CONFIG_CRYPTO_MD4=m
-+CONFIG_CRYPTO_MD5=y
-+CONFIG_CRYPTO_MICHAEL_MIC=m
-+# CONFIG_CRYPTO_RMD128 is not set
-+# CONFIG_CRYPTO_RMD160 is not set
-+# CONFIG_CRYPTO_RMD256 is not set
-+# CONFIG_CRYPTO_RMD320 is not set
-+CONFIG_CRYPTO_SHA1=m
-+CONFIG_CRYPTO_SHA256=m
-+CONFIG_CRYPTO_SHA512=m
-+CONFIG_CRYPTO_TGR192=m
-+CONFIG_CRYPTO_WP512=m
-+
-+#
-+# Ciphers
-+#
-+CONFIG_CRYPTO_AES=y
-+CONFIG_CRYPTO_ANUBIS=m
-+CONFIG_CRYPTO_ARC4=m
-+CONFIG_CRYPTO_BLOWFISH=m
-+CONFIG_CRYPTO_CAMELLIA=m
-+CONFIG_CRYPTO_CAST5=m
-+CONFIG_CRYPTO_CAST6=m
-+CONFIG_CRYPTO_DES=y
-+CONFIG_CRYPTO_FCRYPT=m
-+CONFIG_CRYPTO_KHAZAD=m
-+# CONFIG_CRYPTO_SALSA20 is not set
-+# CONFIG_CRYPTO_SEED is not set
-+CONFIG_CRYPTO_SERPENT=m
-+CONFIG_CRYPTO_TEA=m
-+CONFIG_CRYPTO_TWOFISH=m
-+CONFIG_CRYPTO_TWOFISH_COMMON=m
-+
-+#
-+# Compression
-+#
-+CONFIG_CRYPTO_DEFLATE=m
-+# CONFIG_CRYPTO_LZO is not set
-+
-+#
-+# Random Number Generation
-+#
-+CONFIG_CRYPTO_ANSI_CPRNG=y
-+CONFIG_CRYPTO_HW=y
-+
-+#
-+# Library routines
-+#
-+CONFIG_BITREVERSE=y
-+CONFIG_CRC_CCITT=m
-+CONFIG_CRC16=y
-+CONFIG_CRC_T10DIF=y
-+CONFIG_CRC_ITU_T=m
-+CONFIG_CRC32=y
-+# CONFIG_CRC7 is not set
-+CONFIG_LIBCRC32C=m
-+CONFIG_ZLIB_INFLATE=y
-+CONFIG_ZLIB_DEFLATE=y
-+CONFIG_TEXTSEARCH=y
-+CONFIG_TEXTSEARCH_KMP=m
-+CONFIG_TEXTSEARCH_BM=m
-+CONFIG_TEXTSEARCH_FSM=m
-+CONFIG_PLIST=y
-+CONFIG_HAS_IOMEM=y
-+CONFIG_HAS_DMA=y
-Index: linux-2.6.28/arch/arm/configs/gta03_defconfig
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/configs/gta03_defconfig      2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,1548 @@
-+#
-+# Automatically generated make config: don't edit
-+# Linux kernel version: 2.6.28-rc4
-+# Fri Dec 12 12:07:49 2008
-+#
-+CONFIG_ARM=y
-+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-+CONFIG_GENERIC_GPIO=y
-+# CONFIG_GENERIC_TIME is not set
-+# CONFIG_GENERIC_CLOCKEVENTS is not set
-+CONFIG_MMU=y
-+CONFIG_NO_IOPORT=y
-+CONFIG_GENERIC_HARDIRQS=y
-+CONFIG_STACKTRACE_SUPPORT=y
-+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-+CONFIG_LOCKDEP_SUPPORT=y
-+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-+CONFIG_HARDIRQS_SW_RESEND=y
-+CONFIG_GENERIC_IRQ_PROBE=y
-+CONFIG_RWSEM_GENERIC_SPINLOCK=y
-+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-+CONFIG_GENERIC_HWEIGHT=y
-+CONFIG_GENERIC_CALIBRATE_DELAY=y
-+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-+CONFIG_VECTORS_BASE=0xffff0000
-+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-+
-+#
-+# General setup
-+#
-+CONFIG_EXPERIMENTAL=y
-+CONFIG_BROKEN_ON_SMP=y
-+CONFIG_INIT_ENV_ARG_LIMIT=32
-+CONFIG_LOCALVERSION=""
-+CONFIG_LOCALVERSION_AUTO=y
-+CONFIG_SWAP=y
-+# CONFIG_SYSVIPC is not set
-+# CONFIG_POSIX_MQUEUE is not set
-+# CONFIG_BSD_PROCESS_ACCT is not set
-+# CONFIG_TASKSTATS is not set
-+# CONFIG_AUDIT is not set
-+CONFIG_IKCONFIG=y
-+CONFIG_IKCONFIG_PROC=y
-+CONFIG_LOG_BUF_SHIFT=18
-+# CONFIG_CGROUPS is not set
-+# CONFIG_GROUP_SCHED is not set
-+CONFIG_SYSFS_DEPRECATED=y
-+CONFIG_SYSFS_DEPRECATED_V2=y
-+# CONFIG_RELAY is not set
-+CONFIG_NAMESPACES=y
-+# CONFIG_UTS_NS is not set
-+# CONFIG_USER_NS is not set
-+# CONFIG_PID_NS is not set
-+CONFIG_BLK_DEV_INITRD=y
-+CONFIG_INITRAMFS_SOURCE=""
-+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-+CONFIG_SYSCTL=y
-+# CONFIG_EMBEDDED is not set
-+CONFIG_UID16=y
-+CONFIG_SYSCTL_SYSCALL=y
-+CONFIG_KALLSYMS=y
-+CONFIG_KALLSYMS_ALL=y
-+# CONFIG_KALLSYMS_EXTRA_PASS is not set
-+CONFIG_HOTPLUG=y
-+CONFIG_PRINTK=y
-+CONFIG_BUG=y
-+CONFIG_ELF_CORE=y
-+CONFIG_COMPAT_BRK=y
-+CONFIG_BASE_FULL=y
-+CONFIG_FUTEX=y
-+CONFIG_ANON_INODES=y
-+CONFIG_EPOLL=y
-+CONFIG_SIGNALFD=y
-+CONFIG_TIMERFD=y
-+CONFIG_EVENTFD=y
-+CONFIG_SHMEM=y
-+CONFIG_AIO=y
-+CONFIG_ASHMEM=y
-+CONFIG_VM_EVENT_COUNTERS=y
-+CONFIG_SLUB_DEBUG=y
-+# CONFIG_SLAB is not set
-+CONFIG_SLUB=y
-+# CONFIG_SLOB is not set
-+# CONFIG_PROFILING is not set
-+# CONFIG_MARKERS is not set
-+CONFIG_HAVE_OPROFILE=y
-+# CONFIG_KPROBES is not set
-+CONFIG_HAVE_KPROBES=y
-+CONFIG_HAVE_KRETPROBES=y
-+CONFIG_HAVE_CLK=y
-+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-+CONFIG_SLABINFO=y
-+CONFIG_RT_MUTEXES=y
-+# CONFIG_TINY_SHMEM is not set
-+CONFIG_BASE_SMALL=0
-+CONFIG_MODULES=y
-+# CONFIG_MODULE_FORCE_LOAD is not set
-+CONFIG_MODULE_UNLOAD=y
-+# CONFIG_MODULE_FORCE_UNLOAD is not set
-+# CONFIG_MODVERSIONS is not set
-+# CONFIG_MODULE_SRCVERSION_ALL is not set
-+CONFIG_KMOD=y
-+CONFIG_BLOCK=y
-+CONFIG_LBD=y
-+# CONFIG_BLK_DEV_IO_TRACE is not set
-+CONFIG_LSF=y
-+# CONFIG_BLK_DEV_BSG is not set
-+# CONFIG_BLK_DEV_INTEGRITY is not set
-+
-+#
-+# IO Schedulers
-+#
-+CONFIG_IOSCHED_NOOP=y
-+CONFIG_IOSCHED_AS=y
-+CONFIG_IOSCHED_DEADLINE=y
-+CONFIG_IOSCHED_CFQ=y
-+# CONFIG_DEFAULT_AS is not set
-+# CONFIG_DEFAULT_DEADLINE is not set
-+CONFIG_DEFAULT_CFQ=y
-+# CONFIG_DEFAULT_NOOP is not set
-+CONFIG_DEFAULT_IOSCHED="cfq"
-+CONFIG_CLASSIC_RCU=y
-+CONFIG_FREEZER=y
-+
-+#
-+# System Type
-+#
-+# CONFIG_ARCH_AAEC2000 is not set
-+# CONFIG_ARCH_INTEGRATOR is not set
-+# CONFIG_ARCH_REALVIEW is not set
-+# CONFIG_ARCH_VERSATILE is not set
-+# CONFIG_ARCH_AT91 is not set
-+# CONFIG_ARCH_CLPS7500 is not set
-+# CONFIG_ARCH_CLPS711X is not set
-+# CONFIG_ARCH_EBSA110 is not set
-+# CONFIG_ARCH_EP93XX is not set
-+# CONFIG_ARCH_FOOTBRIDGE is not set
-+# CONFIG_ARCH_NETX is not set
-+# CONFIG_ARCH_H720X is not set
-+# CONFIG_ARCH_IMX is not set
-+# CONFIG_ARCH_IOP13XX is not set
-+# CONFIG_ARCH_IOP32X is not set
-+# CONFIG_ARCH_IOP33X is not set
-+# CONFIG_ARCH_IXP23XX is not set
-+# CONFIG_ARCH_IXP2000 is not set
-+# CONFIG_ARCH_IXP4XX is not set
-+# CONFIG_ARCH_L7200 is not set
-+# CONFIG_ARCH_KIRKWOOD is not set
-+# CONFIG_ARCH_KS8695 is not set
-+# CONFIG_ARCH_NS9XXX is not set
-+# CONFIG_ARCH_LOKI is not set
-+# CONFIG_ARCH_MV78XX0 is not set
-+# CONFIG_ARCH_MXC is not set
-+# CONFIG_ARCH_ORION5X is not set
-+# CONFIG_ARCH_PNX4008 is not set
-+# CONFIG_ARCH_PXA is not set
-+# CONFIG_ARCH_RPC is not set
-+# CONFIG_ARCH_SA1100 is not set
-+# CONFIG_ARCH_S3C2410 is not set
-+CONFIG_ARCH_S3C64XX=y
-+# CONFIG_ARCH_SHARK is not set
-+# CONFIG_ARCH_LH7A40X is not set
-+# CONFIG_ARCH_DAVINCI is not set
-+# CONFIG_ARCH_OMAP is not set
-+# CONFIG_ARCH_MSM is not set
-+CONFIG_MACH_NEO1973=y
-+CONFIG_PLAT_S3C64XX=y
-+CONFIG_CPU_S3C6400_INIT=y
-+CONFIG_CPU_S3C6400_CLOCK=y
-+CONFIG_S3C64XX_SETUP_I2C0=y
-+CONFIG_S3C64XX_SETUP_I2C1=y
-+CONFIG_S3C64XX_SETUP_FB_24BPP=y
-+CONFIG_PLAT_S3C=y
-+
-+#
-+# Boot options
-+#
-+CONFIG_S3C_BOOT_ERROR_RESET=y
-+CONFIG_S3C_BOOT_UART_FORCE_FIFO=y
-+
-+#
-+# Power management
-+#
-+# CONFIG_S3C2410_PM_DEBUG is not set
-+# CONFIG_S3C2410_PM_CHECK is not set
-+CONFIG_S3C_LOWLEVEL_UART_PORT=3
-+CONFIG_S3C_GPIO_SPACE=0
-+CONFIG_S3C_GPIO_TRACK=y
-+CONFIG_S3C_GPIO_PULL_UPDOWN=y
-+CONFIG_S3C_GPIO_CFG_S3C24XX=y
-+CONFIG_S3C_GPIO_CFG_S3C64XX=y
-+CONFIG_S3C_DEV_HSMMC=y
-+CONFIG_S3C_DEV_HSMMC1=y
-+CONFIG_S3C_DEV_I2C1=y
-+CONFIG_S3C_DEV_FB=y
-+CONFIG_CPU_S3C6410=y
-+CONFIG_S3C6410_SETUP_SDHCI=y
-+# CONFIG_MACH_SMDK6410 is not set
-+CONFIG_MACH_OPENMOKO_GTA03=y
-+
-+#
-+# Processor Type
-+#
-+CONFIG_CPU_32=y
-+CONFIG_CPU_V6=y
-+CONFIG_CPU_32v6K=y
-+CONFIG_CPU_32v6=y
-+CONFIG_CPU_ABRT_EV6=y
-+CONFIG_CPU_PABRT_NOIFAR=y
-+CONFIG_CPU_CACHE_V6=y
-+CONFIG_CPU_CACHE_VIPT=y
-+CONFIG_CPU_COPY_V6=y
-+CONFIG_CPU_TLB_V6=y
-+CONFIG_CPU_HAS_ASID=y
-+CONFIG_CPU_CP15=y
-+CONFIG_CPU_CP15_MMU=y
-+
-+#
-+# Processor Features
-+#
-+CONFIG_ARM_THUMB=y
-+# CONFIG_CPU_ICACHE_DISABLE is not set
-+# CONFIG_CPU_DCACHE_DISABLE is not set
-+# CONFIG_CPU_BPREDICT_DISABLE is not set
-+# CONFIG_OUTER_CACHE is not set
-+CONFIG_ARM_VIC=y
-+
-+#
-+# Bus support
-+#
-+# CONFIG_PCI_SYSCALL is not set
-+# CONFIG_ARCH_SUPPORTS_MSI is not set
-+# CONFIG_PCCARD is not set
-+
-+#
-+# Kernel Features
-+#
-+CONFIG_VMSPLIT_3G=y
-+# CONFIG_VMSPLIT_2G is not set
-+# CONFIG_VMSPLIT_1G is not set
-+CONFIG_PAGE_OFFSET=0xC0000000
-+# CONFIG_PREEMPT is not set
-+CONFIG_HZ=100
-+CONFIG_AEABI=y
-+CONFIG_OABI_COMPAT=y
-+CONFIG_ARCH_FLATMEM_HAS_HOLES=y
-+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-+CONFIG_SELECT_MEMORY_MODEL=y
-+CONFIG_FLATMEM_MANUAL=y
-+# CONFIG_DISCONTIGMEM_MANUAL is not set
-+# CONFIG_SPARSEMEM_MANUAL is not set
-+CONFIG_FLATMEM=y
-+CONFIG_FLAT_NODE_MEM_MAP=y
-+CONFIG_PAGEFLAGS_EXTENDED=y
-+CONFIG_SPLIT_PTLOCK_CPUS=4
-+# CONFIG_RESOURCES_64BIT is not set
-+# CONFIG_PHYS_ADDR_T_64BIT is not set
-+CONFIG_ZONE_DMA_FLAG=0
-+CONFIG_VIRT_TO_BUS=y
-+CONFIG_UNEVICTABLE_LRU=y
-+CONFIG_ALIGNMENT_TRAP=y
-+
-+#
-+# Boot options
-+#
-+CONFIG_ZBOOT_ROM_TEXT=0
-+CONFIG_ZBOOT_ROM_BSS=0
-+CONFIG_CMDLINE="console=ttySAC0,115200 root=/dev/ram init=/bin/bash initrd=0x51000000,4M"
-+# CONFIG_XIP_KERNEL is not set
-+# CONFIG_KEXEC is not set
-+
-+#
-+# CPU Power Management
-+#
-+CONFIG_CPU_IDLE=y
-+CONFIG_CPU_IDLE_GOV_LADDER=y
-+
-+#
-+# Floating point emulation
-+#
-+
-+#
-+# At least one emulation must be selected
-+#
-+# CONFIG_FPE_NWFPE is not set
-+# CONFIG_FPE_FASTFPE is not set
-+CONFIG_VFP=y
-+
-+#
-+# Userspace binary formats
-+#
-+CONFIG_BINFMT_ELF=y
-+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-+CONFIG_HAVE_AOUT=y
-+# CONFIG_BINFMT_AOUT is not set
-+# CONFIG_BINFMT_MISC is not set
-+
-+#
-+# Power management options
-+#
-+CONFIG_PM=y
-+# CONFIG_PM_DEBUG is not set
-+CONFIG_PM_SLEEP=y
-+CONFIG_SUSPEND=y
-+CONFIG_SUSPEND_FREEZER=y
-+CONFIG_APM_EMULATION=y
-+CONFIG_ARCH_SUSPEND_POSSIBLE=y
-+CONFIG_NET=y
-+
-+#
-+# Networking options
-+#
-+CONFIG_PACKET=y
-+CONFIG_PACKET_MMAP=y
-+CONFIG_UNIX=y
-+CONFIG_XFRM=y
-+# CONFIG_XFRM_USER is not set
-+# CONFIG_XFRM_SUB_POLICY is not set
-+CONFIG_XFRM_MIGRATE=y
-+# CONFIG_XFRM_STATISTICS is not set
-+# CONFIG_NET_KEY is not set
-+CONFIG_INET=y
-+CONFIG_IP_MULTICAST=y
-+CONFIG_IP_ADVANCED_ROUTER=y
-+CONFIG_ASK_IP_FIB_HASH=y
-+# CONFIG_IP_FIB_TRIE is not set
-+CONFIG_IP_FIB_HASH=y
-+CONFIG_IP_MULTIPLE_TABLES=y
-+# CONFIG_IP_ROUTE_MULTIPATH is not set
-+# CONFIG_IP_ROUTE_VERBOSE is not set
-+CONFIG_IP_PNP=y
-+# CONFIG_IP_PNP_DHCP is not set
-+# CONFIG_IP_PNP_BOOTP is not set
-+# CONFIG_IP_PNP_RARP is not set
-+# CONFIG_NET_IPIP is not set
-+# CONFIG_NET_IPGRE is not set
-+# CONFIG_IP_MROUTE is not set
-+# CONFIG_ARPD is not set
-+CONFIG_SYN_COOKIES=y
-+# CONFIG_INET_AH is not set
-+# CONFIG_INET_ESP is not set
-+# CONFIG_INET_IPCOMP is not set
-+# CONFIG_INET_XFRM_TUNNEL is not set
-+CONFIG_INET_TUNNEL=m
-+CONFIG_INET_XFRM_MODE_TRANSPORT=y
-+CONFIG_INET_XFRM_MODE_TUNNEL=y
-+CONFIG_INET_XFRM_MODE_BEET=y
-+# CONFIG_INET_LRO is not set
-+CONFIG_INET_DIAG=y
-+CONFIG_INET_TCP_DIAG=y
-+# CONFIG_TCP_CONG_ADVANCED is not set
-+CONFIG_TCP_CONG_CUBIC=y
-+CONFIG_DEFAULT_TCP_CONG="cubic"
-+CONFIG_TCP_MD5SIG=y
-+CONFIG_IPV6=m
-+# CONFIG_IPV6_PRIVACY is not set
-+# CONFIG_IPV6_ROUTER_PREF is not set
-+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
-+# CONFIG_INET6_AH is not set
-+# CONFIG_INET6_ESP is not set
-+# CONFIG_INET6_IPCOMP is not set
-+# CONFIG_IPV6_MIP6 is not set
-+# CONFIG_INET6_XFRM_TUNNEL is not set
-+# CONFIG_INET6_TUNNEL is not set
-+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-+CONFIG_INET6_XFRM_MODE_TUNNEL=m
-+CONFIG_INET6_XFRM_MODE_BEET=m
-+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
-+CONFIG_IPV6_SIT=m
-+CONFIG_IPV6_NDISC_NODETYPE=y
-+# CONFIG_IPV6_TUNNEL is not set
-+# CONFIG_IPV6_MULTIPLE_TABLES is not set
-+# CONFIG_IPV6_MROUTE is not set
-+# CONFIG_NETWORK_SECMARK is not set
-+CONFIG_NETFILTER=y
-+# CONFIG_NETFILTER_DEBUG is not set
-+CONFIG_NETFILTER_ADVANCED=y
-+
-+#
-+# Core Netfilter Configuration
-+#
-+# CONFIG_NETFILTER_NETLINK_QUEUE is not set
-+# CONFIG_NETFILTER_NETLINK_LOG is not set
-+# CONFIG_NF_CONNTRACK is not set
-+CONFIG_NETFILTER_XTABLES=m
-+# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
-+# CONFIG_NETFILTER_XT_TARGET_MARK is not set
-+# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
-+# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
-+# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
-+# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
-+# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
-+# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
-+# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
-+# CONFIG_NETFILTER_XT_MATCH_ESP is not set
-+# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
-+# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
-+# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
-+# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
-+# CONFIG_NETFILTER_XT_MATCH_MAC is not set
-+# CONFIG_NETFILTER_XT_MATCH_MARK is not set
-+# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
-+# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
-+# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
-+# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
-+# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
-+# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
-+# CONFIG_NETFILTER_XT_MATCH_REALM is not set
-+# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
-+# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
-+# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
-+# CONFIG_NETFILTER_XT_MATCH_STRING is not set
-+# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
-+# CONFIG_NETFILTER_XT_MATCH_TIME is not set
-+# CONFIG_NETFILTER_XT_MATCH_U32 is not set
-+# CONFIG_IP_VS is not set
-+
-+#
-+# IP: Netfilter Configuration
-+#
-+# CONFIG_NF_DEFRAG_IPV4 is not set
-+# CONFIG_IP_NF_QUEUE is not set
-+# CONFIG_IP_NF_IPTABLES is not set
-+# CONFIG_IP_NF_ARPTABLES is not set
-+
-+#
-+# IPv6: Netfilter Configuration
-+#
-+# CONFIG_IP6_NF_QUEUE is not set
-+CONFIG_IP6_NF_IPTABLES=m
-+# CONFIG_IP6_NF_MATCH_AH is not set
-+# CONFIG_IP6_NF_MATCH_EUI64 is not set
-+# CONFIG_IP6_NF_MATCH_FRAG is not set
-+# CONFIG_IP6_NF_MATCH_OPTS is not set
-+# CONFIG_IP6_NF_MATCH_HL is not set
-+# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set
-+# CONFIG_IP6_NF_MATCH_MH is not set
-+# CONFIG_IP6_NF_MATCH_RT is not set
-+# CONFIG_IP6_NF_TARGET_LOG is not set
-+# CONFIG_IP6_NF_FILTER is not set
-+# CONFIG_IP6_NF_MANGLE is not set
-+# CONFIG_IP6_NF_RAW is not set
-+# CONFIG_IP_DCCP is not set
-+# CONFIG_IP_SCTP is not set
-+# CONFIG_TIPC is not set
-+# CONFIG_ATM is not set
-+# CONFIG_BRIDGE is not set
-+# CONFIG_NET_DSA is not set
-+# CONFIG_VLAN_8021Q is not set
-+# CONFIG_DECNET is not set
-+# CONFIG_LLC2 is not set
-+# CONFIG_IPX is not set
-+# CONFIG_ATALK is not set
-+# CONFIG_X25 is not set
-+# CONFIG_LAPB is not set
-+# CONFIG_ECONET is not set
-+# CONFIG_WAN_ROUTER is not set
-+# CONFIG_NET_SCHED is not set
-+
-+#
-+# Network testing
-+#
-+# CONFIG_NET_PKTGEN is not set
-+# CONFIG_HAMRADIO is not set
-+# CONFIG_CAN is not set
-+# CONFIG_IRDA is not set
-+# CONFIG_BT is not set
-+# CONFIG_AF_RXRPC is not set
-+# CONFIG_PHONET is not set
-+CONFIG_FIB_RULES=y
-+CONFIG_WIRELESS=y
-+CONFIG_CFG80211=y
-+CONFIG_NL80211=y
-+CONFIG_WIRELESS_OLD_REGULATORY=y
-+CONFIG_WIRELESS_EXT=y
-+CONFIG_WIRELESS_EXT_SYSFS=y
-+CONFIG_MAC80211=y
-+
-+#
-+# Rate control algorithm selection
-+#
-+CONFIG_MAC80211_RC_PID=y
-+# CONFIG_MAC80211_RC_MINSTREL is not set
-+CONFIG_MAC80211_RC_DEFAULT_PID=y
-+# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
-+CONFIG_MAC80211_RC_DEFAULT="pid"
-+# CONFIG_MAC80211_MESH is not set
-+CONFIG_MAC80211_LEDS=y
-+# CONFIG_MAC80211_DEBUG_MENU is not set
-+# CONFIG_IEEE80211 is not set
-+# CONFIG_RFKILL is not set
-+# CONFIG_NET_9P is not set
-+
-+#
-+# Device Drivers
-+#
-+
-+#
-+# Generic Driver Options
-+#
-+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-+CONFIG_STANDALONE=y
-+CONFIG_PREVENT_FIRMWARE_BUILD=y
-+CONFIG_FW_LOADER=y
-+CONFIG_FIRMWARE_IN_KERNEL=y
-+CONFIG_EXTRA_FIRMWARE=""
-+# CONFIG_DEBUG_DRIVER is not set
-+# CONFIG_DEBUG_DEVRES is not set
-+# CONFIG_SYS_HYPERVISOR is not set
-+# CONFIG_CONNECTOR is not set
-+CONFIG_MTD=y
-+# CONFIG_MTD_DEBUG is not set
-+# CONFIG_MTD_CONCAT is not set
-+CONFIG_MTD_PARTITIONS=y
-+# CONFIG_MTD_REDBOOT_PARTS is not set
-+CONFIG_MTD_CMDLINE_PARTS=y
-+# CONFIG_MTD_AFS_PARTS is not set
-+# CONFIG_MTD_AR7_PARTS is not set
-+
-+#
-+# User Modules And Translation Layers
-+#
-+CONFIG_MTD_CHAR=y
-+CONFIG_MTD_BLKDEVS=y
-+CONFIG_MTD_BLOCK=y
-+# CONFIG_FTL is not set
-+# CONFIG_NFTL is not set
-+# CONFIG_INFTL is not set
-+# CONFIG_RFD_FTL is not set
-+# CONFIG_SSFDC is not set
-+# CONFIG_MTD_OOPS is not set
-+
-+#
-+# RAM/ROM/Flash chip drivers
-+#
-+# CONFIG_MTD_CFI is not set
-+# CONFIG_MTD_JEDECPROBE is not set
-+CONFIG_MTD_MAP_BANK_WIDTH_1=y
-+CONFIG_MTD_MAP_BANK_WIDTH_2=y
-+CONFIG_MTD_MAP_BANK_WIDTH_4=y
-+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-+CONFIG_MTD_CFI_I1=y
-+CONFIG_MTD_CFI_I2=y
-+# CONFIG_MTD_CFI_I4 is not set
-+# CONFIG_MTD_CFI_I8 is not set
-+# CONFIG_MTD_RAM is not set
-+# CONFIG_MTD_ROM is not set
-+# CONFIG_MTD_ABSENT is not set
-+
-+#
-+# Mapping drivers for chip access
-+#
-+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-+# CONFIG_MTD_PLATRAM is not set
-+
-+#
-+# Self-contained MTD device drivers
-+#
-+# CONFIG_MTD_DATAFLASH is not set
-+# CONFIG_MTD_M25P80 is not set
-+# CONFIG_MTD_SLRAM is not set
-+# CONFIG_MTD_PHRAM is not set
-+# CONFIG_MTD_MTDRAM is not set
-+# CONFIG_MTD_BLOCK2MTD is not set
-+
-+#
-+# Disk-On-Chip Device Drivers
-+#
-+# CONFIG_MTD_DOC2000 is not set
-+# CONFIG_MTD_DOC2001 is not set
-+# CONFIG_MTD_DOC2001PLUS is not set
-+# CONFIG_MTD_NAND is not set
-+CONFIG_MTD_ONENAND=y
-+# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set
-+CONFIG_MTD_ONENAND_GENERIC=y
-+# CONFIG_MTD_ONENAND_OTP is not set
-+# CONFIG_MTD_ONENAND_2X_PROGRAM is not set
-+# CONFIG_MTD_ONENAND_SIM is not set
-+
-+#
-+# UBI - Unsorted block images
-+#
-+# CONFIG_MTD_UBI is not set
-+# CONFIG_PARPORT is not set
-+CONFIG_BLK_DEV=y
-+# CONFIG_BLK_DEV_COW_COMMON is not set
-+CONFIG_BLK_DEV_LOOP=y
-+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-+# CONFIG_BLK_DEV_NBD is not set
-+CONFIG_BLK_DEV_RAM=y
-+CONFIG_BLK_DEV_RAM_COUNT=16
-+CONFIG_BLK_DEV_RAM_SIZE=8192
-+# CONFIG_BLK_DEV_XIP is not set
-+# CONFIG_CDROM_PKTCDVD is not set
-+# CONFIG_ATA_OVER_ETH is not set
-+CONFIG_MISC_DEVICES=y
-+# CONFIG_EEPROM_93CX6 is not set
-+CONFIG_LOW_MEMORY_KILLER=y
-+# CONFIG_ENCLOSURE_SERVICES is not set
-+CONFIG_HAVE_IDE=y
-+# CONFIG_IDE is not set
-+
-+#
-+# SCSI device support
-+#
-+# CONFIG_RAID_ATTRS is not set
-+# CONFIG_SCSI is not set
-+# CONFIG_SCSI_DMA is not set
-+# CONFIG_SCSI_NETLINK is not set
-+# CONFIG_ATA is not set
-+# CONFIG_MD is not set
-+CONFIG_NETDEVICES=y
-+# CONFIG_DUMMY is not set
-+# CONFIG_BONDING is not set
-+# CONFIG_MACVLAN is not set
-+# CONFIG_EQUALIZER is not set
-+CONFIG_TUN=y
-+# CONFIG_VETH is not set
-+# CONFIG_NET_ETHERNET is not set
-+# CONFIG_NETDEV_1000 is not set
-+# CONFIG_NETDEV_10000 is not set
-+
-+#
-+# Wireless LAN
-+#
-+# CONFIG_WLAN_PRE80211 is not set
-+# CONFIG_WLAN_80211 is not set
-+# CONFIG_IWLWIFI_LEDS is not set
-+# CONFIG_WAN is not set
-+CONFIG_PPP=y
-+# CONFIG_PPP_MULTILINK is not set
-+# CONFIG_PPP_FILTER is not set
-+CONFIG_PPP_ASYNC=y
-+CONFIG_PPP_SYNC_TTY=y
-+CONFIG_PPP_DEFLATE=y
-+CONFIG_PPP_BSDCOMP=y
-+CONFIG_PPP_MPPE=y
-+# CONFIG_PPPOE is not set
-+# CONFIG_PPPOL2TP is not set
-+# CONFIG_SLIP is not set
-+CONFIG_SLHC=y
-+# CONFIG_NETCONSOLE is not set
-+# CONFIG_NETPOLL is not set
-+# CONFIG_NET_POLL_CONTROLLER is not set
-+# CONFIG_ISDN is not set
-+
-+#
-+# Input device support
-+#
-+CONFIG_INPUT=y
-+# CONFIG_INPUT_FF_MEMLESS is not set
-+# CONFIG_INPUT_POLLDEV is not set
-+
-+#
-+# Userland interfaces
-+#
-+CONFIG_INPUT_MOUSEDEV=y
-+CONFIG_INPUT_MOUSEDEV_PSAUX=y
-+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-+# CONFIG_INPUT_JOYDEV is not set
-+CONFIG_INPUT_EVDEV=y
-+# CONFIG_INPUT_EVBUG is not set
-+
-+#
-+# Input Device Drivers
-+#
-+CONFIG_INPUT_KEYBOARD=y
-+CONFIG_KEYBOARD_ATKBD=y
-+# CONFIG_KEYBOARD_SUNKBD is not set
-+# CONFIG_KEYBOARD_LKKBD is not set
-+# CONFIG_KEYBOARD_XTKBD is not set
-+# CONFIG_KEYBOARD_NEWTON is not set
-+# CONFIG_KEYBOARD_STOWAWAY is not set
-+# CONFIG_KEYBOARD_GPIO is not set
-+CONFIG_KEYBOARD_NEO1973=y
-+CONFIG_INPUT_MOUSE=y
-+CONFIG_MOUSE_PS2=y
-+CONFIG_MOUSE_PS2_ALPS=y
-+CONFIG_MOUSE_PS2_LOGIPS2PP=y
-+CONFIG_MOUSE_PS2_SYNAPTICS=y
-+CONFIG_MOUSE_PS2_LIFEBOOK=y
-+CONFIG_MOUSE_PS2_TRACKPOINT=y
-+# CONFIG_MOUSE_PS2_ELANTECH is not set
-+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-+# CONFIG_MOUSE_SERIAL is not set
-+# CONFIG_MOUSE_APPLETOUCH is not set
-+# CONFIG_MOUSE_BCM5974 is not set
-+# CONFIG_MOUSE_VSXXXAA is not set
-+# CONFIG_MOUSE_GPIO is not set
-+# CONFIG_INPUT_JOYSTICK is not set
-+# CONFIG_INPUT_TABLET is not set
-+CONFIG_INPUT_TOUCHSCREEN=y
-+CONFIG_TOUCHSCREEN_FILTER=y
-+CONFIG_TOUCHSCREEN_FILTER_GROUP=y
-+CONFIG_TOUCHSCREEN_FILTER_MEDIAN=y
-+CONFIG_TOUCHSCREEN_FILTER_MEAN=y
-+# CONFIG_TOUCHSCREEN_ADS7846 is not set
-+# CONFIG_TOUCHSCREEN_FUJITSU is not set
-+# CONFIG_TOUCHSCREEN_GUNZE is not set
-+# CONFIG_TOUCHSCREEN_ELO is not set
-+# CONFIG_TOUCHSCREEN_MTOUCH is not set
-+# CONFIG_TOUCHSCREEN_INEXIO is not set
-+# CONFIG_TOUCHSCREEN_MK712 is not set
-+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-+CONFIG_INPUT_MISC=y
-+CONFIG_TOUCHSCREEN_PCAP7200=y
-+# CONFIG_INPUT_ATI_REMOTE is not set
-+# CONFIG_INPUT_ATI_REMOTE2 is not set
-+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
-+# CONFIG_INPUT_POWERMATE is not set
-+# CONFIG_INPUT_YEALINK is not set
-+# CONFIG_INPUT_CM109 is not set
-+# CONFIG_INPUT_UINPUT is not set
-+CONFIG_INPUT_LIS302DL=y
-+CONFIG_INPUT_PCF50633_PMU=y
-+
-+#
-+# Hardware I/O ports
-+#
-+CONFIG_SERIO=y
-+CONFIG_SERIO_SERPORT=y
-+CONFIG_SERIO_LIBPS2=y
-+# CONFIG_SERIO_RAW is not set
-+# CONFIG_GAMEPORT is not set
-+
-+#
-+# Character devices
-+#
-+CONFIG_VT=y
-+CONFIG_CONSOLE_TRANSLATIONS=y
-+CONFIG_VT_CONSOLE=y
-+CONFIG_NR_TTY_DEVICES=6
-+CONFIG_HW_CONSOLE=y
-+# CONFIG_VT_HW_CONSOLE_BINDING is not set
-+CONFIG_DEVKMEM=y
-+# CONFIG_SERIAL_NONSTANDARD is not set
-+
-+#
-+# Serial drivers
-+#
-+CONFIG_SERIAL_8250=y
-+# CONFIG_SERIAL_8250_CONSOLE is not set
-+CONFIG_SERIAL_8250_NR_UARTS=4
-+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-+# CONFIG_SERIAL_8250_EXTENDED is not set
-+
-+#
-+# Non-8250 serial port support
-+#
-+CONFIG_SERIAL_SAMSUNG=y
-+CONFIG_SERIAL_SAMSUNG_UARTS=4
-+# CONFIG_SERIAL_SAMSUNG_DEBUG is not set
-+CONFIG_SERIAL_SAMSUNG_CONSOLE=y
-+CONFIG_SERIAL_S3C6400=y
-+CONFIG_SERIAL_CORE=y
-+CONFIG_SERIAL_CORE_CONSOLE=y
-+CONFIG_UNIX98_PTYS=y
-+CONFIG_LEGACY_PTYS=y
-+CONFIG_LEGACY_PTY_COUNT=256
-+# CONFIG_IPMI_HANDLER is not set
-+CONFIG_HW_RANDOM=y
-+# CONFIG_NVRAM is not set
-+# CONFIG_R3964 is not set
-+# CONFIG_RAW_DRIVER is not set
-+# CONFIG_TCG_TPM is not set
-+CONFIG_I2C=y
-+CONFIG_I2C_BOARDINFO=y
-+CONFIG_I2C_CHARDEV=y
-+CONFIG_I2C_HELPER_AUTO=y
-+
-+#
-+# I2C Hardware Bus support
-+#
-+
-+#
-+# I2C system bus drivers (mostly embedded / system-on-chip)
-+#
-+# CONFIG_I2C_GPIO is not set
-+# CONFIG_I2C_OCORES is not set
-+CONFIG_I2C_S3C2410=y
-+# CONFIG_I2C_SIMTEC is not set
-+
-+#
-+# External I2C/SMBus adapter drivers
-+#
-+# CONFIG_I2C_PARPORT_LIGHT is not set
-+# CONFIG_I2C_TAOS_EVM is not set
-+
-+#
-+# Other I2C/SMBus bus drivers
-+#
-+# CONFIG_I2C_PCA_PLATFORM is not set
-+# CONFIG_I2C_STUB is not set
-+
-+#
-+# Miscellaneous I2C Chip support
-+#
-+# CONFIG_DS1682 is not set
-+# CONFIG_AT24 is not set
-+# CONFIG_SENSORS_EEPROM is not set
-+# CONFIG_SENSORS_PCF50606 is not set
-+# CONFIG_SENSORS_PCF50633 is not set
-+# CONFIG_SENSORS_PCF8574 is not set
-+# CONFIG_PCF8575 is not set
-+# CONFIG_SENSORS_PCA9539 is not set
-+# CONFIG_SENSORS_PCF8591 is not set
-+# CONFIG_TPS65010 is not set
-+# CONFIG_SENSORS_MAX6875 is not set
-+# CONFIG_SENSORS_TSL2550 is not set
-+# CONFIG_SENSORS_TSL256X is not set
-+CONFIG_PCA9632=y
-+# CONFIG_I2C_DEBUG_CORE is not set
-+# CONFIG_I2C_DEBUG_ALGO is not set
-+# CONFIG_I2C_DEBUG_BUS is not set
-+# CONFIG_I2C_DEBUG_CHIP is not set
-+CONFIG_SPI=y
-+# CONFIG_SPI_DEBUG is not set
-+CONFIG_SPI_MASTER=y
-+
-+#
-+# SPI Master Controller Drivers
-+#
-+CONFIG_SPI_BITBANG=y
-+
-+#
-+# SPI Protocol Masters
-+#
-+# CONFIG_SPI_AT25 is not set
-+# CONFIG_SPI_SPIDEV is not set
-+# CONFIG_SPI_TLE62X0 is not set
-+CONFIG_ARCH_REQUIRE_GPIOLIB=y
-+CONFIG_GPIOLIB=y
-+# CONFIG_DEBUG_GPIO is not set
-+CONFIG_GPIO_SYSFS=y
-+
-+#
-+# I2C GPIO expanders:
-+#
-+# CONFIG_GPIO_MAX732X is not set
-+# CONFIG_GPIO_PCA953X is not set
-+# CONFIG_GPIO_PCF857X is not set
-+
-+#
-+# PCI GPIO expanders:
-+#
-+
-+#
-+# SPI GPIO expanders:
-+#
-+# CONFIG_GPIO_MAX7301 is not set
-+# CONFIG_GPIO_MCP23S08 is not set
-+# CONFIG_W1 is not set
-+CONFIG_POWER_SUPPLY=y
-+# CONFIG_POWER_SUPPLY_DEBUG is not set
-+# CONFIG_PDA_POWER is not set
-+# CONFIG_APM_POWER is not set
-+# CONFIG_BATTERY_DS2760 is not set
-+# CONFIG_BATTERY_BQ27x00 is not set
-+# CONFIG_BATTERY_BQ27000_HDQ is not set
-+CONFIG_CHARGER_PCF50633=y
-+CONFIG_HWMON=y
-+# CONFIG_HWMON_VID is not set
-+# CONFIG_SENSORS_AD7414 is not set
-+# CONFIG_SENSORS_AD7418 is not set
-+# CONFIG_SENSORS_ADCXX is not set
-+# CONFIG_SENSORS_ADM1021 is not set
-+# CONFIG_SENSORS_ADM1025 is not set
-+# CONFIG_SENSORS_ADM1026 is not set
-+# CONFIG_SENSORS_ADM1029 is not set
-+# CONFIG_SENSORS_ADM1031 is not set
-+# CONFIG_SENSORS_ADM9240 is not set
-+# CONFIG_SENSORS_ADT7470 is not set
-+# CONFIG_SENSORS_ADT7473 is not set
-+# CONFIG_SENSORS_ATXP1 is not set
-+# CONFIG_SENSORS_DS1621 is not set
-+# CONFIG_SENSORS_F71805F is not set
-+# CONFIG_SENSORS_F71882FG is not set
-+# CONFIG_SENSORS_F75375S is not set
-+# CONFIG_SENSORS_GL518SM is not set
-+# CONFIG_SENSORS_GL520SM is not set
-+# CONFIG_SENSORS_IT87 is not set
-+# CONFIG_SENSORS_LM63 is not set
-+# CONFIG_SENSORS_LM70 is not set
-+# CONFIG_SENSORS_LM75 is not set
-+# CONFIG_SENSORS_LM77 is not set
-+# CONFIG_SENSORS_LM78 is not set
-+# CONFIG_SENSORS_LM80 is not set
-+# CONFIG_SENSORS_LM83 is not set
-+# CONFIG_SENSORS_LM85 is not set
-+# CONFIG_SENSORS_LM87 is not set
-+# CONFIG_SENSORS_LM90 is not set
-+# CONFIG_SENSORS_LM92 is not set
-+# CONFIG_SENSORS_LM93 is not set
-+# CONFIG_SENSORS_MAX1111 is not set
-+# CONFIG_SENSORS_MAX1619 is not set
-+# CONFIG_SENSORS_MAX6650 is not set
-+# CONFIG_SENSORS_PC87360 is not set
-+# CONFIG_SENSORS_PC87427 is not set
-+# CONFIG_SENSORS_DME1737 is not set
-+# CONFIG_SENSORS_SMSC47M1 is not set
-+# CONFIG_SENSORS_SMSC47M192 is not set
-+# CONFIG_SENSORS_SMSC47B397 is not set
-+# CONFIG_SENSORS_ADS7828 is not set
-+# CONFIG_SENSORS_THMC50 is not set
-+# CONFIG_SENSORS_VT1211 is not set
-+# CONFIG_SENSORS_W83781D is not set
-+# CONFIG_SENSORS_W83791D is not set
-+# CONFIG_SENSORS_W83792D is not set
-+# CONFIG_SENSORS_W83793 is not set
-+# CONFIG_SENSORS_W83L785TS is not set
-+# CONFIG_SENSORS_W83L786NG is not set
-+# CONFIG_SENSORS_W83627HF is not set
-+# CONFIG_SENSORS_W83627EHF is not set
-+# CONFIG_HWMON_DEBUG_CHIP is not set
-+# CONFIG_THERMAL is not set
-+# CONFIG_THERMAL_HWMON is not set
-+# CONFIG_WATCHDOG is not set
-+
-+#
-+# Sonics Silicon Backplane
-+#
-+CONFIG_SSB_POSSIBLE=y
-+# CONFIG_SSB is not set
-+
-+#
-+# Multifunction device drivers
-+#
-+# CONFIG_MFD_CORE is not set
-+# CONFIG_MFD_SM501 is not set
-+# CONFIG_MFD_ASIC3 is not set
-+# CONFIG_HTC_EGPIO is not set
-+# CONFIG_HTC_PASIC3 is not set
-+# CONFIG_MFD_TMIO is not set
-+# CONFIG_MFD_T7L66XB is not set
-+# CONFIG_MFD_TC6387XB is not set
-+# CONFIG_MFD_TC6393XB is not set
-+# CONFIG_PMIC_DA903X is not set
-+# CONFIG_MFD_WM8400 is not set
-+# CONFIG_MFD_WM8350_I2C is not set
-+CONFIG_MFD_PCF50633=y
-+CONFIG_PCF50633_ADC=y
-+CONFIG_PCF50633_GPIO=y
-+# CONFIG_MFD_PCF50606 is not set
-+# CONFIG_MFD_GLAMO is not set
-+
-+#
-+# Multimedia devices
-+#
-+
-+#
-+# Multimedia core support
-+#
-+# CONFIG_VIDEO_DEV is not set
-+# CONFIG_DVB_CORE is not set
-+# CONFIG_VIDEO_MEDIA is not set
-+
-+#
-+# Multimedia drivers
-+#
-+# CONFIG_DAB is not set
-+
-+#
-+# Graphics support
-+#
-+# CONFIG_VGASTATE is not set
-+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-+CONFIG_FB=y
-+# CONFIG_FIRMWARE_EDID is not set
-+# CONFIG_FB_DDC is not set
-+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
-+CONFIG_FB_CFB_FILLRECT=y
-+CONFIG_FB_CFB_COPYAREA=y
-+CONFIG_FB_CFB_IMAGEBLIT=y
-+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-+# CONFIG_FB_SYS_FILLRECT is not set
-+# CONFIG_FB_SYS_COPYAREA is not set
-+# CONFIG_FB_SYS_IMAGEBLIT is not set
-+# CONFIG_FB_FOREIGN_ENDIAN is not set
-+# CONFIG_FB_SYS_FOPS is not set
-+# CONFIG_FB_SVGALIB is not set
-+# CONFIG_FB_MACMODES is not set
-+# CONFIG_FB_BACKLIGHT is not set
-+CONFIG_FB_MODE_HELPERS=y
-+CONFIG_FB_TILEBLITTING=y
-+
-+#
-+# Frame buffer hardware drivers
-+#
-+# CONFIG_FB_S1D13XXX is not set
-+CONFIG_FB_S3C=y
-+# CONFIG_FB_S3C_DEBUG_REGWRITE is not set
-+# CONFIG_FB_VIRTUAL is not set
-+# CONFIG_FB_METRONOME is not set
-+# CONFIG_FB_MB862XX is not set
-+CONFIG_BACKLIGHT_LCD_SUPPORT=y
-+CONFIG_LCD_CLASS_DEVICE=y
-+# CONFIG_LCD_LTV350QV is not set
-+# CONFIG_LCD_ILI9320 is not set
-+# CONFIG_LCD_TDO24M is not set
-+# CONFIG_LCD_VGG2432A4 is not set
-+CONFIG_LCD_PLATFORM=y
-+CONFIG_BACKLIGHT_CLASS_DEVICE=y
-+CONFIG_BACKLIGHT_CORGI=y
-+
-+#
-+# Display device support
-+#
-+# CONFIG_DISPLAY_SUPPORT is not set
-+# CONFIG_DISPLAY_JBT6K74 is not set
-+
-+#
-+# Console display driver support
-+#
-+# CONFIG_VGA_CONSOLE is not set
-+CONFIG_DUMMY_CONSOLE=y
-+CONFIG_FRAMEBUFFER_CONSOLE=y
-+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-+CONFIG_FONTS=y
-+CONFIG_FONT_8x8=y
-+CONFIG_FONT_8x16=y
-+# CONFIG_FONT_6x11 is not set
-+# CONFIG_FONT_7x14 is not set
-+# CONFIG_FONT_PEARL_8x8 is not set
-+# CONFIG_FONT_ACORN_8x8 is not set
-+# CONFIG_FONT_MINI_4x6 is not set
-+# CONFIG_FONT_SUN8x16 is not set
-+# CONFIG_FONT_SUN12x22 is not set
-+# CONFIG_FONT_10x18 is not set
-+CONFIG_LOGO=y
-+CONFIG_LOGO_LINUX_MONO=y
-+CONFIG_LOGO_LINUX_VGA16=y
-+# CONFIG_LOGO_LINUX_CLUT224 is not set
-+CONFIG_SOUND=y
-+# CONFIG_SOUND_OSS_CORE is not set
-+CONFIG_SND=y
-+CONFIG_SND_TIMER=y
-+CONFIG_SND_PCM=y
-+# CONFIG_SND_SEQUENCER is not set
-+# CONFIG_SND_MIXER_OSS is not set
-+# CONFIG_SND_PCM_OSS is not set
-+# CONFIG_SND_DYNAMIC_MINORS is not set
-+CONFIG_SND_SUPPORT_OLD_API=y
-+CONFIG_SND_VERBOSE_PROCFS=y
-+# CONFIG_SND_VERBOSE_PRINTK is not set
-+# CONFIG_SND_DEBUG is not set
-+CONFIG_SND_DRIVERS=y
-+# CONFIG_SND_DUMMY is not set
-+# CONFIG_SND_MTPAV is not set
-+# CONFIG_SND_SERIAL_U16550 is not set
-+# CONFIG_SND_MPU401 is not set
-+CONFIG_SND_ARM=y
-+CONFIG_SND_SPI=y
-+CONFIG_SND_SOC=y
-+# CONFIG_SND_SOC_ALL_CODECS is not set
-+# CONFIG_SOUND_PRIME is not set
-+CONFIG_HID_SUPPORT=y
-+CONFIG_HID=y
-+CONFIG_HID_DEBUG=y
-+# CONFIG_HIDRAW is not set
-+# CONFIG_HID_PID is not set
-+
-+#
-+# Special HID drivers
-+#
-+# CONFIG_HID_COMPAT is not set
-+CONFIG_USB_SUPPORT=y
-+CONFIG_USB_ARCH_HAS_HCD=y
-+# CONFIG_USB_ARCH_HAS_OHCI is not set
-+# CONFIG_USB_ARCH_HAS_EHCI is not set
-+# CONFIG_USB is not set
-+
-+#
-+# Enable Host or Gadget support to see Inventra options
-+#
-+
-+#
-+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-+#
-+# CONFIG_USB_GADGET is not set
-+# CONFIG_AR6000_WLAN is not set
-+CONFIG_MMC=y
-+CONFIG_MMC_DEBUG=y
-+CONFIG_MMC_UNSAFE_RESUME=y
-+
-+#
-+# MMC/SD/SDIO Card Drivers
-+#
-+CONFIG_MMC_BLOCK=y
-+CONFIG_MMC_BLOCK_BOUNCE=y
-+CONFIG_SDIO_UART=y
-+# CONFIG_MMC_TEST is not set
-+
-+#
-+# MMC/SD/SDIO Host Controller Drivers
-+#
-+CONFIG_MMC_SDHCI=y
-+CONFIG_MMC_SDHCI_S3C=y
-+# CONFIG_MMC_SPI is not set
-+# CONFIG_MEMSTICK is not set
-+# CONFIG_ACCESSIBILITY is not set
-+CONFIG_NEW_LEDS=y
-+# CONFIG_LEDS_CLASS is not set
-+
-+#
-+# LED drivers
-+#
-+
-+#
-+# LED Triggers
-+#
-+CONFIG_LEDS_TRIGGERS=y
-+# CONFIG_LEDS_TRIGGER_TIMER is not set
-+# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
-+# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-+# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-+CONFIG_RTC_LIB=y
-+CONFIG_RTC_CLASS=y
-+CONFIG_RTC_HCTOSYS=y
-+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-+# CONFIG_RTC_DEBUG is not set
-+
-+#
-+# RTC interfaces
-+#
-+CONFIG_RTC_INTF_SYSFS=y
-+CONFIG_RTC_INTF_PROC=y
-+CONFIG_RTC_INTF_DEV=y
-+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-+# CONFIG_RTC_DRV_TEST is not set
-+
-+#
-+# I2C RTC drivers
-+#
-+# CONFIG_RTC_DRV_DS1307 is not set
-+# CONFIG_RTC_DRV_DS1374 is not set
-+# CONFIG_RTC_DRV_DS1672 is not set
-+# CONFIG_RTC_DRV_MAX6900 is not set
-+# CONFIG_RTC_DRV_RS5C372 is not set
-+# CONFIG_RTC_DRV_ISL1208 is not set
-+# CONFIG_RTC_DRV_X1205 is not set
-+# CONFIG_RTC_DRV_PCF8563 is not set
-+# CONFIG_RTC_DRV_PCF8583 is not set
-+CONFIG_RTC_DRV_PCF50633=y
-+# CONFIG_RTC_DRV_PCF50606 is not set
-+# CONFIG_RTC_DRV_M41T80 is not set
-+# CONFIG_RTC_DRV_S35390A is not set
-+# CONFIG_RTC_DRV_FM3130 is not set
-+
-+#
-+# SPI RTC drivers
-+#
-+# CONFIG_RTC_DRV_M41T94 is not set
-+# CONFIG_RTC_DRV_DS1305 is not set
-+# CONFIG_RTC_DRV_MAX6902 is not set
-+# CONFIG_RTC_DRV_R9701 is not set
-+# CONFIG_RTC_DRV_RS5C348 is not set
-+# CONFIG_RTC_DRV_DS3234 is not set
-+
-+#
-+# Platform RTC drivers
-+#
-+# CONFIG_RTC_DRV_CMOS is not set
-+# CONFIG_RTC_DRV_DS1286 is not set
-+# CONFIG_RTC_DRV_DS1511 is not set
-+# CONFIG_RTC_DRV_DS1553 is not set
-+# CONFIG_RTC_DRV_DS1742 is not set
-+# CONFIG_RTC_DRV_STK17TA8 is not set
-+# CONFIG_RTC_DRV_M48T86 is not set
-+# CONFIG_RTC_DRV_M48T35 is not set
-+# CONFIG_RTC_DRV_M48T59 is not set
-+# CONFIG_RTC_DRV_BQ4802 is not set
-+# CONFIG_RTC_DRV_V3020 is not set
-+
-+#
-+# on-CPU RTC drivers
-+#
-+# CONFIG_DMADEVICES is not set
-+
-+#
-+# Android
-+#
-+CONFIG_ANDROID_BINDER_IPC=y
-+# CONFIG_ANDROID_POWER is not set
-+CONFIG_ANDROID_LOGGER=y
-+# CONFIG_ANDROID_RAM_CONSOLE is not set
-+# CONFIG_ANDROID_TIMED_GPIO is not set
-+# CONFIG_ANDROID_PARANOID_NETWORK is not set
-+CONFIG_REGULATOR=y
-+# CONFIG_REGULATOR_DEBUG is not set
-+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
-+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-+# CONFIG_REGULATOR_BQ24022 is not set
-+CONFIG_REGULATOR_PCF50633=y
-+# CONFIG_UIO is not set
-+
-+#
-+# File systems
-+#
-+CONFIG_EXT2_FS=y
-+# CONFIG_EXT2_FS_XATTR is not set
-+# CONFIG_EXT2_FS_XIP is not set
-+CONFIG_EXT3_FS=y
-+CONFIG_EXT3_FS_XATTR=y
-+CONFIG_EXT3_FS_POSIX_ACL=y
-+CONFIG_EXT3_FS_SECURITY=y
-+# CONFIG_EXT4_FS is not set
-+CONFIG_JBD=y
-+CONFIG_FS_MBCACHE=y
-+# CONFIG_REISERFS_FS is not set
-+# CONFIG_JFS_FS is not set
-+CONFIG_FS_POSIX_ACL=y
-+CONFIG_FILE_LOCKING=y
-+# CONFIG_XFS_FS is not set
-+# CONFIG_GFS2_FS is not set
-+# CONFIG_OCFS2_FS is not set
-+CONFIG_DNOTIFY=y
-+CONFIG_INOTIFY=y
-+CONFIG_INOTIFY_USER=y
-+# CONFIG_QUOTA is not set
-+# CONFIG_AUTOFS_FS is not set
-+# CONFIG_AUTOFS4_FS is not set
-+# CONFIG_FUSE_FS is not set
-+CONFIG_GENERIC_ACL=y
-+
-+#
-+# CD-ROM/DVD Filesystems
-+#
-+# CONFIG_ISO9660_FS is not set
-+# CONFIG_UDF_FS is not set
-+
-+#
-+# DOS/FAT/NT Filesystems
-+#
-+CONFIG_FAT_FS=y
-+# CONFIG_MSDOS_FS is not set
-+CONFIG_VFAT_FS=y
-+CONFIG_FAT_DEFAULT_CODEPAGE=437
-+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-+# CONFIG_NTFS_FS is not set
-+
-+#
-+# Pseudo filesystems
-+#
-+CONFIG_PROC_FS=y
-+CONFIG_PROC_SYSCTL=y
-+CONFIG_PROC_PAGE_MONITOR=y
-+CONFIG_SYSFS=y
-+CONFIG_TMPFS=y
-+CONFIG_TMPFS_POSIX_ACL=y
-+# CONFIG_HUGETLB_PAGE is not set
-+# CONFIG_CONFIGFS_FS is not set
-+
-+#
-+# Miscellaneous filesystems
-+#
-+# CONFIG_ADFS_FS is not set
-+# CONFIG_AFFS_FS is not set
-+# CONFIG_HFS_FS is not set
-+# CONFIG_HFSPLUS_FS is not set
-+# CONFIG_BEFS_FS is not set
-+# CONFIG_BFS_FS is not set
-+# CONFIG_EFS_FS is not set
-+CONFIG_JFFS2_FS=y
-+CONFIG_JFFS2_FS_DEBUG=0
-+CONFIG_JFFS2_FS_WRITEBUFFER=y
-+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-+CONFIG_JFFS2_SUMMARY=y
-+# CONFIG_JFFS2_FS_XATTR is not set
-+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-+CONFIG_JFFS2_ZLIB=y
-+# CONFIG_JFFS2_LZO is not set
-+CONFIG_JFFS2_RTIME=y
-+# CONFIG_JFFS2_RUBIN is not set
-+CONFIG_CRAMFS=y
-+# CONFIG_VXFS_FS is not set
-+# CONFIG_MINIX_FS is not set
-+# CONFIG_OMFS_FS is not set
-+# CONFIG_HPFS_FS is not set
-+# CONFIG_QNX4FS_FS is not set
-+CONFIG_ROMFS_FS=y
-+# CONFIG_SYSV_FS is not set
-+# CONFIG_UFS_FS is not set
-+CONFIG_NETWORK_FILESYSTEMS=y
-+# CONFIG_NFS_FS is not set
-+# CONFIG_NFSD is not set
-+# CONFIG_SMB_FS is not set
-+# CONFIG_CIFS is not set
-+# CONFIG_NCP_FS is not set
-+# CONFIG_CODA_FS is not set
-+# CONFIG_AFS_FS is not set
-+
-+#
-+# Partition Types
-+#
-+CONFIG_PARTITION_ADVANCED=y
-+# CONFIG_ACORN_PARTITION is not set
-+# CONFIG_OSF_PARTITION is not set
-+# CONFIG_AMIGA_PARTITION is not set
-+# CONFIG_ATARI_PARTITION is not set
-+# CONFIG_MAC_PARTITION is not set
-+CONFIG_MSDOS_PARTITION=y
-+# CONFIG_BSD_DISKLABEL is not set
-+# CONFIG_MINIX_SUBPARTITION is not set
-+# CONFIG_SOLARIS_X86_PARTITION is not set
-+# CONFIG_UNIXWARE_DISKLABEL is not set
-+# CONFIG_LDM_PARTITION is not set
-+# CONFIG_SGI_PARTITION is not set
-+# CONFIG_ULTRIX_PARTITION is not set
-+# CONFIG_SUN_PARTITION is not set
-+# CONFIG_KARMA_PARTITION is not set
-+# CONFIG_EFI_PARTITION is not set
-+# CONFIG_SYSV68_PARTITION is not set
-+CONFIG_NLS=y
-+CONFIG_NLS_DEFAULT="iso8859-1"
-+CONFIG_NLS_CODEPAGE_437=y
-+# CONFIG_NLS_CODEPAGE_737 is not set
-+# CONFIG_NLS_CODEPAGE_775 is not set
-+# CONFIG_NLS_CODEPAGE_850 is not set
-+# CONFIG_NLS_CODEPAGE_852 is not set
-+# CONFIG_NLS_CODEPAGE_855 is not set
-+# CONFIG_NLS_CODEPAGE_857 is not set
-+# CONFIG_NLS_CODEPAGE_860 is not set
-+# CONFIG_NLS_CODEPAGE_861 is not set
-+# CONFIG_NLS_CODEPAGE_862 is not set
-+# CONFIG_NLS_CODEPAGE_863 is not set
-+# CONFIG_NLS_CODEPAGE_864 is not set
-+# CONFIG_NLS_CODEPAGE_865 is not set
-+# CONFIG_NLS_CODEPAGE_866 is not set
-+# CONFIG_NLS_CODEPAGE_869 is not set
-+# CONFIG_NLS_CODEPAGE_936 is not set
-+# CONFIG_NLS_CODEPAGE_950 is not set
-+# CONFIG_NLS_CODEPAGE_932 is not set
-+# CONFIG_NLS_CODEPAGE_949 is not set
-+# CONFIG_NLS_CODEPAGE_874 is not set
-+# CONFIG_NLS_ISO8859_8 is not set
-+# CONFIG_NLS_CODEPAGE_1250 is not set
-+# CONFIG_NLS_CODEPAGE_1251 is not set
-+# CONFIG_NLS_ASCII is not set
-+CONFIG_NLS_ISO8859_1=y
-+# CONFIG_NLS_ISO8859_2 is not set
-+# CONFIG_NLS_ISO8859_3 is not set
-+# CONFIG_NLS_ISO8859_4 is not set
-+# CONFIG_NLS_ISO8859_5 is not set
-+# CONFIG_NLS_ISO8859_6 is not set
-+# CONFIG_NLS_ISO8859_7 is not set
-+# CONFIG_NLS_ISO8859_9 is not set
-+# CONFIG_NLS_ISO8859_13 is not set
-+# CONFIG_NLS_ISO8859_14 is not set
-+# CONFIG_NLS_ISO8859_15 is not set
-+# CONFIG_NLS_KOI8_R is not set
-+# CONFIG_NLS_KOI8_U is not set
-+CONFIG_NLS_UTF8=y
-+# CONFIG_DLM is not set
-+
-+#
-+# Kernel hacking
-+#
-+CONFIG_PRINTK_TIME=y
-+CONFIG_ENABLE_WARN_DEPRECATED=y
-+CONFIG_ENABLE_MUST_CHECK=y
-+CONFIG_FRAME_WARN=1024
-+CONFIG_MAGIC_SYSRQ=y
-+# CONFIG_UNUSED_SYMBOLS is not set
-+# CONFIG_DEBUG_FS is not set
-+# CONFIG_HEADERS_CHECK is not set
-+CONFIG_DEBUG_KERNEL=y
-+# CONFIG_DEBUG_SHIRQ is not set
-+CONFIG_DETECT_SOFTLOCKUP=y
-+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
-+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
-+CONFIG_SCHED_DEBUG=y
-+# CONFIG_SCHEDSTATS is not set
-+# CONFIG_TIMER_STATS is not set
-+# CONFIG_DEBUG_OBJECTS is not set
-+# CONFIG_SLUB_DEBUG_ON is not set
-+# CONFIG_SLUB_STATS is not set
-+CONFIG_DEBUG_RT_MUTEXES=y
-+CONFIG_DEBUG_PI_LIST=y
-+# CONFIG_RT_MUTEX_TESTER is not set
-+CONFIG_DEBUG_SPINLOCK=y
-+CONFIG_DEBUG_MUTEXES=y
-+# CONFIG_DEBUG_LOCK_ALLOC is not set
-+# CONFIG_PROVE_LOCKING is not set
-+# CONFIG_LOCK_STAT is not set
-+CONFIG_DEBUG_SPINLOCK_SLEEP=y
-+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-+# CONFIG_DEBUG_KOBJECT is not set
-+CONFIG_DEBUG_BUGVERBOSE=y
-+CONFIG_DEBUG_INFO=y
-+# CONFIG_DEBUG_VM is not set
-+# CONFIG_DEBUG_WRITECOUNT is not set
-+CONFIG_DEBUG_MEMORY_INIT=y
-+# CONFIG_DEBUG_LIST is not set
-+# CONFIG_DEBUG_SG is not set
-+CONFIG_FRAME_POINTER=y
-+# CONFIG_BOOT_PRINTK_DELAY is not set
-+# CONFIG_RCU_TORTURE_TEST is not set
-+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
-+# CONFIG_BACKTRACE_SELF_TEST is not set
-+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-+# CONFIG_FAULT_INJECTION is not set
-+# CONFIG_LATENCYTOP is not set
-+CONFIG_SYSCTL_SYSCALL_CHECK=y
-+CONFIG_HAVE_FUNCTION_TRACER=y
-+
-+#
-+# Tracers
-+#
-+# CONFIG_FUNCTION_TRACER is not set
-+# CONFIG_SCHED_TRACER is not set
-+# CONFIG_CONTEXT_SWITCH_TRACER is not set
-+# CONFIG_BOOT_TRACER is not set
-+# CONFIG_STACK_TRACER is not set
-+CONFIG_DYNAMIC_PRINTK_DEBUG=y
-+# CONFIG_SAMPLES is not set
-+CONFIG_HAVE_ARCH_KGDB=y
-+# CONFIG_KGDB is not set
-+CONFIG_DEBUG_USER=y
-+CONFIG_DEBUG_ERRORS=y
-+# CONFIG_DEBUG_STACK_USAGE is not set
-+CONFIG_DEBUG_LL=y
-+# CONFIG_DEBUG_ICEDCC is not set
-+CONFIG_DEBUG_S3C_PORT=y
-+CONFIG_DEBUG_S3C_UART=3
-+
-+#
-+# Security options
-+#
-+# CONFIG_KEYS is not set
-+# CONFIG_SECURITY is not set
-+# CONFIG_SECURITYFS is not set
-+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
-+CONFIG_CRYPTO=y
-+
-+#
-+# Crypto core or helper
-+#
-+# CONFIG_CRYPTO_FIPS is not set
-+CONFIG_CRYPTO_ALGAPI=y
-+CONFIG_CRYPTO_AEAD=y
-+CONFIG_CRYPTO_BLKCIPHER=y
-+CONFIG_CRYPTO_HASH=y
-+CONFIG_CRYPTO_RNG=y
-+CONFIG_CRYPTO_MANAGER=y
-+# CONFIG_CRYPTO_GF128MUL is not set
-+# CONFIG_CRYPTO_NULL is not set
-+# CONFIG_CRYPTO_CRYPTD is not set
-+# CONFIG_CRYPTO_AUTHENC is not set
-+# CONFIG_CRYPTO_TEST is not set
-+
-+#
-+# Authenticated Encryption with Associated Data
-+#
-+# CONFIG_CRYPTO_CCM is not set
-+# CONFIG_CRYPTO_GCM is not set
-+# CONFIG_CRYPTO_SEQIV is not set
-+
-+#
-+# Block modes
-+#
-+# CONFIG_CRYPTO_CBC is not set
-+# CONFIG_CRYPTO_CTR is not set
-+# CONFIG_CRYPTO_CTS is not set
-+CONFIG_CRYPTO_ECB=y
-+# CONFIG_CRYPTO_LRW is not set
-+# CONFIG_CRYPTO_PCBC is not set
-+# CONFIG_CRYPTO_XTS is not set
-+
-+#
-+# Hash modes
-+#
-+# CONFIG_CRYPTO_HMAC is not set
-+# CONFIG_CRYPTO_XCBC is not set
-+
-+#
-+# Digest
-+#
-+# CONFIG_CRYPTO_CRC32C is not set
-+# CONFIG_CRYPTO_MD4 is not set
-+CONFIG_CRYPTO_MD5=y
-+# CONFIG_CRYPTO_MICHAEL_MIC is not set
-+# CONFIG_CRYPTO_RMD128 is not set
-+# CONFIG_CRYPTO_RMD160 is not set
-+# CONFIG_CRYPTO_RMD256 is not set
-+# CONFIG_CRYPTO_RMD320 is not set
-+CONFIG_CRYPTO_SHA1=y
-+# CONFIG_CRYPTO_SHA256 is not set
-+# CONFIG_CRYPTO_SHA512 is not set
-+# CONFIG_CRYPTO_TGR192 is not set
-+# CONFIG_CRYPTO_WP512 is not set
-+
-+#
-+# Ciphers
-+#
-+CONFIG_CRYPTO_AES=y
-+# CONFIG_CRYPTO_ANUBIS is not set
-+CONFIG_CRYPTO_ARC4=y
-+# CONFIG_CRYPTO_BLOWFISH is not set
-+# CONFIG_CRYPTO_CAMELLIA is not set
-+# CONFIG_CRYPTO_CAST5 is not set
-+# CONFIG_CRYPTO_CAST6 is not set
-+# CONFIG_CRYPTO_DES is not set
-+# CONFIG_CRYPTO_FCRYPT is not set
-+# CONFIG_CRYPTO_KHAZAD is not set
-+# CONFIG_CRYPTO_SALSA20 is not set
-+# CONFIG_CRYPTO_SEED is not set
-+# CONFIG_CRYPTO_SERPENT is not set
-+# CONFIG_CRYPTO_TEA is not set
-+# CONFIG_CRYPTO_TWOFISH is not set
-+
-+#
-+# Compression
-+#
-+# CONFIG_CRYPTO_DEFLATE is not set
-+# CONFIG_CRYPTO_LZO is not set
-+
-+#
-+# Random Number Generation
-+#
-+# CONFIG_CRYPTO_ANSI_CPRNG is not set
-+CONFIG_CRYPTO_HW=y
-+
-+#
-+# Library routines
-+#
-+CONFIG_BITREVERSE=y
-+CONFIG_CRC_CCITT=y
-+# CONFIG_CRC16 is not set
-+# CONFIG_CRC_T10DIF is not set
-+# CONFIG_CRC_ITU_T is not set
-+CONFIG_CRC32=y
-+# CONFIG_CRC7 is not set
-+# CONFIG_LIBCRC32C is not set
-+CONFIG_ZLIB_INFLATE=y
-+CONFIG_ZLIB_DEFLATE=y
-+CONFIG_PLIST=y
-+CONFIG_HAS_IOMEM=y
-+CONFIG_HAS_DMA=y
-Index: linux-2.6.28/arch/arm/configs/s3c6400_defconfig
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/configs/s3c6400_defconfig    2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,845 @@
-+#
-+# Automatically generated make config: don't edit
-+# Linux kernel version: 2.6.28-rc3
-+# Mon Nov  3 10:10:30 2008
-+#
-+CONFIG_ARM=y
-+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-+CONFIG_GENERIC_GPIO=y
-+# CONFIG_GENERIC_TIME is not set
-+# CONFIG_GENERIC_CLOCKEVENTS is not set
-+CONFIG_MMU=y
-+CONFIG_NO_IOPORT=y
-+CONFIG_GENERIC_HARDIRQS=y
-+CONFIG_STACKTRACE_SUPPORT=y
-+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-+CONFIG_LOCKDEP_SUPPORT=y
-+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-+CONFIG_HARDIRQS_SW_RESEND=y
-+CONFIG_GENERIC_IRQ_PROBE=y
-+CONFIG_RWSEM_GENERIC_SPINLOCK=y
-+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-+CONFIG_GENERIC_HWEIGHT=y
-+CONFIG_GENERIC_CALIBRATE_DELAY=y
-+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-+CONFIG_VECTORS_BASE=0xffff0000
-+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-+
-+#
-+# General setup
-+#
-+CONFIG_EXPERIMENTAL=y
-+CONFIG_BROKEN_ON_SMP=y
-+CONFIG_INIT_ENV_ARG_LIMIT=32
-+CONFIG_LOCALVERSION=""
-+CONFIG_LOCALVERSION_AUTO=y
-+CONFIG_SWAP=y
-+# CONFIG_SYSVIPC is not set
-+# CONFIG_BSD_PROCESS_ACCT is not set
-+# CONFIG_IKCONFIG is not set
-+CONFIG_LOG_BUF_SHIFT=17
-+# CONFIG_CGROUPS is not set
-+# CONFIG_GROUP_SCHED is not set
-+CONFIG_SYSFS_DEPRECATED=y
-+CONFIG_SYSFS_DEPRECATED_V2=y
-+# CONFIG_RELAY is not set
-+CONFIG_NAMESPACES=y
-+# CONFIG_UTS_NS is not set
-+# CONFIG_USER_NS is not set
-+# CONFIG_PID_NS is not set
-+CONFIG_BLK_DEV_INITRD=y
-+CONFIG_INITRAMFS_SOURCE=""
-+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-+CONFIG_SYSCTL=y
-+# CONFIG_EMBEDDED is not set
-+CONFIG_UID16=y
-+CONFIG_SYSCTL_SYSCALL=y
-+CONFIG_KALLSYMS=y
-+CONFIG_KALLSYMS_ALL=y
-+# CONFIG_KALLSYMS_EXTRA_PASS is not set
-+CONFIG_HOTPLUG=y
-+CONFIG_PRINTK=y
-+CONFIG_BUG=y
-+CONFIG_ELF_CORE=y
-+CONFIG_COMPAT_BRK=y
-+CONFIG_BASE_FULL=y
-+CONFIG_FUTEX=y
-+CONFIG_ANON_INODES=y
-+CONFIG_EPOLL=y
-+CONFIG_SIGNALFD=y
-+CONFIG_TIMERFD=y
-+CONFIG_EVENTFD=y
-+CONFIG_SHMEM=y
-+CONFIG_AIO=y
-+CONFIG_VM_EVENT_COUNTERS=y
-+CONFIG_SLUB_DEBUG=y
-+# CONFIG_SLAB is not set
-+CONFIG_SLUB=y
-+# CONFIG_SLOB is not set
-+# CONFIG_PROFILING is not set
-+# CONFIG_MARKERS is not set
-+CONFIG_HAVE_OPROFILE=y
-+# CONFIG_KPROBES is not set
-+CONFIG_HAVE_KPROBES=y
-+CONFIG_HAVE_KRETPROBES=y
-+CONFIG_HAVE_CLK=y
-+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-+CONFIG_SLABINFO=y
-+CONFIG_RT_MUTEXES=y
-+# CONFIG_TINY_SHMEM is not set
-+CONFIG_BASE_SMALL=0
-+CONFIG_MODULES=y
-+# CONFIG_MODULE_FORCE_LOAD is not set
-+CONFIG_MODULE_UNLOAD=y
-+# CONFIG_MODULE_FORCE_UNLOAD is not set
-+# CONFIG_MODVERSIONS is not set
-+# CONFIG_MODULE_SRCVERSION_ALL is not set
-+CONFIG_KMOD=y
-+CONFIG_BLOCK=y
-+CONFIG_LBD=y
-+# CONFIG_BLK_DEV_IO_TRACE is not set
-+CONFIG_LSF=y
-+# CONFIG_BLK_DEV_BSG is not set
-+# CONFIG_BLK_DEV_INTEGRITY is not set
-+
-+#
-+# IO Schedulers
-+#
-+CONFIG_IOSCHED_NOOP=y
-+CONFIG_IOSCHED_AS=y
-+CONFIG_IOSCHED_DEADLINE=y
-+CONFIG_IOSCHED_CFQ=y
-+# CONFIG_DEFAULT_AS is not set
-+# CONFIG_DEFAULT_DEADLINE is not set
-+CONFIG_DEFAULT_CFQ=y
-+# CONFIG_DEFAULT_NOOP is not set
-+CONFIG_DEFAULT_IOSCHED="cfq"
-+CONFIG_CLASSIC_RCU=y
-+# CONFIG_FREEZER is not set
-+
-+#
-+# System Type
-+#
-+# CONFIG_ARCH_AAEC2000 is not set
-+# CONFIG_ARCH_INTEGRATOR is not set
-+# CONFIG_ARCH_REALVIEW is not set
-+# CONFIG_ARCH_VERSATILE is not set
-+# CONFIG_ARCH_AT91 is not set
-+# CONFIG_ARCH_CLPS7500 is not set
-+# CONFIG_ARCH_CLPS711X is not set
-+# CONFIG_ARCH_EBSA110 is not set
-+# CONFIG_ARCH_EP93XX is not set
-+# CONFIG_ARCH_FOOTBRIDGE is not set
-+# CONFIG_ARCH_NETX is not set
-+# CONFIG_ARCH_H720X is not set
-+# CONFIG_ARCH_IMX is not set
-+# CONFIG_ARCH_IOP13XX is not set
-+# CONFIG_ARCH_IOP32X is not set
-+# CONFIG_ARCH_IOP33X is not set
-+# CONFIG_ARCH_IXP23XX is not set
-+# CONFIG_ARCH_IXP2000 is not set
-+# CONFIG_ARCH_IXP4XX is not set
-+# CONFIG_ARCH_L7200 is not set
-+# CONFIG_ARCH_KIRKWOOD is not set
-+# CONFIG_ARCH_KS8695 is not set
-+# CONFIG_ARCH_NS9XXX is not set
-+# CONFIG_ARCH_LOKI is not set
-+# CONFIG_ARCH_MV78XX0 is not set
-+# CONFIG_ARCH_MXC is not set
-+# CONFIG_ARCH_ORION5X is not set
-+# CONFIG_ARCH_PNX4008 is not set
-+# CONFIG_ARCH_PXA is not set
-+# CONFIG_ARCH_RPC is not set
-+# CONFIG_ARCH_SA1100 is not set
-+# CONFIG_ARCH_S3C2410 is not set
-+CONFIG_ARCH_S3C64XX=y
-+# CONFIG_ARCH_SHARK is not set
-+# CONFIG_ARCH_LH7A40X is not set
-+# CONFIG_ARCH_DAVINCI is not set
-+# CONFIG_ARCH_OMAP is not set
-+# CONFIG_ARCH_MSM is not set
-+CONFIG_PLAT_S3C64XX=y
-+CONFIG_CPU_S3C6400_INIT=y
-+CONFIG_CPU_S3C6400_CLOCK=y
-+CONFIG_S3C64XX_SETUP_I2C0=y
-+CONFIG_S3C64XX_SETUP_I2C1=y
-+CONFIG_PLAT_S3C=y
-+
-+#
-+# Boot options
-+#
-+CONFIG_S3C_BOOT_ERROR_RESET=y
-+
-+#
-+# Power management
-+#
-+CONFIG_S3C_LOWLEVEL_UART_PORT=0
-+CONFIG_S3C_GPIO_SPACE=0
-+CONFIG_S3C_GPIO_TRACK=y
-+CONFIG_S3C_GPIO_PULL_UPDOWN=y
-+CONFIG_S3C_GPIO_CFG_S3C24XX=y
-+CONFIG_S3C_GPIO_CFG_S3C64XX=y
-+CONFIG_S3C_DEV_HSMMC=y
-+CONFIG_S3C_DEV_HSMMC1=y
-+CONFIG_S3C_DEV_I2C1=y
-+CONFIG_CPU_S3C6410=y
-+CONFIG_S3C6410_SETUP_SDHCI=y
-+CONFIG_MACH_SMDK6410=y
-+CONFIG_SMDK6410_SD_CH0=y
-+# CONFIG_SMDK6410_SD_CH1 is not set
-+
-+#
-+# Processor Type
-+#
-+CONFIG_CPU_32=y
-+CONFIG_CPU_V6=y
-+CONFIG_CPU_32v6K=y
-+CONFIG_CPU_32v6=y
-+CONFIG_CPU_ABRT_EV6=y
-+CONFIG_CPU_PABRT_NOIFAR=y
-+CONFIG_CPU_CACHE_V6=y
-+CONFIG_CPU_CACHE_VIPT=y
-+CONFIG_CPU_COPY_V6=y
-+CONFIG_CPU_TLB_V6=y
-+CONFIG_CPU_HAS_ASID=y
-+CONFIG_CPU_CP15=y
-+CONFIG_CPU_CP15_MMU=y
-+
-+#
-+# Processor Features
-+#
-+CONFIG_ARM_THUMB=y
-+# CONFIG_CPU_ICACHE_DISABLE is not set
-+# CONFIG_CPU_DCACHE_DISABLE is not set
-+# CONFIG_CPU_BPREDICT_DISABLE is not set
-+# CONFIG_OUTER_CACHE is not set
-+CONFIG_ARM_VIC=y
-+
-+#
-+# Bus support
-+#
-+# CONFIG_PCI_SYSCALL is not set
-+# CONFIG_ARCH_SUPPORTS_MSI is not set
-+# CONFIG_PCCARD is not set
-+
-+#
-+# Kernel Features
-+#
-+CONFIG_VMSPLIT_3G=y
-+# CONFIG_VMSPLIT_2G is not set
-+# CONFIG_VMSPLIT_1G is not set
-+CONFIG_PAGE_OFFSET=0xC0000000
-+# CONFIG_PREEMPT is not set
-+CONFIG_HZ=100
-+CONFIG_AEABI=y
-+CONFIG_OABI_COMPAT=y
-+CONFIG_ARCH_FLATMEM_HAS_HOLES=y
-+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-+CONFIG_SELECT_MEMORY_MODEL=y
-+CONFIG_FLATMEM_MANUAL=y
-+# CONFIG_DISCONTIGMEM_MANUAL is not set
-+# CONFIG_SPARSEMEM_MANUAL is not set
-+CONFIG_FLATMEM=y
-+CONFIG_FLAT_NODE_MEM_MAP=y
-+CONFIG_PAGEFLAGS_EXTENDED=y
-+CONFIG_SPLIT_PTLOCK_CPUS=4
-+# CONFIG_RESOURCES_64BIT is not set
-+# CONFIG_PHYS_ADDR_T_64BIT is not set
-+CONFIG_ZONE_DMA_FLAG=0
-+CONFIG_VIRT_TO_BUS=y
-+CONFIG_UNEVICTABLE_LRU=y
-+CONFIG_ALIGNMENT_TRAP=y
-+
-+#
-+# Boot options
-+#
-+CONFIG_ZBOOT_ROM_TEXT=0
-+CONFIG_ZBOOT_ROM_BSS=0
-+CONFIG_CMDLINE="console=ttySAC0,115200 root=/dev/ram init=/bin/bash initrd=0x51000000,4M"
-+# CONFIG_XIP_KERNEL is not set
-+# CONFIG_KEXEC is not set
-+
-+#
-+# CPU Power Management
-+#
-+# CONFIG_CPU_IDLE is not set
-+
-+#
-+# Floating point emulation
-+#
-+
-+#
-+# At least one emulation must be selected
-+#
-+# CONFIG_FPE_NWFPE is not set
-+# CONFIG_FPE_FASTFPE is not set
-+CONFIG_VFP=y
-+
-+#
-+# Userspace binary formats
-+#
-+CONFIG_BINFMT_ELF=y
-+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-+CONFIG_HAVE_AOUT=y
-+# CONFIG_BINFMT_AOUT is not set
-+# CONFIG_BINFMT_MISC is not set
-+
-+#
-+# Power management options
-+#
-+# CONFIG_PM is not set
-+CONFIG_ARCH_SUSPEND_POSSIBLE=y
-+# CONFIG_NET is not set
-+
-+#
-+# Device Drivers
-+#
-+
-+#
-+# Generic Driver Options
-+#
-+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-+CONFIG_STANDALONE=y
-+CONFIG_PREVENT_FIRMWARE_BUILD=y
-+CONFIG_FW_LOADER=y
-+CONFIG_FIRMWARE_IN_KERNEL=y
-+CONFIG_EXTRA_FIRMWARE=""
-+# CONFIG_DEBUG_DRIVER is not set
-+# CONFIG_DEBUG_DEVRES is not set
-+# CONFIG_SYS_HYPERVISOR is not set
-+# CONFIG_MTD is not set
-+# CONFIG_PARPORT is not set
-+CONFIG_BLK_DEV=y
-+# CONFIG_BLK_DEV_COW_COMMON is not set
-+CONFIG_BLK_DEV_LOOP=y
-+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-+CONFIG_BLK_DEV_RAM=y
-+CONFIG_BLK_DEV_RAM_COUNT=16
-+CONFIG_BLK_DEV_RAM_SIZE=4096
-+# CONFIG_BLK_DEV_XIP is not set
-+# CONFIG_CDROM_PKTCDVD is not set
-+CONFIG_MISC_DEVICES=y
-+# CONFIG_EEPROM_93CX6 is not set
-+# CONFIG_ENCLOSURE_SERVICES is not set
-+CONFIG_HAVE_IDE=y
-+# CONFIG_IDE is not set
-+
-+#
-+# SCSI device support
-+#
-+# CONFIG_RAID_ATTRS is not set
-+# CONFIG_SCSI is not set
-+# CONFIG_SCSI_DMA is not set
-+# CONFIG_SCSI_NETLINK is not set
-+# CONFIG_ATA is not set
-+# CONFIG_MD is not set
-+
-+#
-+# Input device support
-+#
-+CONFIG_INPUT=y
-+# CONFIG_INPUT_FF_MEMLESS is not set
-+# CONFIG_INPUT_POLLDEV is not set
-+
-+#
-+# Userland interfaces
-+#
-+CONFIG_INPUT_MOUSEDEV=y
-+CONFIG_INPUT_MOUSEDEV_PSAUX=y
-+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-+# CONFIG_INPUT_JOYDEV is not set
-+# CONFIG_INPUT_EVDEV is not set
-+# CONFIG_INPUT_EVBUG is not set
-+
-+#
-+# Input Device Drivers
-+#
-+CONFIG_INPUT_KEYBOARD=y
-+CONFIG_KEYBOARD_ATKBD=y
-+# CONFIG_KEYBOARD_SUNKBD is not set
-+# CONFIG_KEYBOARD_LKKBD is not set
-+# CONFIG_KEYBOARD_XTKBD is not set
-+# CONFIG_KEYBOARD_NEWTON is not set
-+# CONFIG_KEYBOARD_STOWAWAY is not set
-+# CONFIG_KEYBOARD_GPIO is not set
-+CONFIG_INPUT_MOUSE=y
-+CONFIG_MOUSE_PS2=y
-+CONFIG_MOUSE_PS2_ALPS=y
-+CONFIG_MOUSE_PS2_LOGIPS2PP=y
-+CONFIG_MOUSE_PS2_SYNAPTICS=y
-+CONFIG_MOUSE_PS2_LIFEBOOK=y
-+CONFIG_MOUSE_PS2_TRACKPOINT=y
-+# CONFIG_MOUSE_PS2_ELANTECH is not set
-+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-+# CONFIG_MOUSE_SERIAL is not set
-+# CONFIG_MOUSE_APPLETOUCH is not set
-+# CONFIG_MOUSE_BCM5974 is not set
-+# CONFIG_MOUSE_VSXXXAA is not set
-+# CONFIG_MOUSE_GPIO is not set
-+# CONFIG_INPUT_JOYSTICK is not set
-+# CONFIG_INPUT_TABLET is not set
-+# CONFIG_INPUT_TOUCHSCREEN is not set
-+# CONFIG_INPUT_MISC is not set
-+
-+#
-+# Hardware I/O ports
-+#
-+CONFIG_SERIO=y
-+CONFIG_SERIO_SERPORT=y
-+CONFIG_SERIO_LIBPS2=y
-+# CONFIG_SERIO_RAW is not set
-+# CONFIG_GAMEPORT is not set
-+
-+#
-+# Character devices
-+#
-+CONFIG_VT=y
-+CONFIG_CONSOLE_TRANSLATIONS=y
-+CONFIG_VT_CONSOLE=y
-+CONFIG_HW_CONSOLE=y
-+# CONFIG_VT_HW_CONSOLE_BINDING is not set
-+CONFIG_DEVKMEM=y
-+# CONFIG_SERIAL_NONSTANDARD is not set
-+
-+#
-+# Serial drivers
-+#
-+CONFIG_SERIAL_8250=y
-+# CONFIG_SERIAL_8250_CONSOLE is not set
-+CONFIG_SERIAL_8250_NR_UARTS=4
-+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-+# CONFIG_SERIAL_8250_EXTENDED is not set
-+
-+#
-+# Non-8250 serial port support
-+#
-+CONFIG_SERIAL_SAMSUNG=y
-+CONFIG_SERIAL_SAMSUNG_UARTS=4
-+# CONFIG_SERIAL_SAMSUNG_DEBUG is not set
-+CONFIG_SERIAL_SAMSUNG_CONSOLE=y
-+CONFIG_SERIAL_S3C6400=y
-+CONFIG_SERIAL_CORE=y
-+CONFIG_SERIAL_CORE_CONSOLE=y
-+CONFIG_UNIX98_PTYS=y
-+CONFIG_LEGACY_PTYS=y
-+CONFIG_LEGACY_PTY_COUNT=256
-+# CONFIG_IPMI_HANDLER is not set
-+CONFIG_HW_RANDOM=y
-+# CONFIG_NVRAM is not set
-+# CONFIG_R3964 is not set
-+# CONFIG_RAW_DRIVER is not set
-+# CONFIG_TCG_TPM is not set
-+CONFIG_I2C=y
-+CONFIG_I2C_BOARDINFO=y
-+CONFIG_I2C_CHARDEV=y
-+CONFIG_I2C_HELPER_AUTO=y
-+
-+#
-+# I2C Hardware Bus support
-+#
-+
-+#
-+# I2C system bus drivers (mostly embedded / system-on-chip)
-+#
-+# CONFIG_I2C_GPIO is not set
-+# CONFIG_I2C_OCORES is not set
-+CONFIG_I2C_S3C2410=y
-+# CONFIG_I2C_SIMTEC is not set
-+
-+#
-+# External I2C/SMBus adapter drivers
-+#
-+# CONFIG_I2C_PARPORT_LIGHT is not set
-+# CONFIG_I2C_TAOS_EVM is not set
-+
-+#
-+# Other I2C/SMBus bus drivers
-+#
-+# CONFIG_I2C_PCA_PLATFORM is not set
-+# CONFIG_I2C_STUB is not set
-+
-+#
-+# Miscellaneous I2C Chip support
-+#
-+# CONFIG_DS1682 is not set
-+CONFIG_AT24=y
-+# CONFIG_SENSORS_EEPROM is not set
-+# CONFIG_SENSORS_PCF8574 is not set
-+# CONFIG_PCF8575 is not set
-+# CONFIG_SENSORS_PCA9539 is not set
-+# CONFIG_SENSORS_PCF8591 is not set
-+# CONFIG_TPS65010 is not set
-+# CONFIG_SENSORS_MAX6875 is not set
-+# CONFIG_SENSORS_TSL2550 is not set
-+# CONFIG_I2C_DEBUG_CORE is not set
-+# CONFIG_I2C_DEBUG_ALGO is not set
-+# CONFIG_I2C_DEBUG_BUS is not set
-+# CONFIG_I2C_DEBUG_CHIP is not set
-+# CONFIG_SPI is not set
-+CONFIG_ARCH_REQUIRE_GPIOLIB=y
-+CONFIG_GPIOLIB=y
-+# CONFIG_DEBUG_GPIO is not set
-+# CONFIG_GPIO_SYSFS is not set
-+
-+#
-+# I2C GPIO expanders:
-+#
-+# CONFIG_GPIO_MAX732X is not set
-+# CONFIG_GPIO_PCA953X is not set
-+# CONFIG_GPIO_PCF857X is not set
-+
-+#
-+# PCI GPIO expanders:
-+#
-+
-+#
-+# SPI GPIO expanders:
-+#
-+# CONFIG_W1 is not set
-+# CONFIG_POWER_SUPPLY is not set
-+CONFIG_HWMON=y
-+# CONFIG_HWMON_VID is not set
-+# CONFIG_SENSORS_AD7414 is not set
-+# CONFIG_SENSORS_AD7418 is not set
-+# CONFIG_SENSORS_ADM1021 is not set
-+# CONFIG_SENSORS_ADM1025 is not set
-+# CONFIG_SENSORS_ADM1026 is not set
-+# CONFIG_SENSORS_ADM1029 is not set
-+# CONFIG_SENSORS_ADM1031 is not set
-+# CONFIG_SENSORS_ADM9240 is not set
-+# CONFIG_SENSORS_ADT7470 is not set
-+# CONFIG_SENSORS_ADT7473 is not set
-+# CONFIG_SENSORS_ATXP1 is not set
-+# CONFIG_SENSORS_DS1621 is not set
-+# CONFIG_SENSORS_F71805F is not set
-+# CONFIG_SENSORS_F71882FG is not set
-+# CONFIG_SENSORS_F75375S is not set
-+# CONFIG_SENSORS_GL518SM is not set
-+# CONFIG_SENSORS_GL520SM is not set
-+# CONFIG_SENSORS_IT87 is not set
-+# CONFIG_SENSORS_LM63 is not set
-+# CONFIG_SENSORS_LM75 is not set
-+# CONFIG_SENSORS_LM77 is not set
-+# CONFIG_SENSORS_LM78 is not set
-+# CONFIG_SENSORS_LM80 is not set
-+# CONFIG_SENSORS_LM83 is not set
-+# CONFIG_SENSORS_LM85 is not set
-+# CONFIG_SENSORS_LM87 is not set
-+# CONFIG_SENSORS_LM90 is not set
-+# CONFIG_SENSORS_LM92 is not set
-+# CONFIG_SENSORS_LM93 is not set
-+# CONFIG_SENSORS_MAX1619 is not set
-+# CONFIG_SENSORS_MAX6650 is not set
-+# CONFIG_SENSORS_PC87360 is not set
-+# CONFIG_SENSORS_PC87427 is not set
-+# CONFIG_SENSORS_DME1737 is not set
-+# CONFIG_SENSORS_SMSC47M1 is not set
-+# CONFIG_SENSORS_SMSC47M192 is not set
-+# CONFIG_SENSORS_SMSC47B397 is not set
-+# CONFIG_SENSORS_ADS7828 is not set
-+# CONFIG_SENSORS_THMC50 is not set
-+# CONFIG_SENSORS_VT1211 is not set
-+# CONFIG_SENSORS_W83781D is not set
-+# CONFIG_SENSORS_W83791D is not set
-+# CONFIG_SENSORS_W83792D is not set
-+# CONFIG_SENSORS_W83793 is not set
-+# CONFIG_SENSORS_W83L785TS is not set
-+# CONFIG_SENSORS_W83L786NG is not set
-+# CONFIG_SENSORS_W83627HF is not set
-+# CONFIG_SENSORS_W83627EHF is not set
-+# CONFIG_HWMON_DEBUG_CHIP is not set
-+# CONFIG_THERMAL is not set
-+# CONFIG_THERMAL_HWMON is not set
-+# CONFIG_WATCHDOG is not set
-+
-+#
-+# Sonics Silicon Backplane
-+#
-+CONFIG_SSB_POSSIBLE=y
-+# CONFIG_SSB is not set
-+
-+#
-+# Multifunction device drivers
-+#
-+# CONFIG_MFD_CORE is not set
-+# CONFIG_MFD_SM501 is not set
-+# CONFIG_MFD_ASIC3 is not set
-+# CONFIG_HTC_EGPIO is not set
-+# CONFIG_HTC_PASIC3 is not set
-+# CONFIG_MFD_TMIO is not set
-+# CONFIG_MFD_T7L66XB is not set
-+# CONFIG_MFD_TC6387XB is not set
-+# CONFIG_MFD_TC6393XB is not set
-+# CONFIG_PMIC_DA903X is not set
-+# CONFIG_MFD_WM8400 is not set
-+# CONFIG_MFD_WM8350_I2C is not set
-+
-+#
-+# Multimedia devices
-+#
-+
-+#
-+# Multimedia core support
-+#
-+# CONFIG_VIDEO_DEV is not set
-+# CONFIG_VIDEO_MEDIA is not set
-+
-+#
-+# Multimedia drivers
-+#
-+# CONFIG_DAB is not set
-+
-+#
-+# Graphics support
-+#
-+# CONFIG_VGASTATE is not set
-+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-+# CONFIG_FB is not set
-+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-+
-+#
-+# Display device support
-+#
-+# CONFIG_DISPLAY_SUPPORT is not set
-+
-+#
-+# Console display driver support
-+#
-+# CONFIG_VGA_CONSOLE is not set
-+CONFIG_DUMMY_CONSOLE=y
-+# CONFIG_SOUND is not set
-+CONFIG_HID_SUPPORT=y
-+CONFIG_HID=y
-+CONFIG_HID_DEBUG=y
-+# CONFIG_HIDRAW is not set
-+# CONFIG_HID_PID is not set
-+
-+#
-+# Special HID drivers
-+#
-+# CONFIG_HID_COMPAT is not set
-+CONFIG_USB_SUPPORT=y
-+CONFIG_USB_ARCH_HAS_HCD=y
-+# CONFIG_USB_ARCH_HAS_OHCI is not set
-+# CONFIG_USB_ARCH_HAS_EHCI is not set
-+# CONFIG_USB is not set
-+
-+#
-+# Enable Host or Gadget support to see Inventra options
-+#
-+
-+#
-+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-+#
-+# CONFIG_USB_GADGET is not set
-+CONFIG_MMC=y
-+CONFIG_MMC_DEBUG=y
-+CONFIG_MMC_UNSAFE_RESUME=y
-+
-+#
-+# MMC/SD/SDIO Card Drivers
-+#
-+CONFIG_MMC_BLOCK=y
-+CONFIG_MMC_BLOCK_BOUNCE=y
-+CONFIG_SDIO_UART=y
-+# CONFIG_MMC_TEST is not set
-+
-+#
-+# MMC/SD/SDIO Host Controller Drivers
-+#
-+CONFIG_MMC_SDHCI=y
-+CONFIG_MMC_SDHCI_S3C=y
-+# CONFIG_MEMSTICK is not set
-+# CONFIG_ACCESSIBILITY is not set
-+# CONFIG_NEW_LEDS is not set
-+CONFIG_RTC_LIB=y
-+# CONFIG_RTC_CLASS is not set
-+# CONFIG_DMADEVICES is not set
-+
-+#
-+# Voltage and Current regulators
-+#
-+# CONFIG_REGULATOR is not set
-+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
-+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-+# CONFIG_REGULATOR_BQ24022 is not set
-+# CONFIG_UIO is not set
-+
-+#
-+# File systems
-+#
-+CONFIG_EXT2_FS=y
-+# CONFIG_EXT2_FS_XATTR is not set
-+# CONFIG_EXT2_FS_XIP is not set
-+CONFIG_EXT3_FS=y
-+CONFIG_EXT3_FS_XATTR=y
-+CONFIG_EXT3_FS_POSIX_ACL=y
-+CONFIG_EXT3_FS_SECURITY=y
-+# CONFIG_EXT4_FS is not set
-+CONFIG_JBD=y
-+CONFIG_FS_MBCACHE=y
-+# CONFIG_REISERFS_FS is not set
-+# CONFIG_JFS_FS is not set
-+CONFIG_FS_POSIX_ACL=y
-+CONFIG_FILE_LOCKING=y
-+# CONFIG_XFS_FS is not set
-+# CONFIG_GFS2_FS is not set
-+CONFIG_DNOTIFY=y
-+CONFIG_INOTIFY=y
-+CONFIG_INOTIFY_USER=y
-+# CONFIG_QUOTA is not set
-+# CONFIG_AUTOFS_FS is not set
-+# CONFIG_AUTOFS4_FS is not set
-+# CONFIG_FUSE_FS is not set
-+CONFIG_GENERIC_ACL=y
-+
-+#
-+# CD-ROM/DVD Filesystems
-+#
-+# CONFIG_ISO9660_FS is not set
-+# CONFIG_UDF_FS is not set
-+
-+#
-+# DOS/FAT/NT Filesystems
-+#
-+# CONFIG_MSDOS_FS is not set
-+# CONFIG_VFAT_FS is not set
-+# CONFIG_NTFS_FS is not set
-+
-+#
-+# Pseudo filesystems
-+#
-+CONFIG_PROC_FS=y
-+CONFIG_PROC_SYSCTL=y
-+CONFIG_PROC_PAGE_MONITOR=y
-+CONFIG_SYSFS=y
-+CONFIG_TMPFS=y
-+CONFIG_TMPFS_POSIX_ACL=y
-+# CONFIG_HUGETLB_PAGE is not set
-+# CONFIG_CONFIGFS_FS is not set
-+
-+#
-+# Miscellaneous filesystems
-+#
-+# CONFIG_ADFS_FS is not set
-+# CONFIG_AFFS_FS is not set
-+# CONFIG_HFS_FS is not set
-+# CONFIG_HFSPLUS_FS is not set
-+# CONFIG_BEFS_FS is not set
-+# CONFIG_BFS_FS is not set
-+# CONFIG_EFS_FS is not set
-+CONFIG_CRAMFS=y
-+# CONFIG_VXFS_FS is not set
-+# CONFIG_MINIX_FS is not set
-+# CONFIG_OMFS_FS is not set
-+# CONFIG_HPFS_FS is not set
-+# CONFIG_QNX4FS_FS is not set
-+CONFIG_ROMFS_FS=y
-+# CONFIG_SYSV_FS is not set
-+# CONFIG_UFS_FS is not set
-+
-+#
-+# Partition Types
-+#
-+# CONFIG_PARTITION_ADVANCED is not set
-+CONFIG_MSDOS_PARTITION=y
-+# CONFIG_NLS is not set
-+
-+#
-+# Kernel hacking
-+#
-+# CONFIG_PRINTK_TIME is not set
-+CONFIG_ENABLE_WARN_DEPRECATED=y
-+CONFIG_ENABLE_MUST_CHECK=y
-+CONFIG_FRAME_WARN=1024
-+CONFIG_MAGIC_SYSRQ=y
-+# CONFIG_UNUSED_SYMBOLS is not set
-+# CONFIG_DEBUG_FS is not set
-+# CONFIG_HEADERS_CHECK is not set
-+CONFIG_DEBUG_KERNEL=y
-+# CONFIG_DEBUG_SHIRQ is not set
-+CONFIG_DETECT_SOFTLOCKUP=y
-+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
-+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
-+CONFIG_SCHED_DEBUG=y
-+# CONFIG_SCHEDSTATS is not set
-+# CONFIG_TIMER_STATS is not set
-+# CONFIG_DEBUG_OBJECTS is not set
-+# CONFIG_SLUB_DEBUG_ON is not set
-+# CONFIG_SLUB_STATS is not set
-+CONFIG_DEBUG_RT_MUTEXES=y
-+CONFIG_DEBUG_PI_LIST=y
-+# CONFIG_RT_MUTEX_TESTER is not set
-+CONFIG_DEBUG_SPINLOCK=y
-+CONFIG_DEBUG_MUTEXES=y
-+# CONFIG_DEBUG_LOCK_ALLOC is not set
-+# CONFIG_PROVE_LOCKING is not set
-+# CONFIG_LOCK_STAT is not set
-+CONFIG_DEBUG_SPINLOCK_SLEEP=y
-+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-+# CONFIG_DEBUG_KOBJECT is not set
-+CONFIG_DEBUG_BUGVERBOSE=y
-+CONFIG_DEBUG_INFO=y
-+# CONFIG_DEBUG_VM is not set
-+# CONFIG_DEBUG_WRITECOUNT is not set
-+CONFIG_DEBUG_MEMORY_INIT=y
-+# CONFIG_DEBUG_LIST is not set
-+# CONFIG_DEBUG_SG is not set
-+CONFIG_FRAME_POINTER=y
-+# CONFIG_BOOT_PRINTK_DELAY is not set
-+# CONFIG_RCU_TORTURE_TEST is not set
-+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
-+# CONFIG_BACKTRACE_SELF_TEST is not set
-+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-+# CONFIG_FAULT_INJECTION is not set
-+# CONFIG_LATENCYTOP is not set
-+CONFIG_SYSCTL_SYSCALL_CHECK=y
-+CONFIG_HAVE_FUNCTION_TRACER=y
-+
-+#
-+# Tracers
-+#
-+# CONFIG_FUNCTION_TRACER is not set
-+# CONFIG_SCHED_TRACER is not set
-+# CONFIG_CONTEXT_SWITCH_TRACER is not set
-+# CONFIG_BOOT_TRACER is not set
-+# CONFIG_STACK_TRACER is not set
-+# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
-+# CONFIG_SAMPLES is not set
-+CONFIG_HAVE_ARCH_KGDB=y
-+# CONFIG_KGDB is not set
-+CONFIG_DEBUG_USER=y
-+CONFIG_DEBUG_ERRORS=y
-+# CONFIG_DEBUG_STACK_USAGE is not set
-+CONFIG_DEBUG_LL=y
-+# CONFIG_DEBUG_ICEDCC is not set
-+CONFIG_DEBUG_S3C_PORT=y
-+CONFIG_DEBUG_S3C_UART=0
-+
-+#
-+# Security options
-+#
-+# CONFIG_KEYS is not set
-+# CONFIG_SECURITY is not set
-+# CONFIG_SECURITYFS is not set
-+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
-+# CONFIG_CRYPTO is not set
-+
-+#
-+# Library routines
-+#
-+CONFIG_BITREVERSE=y
-+# CONFIG_CRC_CCITT is not set
-+# CONFIG_CRC16 is not set
-+# CONFIG_CRC_T10DIF is not set
-+# CONFIG_CRC_ITU_T is not set
-+CONFIG_CRC32=y
-+# CONFIG_CRC7 is not set
-+# CONFIG_LIBCRC32C is not set
-+CONFIG_ZLIB_INFLATE=y
-+CONFIG_PLIST=y
-+CONFIG_HAS_IOMEM=y
-+CONFIG_HAS_DMA=y
-Index: linux-2.6.28/arch/arm/Kconfig
-===================================================================
---- linux-2.6.28.orig/arch/arm/Kconfig 2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/Kconfig      2009-01-02 00:01:56.000000000 +0100
-@@ -498,6 +498,13 @@ config ARCH_S3C2410
-         BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
-         the Samsung SMDK2410 development board (and derivatives).
-+config ARCH_S3C64XX
-+      bool "Samsung S3C64XX"
-+      select GENERIC_GPIO
-+      select HAVE_CLK
-+      help
-+        Samsung S3C64XX series based systems
-+
- config ARCH_SHARK
-       bool "Shark"
-       select ISA
-@@ -590,6 +597,7 @@ source "arch/arm/mach-orion5x/Kconfig"
- source "arch/arm/mach-kirkwood/Kconfig"
- source "arch/arm/plat-s3c24xx/Kconfig"
-+source "arch/arm/plat-s3c64xx/Kconfig"
- source "arch/arm/plat-s3c/Kconfig"
- if ARCH_S3C2410
-@@ -601,6 +609,11 @@ source "arch/arm/mach-s3c2442/Kconfig"
- source "arch/arm/mach-s3c2443/Kconfig"
- endif
-+if ARCH_S3C64XX
-+source "arch/arm/mach-s3c6400/Kconfig"
-+source "arch/arm/mach-s3c6410/Kconfig"
-+endif
-+
- source "arch/arm/mach-lh7a40x/Kconfig"
- source "arch/arm/mach-imx/Kconfig"
-@@ -1256,6 +1269,8 @@ source "drivers/usb/Kconfig"
- source "drivers/uwb/Kconfig"
-+source "drivers/ar6000/Kconfig"
-+
- source "drivers/mmc/Kconfig"
- source "drivers/memstick/Kconfig"
-@@ -1268,6 +1283,8 @@ source "drivers/rtc/Kconfig"
- source "drivers/dma/Kconfig"
-+source "drivers/android/Kconfig"
-+
- source "drivers/dca/Kconfig"
- source "drivers/auxdisplay/Kconfig"
-Index: linux-2.6.28/arch/arm/kernel/vmlinux.lds.S
-===================================================================
---- linux-2.6.28.orig/arch/arm/kernel/vmlinux.lds.S    2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/kernel/vmlinux.lds.S 2009-01-02 00:01:56.000000000 +0100
-@@ -106,6 +106,8 @@ SECTIONS
-               *(.got)                 /* Global offset table          */
-       }
-+      NOTES
-+
-       RODATA
-       _etext = .;                     /* End of text and rodata section */
-Index: linux-2.6.28/arch/arm/mach-s3c2410/clock.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/clock.c    2008-12-25 00:26:37.000000000 +0100
-+++ /dev/null  1970-01-01 00:00:00.000000000 +0000
-@@ -1,276 +0,0 @@
--/* linux/arch/arm/mach-s3c2410/clock.c
-- *
-- * Copyright (c) 2006 Simtec Electronics
-- *    Ben Dooks <ben@simtec.co.uk>
-- *
-- * S3C2410,S3C2440,S3C2442 Clock control support
-- *
-- * This program is free software; you can redistribute it and/or modify
-- * it under the terms of the GNU General Public License as published by
-- * the Free Software Foundation; either version 2 of the License, or
-- * (at your option) any later version.
-- *
-- * This program is distributed in the hope that it will be useful,
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- * GNU General Public License for more details.
-- *
-- * You should have received a copy of the GNU General Public License
-- * along with this program; if not, write to the Free Software
-- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
--*/
--
--#include <linux/init.h>
--#include <linux/module.h>
--#include <linux/kernel.h>
--#include <linux/list.h>
--#include <linux/errno.h>
--#include <linux/err.h>
--#include <linux/sysdev.h>
--#include <linux/clk.h>
--#include <linux/mutex.h>
--#include <linux/delay.h>
--#include <linux/serial_core.h>
--#include <linux/io.h>
--
--#include <asm/mach/map.h>
--
--#include <mach/hardware.h>
--
--#include <plat/regs-serial.h>
--#include <mach/regs-clock.h>
--#include <mach/regs-gpio.h>
--
--#include <plat/s3c2410.h>
--#include <plat/clock.h>
--#include <plat/cpu.h>
--
--int s3c2410_clkcon_enable(struct clk *clk, int enable)
--{
--      unsigned int clocks = clk->ctrlbit;
--      unsigned long clkcon;
--
--      clkcon = __raw_readl(S3C2410_CLKCON);
--
--      if (enable)
--              clkcon |= clocks;
--      else
--              clkcon &= ~clocks;
--
--      /* ensure none of the special function bits set */
--      clkcon &= ~(S3C2410_CLKCON_IDLE|S3C2410_CLKCON_POWER);
--
--      __raw_writel(clkcon, S3C2410_CLKCON);
--
--      return 0;
--}
--
--static int s3c2410_upll_enable(struct clk *clk, int enable)
--{
--      unsigned long clkslow = __raw_readl(S3C2410_CLKSLOW);
--      unsigned long orig = clkslow;
--
--      if (enable)
--              clkslow &= ~S3C2410_CLKSLOW_UCLK_OFF;
--      else
--              clkslow |= S3C2410_CLKSLOW_UCLK_OFF;
--
--      __raw_writel(clkslow, S3C2410_CLKSLOW);
--
--      /* if we started the UPLL, then allow to settle */
--
--      if (enable && (orig & S3C2410_CLKSLOW_UCLK_OFF))
--              udelay(200);
--
--      return 0;
--}
--
--/* standard clock definitions */
--
--static struct clk init_clocks_disable[] = {
--      {
--              .name           = "nand",
--              .id             = -1,
--              .parent         = &clk_h,
--              .enable         = s3c2410_clkcon_enable,
--              .ctrlbit        = S3C2410_CLKCON_NAND,
--      }, {
--              .name           = "sdi",
--              .id             = -1,
--              .parent         = &clk_p,
--              .enable         = s3c2410_clkcon_enable,
--              .ctrlbit        = S3C2410_CLKCON_SDI,
--      }, {
--              .name           = "adc",
--              .id             = -1,
--              .parent         = &clk_p,
--              .enable         = s3c2410_clkcon_enable,
--              .ctrlbit        = S3C2410_CLKCON_ADC,
--      }, {
--              .name           = "i2c",
--              .id             = -1,
--              .parent         = &clk_p,
--              .enable         = s3c2410_clkcon_enable,
--              .ctrlbit        = S3C2410_CLKCON_IIC,
--      }, {
--              .name           = "iis",
--              .id             = -1,
--              .parent         = &clk_p,
--              .enable         = s3c2410_clkcon_enable,
--              .ctrlbit        = S3C2410_CLKCON_IIS,
--      }, {
--              .name           = "spi",
--              .id             = -1,
--              .parent         = &clk_p,
--              .enable         = s3c2410_clkcon_enable,
--              .ctrlbit        = S3C2410_CLKCON_SPI,
--      }
--};
--
--static struct clk init_clocks[] = {
--      {
--              .name           = "lcd",
--              .id             = -1,
--              .parent         = &clk_h,
--              .enable         = s3c2410_clkcon_enable,
--              .ctrlbit        = S3C2410_CLKCON_LCDC,
--      }, {
--              .name           = "gpio",
--              .id             = -1,
--              .parent         = &clk_p,
--              .enable         = s3c2410_clkcon_enable,
--              .ctrlbit        = S3C2410_CLKCON_GPIO,
--      }, {
--              .name           = "usb-host",
--              .id             = -1,
--              .parent         = &clk_h,
--              .enable         = s3c2410_clkcon_enable,
--              .ctrlbit        = S3C2410_CLKCON_USBH,
--      }, {
--              .name           = "usb-device",
--              .id             = -1,
--              .parent         = &clk_h,
--              .enable         = s3c2410_clkcon_enable,
--              .ctrlbit        = S3C2410_CLKCON_USBD,
--      }, {
--              .name           = "timers",
--              .id             = -1,
--              .parent         = &clk_p,
--              .enable         = s3c2410_clkcon_enable,
--              .ctrlbit        = S3C2410_CLKCON_PWMT,
--      }, {
--              .name           = "uart",
--              .id             = 0,
--              .parent         = &clk_p,
--              .enable         = s3c2410_clkcon_enable,
--              .ctrlbit        = S3C2410_CLKCON_UART0,
--      }, {
--              .name           = "uart",
--              .id             = 1,
--              .parent         = &clk_p,
--              .enable         = s3c2410_clkcon_enable,
--              .ctrlbit        = S3C2410_CLKCON_UART1,
--      }, {
--              .name           = "uart",
--              .id             = 2,
--              .parent         = &clk_p,
--              .enable         = s3c2410_clkcon_enable,
--              .ctrlbit        = S3C2410_CLKCON_UART2,
--      }, {
--              .name           = "rtc",
--              .id             = -1,
--              .parent         = &clk_p,
--              .enable         = s3c2410_clkcon_enable,
--              .ctrlbit        = S3C2410_CLKCON_RTC,
--      }, {
--              .name           = "watchdog",
--              .id             = -1,
--              .parent         = &clk_p,
--              .ctrlbit        = 0,
--      }, {
--              .name           = "usb-bus-host",
--              .id             = -1,
--              .parent         = &clk_usb_bus,
--      }, {
--              .name           = "usb-bus-gadget",
--              .id             = -1,
--              .parent         = &clk_usb_bus,
--      },
--};
--
--/* s3c2410_baseclk_add()
-- *
-- * Add all the clocks used by the s3c2410 or compatible CPUs
-- * such as the S3C2440 and S3C2442.
-- *
-- * We cannot use a system device as we are needed before any
-- * of the init-calls that initialise the devices are actually
-- * done.
--*/
--
--int __init s3c2410_baseclk_add(void)
--{
--      unsigned long clkslow = __raw_readl(S3C2410_CLKSLOW);
--      unsigned long clkcon  = __raw_readl(S3C2410_CLKCON);
--      struct clk *clkp;
--      struct clk *xtal;
--      int ret;
--      int ptr;
--
--      clk_upll.enable = s3c2410_upll_enable;
--
--      if (s3c24xx_register_clock(&clk_usb_bus) < 0)
--              printk(KERN_ERR "failed to register usb bus clock\n");
--
--      /* register clocks from clock array */
--
--      clkp = init_clocks;
--      for (ptr = 0; ptr < ARRAY_SIZE(init_clocks); ptr++, clkp++) {
--              /* ensure that we note the clock state */
--
--              clkp->usage = clkcon & clkp->ctrlbit ? 1 : 0;
--
--              ret = s3c24xx_register_clock(clkp);
--              if (ret < 0) {
--                      printk(KERN_ERR "Failed to register clock %s (%d)\n",
--                             clkp->name, ret);
--              }
--      }
--
--      /* We must be careful disabling the clocks we are not intending to
--       * be using at boot time, as subsystems such as the LCD which do
--       * their own DMA requests to the bus can cause the system to lockup
--       * if they where in the middle of requesting bus access.
--       *
--       * Disabling the LCD clock if the LCD is active is very dangerous,
--       * and therefore the bootloader should be careful to not enable
--       * the LCD clock if it is not needed.
--      */
--
--      /* install (and disable) the clocks we do not need immediately */
--
--      clkp = init_clocks_disable;
--      for (ptr = 0; ptr < ARRAY_SIZE(init_clocks_disable); ptr++, clkp++) {
--
--              ret = s3c24xx_register_clock(clkp);
--              if (ret < 0) {
--                      printk(KERN_ERR "Failed to register clock %s (%d)\n",
--                             clkp->name, ret);
--              }
--
--              s3c2410_clkcon_enable(clkp, 0);
--      }
--
--      /* show the clock-slow value */
--
--      xtal = clk_get(NULL, "xtal");
--
--      printk("CLOCK: Slow mode (%ld.%ld MHz), %s, MPLL %s, UPLL %s\n",
--             print_mhz(clk_get_rate(xtal) /
--                       ( 2 * S3C2410_CLKSLOW_GET_SLOWVAL(clkslow))),
--             (clkslow & S3C2410_CLKSLOW_SLOW) ? "slow" : "fast",
--             (clkslow & S3C2410_CLKSLOW_MPLL_OFF) ? "off" : "on",
--             (clkslow & S3C2410_CLKSLOW_UCLK_OFF) ? "off" : "on");
--
--      return 0;
--}
-Index: linux-2.6.28/arch/arm/mach-s3c2410/dma.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/dma.c      2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/dma.c   2009-01-02 00:01:56.000000000 +0100
-@@ -25,12 +25,12 @@
- #include <plat/regs-serial.h>
- #include <mach/regs-gpio.h>
--#include <asm/plat-s3c/regs-ac97.h>
-+#include <plat/regs-ac97.h>
- #include <mach/regs-mem.h>
- #include <mach/regs-lcd.h>
- #include <mach/regs-sdi.h>
- #include <asm/plat-s3c24xx/regs-iis.h>
--#include <asm/plat-s3c24xx/regs-spi.h>
-+#include <plat/regs-spi.h>
- static struct s3c24xx_dma_map __initdata s3c2410_dma_mappings[] = {
-       [DMACH_XD0] = {
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/fiq_ipc_gta02.h
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/fiq_ipc_gta02.h    2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,60 @@
-+#ifndef _LINUX_FIQ_IPC_H
-+#define _LINUX_FIQ_IPC_H
-+
-+/*
-+ * this defines the struct which is used to communicate between the FIQ
-+ * world and the normal linux kernel world.  One of these structs is
-+ * statically defined for you in the monolithic kernel so the FIQ ISR code
-+ * can safely touch it any any time.
-+ *
-+ * You also want to include this file in your kernel module that wants to
-+ * communicate with your FIQ code.  Add any kinds of vars that are used by
-+ * the FIQ ISR and the module in here.
-+ *
-+ * To get you started there is just an int that is incremented every FIQ
-+ * you can remove this when you are ready to customize, but it is useful
-+ * for testing
-+ */
-+
-+#include <mach/pwm.h>
-+#include <plat/regs-timer.h>
-+
-+extern u8 fiq_ready;
-+
-+enum hdq_bitbang_states {
-+      HDQB_IDLE = 0,
-+      HDQB_TX_BREAK,
-+      HDQB_TX_BREAK_RECOVERY,
-+      HDQB_ADS_CALC,
-+      HDQB_ADS_LOW,
-+      HDQB_ADS_HIGH,
-+      HDQB_WAIT_RX,
-+      HDQB_DATA_RX_LOW,
-+      HDQB_DATA_RX_HIGH,
-+      HDQB_WAIT_TX,
-+};
-+
-+struct fiq_ipc {
-+      /* vibrator */
-+      unsigned long vib_gpio_pin; /* which pin to meddle with */
-+      u8 vib_pwm; /* 0 = OFF -- will ensure GPIO deasserted and stop FIQ */
-+      u8 vib_pwm_latched;
-+
-+      /* hdq */
-+      u8 hdq_probed; /* nonzero after HDQ driver probed */
-+      struct mutex hdq_lock; /* if you want to use hdq, you have to take lock */
-+      unsigned long hdq_gpio_pin; /* GTA02 = GPD14 which pin to meddle with */
-+      u8 hdq_ads; /* b7..b6 = register address, b0 = r/w */
-+      u8 hdq_tx_data; /* data to tx for write action */
-+      u8 hdq_rx_data; /* data received in read action */
-+      u8 hdq_request_ctr; /* incremented by "user" to request a transfer */
-+      u8 hdq_transaction_ctr; /* incremented after each transfer */
-+      u8 hdq_error; /* 0 = no error */
-+};
-+
-+/* actual definition lives in arch/arm/mach-s3c2440/fiq_c_isr.c */
-+extern struct fiq_ipc fiq_ipc;
-+extern unsigned long _fiq_count_fiqs;
-+extern void fiq_kick(void);  /* provoke a FIQ "immediately" */
-+
-+#endif /* _LINUX_FIQ_IPC_H */
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gpio-core.h
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gpio-core.h        2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,21 @@
-+/* arch/arm/mach-s3c24100/include/mach/gpio-core.h
-+ *
-+ * Copyright 2008 Openmoko, Inc.
-+ * Copyright 2008 Simtec Electronics
-+ *      Ben Dooks <ben@simtec.co.uk>
-+ *      http://armlinux.simtec.co.uk/
-+ *
-+ * S3C2410 - GPIO core support
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+*/
-+
-+#ifndef __ASM_ARCH_GPIO_CORE_H
-+#define __ASM_ARCH_GPIO_CORE_H __FILE__
-+
-+/* currently we just include the platform support */
-+#include <plat/gpio-core.h>
-+
-+#endif /* __ASM_ARCH_GPIO_CORE_H */
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gpio.h
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/gpio.h        2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gpio.h     2009-01-02 00:01:56.000000000 +0100
-@@ -15,4 +15,14 @@
- #define gpio_set_value        __gpio_set_value
- #define gpio_cansleep __gpio_cansleep
-+/* These two defines should be removed as soon as the
-+ * generic irq handling makes it upstream */
-+#include <mach/hardware.h>
-+#define gpio_to_irq(gpio)               s3c2410_gpio_getirq(gpio)
-+#define irq_to_gpio(irq)                s3c2410_gpio_irq2pin(irq)
-+/* -- cut to here when generic irq makes it */
-+
- #include <asm-generic/gpio.h>
-+#include <mach/gpio-nrs.h>
-+
-+#define S3C_GPIO_END  (S3C2410_GPIO_BANKH + 32)
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gpio-nrs.h
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gpio-nrs.h 2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,23 @@
-+/* arch/arm/mach-s3c2410/include/mach/gpio-nrs.h
-+ *
-+ * Copyright (c) 2008 Simtec Electronics
-+ *    http://armlinux.simtec.co.uk/
-+ *    Ben Dooks <ben@simtec.co.uk>
-+ *
-+ * S3C2410 - GPIO bank numbering
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+*/
-+
-+#define S3C2410_GPIONO(bank,offset) ((bank) + (offset))
-+
-+#define S3C2410_GPIO_BANKA   (32*0)
-+#define S3C2410_GPIO_BANKB   (32*1)
-+#define S3C2410_GPIO_BANKC   (32*2)
-+#define S3C2410_GPIO_BANKD   (32*3)
-+#define S3C2410_GPIO_BANKE   (32*4)
-+#define S3C2410_GPIO_BANKF   (32*5)
-+#define S3C2410_GPIO_BANKG   (32*6)
-+#define S3C2410_GPIO_BANKH   (32*7)
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gta01.h
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gta01.h    2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,74 @@
-+#ifndef _GTA01_H
-+#define _GTA01_H
-+
-+#include <mach/regs-gpio.h>
-+#include <mach/irqs.h>
-+
-+/* Different hardware revisions, passed in ATAG_REVISION by u-boot */
-+#define GTA01v3_SYSTEM_REV    0x00000130
-+#define GTA01v4_SYSTEM_REV    0x00000140
-+#define GTA01Bv2_SYSTEM_REV   0x00000220
-+#define GTA01Bv3_SYSTEM_REV   0x00000230
-+#define GTA01Bv4_SYSTEM_REV   0x00000240
-+
-+/* Backlight */
-+
-+extern void gta01bl_deferred_resume(void);
-+
-+struct gta01bl_machinfo {
-+      unsigned int default_intensity;
-+      unsigned int max_intensity;
-+      unsigned int limit_mask;
-+      unsigned int defer_resume_backlight;
-+};
-+
-+/* Definitions common to all revisions */
-+#define GTA01_GPIO_BACKLIGHT  S3C2410_GPB0
-+#define GTA01_GPIO_GPS_PWRON  S3C2410_GPB1
-+#define GTA01_GPIO_MODEM_RST  S3C2410_GPB6
-+#define GTA01_GPIO_MODEM_ON   S3C2410_GPB7
-+#define GTA01_GPIO_LCD_RESET  S3C2410_GPC6
-+#define GTA01_GPIO_PMU_IRQ    S3C2410_GPG8
-+#define GTA01_GPIO_JACK_INSERT        S3C2410_GPF4
-+#define GTA01_GPIO_nSD_DETECT S3C2410_GPF5
-+#define GTA01_GPIO_AUX_KEY    S3C2410_GPF6
-+#define GTA01_GPIO_HOLD_KEY   S3C2410_GPF7
-+#define GTA01_GPIO_VIBRATOR_ON        S3C2410_GPG11
-+
-+#define GTA01_IRQ_MODEM               IRQ_EINT1
-+#define GTA01_IRQ_JACK_INSERT IRQ_EINT4
-+#define GTA01_IRQ_nSD_DETECT  IRQ_EINT5
-+#define GTA01_IRQ_AUX_KEY     IRQ_EINT6
-+#define GTA01_IRQ_PCF50606      IRQ_EINT16
-+
-+/* GTA01v3 */
-+#define GTA01v3_GPIO_nGSM_EN  S3C2410_GPG9
-+
-+/* GTA01v4 */
-+#define GTA01_GPIO_MODEM_DNLOAD       S3C2410_GPG0
-+
-+/* GTA01Bv2 */
-+#define GTA01Bv2_GPIO_nGSM_EN S3C2410_GPF2
-+#define GTA01Bv2_GPIO_VIBRATOR_ON S3C2410_GPB10
-+
-+/* GTA01Bv3 */
-+#define GTA01_GPIO_GPS_EN_3V3 S3C2410_GPG9
-+
-+#define GTA01_GPIO_SDMMC_ON   S3C2410_GPB2
-+#define GTA01_GPIO_BT_EN      S3C2410_GPB5
-+#define GTA01_GPIO_AB_DETECT  S3C2410_GPB8
-+#define GTA01_GPIO_USB_PULLUP S3C2410_GPB9
-+#define GTA01_GPIO_USB_ATTACH S3C2410_GPB10
-+
-+#define GTA01_GPIO_GPS_EN_2V8 S3C2410_GPG9
-+#define GTA01_GPIO_GPS_EN_3V  S3C2410_GPG10
-+#define GTA01_GPIO_GPS_RESET  S3C2410_GPC0
-+
-+/* GTA01Bv4 */
-+#define GTA01Bv4_GPIO_nNAND_WP        S3C2410_GPA16
-+#define GTA01Bv4_GPIO_VIBRATOR_ON S3C2410_GPB3
-+#define GTA01Bv4_GPIO_PMU_IRQ S3C2410_GPG1
-+
-+#define GTA01Bv4_IRQ_PCF50606 IRQ_EINT9
-+
-+#endif /* _GTA01_H */
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gta02.h
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gta02.h    2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,113 @@
-+#ifndef _GTA02_H
-+#define _GTA02_H
-+
-+#include <mach/regs-gpio.h>
-+#include <mach/irqs.h>
-+
-+#include <linux/mfd/pcf50633/core.h>
-+
-+/* Different hardware revisions, passed in ATAG_REVISION by u-boot */
-+#define GTA02v1_SYSTEM_REV    0x00000310
-+#define GTA02v2_SYSTEM_REV    0x00000320
-+#define GTA02v3_SYSTEM_REV    0x00000330
-+#define GTA02v4_SYSTEM_REV    0x00000340
-+#define GTA02v5_SYSTEM_REV    0x00000350
-+#define GTA02v6_SYSTEM_REV    0x00000360
-+
-+#define GTA02_GPIO_n3DL_GSM   S3C2410_GPA13   /* v1 + v2 + v3 only */
-+
-+#define GTA02_GPIO_PWR_LED1   S3C2410_GPB0
-+#define GTA02_GPIO_PWR_LED2   S3C2410_GPB1
-+#define GTA02_GPIO_AUX_LED    S3C2410_GPB2
-+#define GTA02_GPIO_VIBRATOR_ON        S3C2410_GPB3
-+#define GTA02v1_GPIO_GPS_PWRON        S3C2410_GPB4    /* v1 only */
-+#define GTA02_GPIO_MODEM_RST  S3C2410_GPB5
-+#define GTA02_GPIO_BT_EN      S3C2410_GPB6
-+#define GTA02_GPIO_MODEM_ON   S3C2410_GPB7
-+#define GTA02v1_GPIO_EN_AGPS3V        S3C2410_GPB8    /* v1 only */
-+#define GTA02_GPIO_EXTINT8    S3C2410_GPB8
-+#define GTA02_GPIO_USB_PULLUP S3C2410_GPB9
-+
-+#define GTA02v1_GPIO_nGPS_RST S3C2410_GPC0    /* v1 only */
-+#define GTA02v12_GPIO_PIO3    S3C2410_GPC5    /* v1 + v2 only */
-+#define GTA02_GPIO_PIO5               S3C2410_GPC5    /* v3 + v4 only */
-+#define GTA02_GPIO_LCD_RESET  S3C2410_GPC6    /* v1 + v2 only */
-+#define GTA02v12_GPIO_PIO2    S3C2410_GPC7    /* v1 + v2 only */
-+#define GTA02v2_nUSB_FLT      S3C2410_GPC9    /* v2 only */
-+#define GTA02v2_nUSB_OC               S3C2410_GPC10   /* v2 only */
-+#define GTA02v2_nGSM_OC               S3C2410_GPC12   /* v2 only */
-+
-+#define GTA02v3_GPIO_nG1_CS   S3C2410_GPD12   /* v3 + v4 only */
-+#define GTA02v3_GPIO_nG2_CS   S3C2410_GPD13   /* v3 + v4 only */
-+#define GTA02v5_GPIO_HDQ      S3C2410_GPD14   /* v5 + */
-+
-+#define GTA02_GPIO_nG1_INT    S3C2410_GPF0
-+#define GTA02_GPIO_IO1                S3C2410_GPF1
-+#define GTA02v1_GPIO_nG2_INT  S3C2410_GPF2    /* v1 only */
-+#define GTA02_GPIO_PIO_2      S3C2410_GPF2    /* v2 + v3 + v4 only */
-+#define GTA02_GPIO_JACK_INSERT        S3C2410_GPF4
-+#define GTA02v1_GPIO_nSD_DETECT       S3C2410_GPF5    /* v1 only */
-+#define GTA02_GPIO_WLAN_GPIO1 S3C2410_GPF5    /* v2 + v3 + v4 only */
-+#define GTA02_GPIO_AUX_KEY    S3C2410_GPF6
-+#define GTA02_GPIO_HOLD_KEY   S3C2410_GPF7
-+
-+#define GTA02_GPIO_3D_IRQ     S3C2410_GPG4
-+#define GTA02v1_GPIO_nG1_CS   S3C2410_GPG8    /* v1 only */
-+#define GTA02v2_GPIO_nG2_INT  S3C2410_GPG8    /* v2 + v3 + v4 only */
-+#define GTA02v3_GPIO_nUSB_OC  S3C2410_GPG9    /* v3 + v4 only */
-+#define GTA02v3_GPIO_nUSB_FLT S3C2410_GPG10   /* v3 + v4 only */
-+#define GTA02v1_GPIO_nG2_CS   S3C2410_GPG11   /* v1 only */
-+#define GTA02v3_GPIO_nGSM_OC  S3C2410_GPG11   /* v3 + v4 only */
-+
-+#define GTA02v1_GPIO_3D_RESET S3C2440_GPJ0    /* v1 only */
-+#define GTA02v2_GPIO_BAT_ID   S3C2440_GPJ0    /* v2 only */
-+#define GTA02v1_GPIO_WLAN_GPIO8       S3C2440_GPJ1    /* v1 only */
-+#define GTA02_GPIO_AMP_SHUT   S3C2440_GPJ1    /* v2 + v3 + v4 only */
-+#define GTA02v1_GPIO_WLAN_GPIO10      S3C2440_GPJ2
-+#define GTA02_GPIO_HP_IN      S3C2440_GPJ2    /* v2 + v3 + v4 only */
-+#define GTA02v1_GPIO_KEEPACT  S3C2440_GPJ3    /* v1 only */
-+#define GTA02_GPIO_INT0               S3C2440_GPJ3    /* v2 + v3 + v4 only */
-+#define GTA02_GPIO_nGSM_EN    S3C2440_GPJ4
-+#define GTA02_GPIO_3D_RESET   S3C2440_GPJ5
-+#define GTA02_GPIO_nDL_GSM    S3C2440_GPJ6    /* v4 + v5 only */
-+#define GTA02_GPIO_WLAN_GPIO0 S3C2440_GPJ7
-+#define GTA02v1_GPIO_BAT_ID   S3C2440_GPJ8
-+#define GTA02_GPIO_KEEPACT    S3C2440_GPJ8
-+#define GTA02v1_GPIO_AMP_SHUT S3C2440_GPJ9    /* v1 only */
-+#define GTA02v2_nG1_CS                S3C2440_GPJ9    /* v2 only */
-+#define GTA02v1_GPIO_HP_IN    S3C2440_GPJ10
-+#define GTA02v2_nG2_CS                S3C2440_GPJ10   /* v2 only */
-+#define GTA02v1_GPIO_INT0     S3C2440_GPJ11   /* v1 only */
-+#define GTA02_CHIP_PWD                S3C2440_GPJ11   /* v2 + v3 + v4 only */
-+#define GTA02v1_GPIO_nGSM_EN  S3C2440_GPJ12   /* v1 only */
-+#define GTA02_GPIO_nWLAN_RESET        S3C2440_GPJ12   /* v2 + v3 + v4 only */
-+
-+#define GTA02_IRQ_GSENSOR_1   IRQ_EINT0
-+#define GTA02_IRQ_MODEM               IRQ_EINT1
-+#define GTA02v1_IRQ_GSENSOR_2 IRQ_EINT2       /* v1 only */
-+#define GTA02_IRQ_PIO_2               IRQ_EINT2       /* v2 + v3 + v4 only */
-+#define GTA02_IRQ_nJACK_INSERT        IRQ_EINT4
-+#define GTA02v1_IRQ_nSD_CD    IRQ_EINT5       /* v1 only */
-+#define GTA02_IRQ_WLAN_GPIO1  IRQ_EINT5
-+#define GTA02_IRQ_AUX         IRQ_EINT6
-+#define GTA02_IRQ_nHOLD               IRQ_EINT7
-+#define GTA02v1_IRQ_nSIM_CD   IRQ_EINT8       /* v1 only */
-+#define GTA02_IRQ_PCF50633    IRQ_EINT9
-+#define GTA02_IRQ_3D          IRQ_EINT12
-+#define GTA02_IRQ_GSENSOR_2   IRQ_EINT16      /* v2 + v3 + v4 only */
-+#define GTA02v3_IRQ_nUSB_OC   IRQ_EINT17      /* v3 + v4 only */
-+#define GTA02v3_IRQ_nUSB_FLT  IRQ_EINT18      /* v3 + v4 only */
-+#define GTA02v3_IRQ_nGSM_OC   IRQ_EINT19      /* v3 + v4 only */
-+
-+/* returns 00 000 on GTA02 A5 and earlier, A6 returns 01 001 */
-+#define GTA02_PCB_ID1_0               S3C2410_GPC13
-+#define GTA02_PCB_ID1_1               S3C2410_GPC15
-+#define GTA02_PCB_ID1_2               S3C2410_GPD0
-+#define GTA02_PCB_ID2_0               S3C2410_GPD3
-+#define GTA02_PCB_ID2_1               S3C2410_GPD4
-+
-+int gta02_get_pcb_revision(void);
-+
-+extern struct pcf50633_platform_data gta02_pcf_pdata;
-+
-+#endif /* _GTA02_H */
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gta02-pm-wlan.h
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gta02-pm-wlan.h    2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1 @@
-+void gta02_wlan_power(int on);
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/irqs.h
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/irqs.h        2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/irqs.h     2009-01-02 00:01:56.000000000 +0100
-@@ -12,9 +12,9 @@
- #ifndef __ASM_ARCH_IRQS_H
- #define __ASM_ARCH_IRQS_H __FILE__
--#ifndef __ASM_ARM_IRQ_H
--#error "Do not include this directly, instead #include <asm/irq.h>"
--#endif
-+//#ifndef __ASM_ARM_IRQ_H
-+//#error "Do not include this directly, instead #include <asm/irq.h>"
-+//#endif
- /* we keep the first set of CPU IRQs out of the range of
-  * the ISA space, so that the PC104 has them to itself
-@@ -84,7 +84,7 @@
- #define IRQ_EINT22     S3C2410_IRQ(50)
- #define IRQ_EINT23     S3C2410_IRQ(51)
--
-+#define IRQ_EINT_BIT(x)       ((x) - IRQ_EINT4 + 4)
- #define IRQ_EINT(x)    (((x) >= 4) ? (IRQ_EINT4 + (x) - 4) : (IRQ_EINT0 + (x)))
- #define IRQ_LCD_FIFO   S3C2410_IRQ(52)
-@@ -134,6 +134,8 @@
- #define IRQ_S3C2443_HSMMC     S3C2410_IRQ(20)         /* IRQ_SDI */
- #define IRQ_S3C2443_NAND      S3C2410_IRQ(24)         /* reserved */
-+#define IRQ_HSMMC0            IRQ_S3C2443_HSMMC
-+
- #define IRQ_S3C2443_LCD1      S3C2410_IRQSUB(14)
- #define IRQ_S3C2443_LCD2      S3C2410_IRQSUB(15)
- #define IRQ_S3C2443_LCD3      S3C2410_IRQSUB(16)
-@@ -155,12 +157,47 @@
- #define IRQ_S3C2443_AC97      S3C2410_IRQSUB(28)
- #ifdef CONFIG_CPU_S3C2443
--#define NR_IRQS (IRQ_S3C2443_AC97+1)
-+#define _NR_IRQS (IRQ_S3C2443_AC97+1)
- #else
--#define NR_IRQS (IRQ_S3C2440_AC97+1)
-+#define _NR_IRQS (IRQ_S3C2440_AC97+1)
- #endif
-+/* compatibility define. */
-+#define IRQ_UART3             IRQ_S3C2443_UART3
-+#define IRQ_S3CUART_RX3               IRQ_S3C2443_RX3
-+#define IRQ_S3CUART_TX3               IRQ_S3C2443_TX3
-+#define IRQ_S3CUART_ERR3      IRQ_S3C2443_ERR3
-+
- /* Our FIQs are routable from IRQ_EINT0 to IRQ_ADCPARENT */
- #define FIQ_START             IRQ_EINT0
-+
-+/*
-+ * The next 16 interrupts are for board specific purposes.  Since
-+ * the kernel can only run on one machine at a time, we can re-use
-+ * these.  If you need more, increase IRQ_BOARD_END, but keep it
-+ * within sensible limits.
-+ */
-+#define IRQ_BOARD_START         _NR_IRQS
-+#define IRQ_BOARD_END           (_NR_IRQS + 10)
-+
-+#if defined(CONFIG_MACH_NEO1973_GTA02)
-+#define NR_IRQS                 (IRQ_BOARD_END)
-+#else
-+#define NR_IRQS                 (IRQ_BOARD_START)
-+#endif
-+
-+/* Neo1973 GTA02 interrupts */
-+#define NEO1973_GTA02_IRQ(x)    (IRQ_BOARD_START + (x))
-+#define IRQ_GLAMO(x)            NEO1973_GTA02_IRQ(x)
-+#define IRQ_GLAMO_HOSTBUS       IRQ_GLAMO(0)
-+#define IRQ_GLAMO_JPEG          IRQ_GLAMO(1)
-+#define IRQ_GLAMO_MPEG          IRQ_GLAMO(2)
-+#define IRQ_GLAMO_MPROC1        IRQ_GLAMO(3)
-+#define IRQ_GLAMO_MPROC0        IRQ_GLAMO(4)
-+#define IRQ_GLAMO_CMDQUEUE      IRQ_GLAMO(5)
-+#define IRQ_GLAMO_2D            IRQ_GLAMO(6)
-+#define IRQ_GLAMO_MMC           IRQ_GLAMO(7)
-+#define IRQ_GLAMO_RISC          IRQ_GLAMO(8)
-+
- #endif /* __ASM_ARCH_IRQ_H */
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/map.h
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/map.h 2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/map.h      2009-01-02 00:01:56.000000000 +0100
-@@ -13,34 +13,20 @@
- #ifndef __ASM_ARCH_MAP_H
- #define __ASM_ARCH_MAP_H
-+#include <plat/map-base.h>
- #include <plat/map.h>
- #define S3C2410_ADDR(x)               S3C_ADDR(x)
--/* interrupt controller is the first thing we put in, to make
-- * the assembly code for the irq detection easier
-- */
--#define S3C24XX_VA_IRQ           S3C_VA_IRQ
--#define S3C2410_PA_IRQ           (0x4A000000)
--#define S3C24XX_SZ_IRQ           SZ_1M
--
--/* memory controller registers */
--#define S3C24XX_VA_MEMCTRL S3C_VA_MEM
--#define S3C2410_PA_MEMCTRL (0x48000000)
--#define S3C24XX_SZ_MEMCTRL SZ_1M
--
- /* USB host controller */
- #define S3C2410_PA_USBHOST (0x49000000)
--#define S3C24XX_SZ_USBHOST SZ_1M
- /* DMA controller */
- #define S3C2410_PA_DMA           (0x4B000000)
- #define S3C24XX_SZ_DMA           SZ_1M
- /* Clock and Power management */
--#define S3C24XX_VA_CLKPWR  S3C_VA_SYS
- #define S3C2410_PA_CLKPWR  (0x4C000000)
--#define S3C24XX_SZ_CLKPWR  SZ_1M
- /* LCD controller */
- #define S3C2410_PA_LCD           (0x4D000000)
-@@ -48,48 +34,12 @@
- /* NAND flash controller */
- #define S3C2410_PA_NAND          (0x4E000000)
--#define S3C24XX_SZ_NAND          SZ_1M
--
--/* UARTs */
--#define S3C24XX_VA_UART          S3C_VA_UART
--#define S3C2410_PA_UART          (0x50000000)
--#define S3C24XX_SZ_UART          SZ_1M
--
--/* Timers */
--#define S3C24XX_VA_TIMER   S3C_VA_TIMER
--#define S3C2410_PA_TIMER   (0x51000000)
--#define S3C24XX_SZ_TIMER   SZ_1M
--
--/* USB Device port */
--#define S3C2410_PA_USBDEV  (0x52000000)
--#define S3C24XX_SZ_USBDEV  SZ_1M
--
--/* Watchdog */
--#define S3C24XX_VA_WATCHDOG S3C_VA_WATCHDOG
--#define S3C2410_PA_WATCHDOG (0x53000000)
--#define S3C24XX_SZ_WATCHDOG SZ_1M
- /* IIC hardware controller */
- #define S3C2410_PA_IIC           (0x54000000)
--#define S3C24XX_SZ_IIC           SZ_1M
- /* IIS controller */
- #define S3C2410_PA_IIS           (0x55000000)
--#define S3C24XX_SZ_IIS           SZ_1M
--
--/* GPIO ports */
--
--/* the calculation for the VA of this must ensure that
-- * it is the same distance apart from the UART in the
-- * phsyical address space, as the initial mapping for the IO
-- * is done as a 1:1 maping. This puts it (currently) at
-- * 0xFA800000, which is not in the way of any current mapping
-- * by the base system.
--*/
--
--#define S3C2410_PA_GPIO          (0x56000000)
--#define S3C24XX_VA_GPIO          ((S3C2410_PA_GPIO - S3C24XX_PA_UART) + S3C24XX_VA_UART)
--#define S3C24XX_SZ_GPIO          SZ_1M
- /* RTC */
- #define S3C2410_PA_RTC           (0x57000000)
-@@ -97,15 +47,12 @@
- /* ADC */
- #define S3C2410_PA_ADC           (0x58000000)
--#define S3C24XX_SZ_ADC           SZ_1M
- /* SPI */
- #define S3C2410_PA_SPI           (0x59000000)
--#define S3C24XX_SZ_SPI           SZ_1M
- /* SDI */
- #define S3C2410_PA_SDI           (0x5A000000)
--#define S3C24XX_SZ_SDI           SZ_1M
- /* CAMIF */
- #define S3C2440_PA_CAMIF   (0x4F000000)
-@@ -120,13 +67,6 @@
- #define S3C2443_PA_HSMMC   (0x4A800000)
- #define S3C2443_SZ_HSMMC   (256)
--/* ISA style IO, for each machine to sort out mappings for, if it
-- * implements it. We reserve two 16M regions for ISA.
-- */
--
--#define S3C24XX_VA_ISA_WORD  S3C2410_ADDR(0x02000000)
--#define S3C24XX_VA_ISA_BYTE  S3C2410_ADDR(0x03000000)
--
- /* physical addresses of all the chip-select areas */
- #define S3C2410_CS0 (0x00000000)
-@@ -152,27 +92,16 @@
- #define S3C24XX_PA_TIMER    S3C2410_PA_TIMER
- #define S3C24XX_PA_USBDEV   S3C2410_PA_USBDEV
- #define S3C24XX_PA_WATCHDOG S3C2410_PA_WATCHDOG
--#define S3C24XX_PA_IIC      S3C2410_PA_IIC
- #define S3C24XX_PA_IIS      S3C2410_PA_IIS
- #define S3C24XX_PA_GPIO     S3C2410_PA_GPIO
- #define S3C24XX_PA_RTC      S3C2410_PA_RTC
- #define S3C24XX_PA_ADC      S3C2410_PA_ADC
- #define S3C24XX_PA_SPI      S3C2410_PA_SPI
-+#define S3C24XX_PA_SDI      S3C2410_PA_SDI
-+#define S3C24XX_PA_NAND           S3C2410_PA_NAND
--/* deal with the registers that move under the 2412/2413 */
--
--#if defined(CONFIG_CPU_S3C2412) || defined(CONFIG_CPU_S3C2413)
--#ifndef __ASSEMBLY__
--extern void __iomem *s3c24xx_va_gpio2;
--#endif
--#ifdef CONFIG_CPU_S3C2412_ONLY
--#define S3C24XX_VA_GPIO2 (S3C24XX_VA_GPIO + 0x10)
--#else
--#define S3C24XX_VA_GPIO2 s3c24xx_va_gpio2
--#endif
--#else
--#define s3c24xx_va_gpio2 S3C24XX_VA_GPIO
--#define S3C24XX_VA_GPIO2 S3C24XX_VA_GPIO
--#endif
-+#define S3C_PA_IIC          S3C2410_PA_IIC
-+#define S3C_PA_UART       S3C24XX_PA_UART
-+#define S3C_PA_HSMMC0     S3C2443_PA_HSMMC
- #endif /* __ASM_ARCH_MAP_H */
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/mci.h
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/mci.h      2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,13 @@
-+#ifndef _ARCH_MCI_H
-+#define _ARCH_MCI_H
-+
-+struct s3c24xx_mci_pdata {
-+      unsigned int    gpio_detect;
-+      unsigned int    gpio_wprotect;
-+      unsigned long   ocr_avail;
-+      unsigned int    do_dma;
-+      void            (*set_power)(unsigned char power_mode,
-+                                   unsigned short vdd);
-+};
-+
-+#endif /* _ARCH_NCI_H */
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/neo1973-pm-gsm.h
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/neo1973-pm-gsm.h   2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1 @@
-+extern int gta_gsm_interrupts;
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/pwm.h
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/pwm.h      2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,46 @@
-+#ifndef __S3C2410_PWM_H
-+#define __S3C2410_PWM_H
-+
-+#include <linux/err.h>
-+#include <linux/platform_device.h>
-+#include <linux/clk.h>
-+
-+#include <mach/io.h>
-+#include <mach/hardware.h>
-+#include <asm/mach-types.h>
-+#include <plat/regs-timer.h>
-+#include <mach/gta01.h>
-+
-+enum pwm_timer {
-+      PWM0,
-+      PWM1,
-+      PWM2,
-+      PWM3,
-+      PWM4
-+};
-+
-+struct s3c2410_pwm {
-+      enum pwm_timer timerid;
-+      struct clk *pclk;
-+      unsigned long pclk_rate;
-+      unsigned long prescaler;
-+      unsigned long divider;
-+      unsigned long counter;
-+      unsigned long comparer;
-+};
-+
-+struct s3c24xx_pwm_platform_data{
-+        /* callback to attach platform children (to enforce suspend / resume
-+         * ordering */
-+        void (*attach_child_devices)(struct device *parent_device);
-+};
-+
-+int s3c2410_pwm_init(struct s3c2410_pwm *s3c2410_pwm);
-+int s3c2410_pwm_enable(struct s3c2410_pwm *s3c2410_pwm);
-+int s3c2410_pwm_disable(struct s3c2410_pwm *s3c2410_pwm);
-+int s3c2410_pwm_start(struct s3c2410_pwm *s3c2410_pwm);
-+int s3c2410_pwm_stop(struct s3c2410_pwm *s3c2410_pwm);
-+int s3c2410_pwm_duty_cycle(int reg_value, struct s3c2410_pwm *s3c2410_pwm);
-+int s3c2410_pwm_dumpregs(void);
-+
-+#endif /* __S3C2410_PWM_H */
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/regs-clock.h
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/regs-clock.h  2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/regs-clock.h       2009-01-02 00:01:56.000000000 +0100
-@@ -42,13 +42,6 @@
- #define S3C2410_CLKCON_IIS         (1<<17)
- #define S3C2410_CLKCON_SPI         (1<<18)
--#define S3C2410_PLLCON_MDIVSHIFT     12
--#define S3C2410_PLLCON_PDIVSHIFT     4
--#define S3C2410_PLLCON_SDIVSHIFT     0
--#define S3C2410_PLLCON_MDIVMASK            ((1<<(1+(19-12)))-1)
--#define S3C2410_PLLCON_PDIVMASK            ((1<<5)-1)
--#define S3C2410_PLLCON_SDIVMASK            3
--
- /* DCLKCON register addresses in gpio.h */
- #define S3C2410_DCLKCON_DCLK0EN            (1<<0)
-@@ -76,32 +69,6 @@
- #define S3C2410_CLKSLOW_SLOWVAL(x)    (x)
- #define S3C2410_CLKSLOW_GET_SLOWVAL(x)        ((x) & 7)
--#ifndef __ASSEMBLY__
--
--#include <asm/div64.h>
--
--static inline unsigned int
--s3c2410_get_pll(unsigned int pllval, unsigned int baseclk)
--{
--      unsigned int mdiv, pdiv, sdiv;
--      uint64_t fvco;
--
--      mdiv = pllval >> S3C2410_PLLCON_MDIVSHIFT;
--      pdiv = pllval >> S3C2410_PLLCON_PDIVSHIFT;
--      sdiv = pllval >> S3C2410_PLLCON_SDIVSHIFT;
--
--      mdiv &= S3C2410_PLLCON_MDIVMASK;
--      pdiv &= S3C2410_PLLCON_PDIVMASK;
--      sdiv &= S3C2410_PLLCON_SDIVMASK;
--
--      fvco = (uint64_t)baseclk * (mdiv + 8);
--      do_div(fvco, (pdiv + 2) << sdiv);
--
--      return (unsigned int)fvco;
--}
--
--#endif /* __ASSEMBLY__ */
--
- #if defined(CONFIG_CPU_S3C2440) || defined(CONFIG_CPU_S3C2442)
- /* extra registers */
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/regs-gpio.h
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/regs-gpio.h   2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/regs-gpio.h        2009-01-02 00:01:56.000000000 +0100
-@@ -14,16 +14,7 @@
- #ifndef __ASM_ARCH_REGS_GPIO_H
- #define __ASM_ARCH_REGS_GPIO_H
--#define S3C2410_GPIONO(bank,offset) ((bank) + (offset))
--
--#define S3C2410_GPIO_BANKA   (32*0)
--#define S3C2410_GPIO_BANKB   (32*1)
--#define S3C2410_GPIO_BANKC   (32*2)
--#define S3C2410_GPIO_BANKD   (32*3)
--#define S3C2410_GPIO_BANKE   (32*4)
--#define S3C2410_GPIO_BANKF   (32*5)
--#define S3C2410_GPIO_BANKG   (32*6)
--#define S3C2410_GPIO_BANKH   (32*7)
-+#include <mach/gpio-nrs.h>
- #ifdef CONFIG_CPU_S3C2400
- #define S3C24XX_GPIO_BASE(x)  S3C2400_GPIO_BASE(x)
-@@ -1053,13 +1044,6 @@
- #define S3C24XX_EXTINT1          S3C24XX_GPIOREG2(0x8C)
- #define S3C24XX_EXTINT2          S3C24XX_GPIOREG2(0x90)
--/* values for S3C2410_EXTINT0/1/2 */
--#define S3C2410_EXTINT_LOWLEV  (0x00)
--#define S3C2410_EXTINT_HILEV   (0x01)
--#define S3C2410_EXTINT_FALLEDGE        (0x02)
--#define S3C2410_EXTINT_RISEEDGE        (0x04)
--#define S3C2410_EXTINT_BOTHEDGE        (0x06)
--
- /* interrupt filtering conrrol for EINT16..EINT23 */
- #define S3C2410_EINFLT0          S3C2410_GPIOREG(0x94)
- #define S3C2410_EINFLT1          S3C2410_GPIOREG(0x98)
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/regs-sdi.h
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/regs-sdi.h    2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/regs-sdi.h 2009-01-02 00:01:56.000000000 +0100
-@@ -30,6 +30,7 @@
- #define S3C2410_SDIFSTA               (0x38)
- #define S3C2410_SDIDATA               (0x3C)
-+#define S3C2410_SDIDATA_BYTE          (0x3C)
- #define S3C2410_SDIIMSK               (0x40)
- #define S3C2440_SDIDATA               (0x40)
-@@ -37,6 +38,8 @@
- #define S3C2440_SDICON_SDRESET        (1<<8)
- #define S3C2440_SDICON_MMCCLOCK       (1<<5)
-+#define S3C2440_SDIDATA_BYTE          (0x48)
-+
- #define S3C2410_SDICON_BYTEORDER      (1<<4)
- #define S3C2410_SDICON_SDIOIRQ        (1<<3)
- #define S3C2410_SDICON_RWAITEN        (1<<2)
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/s3c24xx-serial.h
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/s3c24xx-serial.h   2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,5 @@
-+#include <linux/resume-dependency.h>
-+
-+extern void s3c24xx_serial_console_set_silence(int silence);
-+extern void s3c24xx_serial_register_resume_dependency(struct resume_dependency *
-+                                           resume_dependency, int uart_index);
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/spi-gpio.h
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/spi-gpio.h    2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/spi-gpio.h 2009-01-02 00:43:03.000000000 +0100
-@@ -21,7 +21,15 @@ struct s3c2410_spigpio_info {
-       int                      num_chipselect;
-       int                      bus_num;
--      void (*chip_select)(struct s3c2410_spigpio_info *spi, int cs);
-+      /*
-+       * FIXME: board_size and board_info DO NOT belong here.
-+       * These were already removed upstream... but we still rely on them
-+       * so leave for now and revisit this.
-+       */
-+      unsigned long            board_size;
-+      struct spi_board_info   *board_info;
-+
-+      void (*chip_select)(struct s3c2410_spigpio_info *spi, int csid, int cs);
- };
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/spi.h
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/spi.h 2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/spi.h      2009-01-02 00:01:56.000000000 +0100
-@@ -22,5 +22,12 @@ struct s3c2410_spi_info {
-       void (*set_cs)(struct s3c2410_spi_info *spi, int cs, int pol);
- };
-+/* Standard setup / suspend routines for SPI GPIO pins. */
-+
-+extern void s3c24xx_spi_gpiocfg_bus0_gpe11_12_13(struct s3c2410_spi_info *spi,
-+                                               int enable);
-+
-+extern void s3c24xx_spi_gpiocfg_bus1_gpg5_6_7(struct s3c2410_spi_info *spi,
-+                                            int enable);
- #endif /* __ASM_ARCH_SPI_H */
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/system-reset.h
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/system-reset.h        2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/system-reset.h     2009-01-02 00:01:56.000000000 +0100
-@@ -13,7 +13,7 @@
- #include <mach/hardware.h>
- #include <linux/io.h>
--#include <asm/plat-s3c/regs-watchdog.h>
-+#include <plat/regs-watchdog.h>
- #include <mach/regs-clock.h>
- #include <linux/clk.h>
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/tick.h
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/tick.h     2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,15 @@
-+/* linux/arch/arm/mach-s3c2410/include/mach/tick.h
-+ *
-+ * Copyright 2008 Simtec Electronics
-+ *      Ben Dooks <ben@simtec.co.uk>
-+ *      http://armlinux.simtec.co.uk/
-+ *
-+ * S3C2410 - timer tick support
-+ */
-+
-+#define SRCPND_TIMER4 (1<<(IRQ_TIMER4 - IRQ_EINT0))
-+
-+static inline int s3c24xx_ostimer_pending(void)
-+{
-+      return __raw_readl(S3C2410_SRCPND) & SRCPND_TIMER4;
-+}
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/timex.h
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/timex.h       2008-12-25 00:26:37.000000000 +0100
-+++ /dev/null  1970-01-01 00:00:00.000000000 +0000
-@@ -1,26 +0,0 @@
--/* arch/arm/mach-s3c2410/include/mach/timex.h
-- *
-- * Copyright (c) 2003-2005 Simtec Electronics
-- *    Ben Dooks <ben@simtec.co.uk>
-- *
-- * S3C2410 - time parameters
-- *
-- * This program is free software; you can redistribute it and/or modify
-- * it under the terms of the GNU General Public License version 2 as
-- * published by the Free Software Foundation.
--*/
--
--#ifndef __ASM_ARCH_TIMEX_H
--#define __ASM_ARCH_TIMEX_H
--
--/* CLOCK_TICK_RATE needs to be evaluatable by the cpp, so making it
-- * a variable is useless. It seems as long as we make our timers an
-- * exact multiple of HZ, any value that makes a 1->1 correspondence
-- * for the time conversion functions to/from jiffies is acceptable.
--*/
--
--
--#define CLOCK_TICK_RATE 12000000
--
--
--#endif /* __ASM_ARCH_TIMEX_H */
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/ts.h
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/ts.h       2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,35 @@
-+/* arch/arm/mach-s3c2410/include/mach/ts.h
-+ *
-+ * Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org>
-+ *
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ *
-+ *  Changelog:
-+ *     24-Mar-2005     RTP     Created file
-+ *     03-Aug-2005     RTP     Renamed to ts.h
-+ */
-+
-+#ifndef __ASM_ARM_TS_H
-+#define __ASM_ARM_TS_H
-+
-+#include <linux/ts_filter.h>
-+
-+struct s3c2410_ts_mach_info {
-+        int delay;
-+        int presc;
-+        /* array of pointers to filter APIs we want to use, in order
-+         * ends on first NULL, all NULL is OK
-+         */
-+        struct ts_filter_api *filter_sequence[MAX_TS_FILTER_CHAIN];
-+        /* array of configuration ints, one for each filter above */
-+        void *filter_config[MAX_TS_FILTER_CHAIN];
-+};
-+
-+void set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info);
-+
-+#endif /* __ASM_ARM_TS_H */
-+
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/uncompress.h
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/uncompress.h  2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/uncompress.h       2009-01-02 00:01:56.000000000 +0100
-@@ -1,3 +1,4 @@
-+
- /* arch/arm/mach-s3c2410/include/mach/uncompress.h
-  *
-  * Copyright (c) 2003, 2007 Simtec Electronics
-Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/vmalloc.h
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/vmalloc.h     2008-12-25 00:26:37.000000000 +0100
-+++ /dev/null  1970-01-01 00:00:00.000000000 +0000
-@@ -1,20 +0,0 @@
--/* arch/arm/mach-s3c2410/include/mach/vmalloc.h
-- *
-- * from arch/arm/mach-iop3xx/include/mach/vmalloc.h
-- *
-- * Copyright (c) 2003 Simtec Electronics <linux@simtec.co.uk>
-- *                  http://www.simtec.co.uk/products/SWLINUX/
-- *
-- * This program is free software; you can redistribute it and/or modify
-- * it under the terms of the GNU General Public License version 2 as
-- * published by the Free Software Foundation.
-- *
-- * S3C2410 vmalloc definition
--*/
--
--#ifndef __ASM_ARCH_VMALLOC_H
--#define __ASM_ARCH_VMALLOC_H
--
--#define VMALLOC_END     (0xE0000000)
--
--#endif /* __ASM_ARCH_VMALLOC_H */
-Index: linux-2.6.28/arch/arm/mach-s3c2410/Kconfig
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/Kconfig    2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/Kconfig 2009-01-02 00:01:56.000000000 +0100
-@@ -9,6 +9,7 @@ config CPU_S3C2410
-       depends on ARCH_S3C2410
-       select S3C2410_CLOCK
-       select S3C2410_GPIO
-+      select S3C2410_PWM
-       select CPU_LLSERIAL_S3C2410
-       select S3C2410_PM if PM
-       help
-@@ -32,11 +33,6 @@ config S3C2410_GPIO
-       help
-         GPIO code for S3C2410 and similar processors
--config S3C2410_CLOCK
--      bool
--      help
--        Clock code for the S3C2410, and similar processors
--
- config SIMTEC_NOR
-       bool
-       help
-@@ -49,6 +45,12 @@ config MACH_BAST_IDE
-         Internal node for machines with an BAST style IDE
-         interface
-+config S3C2410_PWM
-+      bool
-+      help
-+        PWM timer code for the S3C2410, and similar processors
-+
-+
- menu "S3C2410 Machines"
- config ARCH_SMDK2410
-@@ -84,6 +86,7 @@ config ARCH_BAST
-       select PM_SIMTEC if PM
-       select SIMTEC_NOR
-       select MACH_BAST_IDE
-+      select S3C24XX_DCLK
-       select ISA
-       help
-         Say Y here if you are using the Simtec Electronics EB2410ITX
-@@ -121,6 +124,7 @@ config MACH_TCT_HAMMER
- config MACH_VR1000
-       bool "Thorcom VR1000"
-       select PM_SIMTEC if PM
-+      select S3C24XX_DCLK
-       select SIMTEC_NOR
-       select MACH_BAST_IDE
-       select CPU_S3C2410
-@@ -130,7 +134,16 @@ config MACH_VR1000
- config MACH_QT2410
-       bool "QT2410"
-       select CPU_S3C2410
-+      select DISPLAY_JBT6K74
-       help
-          Say Y here if you are using the Armzone QT2410
-+config MACH_NEO1973_GTA01
-+      bool "FIC Neo1973 GSM Phone (GTA01 Hardware)"
-+      select CPU_S3C2410
-+      select MACH_NEO1973
-+      select SENSORS_PCF50606
-+      help
-+         Say Y here if you are using the FIC Neo1973 GSM Phone
-+
- endmenu
-Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-amlm5900.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/mach-amlm5900.c    2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/mach-amlm5900.c 2009-01-02 00:01:56.000000000 +0100
-@@ -52,6 +52,7 @@
- #include <mach/regs-lcd.h>
- #include <mach/regs-gpio.h>
-+#include <plat/iic.h>
- #include <plat/devs.h>
- #include <plat/cpu.h>
-@@ -150,7 +151,7 @@ static struct platform_device *amlm5900_
- #endif
-       &s3c_device_adc,
-       &s3c_device_wdt,
--      &s3c_device_i2c,
-+      &s3c_device_i2c0,
-       &s3c_device_usb,
-       &s3c_device_rtc,
-       &s3c_device_usbgadget,
-@@ -233,6 +234,7 @@ static void __init amlm5900_init(void)
- #ifdef CONFIG_FB_S3C2410
-       s3c24xx_fb_set_platdata(&amlm5900_fb_info);
- #endif
-+      s3c_i2c0_set_platdata(NULL);
-       platform_add_devices(amlm5900_devices, ARRAY_SIZE(amlm5900_devices));
- }
-Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-bast.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/mach-bast.c        2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/mach-bast.c     2009-01-02 00:01:56.000000000 +0100
-@@ -44,8 +44,8 @@
- #include <mach/regs-mem.h>
- #include <mach/regs-lcd.h>
--#include <asm/plat-s3c/nand.h>
--#include <asm/plat-s3c/iic.h>
-+#include <plat/nand.h>
-+#include <plat/iic.h>
- #include <mach/fb.h>
- #include <linux/mtd/mtd.h>
-@@ -406,7 +406,7 @@ static struct platform_device bast_sio =
-  * standard 100KHz i2c bus frequency
- */
--static struct s3c2410_platform_i2c bast_i2c_info = {
-+static struct s3c2410_platform_i2c __initdata bast_i2c_info = {
-       .flags          = 0,
-       .slave_addr     = 0x10,
-       .bus_freq       = 100*1000,
-@@ -553,7 +553,7 @@ static struct platform_device *bast_devi
-       &s3c_device_usb,
-       &s3c_device_lcd,
-       &s3c_device_wdt,
--      &s3c_device_i2c,
-+      &s3c_device_i2c0,
-       &s3c_device_rtc,
-       &s3c_device_nand,
-       &bast_device_dm9k,
-@@ -588,7 +588,8 @@ static void __init bast_map_io(void)
-       s3c24xx_register_clocks(bast_clocks, ARRAY_SIZE(bast_clocks));
-       s3c_device_nand.dev.platform_data = &bast_nand_info;
--      s3c_device_i2c.dev.platform_data = &bast_i2c_info;
-+
-+      s3c_i2c0_set_platdata(&bast_i2c_info);
-       s3c24xx_init_io(bast_iodesc, ARRAY_SIZE(bast_iodesc));
-       s3c24xx_init_clocks(0);
-Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-gta01.c
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2410/mach-gta01.c    2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,786 @@
-+/*
-+ * linux/arch/arm/mach-s3c2410/mach-gta01.c
-+ *
-+ * S3C2410 Machine Support for the FIC Neo1973 GTA01
-+ *
-+ * Copyright (C) 2006-2007 by Openmoko, Inc.
-+ * Author: Harald Welte <laforge@openmoko.org>
-+ * All rights reserved.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ *
-+ */
-+
-+#include <linux/kernel.h>
-+#include <linux/types.h>
-+#include <linux/interrupt.h>
-+#include <linux/list.h>
-+#include <linux/timer.h>
-+#include <linux/init.h>
-+#include <linux/workqueue.h>
-+#include <linux/platform_device.h>
-+#include <linux/i2c.h>
-+#include <linux/serial_core.h>
-+#include <mach/ts.h>
-+#include <linux/spi/spi.h>
-+#include <linux/spi/spi_bitbang.h>
-+#include <linux/mmc/mmc.h>
-+#include <linux/mmc/host.h>
-+
-+#include <linux/mtd/mtd.h>
-+#include <linux/mtd/nand.h>
-+#include <linux/mtd/nand_ecc.h>
-+#include <linux/mtd/partitions.h>
-+
-+#include <linux/mmc/host.h>
-+
-+#include <linux/pcf50606.h>
-+
-+#include <asm/mach/arch.h>
-+#include <asm/mach/map.h>
-+#include <asm/mach/irq.h>
-+
-+#include <mach/hardware.h>
-+#include <mach/io.h>
-+#include <asm/irq.h>
-+#include <asm/mach-types.h>
-+
-+#include <mach/regs-gpio.h>
-+#include <mach/fb.h>
-+#include <mach/mci.h>
-+#include <mach/spi.h>
-+#include <mach/spi-gpio.h>
-+#include <mach/usb-control.h>
-+
-+#include <mach/gta01.h>
-+
-+#include <plat/regs-serial.h>
-+#include <plat/nand.h>
-+#include <plat/devs.h>
-+#include <plat/cpu.h>
-+#include <plat/pm.h>
-+#include <plat/udc.h>
-+#include <plat/iic.h>
-+#include <asm/plat-s3c24xx/neo1973.h>
-+#include <mach/neo1973-pm-gsm.h>
-+
-+#include <linux/jbt6k74.h>
-+
-+#include <linux/ts_filter_mean.h>
-+#include <linux/ts_filter_median.h>
-+
-+
-+static struct map_desc gta01_iodesc[] __initdata = {
-+      {
-+              .virtual        = 0xe0000000,
-+              .pfn            = __phys_to_pfn(S3C2410_CS3+0x01000000),
-+              .length         = SZ_1M,
-+              .type           = MT_DEVICE
-+      },
-+};
-+
-+#define UCON S3C2410_UCON_DEFAULT
-+#define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB
-+#define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE
-+/* UFCON for the gta01 sets the FIFO trigger level at 4, not 8 */
-+#define UFCON_GTA01_PORT0 S3C2410_UFCON_FIFOMODE
-+
-+static struct s3c2410_uartcfg gta01_uartcfgs[] = {
-+      [0] = {
-+              .hwport      = 0,
-+              .flags       = 0,
-+              .ucon        = UCON,
-+              .ulcon       = ULCON,
-+              .ufcon       = UFCON_GTA01_PORT0,
-+      },
-+      [1] = {
-+              .hwport      = 1,
-+              .flags       = 0,
-+              .ucon        = UCON,
-+              .ulcon       = ULCON,
-+              .ufcon       = UFCON,
-+      },
-+};
-+
-+/* PMU driver info */
-+
-+static int pmu_callback(struct device *dev, unsigned int feature,
-+                      enum pmu_event event)
-+{
-+      switch (feature) {
-+      case PCF50606_FEAT_ACD:
-+              switch (event) {
-+              case PMU_EVT_INSERT:
-+                      pcf50606_charge_fast(pcf50606_global, 1);
-+                      break;
-+              case PMU_EVT_REMOVE:
-+                      pcf50606_charge_fast(pcf50606_global, 0);
-+                      break;
-+              default:
-+                      break;
-+              }
-+              break;
-+      default:
-+              break;
-+      }
-+
-+      return 0;
-+}
-+
-+static struct pcf50606_platform_data gta01_pcf_pdata = {
-+      .used_features  = PCF50606_FEAT_EXTON |
-+                        PCF50606_FEAT_MBC |
-+                        PCF50606_FEAT_BBC |
-+                        PCF50606_FEAT_RTC |
-+                        PCF50606_FEAT_WDT |
-+                        PCF50606_FEAT_CHGCUR |
-+                        PCF50606_FEAT_BATVOLT |
-+                        PCF50606_FEAT_BATTEMP,
-+      .onkey_seconds_required = 3,
-+      .cb             = &pmu_callback,
-+      .r_fix_batt     = 10000,
-+      .r_fix_batt_par = 10000,
-+      .r_sense_milli  = 220,
-+      .rails  = {
-+              [PCF50606_REGULATOR_D1REG] = {
-+                      .name           = "bt_3v15",
-+                      .voltage        = {
-+                              .init   = 3150,
-+                              .max    = 3150,
-+                      },
-+              },
-+              [PCF50606_REGULATOR_D2REG] = {
-+                      .name           = "gl_2v5",
-+                      .voltage        = {
-+                              .init   = 2500,
-+                              .max    = 2500,
-+                      },
-+              },
-+              [PCF50606_REGULATOR_D3REG] = {
-+                      .name           = "stby_1v8",
-+                      .flags          = PMU_VRAIL_F_SUSPEND_ON,
-+                      .voltage        = {
-+                              .init   = 1800,
-+                              .max    = 2100,
-+                      },
-+              },
-+              [PCF50606_REGULATOR_DCD] = {
-+                      .name           = "gl_1v5",
-+                      .voltage        = {
-+                              .init   = 1500,
-+                              .max    = 1500,
-+                      },
-+              },
-+              [PCF50606_REGULATOR_DCDE] = {
-+                      .name           = "io_3v3",
-+                      .flags          = PMU_VRAIL_F_SUSPEND_ON,
-+                      .voltage        = {
-+                              .init   = 3300,
-+                              .max    = 3330,
-+                      },
-+              },
-+              [PCF50606_REGULATOR_DCUD] = {
-+                      .name           = "core_1v8",
-+                      .flags          = PMU_VRAIL_F_SUSPEND_ON,
-+                      .voltage        = {
-+                              .init   = 2100,
-+                              .max    = 2100,
-+                      },
-+              },
-+              [PCF50606_REGULATOR_IOREG] = {
-+                      .name           = "codec_3v3",
-+                      .voltage        = {
-+                              .init   = 3300,
-+                              .max    = 3300,
-+                      },
-+              },
-+              [PCF50606_REGULATOR_LPREG] = {
-+                      .name           = "lcm_3v3",
-+                      .voltage        = {
-+                              .init   = 3300,
-+                              .max    = 3300,
-+                      },
-+              }
-+      },
-+};
-+
-+static void cfg_pmu_vrail(struct pmu_voltage_rail *vrail, char *name,
-+                        unsigned int flags, unsigned int init,
-+                        unsigned int max)
-+{
-+      vrail->name = name;
-+      vrail->flags = flags;
-+      vrail->voltage.init = init;
-+      vrail->voltage.max = max;
-+}
-+
-+static void mangle_pmu_pdata_by_system_rev(void)
-+{
-+      switch (system_rev) {
-+      case GTA01Bv4_SYSTEM_REV:
-+              gta01_pcf_pdata.used_features |= PCF50606_FEAT_ACD;
-+              break;
-+      case GTA01Bv3_SYSTEM_REV:
-+      case GTA01Bv2_SYSTEM_REV:
-+              gta01_pcf_pdata.rails[PCF50606_REGULATOR_D3REG]
-+                                      .name = "user1";
-+              gta01_pcf_pdata.rails[PCF50606_REGULATOR_D3REG]
-+                                      .flags &= ~PMU_VRAIL_F_SUSPEND_ON;
-+              gta01_pcf_pdata.rails[PCF50606_REGULATOR_D3REG]
-+                                      .flags = PMU_VRAIL_F_UNUSED;
-+              break;
-+      case GTA01v4_SYSTEM_REV:
-+              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_DCUD],
-+                            "core_1v8", PMU_VRAIL_F_SUSPEND_ON, 1800, 1800);
-+              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_D1REG],
-+                            "vrf_3v", 0, 3000, 3000);
-+              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_D3REG],
-+                            "vtcxo_2v8", 0, 2800, 2800);
-+              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_DCD],
-+                            "gl_3v5", 0, 3500, 3500);
-+              break;
-+      case GTA01v3_SYSTEM_REV:
-+              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_D1REG],
-+                            "vrf_3v", 0, 3000, 3000);
-+              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_D2REG],
-+                            "sd_3v3", 0, 3300, 3300);
-+              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_D3REG],
-+                            "codec_3v3", 0, 3300, 3300);
-+              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_DCD],
-+                            "gpsio_3v3", 0, 3300, 3300);
-+              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_DCUD],
-+                            "core_1v8", PMU_VRAIL_F_SUSPEND_ON, 1800, 1800);
-+              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_IOREG],
-+                            "vtcxo_2v8", 0, 2800, 2800);
-+              break;
-+      }
-+}
-+
-+static struct resource gta01_pmu_resources[] = {
-+      [0] = {
-+              .flags  = IORESOURCE_IRQ,
-+              .start  = GTA01_IRQ_PCF50606,
-+              .end    = GTA01_IRQ_PCF50606,
-+      },
-+};
-+
-+struct platform_device gta01_pmu_dev = {
-+      .name           = "pcf50606",
-+      .num_resources  = ARRAY_SIZE(gta01_pmu_resources),
-+      .resource       = gta01_pmu_resources,
-+      .dev            = {
-+              .platform_data = &gta01_pcf_pdata,
-+      },
-+};
-+
-+/* LCD driver info */
-+
-+/* Configuration for 480x640 toppoly TD028TTEC1.
-+ * Do not mark this as __initdata or it will break! */
-+static struct s3c2410fb_display gta01_displays[] =  {
-+      {
-+              .type           = S3C2410_LCDCON1_TFT,
-+              .width          = 43,
-+              .height         = 58,
-+              .xres           = 480,
-+              .yres           = 640,
-+              .bpp            = 16,
-+
-+              .pixclock       = 40000,        /* HCLK/4 */
-+              .left_margin    = 104,
-+              .right_margin   = 8,
-+              .hsync_len      = 8,
-+              .upper_margin   = 2,
-+              .lower_margin   = 16,
-+              .vsync_len      = 2,
-+              .lcdcon5        = S3C2410_LCDCON5_FRM565 |
-+                                S3C2410_LCDCON5_INVVCLK |
-+                                S3C2410_LCDCON5_INVVLINE |
-+                                S3C2410_LCDCON5_INVVFRAME |
-+                                S3C2410_LCDCON5_PWREN |
-+                                S3C2410_LCDCON5_HWSWP,
-+      },
-+      {
-+              .type           = S3C2410_LCDCON1_TFT,
-+              .width          = 43,
-+              .height         = 58,
-+              .xres           = 480,
-+              .yres           = 640,
-+              .bpp            = 32,
-+
-+              .pixclock       = 40000,        /* HCLK/4 */
-+              .left_margin    = 104,
-+              .right_margin   = 8,
-+              .hsync_len      = 8,
-+              .upper_margin   = 2,
-+              .lower_margin   = 16,
-+              .vsync_len      = 2,
-+              .lcdcon5        = S3C2410_LCDCON5_FRM565 |
-+                                S3C2410_LCDCON5_INVVCLK |
-+                                S3C2410_LCDCON5_INVVLINE |
-+                                S3C2410_LCDCON5_INVVFRAME |
-+                                S3C2410_LCDCON5_PWREN |
-+                                S3C2410_LCDCON5_HWSWP,
-+      },
-+      {
-+              .type           = S3C2410_LCDCON1_TFT,
-+              .width          = 43,
-+              .height         = 58,
-+              .xres           = 240,
-+              .yres           = 320,
-+              .bpp            = 16,
-+
-+              .pixclock       = 40000,        /* HCLK/4 */
-+              .left_margin    = 104,
-+              .right_margin   = 8,
-+              .hsync_len      = 8,
-+              .upper_margin   = 2,
-+              .lower_margin   = 16,
-+              .vsync_len      = 2,
-+              .lcdcon5        = S3C2410_LCDCON5_FRM565 |
-+                                S3C2410_LCDCON5_INVVCLK |
-+                                S3C2410_LCDCON5_INVVLINE |
-+                                S3C2410_LCDCON5_INVVFRAME |
-+                                S3C2410_LCDCON5_PWREN |
-+                                S3C2410_LCDCON5_HWSWP,
-+      },
-+};
-+
-+static struct s3c2410fb_mach_info gta01_lcd_cfg __initdata = {
-+      .displays       = gta01_displays,
-+      .num_displays   = ARRAY_SIZE(gta01_displays),
-+      .default_display = 0,
-+
-+      .lpcsel         = ((0xCE6) & ~7) | 1<<4,
-+};
-+
-+static struct platform_device *gta01_devices[] __initdata = {
-+      &s3c_device_usb,
-+      &s3c_device_lcd,
-+      &s3c_device_wdt,
-+      &s3c_device_i2c0,
-+      &s3c_device_iis,
-+      &s3c_device_sdi,
-+      &s3c_device_usbgadget,
-+      &s3c_device_nand,
-+      &s3c_device_ts,
-+};
-+
-+static struct s3c2410_nand_set gta01_nand_sets[] = {
-+      [0] = {
-+              .name           = "neo1973-nand",
-+              .nr_chips       = 1,
-+              .flags          = S3C2410_NAND_BBT,
-+      },
-+};
-+
-+static struct s3c2410_platform_nand gta01_nand_info = {
-+      .tacls          = 20,
-+      .twrph0         = 60,
-+      .twrph1         = 20,
-+      .nr_sets        = ARRAY_SIZE(gta01_nand_sets),
-+      .sets           = gta01_nand_sets,
-+};
-+
-+static void gta01_mmc_set_power(unsigned char power_mode, unsigned short vdd)
-+{
-+      int bit;
-+      int mv = 1700; /* 1.7V for MMC_VDD_165_195 */
-+
-+      printk(KERN_DEBUG "mmc_set_power(power_mode=%u, vdd=%u)\n",
-+             power_mode, vdd);
-+
-+      switch (system_rev) {
-+      case GTA01v3_SYSTEM_REV:
-+              switch (power_mode) {
-+              case MMC_POWER_OFF:
-+                      pcf50606_onoff_set(pcf50606_global,
-+                                         PCF50606_REGULATOR_D2REG, 0);
-+                      break;
-+              case MMC_POWER_ON:
-+                      /* translate MMC_VDD_* VDD bit to mv */
-+                      for (bit = 8; bit != 24; bit++)
-+                              if (vdd == (1 << bit))
-+                                      mv += 100 * (bit - 4);
-+                      pcf50606_voltage_set(pcf50606_global,
-+                                           PCF50606_REGULATOR_D2REG, mv);
-+                      pcf50606_onoff_set(pcf50606_global,
-+                                         PCF50606_REGULATOR_D2REG, 1);
-+                      break;
-+              }
-+              break;
-+      case GTA01v4_SYSTEM_REV:
-+      case GTA01Bv2_SYSTEM_REV:
-+      case GTA01Bv3_SYSTEM_REV:
-+      case GTA01Bv4_SYSTEM_REV:
-+              switch (power_mode) {
-+              case MMC_POWER_OFF:
-+                      neo1973_gpb_setpin(GTA01_GPIO_SDMMC_ON, 1);
-+                      break;
-+              case MMC_POWER_ON:
-+                      neo1973_gpb_setpin(GTA01_GPIO_SDMMC_ON, 0);
-+                      break;
-+              }
-+              break;
-+      }
-+}
-+
-+static struct s3c24xx_mci_pdata gta01_mmc_cfg = {
-+      .gpio_detect    = GTA01_GPIO_nSD_DETECT,
-+      .set_power      = &gta01_mmc_set_power,
-+      .ocr_avail      = MMC_VDD_165_195|MMC_VDD_20_21|
-+                        MMC_VDD_21_22|MMC_VDD_22_23|MMC_VDD_23_24|
-+                        MMC_VDD_24_25|MMC_VDD_25_26|MMC_VDD_26_27|
-+                        MMC_VDD_27_28|MMC_VDD_28_29|MMC_VDD_29_30|
-+                        MMC_VDD_30_31|MMC_VDD_31_32|MMC_VDD_32_33,
-+};
-+
-+static void gta01_udc_command(enum s3c2410_udc_cmd_e cmd)
-+{
-+      printk(KERN_DEBUG "%s(%d)\n", __func__, cmd);
-+
-+      switch (cmd) {
-+      case S3C2410_UDC_P_ENABLE:
-+              neo1973_gpb_setpin(GTA01_GPIO_USB_PULLUP, 1);
-+              break;
-+      case S3C2410_UDC_P_DISABLE:
-+              neo1973_gpb_setpin(GTA01_GPIO_USB_PULLUP, 0);
-+              break;
-+      default:
-+              break;
-+      }
-+}
-+
-+/* use a work queue, since I2C API inherently schedules
-+ * and we get called in hardirq context from UDC driver */
-+
-+struct vbus_draw {
-+      struct work_struct work;
-+      int ma;
-+};
-+static struct vbus_draw gta01_udc_vbus_drawer;
-+
-+static void __gta01_udc_vbus_draw(struct work_struct *work)
-+{
-+      /* this is a fix to work around boot-time ordering problems if the
-+       * s3c2410_udc is initialized before the pcf50606 driver has defined
-+       * pcf50606_global */
-+      if (!pcf50606_global)
-+              return;
-+
-+      if (gta01_udc_vbus_drawer.ma >= 500) {
-+              /* enable fast charge */
-+              printk(KERN_DEBUG "udc: enabling fast charge\n");
-+              pcf50606_charge_fast(pcf50606_global, 1);
-+      } else {
-+              /* disable fast charge */
-+              printk(KERN_DEBUG "udc: disabling fast charge\n");
-+              pcf50606_charge_fast(pcf50606_global, 0);
-+      }
-+}
-+
-+static void gta01_udc_vbus_draw(unsigned int ma)
-+{
-+      gta01_udc_vbus_drawer.ma = ma;
-+      schedule_work(&gta01_udc_vbus_drawer.work);
-+}
-+
-+static struct s3c2410_udc_mach_info gta01_udc_cfg = {
-+      .vbus_draw      = gta01_udc_vbus_draw,
-+};
-+
-+
-+/* touchscreen configuration */
-+
-+static struct ts_filter_median_configuration gta01_ts_median_config = {
-+      .extent = 31,
-+      .decimation_below = 24,
-+      .decimation_threshold = 8 * 3,
-+      .decimation_above = 12,
-+};
-+
-+static struct ts_filter_mean_configuration gta01_ts_mean_config = {
-+      .bits_filter_length = 5,
-+      .averaging_threshold = 12
-+};
-+
-+static struct s3c2410_ts_mach_info gta01_ts_cfg = {
-+      .delay = 10000,
-+      .presc = 0xff, /* slow as we can go */
-+      .filter_sequence = {
-+              [0] = &ts_filter_median_api,
-+              [1] = &ts_filter_mean_api,
-+      },
-+      .filter_config = {
-+              [0] = &gta01_ts_median_config,
-+              [1] = &gta01_ts_mean_config,
-+      },
-+};
-+
-+
-+/* SPI */
-+
-+static void gta01_jbt6k74_reset(int devidx, int level)
-+{
-+      /* empty place holder; gta01 does not yet use this */
-+      printk(KERN_DEBUG "gta01_jbt6k74_reset\n");
-+}
-+
-+static void gta01_jbt6k74_resuming(int devidx)
-+{
-+      gta01bl_deferred_resume();
-+}
-+
-+const struct jbt6k74_platform_data gta01_jbt6k74_pdata = {
-+      .reset          = gta01_jbt6k74_reset,
-+      .resuming       = gta01_jbt6k74_resuming,
-+};
-+
-+static struct spi_board_info gta01_spi_board_info[] = {
-+      {
-+              .modalias       = "jbt6k74",
-+              .platform_data  = &gta01_jbt6k74_pdata,
-+              /* controller_data */
-+              /* irq */
-+              .max_speed_hz   = 10 * 1000 * 1000,
-+              .bus_num        = 1,
-+              /* chip_select */
-+      },
-+};
-+
-+static void spi_gpio_cs(struct s3c2410_spigpio_info *spi, int csidx, int cs)
-+{
-+      switch (cs) {
-+      case BITBANG_CS_ACTIVE:
-+              s3c2410_gpio_setpin(S3C2410_GPG3, 0);
-+              break;
-+      case BITBANG_CS_INACTIVE:
-+              s3c2410_gpio_setpin(S3C2410_GPG3, 1);
-+              break;
-+      }
-+}
-+
-+static struct s3c2410_spigpio_info spi_gpio_cfg = {
-+      .pin_clk        = S3C2410_GPG7,
-+      .pin_mosi       = S3C2410_GPG6,
-+      .pin_miso       = S3C2410_GPG5,
-+      .board_size     = ARRAY_SIZE(gta01_spi_board_info),
-+      .board_info     = gta01_spi_board_info,
-+      .chip_select    = &spi_gpio_cs,
-+      .num_chipselect = 2,   /*** Should be 1 or 2 for gta01? ***/
-+};
-+
-+static struct resource s3c_spi_lcm_resource[] = {
-+      [0] = {
-+              .start = S3C2410_GPG3,
-+              .end   = S3C2410_GPG3,
-+      },
-+      [1] = {
-+              .start = S3C2410_GPG5,
-+              .end   = S3C2410_GPG5,
-+      },
-+      [2] = {
-+              .start = S3C2410_GPG6,
-+              .end   = S3C2410_GPG6,
-+      },
-+      [3] = {
-+              .start = S3C2410_GPG7,
-+              .end   = S3C2410_GPG7,
-+      },
-+};
-+
-+struct platform_device s3c_device_spi_lcm = {
-+      .name             = "spi_s3c24xx_gpio",
-+      .id               = 1,
-+      .num_resources    = ARRAY_SIZE(s3c_spi_lcm_resource),
-+      .resource         = s3c_spi_lcm_resource,
-+      .dev = {
-+              .platform_data = &spi_gpio_cfg,
-+      },
-+};
-+
-+static struct gta01bl_machinfo backlight_machinfo = {
-+      .default_intensity      = 1,
-+      .max_intensity          = 1,
-+      .limit_mask             = 1,
-+      .defer_resume_backlight = 1,
-+};
-+
-+static struct resource gta01_bl_resources[] = {
-+      [0] = {
-+              .start  = GTA01_GPIO_BACKLIGHT,
-+              .end    = GTA01_GPIO_BACKLIGHT,
-+      },
-+};
-+
-+struct platform_device gta01_bl_dev = {
-+      .name           = "gta01-bl",
-+      .num_resources  = ARRAY_SIZE(gta01_bl_resources),
-+      .resource       = gta01_bl_resources,
-+      .dev            = {
-+              .platform_data = &backlight_machinfo,
-+      },
-+};
-+
-+static struct resource gta01_led_resources[] = {
-+      [0] = {
-+              .start  = GTA01_GPIO_VIBRATOR_ON,
-+              .end    = GTA01_GPIO_VIBRATOR_ON,
-+      },
-+};
-+
-+struct platform_device gta01_led_dev = {
-+      .name           = "neo1973-vibrator",
-+      .num_resources  = ARRAY_SIZE(gta01_led_resources),
-+      .resource       = gta01_led_resources,
-+};
-+
-+static struct resource gta01_button_resources[] = {
-+      [0] = {
-+              .start = GTA01_GPIO_AUX_KEY,
-+              .end   = GTA01_GPIO_AUX_KEY,
-+      },
-+      [1] = {
-+              .start = GTA01_GPIO_HOLD_KEY,
-+              .end   = GTA01_GPIO_HOLD_KEY,
-+      },
-+      [2] = {
-+              .start = GTA01_GPIO_JACK_INSERT,
-+              .end   = GTA01_GPIO_JACK_INSERT,
-+      },
-+      [3] = {
-+              .start = 0,
-+              .end   = 0,
-+      },
-+      [4] = {
-+              .start = 0,
-+              .end   = 0,
-+      },
-+};
-+
-+struct platform_device gta01_button_dev = {
-+      .name           = "neo1973-button",
-+      .num_resources  = ARRAY_SIZE(gta01_button_resources),
-+      .resource       = gta01_button_resources,
-+};
-+
-+static struct platform_device gta01_pm_gsm_dev = {
-+      .name           = "neo1973-pm-gsm",
-+};
-+
-+/* USB */
-+static struct s3c2410_hcd_info gta01_usb_info = {
-+      .port[0]        = {
-+              .flags  = S3C_HCDFLG_USED,
-+      },
-+      .port[1]        = {
-+              .flags  = 0,
-+      },
-+};
-+
-+static void __init gta01_map_io(void)
-+{
-+      s3c24xx_init_io(gta01_iodesc, ARRAY_SIZE(gta01_iodesc));
-+      s3c24xx_init_clocks(12*1000*1000);
-+      s3c24xx_init_uarts(gta01_uartcfgs, ARRAY_SIZE(gta01_uartcfgs));
-+}
-+
-+static irqreturn_t gta01_modem_irq(int irq, void *param)
-+{
-+      printk(KERN_DEBUG "GSM wakeup interrupt (IRQ %d)\n", irq);
-+      gta_gsm_interrupts++;
-+      return IRQ_HANDLED;
-+}
-+
-+static void __init gta01_machine_init(void)
-+{
-+      int rc;
-+
-+      if (system_rev == GTA01v4_SYSTEM_REV ||
-+          system_rev == GTA01Bv2_SYSTEM_REV ||
-+          system_rev == GTA01Bv3_SYSTEM_REV ||
-+          system_rev == GTA01Bv4_SYSTEM_REV) {
-+              gta01_udc_cfg.udc_command = gta01_udc_command;
-+              gta01_mmc_cfg.ocr_avail = MMC_VDD_32_33;
-+      }
-+
-+      s3c_device_usb.dev.platform_data = &gta01_usb_info;
-+      s3c_device_nand.dev.platform_data = &gta01_nand_info;
-+      s3c_device_sdi.dev.platform_data = &gta01_mmc_cfg;
-+
-+      s3c24xx_fb_set_platdata(&gta01_lcd_cfg);
-+
-+      INIT_WORK(&gta01_udc_vbus_drawer.work, __gta01_udc_vbus_draw);
-+      s3c24xx_udc_set_platdata(&gta01_udc_cfg);
-+      s3c_i2c0_set_platdata(NULL);
-+      set_s3c2410ts_info(&gta01_ts_cfg);
-+
-+      /* Set LCD_RESET / XRES to high */
-+      s3c2410_gpio_cfgpin(S3C2410_GPC6, S3C2410_GPIO_OUTPUT);
-+      s3c2410_gpio_setpin(S3C2410_GPC6, 1);
-+
-+      /* SPI chip select is gpio output */
-+      s3c2410_gpio_cfgpin(S3C2410_GPG3, S3C2410_GPIO_OUTPUT);
-+      s3c2410_gpio_setpin(S3C2410_GPG3, 1);
-+      platform_device_register(&s3c_device_spi_lcm);
-+
-+      platform_device_register(&gta01_bl_dev);
-+      platform_device_register(&gta01_button_dev);
-+      platform_device_register(&gta01_pm_gsm_dev);
-+
-+      switch (system_rev) {
-+      case GTA01v3_SYSTEM_REV:
-+      case GTA01v4_SYSTEM_REV:
-+              /* just use the default (GTA01_IRQ_PCF50606) */
-+              break;
-+      case GTA01Bv2_SYSTEM_REV:
-+      case GTA01Bv3_SYSTEM_REV:
-+              /* just use the default (GTA01_IRQ_PCF50606) */
-+              gta01_led_resources[0].start =
-+                      gta01_led_resources[0].end = GTA01Bv2_GPIO_VIBRATOR_ON;
-+              break;
-+      case GTA01Bv4_SYSTEM_REV:
-+              gta01_pmu_resources[0].start =
-+                      gta01_pmu_resources[0].end = GTA01Bv4_IRQ_PCF50606;
-+              gta01_led_resources[0].start =
-+                      gta01_led_resources[0].end = GTA01Bv4_GPIO_VIBRATOR_ON;
-+              break;
-+      }
-+      mangle_pmu_pdata_by_system_rev();
-+      platform_device_register(&gta01_pmu_dev);
-+      platform_device_register(&gta01_led_dev);
-+
-+      platform_add_devices(gta01_devices, ARRAY_SIZE(gta01_devices));
-+
-+      s3c2410_pm_init();
-+
-+      set_irq_type(GTA01_IRQ_MODEM, IRQ_TYPE_EDGE_RISING);
-+      rc = request_irq(GTA01_IRQ_MODEM, gta01_modem_irq, IRQF_DISABLED,
-+                       "modem", NULL);
-+      enable_irq_wake(GTA01_IRQ_MODEM);
-+      printk(KERN_DEBUG  "Enabled GSM wakeup IRQ %d (rc=%d)\n",
-+             GTA01_IRQ_MODEM, rc);
-+}
-+
-+MACHINE_START(NEO1973_GTA01, "GTA01")
-+      .phys_io        = S3C2410_PA_UART,
-+      .io_pg_offst    = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc,
-+      .boot_params    = S3C2410_SDRAM_PA + 0x100,
-+      .map_io         = gta01_map_io,
-+      .init_irq       = s3c24xx_init_irq,
-+      .init_machine   = gta01_machine_init,
-+      .timer          = &s3c24xx_timer,
-+MACHINE_END
-Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-h1940.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/mach-h1940.c       2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/mach-h1940.c    2009-01-02 00:01:56.000000000 +0100
-@@ -38,11 +38,13 @@
- #include <mach/h1940.h>
- #include <mach/h1940-latch.h>
- #include <mach/fb.h>
--#include <asm/plat-s3c24xx/udc.h>
-+#include <plat/udc.h>
-+#include <plat/iic.h>
- #include <plat/clock.h>
- #include <plat/devs.h>
- #include <plat/cpu.h>
-+#include <plat/pll.h>
- #include <plat/pm.h>
- static struct map_desc h1940_iodesc[] __initdata = {
-@@ -129,6 +131,11 @@ static struct s3c2410_udc_mach_info h194
-       .vbus_pin_inverted      = 1,
- };
-+static struct s3c2410_ts_mach_info h1940_ts_cfg __initdata = {
-+              .delay = 10000,
-+              .presc = 49,
-+              .oversampling_shift = 2,
-+};
- /**
-  * Set lcd on or off
-@@ -183,9 +190,10 @@ static struct platform_device *h1940_dev
-       &s3c_device_usb,
-       &s3c_device_lcd,
-       &s3c_device_wdt,
--      &s3c_device_i2c,
-+      &s3c_device_i2c0,
-       &s3c_device_iis,
-       &s3c_device_usbgadget,
-+      &s3c_device_ts,
-       &s3c_device_leds,
-       &s3c_device_bluetooth,
- };
-@@ -201,7 +209,7 @@ static void __init h1940_map_io(void)
- #ifdef CONFIG_PM_H1940
-       memcpy(phys_to_virt(H1940_SUSPEND_RESUMEAT), h1940_pm_return, 1024);
- #endif
--      s3c2410_pm_init();
-+      s3c_pm_init();
- }
- static void __init h1940_init_irq(void)
-@@ -214,7 +222,9 @@ static void __init h1940_init(void)
-       u32 tmp;
-       s3c24xx_fb_set_platdata(&h1940_fb_info);
-+      set_s3c2410ts_info(&h1940_ts_cfg);
-       s3c24xx_udc_set_platdata(&h1940_udc_cfg);
-+      s3c_i2c0_set_platdata(NULL);
-       /* Turn off suspend on both USB ports, and switch the
-        * selectable USB port to USB device mode. */
-@@ -223,10 +233,9 @@ static void __init h1940_init(void)
-                             S3C2410_MISCCR_USBSUSPND0 |
-                             S3C2410_MISCCR_USBSUSPND1, 0x0);
--      tmp = (
--               0x78 << S3C2410_PLLCON_MDIVSHIFT)
--            | (0x02 << S3C2410_PLLCON_PDIVSHIFT)
--            | (0x03 << S3C2410_PLLCON_SDIVSHIFT);
-+      tmp =   (0x78 << S3C24XX_PLLCON_MDIVSHIFT)
-+            | (0x02 << S3C24XX_PLLCON_PDIVSHIFT)
-+            | (0x03 << S3C24XX_PLLCON_SDIVSHIFT);
-       writel(tmp, S3C2410_UPLLCON);
-       platform_add_devices(h1940_devices, ARRAY_SIZE(h1940_devices));
-Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-n30.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/mach-n30.c 2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/mach-n30.c      2009-01-02 00:01:56.000000000 +0100
-@@ -40,14 +40,14 @@
- #include <asm/mach/irq.h>
- #include <asm/mach/map.h>
--#include <asm/plat-s3c/iic.h>
-+#include <plat/iic.h>
- #include <plat/regs-serial.h>
- #include <plat/clock.h>
- #include <plat/cpu.h>
- #include <plat/devs.h>
- #include <plat/s3c2410.h>
--#include <asm/plat-s3c24xx/udc.h>
-+#include <plat/udc.h>
- static struct map_desc n30_iodesc[] __initdata = {
-       /* nothing here yet */
-@@ -320,7 +320,7 @@ static struct s3c2410fb_mach_info n30_fb
- static struct platform_device *n30_devices[] __initdata = {
-       &s3c_device_lcd,
-       &s3c_device_wdt,
--      &s3c_device_i2c,
-+      &s3c_device_i2c0,
-       &s3c_device_iis,
-       &s3c_device_usb,
-       &s3c_device_usbgadget,
-@@ -332,7 +332,7 @@ static struct platform_device *n30_devic
- static struct platform_device *n35_devices[] __initdata = {
-       &s3c_device_lcd,
-       &s3c_device_wdt,
--      &s3c_device_i2c,
-+      &s3c_device_i2c0,
-       &s3c_device_iis,
-       &s3c_device_usbgadget,
-       &n35_button_device,
-@@ -501,7 +501,7 @@ static void __init n30_init_irq(void)
- static void __init n30_init(void)
- {
-       s3c24xx_fb_set_platdata(&n30_fb_info);
--      s3c_device_i2c.dev.platform_data = &n30_i2ccfg;
-+      s3c_device_i2c0.dev.platform_data = &n30_i2ccfg;
-       s3c24xx_udc_set_platdata(&n30_udc_cfg);
-       /* Turn off suspend on both USB ports, and switch the
-Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-otom.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/mach-otom.c        2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/mach-otom.c     2009-01-02 00:01:56.000000000 +0100
-@@ -35,6 +35,7 @@
- #include <plat/s3c2410.h>
- #include <plat/clock.h>
- #include <plat/devs.h>
-+#include <plat/iic.h>
- #include <plat/cpu.h>
- static struct map_desc otom11_iodesc[] __initdata = {
-@@ -94,7 +95,7 @@ static struct platform_device *otom11_de
-       &s3c_device_usb,
-       &s3c_device_lcd,
-       &s3c_device_wdt,
--      &s3c_device_i2c,
-+      &s3c_device_i2c0,
-       &s3c_device_iis,
-       &s3c_device_rtc,
-       &otom_device_nor,
-@@ -109,6 +110,7 @@ static void __init otom11_map_io(void)
- static void __init otom11_init(void)
- {
-+      s3c_i2c0_set_platdata(NULL);
-       platform_add_devices(otom11_devices, ARRAY_SIZE(otom11_devices));
- }
-Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-qt2410.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/mach-qt2410.c      2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/mach-qt2410.c   2009-01-02 00:01:56.000000000 +0100
-@@ -1,6 +1,6 @@
- /* linux/arch/arm/mach-s3c2410/mach-qt2410.c
-  *
-- * Copyright (C) 2006 by OpenMoko, Inc.
-+ * Copyright (C) 2006 by Openmoko, Inc.
-  * Author: Harald Welte <laforge@openmoko.org>
-  * All rights reserved.
-  *
-@@ -50,10 +50,11 @@
- #include <mach/leds-gpio.h>
- #include <plat/regs-serial.h>
- #include <mach/fb.h>
--#include <asm/plat-s3c/nand.h>
--#include <asm/plat-s3c24xx/udc.h>
-+#include <plat/nand.h>
-+#include <plat/udc.h>
- #include <mach/spi.h>
- #include <mach/spi-gpio.h>
-+#include <plat/iic.h>
- #include <plat/common-smdk.h>
- #include <plat/devs.h>
-@@ -213,7 +214,7 @@ static struct platform_device qt2410_led
- /* SPI */
--static void spi_gpio_cs(struct s3c2410_spigpio_info *spi, int cs)
-+static void spi_gpio_cs(struct s3c2410_spigpio_info *spi, int csidx, int cs)
- {
-       switch (cs) {
-       case BITBANG_CS_ACTIVE:
-@@ -247,7 +248,7 @@ static struct platform_device *qt2410_de
-       &s3c_device_usb,
-       &s3c_device_lcd,
-       &s3c_device_wdt,
--      &s3c_device_i2c,
-+      &s3c_device_i2c0,
-       &s3c_device_iis,
-       &s3c_device_sdi,
-       &s3c_device_usbgadget,
-@@ -320,6 +321,24 @@ static int __init qt2410_tft_setup(char 
- __setup("tft=", qt2410_tft_setup);
-+static struct resource qt2410_button_resources[] = {
-+      [0] = {
-+              .start = S3C2410_GPF0,
-+              .end   = S3C2410_GPF0,
-+      },
-+      [1] = {
-+              .start = S3C2410_GPF2,
-+              .end   = S3C2410_GPF2,
-+      },
-+};
-+
-+struct platform_device qt2410_button_dev = {
-+      .name           ="qt2410-button",
-+      .num_resources  = ARRAY_SIZE(qt2410_button_resources),
-+      .resource       = qt2410_button_resources,
-+};
-+
-+
- static void __init qt2410_map_io(void)
- {
-       s3c24xx_init_io(qt2410_iodesc, ARRAY_SIZE(qt2410_iodesc));
-@@ -349,11 +368,12 @@ static void __init qt2410_machine_init(v
-       s3c2410_gpio_setpin(S3C2410_GPB0, 1);
-       s3c24xx_udc_set_platdata(&qt2410_udc_cfg);
-+      s3c_i2c0_set_platdata(NULL);
-       s3c2410_gpio_cfgpin(S3C2410_GPB5, S3C2410_GPIO_OUTPUT);
-       platform_add_devices(qt2410_devices, ARRAY_SIZE(qt2410_devices));
--      s3c2410_pm_init();
-+      s3c_pm_init();
- }
- MACHINE_START(QT2410, "QT2410")
-Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-smdk2410.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/mach-smdk2410.c    2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/mach-smdk2410.c 2009-01-02 00:01:56.000000000 +0100
-@@ -47,6 +47,7 @@
- #include <asm/mach-types.h>
- #include <plat/regs-serial.h>
-+#include <plat/iic.h>
- #include <plat/devs.h>
- #include <plat/cpu.h>
-@@ -89,7 +90,7 @@ static struct platform_device *smdk2410_
-       &s3c_device_usb,
-       &s3c_device_lcd,
-       &s3c_device_wdt,
--      &s3c_device_i2c,
-+      &s3c_device_i2c0,
-       &s3c_device_iis,
- };
-@@ -102,6 +103,7 @@ static void __init smdk2410_map_io(void)
- static void __init smdk2410_init(void)
- {
-+      s3c_i2c0_set_platdata(NULL);
-       platform_add_devices(smdk2410_devices, ARRAY_SIZE(smdk2410_devices));
-       smdk_machine_init();
- }
-Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-tct_hammer.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/mach-tct_hammer.c  2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/mach-tct_hammer.c       2009-01-02 00:01:56.000000000 +0100
-@@ -45,6 +45,7 @@
- #include <asm/mach-types.h>
- #include <plat/regs-serial.h>
-+#include <plat/iic.h>
- #include <plat/devs.h>
- #include <plat/cpu.h>
-@@ -127,7 +128,7 @@ static struct s3c2410_uartcfg tct_hammer
- static struct platform_device *tct_hammer_devices[] __initdata = {
-       &s3c_device_adc,
-       &s3c_device_wdt,
--      &s3c_device_i2c,
-+      &s3c_device_i2c0,
-       &s3c_device_usb,
-       &s3c_device_rtc,
-       &s3c_device_usbgadget,
-@@ -146,6 +147,7 @@ static void __init tct_hammer_map_io(voi
- static void __init tct_hammer_init(void)
- {
-+      s3c_i2c0_set_platdata(NULL);
-       platform_add_devices(tct_hammer_devices, ARRAY_SIZE(tct_hammer_devices));
- }
-Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-vr1000.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/mach-vr1000.c      2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/mach-vr1000.c   2009-01-02 00:01:56.000000000 +0100
-@@ -47,6 +47,7 @@
- #include <plat/clock.h>
- #include <plat/devs.h>
- #include <plat/cpu.h>
-+#include <plat/iic.h>
- #include "usb-simtec.h"
- #include "nor-simtec.h"
-@@ -334,7 +335,7 @@ static struct platform_device *vr1000_de
-       &s3c_device_usb,
-       &s3c_device_lcd,
-       &s3c_device_wdt,
--      &s3c_device_i2c,
-+      &s3c_device_i2c0,
-       &s3c_device_adc,
-       &serial_device,
-       &vr1000_dm9k0,
-@@ -384,6 +385,7 @@ static void __init vr1000_map_io(void)
- static void __init vr1000_init(void)
- {
-+      s3c_i2c0_set_platdata(NULL);
-       platform_add_devices(vr1000_devices, ARRAY_SIZE(vr1000_devices));
-       i2c_register_board_info(0, vr1000_i2c_devs,
-Index: linux-2.6.28/arch/arm/mach-s3c2410/Makefile
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/Makefile   2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/Makefile        2009-01-02 00:01:56.000000000 +0100
-@@ -15,7 +15,8 @@ obj-$(CONFIG_CPU_S3C2410_DMA)        += dma.o
- obj-$(CONFIG_CPU_S3C2410_DMA) += dma.o
- obj-$(CONFIG_S3C2410_PM)      += pm.o sleep.o
- obj-$(CONFIG_S3C2410_GPIO)    += gpio.o
--obj-$(CONFIG_S3C2410_CLOCK)   += clock.o
-+#obj-$(CONFIG_S3C2410_CLOCK)  += clock.o
-+obj-$(CONFIG_S3C2410_PWM)     += pwm.o
- # Machine support
-@@ -38,3 +39,5 @@ obj-$(CONFIG_SIMTEC_NOR)     += nor-simtec.o
- # machine additions
- obj-$(CONFIG_MACH_BAST_IDE)   += bast-ide.o
-+obj-$(CONFIG_MACH_NEO1973_GTA01)+= mach-gta01.o
-+
-Index: linux-2.6.28/arch/arm/mach-s3c2410/pm.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/pm.c       2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/pm.c    2009-01-02 00:01:56.000000000 +0100
-@@ -37,21 +37,14 @@
- #include <plat/cpu.h>
- #include <plat/pm.h>
--#ifdef CONFIG_S3C2410_PM_DEBUG
--extern void pm_dbg(const char *fmt, ...);
--#define DBG(fmt...) pm_dbg(fmt)
--#else
--#define DBG(fmt...) printk(KERN_DEBUG fmt)
--#endif
--
- static void s3c2410_pm_prepare(void)
- {
-       /* ensure at least GSTATUS3 has the resume address */
--      __raw_writel(virt_to_phys(s3c2410_cpu_resume), S3C2410_GSTATUS3);
-+      __raw_writel(virt_to_phys(s3c_cpu_resume), S3C2410_GSTATUS3);
--      DBG("GSTATUS3 0x%08x\n", __raw_readl(S3C2410_GSTATUS3));
--      DBG("GSTATUS4 0x%08x\n", __raw_readl(S3C2410_GSTATUS4));
-+      S3C_PMDBG("GSTATUS3 0x%08x\n", __raw_readl(S3C2410_GSTATUS3));
-+      S3C_PMDBG("GSTATUS4 0x%08x\n", __raw_readl(S3C2410_GSTATUS4));
-       if (machine_is_h1940()) {
-               void *base = phys_to_virt(H1940_SUSPEND_CHECK);
-Index: linux-2.6.28/arch/arm/mach-s3c2410/pwm.c
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2410/pwm.c   2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,288 @@
-+/*
-+ * arch/arm/mach-s3c2410/3c2410-pwm.c
-+ *
-+ * Copyright (c) by Javi Roman <javiroman@kernel-labs.org>
-+ *             for the Openmoko Project.
-+ *
-+ *     S3C2410A SoC PWM support
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-+ *
-+ */
-+
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/clk.h>
-+#include <linux/device.h>
-+#include <mach/hardware.h>
-+#include <plat/regs-timer.h>
-+#include <mach/pwm.h>
-+#include <asm/io.h>
-+
-+#ifdef CONFIG_PM
-+      static unsigned long standby_reg_tcon;
-+      static unsigned long standby_reg_tcfg0;
-+      static unsigned long standby_reg_tcfg1;
-+#endif
-+
-+int s3c2410_pwm_disable(struct s3c2410_pwm *pwm)
-+{
-+      unsigned long tcon;
-+
-+      /* stop timer */
-+      tcon = __raw_readl(S3C2410_TCON);
-+      tcon &= 0xffffff00;
-+      __raw_writel(tcon, S3C2410_TCON);
-+
-+      clk_disable(pwm->pclk);
-+      clk_put(pwm->pclk);
-+
-+      return 0;
-+}
-+EXPORT_SYMBOL_GPL(s3c2410_pwm_disable);
-+
-+int s3c2410_pwm_init(struct s3c2410_pwm *pwm)
-+{
-+      pwm->pclk = clk_get(NULL, "timers");
-+      if (IS_ERR(pwm->pclk))
-+              return PTR_ERR(pwm->pclk);
-+
-+      clk_enable(pwm->pclk);
-+      pwm->pclk_rate = clk_get_rate(pwm->pclk);
-+      return 0;
-+}
-+EXPORT_SYMBOL_GPL(s3c2410_pwm_init);
-+
-+int s3c2410_pwm_enable(struct s3c2410_pwm *pwm)
-+{
-+      unsigned long tcfg0, tcfg1, tcnt, tcmp;
-+
-+      /* control registers bits */
-+      tcfg1 = __raw_readl(S3C2410_TCFG1);
-+      tcfg0 = __raw_readl(S3C2410_TCFG0);
-+
-+      /* divider & scaler slection */
-+      switch (pwm->timerid) {
-+      case PWM0:
-+              tcfg1 &= ~S3C2410_TCFG1_MUX0_MASK;
-+              tcfg0 &= ~S3C2410_TCFG_PRESCALER0_MASK;
-+              break;
-+      case PWM1:
-+              tcfg1 &= ~S3C2410_TCFG1_MUX1_MASK;
-+              tcfg0 &= ~S3C2410_TCFG_PRESCALER0_MASK;
-+              break;
-+      case PWM2:
-+              tcfg1 &= ~S3C2410_TCFG1_MUX2_MASK;
-+              tcfg0 &= ~S3C2410_TCFG_PRESCALER1_MASK;
-+              break;
-+      case PWM3:
-+              tcfg1 &= ~S3C2410_TCFG1_MUX3_MASK;
-+              tcfg0 &= ~S3C2410_TCFG_PRESCALER1_MASK;
-+              break;
-+      case PWM4:
-+              /* timer four is not capable of doing PWM */
-+              break;
-+      default:
-+              clk_disable(pwm->pclk);
-+              clk_put(pwm->pclk);
-+              return -1;
-+      }
-+
-+      /* divider & scaler values */
-+      tcfg1 |= pwm->divider;
-+      __raw_writel(tcfg1, S3C2410_TCFG1);
-+
-+      switch (pwm->timerid) {
-+      case PWM0:
-+      case PWM1:
-+              tcfg0 |= pwm->prescaler;
-+              __raw_writel(tcfg0, S3C2410_TCFG0);
-+              break;
-+      default:
-+              if ((tcfg0 | pwm->prescaler) != tcfg0) {
-+                      printk(KERN_WARNING "not changing prescaler of PWM %u,"
-+                             " since it's shared with timer4 (clock tick)\n",
-+                             pwm->timerid);
-+              }
-+              break;
-+      }
-+
-+      /* timer count and compare buffer initial values */
-+      tcnt = pwm->counter;
-+      tcmp = pwm->comparer;
-+
-+      __raw_writel(tcnt, S3C2410_TCNTB(pwm->timerid));
-+      __raw_writel(tcmp, S3C2410_TCMPB(pwm->timerid));
-+
-+      /* ensure timer is stopped */
-+      s3c2410_pwm_stop(pwm);
-+
-+      return 0;
-+}
-+EXPORT_SYMBOL_GPL(s3c2410_pwm_enable);
-+
-+int s3c2410_pwm_start(struct s3c2410_pwm *pwm)
-+{
-+      unsigned long tcon;
-+
-+      tcon = __raw_readl(S3C2410_TCON);
-+
-+      switch (pwm->timerid) {
-+      case PWM0:
-+              tcon |= S3C2410_TCON_T0START;
-+              tcon &= ~S3C2410_TCON_T0MANUALUPD;
-+              break;
-+      case PWM1:
-+              tcon |= S3C2410_TCON_T1START;
-+              tcon &= ~S3C2410_TCON_T1MANUALUPD;
-+              break;
-+      case PWM2:
-+              tcon |= S3C2410_TCON_T2START;
-+              tcon &= ~S3C2410_TCON_T2MANUALUPD;
-+              break;
-+      case PWM3:
-+              tcon |= S3C2410_TCON_T3START;
-+              tcon &= ~S3C2410_TCON_T3MANUALUPD;
-+              break;
-+      case PWM4:
-+              /* timer four is not capable of doing PWM */
-+      default:
-+              return -ENODEV;
-+      }
-+
-+      __raw_writel(tcon, S3C2410_TCON);
-+
-+      return 0;
-+}
-+EXPORT_SYMBOL_GPL(s3c2410_pwm_start);
-+
-+int s3c2410_pwm_stop(struct s3c2410_pwm *pwm)
-+{
-+      unsigned long tcon;
-+
-+      tcon = __raw_readl(S3C2410_TCON);
-+
-+      switch (pwm->timerid) {
-+      case PWM0:
-+              tcon &= ~0x00000000;
-+              tcon |= S3C2410_TCON_T0RELOAD;
-+              tcon |= S3C2410_TCON_T0MANUALUPD;
-+              break;
-+      case PWM1:
-+              tcon &= ~0x00000080;
-+              tcon |= S3C2410_TCON_T1RELOAD;
-+              tcon |= S3C2410_TCON_T1MANUALUPD;
-+              break;
-+      case PWM2:
-+              tcon &= ~0x00000800;
-+              tcon |= S3C2410_TCON_T2RELOAD;
-+              tcon |= S3C2410_TCON_T2MANUALUPD;
-+              break;
-+      case PWM3:
-+              tcon &= ~0x00008000;
-+              tcon |= S3C2410_TCON_T3RELOAD;
-+              tcon |= S3C2410_TCON_T3MANUALUPD;
-+              break;
-+      case PWM4:
-+              /* timer four is not capable of doing PWM */
-+      default:
-+              return -ENODEV;
-+      }
-+
-+      __raw_writel(tcon, S3C2410_TCON);
-+
-+      return 0;
-+}
-+EXPORT_SYMBOL_GPL(s3c2410_pwm_stop);
-+
-+int s3c2410_pwm_duty_cycle(int reg_value, struct s3c2410_pwm *pwm)
-+{
-+      __raw_writel(reg_value, S3C2410_TCMPB(pwm->timerid));
-+
-+      return 0;
-+}
-+EXPORT_SYMBOL_GPL(s3c2410_pwm_duty_cycle);
-+
-+int s3c2410_pwm_dumpregs(void)
-+{
-+      printk(KERN_INFO "TCON: %08lx, TCFG0: %08lx, TCFG1: %08lx\n",
-+                      (unsigned long) __raw_readl(S3C2410_TCON),
-+                      (unsigned long) __raw_readl(S3C2410_TCFG0),
-+                      (unsigned long) __raw_readl(S3C2410_TCFG1));
-+
-+      return 0;
-+}
-+EXPORT_SYMBOL_GPL(s3c2410_pwm_dumpregs);
-+
-+static int __init s3c24xx_pwm_probe(struct platform_device *pdev)
-+{
-+      struct s3c24xx_pwm_platform_data *pdata = pdev->dev.platform_data;
-+
-+      dev_info(&pdev->dev, "s3c24xx_pwm is registered \n");
-+
-+      /* if platform was interested, give him a chance to register
-+       * platform devices that switch power with us as the parent
-+       * at registration time -- ensures suspend / resume ordering
-+       */
-+      if (pdata)
-+              if (pdata->attach_child_devices)
-+                      (pdata->attach_child_devices)(&pdev->dev);
-+
-+      return 0;
-+}
-+
-+#ifdef CONFIG_PM
-+static int s3c24xx_pwm_suspend(struct platform_device *pdev, pm_message_t state)
-+{
-+      /* PWM config should be kept in suspending */
-+      standby_reg_tcon = __raw_readl(S3C2410_TCON);
-+      standby_reg_tcfg0 = __raw_readl(S3C2410_TCFG0);
-+      standby_reg_tcfg1 = __raw_readl(S3C2410_TCFG1);
-+
-+      return 0;
-+}
-+
-+static int s3c24xx_pwm_resume(struct platform_device *pdev)
-+{
-+      __raw_writel(standby_reg_tcon, S3C2410_TCON);
-+      __raw_writel(standby_reg_tcfg0, S3C2410_TCFG0);
-+      __raw_writel(standby_reg_tcfg1, S3C2410_TCFG1);
-+
-+      return 0;
-+}
-+#else
-+#define sc32440_pwm_suspend   NULL
-+#define sc32440_pwm_resume    NULL
-+#endif
-+
-+static struct platform_driver s3c24xx_pwm_driver = {
-+      .driver = {
-+              .name   = "s3c24xx_pwm",
-+              .owner  = THIS_MODULE,
-+      },
-+      .probe   = s3c24xx_pwm_probe,
-+      .suspend = s3c24xx_pwm_suspend,
-+      .resume  = s3c24xx_pwm_resume,
-+};
-+
-+static int __init s3c24xx_pwm_init(void)
-+{
-+      return platform_driver_register(&s3c24xx_pwm_driver);
-+}
-+
-+static void __exit s3c24xx_pwm_exit(void)
-+{
-+}
-+
-+MODULE_AUTHOR("Javi Roman <javiroman@kernel-labs.org>");
-+MODULE_LICENSE("GPL");
-+
-+module_init(s3c24xx_pwm_init);
-+module_exit(s3c24xx_pwm_exit);
-Index: linux-2.6.28/arch/arm/mach-s3c2410/s3c2410.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2410/s3c2410.c  2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2410/s3c2410.c       2009-01-02 00:01:56.000000000 +0100
-@@ -16,6 +16,7 @@
- #include <linux/list.h>
- #include <linux/timer.h>
- #include <linux/init.h>
-+#include <linux/clk.h>
- #include <linux/sysdev.h>
- #include <linux/serial_core.h>
- #include <linux/platform_device.h>
-@@ -28,6 +29,8 @@
- #include <mach/hardware.h>
- #include <asm/irq.h>
-+#include <plat/cpu-freq.h>
-+
- #include <mach/regs-clock.h>
- #include <plat/regs-serial.h>
-@@ -35,6 +38,7 @@
- #include <plat/cpu.h>
- #include <plat/devs.h>
- #include <plat/clock.h>
-+#include <plat/pll.h>
- /* Initial IO mappings */
-@@ -59,25 +63,28 @@ void __init s3c2410_init_uarts(struct s3
-  * machine specific initialisation.
- */
--void __init s3c2410_map_io(struct map_desc *mach_desc, int mach_size)
-+void __init s3c2410_map_io(void)
- {
--      /* register our io-tables */
--
-       iotable_init(s3c2410_iodesc, ARRAY_SIZE(s3c2410_iodesc));
--      iotable_init(mach_desc, mach_size);
- }
--void __init s3c2410_init_clocks(int xtal)
-+void __init_or_cpufreq s3c2410_setup_clocks(void)
- {
-+      struct clk *xtal_clk;
-       unsigned long tmp;
-+      unsigned long xtal;
-       unsigned long fclk;
-       unsigned long hclk;
-       unsigned long pclk;
-+      xtal_clk = clk_get(NULL, "xtal");
-+      xtal = clk_get_rate(xtal_clk);
-+      clk_put(xtal_clk);
-+
-       /* now we've got our machine bits initialised, work out what
-        * clocks we've got */
--      fclk = s3c2410_get_pll(__raw_readl(S3C2410_MPLLCON), xtal);
-+      fclk = s3c24xx_get_pll(__raw_readl(S3C2410_MPLLCON), xtal);
-       tmp = __raw_readl(S3C2410_CLKDIVN);
-@@ -95,7 +102,13 @@ void __init s3c2410_init_clocks(int xtal
-        * console to use them
-        */
--      s3c24xx_setup_clocks(xtal, fclk, hclk, pclk);
-+      s3c24xx_setup_clocks(fclk, hclk, pclk);
-+}
-+
-+void __init s3c2410_init_clocks(int xtal)
-+{
-+      s3c24xx_register_baseclocks(xtal);
-+      s3c2410_setup_clocks();
-       s3c2410_baseclk_add();
- }
-Index: linux-2.6.28/arch/arm/mach-s3c2412/clock.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2412/clock.c    2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2412/clock.c 2009-01-02 00:01:56.000000000 +0100
-@@ -93,12 +93,6 @@ static int s3c2412_upll_enable(struct cl
- /* clock selections */
--/* CPU EXTCLK input */
--static struct clk clk_ext = {
--      .name           = "extclk",
--      .id             = -1,
--};
--
- static struct clk clk_erefclk = {
-       .name           = "erefclk",
-       .id             = -1,
-@@ -773,5 +767,6 @@ int __init s3c2412_baseclk_add(void)
-               s3c2412_clkcon_enable(clkp, 0);
-       }
-+      s3c_pwmclk_init();
-       return 0;
- }
-Index: linux-2.6.28/arch/arm/mach-s3c2412/dma.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2412/dma.c      2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2412/dma.c   2009-01-02 00:01:56.000000000 +0100
-@@ -26,13 +26,13 @@
- #include <plat/regs-serial.h>
- #include <mach/regs-gpio.h>
--#include <asm/plat-s3c/regs-ac97.h>
-+#include <plat/regs-ac97.h>
- #include <mach/regs-mem.h>
- #include <mach/regs-lcd.h>
- #include <mach/regs-sdi.h>
- #include <asm/plat-s3c24xx/regs-s3c2412-iis.h>
- #include <asm/plat-s3c24xx/regs-iis.h>
--#include <asm/plat-s3c24xx/regs-spi.h>
-+#include <plat/regs-spi.h>
- #define MAP(x) { (x)| DMA_CH_VALID, (x)| DMA_CH_VALID, (x)| DMA_CH_VALID, (x)| DMA_CH_VALID }
-Index: linux-2.6.28/arch/arm/mach-s3c2412/mach-jive.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2412/mach-jive.c        2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2412/mach-jive.c     2009-01-02 00:01:56.000000000 +0100
-@@ -31,8 +31,8 @@
- #include <asm/mach/irq.h>
- #include <plat/regs-serial.h>
--#include <asm/plat-s3c/nand.h>
--#include <asm/plat-s3c/iic.h>
-+#include <plat/nand.h>
-+#include <plat/iic.h>
- #include <mach/regs-power.h>
- #include <mach/regs-gpio.h>
-@@ -52,7 +52,8 @@
- #include <plat/devs.h>
- #include <plat/cpu.h>
- #include <plat/pm.h>
--#include <asm/plat-s3c24xx/udc.h>
-+#include <plat/udc.h>
-+#include <plat/iic.h>
- static struct map_desc jive_iodesc[] __initdata = {
- };
-@@ -450,14 +451,14 @@ static struct spi_board_info __initdata 
- /* I2C bus and device configuration. */
--static struct s3c2410_platform_i2c jive_i2c_cfg = {
-+static struct s3c2410_platform_i2c jive_i2c_cfg __initdata = {
-       .max_freq       = 80 * 1000,
-       .bus_freq       = 50 * 1000,
-       .flags          = S3C_IICFLG_FILTER,
-       .sda_delay      = 2,
- };
--static struct i2c_board_info jive_i2c_devs[] = {
-+static struct i2c_board_info jive_i2c_devs[] __initdata = {
-       [0] = {
-               I2C_BOARD_INFO("lis302dl", 0x1c),
-               .irq    = IRQ_EINT14,
-@@ -470,7 +471,7 @@ static struct platform_device *jive_devi
-       &s3c_device_usb,
-       &s3c_device_rtc,
-       &s3c_device_wdt,
--      &s3c_device_i2c,
-+      &s3c_device_i2c0,
-       &s3c_device_lcd,
-       &jive_device_lcdspi,
-       &jive_device_wm8750,
-@@ -492,7 +493,7 @@ static int jive_pm_suspend(struct sys_de
-        * correct address to resume from. */
-       __raw_writel(0x2BED, S3C2412_INFORM0);
--      __raw_writel(virt_to_phys(s3c2410_cpu_resume), S3C2412_INFORM1);
-+      __raw_writel(virt_to_phys(s3c_cpu_resume), S3C2412_INFORM1);
-       return 0;
- }
-@@ -628,7 +629,7 @@ static void __init jive_machine_init(voi
-       /* initialise the power management now we've setup everything. */
--      s3c2410_pm_init();
-+      s3c_pm_init();
-       s3c_device_nand.dev.platform_data = &jive_nand_info;
-@@ -663,7 +664,7 @@ static void __init jive_machine_init(voi
-       spi_register_board_info(jive_spi_devs, ARRAY_SIZE(jive_spi_devs));
--      s3c_device_i2c.dev.platform_data = &jive_i2c_cfg;
-+      s3c_i2c0_set_platdata(&jive_i2c_cfg);
-       i2c_register_board_info(0, jive_i2c_devs, ARRAY_SIZE(jive_i2c_devs));
-       pm_power_off = jive_power_off;
-Index: linux-2.6.28/arch/arm/mach-s3c2412/mach-smdk2413.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2412/mach-smdk2413.c    2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2412/mach-smdk2413.c 2009-01-02 00:01:56.000000000 +0100
-@@ -37,7 +37,8 @@
- #include <mach/regs-lcd.h>
- #include <mach/idle.h>
--#include <asm/plat-s3c24xx/udc.h>
-+#include <plat/udc.h>
-+#include <plat/iic.h>
- #include <mach/fb.h>
- #include <plat/s3c2410.h>
-@@ -105,7 +106,7 @@ static struct platform_device *smdk2413_
-       &s3c_device_usb,
-       //&s3c_device_lcd,
-       &s3c_device_wdt,
--      &s3c_device_i2c,
-+      &s3c_device_i2c0,
-       &s3c_device_iis,
-       &s3c_device_usbgadget,
- };
-@@ -142,6 +143,7 @@ static void __init smdk2413_machine_init
-       s3c24xx_udc_set_platdata(&smdk2413_udc_cfg);
-+      s3c_i2c0_set_platdata(NULL);
-       platform_add_devices(smdk2413_devices, ARRAY_SIZE(smdk2413_devices));
-       smdk_machine_init();
-Index: linux-2.6.28/arch/arm/mach-s3c2412/mach-vstms.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2412/mach-vstms.c       2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2412/mach-vstms.c    2009-01-02 00:01:56.000000000 +0100
-@@ -39,7 +39,8 @@
- #include <mach/idle.h>
- #include <mach/fb.h>
--#include <asm/plat-s3c/nand.h>
-+#include <plat/iic.h>
-+#include <plat/nand.h>
- #include <plat/s3c2410.h>
- #include <plat/s3c2412.h>
-@@ -122,7 +123,7 @@ static struct s3c2410_platform_nand vstm
- static struct platform_device *vstms_devices[] __initdata = {
-       &s3c_device_usb,
-       &s3c_device_wdt,
--      &s3c_device_i2c,
-+      &s3c_device_i2c0,
-       &s3c_device_iis,
-       &s3c_device_rtc,
-       &s3c_device_nand,
-@@ -151,6 +152,7 @@ static void __init vstms_map_io(void)
- static void __init vstms_init(void)
- {
-+      s3c_i2c0_set_platdata(NULL);
-       platform_add_devices(vstms_devices, ARRAY_SIZE(vstms_devices));
- }
-Index: linux-2.6.28/arch/arm/mach-s3c2412/pm.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2412/pm.c       2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2412/pm.c    2009-01-02 00:01:56.000000000 +0100
-@@ -85,7 +85,7 @@ static struct sleep_save s3c2412_sleep[]
- static int s3c2412_pm_suspend(struct sys_device *dev, pm_message_t state)
- {
--      s3c2410_pm_do_save(s3c2412_sleep, ARRAY_SIZE(s3c2412_sleep));
-+      s3c_pm_do_save(s3c2412_sleep, ARRAY_SIZE(s3c2412_sleep));
-       return 0;
- }
-@@ -98,7 +98,7 @@ static int s3c2412_pm_resume(struct sys_
-       tmp |=  S3C2412_PWRCFG_STANDBYWFI_IDLE;
-       __raw_writel(tmp, S3C2412_PWRCFG);
--      s3c2410_pm_do_restore(s3c2412_sleep, ARRAY_SIZE(s3c2412_sleep));
-+      s3c_pm_do_restore(s3c2412_sleep, ARRAY_SIZE(s3c2412_sleep));
-       return 0;
- }
-Index: linux-2.6.28/arch/arm/mach-s3c2412/s3c2412.c
-===================================================================
---- linux-2.6.28.orig/arch/arm/mach-s3c2412/s3c2412.c  2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28/arch/arm/mach-s3c2412/s3c2412.c       2009-01-02 00:01:56.000000000 +0100
-@@ -16,6 +16,7 @@
- #include <linux/list.h>
- #include <linux/timer.h>
- #include <linux/init.h>
-+#include <linux/clk.h>
- #include <linux/delay.h>
- #include <linux/sysdev.h>
- #include <linux/serial_core.h>
-@@ -33,13 +34,15 @@
- #include <mach/reset.h>
- #include <mach/idle.h>
-+#include <plat/cpu-freq.h>
-+
- #include <mach/regs-clock.h>
- #include <plat/regs-serial.h>
- #include <mach/regs-power.h>
- #include <mach/regs-gpio.h>
- #include <mach/regs-gpioj.h>
- #include <mach/regs-dsc.h>
--#include <asm/plat-s3c24xx/regs-spi.h>
-+#include <plat/regs-spi.h>
- #include <mach/regs-s3c2412.h>
- #include <plat/s3c2412.h>
-@@ -47,6 +50,7 @@
- #include <plat/devs.h>
- #include <plat/clock.h>
- #include <plat/pm.h>
-+#include <plat/pll.h>
- #ifndef CONFIG_CPU_S3C2412_ONLY
- void __iomem *s3c24xx_va_gpio2 = S3C24XX_VA_GPIO;
-@@ -136,7 +140,7 @@ static void s3c2412_hard_reset(void)
-  * machine specific initialisation.
- */
--void __init s3c2412_map_io(struct map_desc *mach_desc, int mach_size)
-+void __init s3c2412_map_io(void)
- {
-       /* move base of IO */
-@@ -153,20 +157,25 @@ void __init s3c2412_map_io(struct map_de
-       /* register our io-tables */
-       iotable_init(s3c2412_iodesc, ARRAY_SIZE(s3c2412_iodesc));
--      iotable_init(mach_desc, mach_size);
- }
--void __init s3c2412_init_clocks(int xtal)
-+void __init_or_cpufreq s3c2412_setup_clocks(void)
- {
-+      struct clk *xtal_clk;
-       unsigned long tmp;
-+      unsigned long xtal;
-       unsigned long fclk;
-       unsigned long hclk;
-       unsigned long pclk;
-+      xtal_clk = clk_get(NULL, "xtal");
-+      xtal = clk_get_rate(xtal_clk);
-+      clk_put(xtal_clk);
-+
-       /* now we've got our machine bits initialised, work out what
-        * clocks we've got */
--      fclk = s3c2410_get_pll(__raw_readl(S3C2410_MPLLCON), xtal*2);
-+      fclk = s3c24xx_get_pll(__raw_readl(S3C2410_MPLLCON), xtal * 2);
-       clk_mpll.rate = fclk;
-@@ -183,11 +192,17 @@ void __init s3c2412_init_clocks(int xtal
-       printk("S3C2412: core %ld.%03ld MHz, memory %ld.%03ld MHz, peripheral %ld.%03ld MHz\n",
-              print_mhz(fclk), print_mhz(hclk), print_mhz(pclk));
-+      s3c24xx_setup_clocks(fclk, hclk, pclk);
-+}
-+
-+void __init s3c2412_init_clocks(int xtal)
-+{
-       /* initialise the clocks here, to allow other things like the
-        * console to use them
-        */
--      s3c24xx_setup_clocks(xtal, fclk, hclk, pclk);
-+      s3c24xx_register_baseclocks(xtal);
-+      s3c2412_setup_clocks();
-       s3c2412_baseclk_add();
- }
-@@ -216,5 +231,8 @@ int __init s3c2412_init(void)
- {
-       printk("S3C2412: Initialising architecture\n");
-+      /* make sure SD/MMC driver can distinguish 2412 from 2410 */
-+      s3c_device_sdi.name = "s3c2412-sdi";
-+
-       return sysdev_register(&s3c2412_sysdev);
- }
-Index: linux-2.6.28/arch/arm/mach-s3c2440/camera/bits.h
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2440/camera/bits.h   2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,48 @@
-+/*
-+ *  Copyright (C) Samsung Electroincs  2003
-+ *  Author: SW.LEE <hitchcar@samsung.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ */
-+
-+#ifndef __SW_BITS_H
-+#define __SW_BITS_H
-+
-+#define BIT0                            0x00000001
-+#define BIT1                            0x00000002
-+#define BIT2                            0x00000004
-+#define BIT3                            0x00000008
-+#define BIT4                            0x00000010
-+#define BIT5                            0x00000020
-+#define BIT6                            0x00000040
-+#define BIT7                            0x00000080
-+#define BIT8                            0x00000100
-+#define BIT9                            0x00000200
-+#define BIT10                           0x00000400
-+#define BIT11                           0x00000800
-+#define BIT12                           0x00001000
-+#define BIT13                           0x00002000
-+#define BIT14                           0x00004000
-+#define BIT15                           0x00008000
-+#define BIT16                           0x00010000
-+#define BIT17                           0x00020000
-+#define BIT18                           0x00040000
-+#define BIT19                           0x00080000
-+#define BIT20                           0x00100000
-+#define BIT21                           0x00200000
-+#define BIT22                           0x00400000
-+#define BIT23                           0x00800000
-+#define BIT24                           0x01000000
-+#define BIT25                           0x02000000
-+#define BIT26                           0x04000000
-+#define BIT27                           0x08000000
-+#define BIT28                           0x10000000
-+#define BIT29                           0x20000000
-+#define BIT30                           0x40000000
-+#define BIT31                           0x80000000
-+
-+#endif
-Index: linux-2.6.28/arch/arm/mach-s3c2440/camera/camif.c
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2440/camera/camif.c  2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,1047 @@
-+/*
-+ *   Copyright (C) 2004 Samsung Electronics 
-+ *       SW.LEE <hitchcar@samsung.com>
-+ *   
-+ * This file is subject to the terms and conditions of the GNU General Public
-+ * License 2. See the file COPYING in the main directory of this archive
-+ * for more details.
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/sched.h>
-+#include <linux/irq.h>
-+#include <linux/completion.h>
-+#include <linux/delay.h>
-+#include <linux/slab.h>
-+#include <linux/vmalloc.h>
-+#include <linux/miscdevice.h>
-+#include <linux/wait.h>
-+#include <linux/miscdevice.h>
-+#include <asm/io.h>
-+#include <asm/semaphore.h>
-+#include <asm/hardware.h>
-+#include <asm/uaccess.h>
-+#include <linux/device.h>
-+#include <linux/dma-mapping.h>
-+#include <linux/clk.h>
-+
-+#ifdef CONFIG_ARCH_S3C24A0A
-+#include <asm/arch/S3C24A0.h>
-+#include <asm/arch/clocks.h>
-+#else
-+#include <asm/arch/regs-gpio.h>
-+#include <asm/arch/regs-gpioj.h>
-+#include <asm/arch/regs-irq.h>
-+#endif
-+
-+#include "cam_reg.h"
-+//#define SW_DEBUG
-+#define CONFIG_VIDEO_V4L1_COMPAT
-+#include <linux/videodev.h>
-+#include "camif.h"
-+#include "miscdevice.h"
-+
-+static int camif_dma_burst(camif_cfg_t *);
-+static int camif_scaler(camif_cfg_t *);
-+
-+/* For SXGA Image */
-+#define RESERVE_MEM  15*1024*1024
-+#define YUV_MEM      10*1024*1024
-+#define RGB_MEM      (RESERVE_MEM - YUV_MEM)
-+
-+static int camif_malloc(camif_cfg_t *cfg)
-+{
-+      unsigned int t_size;
-+      unsigned int daon = cfg->target_x *cfg->target_y;
-+
-+      if(cfg->dma_type & CAMIF_CODEC) {
-+              if (cfg->fmt & CAMIF_OUT_YCBCR420) {
-+                      t_size = daon * 3 / 2 ;
-+              }
-+              else  { t_size = daon * 2; /* CAMIF_OUT_YCBCR422 */ }
-+              t_size = t_size *cfg->pp_num;
-+
-+#ifndef SAMSUNG_SXGA_CAM
-+              cfg->pp_virt_buf = dma_alloc_coherent(cfg->v->dev,
-+                                                    t_size, &cfg->pp_phys_buf,
-+                                                    GFP_KERNEL);
-+#else
-+              printk(KERN_INFO "Reserving High RAM Addresses \n");
-+              cfg->pp_phys_buf = PHYS_OFFSET + (MEM_SIZE - RESERVE_MEM);
-+              cfg->pp_virt_buf = ioremap_nocache(cfg->pp_phys_buf, YUV_MEM);
-+#endif
-+
-+              if ( !cfg->pp_virt_buf ) {
-+                      printk(KERN_ERR"CAMERA:Failed to request YCBCR MEM\n");
-+                      return -ENOMEM;
-+              }
-+              memset(cfg->pp_virt_buf, 0, t_size);
-+              cfg->pp_totalsize = t_size;
-+              return 0;
-+      }
-+      if ( cfg->dma_type & CAMIF_PREVIEW ) {
-+              if (cfg->fmt & CAMIF_RGB16) 
-+                      t_size = daon * 2; /*  4byte per two pixel*/
-+              else {
-+                      assert(cfg->fmt & CAMIF_RGB24);
-+                      t_size = daon * 4; /* 4byte per one pixel */
-+              }
-+              t_size = t_size * cfg->pp_num;
-+#ifndef SAMSUNG_SXGA_CAM
-+              cfg->pp_virt_buf = dma_alloc_coherent(cfg->v->dev,
-+                                                    t_size, &cfg->pp_phys_buf,
-+                                                    GFP_KERNEL);
-+#else
-+              printk(KERN_INFO "Reserving High RAM Addresses \n");
-+              cfg->pp_phys_buf = PHYS_OFFSET + (MEM_SIZE - RESERVE_MEM ) + YUV_MEM;
-+              cfg->pp_virt_buf = ioremap_nocache(cfg->pp_phys_buf,RGB_MEM);
-+#endif
-+              if ( !cfg->pp_virt_buf ) { 
-+                      printk(KERN_ERR"CAMERA:Failed to request RGB MEM\n");
-+                      return -ENOMEM;
-+              }
-+              memset(cfg->pp_virt_buf, 0, t_size);
-+              cfg->pp_totalsize = t_size;
-+              return 0;
-+      }
-+
-+      return 0;               /* Never come. */
-+}
-+
-+static int camif_demalloc(camif_cfg_t *cfg)
-+{
-+#ifndef SAMSUNG_SXGA_CAM
-+      if ( cfg->pp_virt_buf ) {
-+              dma_free_coherent(cfg->v->dev, cfg->pp_totalsize,
-+                                cfg->pp_virt_buf, cfg->pp_phys_buf);
-+              cfg->pp_virt_buf = 0;
-+      }
-+#else
-+      iounmap(cfg->pp_virt_buf);
-+      cfg->pp_virt_buf = 0;
-+#endif
-+      return 0;
-+}
-+
-+/* 
-+ * advise a person to use this func in ISR 
-+ * index value indicates the next frame count to be used 
-+ */
-+int camif_g_frame_num(camif_cfg_t *cfg)
-+{
-+      int index = 0;
-+
-+      if (cfg->dma_type & CAMIF_CODEC ) {
-+              index = FRAME_CNT(readl(camregs + S3C2440_CAM_REG_CICOSTATUS));
-+              DPRINTK("CAMIF_CODEC frame %d \n", index);
-+      }
-+      else {
-+              assert(cfg->dma_type & CAMIF_PREVIEW );
-+              index = FRAME_CNT(readl(camregs + S3C2440_CAM_REG_CIPRSTATUS));
-+              DPRINTK("CAMIF_PREVIEW frame %d  0x%08X \n", index,
-+                      readl(camregs + S3C2440_CAM_REG_CIPRSTATUS));
-+      }
-+      cfg->now_frame_num = (index + 2) % 4; /* When 4 PingPong */
-+      return index; /* meaningless */
-+}
-+
-+static int camif_pp_codec(camif_cfg_t *cfg)
-+{
-+      u32 i, c_size; /* Cb,Cr size */
-+      u32 one_p_size;
-+      u32 daon = cfg->target_x * cfg->target_y;
-+      if (cfg->fmt & CAMIF_OUT_YCBCR420)
-+              c_size = daon / 4;
-+      else {
-+              assert(cfg->fmt & CAMIF_OUT_YCBCR422);
-+              c_size = daon / 2;
-+      }
-+      switch ( cfg->pp_num ) {
-+      case 1 :
-+              for (i =0 ; i < 4; i++) {
-+                      cfg->img_buf[i].virt_y = cfg->pp_virt_buf;
-+                      cfg->img_buf[i].phys_y = cfg->pp_phys_buf;
-+                      cfg->img_buf[i].virt_cb = cfg->pp_virt_buf + daon;
-+                      cfg->img_buf[i].phys_cb = cfg->pp_phys_buf + daon;
-+                      cfg->img_buf[i].virt_cr = cfg->pp_virt_buf + daon + c_size;
-+                      cfg->img_buf[i].phys_cr = cfg->pp_phys_buf + daon + c_size;
-+                      writel(cfg->img_buf[i].phys_y, camregs + S3C2440_CAM_REG_CICOYSA(i));
-+                      writel(cfg->img_buf[i].phys_cb, camregs + S3C2440_CAM_REG_CICOCBSA(i));
-+                      writel(cfg->img_buf[i].phys_cr, camregs + S3C2440_CAM_REG_CICOCRSA(i));
-+              }
-+              break;
-+      case 2:
-+#define  TRY   (( i%2 ) ? 1 :0)
-+              one_p_size = daon + 2*c_size;
-+              for (i = 0; i < 4  ; i++) {
-+                      cfg->img_buf[i].virt_y = cfg->pp_virt_buf + TRY * one_p_size;
-+                      cfg->img_buf[i].phys_y = cfg->pp_phys_buf + TRY * one_p_size;
-+                      cfg->img_buf[i].virt_cb = cfg->pp_virt_buf + daon + TRY * one_p_size;
-+                      cfg->img_buf[i].phys_cb = cfg->pp_phys_buf + daon + TRY * one_p_size;
-+                      cfg->img_buf[i].virt_cr = cfg->pp_virt_buf + daon + c_size + TRY * one_p_size;
-+                      cfg->img_buf[i].phys_cr = cfg->pp_phys_buf + daon + c_size + TRY * one_p_size;
-+                      writel(cfg->img_buf[i].phys_y, camregs + S3C2440_CAM_REG_CICOYSA(i));
-+                      writel(cfg->img_buf[i].phys_cb, camregs + S3C2440_CAM_REG_CICOCBSA(i));
-+                      writel(cfg->img_buf[i].phys_cr, camregs + S3C2440_CAM_REG_CICOCRSA(i));
-+              }
-+              break;
-+      case 4:
-+              one_p_size = daon + 2*c_size;
-+              for (i = 0; i < 4 ; i++) {
-+                      cfg->img_buf[i].virt_y = cfg->pp_virt_buf + i * one_p_size;
-+                      cfg->img_buf[i].phys_y = cfg->pp_phys_buf + i * one_p_size;
-+                      cfg->img_buf[i].virt_cb = cfg->pp_virt_buf + daon + i * one_p_size;
-+                      cfg->img_buf[i].phys_cb = cfg->pp_phys_buf + daon + i * one_p_size;
-+                      cfg->img_buf[i].virt_cr = cfg->pp_virt_buf + daon + c_size + i * one_p_size;
-+                      cfg->img_buf[i].phys_cr = cfg->pp_phys_buf + daon + c_size + i * one_p_size;
-+                      writel(cfg->img_buf[i].phys_y, camregs + S3C2440_CAM_REG_CICOYSA(i));
-+                      writel(cfg->img_buf[i].phys_cb, camregs + S3C2440_CAM_REG_CICOCBSA(i));
-+                      writel(cfg->img_buf[i].phys_cr, camregs + S3C2440_CAM_REG_CICOCRSA(i));
-+              }
-+              break;
-+      default:
-+              printk("Invalid PingPong Number %d \n",cfg->pp_num);
-+              panic("halt\n");
-+}
-+      return 0;
-+}
-+
-+/* RGB Buffer Allocation */
-+static int camif_pp_preview(camif_cfg_t *cfg)
-+{
-+      int i;
-+      u32 daon = cfg->target_x * cfg->target_y;
-+
-+      if(cfg->fmt & CAMIF_RGB24)  
-+              daon = daon * 4 ;
-+      else {
-+              assert (cfg->fmt & CAMIF_RGB16);
-+              daon = daon *2;
-+      }  
-+      switch ( cfg->pp_num ) {
-+              case 1:
-+                      for ( i = 0; i < 4 ; i++ ) {
-+                              cfg->img_buf[i].virt_rgb = cfg->pp_virt_buf ;
-+                              cfg->img_buf[i].phys_rgb = cfg->pp_phys_buf ;
-+                              writel(cfg->img_buf[i].phys_rgb, camregs + S3C2440_CAM_REG_CICOCRSA(i));
-+                      }
-+                      break;
-+              case 2:
-+                      for ( i = 0; i < 4 ; i++) {
-+                              cfg->img_buf[i].virt_rgb = cfg->pp_virt_buf + TRY * daon;
-+                              cfg->img_buf[i].phys_rgb = cfg->pp_phys_buf + TRY * daon;
-+                              writel(cfg->img_buf[i].phys_rgb, camregs + S3C2440_CAM_REG_CICOCRSA(i));
-+                      }
-+                      break;
-+              case 4:
-+                      for ( i = 0; i < 4 ; i++) {
-+                              cfg->img_buf[i].virt_rgb = cfg->pp_virt_buf + i * daon;
-+                              cfg->img_buf[i].phys_rgb = cfg->pp_phys_buf + i * daon;
-+                              writel(cfg->img_buf[i].phys_rgb, camregs + S3C2440_CAM_REG_CICOCRSA(i));
-+                      }
-+                      break;
-+              default:
-+                      printk("Invalid PingPong Number %d \n",cfg->pp_num);
-+                      panic("halt\n");
-+      }
-+      return 0;
-+}
-+
-+static int camif_pingpong(camif_cfg_t *cfg)
-+{
-+      if (cfg->dma_type & CAMIF_CODEC ) {
-+              camif_pp_codec(cfg);
-+      }
-+
-+      if ( cfg->dma_type & CAMIF_PREVIEW) {
-+              camif_pp_preview(cfg);
-+      }
-+      return 0;
-+}
-+
-+
-+/***********       Image Convert *******************************/
-+/*  Return Format 
-+ *  Supported by Hardware
-+ *  V4L2_PIX_FMT_YUV420,
-+ *  V4L2_PIX_FMT_YUV422P,
-+ *  V4L2_PIX_FMT_BGR32 (BGR4)
-+ * -----------------------------------
-+ *  V4L2_PIX_FMT_RGB565(X) 
-+ *  Currenly 2byte --> BGR656 Format
-+ *  S3C2440A,S3C24A0 supports vairants with reversed FMT_RGB565 
-+    i.e  blue toward the least, red towards the most significant bit 
-+    --  by SW.LEE
-+ */
-+
-+
-+/* 
-+ * After calling camif_g_frame_num,
-+ * this func must be called 
-+ */
-+u8 * camif_g_frame(camif_cfg_t *cfg)
-+{
-+      u8 * ret = NULL;
-+      int cnt = cfg->now_frame_num;
-+
-+      if(cfg->dma_type & CAMIF_PREVIEW) {
-+              ret = cfg->img_buf[cnt].virt_rgb;
-+      }
-+      if (cfg->dma_type & CAMIF_CODEC) {
-+              ret = cfg->img_buf[cnt].virt_y;
-+      }
-+      return ret;
-+}
-+
-+/* This function must be called in module initial time */
-+static int camif_source_fmt(camif_gc_t *gc) 
-+{
-+      u32 cmd = 0;
-+
-+      /* Configure CISRCFMT --Source Format */
-+      if (gc->itu_fmt & CAMIF_ITU601) {
-+              cmd = CAMIF_ITU601;
-+      }
-+      else {
-+              assert ( gc->itu_fmt & CAMIF_ITU656);
-+              cmd = CAMIF_ITU656;
-+      }
-+      cmd  |= SOURCE_HSIZE(gc->source_x)| SOURCE_VSIZE(gc->source_y);
-+      /* Order422 */
-+      cmd |=  gc->order422;
-+      writel(cmd, camregs + S3C2440_CAM_REG_CISRCFMT);
-+
-+      return 0 ;
-+}
-+
-+
-+/* 
-+ * Codec Input YCBCR422 will be Fixed 
-+ */
-+static int camif_target_fmt(camif_cfg_t *cfg)
-+{
-+      u32 cmd = 0;
-+
-+      if (cfg->dma_type & CAMIF_CODEC) {
-+              /* YCBCR setting */  
-+              cmd = TARGET_HSIZE(cfg->target_x)| TARGET_VSIZE(cfg->target_y);
-+              if ( cfg->fmt & CAMIF_OUT_YCBCR420 ) {
-+                      cmd |= OUT_YCBCR420|IN_YCBCR422;
-+              }
-+              else { 
-+                      assert(cfg->fmt & CAMIF_OUT_YCBCR422);
-+                      cmd |= OUT_YCBCR422|IN_YCBCR422;
-+              }
-+              writel(cmd | cfg->flip, camregs + S3C2440_CAM_REG_CICOTRGFMT);
-+
-+      } else {
-+              assert(cfg->dma_type & CAMIF_PREVIEW);
-+              writel(TARGET_HSIZE(cfg->target_x)|TARGET_VSIZE(cfg->target_y)|cfg->flip,
-+                      camregs + S3C2440_CAM_REG_CIPRTRGFMT); 
-+      }
-+      return 0;
-+}
-+
-+void camif_change_flip(camif_cfg_t *cfg)
-+{
-+      u32 cmd = readl(camregs + S3C2440_CAM_REG_CICOTRGFMT);
-+
-+      cmd &= ~(BIT14|BIT15);
-+      cmd |= cfg->flip;
-+
-+      writel(cmd, camregs + S3C2440_CAM_REG_CICOTRGFMT);
-+}
-+
-+
-+
-+/* Must:
-+ * Before calling this function,
-+ * you must use "camif_dynamic_open"
-+ * If you want to enable both CODEC and preview
-+ *  you must do it at the same time.
-+ */
-+int camif_capture_start(camif_cfg_t *cfg)
-+{
-+      u32 n_cmd = 0;          /* Next Command */
-+
-+      switch(cfg->exec) {
-+      case CAMIF_BOTH_DMA_ON:
-+              camif_reset(CAMIF_RESET, 0); /* Flush Camera Core Buffer */
-+              writel(readl(camregs + S3C2440_CAM_REG_CIPRSCCTRL) |
-+                           SCALERSTART, camregs + S3C2440_CAM_REG_CIPRSCCTRL);
-+              writel(readl(camregs + S3C2440_CAM_REG_CICOSCCTRL) |
-+                           SCALERSTART, camregs + S3C2440_CAM_REG_CICOSCCTRL);
-+              n_cmd = CAMIF_CAP_PREVIEW_ON | CAMIF_CAP_CODEC_ON;
-+              break;
-+      case CAMIF_DMA_ON:
-+              camif_reset(CAMIF_RESET, 0); /* Flush Camera Core Buffer */
-+              if (cfg->dma_type&CAMIF_CODEC) {
-+                      writel(readl(camregs + S3C2440_CAM_REG_CICOSCCTRL) |
-+                           SCALERSTART, camregs + S3C2440_CAM_REG_CICOSCCTRL);
-+                      n_cmd = CAMIF_CAP_CODEC_ON;
-+              } else {
-+                      writel(readl(camregs + S3C2440_CAM_REG_CIPRSCCTRL) |
-+                           SCALERSTART, camregs + S3C2440_CAM_REG_CIPRSCCTRL);
-+                      n_cmd = CAMIF_CAP_PREVIEW_ON;
-+              }
-+
-+              /* wait until Sync Time expires */
-+              /* First settting, to wait VSYNC fall  */
-+              /* By VESA spec,in 640x480 @60Hz
-+                      MAX Delay Time is around 64us which "while" has.*/
-+              while(VSYNC & readl(camregs + S3C2440_CAM_REG_CICOSTATUS));
-+              break;
-+      default:
-+              break;
-+}
-+      writel(n_cmd | CAMIF_CAP_ON, camregs + S3C2440_CAM_REG_CIIMGCPT); 
-+      return 0;
-+}
-+
-+
-+int camif_capture_stop(camif_cfg_t *cfg)
-+{
-+      u32 n_cmd = readl(camregs + S3C2440_CAM_REG_CIIMGCPT);  /* Next Command */
-+
-+      switch(cfg->exec) {
-+      case CAMIF_BOTH_DMA_OFF:
-+              writel(readl(camregs + S3C2440_CAM_REG_CIPRSCCTRL) &
-+                      ~SCALERSTART, camregs + S3C2440_CAM_REG_CIPRSCCTRL);
-+              writel(readl(camregs + S3C2440_CAM_REG_CICOSCCTRL) &
-+                      ~SCALERSTART, camregs + S3C2440_CAM_REG_CICOSCCTRL);
-+              n_cmd = 0;
-+              break;
-+      case CAMIF_DMA_OFF_L_IRQ: /* fall thru */
-+      case CAMIF_DMA_OFF:
-+              if (cfg->dma_type&CAMIF_CODEC) {
-+                      writel(readl(camregs + S3C2440_CAM_REG_CICOSCCTRL) &
-+                          ~SCALERSTART, camregs + S3C2440_CAM_REG_CICOSCCTRL);
-+                      n_cmd &= ~CAMIF_CAP_CODEC_ON;
-+                      if (!(n_cmd & CAMIF_CAP_PREVIEW_ON))
-+                              n_cmd = 0;
-+              } else {
-+                      writel(readl(camregs + S3C2440_CAM_REG_CIPRSCCTRL) &
-+                          ~SCALERSTART, camregs + S3C2440_CAM_REG_CIPRSCCTRL);
-+                      n_cmd &= ~CAMIF_CAP_PREVIEW_ON;
-+                      if (!(n_cmd & CAMIF_CAP_CODEC_ON))
-+                              n_cmd = 0;
-+              }
-+              break;
-+      default:
-+              panic("Unexpected \n");
-+      }
-+      writel(n_cmd, camregs + S3C2440_CAM_REG_CIIMGCPT);
-+
-+      if (cfg->exec == CAMIF_DMA_OFF_L_IRQ) { /* Last IRQ  */
-+              if (cfg->dma_type & CAMIF_CODEC)
-+                      writel(readl(camregs + S3C2440_CAM_REG_CICOCTRL) |
-+                           LAST_IRQ_EN, camregs + S3C2440_CAM_REG_CICOCTRL);
-+              else
-+                      writel(readl(camregs + S3C2440_CAM_REG_CIPRCTRL) |
-+                           LAST_IRQ_EN, camregs + S3C2440_CAM_REG_CIPRCTRL);
-+      }
-+#if 0
-+      else {                          /* to make internal state machine of CAMERA stop */
-+              camif_reset(CAMIF_RESET, 0);
-+      }
-+#endif
-+      return 0;
-+}
-+
-+
-+/* LastIRQEn is autoclear */
-+void camif_last_irq_en(camif_cfg_t *cfg)
-+{
-+      if ((cfg->exec == CAMIF_BOTH_DMA_ON) || (cfg->dma_type & CAMIF_CODEC))
-+              writel(readl(camregs + S3C2440_CAM_REG_CICOCTRL) |
-+                      LAST_IRQ_EN, camregs + S3C2440_CAM_REG_CICOCTRL);
-+
-+      if ((cfg->exec == CAMIF_BOTH_DMA_ON) || !(cfg->dma_type & CAMIF_CODEC))
-+              writel(readl(camregs + S3C2440_CAM_REG_CIPRCTRL) |
-+                      LAST_IRQ_EN, camregs + S3C2440_CAM_REG_CIPRCTRL);
-+}
-+
-+static int  
-+camif_scaler_internal(u32 srcWidth, u32 dstWidth, u32 *ratio, u32 *shift)
-+{
-+      if(srcWidth>=64*dstWidth){
-+              printk(KERN_ERR"CAMERA:out of prescaler range: srcWidth /dstWidth = %d(< 64)\n",
-+                       srcWidth/dstWidth);
-+              return 1;
-+      }
-+      else if(srcWidth>=32*dstWidth){
-+              *ratio=32;
-+              *shift=5;
-+      }
-+      else if(srcWidth>=16*dstWidth){
-+              *ratio=16;
-+              *shift=4;
-+      }
-+      else if(srcWidth>=8*dstWidth){
-+              *ratio=8;
-+              *shift=3;
-+      }
-+      else if(srcWidth>=4*dstWidth){
-+              *ratio=4;
-+              *shift=2;
-+      }
-+      else if(srcWidth>=2*dstWidth){
-+              *ratio=2;
-+              *shift=1;
-+      }
-+      else {
-+              *ratio=1;
-+              *shift=0;
-+      }  
-+      return 0;
-+}
-+
-+
-+int camif_g_fifo_status(camif_cfg_t *cfg) 
-+{
-+      u32 reg;
-+
-+      if (cfg->dma_type & CAMIF_CODEC) {
-+              u32 flag = CO_OVERFLOW_Y | CO_OVERFLOW_CB | CO_OVERFLOW_CR;
-+              reg = readl(camregs + S3C2440_CAM_REG_CICOSTATUS);
-+              if (reg & flag) {
-+                      printk("CODEC: FIFO error(0x%08x) and corrected\n",reg);
-+                      /* FIFO Error Count ++  */
-+                      writel(readl(camregs + S3C2440_CAM_REG_CIWDOFST) |
-+                              CO_FIFO_Y | CO_FIFO_CB | CO_FIFO_CR,
-+                              camregs + S3C2440_CAM_REG_CIWDOFST);
-+
-+                      writel(readl(camregs + S3C2440_CAM_REG_CIWDOFST) &
-+                              ~(CO_FIFO_Y | CO_FIFO_CB | CO_FIFO_CR),
-+                              camregs + S3C2440_CAM_REG_CIWDOFST);
-+                      return 1; /* Error */
-+              }
-+      }
-+      if (cfg->dma_type & CAMIF_PREVIEW) {
-+              u32 flag = PR_OVERFLOW_CB | PR_OVERFLOW_CR;
-+              reg = readl(camregs + S3C2440_CAM_REG_CIPRSTATUS);
-+              if (reg & flag) {
-+                      printk("PREVIEW:FIFO error(0x%08x) and corrected\n",reg);
-+                      writel(readl(camregs + S3C2440_CAM_REG_CIWDOFST) |
-+                              CO_FIFO_CB | CO_FIFO_CR,
-+                              camregs + S3C2440_CAM_REG_CIWDOFST);
-+
-+                      writel(readl(camregs + S3C2440_CAM_REG_CIWDOFST) &
-+                              ~(CO_FIFO_Y | CO_FIFO_CB | CO_FIFO_CR),
-+                              camregs + S3C2440_CAM_REG_CIWDOFST);
-+                      /* FIFO Error Count ++  */
-+                      return 1; /* Error */
-+              }
-+      }
-+      return 0;               /* No Error */
-+}
-+
-+
-+/* Policy:
-+ * if codec or preview define the win offset,
-+ *    other must follow that value.
-+ */
-+int camif_win_offset(camif_gc_t *gc )
-+{
-+      u32 h = gc->win_hor_ofst;
-+      u32 v = gc->win_ver_ofst;
-+
-+      /*Clear Overflow */
-+      writel(CO_FIFO_Y | CO_FIFO_CB | CO_FIFO_CR | PR_FIFO_CB | PR_FIFO_CB,
-+              camregs + S3C2440_CAM_REG_CIWDOFST);
-+      writel(0, camregs + S3C2440_CAM_REG_CIWDOFST);
-+
-+      if (!h && !v)   {
-+              writel(0, camregs + S3C2440_CAM_REG_CIWDOFST);
-+              return 0;
-+      }
-+
-+      writel(WINOFEN | WINHOROFST(h) | WINVEROFST(v), camregs + S3C2440_CAM_REG_CIWDOFST);
-+      return 0;
-+}
-+
-+/*  
-+ * when you change the resolution in a specific camera,
-+ * sometimes, it is necessary to change the polarity 
-+ *                                       -- SW.LEE
-+ */
-+static void camif_polarity(camif_gc_t *gc)
-+{
-+      u32 cmd = readl(camregs + S3C2440_CAM_REG_CIGCTRL);;
-+      
-+      cmd = cmd & ~(BIT26|BIT25|BIT24); /* clear polarity */
-+      if (gc->polarity_pclk)
-+              cmd |= GC_INVPOLPCLK;
-+      if (gc->polarity_vsync)
-+              cmd |= GC_INVPOLVSYNC;
-+      if (gc->polarity_href)
-+              cmd |= GC_INVPOLHREF;
-+      writel(readl(camregs + S3C2440_CAM_REG_CIGCTRL) |
-+             cmd, camregs + S3C2440_CAM_REG_CIGCTRL);
-+}
-+
-+
-+int camif_dynamic_open(camif_cfg_t *cfg)
-+{
-+      camif_win_offset(cfg->gc);
-+      camif_polarity(cfg->gc);
-+      
-+      if(camif_scaler(cfg)) {
-+              printk(KERN_ERR "CAMERA:Preview Scaler, Change WinHorOfset or Target Size\n");
-+              return 1;
-+      }
-+      camif_target_fmt(cfg);
-+      if (camif_dma_burst(cfg)) {
-+              printk(KERN_ERR "CAMERA:DMA Busrt Length Error \n");
-+              return 1;
-+      }
-+      if(camif_malloc(cfg) ) {
-+              printk(KERN_ERR "    Instead of using consistent_alloc()\n"
-+                              "    lease use dedicated memory allocation for DMA memory\n");
-+              return -1;
-+      }
-+      camif_pingpong(cfg);
-+      return 0;
-+}
-+
-+int camif_dynamic_close(camif_cfg_t *cfg)
-+{
-+      camif_demalloc(cfg);
-+      return 0;
-+}
-+
-+static int camif_target_area(camif_cfg_t *cfg) 
-+{
-+      u32 rect = cfg->target_x * cfg->target_y;
-+
-+      if (cfg->dma_type & CAMIF_CODEC)
-+              writel(rect, camregs + S3C2440_CAM_REG_CICOTAREA);
-+
-+      if (cfg->dma_type & CAMIF_PREVIEW)
-+              writel(rect, camregs + S3C2440_CAM_REG_CIPRTAREA);
-+
-+      return 0;
-+}
-+
-+static int inline camif_hw_reg(camif_cfg_t *cfg)
-+{
-+      u32 cmd = 0;
-+
-+      if (cfg->dma_type & CAMIF_CODEC) {
-+              writel(PRE_SHIFT(cfg->sc.shfactor) |
-+                     PRE_HRATIO(cfg->sc.prehratio) |
-+                     PRE_VRATIO(cfg->sc.prevratio),
-+                     camregs + S3C2440_CAM_REG_CICOSCPRERATIO);
-+              writel(PRE_DST_WIDTH(cfg->sc.predst_x) |
-+                     PRE_DST_HEIGHT(cfg->sc.predst_y),
-+                     camregs + S3C2440_CAM_REG_CICOSCPREDST);
-+
-+              /* Differ from Preview */
-+              if (cfg->sc.scalerbypass)
-+                      cmd |= SCALERBYPASS;
-+              if (cfg->sc.scaleup_h & cfg->sc.scaleup_v)
-+                      cmd |= BIT30|BIT29;
-+              writel(cmd | MAIN_HRATIO(cfg->sc.mainhratio) |
-+                     MAIN_VRATIO(cfg->sc.mainvratio),
-+                     camregs + S3C2440_CAM_REG_CICOSCCTRL);
-+              return 0;
-+      }
-+      if (cfg->dma_type & CAMIF_PREVIEW) {
-+              writel(PRE_SHIFT(cfg->sc.shfactor) |
-+                     PRE_HRATIO(cfg->sc.prehratio) |
-+                     PRE_VRATIO(cfg->sc.prevratio),
-+                     camregs + S3C2440_CAM_REG_CIPRSCPRERATIO);
-+              writel(PRE_DST_WIDTH(cfg->sc.predst_x) |
-+                     PRE_DST_HEIGHT(cfg->sc.predst_y),
-+                     camregs + S3C2440_CAM_REG_CIPRSCPREDST);
-+              /* Differ from Codec */
-+              if (cfg->fmt & CAMIF_RGB24)
-+                      cmd |= RGB_FMT24;  
-+              if (cfg->sc.scaleup_h & cfg->sc.scaleup_v)
-+                      cmd |= BIT29 | BIT28;
-+              writel(cmd | MAIN_HRATIO(cfg->sc.mainhratio) | S_METHOD |
-+                     MAIN_VRATIO(cfg->sc.mainvratio),
-+                     camregs + S3C2440_CAM_REG_CIPRSCCTRL);
-+              return 0;
-+      }
-+
-+      panic("CAMERA:DMA_TYPE Wrong \n");
-+      return 0;
-+}
-+
-+
-+/* Configure Pre-scaler control  & main scaler control register */
-+static int camif_scaler(camif_cfg_t *cfg)
-+{
-+      int tx = cfg->target_x, ty = cfg->target_y;
-+      int sx, sy;
-+
-+      if (tx <= 0 || ty <= 0)
-+              panic("CAMERA: Invalid target size \n");
-+
-+      sx = cfg->gc->source_x - 2 * cfg->gc->win_hor_ofst;
-+      sy = cfg->gc->source_y - 2 * cfg->gc->win_ver_ofst;     
-+      if (sx <= 0 || sy <= 0)
-+              panic("CAMERA: Invalid source size \n");
-+
-+      cfg->sc.modified_src_x = sx;
-+      cfg->sc.modified_src_y = sy;
-+
-+      /* Pre-scaler control register 1 */
-+      camif_scaler_internal(sx, tx, &cfg->sc.prehratio, &cfg->sc.hfactor);
-+      camif_scaler_internal(sy, ty, &cfg->sc.prevratio, &cfg->sc.vfactor);
-+
-+      if (cfg->dma_type & CAMIF_PREVIEW)
-+              if ((sx / cfg->sc.prehratio) > 640) {
-+                      printk(KERN_INFO "CAMERA: Internal Preview line "
-+                                       "buffer is 640 pixels\n");
-+                      return 1; /* Error */
-+              }
-+
-+      cfg->sc.shfactor = 10 - (cfg->sc.hfactor + cfg->sc.vfactor);
-+      /* Pre-scaler control register 2 */
-+      cfg->sc.predst_x = sx / cfg->sc.prehratio;
-+      cfg->sc.predst_y = sy / cfg->sc.prevratio;
-+
-+      /* Main-scaler control register */
-+      cfg->sc.mainhratio = (sx << 8) / (tx << cfg->sc.hfactor);
-+      cfg->sc.mainvratio = (sy << 8) / (ty << cfg->sc.vfactor);
-+      DPRINTK(" sx %d, sy %d tx %d ty %d  \n", sx, sy, tx, ty);
-+      DPRINTK(" hfactor %d  vfactor %d \n",cfg->sc.hfactor, cfg->sc.vfactor);
-+
-+      cfg->sc.scaleup_h  = (sx <= tx) ? 1: 0;
-+      cfg->sc.scaleup_v  = (sy <= ty) ? 1: 0;
-+      if (cfg->sc.scaleup_h != cfg->sc.scaleup_v)
-+              printk(KERN_ERR "scaleup_h must be same to scaleup_v \n");
-+
-+      camif_hw_reg(cfg);
-+      camif_target_area(cfg);
-+
-+      return 0;
-+}
-+
-+/******************************************************
-+ CalculateBurstSize - Calculate the busrt lengths
-+ Description:
-+ - dstHSize: the number of the byte of H Size.
-+********************************************************/
-+static void camif_g_bsize(u32 hsize, u32 *mburst, u32 *rburst)
-+{
-+      u32 tmp;
-+
-+      tmp = (hsize / 4) % 16;
-+      switch(tmp) {
-+      case 0:
-+              *mburst=16;
-+              *rburst=16;
-+              break;
-+      case 4:
-+              *mburst=16;
-+              *rburst=4;
-+              break;
-+      case 8:
-+              *mburst=16;
-+              *rburst=8;
-+              break;
-+      default:
-+              tmp=(hsize / 4) % 8;
-+              switch(tmp) {
-+              case 0:
-+                      *mburst = 8;
-+                      *rburst = 8;
-+                      break;
-+              case 4:
-+                      *mburst = 8;
-+                      *rburst = 4;
-+              default:
-+                      *mburst = 4;
-+                      tmp = (hsize / 4) % 4;
-+                      *rburst= (tmp) ? tmp: 4;
-+                      break;
-+      }
-+              break;
-+      }
-+}
-+
-+/* SXGA 1028x1024*/
-+/* XGA 1024x768 */
-+/* SVGA 800x600 */
-+/* VGA 640x480 */
-+/* CIF 352x288 */
-+/* QVGA 320x240 */
-+/* QCIF 176x144 */
-+/* ret val 
-+        1 : DMA Size Error 
-+*/
-+#define BURST_ERR 1 
-+static int camif_dma_burst(camif_cfg_t *cfg)
-+{
-+      int width = cfg->target_x;
-+
-+      if (cfg->dma_type & CAMIF_CODEC ) {
-+              u32 yburst_m, yburst_r;
-+              u32 cburst_m, cburst_r;
-+              /* CODEC DMA WIDHT is multiple of 16 */
-+              if (width % 16)
-+                      return BURST_ERR;   /* DMA Burst Length Error */
-+              camif_g_bsize(width, &yburst_m, &yburst_r);
-+              camif_g_bsize(width / 2, &cburst_m, &cburst_r);
-+
-+              writel(YBURST_M(yburst_m) | CBURST_M(cburst_m) |
-+                     YBURST_R(yburst_r) | CBURST_R(cburst_r),
-+                     camregs + S3C2440_CAM_REG_CICOCTRL);
-+      }
-+
-+      if (cfg->dma_type & CAMIF_PREVIEW) {
-+              u32 rgburst_m, rgburst_r;
-+              if(cfg->fmt == CAMIF_RGB24) {
-+                      if (width % 2)
-+                              return BURST_ERR;   /* DMA Burst Length Error */
-+                      camif_g_bsize(width*4,&rgburst_m,&rgburst_r);
-+              } else {                /* CAMIF_RGB16 */
-+                      if ((width / 2) %2)
-+                              return BURST_ERR; /* DMA Burst Length Error */
-+                      camif_g_bsize(width*2,&rgburst_m,&rgburst_r);  
-+              }
-+
-+              writel(RGBURST_M(rgburst_m) | RGBURST_R(rgburst_r),
-+                     camregs + S3C2440_CAM_REG_CIPRCTRL);
-+      }
-+      return 0;
-+}
-+
-+static int camif_gpio_init(void)
-+{
-+#ifdef CONFIG_ARCH_S3C24A0A
-+      /* S3C24A0A has the dedicated signal pins for Camera */
-+#else
-+      s3c2410_gpio_cfgpin(S3C2440_GPJ0, S3C2440_GPJ0_CAMDATA0);
-+      s3c2410_gpio_cfgpin(S3C2440_GPJ1, S3C2440_GPJ1_CAMDATA1);
-+      s3c2410_gpio_cfgpin(S3C2440_GPJ2, S3C2440_GPJ2_CAMDATA2);
-+      s3c2410_gpio_cfgpin(S3C2440_GPJ3, S3C2440_GPJ3_CAMDATA3);
-+      s3c2410_gpio_cfgpin(S3C2440_GPJ4, S3C2440_GPJ4_CAMDATA4);
-+      s3c2410_gpio_cfgpin(S3C2440_GPJ5, S3C2440_GPJ5_CAMDATA5);
-+      s3c2410_gpio_cfgpin(S3C2440_GPJ6, S3C2440_GPJ6_CAMDATA6);
-+      s3c2410_gpio_cfgpin(S3C2440_GPJ7, S3C2440_GPJ7_CAMDATA7);
-+
-+      s3c2410_gpio_cfgpin(S3C2440_GPJ8, S3C2440_GPJ8_CAMPCLK);
-+      s3c2410_gpio_cfgpin(S3C2440_GPJ9, S3C2440_GPJ9_CAMVSYNC);
-+      s3c2410_gpio_cfgpin(S3C2440_GPJ10, S3C2440_GPJ10_CAMHREF);
-+      s3c2410_gpio_cfgpin(S3C2440_GPJ11, S3C2440_GPJ11_CAMCLKOUT);
-+      s3c2410_gpio_cfgpin(S3C2440_GPJ12, S3C2440_GPJ12_CAMRESET);
-+#endif
-+        return 0;
-+}
-+
-+
-+#define ROUND_ADD 0x100000
-+
-+#ifdef CONFIG_ARCH_S3C24A0A
-+int camif_clock_init(camif_gc_t *gc)
-+{
-+      unsigned int upll, camclk_div, camclk;
-+
-+      if (!gc) camclk = 24000000;
-+      else  {
-+              camclk = gc->camclk;
-+              if (camclk > 48000000)
-+                      printk(KERN_ERR "Wrong Camera Clock\n");
-+      }
-+
-+      CLKCON |= CLKCON_CAM_UPLL | CLKCON_CAM_HCLK;
-+      upll = get_bus_clk(GET_UPLL);
-+      printk(KERN_INFO "CAMERA:Default UPLL %08d and Assing 96Mhz to UPLL\n",upll);   
-+      UPLLCON = FInsrt(56, fPLL_MDIV) | FInsrt(2, fPLL_PDIV)| FInsrt(1, fPLL_SDIV);
-+      upll = get_bus_clk(GET_UPLL);
-+
-+      camclk_div = (upll+ROUND_ADD) / camclk - 1;
-+      CLKDIVN = (CLKDIVN & 0xFF) | CLKDIVN_CAM(camclk_div);
-+      printk(KERN_INFO"CAMERA:upll %d MACRO 0x%08X CLKDIVN 0x%08X \n",
-+                              upll, CLKDIVN_CAM(camclk_div), CLKDIVN);
-+      writel(0, camregs + S3C2440_CAM_REG_CIIMGCPT);  /* Dummy ? */
-+
-+      return 0;
-+}
-+#else
-+int camif_clock_init(camif_gc_t *gc)
-+{
-+      unsigned int camclk;
-+      struct clk *clk_camif = clk_get(NULL, "camif");
-+      struct clk *clk_camif_upll = clk_get(NULL, "camif-upll");
-+
-+      if (!gc)
-+              camclk = 24000000;
-+      else {
-+              camclk = gc->camclk;
-+              if (camclk > 48000000)
-+                      printk(KERN_ERR "Wrong Camera Clock\n");
-+      }
-+
-+      clk_set_rate(clk_camif, camclk);
-+
-+      clk_enable(clk_camif);
-+      clk_enable(clk_camif_upll);
-+      
-+
-+#if 0
-+      CLKCON |= CLKCON_CAMIF;
-+      upll = elfin_get_bus_clk(GET_UPLL);
-+      printk(KERN_INFO "CAMERA:Default UPLL %08d and Assing 96Mhz to UPLL\n",upll);   
-+      {
-+              UPLLCON = FInsrt(60, fPLL_MDIV) | FInsrt(4, fPLL_PDIV)| FInsrt(1, fPLL_SDIV);
-+              CLKDIVN |= DIVN_UPLL;   /* For USB */
-+              upll = elfin_get_bus_clk(GET_UPLL);
-+      }
-+
-+      camclk_div = (upll+ROUND_ADD) /(camclk * 2) -1;
-+      CAMDIVN = CAMCLK_SET_DIV|(camclk_div&0xf);
-+      printk(KERN_INFO "CAMERA:upll %08d  cam_clk %08d CAMDIVN 0x%08x \n",upll,camclk, CAMDIVN);
-+#endif
-+      writel(0, camregs + S3C2440_CAM_REG_CIIMGCPT);  /* Dummy ? */
-+
-+      return 0;
-+}
-+#endif
-+
-+/* 
-+   Reset Camera IP in CPU
-+   Reset External Sensor 
-+ */
-+void camif_reset(int is, int delay)
-+{
-+      switch (is) {
-+              case CAMIF_RESET:
-+                      writel(readl(camregs + S3C2440_CAM_REG_CIGCTRL) |
-+                             GC_SWRST,
-+                             camregs + S3C2440_CAM_REG_CIGCTRL);
-+                      mdelay(1);
-+                      writel(readl(camregs + S3C2440_CAM_REG_CIGCTRL) &
-+                             ~GC_SWRST,
-+                             camregs + S3C2440_CAM_REG_CIGCTRL);
-+                      break;
-+              case CAMIF_EX_RESET_AH: /*Active High */
-+                      writel(readl(camregs + S3C2440_CAM_REG_CIGCTRL) &
-+                             ~GC_CAMRST,
-+                             camregs + S3C2440_CAM_REG_CIGCTRL);
-+                      udelay(200);
-+                      writel(readl(camregs + S3C2440_CAM_REG_CIGCTRL) |
-+                             GC_CAMRST,
-+                             camregs + S3C2440_CAM_REG_CIGCTRL);
-+                      udelay(delay);
-+                      writel(readl(camregs + S3C2440_CAM_REG_CIGCTRL) &
-+                             ~GC_CAMRST,
-+                             camregs + S3C2440_CAM_REG_CIGCTRL);
-+                      break;
-+              case CAMIF_EX_RESET_AL: /*Active Low */
-+                      writel(readl(camregs + S3C2440_CAM_REG_CIGCTRL) |
-+                             GC_CAMRST,
-+                             camregs + S3C2440_CAM_REG_CIGCTRL);
-+                      udelay(200);
-+                      writel(readl(camregs + S3C2440_CAM_REG_CIGCTRL) &
-+                             ~GC_CAMRST,
-+                             camregs + S3C2440_CAM_REG_CIGCTRL);
-+                      udelay(delay);
-+                      writel(readl(camregs + S3C2440_CAM_REG_CIGCTRL) |
-+                             GC_CAMRST,
-+                             camregs + S3C2440_CAM_REG_CIGCTRL);
-+                      break;
-+              default:
-+                      break;
-+      }
-+}
-+              
-+/* For Camera Operation,
-+ * we can give the high priority to REQ2 of ARBITER1 
-+ */
-+
-+/* Please move me into proper place 
-+ *  camif_gc_t is not because "rmmod imgsenor" will delete the instance of camif_gc_t  
-+ */
-+static u32 old_priority; 
-+
-+static void camif_bus_priority(int flag)
-+{
-+      if (flag) {
-+#ifdef CONFIG_ARCH_S3C24A0A
-+              old_priority = PRIORITY0;
-+              PRIORITY0 = PRIORITY_I_FIX;
-+              PRIORITY1 = PRIORITY_I_FIX;
-+
-+#else
-+              old_priority = readl(S3C2410_PRIORITY);
-+              writel(readl(S3C2410_PRIORITY) & ~(3<<7), S3C2410_PRIORITY);
-+              writel(readl(S3C2410_PRIORITY) |  (1<<7), S3C2410_PRIORITY); /* Arbiter 1, REQ2 first */
-+              writel(readl(S3C2410_PRIORITY) & ~(1<<1), S3C2410_PRIORITY); /* Disable Priority Rotate */
-+#endif
-+      } 
-+      else {
-+#ifdef CONFIG_ARCH_S3C24A0A
-+              PRIORITY0 = old_priority;
-+              PRIORITY1 = old_priority;
-+#else
-+              writel(old_priority, S3C2410_PRIORITY);
-+#endif
-+      }
-+}
-+
-+static void inline camif_clock_off(void)
-+{
-+#if defined (CONFIG_ARCH_S3C24A0A)
-+      writel(0, camregs + S3C2440_CAM_REG_CIIMGCPT);
-+
-+      CLKCON &= ~CLKCON_CAM_UPLL;
-+      CLKCON &= ~CLKCON_CAM_HCLK;
-+#else
-+      struct clk *clk_camif = clk_get(NULL, "camif");
-+      struct clk *clk_camif_upll = clk_get(NULL, "camif-upll");
-+
-+      writel(0, camregs + S3C2440_CAM_REG_CIIMGCPT);
-+
-+      clk_disable(clk_camif);
-+      clk_disable(clk_camif_upll);
-+#endif
-+}
-+
-+
-+/* Init external image sensor 
-+ *  Before make some value into image senor,
-+ *  you must set up the pixel clock.
-+ */
-+void camif_setup_sensor(void)
-+{
-+      camif_reset(CAMIF_RESET, 0);
-+      camif_gpio_init();
-+      camif_clock_init(NULL);
-+/* Sometimes ,Before loading I2C module, we need the reset signal */
-+#ifdef CONFIG_ARCH_S3C24A0A
-+      camif_reset(CAMIF_EX_RESET_AL,1000);
-+#else
-+      camif_reset(CAMIF_EX_RESET_AH,1000);
-+#endif
-+}
-+
-+void camif_hw_close(camif_cfg_t *cfg)
-+{
-+      camif_bus_priority(0);
-+      camif_clock_off();
-+}
-+
-+void camif_hw_open(camif_gc_t *gc)
-+{
-+      camif_source_fmt(gc);
-+      camif_win_offset(gc);
-+      camif_bus_priority(1);
-+}
-+
-+
-+
-+/* 
-+ * Local variables:
-+ * tab-width: 8
-+ *  c-indent-level: 8
-+ *  c-basic-offset: 8
-+ *  c-set-style: "K&R"
-+ * End:
-+ */
-Index: linux-2.6.28/arch/arm/mach-s3c2440/camera/camif_fsm.c
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2440/camera/camif_fsm.c      2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,432 @@
-+/*  
-+    Copyright (C) 2004 Samsung Electronics 
-+                     SW.LEE <hitchcar@sec.samsung.com>
-+
-+    This program is free software; you can redistribute it and/or modify
-+    it under the terms of the GNU General Public License as published by
-+    the Free Software Foundation; either version 2 of the License, or
-+    (at your option) any later version.
-+*/
-+
-+#include <linux/version.h>
-+#include <linux/module.h>
-+#include <linux/delay.h>
-+#include <linux/errno.h>
-+#include <linux/fs.h>
-+#include <linux/kernel.h>
-+#include <linux/major.h>
-+#include <linux/slab.h>
-+#include <linux/poll.h>
-+#include <linux/signal.h>
-+#include <linux/ioport.h>
-+#include <linux/sched.h>
-+#include <linux/types.h>
-+#include <linux/interrupt.h>
-+#include <linux/kmod.h>
-+#include <linux/vmalloc.h>
-+#include <linux/init.h>
-+#include <linux/pagemap.h>
-+#include <asm/io.h>
-+#include <asm/irq.h>
-+#include <asm/semaphore.h>
-+#include <linux/miscdevice.h>
-+
-+#define CONFIG_VIDEO_V4L1_COMPAT
-+#include <linux/videodev.h>
-+#include "camif.h"
-+
-+//#define SW_DEBUG 
-+static void camif_start_p_with_c(camif_cfg_t *cfg);
-+
-+#include "camif.h"
-+const char *fsm_version =
-+        "$Id: camif_fsm.c,v 1.3 2004/04/27 10:26:28 swlee Exp $";
-+
-+
-+/* 
-+ * FSM function is the place where Synchronization in not necessary
-+ * because IRS calls this functions.
-+ */
-+
-+ssize_t camif_p_1fsm_start(camif_cfg_t *cfg)
-+{
-+      //camif_reset(CAMIF_RESET,0);
-+      cfg->exec = CAMIF_DMA_ON;
-+      camif_capture_start(cfg);
-+      camif_last_irq_en(cfg);
-+      cfg->status = CAMIF_STARTED;
-+      cfg->fsm = CAMIF_1nd_INT;
-+      return 0;
-+}
-+
-+
-+ssize_t camif_p_2fsm_start(camif_cfg_t *cfg)
-+{
-+      camif_reset(CAMIF_RESET,0);/* FIFO Count goes to zero */
-+      cfg->exec = CAMIF_DMA_ON;
-+      camif_capture_start(cfg);
-+      cfg->status = CAMIF_STARTED;
-+      cfg->fsm = CAMIF_1nd_INT;
-+      return 0;
-+}
-+
-+
-+ssize_t camif_4fsm_start(camif_cfg_t *cfg)
-+{
-+      camif_reset(CAMIF_RESET,0); /* FIFO Count goes to zero */
-+      cfg->exec = CAMIF_DMA_ON;
-+      camif_capture_start(cfg);
-+      cfg->status = CAMIF_STARTED;
-+      cfg->fsm = CAMIF_1nd_INT;
-+      cfg->perf.frames = 0;
-+      return 0;
-+}
-+
-+
-+/* Policy:  
-+     cfg->perf.frames  set in camif_fsm.c
-+     cfg->status set in video-driver.c
-+ */
-+
-+/* 
-+ * Don't insert camif_reset(CAM_RESET, 0 ) into this func 
-+ */
-+ssize_t camif_p_stop(camif_cfg_t *cfg)
-+{
-+      cfg->exec = CAMIF_DMA_OFF;
-+//    cfg->status = CAMIF_STOPPED;
-+      camif_capture_stop(cfg);
-+      cfg->perf.frames = 0;   /* Dupplicated ? */
-+      return 0;
-+}
-+
-+/* When C working, P asks C to play togehter */
-+/* Only P must call this function */
-+void camif_start_c_with_p (camif_cfg_t *cfg, camif_cfg_t *other)
-+{
-+//    cfg->gc->other = get_camif(CODEC_MINOR);
-+      cfg->gc->other = other;
-+      camif_start_p_with_c(cfg);
-+}
-+
-+static void camif_start_p_with_c(camif_cfg_t *cfg)
-+{
-+      camif_cfg_t *other = (camif_cfg_t *)cfg->gc->other;
-+      /* Preview Stop */
-+      cfg->exec = CAMIF_DMA_OFF;
-+      camif_capture_stop(cfg);
-+      /* Start P and C */
-+      camif_reset(CAMIF_RESET, 0);
-+      cfg->exec =CAMIF_BOTH_DMA_ON;
-+      camif_capture_start(cfg);
-+      cfg->fsm = CAMIF_1nd_INT; /* For Preview */
-+      if(!other) panic("Unexpected Error \n");
-+      other->fsm = CAMIF_1nd_INT; /* For Preview */
-+}
-+
-+static void camif_auto_restart(camif_cfg_t *cfg)
-+{     
-+//    if (cfg->dma_type & CAMIF_CODEC) return;
-+      if (cfg->auto_restart)
-+              camif_start_p_with_c(cfg);
-+}
-+
-+
-+/* Supposed that PREVIEW already running 
-+ * request PREVIEW to start with Codec 
-+ */
-+static int camif_check_global(camif_cfg_t *cfg)
-+{
-+      int ret = 0;
-+       
-+        if (down_interruptible(&cfg->gc->lock)) 
-+                       return -ERESTARTSYS;
-+        if ( cfg->gc->status & CWANT2START ) {
-+              cfg->gc->status &= ~CWANT2START;
-+              cfg->auto_restart = 1;
-+              ret = 1;
-+      }
-+      else {
-+              ret = 0; /* There is no codec */
-+              cfg->auto_restart = 0; /* Duplicated ..Dummy */
-+      }
-+
-+      up(&cfg->gc->lock);
-+
-+        return ret;
-+}
-+
-+/*
-+ *    1nd INT : Start Interrupt
-+ *    Xnd INT : enable Last IRQ : pingpong get the valid data
-+ *    Ynd INT : Stop Codec or Preview : pingpong get the valid data
-+ *    Znd INT : Last IRQ : valid data 
-+ */
-+#define CHECK_FREQ 5
-+int camif_enter_p_4fsm(camif_cfg_t *cfg)
-+{
-+      int ret = 0;
-+
-+      cfg->perf.frames++;
-+      if (cfg->fsm == CAMIF_NORMAL_INT)
-+      if (cfg->perf.frames % CHECK_FREQ == 0) 
-+              ret = camif_check_global(cfg);
-+      if (ret > 0) cfg->fsm = CAMIF_Xnd_INT; /* Codec wait for Preview */
-+      
-+      switch (cfg->fsm) {
-+              case CAMIF_1nd_INT:           /* Start IRQ */
-+                      cfg->fsm = CAMIF_NORMAL_INT;
-+                      ret = INSTANT_SKIP;
-+                      DPRINTK(KERN_INFO "1nd INT \n");        
-+                      break;
-+              case CAMIF_NORMAL_INT:          
-+                      cfg->status = CAMIF_INT_HAPPEN;
-+                      cfg->fsm = CAMIF_NORMAL_INT;
-+                      ret = INSTANT_GO;
-+                      DPRINTK(KERN_INFO "NORMAL INT \n");     
-+                      break;
-+              case CAMIF_Xnd_INT:             
-+                      camif_last_irq_en(cfg);/* IRQ for Enabling LAST IRQ */
-+                      cfg->status = CAMIF_INT_HAPPEN;
-+                      cfg->fsm = CAMIF_Ynd_INT;
-+                      ret = INSTANT_GO;
-+                      DPRINTK(KERN_INFO "Xnd INT \n");        
-+                      break;  
-+              case CAMIF_Ynd_INT:        /* Capture Stop */
-+                      cfg->exec = CAMIF_DMA_OFF;
-+                      cfg->status = CAMIF_INT_HAPPEN;
-+                      camif_capture_stop(cfg);
-+                      cfg->fsm = CAMIF_Znd_INT;
-+                      ret = INSTANT_GO;
-+                      DPRINTK(KERN_INFO "Ynd INT \n");        
-+                      break;
-+              case CAMIF_Znd_INT:             /*  LAST IRQ (Dummy IRQ */
-+                      cfg->fsm = CAMIF_DUMMY_INT;
-+                      cfg->status = CAMIF_INT_HAPPEN;
-+                      ret = INSTANT_GO;
-+                      camif_auto_restart(cfg);  /* Automatically Restart Camera */
-+                      DPRINTK(KERN_INFO "Znd INT \n");
-+                      break;  
-+              case CAMIF_DUMMY_INT:
-+                      cfg->status = CAMIF_STOPPED; /* Dupplicate ? */
-+                      ret = INSTANT_SKIP;
-+//                    DPRINTK(KERN_INFO "Dummy INT \n"); 
-+                      break;
-+              default:
-+                      printk(KERN_INFO "Unexpect INT %d \n",cfg->fsm); 
-+                      ret = INSTANT_SKIP;
-+                      break;
-+      }
-+      return ret;
-+}
-+
-+
-+/* 
-+ * NO autorestart included in this function 
-+ */
-+int camif_enter_c_4fsm(camif_cfg_t *cfg)
-+{
-+      int ret;
-+      
-+      cfg->perf.frames++;
-+#if 0
-+      if (   (cfg->fsm==CAMIF_NORMAL_INT)
-+          && (cfg->perf.frames>cfg->restart_limit-1)
-+         ) 
-+              cfg->fsm = CAMIF_Xnd_INT;
-+#endif
-+      switch (cfg->fsm) {
-+              case CAMIF_1nd_INT:           /* Start IRQ */
-+                      cfg->fsm = CAMIF_NORMAL_INT;
-+//                    cfg->status = CAMIF_STARTED; /* need this to meet auto-restart */
-+                      ret = INSTANT_SKIP;
-+                      DPRINTK(KERN_INFO "1nd INT \n");
-+                      break;
-+              case CAMIF_NORMAL_INT:          
-+                      cfg->status = CAMIF_INT_HAPPEN;
-+                      cfg->fsm = CAMIF_NORMAL_INT;
-+                      ret = INSTANT_GO;
-+                      DPRINTK(KERN_INFO "NORMALd INT \n");
-+                      break;
-+              case CAMIF_Xnd_INT:             
-+                      camif_last_irq_en(cfg);/* IRQ for Enabling LAST IRQ */
-+                      cfg->status = CAMIF_INT_HAPPEN;
-+                      cfg->fsm = CAMIF_Ynd_INT;
-+                      ret = INSTANT_GO;
-+                      DPRINTK(KERN_INFO "Xnd INT \n");
-+                      break;  
-+              case CAMIF_Ynd_INT:        /* Capture Stop */
-+                      cfg->exec = CAMIF_DMA_OFF;
-+                      cfg->status = CAMIF_INT_HAPPEN;
-+                      camif_capture_stop(cfg);
-+                      cfg->fsm = CAMIF_Znd_INT;
-+                      ret = INSTANT_GO;
-+                      DPRINTK(KERN_INFO "Ynd INT \n");
-+                      break;
-+              case CAMIF_Znd_INT:             /*  LAST IRQ (Dummy IRQ */
-+                      cfg->fsm = CAMIF_DUMMY_INT;
-+                      cfg->status = CAMIF_INT_HAPPEN;
-+                      ret = INSTANT_GO;
-+                      DPRINTK(KERN_INFO "Znd INT \n");
-+                      break;  
-+              case CAMIF_DUMMY_INT:
-+                      cfg->status = CAMIF_STOPPED; /* Dupplicate ? */
-+                      ret = INSTANT_SKIP;
-+                      break;
-+              default:
-+                      printk(KERN_INFO "Unexpect INT %d \n",cfg->fsm); 
-+                      ret = INSTANT_SKIP;
-+                      break;
-+      }
-+      return ret;
-+}
-+
-+/* 4 Interrups State Machine is for two pingpong  
-+ *    1nd INT : Start Interrupt
-+ *    Xnd INT : enable Last IRQ : pingpong get the valid data
-+ *    Ynd INT : Stop Codec or Preview : pingpong get the valid data
-+ *    Znd INT : Last IRQ : valid data 
-+ *    
-+ * Note:
-+ *    Before calling this func, you must call camif_reset
-+ */
-+
-+int camif_enter_2fsm(camif_cfg_t *cfg) /* Codec FSM */
-+{
-+      int ret;
-+
-+      cfg->perf.frames++;
-+      switch (cfg->fsm) {
-+              case CAMIF_1nd_INT:           /* Start IRQ */
-+                      cfg->fsm = CAMIF_Xnd_INT;
-+                      ret = INSTANT_SKIP;
-+//                    printk(KERN_INFO "1nd INT \n"); 
-+                      break;
-+              case CAMIF_Xnd_INT:             
-+                      camif_last_irq_en(cfg);/* IRQ for Enabling LAST IRQ */
-+                      cfg->now_frame_num = 0;
-+                      cfg->status = CAMIF_INT_HAPPEN;
-+                      cfg->fsm = CAMIF_Ynd_INT;
-+                      ret = INSTANT_GO;
-+//                    printk(KERN_INFO "2nd INT \n"); 
-+                      break;  
-+              case CAMIF_Ynd_INT:        /* Capture Stop */
-+                      cfg->exec = CAMIF_DMA_OFF;
-+                      cfg->now_frame_num = 1;
-+                      cfg->status = CAMIF_INT_HAPPEN;
-+                      camif_capture_stop(cfg);
-+                      cfg->fsm = CAMIF_Znd_INT;
-+                      ret = INSTANT_GO;
-+//                    printk(KERN_INFO "Ynd INT \n"); 
-+                      break;
-+              case CAMIF_Znd_INT:             /*  LAST IRQ (Dummy IRQ */
-+                      cfg->now_frame_num = 0;
-+//                    cfg->fsm = CAMIF_DUMMY_INT;
-+                      cfg->status = CAMIF_INT_HAPPEN;
-+                      ret = INSTANT_GO;
-+//                    printk(KERN_INFO "Znd INT \n");
-+                      break;  
-+              case CAMIF_DUMMY_INT:
-+                      cfg->status = CAMIF_STOPPED; /* Dupplicate ? */
-+                      ret = INSTANT_SKIP;
-+                      printk(KERN_INFO "Dummy INT \n"); 
-+                      break;
-+              default:  /* CAMIF_PENDING_INT */
-+                      printk(KERN_INFO "Unexpect INT \n"); 
-+                      ret = INSTANT_SKIP;
-+                      break;
-+      }
-+      return ret;
-+}
-+
-+
-+/* 2 Interrups State Machine is for one pingpong  
-+ *    1nd INT : Stop Codec or Preview : pingpong get the valid data
-+ *    2nd INT : Last IRQ : dummy data 
-+ */
-+int camif_enter_1fsm(camif_cfg_t *cfg) /* Codec FSM */
-+{
-+      int ret;
-+
-+      cfg->perf.frames++;
-+      switch (cfg->fsm) {
-+              case CAMIF_Ynd_INT:             /* IRQ for Enabling LAST IRQ */
-+                      cfg->exec = CAMIF_DMA_OFF;
-+                      camif_capture_stop(cfg);
-+                      cfg->fsm = CAMIF_Znd_INT;
-+                      ret = INSTANT_SKIP;
-+      //              printk(KERN_INFO "Ynd INT \n"); 
-+                      break;  
-+              case CAMIF_Znd_INT:             /*  LAST IRQ (Dummy IRQ */
-+                      cfg->fsm = CAMIF_DUMMY_INT;
-+                      cfg->status = CAMIF_INT_HAPPEN;
-+                      ret = INSTANT_GO;
-+      //              printk(KERN_INFO "Znd INT \n"); 
-+                      break;
-+              case CAMIF_DUMMY_INT:
-+                      cfg->status = CAMIF_STOPPED; /* Dupplicate ? */
-+                      ret = INSTANT_SKIP;
-+                      printk(KERN_INFO "Dummy INT \n"); 
-+                      break;
-+              default:
-+                      printk(KERN_INFO "Unexpect INT \n"); 
-+                      ret = INSTANT_SKIP;
-+                      break;
-+      }
-+      return ret;
-+}
-+
-+
-+/*
-+ *  GLOBAL STATUS CONTROL FUNCTION
-+ *
-+ */
-+
-+
-+/* Supposed that PREVIEW already running 
-+ * request PREVIEW to start with Codec 
-+ */
-+int camif_callback_start(camif_cfg_t *cfg)
-+{
-+        int  doit = 1;
-+        while (doit) {
-+                if (down_interruptible(&cfg->gc->lock)) {
-+                        return -ERESTARTSYS;
-+                }
-+                cfg->gc->status = CWANT2START;
-+                cfg->gc->other = cfg;
-+                up(&cfg->gc->lock);
-+                doit = 0;
-+        }
-+        return 0;
-+}
-+
-+/*
-+ * Return status of Preview Machine
-+  ret value :
-+      0: Preview is not working
-+      X: Codec must follow PREVIEW start
-+*/
-+int camif_check_preview(camif_cfg_t *cfg)
-+{
-+        int ret = 0;
-+
-+        if (down_interruptible(&cfg->gc->lock)) {
-+                        ret = -ERESTARTSYS;
-+                        return ret;
-+        }
-+        if (cfg->gc->user == 1) ret = 0;
-+     //   else if (cfg->gc->status & PNOTWORKING) ret = 0;
-+        else ret = 1;
-+        up(&cfg->gc->lock);
-+        return ret;
-+}
-+
-+
-+
-+
-+/*
-+ * Local variables:
-+ * c-basic-offset: 8
-+ * End:
-+ */
-Index: linux-2.6.28/arch/arm/mach-s3c2440/camera/camif.h
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2440/camera/camif.h  2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,304 @@
-+/*
-+    FIMC2.0  Camera Header File
-+
-+    Copyright (C) 2003 Samsung Electronics (SW.LEE: hitchcar@samsung.com)
-+
-+      Author : SW.LEE <hitchcar@samsung.com>
-+
-+    This program is free software; you can redistribute it and/or modify
-+    it under the terms of the GNU General Public License as published by
-+    the Free Software Foundation; either version 2 of the License, or
-+    (at your option) any later version.
-+*
-+*/
-+
-+
-+#ifndef __FIMC20_CAMIF_H_
-+#define __FIMC20_CAMIF_H_
-+
-+#ifdef __KERNEL__
-+
-+#include "bits.h"
-+#include "videodev.h"
-+#include <asm/types.h>
-+#include <linux/i2c.h>
-+
-+#endif  /* __KERNEL__ */
-+
-+#ifndef O_NONCAP
-+#define O_NONCAP O_TRUNC
-+#endif
-+
-+/* Codec or Preview Status */
-+#define CAMIF_STARTED         BIT1
-+#define CAMIF_STOPPED         BIT2
-+#define CAMIF_INT_HAPPEN      BIT3
-+
-+/* Codec or Preview  : Interrupt FSM */
-+#define CAMIF_1nd_INT         BIT7
-+#define CAMIF_Xnd_INT         BIT8
-+#define CAMIF_Ynd_INT         BIT9 
-+#define CAMIF_Znd_INT         BIT10
-+#define CAMIF_NORMAL_INT      BIT11
-+#define CAMIF_DUMMY_INT       BIT12
-+#define CAMIF_PENDING_INT     0
-+
-+
-+/* CAMIF RESET Definition */
-+#define CAMIF_RESET           BIT0
-+#define CAMIF_EX_RESET_AL     BIT1    /* Active Low */
-+#define CAMIF_EX_RESET_AH     BIT2    /* Active High */
-+
-+
-+enum camif_itu_fmt {
-+      CAMIF_ITU601 = BIT31,
-+      CAMIF_ITU656 = 0
-+};
-+
-+/* It is possbie to use two device simultaneously */
-+enum camif_dma_type {
-+       CAMIF_PREVIEW = BIT0,
-+       CAMIF_CODEC   = BIT1,
-+};
-+
-+enum camif_order422 {
-+       CAMIF_YCBYCR = 0,
-+       CAMIF_YCRYCB = BIT14,
-+       CAMIF_CBYCRY = BIT15,
-+       CAMIF_CRYCBY = BIT14 | BIT15
-+};
-+
-+enum flip_mode {
-+        CAMIF_FLIP   = 0,
-+        CAMIF_FLIP_X = BIT14,
-+        CAMIF_FLIP_Y = BIT15,
-+        CAMIF_FLIP_MIRROR = BIT14 |BIT15,
-+};
-+
-+enum camif_codec_fmt {
-+      /* Codec part */
-+        CAMIF_IN_YCBCR420  = BIT0, /* Currently IN_YCBCR format fixed */
-+        CAMIF_IN_YCBCR422  = BIT1,
-+        CAMIF_OUT_YCBCR420 = BIT4,
-+        CAMIF_OUT_YCBCR422 = BIT5,
-+      /* Preview Part */
-+      CAMIF_RGB16        = BIT2,
-+      CAMIF_RGB24        = BIT3,
-+};
-+
-+enum camif_capturing {
-+        CAMIF_BOTH_DMA_ON  = BIT4,
-+      CAMIF_DMA_ON       = BIT3,
-+      CAMIF_BOTH_DMA_OFF = BIT1,
-+      CAMIF_DMA_OFF      = BIT0,
-+      /*------------------------*/
-+      CAMIF_DMA_OFF_L_IRQ= BIT5,
-+};
-+
-+typedef struct camif_performance
-+{
-+      int     frames;
-+      int     framesdropped;
-+      __u64   bytesin;
-+      __u64   bytesout;
-+      __u32   reserved[4];
-+} camif_perf_t;
-+
-+
-+typedef struct {
-+        dma_addr_t  phys_y;
-+        dma_addr_t  phys_cb;
-+        dma_addr_t  phys_cr;
-+        u8          *virt_y;  
-+        u8          *virt_cb;
-+        u8          *virt_cr;
-+        dma_addr_t  phys_rgb;
-+        u8          *virt_rgb;
-+}img_buf_t;
-+
-+
-+/* this structure convers the CIWDOFFST, prescaler, mainscaler */
-+typedef struct {
-+      u32 modified_src_x;     /* After windows applyed to source_x */
-+      u32 modified_src_y;
-+      u32 hfactor;
-+      u32 vfactor;
-+      u32 shfactor;           /* SHfactor = 10 - ( hfactor + vfactor ) */
-+      u32 prehratio;
-+      u32 prevratio;
-+      u32 predst_x;
-+      u32 predst_y;
-+      u32 scaleup_h;          
-+      u32 scaleup_v;
-+      u32 mainhratio;
-+      u32 mainvratio;
-+      u32 scalerbypass;       /* only codec */
-+} scaler_t;
-+
-+
-+enum v4l2_status {
-+        CAMIF_V4L2_INIT    = BIT0,
-+        CAMIF_v4L2_DIRTY   = BIT1,
-+};
-+
-+
-+/* Global Status Definition */
-+#define PWANT2START   BIT0
-+#define CWANT2START   BIT1
-+#define BOTH_STARTED  (PWANT2START|CWANT2START)
-+#define PNOTWORKING   BIT4
-+#define C_WORKING     BIT5
-+
-+typedef struct {
-+      struct semaphore         lock;
-+        enum camif_itu_fmt       itu_fmt;
-+        enum camif_order422      order422;
-+      u32                      win_hor_ofst;
-+      u32                      win_ver_ofst;
-+        u32                      camclk;  /* External Image Sensor Camera Clock */
-+        u32                      source_x;
-+        u32                      source_y;
-+      u32                      polarity_pclk;
-+      u32                      polarity_vsync;
-+      u32                      polarity_href;
-+      struct i2c_client        *sensor;
-+      u32                      user; /* MAX 2 (codec, preview) */
-+      u32                      old_priority; /* BUS PRIORITY register */
-+      u32                      status;
-+      u32                      init_sensor;/* initializing sensor */
-+      void                     *other;    /* Codec camif_cfg_t */
-+      u32                      reset_type;    /* External Sensor Reset  Type */
-+      u32                      reset_udelay;  
-+} camif_gc_t;                 /* gobal control register */
-+
-+
-+/* when  App want to change v4l2 parameter,
-+ * we instantly store it into v4l2_t v2 
-+ * and then reflect it to hardware
-+ */   
-+typedef struct v4l2 {
-+      struct v4l2_fmtdesc     *fmtdesc;
-+      struct v4l2_pix_format   fmt; /* current pixel format */
-+      struct v4l2_input        input;
-+        struct video_picture     picture;
-+      enum v4l2_status         status;
-+      int     used_fmt ;      /* used format index  */
-+} v4l2_t;
-+
-+
-+typedef struct camif_c_t {
-+        struct video_device      *v;
-+      /* V4L2 param only for v4l2 driver */
-+      v4l2_t                    v2;
-+      camif_gc_t               *gc; /* Common between Codec and Preview */
-+      /* logical parameter */
-+      wait_queue_head_t        waitq;
-+      u32                      status; /* Start/Stop */
-+      u32                      fsm; /* Start/Stop */
-+      u32                      open_count; /* duplicated */
-+      int                      irq;
-+      char                     shortname[16];
-+        u32                      target_x;
-+        u32                      target_y;
-+      scaler_t                 sc;
-+      enum flip_mode           flip;
-+        enum camif_dma_type      dma_type;
-+       /* 4 pingpong Frame memory */
-+        u8                       *pp_virt_buf;
-+        dma_addr_t               pp_phys_buf;
-+        u32                      pp_totalsize;
-+      u32                      pp_num; /* used pingpong memory number */
-+        img_buf_t                img_buf[4];
-+        enum camif_codec_fmt     fmt;
-+        enum camif_capturing     exec;
-+      camif_perf_t             perf;
-+      u32                      now_frame_num;
-+      u32                      auto_restart; /* Only For Preview */
-+} camif_cfg_t;
-+
-+#ifdef SW_DEBUG
-+#define DPRINTK(fmt, args...) printk(KERN_DEBUG "%s: " fmt, __FUNCTION__ , ## args)
-+#else
-+#define DPRINTK(fmt, args...)
-+#endif
-+
-+
-+#ifdef SW_DEBUG
-+#define assert(expr) \
-+        if(!(expr)) {                                   \
-+        printk( "Assertion failed! %s,%s,%s,line=%d\n", \
-+        #expr,__FILE__,__FUNCTION__,__LINE__);          \
-+        }
-+#else
-+#define assert(expr)
-+#endif
-+
-+
-+
-+extern int camif_capture_start(camif_cfg_t *);
-+extern int camif_capture_stop(camif_cfg_t *);
-+extern int camif_g_frame_num(camif_cfg_t *);
-+extern u8 * camif_g_frame(camif_cfg_t *);
-+extern int  camif_win_offset(camif_gc_t *);
-+extern void camif_hw_open(camif_gc_t *);
-+extern void camif_hw_close(camif_cfg_t *);
-+extern int camif_dynamic_open(camif_cfg_t *);
-+extern int camif_dynamic_close(camif_cfg_t *);
-+extern void camif_reset(int,int);
-+extern void camif_setup_sensor(void);
-+extern int camif_g_fifo_status(camif_cfg_t *);
-+extern void camif_last_irq_en(camif_cfg_t *);
-+extern void camif_change_flip(camif_cfg_t *);
-+
-+
-+/* Todo
-+ *  API Interface function to both Character and V4L2 Drivers
-+ */
-+extern int camif_do_write(struct file *,const char *, size_t, loff_t *);
-+extern int camif_do_ioctl(struct inode *, struct file *,unsigned int, void *);
-+
-+
-+/* 
-+ * API for Decoder (S5x532, OV7620..) 
-+ */
-+void camif_register_decoder(struct i2c_client *);
-+void camif_unregister_decoder(struct i2c_client*);
-+
-+
-+
-+/* API for FSM */
-+#define INSTANT_SKIP 0 
-+#define INSTANT_GO   1 
-+
-+extern ssize_t camif_p_1fsm_start(camif_cfg_t *);
-+extern ssize_t camif_p_2fsm_start(camif_cfg_t *);
-+extern ssize_t camif_4fsm_start(camif_cfg_t *);
-+extern ssize_t camif_p_stop(camif_cfg_t *);
-+extern int camif_enter_p_4fsm(camif_cfg_t *);
-+extern int camif_enter_c_4fsm(camif_cfg_t *);
-+extern int camif_enter_2fsm(camif_cfg_t *);
-+extern int camif_enter_1fsm(camif_cfg_t *);
-+extern int camif_check_preview(camif_cfg_t *);
-+extern int camif_callback_start(camif_cfg_t *);
-+extern int camif_clock_init(camif_gc_t *);
-+
-+/* 
-+ *  V4L2 Part
-+ */
-+#define VID_HARDWARE_SAMSUNG_FIMC20   236
-+
-+
-+
-+
-+
-+#endif
-+
-+
-+/* 
-+ * Local variables:
-+ * tab-width: 8
-+ *  c-indent-level: 8
-+ *  c-basic-offset: 8
-+ *  c-set-style: "K&R"
-+ * End:
-+ */
-Index: linux-2.6.28/arch/arm/mach-s3c2440/camera/cam_reg.h
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2440/camera/cam_reg.h        2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,234 @@
-+ /*----------------------------------------------------------
-+  *   (C) 2004 Samsung Electronics
-+  *   SW.LEE < hitchcar@samsung.com>
-+  * 
-+  ----------------------------------------------------------- */
-+
-+#ifndef __FIMC20_CAMERA_H__
-+#define __FIMC20_CAMERA_H__
-+
-+extern u32 * camregs;
-+
-+#ifdef CONFIG_ARCH_S3C24A0
-+#define CAM_BASE_ADD             0x48000000
-+#else /* S3C2440A */
-+#define CAM_BASE_ADD             0x4F000000
-+#endif
-+
-+#if ! defined(FExtr)
-+#define UData(Data)     ((unsigned long) (Data))
-+#define FExtr(Data, Field) \
-+                        ((UData (Data) >> FShft (Field)) & FAlnMsk (Field))
-+#define FInsrt(Value, Field) \
-+                        (UData (Value) << FShft (Field))
-+#define FSize(Field)    ((Field) >> 16)
-+#define FShft(Field)    ((Field) & 0x0000FFFF)
-+#define FMsk(Field)     (((UData (1) << FSize (Field)) - 1) << FShft (Field))
-+#define FAlnMsk(Field)  ((UData (1) << FSize (Field)) - 1)
-+#define F1stBit(Field)  (UData (1) << FShft (Field))
-+#define Fld(Size, Shft) (((Size) << 16) + (Shft))
-+#endif
-+
-+/*
-+ * CAMERA IP
-+ * P-port is used as RGB Capturing device which including scale and crop
-+ *  those who want to see(preview ) the image on display needs RGB image.
-+ *
-+ * C-port is used as YCbCr(4:2:0, 4:2:2) Capturing device which including the scale and crop
-+ *   the prefix of C-port have the meaning of "Codec" ex. mpeg4, h263.. which requries the
-+     YCBCB format not RGB 
-+ */ 
-+
-+#define S3C2440_CAM_REG_CISRCFMT            (0x00) // RW Input Source Format
-+#define S3C2440_CAM_REG_CIWDOFST            (0x04) // Window offset register
-+#define S3C2440_CAM_REG_CIGCTRL             (0x08) // Global control register
-+#define S3C2440_CAM_REG_CICOYSA0            (0x18) // Y 1 st frame start ads
-+#define S3C2440_CAM_REG_CICOYSA1            (0x1C) // Y 2 nd frame start ads
-+#define S3C2440_CAM_REG_CICOYSA2            (0x20) // Y 3 rd frame start ads
-+#define S3C2440_CAM_REG_CICOYSA3            (0x24) // Y 4 th frame start ads
-+#define S3C2440_CAM_REG_CICOCBSA0           (0x28) // Cb 1 st frame start ads
-+#define S3C2440_CAM_REG_CICOCBSA1           (0x2C) // Cb 2 nd frame start ads
-+#define S3C2440_CAM_REG_CICOCBSA2           (0x30) // Cb 3 rd frame start ads
-+#define S3C2440_CAM_REG_CICOCBSA3           (0x34) // Cb 4 th frame start ads
-+#define S3C2440_CAM_REG_CICOCRSA0           (0x38) // Cr 1 st frame start ads
-+#define S3C2440_CAM_REG_CICOCRSA1           (0x3C) // Cr 2 nd frame start ads
-+#define S3C2440_CAM_REG_CICOCRSA2           (0x40) // Cr 3 rd frame start ads
-+#define S3C2440_CAM_REG_CICOCRSA3           (0x44) // Cr 4 th frame start ads
-+#define S3C2440_CAM_REG_CICOTRGFMT          (0x48) // Target img format of codec
-+#define S3C2440_CAM_REG_CICOCTRL            (0x4C) // Codec DMA control related
-+#define S3C2440_CAM_REG_CICOSCPRERATIO      (0x50) // Codec pre-scaler ratio
-+#define S3C2440_CAM_REG_CICOSCPREDST        (0x54) // Codec pre-scaler dest
-+#define S3C2440_CAM_REG_CICOSCCTRL          (0x58) // Codec main-scaler control
-+#define S3C2440_CAM_REG_CICOTAREA           (0x5C) // Codec pre-scaler dest
-+#define S3C2440_CAM_REG_CICOSTATUS          (0x64) // Codec path status
-+#define S3C2440_CAM_REG_CIPRCLRSA0          (0x6C) // RGB 1 st frame start ads
-+#define S3C2440_CAM_REG_CIPRCLRSA1          (0x70) // RGB 2 nd frame start ads
-+#define S3C2440_CAM_REG_CIPRCLRSA2          (0x74) // RGB 3 rd frame start ads
-+#define S3C2440_CAM_REG_CIPRCLRSA3          (0x78) // RGB 4 th frame start ads
-+#define S3C2440_CAM_REG_CIPRTRGFMT          (0x7C) // Target img fmt of preview
-+#define S3C2440_CAM_REG_CIPRCTRL            (0x80) // Preview DMA ctl related
-+#define S3C2440_CAM_REG_CIPRSCPRERATIO      (0x84) // Preview pre-scaler ratio
-+#define S3C2440_CAM_REG_CIPRSCPREDST        (0x88) // Preview pre-scaler dest
-+#define S3C2440_CAM_REG_CIPRSCCTRL          (0x8C) // Preview main-scaler ctl
-+#define S3C2440_CAM_REG_CIPRTAREA           (0x90) // Preview pre-scaler dest
-+#define S3C2440_CAM_REG_CIPRSTATUS          (0x98) // Preview path status
-+#define S3C2440_CAM_REG_CIIMGCPT            (0xA0) // Image capture enable cmd
-+
-+#define S3C2440_CAM_REG_CICOYSA(__x)        (0x18 + (__x)*4 )
-+#define S3C2440_CAM_REG_CICOCBSA(__x)       (0x28 + (__x)*4 )
-+#define S3C2440_CAM_REG_CICOCRSA(__x)       (0x38 + (__x)*4 )
-+#define S3C2440_CAM_REG_CIPRCLRSA(__x)      (0x6C + (__x)*4 )
-+
-+/* CISRCFMT BitField */
-+#define SRCFMT_ITU601       BIT31
-+#define SRCFMT_ITU656       0
-+#define SRCFMT_UVOFFSET_128 BIT30
-+#define fCAM_SIZE_H         Fld(13, 16)
-+#define fCAM_SIZE_V         Fld(13, 0)
-+#define SOURCE_HSIZE(x)     FInsrt((x), fCAM_SIZE_H)
-+#define SOURCE_VSIZE(x)     FInsrt((x), fCAM_SIZE_V)
-+
-+
-+/* Window Option Register */
-+#define WINOFEN             BIT31
-+#define CO_FIFO_Y           BIT30
-+#define CO_FIFO_CB          BIT15
-+#define CO_FIFO_CR          BIT14
-+#define PR_FIFO_CB          BIT13
-+#define PR_FIFO_CR          BIT12
-+#define fWINHOR             Fld(11, 16)
-+#define fWINVER             Fld(11, 0)
-+#define WINHOROFST(x)       FInsrt((x), fWINHOR)
-+#define WINVEROFST(x)       FInsrt((x), fWINVER)
-+
-+/* Global Control Register */
-+#define GC_SWRST            BIT31
-+#define GC_CAMRST           BIT30
-+#define GC_INVPOLPCLK       BIT26
-+#define GC_INVPOLVSYNC      BIT25
-+#define GC_INVPOLHREF       BIT24
-+
-+/*--------------------------------------------------
-+                REGISTER BIT FIELD DEFINITION TO 
-+                          YCBCR and RGB 
-+----------------------------------------------------*/
-+/* Codec Target Format Register */
-+#define IN_YCBCR420         0
-+#define IN_YCBCR422         BIT31
-+#define OUT_YCBCR420        0
-+#define OUT_YCBCR422        BIT30
-+
-+#if 0
-+#define FLIP_NORMAL       0
-+#define FLIP_X              (BIT14)
-+#define FLIP_Y              (BIT15)
-+#define FLIP_MIRROR         (BIT14|BIT15)
-+#endif
-+
-+/**  BEGIN    ************************************/
-+/* Cotents: Common in both P and C port          */
-+#define fTARGET_HSIZE       Fld(13,16)
-+#define TARGET_HSIZE(x)     FInsrt((x), fTARGET_HSIZE)
-+#define fTARGET_VSIZE       Fld(13,0)
-+#define TARGET_VSIZE(x)     FInsrt((x), fTARGET_VSIZE)
-+#define FLIP_X_MIRROR       BIT14           
-+#define FLIP_Y_MIRROR       BIT15           
-+#define FLIP_180_MIRROR     (BIT14 | BIT15) 
-+/**  END     *************************************/
-+
-+/* Codec DMA Control Register */
-+#define fYBURST_M           Fld(5,19)
-+#define fYBURST_R           Fld(5,14)
-+#define fCBURST_M           Fld(5,9)
-+#define fCBURST_R           Fld(5,4)
-+#define YBURST_M(x)         FInsrt((x), fYBURST_M)
-+#define CBURST_M(x)         FInsrt((x), fCBURST_M)
-+#define YBURST_R(x)         FInsrt((x), fYBURST_R)
-+#define CBURST_R(x)         FInsrt((x), fCBURST_R)
-+#define LAST_IRQ_EN         BIT2              /* Common in both P and C port */
-+/*
-+ *  Check the done signal of capturing image for JPEG 
-+ *  !!! AutoClear Bit 
-+ */
-+
-+
-+/* (Codec, Preview ) Pre-Scaler Control Register 1 */
-+#define fSHIFT              Fld(4,28)
-+#define PRE_SHIFT(x)        FInsrt((x), fSHIFT)
-+#define fRATIO_H            Fld(7,16)
-+#define PRE_HRATIO(x)       FInsrt((x), fRATIO_H)
-+#define fRATIO_V            Fld(7,0)
-+#define PRE_VRATIO(x)       FInsrt((x), fRATIO_V)
-+
-+/* (Codec, Preview ) Pre-Scaler Control Register 2*/
-+#define fDST_WIDTH          Fld(12,16)
-+#define fDST_HEIGHT         Fld(12,0)
-+#define PRE_DST_WIDTH(x)    FInsrt((x), fDST_WIDTH)
-+#define PRE_DST_HEIGHT(x)   FInsrt((x), fDST_HEIGHT)
-+
-+
-+/* (Codec, Preview) Main-scaler control Register */
-+#define S_METHOD            BIT31  /* Sampling method only for P-port */
-+#define SCALERSTART         BIT15 
-+/* Codec scaler bypass for upper 2048x2048 
-+   where ImgCptEn_CoSC and ImgCptEn_PrSC should be 0 
-+*/
-+
-+#define SCALERBYPASS        BIT31  
-+#define RGB_FMT24           BIT30
-+#define RGB_FMT16           0
-+
-+/*
-+#define SCALE_UP_H          BIT29
-+#define SCALE_UP_V          BIT28
-+*/
-+
-+#define fMAIN_HRATIO        Fld(9, 16)
-+#define MAIN_HRATIO(x)      FInsrt((x), fMAIN_HRATIO)
-+
-+#define SCALER_START        BIT15
-+
-+#define fMAIN_VRATIO        Fld(9, 0)
-+#define MAIN_VRATIO(x)      FInsrt((x), fMAIN_VRATIO)
-+
-+/* (Codec, Preview ) DMA Target AREA Register */
-+#define fCICOTAREA          Fld(26,0)
-+#define TARGET_DMA_AREA(x)  FInsrt((x), fCICOTAREA)
-+
-+/* Preview DMA Control Register */
-+#define fRGBURST_M          Fld(5,19)
-+#define fRGBURST_R          Fld(5,14)
-+#define RGBURST_M(x)        FInsrt((x), fRGBURST_M)
-+#define RGBURST_R(x)        FInsrt((x), fRGBURST_R)
-+
-+
-+/* (Codec, Preview) Status Register */
-+#define CO_OVERFLOW_Y       BIT31
-+#define CO_OVERFLOW_CB      BIT30
-+#define CO_OVERFLOW_CR      BIT29
-+#define PR_OVERFLOW_CB      BIT31
-+#define PR_OVERFLOW_CR      BIT30
-+
-+#define VSYNC               BIT28
-+
-+#define fFRAME_CNT          Fld(2,26)
-+#define FRAME_CNT(x)        FExtr((x),fFRAME_CNT) 
-+           
-+#define WIN_OFF_EN          BIT25
-+#define fFLIP_MODE          Fld(2,23)
-+#define FLIP_MODE(x)        EExtr((x), fFLIP_MODE)
-+#define CAP_STATUS_CAMIF    BIT22
-+#define CAP_STATUS_CODEC    BIT21
-+#define CAP_STATUS_PREVIEW  BIT21
-+#define VSYNC_A             BIT20
-+#define VSYNC_B             BIT19
-+
-+/* Image Capture Enable Regiser */
-+#define       CAMIF_CAP_ON         BIT31
-+#define CAMIF_CAP_CODEC_ON   BIT30
-+#define CAMIF_CAP_PREVIEW_ON BIT29
-+
-+
-+
-+
-+#endif /* S3C2440_CAMER_H */
-Index: linux-2.6.28/arch/arm/mach-s3c2440/camera/imgsensor.c
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28/arch/arm/mach-s3c2440/camera/imgsensor.c      2009-01-02 00:01:56.000000000 +0100
-@@ -0,0 +1,250 @@
-+/*
-+ *  Copyright (C) 2004 Samsung Electronics 
-+ *             SW.LEE <hitchcar@samsung.com>
-+ *
-+ *  Copyright (C) 2000 Russell King : pcf8583.c
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ *  Driver for FIMC20 Camera Decoder 
-+ */
-+
-+
-+#include <linux/module.h>
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/i2c.h>
-+#include <linux/slab.h>
-+#include <linux/string.h>
-+#include <linux/init.h>
-+#include <linux/delay.h>
-+
-+
-+#ifdef CONFIG_ARCH_S3C24A0A
-+#else
-+//#include <asm/arch/S3C2440.h>
-+#endif
-+
-+#define SW_DEBUG
-+#define CONFIG_VIDEO_V4L1_COMPAT
-+#include <linux/videodev.h>
-+#include "camif.h"
-+#include "sensor.h"
-+
-+#ifndef SAMSUNG_SXGA_CAM
-+#include "s5x532_rev36.h"
-+#else
-+#include "sxga.h"
-+#endif
-+
-+static struct i2c_driver s5x532_driver;
-+static camif_gc_t data = {
-+      itu_fmt:      CAMIF_ITU601,
-+      order422:     CAMIF_YCBYCR,
-+      camclk:       24000000,
-+#ifndef SAMSUNG_SXGA_CAM
-+      source_x:     640,
-+      source_y:     480,
-+      win_hor_ofst: 112,
-+      win_ver_ofst: 20,
-+#else
-+      source_x:     1280,
-+      source_y:     1024,
-+      win_hor_ofst: 0,
-+      win_ver_ofst: 0,
-+#endif
-+      polarity_pclk:1,
-+      polarity_href:0,
-+#ifdef CONFIG_ARCH_S3C24A0A
-+      reset_type:CAMIF_EX_RESET_AL, /* Active Low */
-+#else
-+      reset_type:CAMIF_EX_RESET_AH, /* Ref board has inverted signal */
-+#endif
-+      reset_udelay:2000,
-+};
-+
-+#define CAM_ID 0x5a
-+
-+static unsigned short ignore = I2C_CLIENT_END;
-+static unsigned short normal_addr[] = { (CAM_ID>>1), I2C_CLIENT_END };
-+static struct i2c_client_address_data addr_data = {
-+      normal_i2c:             normal_addr,
-+      probe:                  &ignore,
-+      ignore:                 &ignore,
-+};
-+
-+s5x532_t s5x532_regs_mirror[S5X532_REGS];
-+
-+unsigned char 
-+s5x532_read(struct i2c_client *client, unsigned char subaddr)
-+{
-+      int ret;
-+      unsigned char buf[1];
-+      struct i2c_msg msg ={ client->addr, 0, 1, buf};
-+      buf[0] = subaddr;
-+
-+      ret = i2c_transfer(client->adapter,&msg, 1) == 1 ? 0 : -EIO;
-+      if (ret == -EIO) {
-+        printk(" I2C write Error \n");
-+        return -EIO;
-+      }
-+      
-+      msg.flags = I2C_M_RD;
-+      ret = i2c_transfer(client->adapter, &msg, 1) == 1 ? 0 : -EIO;
-+
-+      return buf[0];
-+}
-+
-+
-+static int
-+s5x532_write(struct i2c_client *client,
-+                unsigned char subaddr, unsigned char val)
-+{
-+       unsigned char buf[2];
-+       struct i2c_msg msg = { client->addr, 0, 2, buf};
-+
-+       buf[0]= subaddr;
-+       buf[1]= val;
-+
-+       return i2c_transfer(client->adapter, &msg, 1) == 1 ? 0 : -EIO;
-+}
-+
-+void inline s5x532_init(struct i2c_client *sam_client)
-+{
-+      int i;
-+
-+      printk(KERN_ERR "s5x532_init  \n");
-+      for (i = 0; i < S5X532_INIT_REGS; i++) {
-+              s5x532_write(sam_client,
-+                            s5x532_reg[i].subaddr, s5x532_reg[i].value );
-+      }
-+
-+#ifdef YOU_WANT_TO_CHECK_IMG_SENSOR 
-+      for (i = 0; i < S5X532_INIT_REGS;i++) {
-+              if ( s5x532_reg[i].subaddr == PAGE_ADDRESS ) { 
-+                      s5x532_write(sam_client,
-+                            s5x532_reg[i].subaddr, s5x532_reg[i].value);
-+
-+                      printk(KERN_ERR "Page: Subaddr %02x = 0x%02x\n", 
-+                             s5x532_reg[i].subaddr, s5x532_regs_mirror[i].value);
-+      
-+
-+              } else 
-+              {      
-+                      s5x532_regs_mirror[i].subaddr = s5x532_reg[i].subaddr; 
-+                      s5x532_regs_mirror[i].value = 
-+                      s5x532_read(sam_client,s5x532_reg[i].subaddr);
-+                      printk(KERN_ERR "Subaddr %02x = 0x%02x\n", 
-+                             s5x532_reg[i].subaddr, s5x532_regs_mirror[i].value);
-+              }
-+      }
-+#endif
-+       
-+}
-+
-+static int
-+s5x532_attach(struct i2c_adapter *adap, int addr, int kind)
-+{
-+      struct i2c_client *c;
-+
-+      c = kmalloc(sizeof(*c), GFP_KERNEL);
-+      if (!c) return -ENOMEM;
-+
-+      strcpy(c->name, "S5X532");
-+//    c->id           = s5x532_driver.id;
-+      c->flags        = 0 /* I2C_CLIENT_ALLOW_USE */;
-+      c->addr         = addr;
-+      c->adapter      = adap;
-+      c->driver       = &s5x532_driver;
-+      data.sensor     = c;
-+      i2c_set_clientdata(c, &data);
-+
-+      camif_register_decoder(c);
-+      return i2c_attach_client(c);
-+}
-+
-+static int s5x532_probe(struct i2c_adapter *adap)
-+{ 
-+      return i2c_probe(adap, &addr_data, s5x532_attach);
-+}
-+
-+static int s5x532_detach(struct i2c_client *client)
-+{
-+      i2c_detach_client(client);
-+      camif_unregister_decoder(client);
-+      return 0;
-+}
-+
-+static int
-+s5x532_command(struct i2c_client *client, unsigned int cmd, void *arg)
-+{
-+        switch (cmd) {
-+        case SENSOR_INIT:
-+                 s5x532_init(client);
-+               printk(KERN_INFO "CAMERA: S5X532 Sensor initialized\n");
-+               break;
-+      case USER_ADD:
-+              /* MOD_INC_USE_COUNT; uh.. 2.6 deals with this, old-timer */
-+              break;
-+      case USER_EXIT:
-+              /* MOD_DEC_USE_COUNT; */
-+              break;
-+/* Todo
-+      case SENSOR_BRIGHTNESS:
-+              change_sensor();
-+              break;
-+*/
-+      default:        
-+              panic("Unexpect Sensor Command \n");
-+