diff -Nru linux-2.6.10/arch/arm/kernel/calls.S linux-2.6.10-h1940/arch/arm/kernel/calls.S
--- linux-2.6.10/arch/arm/kernel/calls.S	2004-12-24 21:35:49.000000000 +0000
+++ linux-2.6.10-h1940/arch/arm/kernel/calls.S	2004-12-31 09:12:23.000000000 +0000
@@ -236,7 +236,7 @@
 		.long	sys_mincore
 /* 220 */	.long	sys_madvise
 		.long	sys_fcntl64
-		.long	sys_ni_syscall /* TUX */
+		.long	sys_mhelper
 		.long	sys_ni_syscall
 		.long	sys_gettid
 /* 225 */	.long	sys_readahead
diff -Nru linux-2.6.10/arch/arm/mach-s3c2410/devs.c linux-2.6.10-h1940/arch/arm/mach-s3c2410/devs.c
--- linux-2.6.10/arch/arm/mach-s3c2410/devs.c	2004-12-24 21:34:26.000000000 +0000
+++ linux-2.6.10-h1940/arch/arm/mach-s3c2410/devs.c	2004-12-31 09:12:33.000000000 +0000
@@ -27,7 +27,7 @@
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
-
+#include <asm/arch/s3c2410fb.h>
 #include <asm/hardware.h>
 #include <asm/io.h>
 #include <asm/irq.h>
@@ -72,6 +72,15 @@
 
 /* LCD Controller */
 
+static struct s3c2410fb_mach_info s3c2410fb_info;
+
+void __init set_s3c2410fb_info(struct s3c2410fb_mach_info *hard_s3c2410fb_info)
+{
+	memcpy(&s3c2410fb_info,hard_s3c2410fb_info,sizeof(struct s3c2410fb_mach_info));
+}
+EXPORT_SYMBOL(set_s3c2410fb_info);
+
+
 static struct resource s3c_lcd_resource[] = {
 	[0] = {
 		.start = S3C2410_PA_LCD,
@@ -94,6 +103,7 @@
 	.num_resources	  = ARRAY_SIZE(s3c_lcd_resource),
 	.resource	  = s3c_lcd_resource,
 	.dev              = {
+ 		.platform_data	= &s3c2410fb_info,
 		.dma_mask = &s3c_device_lcd_dmamask,
 		.coherent_dma_mask = 0xffffffffUL
 	}
diff -Nru linux-2.6.10/arch/arm/mach-s3c2410/mach-h1940.c linux-2.6.10-h1940/arch/arm/mach-s3c2410/mach-h1940.c
--- linux-2.6.10/arch/arm/mach-s3c2410/mach-h1940.c	2004-12-24 21:35:24.000000000 +0000
+++ linux-2.6.10-h1940/arch/arm/mach-s3c2410/mach-h1940.c	2005-01-18 12:34:30.000000000 +0000
@@ -28,6 +28,7 @@
 #include <linux/list.h>
 #include <linux/timer.h>
 #include <linux/init.h>
+#include <linux/device.h>
 
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
@@ -41,6 +42,8 @@
 
 //#include <asm/debug-ll.h>
 #include <asm/arch/regs-serial.h>
+#include <asm/arch/regs-gpio.h>
+#include <asm/arch/s3c2410fb.h>
 
 #include <linux/serial_core.h>
 
@@ -83,8 +86,132 @@
 	}
 };
 
+/**
+ * Set lcd on or off
+ **/
+static void h1940_lcd_power(int on)
+{
+	s3c2410_gpio_setpin(S3C2410_GPC0, on);
+}
+
+/**
+ * Set the backlight on or off.
+ **/
+static void h1940_backlight_power(int on)
+{
+	s3c2410_gpio_setpin(S3C2410_GPB0, 0);
+	s3c2410_gpio_pullup(S3C2410_GPB0, 0);
+
+	s3c2410_gpio_cfgpin(S3C2410_GPB0,
+			    (on) ? S3C2410_GPB0_TOUT0 : S3C2410_GPB0_OUTP);
+}
+
+/* Set the backlight pwm according to the level from wince */
 
+#include <asm/arch/regs-timer.h>
+static void h1940_set_brightness(int level)
+{
+	unsigned long tcfg0;
+	unsigned long tcfg1;
+	unsigned long tcmpb0=0x00;
+	unsigned long tcon;
+
+	/* configure power on/off */
+	h1940_backlight_power(level ? 1 : 0);
+
+	switch (level)
+	{
+		case 0:
+			break;
+		case 1:
+			tcmpb0=0x0b;
+			break;
+		default:
+		case 2:
+			tcmpb0=0x16;
+			break;	
+		case 3:
+			tcmpb0=0x21;
+			break;	
+		case 4:
+			tcmpb0=0x2c;
+			break;
+	}
+	
+	tcfg0=__raw_readl(S3C2410_TCFG0);
+	tcfg1=__raw_readl(S3C2410_TCFG1);
+	
+	tcfg0 &= ~S3C2410_TCFG_PRESCALER0_MASK;
+	tcfg0 |= 0x18;
+
+	tcfg1 &= ~S3C2410_TCFG1_MUX0_MASK;
+	tcfg1 |= S3C2410_TCFG1_MUX0_DIV2;
+
+	__raw_writel(tcfg0, S3C2410_TCFG0);
+	__raw_writel(tcfg1, S3C2410_TCFG1);
+	__raw_writel(0x31, S3C2410_TCNTB(0));
+
+	tcon = __raw_readl(S3C2410_TCON);
+	tcon &= ~0x0F;
+	tcon |= S3C2410_TCON_T0RELOAD;
+	tcon |= S3C2410_TCON_T0MANUALUPD;
+
+	__raw_writel(tcon, S3C2410_TCON);
+	__raw_writel(0x31, S3C2410_TCNTB(0));
+	__raw_writel(tcmpb0, S3C2410_TCMPB(0));
+
+	/* start the timer running */
+	tcon |= S3C2410_TCON_T0START;
+	tcon &= ~S3C2410_TCON_T0MANUALUPD;
+	__raw_writel(tcon, S3C2410_TCON);
+}
 
+#include <asm/arch/regs-lcd.h>
+
+static struct s3c2410fb_mach_info h1940_lcdcfg = {
+	.lcdcon1=	S3C2410_LCDCON1_TFT16BPP | \
+			S3C2410_LCDCON1_TFT | \
+			S3C2410_LCDCON1_CLKVAL(0x0C),
+	
+	.lcdcon2=	S3C2410_LCDCON2_VBPD(7) | \
+			S3C2410_LCDCON2_LINEVAL(319) | \
+			S3C2410_LCDCON2_VFPD(6) | \
+			S3C2410_LCDCON2_VSPW(0),
+			  
+	.lcdcon3=	S3C2410_LCDCON3_HBPD(19) | \
+			S3C2410_LCDCON3_HOZVAL(239) | \
+			S3C2410_LCDCON3_HFPD(7),
+			  
+	.lcdcon4=	S3C2410_LCDCON4_MVAL(0) | \
+			S3C2410_LCDCON4_HSPW(3),
+	
+	.lcdcon5=	S3C2410_LCDCON5_FRM565 | \
+			S3C2410_LCDCON5_INVVLINE | \
+			S3C2410_LCDCON5_HWSWP,
+	.lpcsel=	0x02,
+	.gpccon=	0xaa940659,
+	.gpccon_mask=	0xffffffff,
+	.gpcup=		0x0000ffff,
+	.gpcup_mask=	0xffffffff,
+	.gpdcon=	0xaa84aaa0,
+	.gpdcon_mask=	0xffffffff,
+	.gpdup=		0x0000faff,
+	.gpdup_mask=	0xffffffff,
+
+	.width=		240,
+	.height=	320,
+	.xres=		240,
+	.yres=		320,
+	.bpp=		16,
+
+	.backlight_min		= 0,
+	.backlight_max		= 4,
+	.backlight_default	= 2,
+
+	.lcd_power		= h1940_lcd_power,
+	.backlight_power	= h1940_backlight_power,
+	.set_brightness		= h1940_set_brightness,
+};
 
 static struct platform_device *h1940_devices[] __initdata = {
 	&s3c_device_usb,
@@ -92,6 +219,8 @@
 	&s3c_device_wdt,
 	&s3c_device_i2c,
 	&s3c_device_iis,
+	&s3c_device_sdi,
+	&s3c_device_usbgadget,
 };
 
 static struct s3c24xx_board h1940_board __initdata = {
@@ -112,11 +241,17 @@
 
 }
 
+void __init h1940_init(void)
+{
+	s3c_device_lcd.dev.platform_data = &h1940_lcdcfg;
+}
+		
 MACHINE_START(H1940, "IPAQ-H1940")
      MAINTAINER("Ben Dooks <ben@fluff.org>")
      BOOT_MEM(S3C2410_SDRAM_PA, S3C2410_PA_UART, S3C2410_VA_UART)
      BOOT_PARAMS(S3C2410_SDRAM_PA + 0x100)
      MAPIO(h1940_map_io)
      INITIRQ(h1940_init_irq)
+     INIT_MACHINE(h1940_init)
      .timer		= &s3c2410_timer,
 MACHINE_END
diff -Nru linux-2.6.10/arch/arm/mach-s3c2410/s3c2410.c linux-2.6.10-h1940/arch/arm/mach-s3c2410/s3c2410.c
--- linux-2.6.10/arch/arm/mach-s3c2410/s3c2410.c	2004-12-24 21:34:57.000000000 +0000
+++ linux-2.6.10-h1940/arch/arm/mach-s3c2410/s3c2410.c	2004-12-31 09:12:23.000000000 +0000
@@ -46,8 +46,9 @@
 
 /* Initial IO mappings */
 
-static struct map_desc s3c2410_iodesc[] __initdata = {
+struct map_desc s3c2410_iodesc[] __initdata = {
 	IODESC_ENT(USBHOST),
+	IODESC_ENT(USBDEV),
 	IODESC_ENT(CLKPWR),
 	IODESC_ENT(LCD),
 	IODESC_ENT(UART),
@@ -56,6 +57,8 @@
 	IODESC_ENT(WATCHDOG)
 };
 
+unsigned long s3c2410_iodesc_size = ARRAY_SIZE(s3c2410_iodesc);
+
 static struct resource s3c_uart0_resource[] = {
 	[0] = {
 		.start = S3C2410_PA_UART0,
diff -Nru linux-2.6.10/build linux-2.6.10-h1940/build
--- linux-2.6.10/build	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/build	2005-01-18 12:13:10.000000000 +0000
@@ -0,0 +1,6 @@
+export PATH=/usr/local/arm/3.3.2/bin:$PATH
+make ARCH=arm oldconfig
+make ARCH=arm CC=arm-linux-gcc LD=arm-linux-ld OBJCOPY=arm-linux-objcopy
+#mkdir -p /lib/modules/2.6.10-h1940
+#make ARCH=arm CC=arm-linux-gcc LD=arm-linux-ld OBJCOPY=arm-linux-objcopy install
+#make ARCH=arm CC=arm-linux-gcc LD=arm-linux-ld OBJCOPY=arm-linux-objcopy modules_install
diff -Nru linux-2.6.10/.config linux-2.6.10-h1940/.config
--- linux-2.6.10/.config	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/.config	2005-01-18 13:15:57.000000000 +0000
@@ -0,0 +1,855 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.10-h1940
+# Tue Jan 18 13:15:57 2005
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_UID16=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_IOMAP=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_LOG_BUF_SHIFT=16
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+# CONFIG_EMBEDDED is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+
+#
+# Loadable module support
+#
+# CONFIG_MODULES is not set
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_CAMELOT is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 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_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+
+#
+# S3C24XX Implementations
+#
+# CONFIG_ARCH_BAST is not set
+CONFIG_ARCH_H1940=y
+# CONFIG_ARCH_SMDK2410 is not set
+# CONFIG_MACH_VR1000 is not set
+# CONFIG_MACH_RX3715 is not set
+CONFIG_CPU_S3C2410=y
+
+#
+# S3C2410 Setup
+#
+CONFIG_S3C2410_DMA=y
+# CONFIG_S3C2410_DMA_DEBUG is not set
+# CONFIG_S3C2410_PM_DEBUG is not set
+# CONFIG_S3C2410_PM_CHECK is not set
+CONFIG_S3C2410_LOWLEVEL_UART_PORT=0
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_ARM920T=y
+CONFIG_CPU_32v4=y
+CONFIG_CPU_ABRT_EV4T=y
+CONFIG_CPU_CACHE_V4WT=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+# CONFIG_ARM_THUMB is not set
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+
+#
+# General setup
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+# CONFIG_XIP_KERNEL is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# PC-card bridges
+#
+
+#
+# At least one math emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+# CONFIG_DEBUG_DRIVER is not set
+CONFIG_PM=y
+CONFIG_PREEMPT=y
+CONFIG_APM=y
+# CONFIG_ARTHUR is not set
+CONFIG_CMDLINE="rw root=/dev/ram console=tty0 console=ttySAC2,115200n8 panic=30"
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_FTL=y
+CONFIG_NFTL=y
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=y
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+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 is not set
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA 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_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# CONFIG_MTD_EDB7312 is not set
+# CONFIG_MTD_IMPA7 is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD 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
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+CONFIG_MTD_NAND_IDS=y
+CONFIG_MTD_NAND_S3C2410=y
+CONFIG_MTD_NAND_S3C2410_DEBUG=y
+# CONFIG_MTD_NAND_S3C2410_HWECC is not set
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_DEV_LOOP 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=4096
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_CDROM_PKTCDVD is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Networking support
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_NETLINK_DEV=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_TUNNEL is not set
+# CONFIG_IP_TCPDIAG is not set
+# CONFIG_IP_TCPDIAG_IPV6 is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETFILTER is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+# CONFIG_NET_CLS_ROUTE is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_IRDA=y
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=y
+# CONFIG_IRCOMM is not set
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+CONFIG_IRDA_DEBUG=y
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=y
+
+#
+# Dongle support
+#
+# CONFIG_DONGLE is not set
+
+#
+# Old SIR device drivers
+#
+# CONFIG_IRPORT_SIR is not set
+
+#
+# Old Serial dongle support
+#
+
+#
+# FIR device drivers
+#
+# CONFIG_BT is not set
+CONFIG_NETDEVICES=y
+CONFIG_DUMMY=y
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_ETHERTAP is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+# CONFIG_NET_ETHERNET is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+# CONFIG_NET_RADIO is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_SCSI is not set
+
+#
+# Fusion MPT device support
+#
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=320
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+# CONFIG_INPUT_EVDEV is not set
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input I/O drivers
+#
+# CONFIG_GAMEPORT is not set
+CONFIG_SOUND_GAMEPORT=y
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_RAW is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_H1940=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_S3C2410=y
+CONFIG_SERIAL_S3C2410_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=128
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_RTC is not set
+CONFIG_S3C2410_RTC=y
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# I2C support
+#
+# CONFIG_I2C is not set
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+# CONFIG_EXT2_FS_POSIX_ACL is not set
+# CONFIG_EXT2_FS_SECURITY is not set
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_XFS_FS is not set
+CONFIG_MINIX_FS=y
+CONFIG_ROMFS_FS=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+CONFIG_AUTOFS_FS=y
+CONFIG_AUTOFS4_FS=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=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_SYSFS=y
+CONFIG_DEVFS_FS=y
+# CONFIG_DEVFS_MOUNT is not set
+CONFIG_DEVFS_DEBUG=y
+# CONFIG_DEVPTS_FS_XATTR is not set
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_XATTR is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+
+#
+# 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_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_NAND=y
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=y
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+# CONFIG_EXPORTFS is not set
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_RPCSEC_GSS_SPKM3 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=y
+CONFIG_LDM_DEBUG=y
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+CONFIG_EFI_PARTITION=y
+
+#
+# Native Language Support
+#
+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=y
+# 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=y
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_UTF8 is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+CONFIG_FB_S3C2410=y
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 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_CLEAN_4x6 is not set
+CONFIG_FONT_CLEAN_5x8=y
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+
+#
+# Logo configuration
+#
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# Misc devices
+#
+
+#
+# USB support
+#
+# CONFIG_USB is not set
+CONFIG_USB_ARCH_HAS_HCD=y
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_PXA2XX is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_SA1100 is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+CONFIG_USB_GADGET_S3C2410=y
+CONFIG_USB_S3C2410=y
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_ETH=y
+# CONFIG_USB_ETH_RNDIS is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FILE_STORAGE is not set
+# CONFIG_USB_G_SERIAL is not set
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+CONFIG_MMC_DEBUG=y
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_S3C2410=y
+# CONFIG_MMC_WBSD is not set
+
+#
+# Kernel hacking
+#
+CONFIG_DEBUG_KERNEL=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+CONFIG_FRAME_POINTER=y
+CONFIG_DEBUG_USER=y
+# CONFIG_DEBUG_WAITQ is not set
+# CONFIG_DEBUG_ERRORS is not set
+CONFIG_DEBUG_LL=y
+# CONFIG_DEBUG_ICEDCC is not set
+# CONFIG_DEBUG_S3C2410_PORT is not set
+CONFIG_DEBUG_S3C2410_UART=0
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_WP512 is not set
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=y
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff -Nru linux-2.6.10/.config.old linux-2.6.10-h1940/.config.old
--- linux-2.6.10/.config.old	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/.config.old	2005-01-18 13:15:45.000000000 +0000
@@ -0,0 +1,857 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.10-h1940
+# Tue Jan 18 12:50:36 2005
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_UID16=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_IOMAP=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_LOG_BUF_SHIFT=16
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+# CONFIG_EMBEDDED is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+
+#
+# Loadable module support
+#
+# CONFIG_MODULES is not set
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_CAMELOT is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 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_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+
+#
+# S3C24XX Implementations
+#
+# CONFIG_ARCH_BAST is not set
+CONFIG_ARCH_H1940=y
+# CONFIG_ARCH_SMDK2410 is not set
+# CONFIG_MACH_VR1000 is not set
+# CONFIG_MACH_RX3715 is not set
+CONFIG_CPU_S3C2410=y
+
+#
+# S3C2410 Setup
+#
+CONFIG_S3C2410_DMA=y
+# CONFIG_S3C2410_DMA_DEBUG is not set
+# CONFIG_S3C2410_PM_DEBUG is not set
+# CONFIG_S3C2410_PM_CHECK is not set
+CONFIG_S3C2410_LOWLEVEL_UART_PORT=0
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_ARM920T=y
+CONFIG_CPU_32v4=y
+CONFIG_CPU_ABRT_EV4T=y
+CONFIG_CPU_CACHE_V4WT=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+# CONFIG_ARM_THUMB is not set
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+
+#
+# General setup
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+# CONFIG_XIP_KERNEL is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# PC-card bridges
+#
+
+#
+# At least one math emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+# CONFIG_DEBUG_DRIVER is not set
+CONFIG_PM=y
+CONFIG_PREEMPT=y
+CONFIG_APM=y
+# CONFIG_ARTHUR is not set
+CONFIG_CMDLINE="rw root=/dev/ram console=tty0 console=ttySAC2,115200n8 panic=30"
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_FTL=y
+CONFIG_NFTL=y
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=y
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+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 is not set
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA 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_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# CONFIG_MTD_EDB7312 is not set
+# CONFIG_MTD_IMPA7 is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD 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
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+CONFIG_MTD_NAND_IDS=y
+CONFIG_MTD_NAND_S3C2410=y
+CONFIG_MTD_NAND_S3C2410_DEBUG=y
+# CONFIG_MTD_NAND_S3C2410_HWECC is not set
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_DEV_LOOP 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=4096
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_CDROM_PKTCDVD is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Networking support
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_NETLINK_DEV=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_TUNNEL is not set
+# CONFIG_IP_TCPDIAG is not set
+# CONFIG_IP_TCPDIAG_IPV6 is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETFILTER is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+# CONFIG_NET_CLS_ROUTE is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_IRDA=y
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=y
+# CONFIG_IRCOMM is not set
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+CONFIG_IRDA_DEBUG=y
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=y
+
+#
+# Dongle support
+#
+# CONFIG_DONGLE is not set
+
+#
+# Old SIR device drivers
+#
+# CONFIG_IRPORT_SIR is not set
+
+#
+# Old Serial dongle support
+#
+
+#
+# FIR device drivers
+#
+# CONFIG_BT is not set
+CONFIG_NETDEVICES=y
+CONFIG_DUMMY=y
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_ETHERTAP is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+# CONFIG_NET_ETHERNET is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+# CONFIG_NET_RADIO is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_SCSI is not set
+
+#
+# Fusion MPT device support
+#
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=320
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+# CONFIG_INPUT_EVDEV is not set
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input I/O drivers
+#
+# CONFIG_GAMEPORT is not set
+CONFIG_SOUND_GAMEPORT=y
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_RAW is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_H1940=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_S3C2410=y
+CONFIG_SERIAL_S3C2410_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=128
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_RTC is not set
+CONFIG_S3C2410_RTC=y
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# I2C support
+#
+# CONFIG_I2C is not set
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+# CONFIG_EXT2_FS_POSIX_ACL is not set
+# CONFIG_EXT2_FS_SECURITY is not set
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_XFS_FS is not set
+CONFIG_MINIX_FS=y
+CONFIG_ROMFS_FS=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+CONFIG_AUTOFS_FS=y
+CONFIG_AUTOFS4_FS=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=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_SYSFS=y
+CONFIG_DEVFS_FS=y
+# CONFIG_DEVFS_MOUNT is not set
+CONFIG_DEVFS_DEBUG=y
+# CONFIG_DEVPTS_FS_XATTR is not set
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_XATTR is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+
+#
+# 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_JFFS_FS=n
+CONFIG_JFFS_FS_VERBOSE=0
+# CONFIG_JFFS_PROC_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_NAND=y
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=y
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+# CONFIG_EXPORTFS is not set
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_RPCSEC_GSS_SPKM3 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=y
+CONFIG_LDM_DEBUG=y
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+CONFIG_EFI_PARTITION=y
+
+#
+# Native Language Support
+#
+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=y
+# 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=y
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_UTF8 is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+CONFIG_FB_S3C2410=y
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 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_CLEAN_4x6 is not set
+CONFIG_FONT_CLEAN_5x8=y
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+
+#
+# Logo configuration
+#
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# Misc devices
+#
+
+#
+# USB support
+#
+# CONFIG_USB is not set
+CONFIG_USB_ARCH_HAS_HCD=y
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_PXA2XX is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_SA1100 is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+CONFIG_USB_GADGET_S3C2410=y
+CONFIG_USB_S3C2410=y
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_ETH=y
+# CONFIG_USB_ETH_RNDIS is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FILE_STORAGE is not set
+# CONFIG_USB_G_SERIAL is not set
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+CONFIG_MMC_DEBUG=y
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_S3C2410=y
+# CONFIG_MMC_WBSD is not set
+
+#
+# Kernel hacking
+#
+CONFIG_DEBUG_KERNEL=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+CONFIG_FRAME_POINTER=y
+CONFIG_DEBUG_USER=y
+# CONFIG_DEBUG_WAITQ is not set
+# CONFIG_DEBUG_ERRORS is not set
+CONFIG_DEBUG_LL=y
+# CONFIG_DEBUG_ICEDCC is not set
+# CONFIG_DEBUG_S3C2410_PORT is not set
+CONFIG_DEBUG_S3C2410_UART=0
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_WP512 is not set
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=y
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff -Nru linux-2.6.10/drivers/input/touchscreen/h1940ts.c linux-2.6.10-h1940/drivers/input/touchscreen/h1940ts.c
--- linux-2.6.10/drivers/input/touchscreen/h1940ts.c	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/drivers/input/touchscreen/h1940ts.c	2004-12-31 09:12:29.000000000 +0000
@@ -0,0 +1,234 @@
+/*
+ * Copyright (c) 2004 Arnaud Patard <arnaud.patard@rtp-net.org>
+ * iPAQ H1940 touchscreen support
+ *
+ * ChangeLog
+ *
+ * 2004-09-05: Herbert PĆ¶tzl <herbert@13thfloor.at>
+ *	- added clock (de-)allocation code
+ *
+ */
+/*
+ * 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/errno.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/slab.h>
+#include <linux/input.h>
+#include <linux/init.h>
+#include <linux/serio.h>
+#include <linux/delay.h>
+#include <asm/io.h>
+#include <asm/irq.h>
+
+#include <asm/arch/regs-adc.h>
+#include <asm/hardware/clock.h>
+
+MODULE_AUTHOR("Arnaud Patard <arnaud.patard@rtp-net.org>");
+MODULE_DESCRIPTION("h1940 touchscreen driver");
+MODULE_LICENSE("GPL");
+
+#undef	KERN_DEBUG
+#define	KERN_DEBUG	"ts: "
+
+/*
+ * Definitions & global arrays.
+ */
+
+
+static char *h1940ts_name = "h1940 TouchScreen";
+
+/*
+ * Per-touchscreen data.
+ */
+
+struct h1940ts {
+	struct input_dev dev;
+	long xp;
+	long yp;
+	char phys[32];
+};
+
+static struct h1940ts ts;
+
+static irqreturn_t stylus_down(int irq, void *dev_id, struct pt_regs *regs)
+{
+	unsigned long adctsc;
+	unsigned long adccon;
+	unsigned long data0;
+	unsigned long data1;
+	disable_irq(IRQ_TC);
+	
+	adccon = __raw_readl(S3C2410_ADCCON);
+	adctsc = __raw_readl(S3C2410_ADCTSC);
+	data0  = __raw_readl(S3C2410_ADCDAT0);
+	data1  = __raw_readl(S3C2410_ADCDAT1);
+
+
+	printk(KERN_DEBUG "stylus down\n");
+	// BUG_ON(1);
+
+	/* start X conversion */
+	adctsc &= ~0x07;
+	adctsc |= 1;
+	__raw_writel(adctsc,S3C2410_ADCTSC);
+	__raw_writel(adccon|1,S3C2410_ADCCON);
+
+	enable_irq(IRQ_TC);
+	return IRQ_HANDLED;
+}
+
+
+static irqreturn_t stylus_action(int irq, void *dev_id, struct pt_regs *regs)
+{
+	unsigned long adccon;
+	unsigned long data0;
+	unsigned long data1;
+	unsigned long adctsc;
+	
+	disable_irq(IRQ_ADC);
+
+	adccon = __raw_readl(S3C2410_ADCCON);
+	adctsc = __raw_readl(S3C2410_ADCTSC);
+
+	switch(adctsc & 3)
+	{
+	case 1: /* X conversion ended, starts Y conversion */
+		adctsc &= ~0x07;
+		adctsc |= 2;
+		__raw_writel(adctsc,S3C2410_ADCTSC);
+		data0  = __raw_readl(S3C2410_ADCDAT0);
+		ts.xp=data0&0x3FF;
+		printk(KERN_DEBUG "X : %ld, U/D: %ld\n",data0&0x3FF,data0>>15);
+		__raw_writel(adccon|1,S3C2410_ADCCON);
+		break;
+	case 2:
+		adctsc &= ~0x07;
+		adctsc |= 3;
+		__raw_writel(adctsc,S3C2410_ADCTSC);
+		data1  = __raw_readl(S3C2410_ADCDAT1);
+		ts.yp = data1&0x3FF;
+		printk(KERN_DEBUG "Y : %ld, U/D: %ld\n",data1&0x3FF,data1>>15);
+		input_report_abs(&ts.dev, ABS_X, ts.xp);
+		input_report_abs(&ts.dev, ABS_Y, ts.yp);
+		input_report_key(&ts.dev, BTN_TOUCH, 1);
+		input_sync(&ts.dev);
+
+		/* if stylus down, starts X conversion */
+		if (!(data1>>15))
+		{
+			adctsc &= ~0x07;
+			adctsc |= 1;
+			__raw_writel(adctsc,S3C2410_ADCTSC);
+			__raw_writel(adccon|1,S3C2410_ADCCON);
+		}
+		break;
+	default:
+		break;
+	}
+
+	enable_irq(IRQ_ADC);
+	return IRQ_HANDLED;
+}
+
+
+static struct clk	*adc_clock;
+
+/*
+ * The functions for inserting/removing us as a module.
+ */
+
+int __init h1940ts_init(void)
+{
+	
+	printk(KERN_DEBUG "Entering h1940ts_connect\n");
+
+	adc_clock = clk_get(NULL, "adc");
+	if (!adc_clock) {
+		printk(KERN_ERR "failed to get adc clock source\n");
+		return -ENOENT;
+	}
+	clk_use(adc_clock);
+	clk_enable(adc_clock);
+	printk(KERN_INFO "got and enabled clock\n");
+
+	/* probably not required */
+	msleep(10);
+
+	/* Initialise registers */
+	__raw_writel(0xcc78,  S3C2410_ADCCON);
+	__raw_writel(  0xD3,  S3C2410_ADCTSC);
+	__raw_writel(0x2710,  S3C2410_ADCDLY);
+	__raw_writel(0xb1b4, S3C2410_ADCDAT0);
+	__raw_writel(0xb24c, S3C2410_ADCDAT1);
+
+	
+	memset(&ts, 0, sizeof(struct h1940ts));
+
+	init_input_dev(&ts.dev);
+	ts.dev.evbit[0] = BIT(EV_KEY) | BIT(EV_ABS);
+	ts.dev.keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH);
+/*	input_set_abs_params(&ts.dev, ABS_X, 0, 0x3FF, 0, 0);
+	input_set_abs_params(&ts.dev, ABS_Y, 0, 0x3FF, 0, 0);*/
+
+	sprintf(ts.phys, "ts0");
+
+	ts.dev.private = &ts;
+	ts.dev.name = h1940ts_name;
+	ts.dev.phys = ts.phys;
+	ts.dev.id.bustype = BUS_RS232;
+	ts.dev.id.vendor = 0xDEAD;
+	ts.dev.id.product = 0xBEEF;
+	ts.dev.id.version = 0x0100;
+
+	if (request_irq(IRQ_ADC, stylus_action, SA_SAMPLE_RANDOM,
+		"h1940_action", &ts.dev)) {
+		printk(KERN_ERR "h1940ts.c: Could not allocate ts IRQ_ADC !\n");
+		return -EIO;
+	}
+	if (request_irq(IRQ_TC, stylus_down, SA_SAMPLE_RANDOM,
+			"h1940_action", &ts.dev)) {
+		printk(KERN_ERR "h1940ts.c: Could not allocate ts IRQ_TC !\n");
+		return -EIO;
+	}
+
+	printk(KERN_DEBUG "input: %s on ts0\n", h1940ts_name);
+
+	input_register_device(&ts.dev);
+	return 0;
+}
+
+void __exit h1940ts_exit(void)
+{
+	disable_irq(IRQ_ADC);
+	disable_irq(IRQ_TC);
+	free_irq(IRQ_TC,&ts.dev);
+	free_irq(IRQ_ADC,&ts.dev);
+
+	if (adc_clock) {
+		clk_disable(adc_clock);
+		clk_unuse(adc_clock);
+		clk_put(adc_clock);
+		adc_clock = NULL;
+	}
+	
+	input_unregister_device(&ts.dev);
+}
+
+module_init(h1940ts_init);
+module_exit(h1940ts_exit);
diff -Nru linux-2.6.10/drivers/input/touchscreen/Kconfig linux-2.6.10-h1940/drivers/input/touchscreen/Kconfig
--- linux-2.6.10/drivers/input/touchscreen/Kconfig	2004-12-24 21:34:45.000000000 +0000
+++ linux-2.6.10-h1940/drivers/input/touchscreen/Kconfig	2004-12-31 09:12:29.000000000 +0000
@@ -22,6 +22,19 @@
 	  To compile this driver as a module, choose M here: the
 	  module will be called h3600_ts_input.
 
+config TOUCHSCREEN_H1940
+	tristate "HP iPAQ H1940 touchscreen input driver"
+	depends on ARCH_H1940 && INPUT && INPUT_TOUCHSCREEN
+	select SERIO
+	help
+	  Say Y here if you have the h1940 touchscreen.
+
+	  If unsure, say N.
+
+	  To compile this driver as a module, choose M here: the
+	  module will be called h1940ts_input.
+
+
 config TOUCHSCREEN_GUNZE
 	tristate "Gunze AHL-51S touchscreen"
 	depends on INPUT && INPUT_TOUCHSCREEN
diff -Nru linux-2.6.10/drivers/input/touchscreen/Makefile linux-2.6.10-h1940/drivers/input/touchscreen/Makefile
--- linux-2.6.10/drivers/input/touchscreen/Makefile	2004-12-24 21:35:28.000000000 +0000
+++ linux-2.6.10-h1940/drivers/input/touchscreen/Makefile	2004-12-31 09:12:29.000000000 +0000
@@ -4,5 +4,7 @@
 
 # Each configuration option enables a list of files.
 
+
 obj-$(CONFIG_TOUCHSCREEN_BITSY)	+= h3600_ts_input.o
+obj-$(CONFIG_TOUCHSCREEN_H1940)	+= h1940ts.o
 obj-$(CONFIG_TOUCHSCREEN_GUNZE)	+= gunze.o
diff -Nru linux-2.6.10/drivers/mmc/Kconfig linux-2.6.10-h1940/drivers/mmc/Kconfig
--- linux-2.6.10/drivers/mmc/Kconfig	2004-12-24 21:35:50.000000000 +0000
+++ linux-2.6.10-h1940/drivers/mmc/Kconfig	2005-01-17 13:24:15.000000000 +0000
@@ -39,6 +39,15 @@
 
 	  If unsure, say N.
 
+config MMC_S3C2410
+	tristate "Samsung S3C2410 Multimedia Card Interface support"
+	depends on ARCH_S3C2410 && MMC
+	help
+	  This selects the Samsung S3C2410 Multimedia Card Interface 
+	  support. 
+
+	  If unsure, say N.
+
 config MMC_PXA
 	tristate "Intel PXA255 Multimedia Card Interface support"
 	depends on ARCH_PXA && MMC
diff -Nru linux-2.6.10/drivers/mmc/Makefile linux-2.6.10-h1940/drivers/mmc/Makefile
--- linux-2.6.10/drivers/mmc/Makefile	2004-12-24 21:35:01.000000000 +0000
+++ linux-2.6.10-h1940/drivers/mmc/Makefile	2005-01-17 13:24:15.000000000 +0000
@@ -18,5 +18,6 @@
 obj-$(CONFIG_MMC_ARMMMCI)	+= mmci.o
 obj-$(CONFIG_MMC_PXA)		+= pxamci.o
 obj-$(CONFIG_MMC_WBSD)		+= wbsd.o
+obj-$(CONFIG_MMC_S3C2410)	+= s3c2410mci.o
 
 mmc_core-y := mmc.o mmc_queue.o mmc_sysfs.o
diff -Nru linux-2.6.10/drivers/mmc/mmc_block.c linux-2.6.10-h1940/drivers/mmc/mmc_block.c
--- linux-2.6.10/drivers/mmc/mmc_block.c	2004-12-24 21:35:50.000000000 +0000
+++ linux-2.6.10-h1940/drivers/mmc/mmc_block.c	2005-01-17 13:24:16.000000000 +0000
@@ -3,6 +3,9 @@
  *
  * Copyright 2002 Hewlett-Packard Company
  *
+ *  SD-Card support:
+ *    Copyright (C) 2004 Thomas Kleffel, All Rights Reserved
+ *
  * Use consistent with the GNU GPL is permitted,
  * provided that this copyright notice is
  * preserved in its entirety in all copies and derived works.
@@ -30,6 +33,7 @@
 #include <linux/devfs_fs_kernel.h>
 
 #include <linux/mmc/card.h>
+#include <linux/mmc/host.h>
 #include <linux/mmc/protocol.h>
 
 #include <asm/system.h>
@@ -165,11 +169,17 @@
 {
 	struct mmc_blk_data *md = mq->data;
 	struct mmc_card *card = md->queue.card;
+	struct mmc_host *host = md->queue.card->host;
 	int ret;
 
 	if (mmc_card_claim_host(card))
 		goto cmd_err;
 
+	if((card->sd) && (host->flags & MMC_HOST_WIDEMODE) && (card->bus_width != 4)) {
+		if(sd_set_bus_width(host, card->rca, 4)) goto cmd_err;
+		card->bus_width=4;
+	}
+
 	do {
 		struct mmc_blk_request brq;
 		struct mmc_command cmd;
@@ -189,6 +199,9 @@
 		brq.stop.arg = 0;
 		brq.stop.flags = MMC_RSP_R1B;
 
+		if(card->bus_width==4)
+			brq.data.flags |= MMC_DATA_WIDE;
+
 		if (rq_data_dir(req) == READ) {
 			brq.cmd.opcode = brq.data.blocks > 1 ? MMC_READ_MULTIPLE_BLOCK : MMC_READ_SINGLE_BLOCK;
 			brq.data.flags |= MMC_DATA_READ;
@@ -253,7 +266,7 @@
 			/*
 			 * The whole request completed successfully.
 			 */
-			add_disk_randomness(req->rq_disk);
+			//add_disk_randomness(req->rq_disk);
 			blkdev_dequeue_request(req);
 			end_that_request_last(req);
 		}
@@ -336,7 +349,7 @@
 		sprintf(md->disk->disk_name, "mmcblk%d", devidx);
 		sprintf(md->disk->devfs_name, "mmc/blk%d", devidx);
 
-		md->block_bits = card->csd.read_blkbits;
+		md->block_bits = card->csd.read_bl_len;
 
 		blk_queue_hardsect_size(md->queue.queue, 1 << md->block_bits);
 		set_capacity(md->disk, card->csd.capacity);
@@ -353,7 +366,7 @@
 
 	mmc_card_claim_host(card);
 	cmd.opcode = MMC_SET_BLOCKLEN;
-	cmd.arg = 1 << card->csd.read_blkbits;
+	cmd.arg = 1 << card->csd.read_bl_len;
 	cmd.flags = MMC_RSP_R1;
 	err = mmc_wait_for_cmd(card->host, &cmd, 5);
 	mmc_card_release_host(card);
@@ -372,12 +385,12 @@
 	struct mmc_blk_data *md;
 	int err;
 
-	if (card->csd.cmdclass & ~0x1ff)
+	if (card->csd.ccc & ~0x1ff)
 		return -ENODEV;
 
-	if (card->csd.read_blkbits < 9) {
+	if (card->csd.read_bl_len < 9) {
 		printk(KERN_WARNING "%s: read blocksize too small (%u)\n",
-			mmc_card_id(card), 1 << card->csd.read_blkbits);
+			mmc_card_id(card), 1 << card->csd.read_bl_len);
 		return -ENODEV;
 	}
 
@@ -391,7 +404,7 @@
 
 	printk(KERN_INFO "%s: %s %s %dKiB\n",
 		md->disk->disk_name, mmc_card_id(card), mmc_card_name(card),
-		(card->csd.capacity << card->csd.read_blkbits) / 1024);
+		(card->csd.capacity << card->csd.read_bl_len) / 1024);
 
 	mmc_set_drvdata(card, md);
 	add_disk(md->disk);
diff -Nru linux-2.6.10/drivers/mmc/mmc.c linux-2.6.10-h1940/drivers/mmc/mmc.c
--- linux-2.6.10/drivers/mmc/mmc.c	2004-12-24 21:35:50.000000000 +0000
+++ linux-2.6.10-h1940/drivers/mmc/mmc.c	2005-01-17 13:24:16.000000000 +0000
@@ -3,6 +3,9 @@
  *
  *  Copyright (C) 2003-2004 Russell King, All Rights Reserved.
  *
+ *  SD-Card support:
+ *    Copyright (C) 2004 Thomas Kleffel, 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 version 2 as
  * published by the Free Software Foundation.
@@ -172,6 +175,34 @@
 
 EXPORT_SYMBOL(mmc_wait_for_cmd);
 
+static int mmc_send_app_cmd(struct mmc_host *host,  u16 rca)
+{
+	struct mmc_command cmd;
+
+	cmd.opcode = MMC_APP_CMD;
+	cmd.arg =((u32)rca)<<16;
+	cmd.flags = MMC_RSP_R1;
+
+	return mmc_wait_for_cmd(host, &cmd, 0);
+}
+
+int mmc_wait_for_acmd(struct mmc_host *host, u16 rca, struct mmc_command *cmd, int retries)
+{
+	int err;
+
+	do {
+		err = mmc_send_app_cmd(host, rca);
+		if(err != MMC_ERR_NONE) continue;
+
+		err = mmc_wait_for_cmd(host, cmd, 0);
+		if(err == MMC_ERR_NONE) break;
+
+	} while (retries--);
+
+	return err;
+}
+
+
 
 
 /**
@@ -321,48 +352,65 @@
 
 	memset(&card->cid, 0, sizeof(struct mmc_cid));
 
-	/*
-	 * The selection of the format here is guesswork based upon
-	 * information people have sent to date.
-	 */
-	switch (card->csd.mmca_vsn) {
-	case 0: /* MMC v1.? */
-	case 1: /* MMC v1.4 */
-		card->cid.manfid	= UNSTUFF_BITS(resp, 104, 24);
-		card->cid.prod_name[0]	= UNSTUFF_BITS(resp, 96, 8);
-		card->cid.prod_name[1]	= UNSTUFF_BITS(resp, 88, 8);
-		card->cid.prod_name[2]	= UNSTUFF_BITS(resp, 80, 8);
-		card->cid.prod_name[3]	= UNSTUFF_BITS(resp, 72, 8);
-		card->cid.prod_name[4]	= UNSTUFF_BITS(resp, 64, 8);
-		card->cid.prod_name[5]	= UNSTUFF_BITS(resp, 56, 8);
-		card->cid.prod_name[6]	= UNSTUFF_BITS(resp, 48, 8);
-		card->cid.hwrev		= UNSTUFF_BITS(resp, 44, 4);
-		card->cid.fwrev		= UNSTUFF_BITS(resp, 40, 4);
-		card->cid.serial	= UNSTUFF_BITS(resp, 16, 24);
-		card->cid.month		= UNSTUFF_BITS(resp, 12, 4);
-		card->cid.year		= UNSTUFF_BITS(resp, 8, 4) + 1997;
-		break;
-
-	case 2: /* MMC v2.x ? */
-	case 3: /* MMC v3.x ? */
-		card->cid.manfid	= UNSTUFF_BITS(resp, 120, 8);
-		card->cid.oemid		= UNSTUFF_BITS(resp, 104, 16);
-		card->cid.prod_name[0]	= UNSTUFF_BITS(resp, 96, 8);
-		card->cid.prod_name[1]	= UNSTUFF_BITS(resp, 88, 8);
-		card->cid.prod_name[2]	= UNSTUFF_BITS(resp, 80, 8);
-		card->cid.prod_name[3]	= UNSTUFF_BITS(resp, 72, 8);
-		card->cid.prod_name[4]	= UNSTUFF_BITS(resp, 64, 8);
-		card->cid.prod_name[5]	= UNSTUFF_BITS(resp, 56, 8);
-		card->cid.serial	= UNSTUFF_BITS(resp, 16, 32);
-		card->cid.month		= UNSTUFF_BITS(resp, 12, 4);
-		card->cid.year		= UNSTUFF_BITS(resp, 8, 4) + 1997;
-		break;
-
-	default:
-		printk("%s: card has unknown MMCA version %d\n",
-			card->host->host_name, card->csd.mmca_vsn);
-		mmc_card_set_bad(card);
-		break;
+	if(card->sd) {
+		if(card->csd.csd_vers != SD_CSDV_1) {
+			printk("%s: card has unknown SD-MMCA version %d\n", card->host->host_name, card->csd.spec_vers);
+			mmc_card_set_bad(card);
+		} else {
+			card->cid.manfid	= UNSTUFF_BITS(resp, 120,  8);
+			card->cid.oemid		= UNSTUFF_BITS(resp, 104, 16);
+			card->cid.prod_name[0]	= UNSTUFF_BITS(resp,  96,  8);
+			card->cid.prod_name[1]	= UNSTUFF_BITS(resp,  88,  8);
+			card->cid.prod_name[2]	= UNSTUFF_BITS(resp,  80,  8);
+			card->cid.prod_name[3]	= UNSTUFF_BITS(resp,  72,  8);
+			card->cid.prod_name[4]	= UNSTUFF_BITS(resp,  64,  8);
+			card->cid.prod_name[5]  = 0;
+			card->cid.prod_name[6]  = 0;
+			card->cid.hwrev		= UNSTUFF_BITS(resp,  60,  4);
+			card->cid.fwrev		= UNSTUFF_BITS(resp,  56,  4);
+			card->cid.serial	= UNSTUFF_BITS(resp,  24, 32);
+			card->cid.month		= UNSTUFF_BITS(resp,  12,  4);
+			card->cid.year		= UNSTUFF_BITS(resp,   8,  4) + 2000;
+		}
+	} else {
+		switch (card->csd.csd_vers) {
+		case MMC_CSDV_1: /* MMC v1.? */
+		case MMC_CSDV_14: /* MMC v1.4 */
+			card->cid.manfid	= UNSTUFF_BITS(resp, 104, 24);
+			card->cid.prod_name[0]	= UNSTUFF_BITS(resp,  96,  8);
+			card->cid.prod_name[1]	= UNSTUFF_BITS(resp,  88,  8);
+			card->cid.prod_name[2]	= UNSTUFF_BITS(resp,  80,  8);
+			card->cid.prod_name[3]	= UNSTUFF_BITS(resp,  72,  8);
+			card->cid.prod_name[4]	= UNSTUFF_BITS(resp,  64,  8);
+			card->cid.prod_name[5]	= UNSTUFF_BITS(resp,  56,  8);
+			card->cid.prod_name[6]	= UNSTUFF_BITS(resp,  48,  8);
+			card->cid.hwrev		= UNSTUFF_BITS(resp,  44,  4);
+			card->cid.fwrev		= UNSTUFF_BITS(resp,  40,  4);
+			card->cid.serial	= UNSTUFF_BITS(resp,  16, 24);
+			card->cid.month		= UNSTUFF_BITS(resp,  12,  4);
+			card->cid.year		= UNSTUFF_BITS(resp,   8,  4) + 1997;
+			break;
+
+		case MMC_CSDV_2: /* MMC v2.x ? */
+		case MMC_CSDV_3: /* MMC v3.x ? */
+			card->cid.manfid	= UNSTUFF_BITS(resp, 120,  8);
+			card->cid.oemid		= UNSTUFF_BITS(resp, 104, 16);
+			card->cid.prod_name[0]	= UNSTUFF_BITS(resp,  96,  8);
+			card->cid.prod_name[1]	= UNSTUFF_BITS(resp,  88,  8);
+			card->cid.prod_name[2]	= UNSTUFF_BITS(resp,  80,  8);
+			card->cid.prod_name[3]	= UNSTUFF_BITS(resp,  72,  8);
+			card->cid.prod_name[4]	= UNSTUFF_BITS(resp,  64,  8);
+			card->cid.prod_name[5]	= UNSTUFF_BITS(resp,  56,  8);
+			card->cid.serial	= UNSTUFF_BITS(resp,  16, 32);
+			card->cid.month		= UNSTUFF_BITS(resp,  12,  4);
+			card->cid.year		= UNSTUFF_BITS(resp,   8,  4) + 1997;
+			break;
+
+		default:
+			printk("%s: card has unknown MMC-MMCA version %d\n", card->host->host_name, card->csd.spec_vers);
+			mmc_card_set_bad(card);
+			break;
+		}
 	}
 }
 
@@ -372,37 +420,95 @@
 static void mmc_decode_csd(struct mmc_card *card)
 {
 	struct mmc_csd *csd = &card->csd;
-	unsigned int e, m, csd_struct;
+	unsigned int e, m;
 	u32 *resp = card->raw_csd;
 
-	/*
-	 * We only understand CSD structure v1.1 and v2.
-	 * v2 has extra information in bits 15, 11 and 10.
-	 */
-	csd_struct = UNSTUFF_BITS(resp, 126, 2);
-	if (csd_struct != 1 && csd_struct != 2) {
-		printk("%s: unrecognised CSD structure version %d\n",
-			card->host->host_name, csd_struct);
-		mmc_card_set_bad(card);
-		return;
-	}
-
-	csd->mmca_vsn	 = UNSTUFF_BITS(resp, 122, 4);
-	m = UNSTUFF_BITS(resp, 115, 4);
-	e = UNSTUFF_BITS(resp, 112, 3);
-	csd->tacc_ns	 = (tacc_exp[e] * tacc_mant[m] + 9) / 10;
-	csd->tacc_clks	 = UNSTUFF_BITS(resp, 104, 8) * 100;
-
-	m = UNSTUFF_BITS(resp, 99, 4);
-	e = UNSTUFF_BITS(resp, 96, 3);
-	csd->max_dtr	  = tran_exp[e] * tran_mant[m];
-	csd->cmdclass	  = UNSTUFF_BITS(resp, 84, 12);
-
-	e = UNSTUFF_BITS(resp, 47, 3);
-	m = UNSTUFF_BITS(resp, 62, 12);
-	csd->capacity	  = (1 + m) << (e + 2);
+	if(card->sd) {
+		/*
+		* We only understand SD-CSD structure v1.0.
+		*/
+		csd->sd=1;
+		csd->csd_vers = UNSTUFF_BITS(resp, 126, 2);
+		if(csd->csd_vers != SD_CSDV_1) {
+			printk("%s: unrecognised SD-CSD structure version %d\n",
+				card->host->host_name, csd->csd_vers);
+			mmc_card_set_bad(card);
+			return;
+		}
+
+		csd->spec_vers 		= 0;
+		csd->taac		= UNSTUFF_BITS(resp, 112, 8);
+		csd->nsac		= UNSTUFF_BITS(resp, 104, 8);
+		csd->tran_speed		= UNSTUFF_BITS(resp,  96, 8);
+		csd->ccc		= UNSTUFF_BITS(resp,  84,12);
+		csd->read_bl_len	= UNSTUFF_BITS(resp,  80, 4);
+		csd->read_bl_partial	= UNSTUFF_BITS(resp,  79, 1);
+		csd->write_blk_misalign	= UNSTUFF_BITS(resp,  78, 1);
+		csd->read_blk_misalign	= UNSTUFF_BITS(resp,  77, 1);
+		csd->dsr_imp		= UNSTUFF_BITS(resp,  76, 1);
+		csd->c_size		= UNSTUFF_BITS(resp,  62,12);
+		csd->vdd_r_curr_min	= UNSTUFF_BITS(resp,  69, 3);
+		csd->vdd_r_curr_max	= UNSTUFF_BITS(resp,  56, 3);
+		csd->vdd_w_curr_min	= UNSTUFF_BITS(resp,  53, 3);
+		csd->vdd_w_curr_max	= UNSTUFF_BITS(resp,  50, 3);
+		csd->c_size_mult	= UNSTUFF_BITS(resp,  47, 3);
+		csd->erase.sd10.erase_blk_en	= UNSTUFF_BITS(resp,  46, 1);
+		csd->erase.sd10.erase_blk_size= UNSTUFF_BITS(resp,  39, 7);
+		csd->wp_grp_size	= UNSTUFF_BITS(resp,  32, 7);
+		csd->wp_grp_enable	= UNSTUFF_BITS(resp,  31, 1);
+		csd->r2w_factor		= UNSTUFF_BITS(resp,  26, 3);
+		csd->write_bl_len	= UNSTUFF_BITS(resp,  22, 4);
+		csd->write_bl_partial	= UNSTUFF_BITS(resp,  21, 1);
+		csd->file_format_grp	= UNSTUFF_BITS(resp,  15, 1);
+		csd->copy		= UNSTUFF_BITS(resp,  14, 1);
+		csd->perm_write_protect	= UNSTUFF_BITS(resp,  13, 1);
+		csd->tmp_write_protect	= UNSTUFF_BITS(resp,  12, 1);
+		csd->file_format	= UNSTUFF_BITS(resp,  10, 1);
+		csd->ecc		= UNSTUFF_BITS(resp,   1, 7);
+
+		m = UNSTUFF_BITS(resp, 115, 4);
+		e = UNSTUFF_BITS(resp, 112, 3);
+		csd->tacc_ns	 = (tacc_exp[e] * tacc_mant[m] + 9) / 10;
+		csd->tacc_clks	 = UNSTUFF_BITS(resp, 104, 8) * 100;
+
+		m = UNSTUFF_BITS(resp, 99, 4);
+		e = UNSTUFF_BITS(resp, 96, 3);
+		csd->max_dtr	  = tran_exp[e] * tran_mant[m];
+
+		e = UNSTUFF_BITS(resp, 47, 3);
+		m = UNSTUFF_BITS(resp, 62, 12);
+		csd->capacity	  = (1 + m) << (e + 2);
+	} else {
+		/*
+		* We only understand MMC-CSD structure v1.1 and v2.
+		* v2 has extra information in bits 15, 11 and 10.
+		*/
+		csd->sd=0;
+		csd->csd_vers = UNSTUFF_BITS(resp, 126, 2);
+		if (csd->csd_vers != MMC_CSDV_14 && csd->csd_vers != MMC_CSDV_2) {
+			printk("%s: unrecognised MMC-CSD structure version %d\n",
+				card->host->host_name, csd->csd_vers);
+			mmc_card_set_bad(card);
+			return;
+		}
 
-	csd->read_blkbits = UNSTUFF_BITS(resp, 80, 4);
+		csd->spec_vers	 = UNSTUFF_BITS(resp, 122, 4);
+		m = UNSTUFF_BITS(resp, 115, 4);
+		e = UNSTUFF_BITS(resp, 112, 3);
+		csd->tacc_ns	 = (tacc_exp[e] * tacc_mant[m] + 9) / 10;
+		csd->tacc_clks	 = UNSTUFF_BITS(resp, 104, 8) * 100;
+
+		m = UNSTUFF_BITS(resp, 99, 4);
+		e = UNSTUFF_BITS(resp, 96, 3);
+		csd->max_dtr	  = tran_exp[e] * tran_mant[m];
+		csd->ccc	  = UNSTUFF_BITS(resp, 84, 12);
+
+		e = UNSTUFF_BITS(resp, 47, 3);
+		m = UNSTUFF_BITS(resp, 62, 12);
+		csd->capacity	  = (1 + m) << (e + 2);
+
+		csd->read_bl_len = UNSTUFF_BITS(resp, 80, 4);
+	}
 }
 
 /*
@@ -423,7 +529,7 @@
  * Allocate a new MMC card, and assign a unique RCA.
  */
 static struct mmc_card *
-mmc_alloc_card(struct mmc_host *host, u32 *raw_cid, unsigned int *frca)
+mmc_alloc_card(struct mmc_host *host, u32 *raw_cid, u8 sd, unsigned int *frca)
 {
 	struct mmc_card *card, *c;
 	unsigned int rca = *frca;
@@ -434,6 +540,7 @@
 
 	mmc_init_card(card, host);
 	memcpy(card->raw_cid, raw_cid, sizeof(card->raw_cid));
+	card->sd = sd;
 
  again:
 	list_for_each_entry(c, &host->cards, node)
@@ -455,6 +562,7 @@
 static void mmc_idle_cards(struct mmc_host *host)
 {
 	struct mmc_command cmd;
+	struct mmc_card *card;
 
 	cmd.opcode = MMC_GO_IDLE_STATE;
 	cmd.arg = 0;
@@ -462,9 +570,83 @@
 
 	mmc_wait_for_cmd(host, &cmd, 0);
 
-	mmc_delay(1);
+	//MMC_GO_IDLE_STATE resets all cards to bus width 1
+	list_for_each_entry(card, &host->cards, node) {
+		card->bus_width=1;
+	}
+
+
+	mmc_delay(100);
+}
+
+int sd_set_bus_width(struct mmc_host *host, u16 rca, u32 bus_width)
+{
+	struct mmc_command cmd;
+	int err;
+
+	cmd.opcode = MMC_ACMD_SD_SET_BUS_WIDTH;
+	cmd.flags  = MMC_RSP_R1;
+
+	switch(bus_width) {
+		case 1:	 cmd.arg = 00; break;
+		case 4:	 cmd.arg = 10; break;
+		default: return -EINVAL;
+	}
+
+	err = mmc_wait_for_acmd(host, rca, &cmd, 3);
+
+	if(err == MMC_ERR_TIMEOUT) {
+		printk("MMC: sd_set_bus_width timed out.\n");
+	} else if(err == MMC_ERR_BADCRC) {
+		printk("MMC: sd_set_bus_width yielded crc error.\n");
+	} else {
+		printk("MMC: sd_app_op_cond done.\n");
+	}
+
+	return err;
+}
+
+EXPORT_SYMBOL(sd_set_bus_width);
+
+static int sd_app_op_cond(struct mmc_host *host, u16 rca, u32 parameter, u32 *response)
+{
+	struct mmc_command cmd;
+	int err;
+	int retries = 10;
+
+	cmd.opcode = MMC_ACMD_SD_APP_OP_COND;
+	cmd.arg = parameter;
+	cmd.flags = MMC_RSP_SHORT;
+
+	printk("MMC: sd_app_op_cond to %08x\n",parameter);
+
+	while(retries--) {
+		err = mmc_wait_for_acmd(host, 0, &cmd, 0);
+		if(0 == (cmd.resp[0] & MMC_CARD_BUSY)) {
+			err=MMC_ERR_BUSY;
+			printk("MMC: sd_app_op_cond: at least one card is busy - trying again.\n");
+			mmc_delay(10);
+			continue;
+		}
+
+		if(err == MMC_ERR_NONE) {
+			if(response)*response = cmd.resp[0];
+			break;
+		}
+	}
+
+	if(err == MMC_ERR_TIMEOUT) {
+		printk("MMC: sd_app_op_cond timed out. Probably no SD-Card here.\n");
+	} else if(err == MMC_ERR_BUSY) {
+		printk("MMC: sd_app_op_cond locked busy. Probably have broken SD-Card.\n");
+	} else {
+		printk("MMC: sd_app_op_cond done. Results are: 0x%08x.\n",cmd.resp[0]);
+	}
+
+	return err;
 }
 
+
 /*
  * Apply power to the MMC stack.
  */
@@ -531,7 +713,7 @@
  * Create a mmc_card entry for each discovered card, assigning
  * it an RCA, and save the raw CID for decoding later.
  */
-static void mmc_discover_cards(struct mmc_host *host)
+static void mmc_discover_cards(struct mmc_host *host, u8 sd)
 {
 	struct mmc_card *card;
 	unsigned int first_rca = 1, err;
@@ -541,7 +723,7 @@
 
 		cmd.opcode = MMC_ALL_SEND_CID;
 		cmd.arg = 0;
-		cmd.flags = MMC_RSP_R2;
+		cmd.flags = MMC_RSP_LONG; //HACK! CRC currently not implemented
 
 		err = mmc_wait_for_cmd(host, &cmd, CMD_RETRIES);
 		if (err == MMC_ERR_TIMEOUT) {
@@ -549,14 +731,13 @@
 			break;
 		}
 		if (err != MMC_ERR_NONE) {
-			printk(KERN_ERR "%s: error requesting CID: %d\n",
-				host->host_name, err);
+			printk(KERN_ERR "%s: error requesting CID: %d\n", host->host_name, err);
 			break;
 		}
 
 		card = mmc_find_card(host, cmd.resp);
 		if (!card) {
-			card = mmc_alloc_card(host, cmd.resp, &first_rca);
+			card = mmc_alloc_card(host, cmd.resp, sd, &first_rca);
 			if (IS_ERR(card)) {
 				err = PTR_ERR(card);
 				break;
@@ -573,6 +754,9 @@
 		err = mmc_wait_for_cmd(host, &cmd, CMD_RETRIES);
 		if (err != MMC_ERR_NONE)
 			mmc_card_set_dead(card);
+
+		//SD-Cards choose their adresses themselfes (yuck!)
+		if(card->sd) card->rca = (cmd.resp[0] >> 16);
 	}
 }
 
@@ -589,7 +773,7 @@
 
 		cmd.opcode = MMC_SEND_CSD;
 		cmd.arg = card->rca << 16;
-		cmd.flags = MMC_RSP_R2;
+		cmd.flags = MMC_RSP_LONG; 	//HACK: No CRC check as s3c-Core is broken
 
 		err = mmc_wait_for_cmd(host, &cmd, CMD_RETRIES);
 		if (err != MMC_ERR_NONE) {
@@ -650,63 +834,22 @@
 	}
 }
 
+
 static void mmc_setup(struct mmc_host *host)
 {
-	if (host->ios.power_mode != MMC_POWER_ON) {
-		int err;
-		u32 ocr;
-
-		mmc_power_up(host);
-		mmc_idle_cards(host);
-
-		err = mmc_send_op_cond(host, 0, &ocr);
-		if (err != MMC_ERR_NONE)
-			return;
-
-		host->ocr = mmc_select_voltage(host, ocr);
-
-		/*
-		 * Since we're changing the OCR value, we seem to
-		 * need to tell some cards to go back to the idle
-		 * state.  We wait 1ms to give cards time to
-		 * respond.
-		 */
-		if (host->ocr)
-			mmc_idle_cards(host);
-	} else {
-		host->ios.bus_mode = MMC_BUSMODE_OPENDRAIN;
-		host->ios.clock = host->f_min;
-		host->ops->set_ios(host, &host->ios);
-
-		/*
-		 * We should remember the OCR mask from the existing
-		 * cards, and detect the new cards OCR mask, combine
-		 * the two and re-select the VDD.  However, if we do
-		 * change VDD, we should do an idle, and then do a
-		 * full re-initialisation.  We would need to notify
-		 * drivers so that they can re-setup the cards as
-		 * well, while keeping their queues at bay.
-		 *
-		 * For the moment, we take the easy way out - if the
-		 * new cards don't like our currently selected VDD,
-		 * they drop off the bus.
-		 */
-	}
-
-	if (host->ocr == 0)
-		return;
-
-	/*
-	 * Send the selected OCR multiple times... until the cards
-	 * all get the idea that they should be ready for CMD2.
-	 * (My SanDisk card seems to need this.)
-	 */
-	mmc_send_op_cond(host, host->ocr, NULL);
+	mmc_power_up(host);
+	mmc_idle_cards(host);
 
-	mmc_discover_cards(host);
+	// Wake and discover SD-Cards
+	sd_app_op_cond(host, 0, host->ocr_avail, NULL);
+	mmc_discover_cards(host, 1);
+
+	// Wake and discover MMC-Cards
+	mmc_send_op_cond(host, host->ocr_avail, NULL);
+	mmc_discover_cards(host, 0);
 
 	/*
-	 * Ok, now switch to push-pull mode.
+	 * switch to push-pull mode.
 	 */
 	host->ios.bus_mode = MMC_BUSMODE_PUSHPULL;
 	host->ops->set_ios(host, &host->ios);
diff -Nru linux-2.6.10/drivers/mmc/mmc_sysfs.c linux-2.6.10-h1940/drivers/mmc/mmc_sysfs.c
--- linux-2.6.10/drivers/mmc/mmc_sysfs.c	2004-12-24 21:35:01.000000000 +0000
+++ linux-2.6.10-h1940/drivers/mmc/mmc_sysfs.c	2005-01-17 13:24:16.000000000 +0000
@@ -3,6 +3,9 @@
  *
  *  Copyright (C) 2003 Russell King, All Rights Reserved.
  *
+ *  SD-Card support:
+ *    Copyright (C) 2004 Thomas Kleffel, 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 version 2 as
  * published by the Free Software Foundation.
@@ -62,7 +65,7 @@
 	})
 
 	for (i = 0; i < 12; i++)
-		ccc[i] = card->csd.cmdclass & (1 << i) ? '1' : '0';
+		ccc[i] = card->csd.ccc & (1 << i) ? '1' : '0';
 	ccc[12] = '\0';
 
 	i = 0;
@@ -170,8 +173,11 @@
 MMC_ATTR(name, "%s\n", card->cid.prod_name);
 MMC_ATTR(oemid, "0x%04x\n", card->cid.oemid);
 MMC_ATTR(serial, "0x%08x\n", card->cid.serial);
+MMC_ATTR(bus_width, "%u\n", card->bus_width);
+MMC_ATTR(type, "%s\n", (card->sd?"SD":"MMC"));
 
 static struct device_attribute *mmc_dev_attributes[] = {
+	&dev_attr_bus_width,
 	&dev_attr_cid,
 	&dev_attr_csd,
 	&dev_attr_date,
@@ -181,6 +187,7 @@
 	&dev_attr_name,
 	&dev_attr_oemid,
 	&dev_attr_serial,
+	&dev_attr_type,
 };
 
 /*
diff -Nru linux-2.6.10/drivers/mmc/s3c2410mci.c linux-2.6.10-h1940/drivers/mmc/s3c2410mci.c
--- linux-2.6.10/drivers/mmc/s3c2410mci.c	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/drivers/mmc/s3c2410mci.c	2005-01-17 13:24:16.000000000 +0000
@@ -0,0 +1,761 @@
+/*
+ *  linux/drivers/mmc/s3c2410mci.h - Samsung S3C2410 SDI Interface driver
+ *
+ *  Copyright (C) 2004 Thomas Kleffel, 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 version 2 as
+ * published by the Free Software Foundation.
+ */
+#include <linux/config.h>
+#include <linux/module.h>
+#include <linux/moduleparam.h>
+#include <linux/init.h>
+#include <linux/ioport.h>
+#include <linux/device.h>
+#include <linux/interrupt.h>
+#include <linux/blkdev.h>
+#include <linux/delay.h>
+#include <linux/err.h>
+#include <linux/dma-mapping.h>
+#include <linux/mmc/host.h>
+#include <linux/mmc/protocol.h>
+
+#include <asm/dma.h>
+#include <asm/dma-mapping.h>
+#include <asm/arch/dma.h>
+
+#include <asm/io.h>
+#include <asm/irq.h>
+#include <asm/hardware/amba.h>
+#include <asm/hardware/clock.h>
+#include <asm/mach/mmc.h>
+
+#include <asm/arch/regs-sdi.h>
+#include <asm/arch/regs-gpio.h>
+
+//#define S3C2410SDI_DMA_BACKBUF
+
+#ifdef CONFIG_MMC_DEBUG
+#define DBG(x...)       printk(KERN_DEBUG x)
+#else
+#define DBG(x...)       do { } while (0)
+#endif
+
+#include "s3c2410mci.h"
+
+#define DRIVER_NAME "mmci-s3c2410"
+#define PFX DRIVER_NAME ": "
+
+#define RESSIZE(ressource) (((ressource)->end - (ressource)->start)+1)
+
+// #define KERN_DEBUG KERN_INFO
+
+typedef enum {
+	DMAP_READ,
+	DMAP_WRITE,
+} eDMAPurpose_t;
+
+static struct s3c2410_dma_client s3c2410sdi_dma_client = {
+	.name		= "s3c2410-sdi",
+};
+
+
+
+/*
+ * ISR for SDI Interface IRQ
+ * Communication between driver and ISR works as follows:
+ *   host->mrq 			points to current request
+ *   host->complete_what	tells the ISR when the request is considered done
+ *     COMPLETION_CMDSENT	  when the command was sent
+ *     COMPLETION_RSPFIN          when a response was received
+ *     COMPLETION_XFERFINISH	  when the data transfer is finished
+ *     COMPLETION_XFERFINISH_RSPFIN both of the above.
+ *   host->complete_request	is the completion-object the driver waits for
+ *
+ * 1) Driver sets up host->mrq and host->complete_what
+ * 2) Driver prepares the transfer
+ * 3) Driver enables interrupts
+ * 4) Driver starts transfer
+ * 5) Driver waits for host->complete_rquest
+ * 6) ISR checks for request status (errors and success)
+ * 6) ISR sets host->mrq->cmd->error and host->mrq->data->error
+ * 7) ISR completes host->complete_request
+ * 8) ISR disables interrupts
+ * 9) Driver wakes up and takes care of the request
+*/
+
+static irqreturn_t s3c2410sdi_irq(int irq, void *dev_id, struct pt_regs *regs)
+{
+	struct s3c2410sdi_host *host;
+	u32 sdi_csta, sdi_dsta, sdi_dcnt;
+	u32 sdi_cclear, sdi_dclear;
+	unsigned long iflags;
+
+	host = (struct s3c2410sdi_host *)dev_id;
+
+	//Check for things not supposed to happen
+	if(!host) return IRQ_HANDLED;
+	
+	sdi_csta 	= readl(host->base + S3C2410_SDICMDSTAT);
+	sdi_dsta 	= readl(host->base + S3C2410_SDIDSTA);
+	sdi_dcnt 	= readl(host->base + S3C2410_SDIDCNT);
+	
+	DBG(PFX "IRQ csta=0x%08x dsta=0x%08x dcnt:0x%08x\n", sdi_csta, sdi_dsta, sdi_dcnt);
+		
+	spin_lock_irqsave( &host->complete_lock, iflags);
+	
+	if( host->complete_what==COMPLETION_NONE ) {
+		goto clear_imask;
+	}
+	
+	if(!host->mrq) { 
+		goto clear_imask;
+	}
+
+	
+	sdi_csta 	= readl(host->base + S3C2410_SDICMDSTAT);
+	sdi_dsta 	= readl(host->base + S3C2410_SDIDSTA);
+	sdi_dcnt 	= readl(host->base + S3C2410_SDIDCNT);
+	sdi_cclear	= 0;
+	sdi_dclear	= 0;
+	
+	
+	if(sdi_csta & S3C2410_SDICMDSTAT_CMDTIMEOUT) {
+		host->mrq->cmd->error = MMC_ERR_TIMEOUT;
+		goto transfer_closed;
+	}
+
+	if(sdi_csta & S3C2410_SDICMDSTAT_CMDSENT) {
+		if(host->complete_what == COMPLETION_CMDSENT) {
+			host->mrq->cmd->error = MMC_ERR_NONE;
+			goto transfer_closed;
+		}
+
+		sdi_cclear |= S3C2410_SDICMDSTAT_CMDSENT;
+	}
+
+	if(sdi_csta & S3C2410_SDICMDSTAT_CRCFAIL) {
+		if(host->mrq->cmd->flags & MMC_RSP_CRC) {
+			host->mrq->cmd->error = MMC_ERR_BADCRC;
+			goto transfer_closed;
+		}
+
+		sdi_cclear |= S3C2410_SDICMDSTAT_CRCFAIL;
+	}
+
+	if(sdi_csta & S3C2410_SDICMDSTAT_RSPFIN) {
+		if(host->complete_what == COMPLETION_RSPFIN) {
+			host->mrq->cmd->error = MMC_ERR_NONE;
+			goto transfer_closed;
+		}
+
+		if(host->complete_what == COMPLETION_XFERFINISH_RSPFIN) {
+			host->mrq->cmd->error = MMC_ERR_NONE;
+			host->complete_what = COMPLETION_XFERFINISH;
+		}
+
+		sdi_cclear |= S3C2410_SDICMDSTAT_RSPFIN;
+	}
+
+	if(sdi_dsta & S3C2410_SDIDSTA_FIFOFAIL) {
+		host->mrq->cmd->error = MMC_ERR_NONE;
+		host->mrq->data->error = MMC_ERR_FIFO;
+		goto transfer_closed;
+	}
+
+	if(sdi_dsta & S3C2410_SDIDSTA_RXCRCFAIL) {
+		host->mrq->cmd->error = MMC_ERR_NONE;
+		host->mrq->data->error = MMC_ERR_BADCRC;
+		goto transfer_closed;
+	}
+
+	if(sdi_dsta & S3C2410_SDIDSTA_CRCFAIL) {
+		host->mrq->cmd->error = MMC_ERR_NONE;
+		host->mrq->data->error = MMC_ERR_BADCRC;
+		goto transfer_closed;
+	}
+
+	if(sdi_dsta & S3C2410_SDIDSTA_DATATIMEOUT) {
+		host->mrq->cmd->error = MMC_ERR_NONE;
+		host->mrq->data->error = MMC_ERR_TIMEOUT;
+		goto transfer_closed;
+	}
+
+	if(sdi_dsta & S3C2410_SDIDSTA_XFERFINISH) {
+		if(host->complete_what == COMPLETION_XFERFINISH) {
+			host->mrq->cmd->error = MMC_ERR_NONE;
+			host->mrq->data->error = MMC_ERR_NONE;
+			goto transfer_closed;
+		}
+
+		if(host->complete_what == COMPLETION_XFERFINISH_RSPFIN) {
+			host->mrq->data->error = MMC_ERR_NONE;
+			host->complete_what = COMPLETION_RSPFIN;
+		}
+
+		sdi_dclear |= S3C2410_SDIDSTA_XFERFINISH;
+	}
+
+	writel(sdi_cclear, host->base + S3C2410_SDICMDSTAT);
+	writel(sdi_dclear, host->base + S3C2410_SDIDSTA);
+
+	spin_unlock_irqrestore( &host->complete_lock, iflags);
+	DBG(PFX "IRQ still waiting.\n");
+	return IRQ_HANDLED;
+
+
+transfer_closed:
+	host->complete_what = COMPLETION_NONE;
+	complete(&host->complete_request);
+	writel(0, host->base + S3C2410_SDIIMSK);
+	spin_unlock_irqrestore( &host->complete_lock, iflags);
+	DBG(PFX "IRQ transfer closed.\n");
+	return IRQ_HANDLED;
+	
+clear_imask:
+regular_clear_imask:
+	writel(0, host->base + S3C2410_SDIIMSK);
+	spin_unlock_irqrestore( &host->complete_lock, iflags);
+	DBG(PFX "IRQ clear imask.\n");
+	return IRQ_HANDLED;
+
+}
+
+
+/*
+ * ISR for the CardDetect Pin
+*/
+
+static irqreturn_t s3c2410sdi_irq_cd(int irq, void *dev_id, struct pt_regs *regs)
+{
+	struct s3c2410sdi_host *host = (struct s3c2410sdi_host *)dev_id;
+	mmc_detect_change(host->mmc);
+
+	return IRQ_HANDLED;
+}
+
+
+
+void s3c2410sdi_dma_done_callback(s3c2410_dma_chan_t *dma_ch, void *buf_id,
+	int size, s3c2410_dma_buffresult_t result)
+{	unsigned long iflags;
+	u32 sdi_csta, sdi_dsta,sdi_dcnt;
+	struct s3c2410sdi_host *host = (struct s3c2410sdi_host *)buf_id;
+	
+	sdi_csta 	= readl(host->base + S3C2410_SDICMDSTAT);
+	sdi_dsta 	= readl(host->base + S3C2410_SDIDSTA);
+	sdi_dcnt 	= readl(host->base + S3C2410_SDIDCNT);
+	
+	DBG(PFX "DMAD csta=0x%08x dsta=0x%08x dcnt:0x%08x result:0x%08x\n", sdi_csta, sdi_dsta, sdi_dcnt, result);
+	
+	spin_lock_irqsave( &host->complete_lock, iflags);
+	
+	if(!host->mrq) goto out;
+	if(!host->mrq->data) goto out;
+	
+	
+	sdi_csta 	= readl(host->base + S3C2410_SDICMDSTAT);
+	sdi_dsta 	= readl(host->base + S3C2410_SDIDSTA);
+	sdi_dcnt 	= readl(host->base + S3C2410_SDIDCNT);
+		
+	if( result!=S3C2410_RES_OK ) {
+		goto fail_request;
+	}
+	
+	
+	if(host->mrq->data->flags & MMC_DATA_READ) {
+		if( sdi_dcnt>0 ) {
+			goto fail_request;
+		}
+	}
+	
+out:	
+	complete(&host->complete_dma);
+	spin_unlock_irqrestore( &host->complete_lock, iflags);
+	return;
+
+
+fail_request:
+	host->mrq->data->error = MMC_ERR_DMA;
+	host->complete_what = COMPLETION_NONE;
+	complete(&host->complete_dma);
+	complete(&host->complete_request);
+	writel(0, host->base + S3C2410_SDIIMSK);
+	goto out;
+
+}
+
+
+void s3c2410sdi_dma_setup(struct s3c2410sdi_host *host, eDMAPurpose_t purpose) {
+	s3c2410_dmasrc_t source;
+
+	switch(purpose) {
+		case DMAP_READ:
+			source  = S3C2410_DMASRC_HW;
+			break;
+
+		case DMAP_WRITE:
+			source  = S3C2410_DMASRC_MEM;
+			break;
+	}
+
+	s3c2410_dma_devconfig(host->dma, source, 3, host->mem->start + S3C2410_SDIDATA);
+	s3c2410_dma_config(host->dma, 4, (1<<23) | (2<<24));
+	s3c2410_dma_set_buffdone_fn(host->dma, s3c2410sdi_dma_done_callback);
+	s3c2410_dma_setflags(host->dma, S3C2410_DMAF_AUTOSTART);
+}
+
+static void s3c2410sdi_request(struct mmc_host *mmc, struct mmc_request *mrq) {
+ 	struct s3c2410sdi_host *host = mmc_priv(mmc);
+	u32 sdi_carg, sdi_ccon, sdi_timer;
+	u32 sdi_bsize, sdi_dcon, sdi_imsk;
+
+	DBG(KERN_DEBUG PFX "request: [CMD] opcode:0x%02x arg:0x%08x flags:%x retries:%u\n",
+		mrq->cmd->opcode, mrq->cmd->arg, mrq->cmd->flags, mrq->cmd->retries);
+
+
+	sdi_ccon = mrq->cmd->opcode & S3C2410_SDICMDCON_INDEX;
+	sdi_ccon|= S3C2410_SDICMDCON_SENDERHOST;
+	sdi_ccon|= S3C2410_SDICMDCON_CMDSTART;
+
+	sdi_carg = mrq->cmd->arg;
+
+	//FIXME: Timer value ?!
+	sdi_timer= 0xF000;
+
+	sdi_bsize= 0;
+	sdi_dcon = 0;
+	sdi_imsk = 0;
+
+	//enable interrupts for transmission errors
+	sdi_imsk |= S3C2410_SDIIMSK_RESPONSEND;
+	sdi_imsk |= S3C2410_SDIIMSK_CRCSTATUS;
+
+
+	host->complete_what = COMPLETION_CMDSENT;
+
+	if (mrq->cmd->flags & MMC_RSP_MASK) {
+		host->complete_what = COMPLETION_RSPFIN;
+
+		sdi_ccon |= S3C2410_SDICMDCON_WAITRSP;
+		sdi_imsk |= S3C2410_SDIIMSK_CMDTIMEOUT;
+
+	} else {
+		//We need the CMDSENT-Interrupt only if we want are not waiting
+		//for a response
+		sdi_imsk |= S3C2410_SDIIMSK_CMDSENT;
+	}
+
+	if(mrq->cmd->flags & MMC_RSP_LONG) {
+		sdi_ccon|= S3C2410_SDICMDCON_LONGRSP;
+	}
+
+	if(mrq->cmd->flags & MMC_RSP_CRC) {
+		sdi_imsk |= S3C2410_SDIIMSK_RESPONSECRC;
+	}
+
+
+	if (mrq->data) {
+		host->complete_what = COMPLETION_XFERFINISH_RSPFIN;
+
+
+
+		sdi_bsize = (1 << mrq->data->blksz_bits);
+
+		sdi_dcon  = (mrq->data->blocks & S3C2410_SDIDCON_BLKNUM_MASK);
+		sdi_dcon |= S3C2410_SDIDCON_DMAEN;
+
+		sdi_imsk |= S3C2410_SDIIMSK_FIFOFAIL;
+		sdi_imsk |= S3C2410_SDIIMSK_DATACRC;
+		sdi_imsk |= S3C2410_SDIIMSK_DATATIMEOUT;
+		sdi_imsk |= S3C2410_SDIIMSK_DATAFINISH;
+		sdi_imsk |= 0xFFFFFFE0;
+
+		DBG(PFX "request: [DAT] bsize:%u blocks:%u bytes:%u\n",
+			sdi_bsize, mrq->data->blocks, mrq->data->blocks * sdi_bsize);
+
+		if(mrq->data->flags & MMC_DATA_WIDE) {
+			sdi_dcon |= S3C2410_SDIDCON_WIDEBUS;
+		}
+
+		if(!(mrq->data->flags & MMC_DATA_STREAM)) {
+			sdi_dcon |= S3C2410_SDIDCON_BLOCKMODE;
+		}
+
+		if(mrq->data->flags & MMC_DATA_WRITE) {
+			sdi_dcon |= S3C2410_SDIDCON_TXAFTERRESP;
+			sdi_dcon |= S3C2410_SDIDCON_XFER_TXSTART;
+			s3c2410sdi_dma_setup(host, DMAP_WRITE);
+#ifdef S3C2410SDI_DMA_BACKBUF			
+			memcpy(host->dmabuf_log, mrq->data->req->buffer, mrq->data->blocks * sdi_bsize);
+#endif
+		}
+
+		if(mrq->data->flags & MMC_DATA_READ) {
+			sdi_dcon |= S3C2410_SDIDCON_RXAFTERCMD;
+			sdi_dcon |= S3C2410_SDIDCON_XFER_RXSTART;
+			s3c2410sdi_dma_setup(host, DMAP_READ);
+		}
+		
+		
+
+		//start DMA
+#ifdef S3C2410SDI_DMA_BACKBUF
+		s3c2410_dma_enqueue(host->dma, (void *) host,
+			host->dmabuf_phys,
+			(mrq->data->blocks << mrq->data->blksz_bits) );
+#else
+		s3c2410_dma_enqueue(host->dma, (void *) host,
+			virt_to_phys(mrq->data->req->buffer),
+			(mrq->data->blocks << mrq->data->blksz_bits) );
+#endif
+	}
+
+	host->mrq = mrq;
+
+	init_completion(&host->complete_request);
+	init_completion(&host->complete_dma);
+
+	//Clear command and data status registers
+	writel(0xFFFFFFFF, host->base + S3C2410_SDICMDSTAT);
+	writel(0xFFFFFFFF, host->base + S3C2410_SDIDSTA);
+
+	// Setup SDI controller
+	writel(sdi_bsize,host->base + S3C2410_SDIBSIZE);
+	writel(sdi_timer,host->base + S3C2410_SDITIMER);
+	writel(sdi_imsk,host->base + S3C2410_SDIIMSK);
+
+	// Setup SDI command argument and data control
+	writel(sdi_carg, host->base + S3C2410_SDICMDARG);
+	writel(sdi_dcon, host->base + S3C2410_SDIDCON);
+
+	// This initiates transfer
+	writel(sdi_ccon, host->base + S3C2410_SDICMDCON);
+
+	// Wait for transfer to complete
+	wait_for_completion(&host->complete_request);
+	DBG("[CMD] request complete.\n");
+	if(mrq->data) {
+		wait_for_completion(&host->complete_dma);
+		DBG("[DAT] DMA complete.\n");
+	}
+	
+	// Wait for DMA to complete
+//	if(mrq->data) wait_for_completion(&host->complete_dma);
+
+	//Cleanup controller
+	writel(0, host->base + S3C2410_SDICMDARG);
+	writel(0, host->base + S3C2410_SDIDCON);
+	writel(0, host->base + S3C2410_SDICMDCON);
+	writel(0, host->base + S3C2410_SDIIMSK);
+
+	// Read response
+	mrq->cmd->resp[0] = readl(host->base + S3C2410_SDIRSP0);
+	mrq->cmd->resp[1] = readl(host->base + S3C2410_SDIRSP1);
+	mrq->cmd->resp[2] = readl(host->base + S3C2410_SDIRSP2);
+	mrq->cmd->resp[3] = readl(host->base + S3C2410_SDIRSP3);
+
+	host->mrq = NULL;
+
+	DBG(PFX "request done.\n");
+
+	// If we have no data transfer we are finished here
+	if (!mrq->data) goto request_done;
+
+	// Calulate the amout of bytes transfer, but only if there was
+	// no error
+	if(mrq->data->error == MMC_ERR_NONE) {
+		mrq->data->bytes_xfered = (mrq->data->blocks << mrq->data->blksz_bits);
+		if(mrq->data->flags & MMC_DATA_READ);
+#ifdef S3C2410SDI_DMA_BACKBUF
+		memcpy(mrq->data->req->buffer, host->dmabuf_log, mrq->data->bytes_xfered);
+#endif
+	} else {
+		mrq->data->bytes_xfered = 0;
+	}
+
+	// If we had an error while transfering data we flush the
+	// DMA channel to clear out any garbage
+	if(mrq->data->error != MMC_ERR_NONE) {
+		s3c2410_dma_ctrl(host->dma, S3C2410_DMAOP_FLUSH);
+		DBG(PFX "flushing DMA.\n");		
+	}
+	// Issue stop command
+	if(mrq->data->stop) mmc_wait_for_cmd(mmc, mrq->data->stop, 3);
+
+
+request_done:
+
+	mrq->done(mrq);
+}
+
+static void s3c2410sdi_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) {
+	struct s3c2410sdi_host *host = mmc_priv(mmc);
+	u32 sdi_psc, sdi_con;
+
+	//Set power
+	sdi_con = readl(host->base + S3C2410_SDICON);
+	switch(ios->power_mode) {
+		case MMC_POWER_ON:
+		case MMC_POWER_UP:
+			s3c2410_gpio_setpin(S3C2410_GPA17, 1); // card power on
+
+			s3c2410_gpio_cfgpin(S3C2410_GPE5, S3C2410_GPE5_SDCLK);
+			s3c2410_gpio_cfgpin(S3C2410_GPE6, S3C2410_GPE6_SDCMD);
+			s3c2410_gpio_cfgpin(S3C2410_GPE7, S3C2410_GPE7_SDDAT0);
+			s3c2410_gpio_cfgpin(S3C2410_GPE8, S3C2410_GPE8_SDDAT1);
+			s3c2410_gpio_cfgpin(S3C2410_GPE9, S3C2410_GPE9_SDDAT2);
+			s3c2410_gpio_cfgpin(S3C2410_GPE10, S3C2410_GPE10_SDDAT3);
+
+			sdi_con|= S3C2410_SDICON_FIFORESET;
+			break;
+
+		case MMC_POWER_OFF:
+		default:
+			s3c2410_gpio_setpin(S3C2410_GPA17, 0); // card power off
+
+			s3c2410_gpio_setpin(S3C2410_GPE5, 0);
+			s3c2410_gpio_cfgpin(S3C2410_GPE5, S3C2410_GPE5_OUTP);
+			break;
+	}
+
+	//Set clock
+	for(sdi_psc=0;sdi_psc<255;sdi_psc++) {
+		if( (clk_get_rate(host->clk) / (2*(sdi_psc+1))) <= ios->clock) break;
+	}
+
+	if(sdi_psc > 255) sdi_psc = 255;
+	writel(sdi_psc, host->base + S3C2410_SDIPRE);
+
+	//Set CLOCK_ENABLE
+	if(ios->clock) 	sdi_con |= S3C2410_SDICON_CLOCKTYPE;
+	else		sdi_con &=~S3C2410_SDICON_CLOCKTYPE;
+
+	writel(sdi_con, host->base + S3C2410_SDICON);
+}
+
+static struct mmc_host_ops s3c2410sdi_ops = {
+	.request	= s3c2410sdi_request,
+	.set_ios	= s3c2410sdi_set_ios,
+};
+
+static int s3c2410sdi_probe(struct device *dev)
+{
+	struct platform_device	*pdev = to_platform_device(dev);
+	struct mmc_host 	*mmc;
+	struct s3c2410sdi_host 	*host;
+
+	int ret;
+
+	mmc = mmc_alloc_host(sizeof(struct s3c2410sdi_host), dev);
+	if (!mmc) {
+		ret = -ENOMEM;
+		goto probe_out;
+	}
+
+	host = mmc_priv(mmc);
+
+	spin_lock_init( &host->complete_lock );
+	host->complete_what 	= COMPLETION_NONE;
+	host->mmc 		= mmc;
+	host->dma		= S3C2410SDI_DMA;
+	host->irq_cd		= IRQ_EINT2;
+
+
+	host->mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	if (!host->mem) {
+		printk(KERN_INFO PFX "failed to get io memory region resouce.\n");
+		ret = -ENOENT;
+		goto probe_free_host;
+	}
+
+	host->mem = request_mem_region(host->mem->start,
+		RESSIZE(host->mem), pdev->name);
+
+	if (!host->mem) {
+		printk(KERN_INFO PFX "failed to request io memory region.\n");
+		ret = -ENOENT;
+		goto probe_free_host;
+	}
+
+	host->base = ioremap(host->mem->start, RESSIZE(host->mem));
+	if (host->base == 0) {
+		printk(KERN_INFO PFX "failed to ioremap() io memory region.\n");
+		ret = -EINVAL;
+		goto probe_free_mem_region;
+	}
+
+	host->irq = platform_get_irq(pdev, 0);
+	if (host->irq == 0) {
+		printk(KERN_INFO PFX "failed to get interrupt resouce.\n");
+		ret = -EINVAL;
+		goto probe_iounmap;
+	}
+
+	if(request_irq(host->irq, s3c2410sdi_irq, 0, DRIVER_NAME, host)) {
+		printk(KERN_INFO PFX "failed to request sdi interrupt.\n");
+		ret = -ENOENT;
+		goto probe_iounmap;
+	}
+
+	s3c2410_gpio_cfgpin(S3C2410_GPF2, S3C2410_GPF2_EINT2);
+	set_irq_type(host->irq_cd, IRQT_BOTHEDGE);
+
+	if(request_irq(host->irq_cd, s3c2410sdi_irq_cd, 0, DRIVER_NAME, host)) {
+		printk(KERN_WARNING PFX "failed to request card detect interrupt.\n" );
+		ret = -ENOENT;
+		goto probe_free_irq;
+	}
+
+	if(s3c2410_dma_request(S3C2410SDI_DMA, &s3c2410sdi_dma_client, NULL)) {
+		printk(KERN_WARNING PFX "unable to get DMA channel.\n" );
+		ret = -EBUSY;
+		goto probe_free_irq_cd;
+	}
+
+	host->clk = clk_get(dev, "sdi");
+	if (IS_ERR(host->clk)) {
+		printk(KERN_INFO PFX "failed to find clock source.\n");
+		ret = PTR_ERR(host->clk);
+		host->clk = NULL;
+		goto probe_free_host;
+	}
+
+	if((ret = clk_use(host->clk))) {
+		printk(KERN_INFO PFX "failed to use clock source.\n");
+		goto clk_free;
+	}
+
+	if((ret = clk_enable(host->clk))) {
+		printk(KERN_INFO PFX "failed to enable clock source.\n");
+		goto clk_unuse;
+	}
+
+
+	mmc->ops 	= &s3c2410sdi_ops;
+	mmc->ocr_avail	= MMC_VDD_32_33;
+	mmc->flags      = MMC_HOST_WIDEMODE;
+	mmc->f_min 	= clk_get_rate(host->clk) / 512;
+	mmc->f_max 	= clk_get_rate(host->clk) / 2;
+
+
+	//HACK: There seems to be a hardware bug in TomTom GO.
+	if(mmc->f_max>3000000) mmc->f_max=3000000;
+
+
+	/*
+	 * Since we only have a 16-bit data length register, we must
+	 * ensure that we don't exceed 2^16-1 bytes in a single request.
+	 * Choose 64 (512-byte) sectors as the limit.
+	 */
+	mmc->max_sectors = 64;
+
+	/*
+	 * Set the maximum segment size.  Since we aren't doing DMA
+	 * (yet) we are only limited by the data length register.
+	 */
+
+	mmc->max_seg_size = mmc->max_sectors << 9;
+#ifdef S3C2410SDI_DMA_BACKBUF	
+	host->dmabuf_log = dma_alloc_coherent(NULL, mmc->max_seg_size ,&host->dmabuf_phys, GFP_KERNEL|GFP_DMA);
+	
+	if(!host->dmabuf_log) {
+		printk(KERN_INFO PFX "failed to allocate DMA buffer.\n");
+		goto clk_disable;
+	}
+	
+	host->dmabuf_size = mmc->max_seg_size;
+	
+	printk(KERN_INFO PFX "probe: mapped sdi_base=%p irq=%u irq_cd=%u dma=%u dmabuf_l=%p dmabuf_p=%p.\n", 
+		host->base, host->irq, host->irq_cd, host->dma, host->dmabuf_log, host->dmabuf_phys);
+#else
+	printk(KERN_INFO PFX "probe: mapped sdi_base=%p irq=%u irq_cd=%u dma=%u.\n", 
+		host->base, host->irq, host->irq_cd, host->dma);
+#endif	
+	if((ret = mmc_add_host(mmc))) {
+		printk(KERN_INFO PFX "failed to add mmc host.\n");
+		goto free_dmabuf;
+	}
+
+	dev_set_drvdata(dev, mmc);
+
+	printk(KERN_INFO PFX "initialisation done.\n");
+	return 0;
+	
+ free_dmabuf:
+#ifdef S3C2410SDI_DMA_BACKBUF
+ 	dma_free_coherent(NULL, host->dmabuf_size, host->dmabuf_log, host->dmabuf_phys);
+#endif
+
+ clk_disable:
+	clk_disable(host->clk);
+
+ clk_unuse:
+	clk_unuse(host->clk);
+
+ clk_free:
+	clk_put(host->clk);
+
+ probe_free_irq_cd:
+ 	free_irq(host->irq_cd, host);
+
+ probe_free_irq:
+ 	free_irq(host->irq, host);
+
+ probe_iounmap:
+	iounmap(host->base);
+
+ probe_free_mem_region:
+	release_mem_region(host->mem->start, RESSIZE(host->mem));
+
+ probe_free_host:
+	mmc_free_host(mmc);
+ probe_out:
+	return ret;
+}
+
+static int s3c2410sdi_remove(struct device *dev)
+{
+	struct mmc_host 	*mmc  = dev_get_drvdata(dev);
+	struct s3c2410sdi_host 	*host = mmc_priv(mmc);
+
+	mmc_remove_host(mmc);
+#ifdef S3C2410SDI_DMA_BACKBUF
+ 	dma_free_coherent(NULL, host->dmabuf_size, host->dmabuf_log, host->dmabuf_phys);
+#endif
+	clk_disable(host->clk);
+	clk_unuse(host->clk);
+	clk_put(host->clk);
+ 	free_irq(host->irq_cd, host);
+ 	free_irq(host->irq, host);
+	iounmap(host->base);
+	release_mem_region(host->mem->start, RESSIZE(host->mem));
+	mmc_free_host(mmc);
+
+	return 0;
+}
+
+static struct device_driver s3c2410sdi_driver =
+{
+        .name           = "s3c2410-sdi",
+        .bus            = &platform_bus_type,
+        .probe          = s3c2410sdi_probe,
+        .remove         = s3c2410sdi_remove,
+};
+
+static int __init s3c2410sdi_init(void)
+{
+	return driver_register(&s3c2410sdi_driver);
+}
+
+static void __exit s3c2410sdi_exit(void)
+{
+	driver_unregister(&s3c2410sdi_driver);
+}
+
+module_init(s3c2410sdi_init);
+module_exit(s3c2410sdi_exit);
+
+MODULE_DESCRIPTION("Samsung S3C2410 Multimedia Card Interface driver");
+MODULE_LICENSE("GPL");
diff -Nru linux-2.6.10/drivers/mmc/s3c2410mci.h linux-2.6.10-h1940/drivers/mmc/s3c2410mci.h
--- linux-2.6.10/drivers/mmc/s3c2410mci.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/drivers/mmc/s3c2410mci.h	2005-01-17 13:24:16.000000000 +0000
@@ -0,0 +1,45 @@
+/*
+ *  linux/drivers/mmc/s3c2410mci.h - Samsung S3C2410 SDI Interface driver
+ *
+ *  Copyright (C) 2004 Thomas Kleffel, 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 version 2 as
+ * published by the Free Software Foundation.
+ */
+
+struct clk;
+
+//FIXME: DMA Resource management ?!
+#define S3C2410SDI_DMA 0
+
+enum s3c2410sdi_waitfor {
+	COMPLETION_NONE,
+	COMPLETION_CMDSENT,
+	COMPLETION_RSPFIN,
+	COMPLETION_XFERFINISH,
+	COMPLETION_XFERFINISH_RSPFIN,
+};
+
+struct s3c2410sdi_host {
+	struct mmc_host		*mmc;
+
+	struct resource		*mem;
+	struct clk		*clk;
+	void __iomem		*base;
+	int			irq;
+	int			irq_cd;
+	int			dma;
+#ifdef S3C2410SDI_DMA_BACKBUF
+	dma_addr_t		 dmabuf_phys;
+	void			*dmabuf_log;
+	unsigned int		 dmabuf_size;
+#endif
+	
+	struct mmc_request	*mrq;
+
+	spinlock_t		complete_lock;
+	struct completion	complete_request;
+	struct completion	complete_dma;
+	enum s3c2410sdi_waitfor	complete_what;
+};
diff -Nru linux-2.6.10/drivers/usb/gadget/ether.c linux-2.6.10-h1940/drivers/usb/gadget/ether.c
--- linux-2.6.10/drivers/usb/gadget/ether.c	2004-12-24 21:35:39.000000000 +0000
+++ linux-2.6.10-h1940/drivers/usb/gadget/ether.c	2004-12-31 09:22:54.000000000 +0000
@@ -260,6 +260,9 @@
 #define	DEV_CONFIG_SUBSET
 #endif
 
+#ifdef CONFIG_USB_GADGET_S3C2410
+#define DEV_CONFIG_CDC
+#endif
 
 /*-------------------------------------------------------------------------*/
 
@@ -364,7 +367,7 @@
 	.bLength =		sizeof device_desc,
 	.bDescriptorType =	USB_DT_DEVICE,
 
-	.bcdUSB =		__constant_cpu_to_le16 (0x0200),
+	.bcdUSB =		__constant_cpu_to_le16 (0x0110),
 
 	.bDeviceClass =		USB_CLASS_COMM,
 	.bDeviceSubClass =	0,
@@ -2327,6 +2330,8 @@
 		device_desc.bcdDevice = __constant_cpu_to_le16 (0x0210);
 	} else if (gadget_is_pxa27x(gadget)) {
 		device_desc.bcdDevice = __constant_cpu_to_le16 (0x0211);
+        } else if (gadget_is_s3c2410(gadget)) {
+                device_desc.bcdDevice = __constant_cpu_to_le16 (0x020A);
 	} else {
 		/* can't assume CDC works.  don't want to default to
 		 * anything less functional on CDC-capable hardware,
diff -Nru linux-2.6.10/drivers/usb/gadget/gadget_chips.h linux-2.6.10-h1940/drivers/usb/gadget/gadget_chips.h
--- linux-2.6.10/drivers/usb/gadget/gadget_chips.h	2004-12-24 21:33:47.000000000 +0000
+++ linux-2.6.10-h1940/drivers/usb/gadget/gadget_chips.h	2004-12-31 09:12:03.000000000 +0000
@@ -74,6 +74,12 @@
 #define	gadget_is_pxa27x(g)	0
 #endif
 
+#ifdef CONFIG_USB_GADGET_S3C2410
+#define gadget_is_s3c2410(g)    !strcmp("s3c2410_udc", (g)->name)
+#else
+#define gadget_is_s3c2410(g)    0
+#endif
+
 // CONFIG_USB_GADGET_AT91RM9200
 // CONFIG_USB_GADGET_SX2
 // CONFIG_USB_GADGET_AU1X00
diff -Nru linux-2.6.10/drivers/usb/gadget/Kconfig linux-2.6.10-h1940/drivers/usb/gadget/Kconfig
--- linux-2.6.10/drivers/usb/gadget/Kconfig	2004-12-24 21:34:30.000000000 +0000
+++ linux-2.6.10-h1940/drivers/usb/gadget/Kconfig	2004-12-31 09:12:03.000000000 +0000
@@ -157,7 +157,19 @@
 	depends on USB_GADGET_LH7A40X
 	default USB_GADGET
 
-
+config USB_GADGET_S3C2410
+	boolean "S3C2410"
+	depends on ARCH_S3C2410
+	help
+	  Samsung's S3C2410 is an ARM-4 processor with an integrated
+	  full speed USB 1.1 device controller.
+	  It has 4 configurable endpoints, as well as endpoint
+	  zero (for control transfers).
+config USB_S3C2410
+	tristate
+	depends on USB_GADGET_S3C2410
+	default USB_GADGET
+											    
 config USB_GADGET_DUMMY_HCD
 	boolean "Dummy HCD (DEVELOPMENT)"
 	depends on USB && EXPERIMENTAL
diff -Nru linux-2.6.10/drivers/usb/gadget/Makefile linux-2.6.10-h1940/drivers/usb/gadget/Makefile
--- linux-2.6.10/drivers/usb/gadget/Makefile	2004-12-24 21:33:59.000000000 +0000
+++ linux-2.6.10-h1940/drivers/usb/gadget/Makefile	2004-12-31 09:12:03.000000000 +0000
@@ -7,7 +7,7 @@
 obj-$(CONFIG_USB_GOKU)		+= goku_udc.o
 obj-$(CONFIG_USB_OMAP)		+= omap_udc.o
 obj-$(CONFIG_USB_LH7A40X)	+= lh7a40x_udc.o
-
+obj-$(CONFIG_USB_S3C2410)	+= s3c2410_udc.o
 #
 # USB gadget drivers
 #
diff -Nru linux-2.6.10/drivers/usb/gadget/s3c2410_udc.c linux-2.6.10-h1940/drivers/usb/gadget/s3c2410_udc.c
--- linux-2.6.10/drivers/usb/gadget/s3c2410_udc.c	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/drivers/usb/gadget/s3c2410_udc.c	2004-12-31 09:12:03.000000000 +0000
@@ -0,0 +1,1365 @@
+/*
+ * linux/drivers/usb/gadget/s3c2410_udc.c
+ * Samsung on-chip full speed USB device controllers
+ *
+ * Copyright (C) 2004 Herbert PĆ¶tzl - Arnaud Patard
+ *
+ * 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/config.h>
+#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/delay.h>
+#include <linux/ioport.h>
+#include <linux/sched.h>
+#include <linux/slab.h>
+#include <linux/smp_lock.h>
+#include <linux/errno.h>
+#include <linux/init.h>
+#include <linux/timer.h>
+#include <linux/list.h>
+#include <linux/interrupt.h>
+#include <linux/version.h>
+
+#include <linux/usb.h>
+#include <linux/usb_gadget.h>
+
+#include <asm/byteorder.h>
+#include <asm/io.h>
+#include <asm/irq.h>
+#include <asm/system.h>
+#include <asm/unaligned.h>
+#include <asm/arch/irqs.h>
+
+#include <asm/arch/hardware.h>
+#include <asm/arch/regs-clock.h>
+#include <asm/arch/regs-gpio.h>
+#include <asm/arch/regs-udc.h>
+#include <asm/hardware/clock.h>
+
+#include "s3c2410_udc.h"
+
+#define DRIVER_DESC     "S3C2410 USB Device Controller Gadget"
+#define DRIVER_VERSION  "29 Oct 2004"
+#define DRIVER_AUTHOR	"Herbert PĆ¶tzl <herbert@13thfloor.at>, Arnaud Patard <arnaud.patard@rtp-net.org>"
+
+static const char       gadget_name [] = "s3c2410_udc";
+static const char	driver_desc [] = DRIVER_DESC;
+
+static struct s3c2410_udc	*the_controller;
+static struct s3c2410_udc 	memory;
+static struct clk      		*udc_clock;
+
+/*------------------------- I/O ----------------------------------*/
+static void nuke (struct s3c2410_udc *udc, struct s3c2410_ep *ep)
+{
+	while (!list_empty (&ep->queue)) {
+		struct s3c2410_request  *req;
+		req = list_entry (ep->queue.next, struct s3c2410_request, queue);
+		list_del_init (&req->queue);
+		req->req.status = -ESHUTDOWN;
+		spin_unlock (&udc->lock);
+		req->req.complete (&ep->ep, &req->req);
+		spin_lock (&udc->lock);
+	}
+}
+
+/*
+ * 	done
+ */
+static void done(struct s3c2410_ep *ep, struct s3c2410_request *req, int status)
+{
+	list_del_init(&req->queue);
+
+	if (likely (req->req.status == -EINPROGRESS))
+		req->req.status = status;
+	else
+		status = req->req.status;
+
+	req->req.complete(&ep->ep, &req->req);
+}
+
+static inline void clear_ep_state (struct s3c2410_udc *dev)
+{
+	        unsigned i;
+		
+		/* hardware SET_{CONFIGURATION,INTERFACE} automagic resets endpoint
+		 * fifos, and pending transactions mustn't be continued in any case.
+		 */
+		 for (i = 1; i < S3C2410_ENDPOINTS; i++)
+			 nuke(dev, &dev->ep[i]);
+}
+
+static inline int fifo_count_out(void)
+{
+	int tmp;
+	
+	tmp = __raw_readl(S3C2410_UDC_OUT_FIFO_CNT2_REG) << 8;
+	tmp |= __raw_readl(S3C2410_UDC_OUT_FIFO_CNT1_REG);
+	
+	return tmp & 0xffff;
+}
+
+/*
+ * 	write_packet
+ */
+static inline int 
+write_packet(u32 fifo, struct s3c2410_request *req, unsigned max)
+{
+	unsigned	len;
+	u8		*buf;
+
+	buf = req->req.buf + req->req.actual;
+	len = min(req->req.length - req->req.actual, max);
+	dprintk("write_packet %d %d %d ",req->req.actual,req->req.length,len);
+	req->req.actual += len;
+	dprintk("%d\n",req->req.actual);
+
+	max = len;
+	while (max--)
+		 __raw_writel(*buf++,fifo);
+	return len;
+}
+
+/*
+ * 	write_fifo
+ */
+// return:  0 = still running, 1 = completed, negative = errno
+static int write_fifo(struct s3c2410_ep *ep, struct s3c2410_request *req)
+{
+	u8		*buf;
+	unsigned	count;
+	int		is_last;
+	u32		idx,fifo_reg;
+	u32		ep_csr;
+
+
+	switch(ep->bEndpointAddress&0x7F)
+	{
+		default:
+		case 0: idx = 0;
+			fifo_reg = S3C2410_UDC_EP0_FIFO_REG;
+			break;
+		case 1:
+			idx = 1;
+			fifo_reg = S3C2410_UDC_EP1_FIFO_REG;
+			break;
+		case 2:
+			idx = 2;
+			fifo_reg = S3C2410_UDC_EP2_FIFO_REG;
+			break;
+
+		case 3:
+			idx = 3;
+			fifo_reg = S3C2410_UDC_EP3_FIFO_REG;
+			break;
+
+		case 4:
+			idx = 4;
+			fifo_reg = S3C2410_UDC_EP4_FIFO_REG;
+			break;
+
+	}
+	
+	buf = req->req.buf + req->req.actual;
+	prefetch(buf);
+
+	count = ep->ep.maxpacket;
+	count = write_packet(fifo_reg, req, count);
+
+	/* last packet is often short (sometimes a zlp) */
+	if (count < ep->ep.maxpacket)
+		is_last = 1;
+	else if (req->req.length == req->req.actual
+			&& !req->req.zero)
+		is_last = 2;
+	else
+		is_last = 0;
+
+	dprintk("Written ep%d %d. %d of %d b [last %d]\n",idx,count,req->req.actual,req->req.length,is_last);
+
+	if (is_last)
+	{
+		/* The order is important. It prevents to send 2 packet at the same time
+		 **/
+		if (!idx)
+		{
+			set_ep0_de_in();
+			ep->dev->ep0state=EP0_IDLE;
+		}
+		else
+		{
+			 __raw_writel(idx, S3C2410_UDC_INDEX_REG);
+			 ep_csr=__raw_readl(S3C2410_UDC_IN_CSR1_REG);
+			 __raw_writel(idx, S3C2410_UDC_INDEX_REG);
+			 __raw_writel(ep_csr|S3C2410_UDC_ICSR1_PKTRDY,S3C2410_UDC_IN_CSR1_REG);
+		}
+		done(ep, req, 0);
+	}
+	else
+	{
+		if (!idx)
+		{
+			set_ep0_ipr();
+		}
+		else
+		{
+			__raw_writel(idx, S3C2410_UDC_INDEX_REG);
+			ep_csr=__raw_readl(S3C2410_UDC_IN_CSR1_REG);
+			__raw_writel(idx, S3C2410_UDC_INDEX_REG);
+			__raw_writel(ep_csr|S3C2410_UDC_ICSR1_PKTRDY,S3C2410_UDC_IN_CSR1_REG);
+		}
+	}
+	return is_last;
+}
+
+static inline int 
+read_packet(u32 fifo, u8 *buf, struct s3c2410_request *req, unsigned avail)
+{
+	unsigned	len;
+
+	len = min(req->req.length - req->req.actual, avail);
+	req->req.actual += len;
+	avail = len;
+
+	while (avail--)
+		*buf++ = (unsigned char)__raw_readl(fifo);
+	return len;
+}
+
+// return:  0 = still running, 1 = queue empty, negative = errno
+static int read_fifo(struct s3c2410_ep *ep, struct s3c2410_request *req)
+{
+	u8		*buf;
+	u32		ep_csr;
+	unsigned	bufferspace;
+	int is_last=1;
+	unsigned avail;
+	int fifo_count = 0;
+	u32		idx,fifo_reg;
+
+
+	switch(ep->bEndpointAddress&0x7F)
+	{
+		default:
+		case 0: idx = 0;
+			fifo_reg = S3C2410_UDC_EP0_FIFO_REG;
+			break;
+		case 1:
+			idx = 1;
+			fifo_reg = S3C2410_UDC_EP1_FIFO_REG;
+			break;
+		case 2:
+			idx = 2;
+			fifo_reg = S3C2410_UDC_EP2_FIFO_REG;
+			break;
+
+		case 3:
+			idx = 3;
+			fifo_reg = S3C2410_UDC_EP3_FIFO_REG;
+			break;
+
+		case 4:
+			idx = 4;
+			fifo_reg = S3C2410_UDC_EP4_FIFO_REG;
+			break;
+
+	}
+
+
+	buf = req->req.buf + req->req.actual;
+	bufferspace = req->req.length - req->req.actual;
+	if (!bufferspace)
+	{
+		dprintk("read_fifo: Buffer full !!\n");
+		return -1;
+	}
+
+
+	__raw_writel(idx, S3C2410_UDC_INDEX_REG);
+		
+        fifo_count = fifo_count_out();
+	dprintk("fifo_read fifo count : %d\n",fifo_count);
+
+	if (fifo_count > ep->ep.maxpacket)
+		avail = ep->ep.maxpacket;
+	else
+		avail = fifo_count;
+
+	fifo_count=read_packet(fifo_reg,buf,req,avail);
+
+	if (fifo_count < ep->ep.maxpacket) {
+		is_last = 1;
+		/* overflowed this request?  flush extra data */
+		if (fifo_count != avail) {
+			req->req.status = -EOVERFLOW;
+		}
+	} else {
+		if (req->req.length == req->req.actual) 
+			is_last = 1;
+		else
+			is_last = 0;
+	}
+
+	__raw_writel(idx, S3C2410_UDC_INDEX_REG);
+	fifo_count = fifo_count_out();		
+	dprintk("fifo_read fifo count : %d [last %d]\n",fifo_count,is_last);
+
+/*	if (idx)
+		is_last=0;*/
+	
+	if (is_last) {
+		if (!idx)
+		{
+			set_ep0_de_out();
+			ep->dev->ep0state=EP0_IDLE;
+		}
+		else
+		{
+			__raw_writel(idx, S3C2410_UDC_INDEX_REG);
+			ep_csr=__raw_readl(S3C2410_UDC_OUT_CSR1_REG);
+			__raw_writel(idx, S3C2410_UDC_INDEX_REG);
+			__raw_writel(ep_csr&~S3C2410_UDC_OCSR1_PKTRDY,S3C2410_UDC_OUT_CSR1_REG);
+		}
+		done(ep, req, 0);
+		if (!list_empty(&ep->queue))
+		{
+			is_last=0;
+			req = container_of(ep->queue.next,
+				struct s3c2410_request, queue);
+		}
+		else
+			is_last=1;
+//		is_last = 0;
+
+	}
+	else
+	{
+		if (!idx)
+		{
+			clear_ep0_opr();
+		}
+		else
+		{	
+			__raw_writel(idx, S3C2410_UDC_INDEX_REG);
+			ep_csr=__raw_readl(S3C2410_UDC_OUT_CSR1_REG);
+			__raw_writel(idx, S3C2410_UDC_INDEX_REG);
+			__raw_writel(ep_csr&~S3C2410_UDC_OCSR1_PKTRDY,S3C2410_UDC_OUT_CSR1_REG);
+
+		}
+	}
+	
+
+	return is_last;
+}
+
+
+static int
+read_fifo_crq(struct usb_ctrlrequest *crq)
+{
+	int bytes_read = 0;
+	int fifo_count = 0;
+	int i;
+	
+	
+	unsigned char *pOut = (unsigned char*)crq;
+	
+	__raw_writel(0, S3C2410_UDC_INDEX_REG);
+	
+	fifo_count = fifo_count_out();
+	
+	BUG_ON( fifo_count > 8 );
+	
+	dprintk("read_fifo_crq(): fifo_count=%d\n", fifo_count );
+	while( fifo_count-- ) {
+		i = 0;
+		
+		do {
+			*pOut = (unsigned char)__raw_readl(S3C2410_UDC_EP0_FIFO_REG);
+			udelay( 10 );
+			i++;
+		} while((fifo_count_out() != fifo_count) && (i < 10));
+		
+		if ( i == 10 ) {
+			printk("read_fifo(): read failure\n");
+		}
+		
+		pOut++;
+		bytes_read++;
+	}
+	
+	dprintk("read_fifo_crq: len=%d %02x:%02x {%x,%x,%x}\n",
+			bytes_read, crq->bRequest, crq->bRequestType,
+			crq->wValue, crq->wIndex, crq->wLength);
+	
+	return bytes_read;
+}
+
+/*------------------------- usb state machine -------------------------------*/
+static void handle_ep0(struct s3c2410_udc *dev)
+{
+	u32			ep0csr;
+	struct s3c2410_ep	*ep = &dev->ep [0];
+	struct s3c2410_request	*req;
+	struct usb_ctrlrequest	crq;
+
+	if (list_empty(&ep->queue))
+    		req = 0;
+	else
+		req = list_entry(ep->queue.next, struct s3c2410_request, queue);
+
+  	
+	__raw_writel(0, S3C2410_UDC_INDEX_REG);
+	ep0csr = __raw_readl(S3C2410_UDC_IN_CSR1_REG);
+
+	/* clear stall status */
+	if (ep0csr & S3C2410_UDC_EP0_CSR_SENTSTL) {
+		/* FIXME */
+		nuke(dev, ep);
+	    	dprintk("... clear SENT_STALL ...\n");
+	    	clear_ep0_sst();
+	    	ep0csr &= ~(S3C2410_UDC_EP0_CSR_SENTSTL|S3C2410_UDC_EP0_CSR_SENDSTL);
+		__raw_writel(0, S3C2410_UDC_INDEX_REG);
+		__raw_writel(ep0csr, S3C2410_UDC_IN_CSR1_REG);
+		dev->ep0state = EP0_IDLE;
+		return;
+	}
+
+	/* clear setup end */
+	if (ep0csr & S3C2410_UDC_EP0_CSR_SE
+	    	/* && dev->ep0state != EP0_IDLE */) {
+	    	dprintk("... serviced SETUP_END ...\n");
+		nuke(dev, ep);
+	    	clear_ep0_se();
+		dev->ep0state = EP0_IDLE;
+		return;
+	}
+
+
+	switch (dev->ep0state) {
+	case EP0_IDLE:
+		/* start control request? */
+		if (ep0csr & S3C2410_UDC_EP0_CSR_OPKRDY) {
+			int len, ret, tmp;
+			
+			nuke (dev, ep);
+
+			len = read_fifo_crq(&crq);
+			if (len != sizeof(crq)) {
+			  	dprintk("setup begin: fifo READ ERROR" 
+				    	" wanted %d bytes got %d. Stalling out...\n", 
+					sizeof(crq), len);
+ 				set_ep0_ss();
+				return;
+			}
+
+
+			/* cope with automagic for some standard requests. */
+			dev->req_std = (crq.bRequestType & USB_TYPE_MASK)
+						== USB_TYPE_STANDARD;
+			dev->req_config = 0;
+			dev->req_pending = 1;
+			switch (crq.bRequest) {
+				/* hardware restricts gadget drivers here! */
+				case USB_REQ_SET_CONFIGURATION:
+				    	dprintk("USB_REQ_SET_CONFIGURATION ... \n");
+					if (crq.bRequestType == USB_RECIP_DEVICE) {
+config_change:
+						dev->req_config = 1;
+						clear_ep_state(dev);
+						set_ep0_de_out();
+					}
+					break;
+				/* ... and here, even more ... */
+				case USB_REQ_SET_INTERFACE:
+				    	dprintk("USB_REQ_SET_INTERFACE ... \n");
+					if (crq.bRequestType == USB_RECIP_INTERFACE) {
+						goto config_change;
+					}
+					break;
+
+				/* hardware was supposed to hide this */
+				case USB_REQ_SET_ADDRESS:
+				    	dprintk("USB_REQ_SET_ADDRESS ... \n");
+					if (crq.bRequestType == USB_RECIP_DEVICE) {
+						tmp = crq.wValue & 0x7F;
+						dev->address = tmp;
+ 						__raw_writel((tmp | 0x80), S3C2410_UDC_FUNC_ADDR_REG);
+						set_ep0_de_out();
+						return;
+					}
+					break;
+				default:
+					clear_ep0_opr();
+					break;
+			}
+
+			if (crq.bRequestType & USB_DIR_IN)
+				dev->ep0state = EP0_IN_DATA_PHASE;
+			else
+				dev->ep0state = EP0_OUT_DATA_PHASE;
+			ret = dev->driver->setup(&dev->gadget, &crq);
+			if (ret < 0) {
+				if (dev->req_config) {
+					dprintk("config change %02x fail %d?\n",
+						crq.bRequest, ret);
+					return;
+				}
+				if (ret == -EOPNOTSUPP)
+					dprintk("Operation not supported\n");
+				else
+					dprintk("dev->driver->setup failed. (%d)\n",ret);
+				dev->ep0state = EP0_STALL;
+			/* deferred i/o == no response yet */
+			} else if (dev->req_pending) {
+			    	dprintk("dev->req_pending... what now?\n");
+				dev->req_pending=0;
+			}
+			dprintk("ep0state %s\n",ep0states[dev->ep0state]);
+		}
+		break;
+	case EP0_IN_DATA_PHASE:			/* GET_DESCRIPTOR etc */
+	    	dprintk("EP0_IN_DATA_PHASE ... what now?\n");
+		if (!(ep0csr & 2) && req)
+		{
+			write_fifo(ep, req);
+		}
+		break;
+	case EP0_OUT_DATA_PHASE:		/* SET_DESCRIPTOR etc */
+	    	dprintk("EP0_OUT_DATA_PHASE ... what now?\n");
+		if ((ep0csr & 1) && req ) {
+			read_fifo(ep,req);
+		}
+		break;
+	case EP0_END_XFER:
+	    	dprintk("EP0_END_XFER ... what now?\n");
+		dev->ep0state=EP0_IDLE;
+		break;
+	case EP0_STALL:
+	    	set_ep0_ss();
+		break;
+	}
+}
+/*
+ * 	handle_ep - Manage I/O endpoints
+ */
+static void handle_ep(struct s3c2410_ep *ep)
+{
+	struct s3c2410_request	*req;
+	int			is_in = ep->bEndpointAddress & USB_DIR_IN;
+	u32			ep_csr1;
+	u32			idx;
+
+	if (likely (!list_empty(&ep->queue)))
+		req = list_entry(ep->queue.next,
+				struct s3c2410_request, queue);
+	else
+		req = 0;
+		
+	idx = (u32)(ep->bEndpointAddress&0x7F);
+
+	if (is_in) {
+		__raw_writel(idx, S3C2410_UDC_INDEX_REG);
+		ep_csr1 = __raw_readl(S3C2410_UDC_IN_CSR1_REG);
+		dprintk("ep%01d write csr:%02x ",idx,ep_csr1);
+		
+		if (ep_csr1 & S3C2410_UDC_ICSR1_SENTSTL)
+		{
+			dprintk("st\n");
+			__raw_writel(idx, S3C2410_UDC_INDEX_REG);
+			__raw_writel(0x00,S3C2410_UDC_IN_CSR1_REG);
+			return;
+		}
+
+		if (!(ep_csr1 & S3C2410_UDC_ICSR1_PKTRDY) && req)
+		{
+			write_fifo(ep,req);
+		}
+	} 
+	else {
+		__raw_writel(idx, S3C2410_UDC_INDEX_REG);
+		ep_csr1 = __raw_readl(S3C2410_UDC_OUT_CSR1_REG);
+		dprintk("ep%01d read csr:%02x\n",idx,ep_csr1);
+		
+		if (ep_csr1 & S3C2410_UDC_OCSR1_SENTSTL)
+		{
+			__raw_writel(idx, S3C2410_UDC_INDEX_REG);
+			__raw_writel(0x00,S3C2410_UDC_OUT_CSR1_REG);
+			return;
+		}
+		if( (ep_csr1 & S3C2410_UDC_OCSR1_PKTRDY) && req)
+		{
+			read_fifo(ep,req);
+		}
+	}
+}
+
+/*
+ *      s3c2410_udc_irq - interrupt handler
+ */
+static irqreturn_t
+s3c2410_udc_irq(int irq, void *_dev, struct pt_regs *r)
+{
+	struct s3c2410_udc      *dev = _dev;
+	int usb_status;
+	int usbd_status;
+	int pwr_reg;
+	int ep0csr;
+	int     i;
+	u32	idx = __raw_readl(S3C2410_UDC_INDEX_REG);
+
+	usb_status = __raw_readl(S3C2410_UDC_USB_INT_REG);
+	usbd_status = __raw_readl(S3C2410_UDC_EP_INT_REG);
+	pwr_reg = __raw_readl(S3C2410_UDC_PWR_REG);
+
+	S3C2410_UDC_SETIX(EP0);
+	ep0csr = __raw_readl(S3C2410_UDC_IN_CSR1_REG);
+
+	dprintk("usbs=%02x, usbds=%02x, pwr=%02x ep0csr=%02x\n", usb_status, usbd_status, pwr_reg,ep0csr);
+
+
+	/*
+	 * Now, handle interrupts. There's two types : 
+	 * - Reset, Resume, Suspend coming -> usb_int_reg
+	 * - EP -> ep_int_reg
+	 */
+
+	/* RESET */
+	if (usb_status & S3C2410_UDC_USBINT_RESET)
+	{
+		dprintk("USB reset\n");
+
+	    	__raw_writel(0x00, S3C2410_UDC_PWR_REG);
+		S3C2410_UDC_SETIX(EP0);
+		__raw_writel(S3C2410_UDC_MAXP_8, S3C2410_UDC_MAXP_REG);
+		__raw_writel(0x80, S3C2410_UDC_FUNC_ADDR_REG);
+//		clear_ep0_opr();
+		   
+		/* clear interrupt */
+		__raw_writel(S3C2410_UDC_USBINT_RESET,
+			S3C2410_UDC_USB_INT_REG);
+
+		dev->gadget.speed = USB_SPEED_FULL;
+		dev->ep0state = EP0_IDLE;
+	}
+
+	/* RESUME */
+	if (usb_status & S3C2410_UDC_USBINT_RESUME)
+	{
+		dprintk("USB resume\n");
+		
+		/* clear interrupt */
+		__raw_writel(S3C2410_UDC_USBINT_RESUME,
+			S3C2410_UDC_USB_INT_REG);
+
+		if (dev->gadget.speed != USB_SPEED_UNKNOWN
+			&& dev->driver
+			&& dev->driver->resume)
+			dev->driver->resume(&dev->gadget);
+	}
+
+	/* SUSPEND */
+	if (usb_status & S3C2410_UDC_USBINT_SUSPEND)
+	{
+		dprintk("USB suspend\n");
+			
+		/* clear interrupt */
+		__raw_writel(S3C2410_UDC_USBINT_SUSPEND,
+			S3C2410_UDC_USB_INT_REG);
+				
+		if (dev->gadget.speed != USB_SPEED_UNKNOWN
+				&& dev->driver
+				&& dev->driver->suspend)
+			dev->driver->suspend(&dev->gadget);
+
+		dev->ep0state = EP0_IDLE;
+	}
+
+	/* EP */
+	/* control traffic */
+	/* check on ep0csr != 0 is not a good idea as clearing in_pkt_ready
+	 * generate an interrupt 
+	 */
+	if (usbd_status & S3C2410_UDC_INT_EP0)
+	{
+		dprintk("USB ep0 irq\n");
+		/* Clear the interrupt bit by setting it to 1 */
+		__raw_writel(S3C2410_UDC_INT_EP0, S3C2410_UDC_EP_INT_REG);
+		handle_ep0(dev);
+	}
+	/* endpoint data transfers */
+	for (i = 1; i < S3C2410_ENDPOINTS; i++) {
+		u32 tmp = 1 << i;
+		if (usbd_status & tmp) {
+			dprintk("USB ep%d irq\n", i);
+
+			/* Clear the interrupt bit by setting it to 1 */
+			__raw_writel(tmp, S3C2410_UDC_EP_INT_REG);
+			handle_ep(&dev->ep[i]);
+		}
+	}
+	
+
+	dprintk("irq: %d done.\n", irq);
+	__raw_writel(idx,S3C2410_UDC_INDEX_REG);
+	return IRQ_HANDLED;		
+}
+
+/*
+ * udc_reinit
+ */
+static void udc_reinit(struct s3c2410_udc *dev)
+{
+	u32     i;
+	
+	/* device/ep0 records init */
+	INIT_LIST_HEAD (&dev->gadget.ep_list);
+	INIT_LIST_HEAD (&dev->gadget.ep0->ep_list);
+	dev->ep0state = EP0_IDLE;
+	
+	/* basic endpoint records init */
+	for (i = 0; i < S3C2410_ENDPOINTS; i++) {
+		struct s3c2410_ep *ep = &dev->ep[i];
+		if (i != 0)
+			list_add_tail (&ep->ep.ep_list, &dev->gadget.ep_list);
+
+		ep->desc = 0;
+		INIT_LIST_HEAD (&ep->queue);
+	}
+}
+
+/*------------------------- s3c2410_ep_ops ----------------------------------*/
+
+/*
+ * 	s3c2410_ep_enable
+ */
+static int
+s3c2410_ep_enable (struct usb_ep *_ep, const struct usb_endpoint_descriptor *desc)
+{
+	struct s3c2410_udc	*dev;
+	struct s3c2410_ep	*ep;
+	u32			max, tmp;
+	unsigned long		flags;
+	u32			csr1,csr2;
+	u32			int_en_reg;
+
+
+	ep = container_of (_ep, struct s3c2410_ep, ep);
+	if (!_ep || !desc || ep->desc || _ep->name == ep0name
+			|| desc->bDescriptorType != USB_DT_ENDPOINT)
+		return -EINVAL;
+	dev = ep->dev;
+	if (!dev->driver || dev->gadget.speed == USB_SPEED_UNKNOWN)
+		return -ESHUTDOWN;
+
+	max = le16_to_cpu (desc->wMaxPacketSize) & 0x1fff;
+
+	spin_lock_irqsave (&dev->lock, flags);
+	_ep->maxpacket = max & 0x7ff;
+	ep->desc = desc;
+	ep->bEndpointAddress = desc->bEndpointAddress;
+
+	/* set max packet */
+	__raw_writel(ep->num, S3C2410_UDC_INDEX_REG);
+	__raw_writel(max>>3,S3C2410_UDC_MAXP_REG);
+
+
+	/* set type, direction, address; reset fifo counters */
+	if (desc->bEndpointAddress & USB_DIR_IN)
+	{
+		csr1 = S3C2410_UDC_ICSR1_FFLUSH|S3C2410_UDC_ICSR1_CLRDT;
+		csr2 = S3C2410_UDC_ICSR2_MODEIN|S3C2410_UDC_ICSR2_DMAIEN;
+		
+		__raw_writel(ep->num, S3C2410_UDC_INDEX_REG);
+		__raw_writel(csr1,S3C2410_UDC_IN_CSR1_REG);
+		__raw_writel(ep->num, S3C2410_UDC_INDEX_REG);
+		__raw_writel(csr2,S3C2410_UDC_IN_CSR2_REG);
+	}
+	else
+	{
+		/* don't flush he in fifo or there will be an interrupt for that
+		 * endpoint */ 
+		csr1 = S3C2410_UDC_ICSR1_CLRDT;
+		csr2 = S3C2410_UDC_ICSR2_DMAIEN;
+
+		__raw_writel(ep->num, S3C2410_UDC_INDEX_REG);
+		__raw_writel(csr1,S3C2410_UDC_IN_CSR1_REG);
+		__raw_writel(ep->num, S3C2410_UDC_INDEX_REG);
+		__raw_writel(csr2,S3C2410_UDC_IN_CSR2_REG);
+		
+		csr1 = S3C2410_UDC_OCSR1_FFLUSH | S3C2410_UDC_OCSR1_CLRDT;
+		csr2 = S3C2410_UDC_OCSR2_DMAIEN;
+		
+		__raw_writel(ep->num, S3C2410_UDC_INDEX_REG);
+		__raw_writel(csr1,S3C2410_UDC_OUT_CSR1_REG);
+		__raw_writel(ep->num, S3C2410_UDC_INDEX_REG);
+		__raw_writel(csr2,S3C2410_UDC_OUT_CSR2_REG);
+	}
+
+	
+	/* enable irqs */
+	int_en_reg = __raw_readl(S3C2410_UDC_EP_INT_EN_REG);
+	__raw_writel(int_en_reg | (1<<ep->num),S3C2410_UDC_EP_INT_EN_REG);
+
+
+	/* print some debug message */
+	tmp = desc->bEndpointAddress;
+	dprintk ("enable %s(%d) ep%x%s-blk max %02x\n",
+		_ep->name,ep->num, tmp, desc->bEndpointAddress & USB_DIR_IN ? "in" : "out", max);
+
+	spin_unlock_irqrestore (&dev->lock, flags);
+	
+	return 0;
+}
+
+/*
+ * s3c2410_ep_disable
+ */
+static int s3c2410_ep_disable (struct usb_ep *_ep)
+{
+	struct s3c2410_ep	*ep = container_of(_ep, struct s3c2410_ep, ep);
+	unsigned long	flags;
+
+	if (!_ep || !ep->desc) {
+		dprintk("%s not enabled\n",
+			_ep ? ep->ep.name : NULL);
+		return -EINVAL;
+	}
+
+	spin_lock_irqsave(&ep->dev->lock, flags);
+	ep->desc = 0;
+	
+	nuke (ep->dev, ep);
+	ep->ep.maxpacket = EP_FIFO_SIZE; 
+
+	spin_unlock_irqrestore(&ep->dev->lock, flags);
+
+	dprintk("%s disabled\n", _ep->name);
+
+	return 0;
+}
+
+/*
+ * s3c2410_alloc_request
+ */
+static struct usb_request *
+s3c2410_alloc_request (struct usb_ep *_ep, int mem_flags)
+{
+	struct s3c2410_ep	*ep;
+	struct s3c2410_request	*req;
+
+    	printk("s3c2410_alloc_request(ep=%p,flags=%d)\n", _ep, mem_flags);
+
+	ep = container_of (_ep, struct s3c2410_ep, ep);
+	if (!_ep)
+		return 0;
+
+	req = kmalloc (sizeof *req, mem_flags);
+	if (!req)
+		return 0;
+	memset (req, 0, sizeof *req);
+	INIT_LIST_HEAD (&req->queue);
+	return &req->req;
+}
+
+/*
+ * s3c2410_free_request
+ */
+static void
+s3c2410_free_request (struct usb_ep *_ep, struct usb_request *_req)
+{
+	struct s3c2410_ep	*ep;
+	struct s3c2410_request	*req;
+
+    	printk("s3c2410_free_request(ep=%p,req=%p)\n", _ep, _req);
+
+	ep = container_of (_ep, struct s3c2410_ep, ep);
+	if (!ep || !_req || (!ep->desc && _ep->name != ep0name))
+		return;
+
+	req = container_of (_req, struct s3c2410_request, req);
+	WARN_ON (!list_empty (&req->queue));
+	kfree (req);
+}
+
+/*
+ * 	s3c2410_alloc_buffer
+ */
+static void *
+s3c2410_alloc_buffer (
+	struct usb_ep *_ep,
+	unsigned bytes,
+	dma_addr_t *dma,
+	int mem_flags)
+{
+	char *retval;
+
+    	printk("s3c2410_alloc_buffer()\n");
+
+	if (!the_controller->driver)
+		return 0;
+	retval = kmalloc (bytes, mem_flags);
+	*dma = (dma_addr_t) retval;
+	return retval;
+}
+
+/*
+ * s3c2410_free_buffer
+ */
+static void
+s3c2410_free_buffer (
+	struct usb_ep *_ep,
+	void *buf,
+	dma_addr_t dma,
+	unsigned bytes)
+{
+    	printk("s3c2410_free_buffer()\n");
+
+	if (bytes)
+		kfree (buf);
+}
+
+/*
+ * 	s3c2410_queue
+ */
+static int
+s3c2410_queue(struct usb_ep *_ep, struct usb_request *_req, int gfp_flags)
+{
+	struct s3c2410_request	*req;
+	struct s3c2410_ep	*ep;
+	struct s3c2410_udc	*dev;
+	u32			ep_csr=0;
+	int 			fifo_count=0;
+
+	req = container_of(_req, struct s3c2410_request, req);
+	if (unlikely (!_req || !_req->complete || !_req->buf
+	|| !list_empty(&req->queue))) {
+		if (!_req)
+			dprintk("s3c2410_queue: 1 X X X\n");
+		else
+		{
+			dprintk("s3c2410_queue: 0 %01d %01d %01d\n",!_req->complete,!_req->buf, !list_empty(&req->queue));
+		}
+		return -EINVAL;
+	}
+
+	ep = container_of(_ep, struct s3c2410_ep, ep);
+	if (unlikely (!_ep || (!ep->desc && ep->ep.name != ep0name))) {
+		dprintk("s3c2410_queue: inval 2\n");
+		return -EINVAL;
+	}
+
+	dev = ep->dev;
+	if (unlikely (!dev->driver
+			|| dev->gadget.speed == USB_SPEED_UNKNOWN)) {
+		return -ESHUTDOWN;
+	}
+
+	/* iso is always one packet per request, that's the only way
+	 * we can report per-packet status.  that also helps with dma.
+	 */
+	if (unlikely (ep->bmAttributes == USB_ENDPOINT_XFER_ISOC
+			&& req->req.length > le16_to_cpu
+						(ep->desc->wMaxPacketSize)))
+		return -EMSGSIZE;
+
+	_req->status = -EINPROGRESS;
+	_req->actual = 0;
+
+	if (ep->bEndpointAddress)
+	{
+		__raw_writel(ep->bEndpointAddress&0x7F,S3C2410_UDC_INDEX_REG);
+		ep_csr = __raw_readl(ep->bEndpointAddress&USB_DIR_IN ? S3C2410_UDC_IN_CSR1_REG : S3C2410_UDC_OUT_CSR1_REG);
+		fifo_count=fifo_count_out();
+	}
+	/* kickstart this i/o queue? */
+	if (list_empty(&ep->queue)) {
+		if (ep->bEndpointAddress == 0 /* ep0 */) {
+
+			switch (dev->ep0state) {
+			case EP0_IN_DATA_PHASE:
+				if (write_fifo(ep, req))
+				{
+					req = 0;
+				}
+				break;
+
+			case EP0_OUT_DATA_PHASE:
+				/* nothing to do here */
+				dev->ep0state = EP0_IDLE;
+				break;
+
+			default:
+				return -EL2HLT;
+			}
+		}
+		else if ((ep->bEndpointAddress & USB_DIR_IN) != 0
+				&& (!(ep_csr&S3C2410_UDC_OCSR1_PKTRDY)) && write_fifo(ep, req)) {
+			req = 0;
+		} else if ((ep_csr & S3C2410_UDC_OCSR1_PKTRDY) && fifo_count && read_fifo(ep, req)) {
+			req = 0;
+		}
+
+	}
+
+	/* pio or dma irq handler advances the queue. */
+	if (likely (req != 0))
+		list_add_tail(&req->queue, &ep->queue);
+	dprintk("s3c2410_queue normal end\n");
+	return 0;
+}
+
+/* 
+ * 	s3c2410_dequeue
+ */
+static int s3c2410_dequeue (struct usb_ep *_ep, struct usb_request *_req)
+{
+	struct s3c2410_ep	*ep;
+	struct s3c2410_udc	*udc;
+	int			retval = -EINVAL;
+	unsigned long		flags;
+	struct s3c2410_request	*req = 0;
+
+    	printk("s3c2410_dequeue(ep=%p,req=%p)\n", _ep, _req);
+
+	if (!the_controller->driver)
+		return -ESHUTDOWN;
+
+	if (!_ep || !_req)
+		return retval;
+	ep = container_of (_ep, struct s3c2410_ep, ep);
+	udc = container_of (ep->gadget, struct s3c2410_udc, gadget);
+
+	spin_lock_irqsave (&udc->lock, flags);
+	list_for_each_entry (req, &ep->queue, queue) {
+		if (&req->req == _req) {
+			list_del_init (&req->queue);
+			_req->status = -ECONNRESET;
+			retval = 0;
+			break;
+		}
+	}
+	spin_unlock_irqrestore (&udc->lock, flags);
+
+	if (retval == 0) {
+		dprintk( "dequeued req %p from %s, len %d buf %p\n",
+				req, _ep->name, _req->length, _req->buf);
+
+		_req->complete (_ep, _req);
+		done(ep, req, -ECONNRESET);
+	}
+	return retval;
+
+	return 0;
+}
+
+
+/* 
+ * s3c2410_set_halt
+ */
+static int
+s3c2410_set_halt (struct usb_ep *_ep, int value)
+{
+	return 0;
+}
+
+
+static const struct usb_ep_ops s3c2410_ep_ops = {
+	.enable         = s3c2410_ep_enable,
+	.disable        = s3c2410_ep_disable,
+	
+	.alloc_request  = s3c2410_alloc_request,
+	.free_request   = s3c2410_free_request,
+	
+	.alloc_buffer   = s3c2410_alloc_buffer,
+	.free_buffer    = s3c2410_free_buffer,
+	
+	.queue          = s3c2410_queue,
+	.dequeue        = s3c2410_dequeue,
+	
+	.set_halt       = s3c2410_set_halt,
+};
+
+/*------------------------- usb_gadget_ops ----------------------------------*/
+
+/*
+ * 	s3c2410_g_get_frame
+ */
+static int s3c2410_g_get_frame (struct usb_gadget *_gadget)
+{
+	int tmp;
+	
+	printk("s3c2410_g_get_frame()\n");
+
+	tmp = __raw_readl(S3C2410_UDC_FRAME_NUM2_REG) << 8;
+	tmp |= __raw_readl(S3C2410_UDC_FRAME_NUM1_REG);
+	
+	return tmp & 0xffff;
+}
+
+/*
+ * 	s3c2410_wakeup
+ */
+static int s3c2410_wakeup (struct usb_gadget *_gadget)
+{
+	
+	printk("s3c2410_wakeup()\n");
+	
+	return 0;
+}
+
+/*
+ * 	s3c2410_set_selfpowered
+ */
+static int s3c2410_set_selfpowered (struct usb_gadget *_gadget, int value)
+{
+	struct s3c2410_udc  *udc;
+	
+	printk("s3c2410_set_selfpowered()\n");
+	
+	udc = container_of (_gadget, struct s3c2410_udc, gadget);
+	
+	if (value)
+		udc->devstatus |= (1 << USB_DEVICE_SELF_POWERED);
+	else
+		udc->devstatus &= ~(1 << USB_DEVICE_SELF_POWERED);
+	
+	return 0;
+}
+                                                                                   
+
+
+static const struct usb_gadget_ops s3c2410_ops = {
+	.get_frame          = s3c2410_g_get_frame,
+	.wakeup             = s3c2410_wakeup,
+	.set_selfpowered    = s3c2410_set_selfpowered,
+};
+
+
+/*------------------------- gadget driver handling---------------------------*/
+
+/*
+ * 	nop_release
+ */
+static void nop_release (struct device *dev)
+{
+	        dprintk("%s %s\n", __FUNCTION__, dev->bus_id);
+}
+/*
+ *	usb_gadget_register_driver
+ */
+int
+usb_gadget_register_driver (struct usb_gadget_driver *driver)
+{
+	struct s3c2410_udc *udc = the_controller;
+	int		retval, i;
+
+    	printk("usb_gadget_register_driver() '%s'\n",
+		driver->driver.name);
+
+	if (!udc)
+		return -ENODEV;
+	if (udc->driver)
+		return -EBUSY;
+	if (!driver->bind || !driver->unbind || !driver->setup
+			|| driver->speed == USB_SPEED_UNKNOWN)
+		return -EINVAL;
+
+	udc->gadget.name = gadget_name;
+	udc->gadget.ops = &s3c2410_ops;
+	udc->gadget.is_dualspeed = 1;
+
+	udc->gadget.dev.release = nop_release;
+	udc->devstatus = 0;
+
+	INIT_LIST_HEAD (&udc->gadget.ep_list);
+	for (i = 0; i < S3C2410_ENDPOINTS; i++) {
+		struct s3c2410_ep *ep = &udc->ep[i];
+
+		if (!ep_name[i])
+			break;
+		ep->num = i;
+		ep->ep.name = ep_name[i];
+		ep->ep.ops = &s3c2410_ep_ops;
+		list_add_tail (&ep->ep.ep_list, &udc->gadget.ep_list);
+		ep->halted = ep->already_seen = ep->setup_stage = 0;
+
+		/* maxpacket differs between ep0 and others ep */
+		if (!i) 
+			ep->ep.maxpacket = EP0_FIFO_SIZE;
+		else
+			ep->ep.maxpacket = EP_FIFO_SIZE;
+		ep->last_io = jiffies;
+		ep->gadget = &udc->gadget;
+		ep->dev = udc;
+		ep->desc = 0;
+		INIT_LIST_HEAD (&ep->queue);
+	}
+
+	udc->gadget.ep0 = &udc->ep[0].ep;
+	udc->ep[0].ep.maxpacket = 8;
+	list_del_init (&udc->ep[0].ep.ep_list);
+	INIT_LIST_HEAD(&udc->fifo_req.queue);
+
+	udc->driver = driver;
+	udc->gadget.dev.driver = &driver->driver;
+	dprintk( "binding gadget driver '%s'\n", driver->driver.name);
+	if ((retval = driver->bind (&udc->gadget)) != 0) {
+		udc->driver = 0;
+		udc->gadget.dev.driver = 0;
+		return retval;
+	}
+
+        driver->driver.bus = 0;
+	udc_reinit(udc);
+	
+	return 0;
+}
+
+
+/*
+ * 	usb_gadget_unregister_driver
+ */
+int
+usb_gadget_unregister_driver (struct usb_gadget_driver *driver)
+{
+	struct s3c2410_udc *udc = the_controller;
+
+	if (!udc)
+		return -ENODEV;
+	if (!driver || driver != udc->driver)
+		return -EINVAL;
+
+    	printk("usb_gadget_register_driver() '%s'\n",
+		driver->driver.name);
+
+	driver->unbind (&udc->gadget);
+	udc->driver = 0;
+
+	device_release_driver (&udc->gadget.dev);
+	driver_unregister (&driver->driver);
+
+	return 0;
+}
+
+/*---------------------------------------------------------------------------*/
+
+/*
+ *	probe - binds to the platform device
+ */
+static int __init s3c2410_udc_probe(struct device *_dev)
+{
+	struct s3c2410_udc *udc = &memory;
+	u32 int_en_reg;
+	int retval;
+
+
+	dprintk("s3c2410_udc_probe\n");
+
+
+	device_initialize(&udc->gadget.dev);
+	udc->gadget.dev.parent = _dev;
+	udc->gadget.dev.dma_mask = _dev->dma_mask;
+
+	the_controller = udc;
+	dev_set_drvdata(_dev, udc);
+	spin_lock_init (&udc->lock);
+
+	/* irq setup after old hardware state is cleaned up */
+	retval = request_irq(IRQ_USBD, s3c2410_udc_irq,
+		SA_INTERRUPT, gadget_name, udc);
+	if (retval != 0) {
+		printk(KERN_ERR "%s: can't get irq %i, err %d\n",
+			gadget_name, IRQ_USBD, retval);
+		return -EBUSY;
+	}
+	dprintk("%s: got irq %i\n", gadget_name, IRQ_USBD);
+	udc->got_irq = 1;
+
+	/* Enable ep0 interrupts */
+	int_en_reg = __raw_readl(S3C2410_UDC_EP_INT_EN_REG);
+	__raw_writel(int_en_reg | 1,S3C2410_UDC_EP_INT_EN_REG);
+
+	return 0;
+}
+
+/*
+ * 	s3c2410_udc_remove
+ */
+static int __exit s3c2410_udc_remove(struct device *_dev)
+{
+	struct s3c2410_udc *udc = _dev->driver_data;
+	
+	dprintk("s3c2410_udc_remove\n");
+	usb_gadget_unregister_driver(udc->driver);
+	
+	if (udc->got_irq) {
+		free_irq(IRQ_USBD, udc);
+		udc->got_irq = 0;
+	}
+	
+	dev_set_drvdata(_dev, 0);
+	kfree(udc);
+	
+	return 0;
+}
+                                                                               
+static struct device_driver udc_driver = {
+	.name		= "s3c2410-usbgadget",
+	.bus            = &platform_bus_type,
+	.probe          = s3c2410_udc_probe,
+	.remove         = __exit_p(s3c2410_udc_remove),			
+};
+
+static int __init udc_init(void)
+{
+	dprintk("%s: version %s\n", gadget_name, DRIVER_VERSION);
+	
+	udc_clock = clk_get(NULL, "usb-device");
+	if (!udc_clock) {
+		printk(KERN_INFO "failed to get udc clock source\n");
+		return -ENOENT;
+	}
+	clk_use(udc_clock);
+	clk_enable(udc_clock);
+	dprintk("got and enabled clock\n");
+						
+	
+	return driver_register(&udc_driver);
+}
+
+static void __exit udc_exit(void)
+{
+	if (udc_clock) {
+		clk_disable(udc_clock);
+		clk_unuse(udc_clock);
+		clk_put(udc_clock);
+		udc_clock = NULL;
+	}
+		
+	driver_unregister(&udc_driver);
+}
+
+
+EXPORT_SYMBOL (usb_gadget_unregister_driver);
+EXPORT_SYMBOL (usb_gadget_register_driver);
+
+module_init(udc_init);
+module_exit(udc_exit);
+
+MODULE_AUTHOR(DRIVER_AUTHOR);
+MODULE_DESCRIPTION(DRIVER_DESC);
+MODULE_LICENSE("GPL");
diff -Nru linux-2.6.10/drivers/usb/gadget/s3c2410_udc.h linux-2.6.10-h1940/drivers/usb/gadget/s3c2410_udc.h
--- linux-2.6.10/drivers/usb/gadget/s3c2410_udc.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/drivers/usb/gadget/s3c2410_udc.h	2004-12-31 09:12:03.000000000 +0000
@@ -0,0 +1,215 @@
+#ifndef _S3C2410_UDC_H
+#define _S3C2410_UDC_H
+
+struct s3c2410_ep {
+	struct list_head		queue;
+	unsigned long			last_io;	/* jiffies timestamp */
+	struct usb_gadget		*gadget;
+	struct s3c2410_udc		*dev;
+	const struct usb_endpoint_descriptor *desc;
+	struct usb_ep			ep;
+	u8				num;
+
+	unsigned short			fifo_size;
+	u8				bEndpointAddress;
+	u8				bmAttributes;
+
+	unsigned			halted : 1;
+	unsigned			already_seen : 1;
+	unsigned			setup_stage : 1;
+};
+
+static const char ep0name [] = "ep0";
+
+static const char *const ep_name[] = {
+	ep0name,                                /* everyone has ep0 */
+	/* s3c2410 four bidirectional bulk endpoints */
+	"ep1-bulk", "ep2-bulk", "ep3-bulk", "ep4-bulk",
+};
+
+#define S3C2410_ENDPOINTS       ARRAY_SIZE(ep_name)
+
+#define EP0_FIFO_SIZE		8
+#define EP_FIFO_SIZE		64
+
+
+struct s3c2410_request {
+	struct list_head		queue;		/* ep's requests */
+	struct usb_request		req;
+};
+
+enum ep0_state { 
+        EP0_IDLE,
+        EP0_IN_DATA_PHASE,
+        EP0_OUT_DATA_PHASE,
+        EP0_END_XFER,
+        EP0_STALL,
+};
+
+static const char *ep0states[]= {
+        "EP0_IDLE",
+        "EP0_IN_DATA_PHASE",
+        "EP0_OUT_DATA_PHASE",
+        "EP0_END_XFER",
+        "EP0_STALL",
+};
+
+struct s3c2410_udc {
+	spinlock_t			lock;
+
+	struct s3c2410_ep		ep[S3C2410_ENDPOINTS];
+	int				address;
+	struct usb_gadget		gadget;
+	struct usb_gadget_driver	*driver;
+	struct s3c2410_request		fifo_req;
+	u8				fifo_buf[EP_FIFO_SIZE];
+	u16				devstatus;
+	
+	u32				port_status;
+    	int 	    	    	    	ep0state;
+
+	unsigned			got_irq : 1;
+	
+	unsigned			req_std : 1;
+	unsigned			req_config : 1;
+	unsigned			req_pending : 1;
+};
+
+/****************** MACROS ******************/
+/* #define BIT_MASK	BIT_MASK*/
+#define BIT_MASK	0xFF
+
+#define __raw_maskb(v,m,a)      \
+	        __raw_writeb((__raw_readb(a) & ~(m))|((v)&(m)), (a))
+
+#define __raw_maskw(v,m,a)      \
+	        __raw_writew((__raw_readw(a) & ~(m))|((v)&(m)), (a))
+
+#define __raw_maskl(v,m,a)      \
+	        __raw_writel((__raw_readl(a) & ~(m))|((v)&(m)), (a))
+
+#define clear_ep0_sst() do { 				\
+    	S3C2410_UDC_SETIX(EP0); 			\
+	__raw_writel(0x00, S3C2410_UDC_EP0_CSR_REG); 	\
+} while(0)
+
+#define clear_ep0_se() do {				\
+    	S3C2410_UDC_SETIX(EP0); 			\
+	__raw_maskl(S3C2410_UDC_EP0_CSR_SSE,		\
+	    	BIT_MASK, S3C2410_UDC_EP0_CSR_REG); 	\
+} while(0)
+
+#define clear_ep0_opr() do {				\
+   	S3C2410_UDC_SETIX(EP0);				\
+	__raw_maskl(S3C2410_UDC_EP0_CSR_SOPKTRDY,	\
+		BIT_MASK, S3C2410_UDC_EP0_CSR_REG); 	\
+} while(0)
+
+#define set_ep0_ipr() do {				\
+   	S3C2410_UDC_SETIX(EP0);				\
+	__raw_maskl(S3C2410_UDC_EP0_CSR_IPKRDY,		\
+		BIT_MASK, S3C2410_UDC_EP0_CSR_REG); 	\
+} while(0)
+
+#define set_ep0_de() do {				\
+   	S3C2410_UDC_SETIX(EP0);				\
+	__raw_maskl(S3C2410_UDC_EP0_CSR_DE,		\
+		BIT_MASK, S3C2410_UDC_EP0_CSR_REG);		\
+} while(0)
+
+#define set_ep0_ss() do {				\
+   	S3C2410_UDC_SETIX(EP0);				\
+	__raw_maskl(S3C2410_UDC_EP0_CSR_SENDSTL,	\
+		BIT_MASK, S3C2410_UDC_EP0_CSR_REG);	\
+} while(0)
+
+#define set_ep0_de_out() do {				\
+   	S3C2410_UDC_SETIX(EP0);				\
+	__raw_maskl((S3C2410_UDC_EP0_CSR_SOPKTRDY 	\
+		| S3C2410_UDC_EP0_CSR_DE),		\
+		BIT_MASK, S3C2410_UDC_EP0_CSR_REG);		\
+} while(0)
+
+#define set_ep0_sse_out() do {				\
+   	S3C2410_UDC_SETIX(EP0);				\
+	__raw_maskl((S3C2410_UDC_EP0_CSR_SOPKTRDY 	\
+		| S3C2410_UDC_EP0_CSR_SSE),		\
+		BIT_MASK, S3C2410_UDC_EP0_CSR_REG);		\
+} while(0)
+
+#define set_ep0_de_in() do {				\
+   	S3C2410_UDC_SETIX(EP0);				\
+	__raw_maskl((S3C2410_UDC_EP0_CSR_IPKRDY		\
+		| S3C2410_UDC_EP0_CSR_DE),		\
+		BIT_MASK, S3C2410_UDC_EP0_CSR_REG);		\
+} while(0)
+
+#define set_ep0_caramba() do {				\
+   	S3C2410_UDC_SETIX(EP0);				\
+	__raw_maskl((S3C2410_UDC_EP0_CSR_IPKRDY		\
+		| S3C2410_UDC_EP0_CSR_SOPKTRDY		\
+		| S3C2410_UDC_EP0_CSR_DE),		\
+		BIT_MASK, S3C2410_UDC_EP0_CSR_REG);		\
+} while(0)
+
+
+
+#define clear_stall_ep1_out() do {			\
+   	S3C2410_UDC_SETIX(EP1);				\
+	__raw_orl(0, S3C2410_UDC_OUT_CSR1_REG);		\
+} while(0)
+
+
+#define clear_stall_ep2_out() do {			\
+   	S3C2410_UDC_SETIX(EP2);				\
+	__raw_orl(0, S3C2410_UDC_OUT_CSR1_REG);		\
+} while(0)
+
+
+#define clear_stall_ep3_out() do {			\
+   	S3C2410_UDC_SETIX(EP3);				\
+	__raw_orl(0, S3C2410_UDC_OUT_CSR1_REG);		\
+} while(0)
+
+
+#define clear_stall_ep4_out() do {			\
+   	S3C2410_UDC_SETIX(EP4);				\
+	__raw_orl(0, S3C2410_UDC_OUT_CSR1_REG);		\
+} while(0)
+
+/*************************** DEBUG FUNCTION ***************************/
+// #define DEBUG
+
+#ifdef DEBUG
+uint32_t s3c2410_ticks=0;
+static int dprintk(const char *fmt, ...)
+{
+	static char printk_buf[1024];
+	static long prevticks;
+	static int invocation;
+	va_list args;
+	int len;
+	
+	if (s3c2410_ticks != prevticks) {
+		prevticks = s3c2410_ticks;
+		invocation = 0;
+	}
+	
+	len = scnprintf(printk_buf, \
+			sizeof(printk_buf), "%1lu.%02d USB: ", \
+			prevticks, invocation++);
+
+	va_start(args, fmt);
+	len = vscnprintf(printk_buf+len, \
+			sizeof(printk_buf)-len, fmt, args);
+	va_end(args);
+	
+	return printk("%s", printk_buf);
+}
+#else
+static int dprintk(const char *fmt, ...)  { return 0; }
+#endif
+
+#endif
+
+
diff -Nru linux-2.6.10/drivers/usb/gadget/serial.c linux-2.6.10-h1940/drivers/usb/gadget/serial.c
--- linux-2.6.10/drivers/usb/gadget/serial.c	2004-12-24 21:35:24.000000000 +0000
+++ linux-2.6.10-h1940/drivers/usb/gadget/serial.c	2004-12-31 09:21:27.000000000 +0000
@@ -486,7 +486,11 @@
 static struct usb_device_descriptor gs_device_desc = {
 	.bLength =		USB_DT_DEVICE_SIZE,
 	.bDescriptorType =	USB_DT_DEVICE,
-	.bcdUSB =		__constant_cpu_to_le16(0x0200),
+#ifdef CONFIG_USB_GADGET_DUALSPEED
+ 	.bcdUSB =		__constant_cpu_to_le16(0x0200),
+#else
+	.bcdUSB =		__constant_cpu_to_le16(0x0110),
+#endif
 	.bDeviceSubClass =	0,
 	.bDeviceProtocol =	0,
 	.idVendor =		__constant_cpu_to_le16(GS_VENDOR_ID),
@@ -1532,6 +1536,9 @@
 	} else if (gadget_is_pxa27x(gadget)) {
 		gs_device_desc.bcdDevice =
 			__constant_cpu_to_le16(GS_VERSION_NUM|0x0011);
+        } else if (gadget_is_s3c2410(gadget)) {
+                gs_device_desc.bcdDevice =
+                        __constant_cpu_to_le16(GS_VERSION_NUM|0x000A);
 	} else {
 		printk(KERN_WARNING "gs_bind: controller '%s' not recognized\n",
 			gadget->name);
diff -Nru linux-2.6.10/drivers/usb/gadget/zero.c linux-2.6.10-h1940/drivers/usb/gadget/zero.c
--- linux-2.6.10/drivers/usb/gadget/zero.c	2004-12-24 21:34:32.000000000 +0000
+++ linux-2.6.10-h1940/drivers/usb/gadget/zero.c	2004-12-31 09:22:47.000000000 +0000
@@ -227,7 +227,11 @@
 	.bLength =		sizeof device_desc,
 	.bDescriptorType =	USB_DT_DEVICE,
 
+#ifdef	CONFIG_USB_GADGET_DUALSPEED
 	.bcdUSB =		__constant_cpu_to_le16 (0x0200),
+#else
+	.bcdUSB =               __constant_cpu_to_le16 (0x0110),
+#endif
 	.bDeviceClass =		USB_CLASS_VENDOR_SPEC,
 
 	.idVendor =		__constant_cpu_to_le16 (DRIVER_VENDOR_NUM),
@@ -1192,6 +1196,8 @@
 		device_desc.bcdDevice = __constant_cpu_to_le16 (0x0210);
 	} else if (gadget_is_pxa27x(gadget)) {
 		device_desc.bcdDevice = __constant_cpu_to_le16 (0x0211);
+        } else if (gadget_is_s3c2410(gadget)) {
+               device_desc.bcdDevice = __constant_cpu_to_le16 (0x020A);
 	} else {
 		/* gadget zero is so simple (for now, no altsettings) that
 		 * it SHOULD NOT have problems with bulk-capable hardware.
diff -Nru linux-2.6.10/drivers/video/console/font_clean_4x6.c linux-2.6.10-h1940/drivers/video/console/font_clean_4x6.c
--- linux-2.6.10/drivers/video/console/font_clean_4x6.c	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/drivers/video/console/font_clean_4x6.c	2004-12-31 09:12:37.000000000 +0000
@@ -0,0 +1,1059 @@
+/*       Font file generated by Jay Carlson from clR4x6.bdf */
+
+/*
+COMMENT  Copyright 1989 Dale Schumacher, dal@syntel.mn.org
+COMMENT                 399 Beacon Ave.
+COMMENT                 St. Paul, MN  55104-3527
+COMMENT
+COMMENT  Permission to use, copy, modify, and distribute this software and
+COMMENT  its documentation for any purpose and without fee is hereby
+COMMENT  granted, provided that the above copyright notice appear in all
+COMMENT  copies and that both that copyright notice and this permission
+COMMENT  notice appear in supporting documentation, and that the name of
+COMMENT  Dale Schumacher not be used in advertising or publicity pertaining to
+COMMENT  distribution of the software without specific, written prior
+COMMENT  permission.  Dale Schumacher makes no representations about the
+COMMENT  suitability of this software for any purpose.  It is provided "as
+COMMENT  is" without express or implied warranty.
+*/
+
+#include <linux/font.h>
+
+#define FONTDATAMAX (6 * 256)
+
+static unsigned char fontdata_clean_4x6[FONTDATAMAX] = {
+
+	 /* 0 0x00 C000 */
+	0x10, /* 00010000 */
+	0x10, /* 00010000 */
+	0x10, /* 00010000 */
+	0x10, /* 00010000 */
+	0x10, /* 00010000 */
+	0xf0, /* 11110000 */
+
+	 /* 1 0x01 C001 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 2 0x02 C002 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 3 0x03 C003 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 4 0x04 C004 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 5 0x05 C005 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 6 0x06 C006 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 7 0x07 C007 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 8 0x08 C010 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 9 0x09 C011 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 10 0x0a C012 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 11 0x0b C013 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 12 0x0c C014 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 13 0x0d C015 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 14 0x0e C016 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 15 0x0f C017 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 16 0x10 C020 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 17 0x11 C021 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 18 0x12 C022 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 19 0x13 C023 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 20 0x14 C024 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 21 0x15 C025 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 22 0x16 C026 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 23 0x17 C027 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 24 0x18 C030 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 25 0x19 C031 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 26 0x1a C032 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 27 0x1b C033 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 28 0x1c C034 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 29 0x1d C035 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 30 0x1e C036 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 31 0x1f C037 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 32 0x20 C040 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 33 0x21 ! */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 34 0x22 " */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 35 0x23 # */
+	0xa0, /* 10100000 */
+	0xe0, /* 11100000 */
+	0xa0, /* 10100000 */
+	0xe0, /* 11100000 */
+	0xa0, /* 10100000 */
+	0x00, /* 00000000 */
+
+	 /* 36 0x24 $ */
+	0xe0, /* 11100000 */
+	0xc0, /* 11000000 */
+	0xe0, /* 11100000 */
+	0x60, /* 01100000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+	 /* 37 0x25 % */
+	0xa0, /* 10100000 */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x80, /* 10000000 */
+	0xa0, /* 10100000 */
+	0x00, /* 00000000 */
+
+	 /* 38 0x26 & */
+	0xe0, /* 11100000 */
+	0x40, /* 01000000 */
+	0xe0, /* 11100000 */
+	0xa0, /* 10100000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+	 /* 39 0x27 ' */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 40 0x28 ( */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+
+	 /* 41 0x29 ) */
+	0x40, /* 01000000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 42 0x2a * */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0xe0, /* 11100000 */
+	0x40, /* 01000000 */
+	0xa0, /* 10100000 */
+	0x00, /* 00000000 */
+
+	 /* 43 0x2b + */
+	0x00, /* 00000000 */
+	0x40, /* 01000000 */
+	0xe0, /* 11100000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 44 0x2c , */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 45 0x2d - */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 46 0x2e . */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 47 0x2f / */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x80, /* 10000000 */
+	0x80, /* 10000000 */
+	0x00, /* 00000000 */
+
+	 /* 48 0x30 0 */
+	0xe0, /* 11100000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+	 /* 49 0x31 1 */
+	0x40, /* 01000000 */
+	0xc0, /* 11000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 50 0x32 2 */
+	0xe0, /* 11100000 */
+	0x20, /* 00100000 */
+	0xe0, /* 11100000 */
+	0x80, /* 10000000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+	 /* 51 0x33 3 */
+	0xe0, /* 11100000 */
+	0x20, /* 00100000 */
+	0xe0, /* 11100000 */
+	0x20, /* 00100000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+	 /* 52 0x34 4 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xe0, /* 11100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+
+	 /* 53 0x35 5 */
+	0xe0, /* 11100000 */
+	0x80, /* 10000000 */
+	0xe0, /* 11100000 */
+	0x20, /* 00100000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+	 /* 54 0x36 6 */
+	0xe0, /* 11100000 */
+	0x80, /* 10000000 */
+	0xe0, /* 11100000 */
+	0xa0, /* 10100000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+	 /* 55 0x37 7 */
+	0xe0, /* 11100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+
+	 /* 56 0x38 8 */
+	0xe0, /* 11100000 */
+	0xa0, /* 10100000 */
+	0xe0, /* 11100000 */
+	0xa0, /* 10100000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+	 /* 57 0x39 9 */
+	0xe0, /* 11100000 */
+	0xa0, /* 10100000 */
+	0xe0, /* 11100000 */
+	0x20, /* 00100000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+	 /* 58 0x3a : */
+	0x00, /* 00000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 59 0x3b ; */
+	0x00, /* 00000000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 60 0x3c < */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x80, /* 10000000 */
+	0x40, /* 01000000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+
+	 /* 61 0x3d = */
+	0x00, /* 00000000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 62 0x3e > */
+	0x80, /* 10000000 */
+	0x40, /* 01000000 */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x80, /* 10000000 */
+	0x00, /* 00000000 */
+
+	 /* 63 0x3f ? */
+	0xc0, /* 11000000 */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 64 0x40 @ */
+	0xe0, /* 11100000 */
+	0xa0, /* 10100000 */
+	0xe0, /* 11100000 */
+	0x80, /* 10000000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+	 /* 65 0x41 A */
+	0x40, /* 01000000 */
+	0xa0, /* 10100000 */
+	0xe0, /* 11100000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0x00, /* 00000000 */
+
+	 /* 66 0x42 B */
+	0xc0, /* 11000000 */
+	0xa0, /* 10100000 */
+	0xc0, /* 11000000 */
+	0xa0, /* 10100000 */
+	0xc0, /* 11000000 */
+	0x00, /* 00000000 */
+
+	 /* 67 0x43 C */
+	0x60, /* 01100000 */
+	0x80, /* 10000000 */
+	0x80, /* 10000000 */
+	0x80, /* 10000000 */
+	0x60, /* 01100000 */
+	0x00, /* 00000000 */
+
+	 /* 68 0x44 D */
+	0xc0, /* 11000000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xc0, /* 11000000 */
+	0x00, /* 00000000 */
+
+	 /* 69 0x45 E */
+	0xe0, /* 11100000 */
+	0x80, /* 10000000 */
+	0xc0, /* 11000000 */
+	0x80, /* 10000000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+	 /* 70 0x46 F */
+	0xe0, /* 11100000 */
+	0x80, /* 10000000 */
+	0xc0, /* 11000000 */
+	0x80, /* 10000000 */
+	0x80, /* 10000000 */
+	0x00, /* 00000000 */
+
+	 /* 71 0x47 G */
+	0x60, /* 01100000 */
+	0x80, /* 10000000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0x60, /* 01100000 */
+	0x00, /* 00000000 */
+
+	 /* 72 0x48 H */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xe0, /* 11100000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0x00, /* 00000000 */
+
+	 /* 73 0x49 I */
+	0xe0, /* 11100000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+	 /* 74 0x4a J */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0xa0, /* 10100000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 75 0x4b K */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xc0, /* 11000000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0x00, /* 00000000 */
+
+	 /* 76 0x4c L */
+	0x80, /* 10000000 */
+	0x80, /* 10000000 */
+	0x80, /* 10000000 */
+	0x80, /* 10000000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+	 /* 77 0x4d M */
+	0xa0, /* 10100000 */
+	0xe0, /* 11100000 */
+	0xe0, /* 11100000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0x00, /* 00000000 */
+
+	 /* 78 0x4e N */
+	0xa0, /* 10100000 */
+	0xe0, /* 11100000 */
+	0xe0, /* 11100000 */
+	0xe0, /* 11100000 */
+	0xa0, /* 10100000 */
+	0x00, /* 00000000 */
+
+	 /* 79 0x4f O */
+	0x40, /* 01000000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 80 0x50 P */
+	0xc0, /* 11000000 */
+	0xa0, /* 10100000 */
+	0xc0, /* 11000000 */
+	0x80, /* 10000000 */
+	0x80, /* 10000000 */
+	0x00, /* 00000000 */
+
+	 /* 81 0x51 Q */
+	0x40, /* 01000000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xc0, /* 11000000 */
+	0x60, /* 01100000 */
+	0x00, /* 00000000 */
+
+	 /* 82 0x52 R */
+	0xc0, /* 11000000 */
+	0xa0, /* 10100000 */
+	0xc0, /* 11000000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0x00, /* 00000000 */
+
+	 /* 83 0x53 S */
+	0x60, /* 01100000 */
+	0x80, /* 10000000 */
+	0x40, /* 01000000 */
+	0x20, /* 00100000 */
+	0xc0, /* 11000000 */
+	0x00, /* 00000000 */
+
+	 /* 84 0x54 T */
+	0xe0, /* 11100000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 85 0x55 U */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+	 /* 86 0x56 V */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 87 0x57 W */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xe0, /* 11100000 */
+	0xe0, /* 11100000 */
+	0xa0, /* 10100000 */
+	0x00, /* 00000000 */
+
+	 /* 88 0x58 X */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0x40, /* 01000000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0x00, /* 00000000 */
+
+	 /* 89 0x59 Y */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 90 0x5a Z */
+	0xe0, /* 11100000 */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x80, /* 10000000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+	 /* 91 0x5b [ */
+	0x60, /* 01100000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x60, /* 01100000 */
+	0x00, /* 00000000 */
+
+	 /* 92 0x5c \ */
+	0x80, /* 10000000 */
+	0x80, /* 10000000 */
+	0x40, /* 01000000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+
+	 /* 93 0x5d ] */
+	0x60, /* 01100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x60, /* 01100000 */
+	0x00, /* 00000000 */
+
+	 /* 94 0x5e ^ */
+	0x40, /* 01000000 */
+	0xa0, /* 10100000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 95 0x5f _ */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+	 /* 96 0x60 ` */
+	0x40, /* 01000000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 97 0x61 a */
+	0x00, /* 00000000 */
+	0x40, /* 01000000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0x60, /* 01100000 */
+	0x00, /* 00000000 */
+
+	 /* 98 0x62 b */
+	0x80, /* 10000000 */
+	0xc0, /* 11000000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xc0, /* 11000000 */
+	0x00, /* 00000000 */
+
+	 /* 99 0x63 c */
+	0x00, /* 00000000 */
+	0x60, /* 01100000 */
+	0x80, /* 10000000 */
+	0x80, /* 10000000 */
+	0x60, /* 01100000 */
+	0x00, /* 00000000 */
+
+	 /* 100 0x64 d */
+	0x20, /* 00100000 */
+	0x60, /* 01100000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0x60, /* 01100000 */
+	0x00, /* 00000000 */
+
+	 /* 101 0x65 e */
+	0x00, /* 00000000 */
+	0x60, /* 01100000 */
+	0xe0, /* 11100000 */
+	0x80, /* 10000000 */
+	0x60, /* 01100000 */
+	0x00, /* 00000000 */
+
+	 /* 102 0x66 f */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0xe0, /* 11100000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 103 0x67 g */
+	0x00, /* 00000000 */
+	0x60, /* 01100000 */
+	0xa0, /* 10100000 */
+	0x60, /* 01100000 */
+	0x20, /* 00100000 */
+	0xc0, /* 11000000 */
+
+	 /* 104 0x68 h */
+	0x80, /* 10000000 */
+	0xc0, /* 11000000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0x00, /* 00000000 */
+
+	 /* 105 0x69 i */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 106 0x6a j */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0xa0, /* 10100000 */
+	0x40, /* 01000000 */
+
+	 /* 107 0x6b k */
+	0x80, /* 10000000 */
+	0xa0, /* 10100000 */
+	0xc0, /* 11000000 */
+	0xc0, /* 11000000 */
+	0xa0, /* 10100000 */
+	0x00, /* 00000000 */
+
+	 /* 108 0x6c l */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 109 0x6d m */
+	0x00, /* 00000000 */
+	0xe0, /* 11100000 */
+	0xe0, /* 11100000 */
+	0xe0, /* 11100000 */
+	0xa0, /* 10100000 */
+	0x00, /* 00000000 */
+
+	 /* 110 0x6e n */
+	0x00, /* 00000000 */
+	0xc0, /* 11000000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0x00, /* 00000000 */
+
+	 /* 111 0x6f o */
+	0x00, /* 00000000 */
+	0x40, /* 01000000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 112 0x70 p */
+	0x00, /* 00000000 */
+	0xc0, /* 11000000 */
+	0xa0, /* 10100000 */
+	0xc0, /* 11000000 */
+	0x80, /* 10000000 */
+	0x80, /* 10000000 */
+
+	 /* 113 0x71 q */
+	0x00, /* 00000000 */
+	0x60, /* 01100000 */
+	0xa0, /* 10100000 */
+	0x60, /* 01100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+
+	 /* 114 0x72 r */
+	0x00, /* 00000000 */
+	0xc0, /* 11000000 */
+	0xa0, /* 10100000 */
+	0x80, /* 10000000 */
+	0x80, /* 10000000 */
+	0x00, /* 00000000 */
+
+	 /* 115 0x73 s */
+	0x00, /* 00000000 */
+	0x60, /* 01100000 */
+	0xc0, /* 11000000 */
+	0x60, /* 01100000 */
+	0xc0, /* 11000000 */
+	0x00, /* 00000000 */
+
+	 /* 116 0x74 t */
+	0x40, /* 01000000 */
+	0xe0, /* 11100000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 117 0x75 u */
+	0x00, /* 00000000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+	 /* 118 0x76 v */
+	0x00, /* 00000000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 119 0x77 w */
+	0x00, /* 00000000 */
+	0xa0, /* 10100000 */
+	0xe0, /* 11100000 */
+	0xe0, /* 11100000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+	 /* 120 0x78 x */
+	0x00, /* 00000000 */
+	0xa0, /* 10100000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0xa0, /* 10100000 */
+	0x00, /* 00000000 */
+
+	 /* 121 0x79 y */
+	0x00, /* 00000000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0x60, /* 01100000 */
+	0x20, /* 00100000 */
+	0xc0, /* 11000000 */
+
+	 /* 122 0x7a z */
+	0x00, /* 00000000 */
+	0xe0, /* 11100000 */
+	0x60, /* 01100000 */
+	0xc0, /* 11000000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+	 /* 123 0x7b { */
+	0x60, /* 01100000 */
+	0x40, /* 01000000 */
+	0xc0, /* 11000000 */
+	0x40, /* 01000000 */
+	0x60, /* 01100000 */
+	0x00, /* 00000000 */
+
+	 /* 124 0x7c | */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 125 0x7d } */
+	0xc0, /* 11000000 */
+	0x40, /* 01000000 */
+	0x60, /* 01100000 */
+	0x40, /* 01000000 */
+	0xc0, /* 11000000 */
+	0x00, /* 00000000 */
+
+	 /* 126 0x7e ~ */
+	0x20, /* 00100000 */
+	0xe0, /* 11100000 */
+	0x80, /* 10000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 127 0x7f C177 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0xa0, /* 10100000 */
+	0xa0, /* 10100000 */
+	0xe0, /* 11100000 */
+	0x00, /* 00000000 */
+
+};
+
+struct font_desc font_clean_4x6 = {
+	CLEAN4x6_IDX,
+	"Clean4x6",
+	4,
+	6,
+	fontdata_clean_4x6,
+	3
+};
diff -Nru linux-2.6.10/drivers/video/console/font_clean_5x8.c linux-2.6.10-h1940/drivers/video/console/font_clean_5x8.c
--- linux-2.6.10/drivers/video/console/font_clean_5x8.c	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/drivers/video/console/font_clean_5x8.c	2004-12-31 09:12:37.000000000 +0000
@@ -0,0 +1,1314 @@
+/*       Font file generated by Jay Carlson from clR5x8.bdf */
+
+/*
+COMMENT  Copyright 1989 Dale Schumacher, dal@syntel.mn.org
+COMMENT                 399 Beacon Ave.
+COMMENT                 St. Paul, MN  55104-3527
+COMMENT
+COMMENT  Permission to use, copy, modify, and distribute this software and
+COMMENT  its documentation for any purpose and without fee is hereby
+COMMENT  granted, provided that the above copyright notice appear in all
+COMMENT  copies and that both that copyright notice and this permission
+COMMENT  notice appear in supporting documentation, and that the name of
+COMMENT  Dale Schumacher not be used in advertising or publicity pertaining to
+COMMENT  distribution of the software without specific, written prior
+COMMENT  permission.  Dale Schumacher makes no representations about the
+COMMENT  suitability of this software for any purpose.  It is provided "as
+COMMENT  is" without express or implied warranty.
+*/
+
+#include <linux/font.h>
+
+#define FONTDATAMAX (8 * 256)
+
+static unsigned char fontdata_clean_5x8[FONTDATAMAX] = {
+
+	 /* 0 0x00 C000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 1 0x01 C001 */
+	0x00, /* 00000000 */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x78, /* 01111000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 2 0x02 C002 */
+	0x00, /* 00000000 */
+	0x70, /* 01110000 */
+	0x48, /* 01001000 */
+	0x70, /* 01110000 */
+	0x48, /* 01001000 */
+	0x70, /* 01110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 3 0x03 C003 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x38, /* 00111000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 4 0x04 C004 */
+	0x00, /* 00000000 */
+	0x70, /* 01110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x70, /* 01110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 5 0x05 C005 */
+	0x00, /* 00000000 */
+	0x78, /* 01111000 */
+	0x40, /* 01000000 */
+	0x70, /* 01110000 */
+	0x40, /* 01000000 */
+	0x78, /* 01111000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 6 0x06 C006 */
+	0x00, /* 00000000 */
+	0x78, /* 01111000 */
+	0x40, /* 01000000 */
+	0x70, /* 01110000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 7 0x07 C007 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x40, /* 01000000 */
+	0x58, /* 01011000 */
+	0x48, /* 01001000 */
+	0x38, /* 00111000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 8 0x08 C010 */
+	0x00, /* 00000000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x78, /* 01111000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 9 0x09 C011 */
+	0x00, /* 00000000 */
+	0x70, /* 01110000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x70, /* 01110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 10 0x0a C012 */
+	0x00, /* 00000000 */
+	0x18, /* 00011000 */
+	0x08, /* 00001000 */
+	0x08, /* 00001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 11 0x0b C013 */
+	0x00, /* 00000000 */
+	0x48, /* 01001000 */
+	0x50, /* 01010000 */
+	0x60, /* 01100000 */
+	0x50, /* 01010000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 12 0x0c C014 */
+	0x00, /* 00000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x78, /* 01111000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 13 0x0d C015 */
+	0x00, /* 00000000 */
+	0x48, /* 01001000 */
+	0x78, /* 01111000 */
+	0x78, /* 01111000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 14 0x0e C016 */
+	0x00, /* 00000000 */
+	0x48, /* 01001000 */
+	0x68, /* 01101000 */
+	0x58, /* 01011000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 15 0x0f C017 */
+	0x00, /* 00000000 */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 16 0x10 C020 */
+	0x00, /* 00000000 */
+	0x70, /* 01110000 */
+	0x48, /* 01001000 */
+	0x70, /* 01110000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 17 0x11 C021 */
+	0x00, /* 00000000 */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+
+	 /* 18 0x12 C022 */
+	0x00, /* 00000000 */
+	0x70, /* 01110000 */
+	0x48, /* 01001000 */
+	0x70, /* 01110000 */
+	0x50, /* 01010000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 19 0x13 C023 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x40, /* 01000000 */
+	0x30, /* 00110000 */
+	0x08, /* 00001000 */
+	0x70, /* 01110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 20 0x14 C024 */
+	0x00, /* 00000000 */
+	0xf8, /* 11111000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 21 0x15 C025 */
+	0x00, /* 00000000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 22 0x16 C026 */
+	0x00, /* 00000000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 23 0x17 C027 */
+	0x00, /* 00000000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x78, /* 01111000 */
+	0x78, /* 01111000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 24 0x18 C030 */
+	0x00, /* 00000000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 25 0x19 C031 */
+	0x00, /* 00000000 */
+	0x88, /* 10001000 */
+	0x50, /* 01010000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 26 0x1a C032 */
+	0x00, /* 00000000 */
+	0x78, /* 01111000 */
+	0x10, /* 00010000 */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x78, /* 01111000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 27 0x1b C033 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 28 0x1c C034 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 29 0x1d C035 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 30 0x1e C036 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 31 0x1f C037 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 32 0x20 C040 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 33 0x21 ! */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+
+	 /* 34 0x22 " */
+	0x28, /* 00101000 */
+	0x28, /* 00101000 */
+	0x28, /* 00101000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 35 0x23 # */
+	0x50, /* 01010000 */
+	0x50, /* 01010000 */
+	0xf8, /* 11111000 */
+	0x50, /* 01010000 */
+	0xf8, /* 11111000 */
+	0x50, /* 01010000 */
+	0x50, /* 01010000 */
+	0x00, /* 00000000 */
+
+	 /* 36 0x24 $ */
+	0x20, /* 00100000 */
+	0x78, /* 01111000 */
+	0xa0, /* 10100000 */
+	0x70, /* 01110000 */
+	0x28, /* 00101000 */
+	0xf0, /* 11110000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+
+	 /* 37 0x25 % */
+	0x60, /* 01100000 */
+	0x68, /* 01101000 */
+	0x10, /* 00010000 */
+	0x20, /* 00100000 */
+	0x58, /* 01011000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 38 0x26 & */
+	0x30, /* 00110000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x28, /* 00101000 */
+	0x50, /* 01010000 */
+	0x50, /* 01010000 */
+	0x28, /* 00101000 */
+	0x00, /* 00000000 */
+
+	 /* 39 0x27 ' */
+	0x10, /* 00010000 */
+	0x10, /* 00010000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 40 0x28 ( */
+	0x08, /* 00001000 */
+	0x10, /* 00010000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x10, /* 00010000 */
+	0x08, /* 00001000 */
+	0x00, /* 00000000 */
+
+	 /* 41 0x29 ) */
+	0x40, /* 01000000 */
+	0x20, /* 00100000 */
+	0x10, /* 00010000 */
+	0x10, /* 00010000 */
+	0x10, /* 00010000 */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 42 0x2a * */
+	0x00, /* 00000000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x78, /* 01111000 */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 43 0x2b + */
+	0x00, /* 00000000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0xf8, /* 11111000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 44 0x2c , */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+
+	 /* 45 0x2d - */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xf8, /* 11111000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 46 0x2e . */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+
+	 /* 47 0x2f / */
+	0x08, /* 00001000 */
+	0x08, /* 00001000 */
+	0x10, /* 00010000 */
+	0x10, /* 00010000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+
+	 /* 48 0x30 0 */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x58, /* 01011000 */
+	0x68, /* 01101000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+
+	 /* 49 0x31 1 */
+	0x20, /* 00100000 */
+	0x60, /* 01100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+
+	 /* 50 0x32 2 */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x08, /* 00001000 */
+	0x10, /* 00010000 */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x78, /* 01111000 */
+	0x00, /* 00000000 */
+
+	 /* 51 0x33 3 */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x08, /* 00001000 */
+	0x30, /* 00110000 */
+	0x08, /* 00001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+
+	 /* 52 0x34 4 */
+	0x08, /* 00001000 */
+	0x18, /* 00011000 */
+	0x18, /* 00011000 */
+	0x28, /* 00101000 */
+	0x28, /* 00101000 */
+	0x78, /* 01111000 */
+	0x08, /* 00001000 */
+	0x00, /* 00000000 */
+
+	 /* 53 0x35 5 */
+	0x78, /* 01111000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x70, /* 01110000 */
+	0x08, /* 00001000 */
+	0x08, /* 00001000 */
+	0x70, /* 01110000 */
+	0x00, /* 00000000 */
+
+	 /* 54 0x36 6 */
+	0x30, /* 00110000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x70, /* 01110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+
+	 /* 55 0x37 7 */
+	0x78, /* 01111000 */
+	0x08, /* 00001000 */
+	0x08, /* 00001000 */
+	0x10, /* 00010000 */
+	0x10, /* 00010000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+
+	 /* 56 0x38 8 */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+
+	 /* 57 0x39 9 */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x38, /* 00111000 */
+	0x08, /* 00001000 */
+	0x08, /* 00001000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+
+	 /* 58 0x3a : */
+	0x00, /* 00000000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+
+	 /* 59 0x3b ; */
+	0x00, /* 00000000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+
+	 /* 60 0x3c < */
+	0x08, /* 00001000 */
+	0x10, /* 00010000 */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x20, /* 00100000 */
+	0x10, /* 00010000 */
+	0x08, /* 00001000 */
+	0x00, /* 00000000 */
+
+	 /* 61 0x3d = */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xf8, /* 11111000 */
+	0x00, /* 00000000 */
+	0xf8, /* 11111000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 62 0x3e > */
+	0x40, /* 01000000 */
+	0x20, /* 00100000 */
+	0x10, /* 00010000 */
+	0x08, /* 00001000 */
+	0x10, /* 00010000 */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 63 0x3f ? */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x08, /* 00001000 */
+	0x10, /* 00010000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+
+	 /* 64 0x40 @ */
+	0x00, /* 00000000 */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x58, /* 01011000 */
+	0x58, /* 01011000 */
+	0x40, /* 01000000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+
+	 /* 65 0x41 A */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x78, /* 01111000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+
+	 /* 66 0x42 B */
+	0x70, /* 01110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x70, /* 01110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x70, /* 01110000 */
+	0x00, /* 00000000 */
+
+	 /* 67 0x43 C */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+
+	 /* 68 0x44 D */
+	0x70, /* 01110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x70, /* 01110000 */
+	0x00, /* 00000000 */
+
+	 /* 69 0x45 E */
+	0x78, /* 01111000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x70, /* 01110000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x78, /* 01111000 */
+	0x00, /* 00000000 */
+
+	 /* 70 0x46 F */
+	0x78, /* 01111000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x70, /* 01110000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 71 0x47 G */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x40, /* 01000000 */
+	0x58, /* 01011000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x38, /* 00111000 */
+	0x00, /* 00000000 */
+
+	 /* 72 0x48 H */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x78, /* 01111000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+
+	 /* 73 0x49 I */
+	0x70, /* 01110000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x70, /* 01110000 */
+	0x00, /* 00000000 */
+
+	 /* 74 0x4a J */
+	0x18, /* 00011000 */
+	0x08, /* 00001000 */
+	0x08, /* 00001000 */
+	0x08, /* 00001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+
+	 /* 75 0x4b K */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x50, /* 01010000 */
+	0x60, /* 01100000 */
+	0x50, /* 01010000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+
+	 /* 76 0x4c L */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x78, /* 01111000 */
+	0x00, /* 00000000 */
+
+	 /* 77 0x4d M */
+	0x48, /* 01001000 */
+	0x78, /* 01111000 */
+	0x78, /* 01111000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+
+	 /* 78 0x4e N */
+	0x48, /* 01001000 */
+	0x68, /* 01101000 */
+	0x68, /* 01101000 */
+	0x58, /* 01011000 */
+	0x58, /* 01011000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+
+	 /* 79 0x4f O */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+
+	 /* 80 0x50 P */
+	0x70, /* 01110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x70, /* 01110000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 81 0x51 Q */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x18, /* 00011000 */
+
+	 /* 82 0x52 R */
+	0x70, /* 01110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x70, /* 01110000 */
+	0x50, /* 01010000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+
+	 /* 83 0x53 S */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x40, /* 01000000 */
+	0x30, /* 00110000 */
+	0x08, /* 00001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+
+	 /* 84 0x54 T */
+	0xf8, /* 11111000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+
+	 /* 85 0x55 U */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+
+	 /* 86 0x56 V */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+
+	 /* 87 0x57 W */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x78, /* 01111000 */
+	0x78, /* 01111000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+
+	 /* 88 0x58 X */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+
+	 /* 89 0x59 Y */
+	0x88, /* 10001000 */
+	0x88, /* 10001000 */
+	0x50, /* 01010000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+
+	 /* 90 0x5a Z */
+	0x78, /* 01111000 */
+	0x08, /* 00001000 */
+	0x10, /* 00010000 */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x78, /* 01111000 */
+	0x00, /* 00000000 */
+
+	 /* 91 0x5b [ */
+	0x38, /* 00111000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x38, /* 00111000 */
+	0x00, /* 00000000 */
+
+	 /* 92 0x5c \ */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x10, /* 00010000 */
+	0x10, /* 00010000 */
+	0x08, /* 00001000 */
+	0x08, /* 00001000 */
+
+	 /* 93 0x5d ] */
+	0x70, /* 01110000 */
+	0x10, /* 00010000 */
+	0x10, /* 00010000 */
+	0x10, /* 00010000 */
+	0x10, /* 00010000 */
+	0x10, /* 00010000 */
+	0x70, /* 01110000 */
+	0x00, /* 00000000 */
+
+	 /* 94 0x5e ^ */
+	0x20, /* 00100000 */
+	0x50, /* 01010000 */
+	0x88, /* 10001000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 95 0x5f _ */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xf8, /* 11111000 */
+
+	 /* 96 0x60 ` */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x10, /* 00010000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 97 0x61 a */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x58, /* 01011000 */
+	0x28, /* 00101000 */
+	0x00, /* 00000000 */
+
+	 /* 98 0x62 b */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x70, /* 01110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x70, /* 01110000 */
+	0x00, /* 00000000 */
+
+	 /* 99 0x63 c */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x38, /* 00111000 */
+	0x00, /* 00000000 */
+
+	 /* 100 0x64 d */
+	0x08, /* 00001000 */
+	0x08, /* 00001000 */
+	0x38, /* 00111000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x38, /* 00111000 */
+	0x00, /* 00000000 */
+
+	 /* 101 0x65 e */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x78, /* 01111000 */
+	0x40, /* 01000000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+
+	 /* 102 0x66 f */
+	0x18, /* 00011000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x70, /* 01110000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+
+	 /* 103 0x67 g */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x38, /* 00111000 */
+	0x08, /* 00001000 */
+	0x30, /* 00110000 */
+
+	 /* 104 0x68 h */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x70, /* 01110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+
+	 /* 105 0x69 i */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+	0x60, /* 01100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x70, /* 01110000 */
+	0x00, /* 00000000 */
+
+	 /* 106 0x6a j */
+	0x10, /* 00010000 */
+	0x00, /* 00000000 */
+	0x30, /* 00110000 */
+	0x10, /* 00010000 */
+	0x10, /* 00010000 */
+	0x10, /* 00010000 */
+	0x10, /* 00010000 */
+	0x60, /* 01100000 */
+
+	 /* 107 0x6b k */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x48, /* 01001000 */
+	0x50, /* 01010000 */
+	0x60, /* 01100000 */
+	0x50, /* 01010000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+
+	 /* 108 0x6c l */
+	0x60, /* 01100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x70, /* 01110000 */
+	0x00, /* 00000000 */
+
+	 /* 109 0x6d m */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xd0, /* 11010000 */
+	0xa8, /* 10101000 */
+	0xa8, /* 10101000 */
+	0xa8, /* 10101000 */
+	0x88, /* 10001000 */
+	0x00, /* 00000000 */
+
+	 /* 110 0x6e n */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x70, /* 01110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+
+	 /* 111 0x6f o */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+
+	 /* 112 0x70 p */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x70, /* 01110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x70, /* 01110000 */
+	0x40, /* 01000000 */
+
+	 /* 113 0x71 q */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x38, /* 00111000 */
+	0x08, /* 00001000 */
+
+	 /* 114 0x72 r */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x58, /* 01011000 */
+	0x60, /* 01100000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 115 0x73 s */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x38, /* 00111000 */
+	0x40, /* 01000000 */
+	0x30, /* 00110000 */
+	0x08, /* 00001000 */
+	0x70, /* 01110000 */
+	0x00, /* 00000000 */
+
+	 /* 116 0x74 t */
+	0x00, /* 00000000 */
+	0x20, /* 00100000 */
+	0x78, /* 01111000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x18, /* 00011000 */
+	0x00, /* 00000000 */
+
+	 /* 117 0x75 u */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x38, /* 00111000 */
+	0x00, /* 00000000 */
+
+	 /* 118 0x76 v */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x30, /* 00110000 */
+	0x00, /* 00000000 */
+
+	 /* 119 0x77 w */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x88, /* 10001000 */
+	0xa8, /* 10101000 */
+	0xa8, /* 10101000 */
+	0xa8, /* 10101000 */
+	0x50, /* 01010000 */
+	0x00, /* 00000000 */
+
+	 /* 120 0x78 x */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x30, /* 00110000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x00, /* 00000000 */
+
+	 /* 121 0x79 y */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x48, /* 01001000 */
+	0x38, /* 00111000 */
+	0x08, /* 00001000 */
+	0x30, /* 00110000 */
+
+	 /* 122 0x7a z */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x78, /* 01111000 */
+	0x10, /* 00010000 */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x78, /* 01111000 */
+	0x00, /* 00000000 */
+
+	 /* 123 0x7b { */
+	0x08, /* 00001000 */
+	0x10, /* 00010000 */
+	0x10, /* 00010000 */
+	0x20, /* 00100000 */
+	0x10, /* 00010000 */
+	0x10, /* 00010000 */
+	0x08, /* 00001000 */
+	0x00, /* 00000000 */
+
+	 /* 124 0x7c | */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x00, /* 00000000 */
+
+	 /* 125 0x7d } */
+	0x40, /* 01000000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x10, /* 00010000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x40, /* 01000000 */
+	0x00, /* 00000000 */
+
+	 /* 126 0x7e ~ */
+	0x28, /* 00101000 */
+	0x50, /* 01010000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	 /* 127 0x7f C177 */
+	0x00, /* 00000000 */
+	0x20, /* 00100000 */
+	0x20, /* 00100000 */
+	0x50, /* 01010000 */
+	0x50, /* 01010000 */
+	0x88, /* 10001000 */
+	0xf8, /* 11111000 */
+	0x00, /* 00000000 */
+};
+
+struct font_desc font_clean_5x8 = {
+	CLEAN5x8_IDX,
+	"Clean5x8",
+	5,
+	8,
+	fontdata_clean_5x8,
+	3
+};
diff -Nru linux-2.6.10/drivers/video/console/fonts.c linux-2.6.10-h1940/drivers/video/console/fonts.c
--- linux-2.6.10/drivers/video/console/fonts.c	2004-12-24 21:35:24.000000000 +0000
+++ linux-2.6.10-h1940/drivers/video/console/fonts.c	2004-12-31 09:12:38.000000000 +0000
@@ -56,6 +56,14 @@
 #undef NO_FONTS
     &font_mini_4x6,
 #endif
+#ifdef CONFIG_FONT_CLEAN_4x6
+#undef NO_FONTS
+    &font_clean_4x6,
+#endif
+#ifdef CONFIG_FONT_CLEAN_5x8
+#undef NO_FONTS
+    &font_clean_5x8,
+#endif
 };
 
 #define num_fonts (sizeof(fonts)/sizeof(*fonts))
diff -Nru linux-2.6.10/drivers/video/console/Kconfig linux-2.6.10-h1940/drivers/video/console/Kconfig
--- linux-2.6.10/drivers/video/console/Kconfig	2004-12-24 21:34:26.000000000 +0000
+++ linux-2.6.10-h1940/drivers/video/console/Kconfig	2004-12-31 09:12:38.000000000 +0000
@@ -171,6 +171,20 @@
 config FONT_MINI_4x6
 	bool "Mini 4x6 font"
 	depends on !SPARC32 && !SPARC64 && FONTS
+	help
+          Mini console font for tiny displays
+
+config FONT_CLEAN_4x6
+	bool "Clean 4x6 font"
+	depends on !SPARC32 && !SPARC64 && FONTS
+	help
+          Mini console font for tiny displays
+
+config FONT_CLEAN_5x8
+	bool "Clean 5x8 font"
+	depends on !SPARC32 && !SPARC64 && FONTS
+	help
+          Small console font for small displays
 
 config FONT_SUN8x16
 	bool "Sparc console 8x16 font"
diff -Nru linux-2.6.10/drivers/video/console/Makefile linux-2.6.10-h1940/drivers/video/console/Makefile
--- linux-2.6.10/drivers/video/console/Makefile	2004-12-24 21:34:44.000000000 +0000
+++ linux-2.6.10-h1940/drivers/video/console/Makefile	2004-12-31 09:12:38.000000000 +0000
@@ -13,6 +13,8 @@
 font-objs-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o
 font-objs-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o
 font-objs-$(CONFIG_FONT_MINI_4x6)  += font_mini_4x6.o
+font-objs-$(CONFIG_FONT_CLEAN_4x6) += font_clean_4x6.o
+font-objs-$(CONFIG_FONT_CLEAN_5x8) += font_clean_5x8.o
 
 font-objs += $(font-objs-y)
 
diff -Nru linux-2.6.10/drivers/video/Kconfig linux-2.6.10-h1940/drivers/video/Kconfig
--- linux-2.6.10/drivers/video/Kconfig	2004-12-24 21:33:49.000000000 +0000
+++ linux-2.6.10-h1940/drivers/video/Kconfig	2004-12-31 09:12:33.000000000 +0000
@@ -1069,6 +1069,20 @@
 
 	  Documentation/fb/pxafb.txt describes the available parameters.
 
+config FB_S3C2410
+	tristate "S3C2410 LCD framebuffer support"
+	depends on FB && ARCH_S3C2410
+	---help---
+	  Frame buffer driver for the built-in LCD controller in the Samsung
+	  S3C2410 processor.
+
+	  This driver is also available as a module ( = code which can be
+	  inserted and removed from the running kernel whenever you want). The
+	  module will be called s3c2410fb. If you want to compile it as a module,
+	  say M here and read <file:Documentation/modules.txt>.
+
+	  If unsure, say N.
+
 config FB_VIRTUAL
 	tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
 	depends on FB
diff -Nru linux-2.6.10/drivers/video/Makefile linux-2.6.10-h1940/drivers/video/Makefile
--- linux-2.6.10/drivers/video/Makefile	2004-12-24 21:33:59.000000000 +0000
+++ linux-2.6.10-h1940/drivers/video/Makefile	2004-12-31 09:12:33.000000000 +0000
@@ -94,6 +94,7 @@
 obj-$(CONFIG_FB_CIRRUS)		  += cirrusfb.o cfbfillrect.o cfbimgblt.o cfbcopyarea.o
 obj-$(CONFIG_FB_ASILIANT)	  += asiliantfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
 obj-$(CONFIG_FB_PXA)		  += pxafb.o cfbimgblt.o cfbcopyarea.o cfbfillrect.o
+obj-$(CONFIG_FB_S3C2410)	  += s3c2410fb.o cfbimgblt.o cfbcopyarea.o cfbfillrect.o
 
 # Platform or fallback drivers go here
 obj-$(CONFIG_FB_VESA)             += vesafb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
diff -Nru linux-2.6.10/drivers/video/s3c2410fb.c linux-2.6.10-h1940/drivers/video/s3c2410fb.c
--- linux-2.6.10/drivers/video/s3c2410fb.c	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/drivers/video/s3c2410fb.c	2004-12-31 09:12:33.000000000 +0000
@@ -0,0 +1,717 @@
+/*
+ * linux/drivers/s3c2410fb.c
+ * Copyright (c) Arnaud Patard
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file COPYING in the main directory of this archive for
+ * more details.
+ *
+ *	    S3C2410 LCD Controller Frame Buffer Driver
+ *	    based on skeletonfb.c, sa1100fb.c
+ *
+ * ChangeLog
+ *
+ * 2004-11-11: Arnaud Patard <arnaud.patard@rtp-net.org>
+ * 	- Removed the use of currcon as it no more exist
+ * 	- Added LCD power sysfs interface
+ *
+ * 2004-11-03: Ben Dooks <ben-linux@fluff.org>
+ *	- minor cleanups
+ *	- add suspend/resume support
+ *	- s3c2410fb_setcolreg() not valid in >8bpp modes
+ *	- removed last CONFIG_FB_S3C2410_FIXED
+ *	- ensure lcd controller stopped before cleanup
+ *	- added sysfs interface for backlight power
+ *	- added mask for gpio configuration
+ *	- ensured IRQs disabled during GPIO configuration
+ *	- disable TPAL before enabling video
+ *
+ * 2004-09-20: Arnaud Patard <arnaud.patard@rtp-net.org>
+ *      - Suppress command line options
+ *
+ * 2004-09-15: Arnaud Patard <arnaud.patard@rtp-net.org>
+ * 	- code cleanup
+ *
+ * 2004-09-07: Arnaud Patard <arnaud.patard@rtp-net.org>
+ * 	- Renamed from h1940fb.c to s3c2410fb.c
+ * 	- Add support for different devices
+ * 	- Backlight support
+ *
+ * 2004-09-05: Herbert Pötzl <herbert@13thfloor.at>
+ *	- added clock (de-)allocation code
+ *	- added fixem fbmem option
+ *
+ * 2004-07-27: Arnaud Patard <arnaud.patard@rtp-net.org>
+ *	- code cleanup
+ *	- added a forgotten return in h1940fb_init
+ *
+ * 2004-07-19: Herbert Pötzl <herbert@13thfloor.at>
+ *	- code cleanup and extended debugging
+ *
+ * 2004-07-15: Arnaud Patard <arnaud.patard@rtp-net.org>
+ *	- First version
+ */
+
+
+#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/errno.h>
+#include <linux/string.h>
+#include <linux/mm.h>
+#include <linux/tty.h>
+#include <linux/slab.h>
+#include <linux/delay.h>
+#include <linux/fb.h>
+#include <linux/init.h>
+#include <linux/dma-mapping.h>
+#include <linux/string.h>
+
+#include <asm/io.h>
+#include <asm/uaccess.h>
+
+#include <asm/mach/map.h>
+#include <asm/arch/regs-lcd.h>
+#include <asm/arch/regs-gpio.h>
+#include <asm/arch/s3c2410fb.h>
+#include <asm/hardware/clock.h>
+
+#include "s3c2410fb.h"
+
+#define S3C2410_FBIO_SETBRIGHTNESS	_IOW('F', 0x50, int)
+#define DEFAULT_BACKLIGHT_LEVEL		2
+
+static struct s3c2410fb_info info;
+static struct s3c2410fb_mach_info *mach_info;
+
+/* backlight and power control functions */
+
+static int backlight_level = DEFAULT_BACKLIGHT_LEVEL;
+static int backlight_power = 1;
+static int lcd_power	   = 1;
+
+
+static inline void s3c2410fb_lcd_power(int to)
+{
+	if (mach_info == NULL)
+		return;
+
+	lcd_power = to;
+
+	if (mach_info->lcd_power)
+		(mach_info->lcd_power)(to);
+}
+
+static inline void s3c2410fb_backlight_power(int to)
+{
+	if (mach_info == NULL)
+		return;
+
+	backlight_power = to;
+	
+	if (mach_info->backlight_power)
+		(mach_info->backlight_power)(to);
+}
+
+static inline void s3c2410fb_backlight_level(int to)
+{
+	if (mach_info == NULL)
+		return;
+
+	backlight_level = to;
+
+	if (mach_info->set_brightness)
+		(mach_info->set_brightness)(to);
+}
+
+/*
+ *	s3c2410fb_check_var():
+ *	Get the video params out of 'var'. If a value doesn't fit, round it up,
+ *	if it's too big, return -EINVAL.
+ *
+ */
+static int s3c2410fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
+{
+	dprintk("check_var(var=%p, info=%p)\n", var, info);
+	
+	var->red.offset		= 11;
+	var->green.offset	= 5;
+	var->blue.offset	= 0;
+ 	var->red.length		= 5;
+	var->green.length	= 6;
+	var->blue.length	= 5;
+
+	return 0;
+}
+
+/*
+ *      s3c2410fb_set_par - Optional function. Alters the hardware state.
+ *      @info: frame buffer structure that represents a single frame buffer
+ *
+ */
+static int s3c2410fb_set_par(struct fb_info *info)
+{
+	struct s3c2410fb_info *fbi = (struct s3c2410fb_info *)info;
+	struct fb_var_screeninfo *var = &info->var;
+
+	/* We support only 16BPP true color */
+	fbi->fb.fix.visual	    = FB_VISUAL_TRUECOLOR;
+	fbi->fb.fix.line_length     = (var->width*var->bits_per_pixel)/8;
+	return 0;
+}
+
+
+static int s3c2410fb_setcolreg(unsigned regno,
+			       unsigned red, unsigned green, unsigned blue,
+			       unsigned transp, struct fb_info *info)
+{
+	struct s3c2410fb_info *fbi = (struct s3c2410fb_info *)info;
+	int bpp, m = 0;
+
+	bpp = fbi->fb.var.bits_per_pixel;
+	m = 1 << bpp;
+
+	if (regno >= m) {
+		return -EINVAL;
+	}
+
+	switch (bpp) {
+	case 16:
+		/* RGB 565 */
+		fbi->pseudo_pal[regno] = ((red & 0xF800)
+			| ((green & 0xFC00) >> 5)
+			| ((blue & 0xF800) >> 11));
+		break;
+	}
+
+	return 0;
+}
+
+
+/**
+ *	s3c2410fb_pan_display
+ *	@var: frame buffer variable screen structure
+ *	@info: frame buffer structure that represents a single frame buffer
+ *
+ *	Pan (or wrap, depending on the `vmode' field) the display using the
+ *	`xoffset' and `yoffset' fields of the `var' structure.
+ *	If the values don't fit, return -EINVAL.
+ *
+ *	Returns negative errno on error, or zero on success.
+ */
+static int s3c2410fb_pan_display(struct fb_var_screeninfo *var,
+			     struct fb_info *info)
+{
+	dprintk("pan_display(var=%p, info=%p)\n", var, info);
+	return 0;
+}
+
+/**
+ *      s3c2410fb_blank
+ *	@blank_mode: the blank mode we want.
+ *	@info: frame buffer structure that represents a single frame buffer
+ *
+ *	Blank the screen if blank_mode != 0, else unblank. Return 0 if
+ *	blanking succeeded, != 0 if un-/blanking failed due to e.g. a
+ *	video mode which doesn't support it. Implements VESA suspend
+ *	and powerdown modes on hardware that supports disabling hsync/vsync:
+ *	blank_mode == 2: suspend vsync
+ *	blank_mode == 3: suspend hsync
+ *	blank_mode == 4: powerdown
+ *
+ *	Returns negative errno on error, or zero on success.
+ *
+ */
+static int s3c2410fb_blank(int blank_mode, struct fb_info *info)
+{
+	dprintk("blank(mode=%d, info=%p)\n", blank_mode, info);
+	
+	if (mach_info == NULL)
+		return -EINVAL;
+
+	switch (blank_mode) {
+	case VESA_NO_BLANKING:	/* lcd on, backlight on */
+		s3c2410fb_lcd_power(1);
+		s3c2410fb_backlight_power(1);
+		break;
+
+	case VESA_VSYNC_SUSPEND: /* lcd on, backlight off */
+	case VESA_HSYNC_SUSPEND:
+		s3c2410fb_lcd_power(1);
+		s3c2410fb_backlight_power(0);
+		break;
+
+	case VESA_POWERDOWN: /* lcd and backlight off */
+		s3c2410fb_lcd_power(0);
+		s3c2410fb_backlight_power(0);
+		break;
+	default:
+		return -EINVAL;
+	}
+
+	return 0;
+}
+
+/*
+ * s3c2410fb_ioctl - non standard ioctls (atm, only level)
+ */
+static int s3c2410fb_ioctl(struct inode *inode, struct file *file,
+			   u_int cmd, u_long arg,
+			   struct fb_info *info)
+{
+	int value;
+
+	switch(cmd)
+	{
+		case S3C2410_FBIO_SETBRIGHTNESS:
+			if (copy_from_user(&value, (__user void *)arg,
+					   sizeof(int)))
+				return(-EFAULT);
+			s3c2410fb_backlight_level(value);
+			return(0);
+			break;
+		default:
+			return(-EINVAL);
+	}
+}
+
+/* sysfs export of baclight control */
+static int s3c2410fb_lcd_power_show(struct device *dev, char *buf)
+{
+	return snprintf(buf, PAGE_SIZE, "%d\n", lcd_power);
+}
+static int s3c2410fb_lcd_power_store(struct device *dev,
+					   const char *buf, size_t len)
+{
+	if (mach_info == NULL)
+		return -EINVAL;
+
+	if (len < 1)
+		return -EINVAL;
+
+	if (strnicmp(buf, "on", 2) == 0 ||
+	    strnicmp(buf, "1", 1) == 0) {
+		s3c2410fb_lcd_power(1);
+	} else if (strnicmp(buf, "off", 3) == 0 ||
+		   strnicmp(buf, "0", 1) == 0) {
+		s3c2410fb_lcd_power(0);
+	} else {
+		return -EINVAL;
+	}
+
+	return len;
+}
+
+static int s3c2410fb_backlight_level_show(struct device *dev, char *buf)
+{
+	return snprintf(buf, PAGE_SIZE, "%d\n", backlight_level);
+}
+
+static int s3c2410fb_backlight_power_show(struct device *dev, char *buf)
+{
+	return snprintf(buf, PAGE_SIZE, "%d\n", backlight_power);
+}
+
+static int s3c2410fb_backlight_level_store(struct device *dev,
+					   const char *buf, size_t len)
+{
+	unsigned long value = simple_strtoul(buf, NULL, 10);
+
+	if (mach_info == NULL)
+		return -EINVAL;
+
+	if (value < mach_info->backlight_min ||
+	    value > mach_info->backlight_max)
+		return -ERANGE;
+
+	s3c2410fb_backlight_level(value);
+	return len;
+}
+
+static int s3c2410fb_backlight_power_store(struct device *dev,
+					   const char *buf, size_t len)
+{
+	if (mach_info == NULL)
+		return -EINVAL;
+
+	if (len < 1)
+		return -EINVAL;
+
+	if (strnicmp(buf, "on", 2) == 0 ||
+	    strnicmp(buf, "1", 1) == 0) {
+		s3c2410fb_backlight_power(1);
+	} else if (strnicmp(buf, "off", 3) == 0 ||
+		   strnicmp(buf, "0", 1) == 0) {
+		s3c2410fb_backlight_power(0);
+	} else {
+		return -EINVAL;
+	}
+
+	return len;
+}
+
+static DEVICE_ATTR(lcd_power, 0644,
+		   s3c2410fb_lcd_power_show,
+		   s3c2410fb_lcd_power_store);
+
+static DEVICE_ATTR(backlight_level, 0644,
+		   s3c2410fb_backlight_level_show,
+		   s3c2410fb_backlight_level_store);
+
+static DEVICE_ATTR(backlight_power, 0644,
+		   s3c2410fb_backlight_power_show,
+		   s3c2410fb_backlight_power_store);
+
+
+
+static struct fb_ops s3c2410fb_ops = {
+	.owner		= THIS_MODULE,
+	.fb_check_var	= s3c2410fb_check_var,
+	.fb_set_par	= s3c2410fb_set_par,	
+	.fb_blank	= s3c2410fb_blank,
+	.fb_pan_display	= s3c2410fb_pan_display,	
+	.fb_setcolreg	= s3c2410fb_setcolreg,
+	.fb_fillrect	= cfb_fillrect,
+	.fb_copyarea	= cfb_copyarea,	
+	.fb_imageblit	= cfb_imageblit,
+	.fb_cursor	= soft_cursor,	
+	.fb_ioctl	= s3c2410fb_ioctl,
+};
+
+
+/* Fake monspecs to fill in fbinfo structure */
+/* Don't know if the values are important    */
+static struct fb_monspecs monspecs __initdata = {
+	.hfmin	= 30000,
+	.hfmax	= 70000,
+	.vfmin	= 50,
+	.vfmax	= 65,
+};
+
+/*
+ * s3c2410fb_map_video_memory():
+ *	Allocates the DRAM memory for the frame buffer.  This buffer is
+ *	remapped into a non-cached, non-buffered, memory region to
+ *	allow palette and pixel writes to occur without flushing the
+ *	cache.  Once this area is remapped, all virtual memory
+ *	access to the video memory should occur at the new region.
+ */
+static int __init s3c2410fb_map_video_memory(struct s3c2410fb_info *fbi)
+{
+	dprintk("map_video_memory(fbi=%p)\n", fbi);
+
+	fbi->map_size = PAGE_ALIGN(fbi->fb.fix.smem_len + PAGE_SIZE);
+	fbi->map_cpu = dma_alloc_writecombine(fbi->dev, fbi->map_size,
+					      &fbi->map_dma, GFP_KERNEL);
+
+	fbi->map_size = fbi->fb.fix.smem_len;
+
+	if (fbi->map_cpu) {
+		/* prevent initial garbage on screen */
+		dprintk("map_video_memory: clear %p:%08x\n",
+			fbi->map_cpu, fbi->map_size);
+		memset(fbi->map_cpu, 0xf0, fbi->map_size);
+
+		fbi->screen_dma = fbi->map_dma;
+		fbi->fb.screen_base = fbi->map_cpu;
+		fbi->fb.fix.smem_start = fbi->screen_dma;
+
+		dprintk("map_video_memory: dma=%08x cpu=%p size=%08x\n",
+			fbi->map_dma, fbi->map_cpu, fbi->fb.fix.smem_len);
+	}
+
+	return fbi->map_cpu ? 0 : -ENOMEM;
+}
+
+static inline void modify_gpio(unsigned long reg,
+			       unsigned long set, unsigned long mask)
+{
+	unsigned long tmp;
+	
+	tmp = __raw_readl(reg) & ~mask;
+	__raw_writel(tmp | set, reg);
+
+	dprintk("%08lx set to %08x\n", reg, __raw_readl(reg)); 
+}
+
+/*
+ * s3c2410fb_init_registers - Initialise all LCD-related registers
+ */
+int s3c2410fb_init_registers(struct s3c2410fb_info *fbi)
+{	
+	unsigned long saddr1, saddr2, saddr3;
+	unsigned long flags;
+
+	/* Initialise LCD with values from haret */
+
+	local_irq_save(flags);
+
+	/* modify the gpio(s) with interrupts set (bjd) */
+
+	modify_gpio(S3C2410_GPCUP, mach_info->gpcup, mach_info->gpcup_mask);
+	modify_gpio(S3C2410_GPCCON, mach_info->gpccon, mach_info->gpccon_mask);
+	modify_gpio(S3C2410_GPDUP, mach_info->gpdup, mach_info->gpdup_mask);
+	modify_gpio(S3C2410_GPDCON, mach_info->gpdcon, mach_info->gpdcon_mask);
+
+	local_irq_restore(flags);
+
+	__raw_writel(mach_info->lcdcon1, S3C2410_LCDCON1);
+	__raw_writel(mach_info->lcdcon2, S3C2410_LCDCON2);
+	__raw_writel(mach_info->lcdcon3, S3C2410_LCDCON3);
+	__raw_writel(mach_info->lcdcon4, S3C2410_LCDCON4);
+	__raw_writel(mach_info->lcdcon5, S3C2410_LCDCON5);
+
+
+	saddr1 =  S3C2410_LCDBANK(fbi->fb.fix.smem_start >> 22)
+		| S3C2410_LCDBASEU(fbi->fb.fix.smem_start >> 1);
+	saddr2 = (fbi->fb.fix.smem_start+(mach_info->width*mach_info->height*2)) >> 1;
+	saddr3 =  S3C2410_OFFSIZE(0) | S3C2410_PAGEWIDTH(mach_info->width);
+	
+	
+	dprintk("LCDSADDR1 = 0x%08lx\n", saddr1);
+	__raw_writel(saddr1, S3C2410_LCDSADDR1);
+
+	dprintk("LCDSADDR2 = 0x%08lx\n", saddr2);
+	__raw_writel(saddr2, S3C2410_LCDSADDR2);
+	
+	dprintk("LCDSADDR3 = 0x%08lx\n", saddr3);
+	__raw_writel(saddr3, S3C2410_LCDSADDR3);
+
+	dprintk("LPCSEL    = 0x%08lx\n", mach_info->lpcsel);
+	__raw_writel(mach_info->lpcsel, S3C2410_LPCSEL);
+
+	dprintk("replacing TPAL %08x\n", __raw_readl(S3C2410_TPAL));
+
+	/* ensure temporary palette disabled */
+	__raw_writel(0x00, S3C2410_TPAL);
+
+	/* probably not required */
+	msleep(10);
+
+	/* Enable video by setting the ENVID bit to 1 */
+	__raw_writel(mach_info->lcdcon1|S3C2410_LCDCON1_ENVID, S3C2410_LCDCON1);
+	return 0;
+}
+
+static struct clk      *lcd_clock;
+
+int __init s3c2410fb_probe(struct device *dev)
+{
+	char driver_name[]="s3c2410fb";
+	int ret;
+
+	mach_info = dev->platform_data;
+	if (mach_info == NULL)
+	{
+		printk(KERN_ERR "no platform data for lcd, cannot attach\n");
+		return -EINVAL;
+	}
+	
+	s3c2410fb_backlight_power(1);
+	s3c2410fb_lcd_power(1);
+
+	s3c2410fb_backlight_level(DEFAULT_BACKLIGHT_LEVEL);
+
+	dprintk("devinit\n");
+
+	strcpy(info.fb.fix.id, driver_name);
+	info.fb.fix.type	    = FB_TYPE_PACKED_PIXELS;
+	info.fb.fix.type_aux	    = 0;
+	info.fb.fix.xpanstep	    = 0;
+	info.fb.fix.ypanstep	    = 0;
+	info.fb.fix.ywrapstep	    = 0;
+	info.fb.fix.accel	    = FB_ACCEL_NONE;
+
+	info.fb.var.nonstd	    = 0;
+	info.fb.var.activate	    = FB_ACTIVATE_NOW;
+	info.fb.var.height	    = mach_info->height;
+	info.fb.var.width	    = mach_info->width;
+	info.fb.var.accel_flags     = 0;
+	info.fb.var.vmode	    = FB_VMODE_NONINTERLACED;
+
+	info.fb.fbops		    = &s3c2410fb_ops;
+	info.fb.flags		    = FBINFO_FLAG_DEFAULT;
+	info.fb.monspecs	    = monspecs;
+	info.fb.pseudo_palette      = &info.pseudo_pal;
+
+
+	info.fb.var.xres	    = mach_info->xres;
+	info.fb.var.xres_virtual    = mach_info->xres;
+	info.fb.var.yres	    = mach_info->yres;
+	info.fb.var.yres_virtual    = mach_info->yres;
+	info.fb.var.bits_per_pixel  = mach_info->bpp;
+
+
+	info.fb.var.red.offset      = 11;
+	info.fb.var.green.offset    = 5;
+	info.fb.var.blue.offset     = 0;
+	info.fb.var.transp.offset   = 0;
+	info.fb.var.red.length      = 5;
+	info.fb.var.green.length    = 6;
+	info.fb.var.blue.length     = 5;
+	info.fb.var.transp.length   = 0;
+
+	info.fb.fix.smem_len	    = info.fb.var.xres * info.fb.var.yres *
+				      info.fb.var.bits_per_pixel / 8;
+
+	if (!request_mem_region(S3C2410_VA_LCD, SZ_1M, "s3c2410-lcd"))
+		return -EBUSY;
+	dprintk("got LCD region\n");
+
+	lcd_clock = clk_get(NULL, "lcd");
+	if (!lcd_clock) {
+		printk(KERN_INFO "failed to get lcd clock source\n");
+		return -ENOENT;
+	}
+	clk_use(lcd_clock);
+	clk_enable(lcd_clock);
+	dprintk("got and enabled clock\n");
+
+	/* maybe not required */
+	msleep(10);
+
+
+	/* Initialize video memory */
+	ret = s3c2410fb_map_video_memory(&info);
+	if (ret) {
+		printk("Failed to allocate video RAM: %d\n", ret);
+		ret = -ENOMEM;
+		goto failed;
+	}
+	dprintk("got video memory\n");
+
+	ret = s3c2410fb_init_registers(&info);
+	s3c2410fb_lcd_power(1);
+
+	ret = s3c2410fb_check_var(&info.fb.var, &info.fb);
+
+	ret = register_framebuffer(&info.fb);
+	if (ret < 0) {
+		printk("Failed to register framebuffer device: %d\n", ret);
+		goto failed;
+	}
+
+	/* create device files */
+
+	device_create_file(dev, &dev_attr_backlight_power);
+	device_create_file(dev, &dev_attr_backlight_level);
+	device_create_file(dev, &dev_attr_lcd_power);
+
+	printk(KERN_INFO "fb%d: %s frame buffer device\n",
+		info.fb.node, info.fb.fix.id);
+
+	return 0;
+failed:
+	release_mem_region(S3C2410_VA_LCD, S3C2410_SZ_LCD);
+	return ret;
+}
+
+/* s3c2410fb_stop_lcd
+ *
+ * shutdown the lcd controller 
+*/
+
+static void s3c2410fb_stop_lcd(void)
+{
+	unsigned long flags;
+	unsigned long tmp;
+
+	local_irq_save(flags);
+	
+	tmp = __raw_readl(S3C2410_LCDCON1);
+	__raw_writel(tmp & ~S3C2410_LCDCON1_ENVID, S3C2410_LCDCON1);
+	
+	local_irq_restore(flags);
+}
+
+/*
+ *  Cleanup
+ */
+static void __exit s3c2410fb_cleanup(void)
+{
+	s3c2410fb_stop_lcd();
+	msleep(1);
+
+	if (lcd_clock) {
+		clk_disable(lcd_clock);
+		clk_unuse(lcd_clock);
+		clk_put(lcd_clock);
+		lcd_clock = NULL;
+	}
+
+	unregister_framebuffer(&info.fb);
+	release_mem_region(S3C2410_VA_LCD, S3C2410_SZ_LCD);
+}
+
+#ifdef CONFIG_PM
+
+/* suspend and resume support for the lcd controller */
+
+static int s3c2410fb_suspend(struct device *dev, u32 state, u32 level)
+{
+	if (level == SUSPEND_DISABLE || level == SUSPEND_POWER_DOWN) {
+		s3c2410fb_stop_lcd();
+
+		/* sleep before disabling the clock, we need to ensure
+		 * the LCD DMA engine is not going to get back on the bus
+		 * before the clock goes off again (bjd) */
+
+		if (mach_info != NULL) {
+			/* don't use our helper functions in this file,
+			   becuase we want to save the original values for
+			   when the system wakes up
+			*/
+
+			if (mach_info->lcd_power)
+				(mach_info->lcd_power)(0);
+
+			if (mach_info->backlight_power)
+				(mach_info->backlight_power)(0);
+		}
+
+		msleep(1);
+		clk_disable(lcd_clock);
+	}
+
+	return 0;
+}
+
+static int s3c2410fb_resume(struct device *dev, u32 level)
+{
+	if (level == RESUME_ENABLE) {
+		clk_enable(lcd_clock);
+		msleep(1);
+
+		s3c2410fb_init_registers(&info);
+		
+		/* resume the backlight level */
+		s3c2410fb_backlight_power(backlight_power);
+		s3c2410fb_backlight_level(backlight_level);
+	}
+
+	return 0;
+}
+
+#else
+#define s3c2410fb_suspend NULL
+#define s3c2410fb_resume  NULL
+#endif
+
+static struct device_driver s3c2410fb_driver = {
+	.name		= "s3c2410-lcd",
+	.bus		= &platform_bus_type,
+	.probe		= s3c2410fb_probe,
+	.suspend	= s3c2410fb_suspend,
+	.resume		= s3c2410fb_resume,
+};
+
+int __devinit s3c2410fb_init(void)
+{
+	return driver_register(&s3c2410fb_driver);
+}
+
+module_init(s3c2410fb_init);
+module_exit(s3c2410fb_cleanup);
+
+MODULE_AUTHOR("Arnaud Patard <arnaud.patard@rtp-net.org>");
+MODULE_DESCRIPTION("Framebuffer driver for the s3c2410");
+MODULE_LICENSE("GPL");
diff -Nru linux-2.6.10/drivers/video/s3c2410fb.h linux-2.6.10-h1940/drivers/video/s3c2410fb.h
--- linux-2.6.10/drivers/video/s3c2410fb.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/drivers/video/s3c2410fb.h	2004-12-31 09:12:33.000000000 +0000
@@ -0,0 +1,47 @@
+#ifndef __S3C2410FB_H
+#define __S3C2410FB_H
+/*
+ * linux/drivers/s3c2410fb.h
+ * Copyright (c) Arnaud Patard
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file COPYING in the main directory of this archive for
+ * more details.
+ *
+ *	    S3C2410 LCD Controller Frame Buffer Driver
+ *	    based on skeletonfb.c, sa1100fb.h
+ *
+ * ChangeLog
+ *
+ * 2004-09-07: Arnaud Patard <arnaud.patard@rtp-net.org>
+ * 	- Renamed from h1940fb.h to s3c2410fb.h
+ * 	- Chenged h1940 to s3c2410
+ * 2004-07-15: Arnaud Patard <arnaud.patard@rtp-net.org>
+ *	- First version
+ */
+
+struct s3c2410fb_info {
+	struct fb_info		fb;
+	struct device		*dev;
+
+	/* raw memory addresses */
+	dma_addr_t		map_dma;	/* physical */
+	u_char *		map_cpu;	/* virtual */
+	u_int			map_size;
+
+	/* addresses of pieces placed in raw buffer */
+	u_char *		screen_cpu;	/* virtual address of frame buffer */
+	dma_addr_t		screen_dma;	/* physical address of frame buffer */
+
+	u32 pseudo_pal[16];
+};
+
+int s3c2410fb_init(void);
+
+#if 1
+#define dprintk(msg...)	printk(KERN_INFO "s3c2410fb: " msg)
+#else
+#define dprintk(msg...) while (0) { }
+#endif
+
+#endif
diff -Nru linux-2.6.10/include/asm-arm/arch-s3c2410/regs-adc.h linux-2.6.10-h1940/include/asm-arm/arch-s3c2410/regs-adc.h
--- linux-2.6.10/include/asm-arm/arch-s3c2410/regs-adc.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/asm-arm/arch-s3c2410/regs-adc.h	2004-12-31 09:12:29.000000000 +0000
@@ -0,0 +1,36 @@
+#ifndef __ASM_ARCH_REGS_ADC_H
+#define __ASM_ARCH_REGS_ADC_H
+
+#define S3C2410_ADCREG(x) ((x) + S3C2410_VA_ADC)
+
+#define S3C2410_ADCCON		S3C2410_ADCREG(0x00)
+#define S3C2410_ECFLG		(1<<15)
+#define S3C2410_PRSCEN		(1<<14)
+#define S3C2410_PRSCVL(x)	((x)<<6)
+#define S3C2410_SEL_MUX(x)	((x)<<3)
+#define S3C2410_STDBM		(1<<2)
+#define S3C2410_READ_START	(1<<1)
+#define S3C2410_ENABLE_START	(1<<0)
+
+#define S3C2410_ADCTSC		S3C2410_ADCREG(0x04)
+#define S3C2410_YM_SEN		(1<<7)
+#define S3C2410_YP_SEN		(1<<6)
+#define S3C2410_XM_SEN		(1<<5)
+#define S3C2410_XP_SEN		(1<<4)
+#define S3C2410_PULL_UP		(1<<3)
+#define S3C2410_AUTO_PST	(1<<2)
+#define S3C2410_XY_PST(x)	(x)
+
+#define S3C2410_ADCDLY		S3C2410_ADCREG(0x08)
+#define S3C2410_DELAY(x)	(x)
+
+#define S3C2410_ADCDAT0		S3C2410_ADCREG(0x0C)
+#define S3C2410_ADCDAT1		S3C2410_ADCREG(0x10)
+#define S3C2410_DAT_UPDOWN	(1<<15)
+#define S3C2410_DAT_AUTO_PST	(1<<14)
+#define S3C2410_DAT_XY_PST(x)	((x)<<12)
+
+
+#endif
+
+
diff -Nru linux-2.6.10/include/asm-arm/arch-s3c2410/regs-sdi.h linux-2.6.10-h1940/include/asm-arm/arch-s3c2410/regs-sdi.h
--- linux-2.6.10/include/asm-arm/arch-s3c2410/regs-sdi.h	2004-12-24 21:33:49.000000000 +0000
+++ linux-2.6.10-h1940/include/asm-arm/arch-s3c2410/regs-sdi.h	2005-01-17 13:24:16.000000000 +0000
@@ -47,7 +47,8 @@
 #define S3C2410_SDICMDCON_LONGRSP     (1<<10)
 #define S3C2410_SDICMDCON_WAITRSP     (1<<9)
 #define S3C2410_SDICMDCON_CMDSTART    (1<<8)
-#define S3C2410_SDICMDCON_INDEX       (0xff)
+#define S3C2410_SDICMDCON_SENDERHOST  (1<<6)
+#define S3C2410_SDICMDCON_INDEX       (0x3f)
 
 #define S3C2410_SDICMDSTAT_CRCFAIL    (1<<12)
 #define S3C2410_SDICMDSTAT_CMDSENT    (1<<11)
@@ -73,6 +74,7 @@
 #define S3C2410_SDIDCON_XFER_RXSTART  (2<<12)
 #define S3C2410_SDIDCON_XFER_TXSTART  (3<<12)
 
+#define S3C2410_SDIDCON_BLKNUM_MASK   (0xFFF)
 #define S3C2410_SDIDCNT_BLKNUM_SHIFT  (12)
 
 #define S3C2410_SDIDSTA_RDYWAITREQ    (1<<10)
diff -Nru linux-2.6.10/include/asm-arm/arch-s3c2410/s3c2410fb.h linux-2.6.10-h1940/include/asm-arm/arch-s3c2410/s3c2410fb.h
--- linux-2.6.10/include/asm-arm/arch-s3c2410/s3c2410fb.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/asm-arm/arch-s3c2410/s3c2410fb.h	2004-12-31 09:12:33.000000000 +0000
@@ -0,0 +1,64 @@
+/* linux/include/asm/arch-s3c2410/s3c2410fb.h
+ *
+ * Copyright (c) 2004 Arnaud Patard <arnaud.patard@rtp-net.org>
+ *
+ * Inspired by pxafb.h
+ *
+ * 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:
+ *	07-Sep-2004	RTP	Created file
+ *	03-Nov-2004	BJD	Updated and minor cleanups      
+*/
+
+#ifndef __ASM_ARM_S3C2410FB_H
+#define __ASM_ARM_S3C2410FB_H
+
+#include <asm/arch/regs-lcd.h>
+
+struct s3c2410fb_mach_info {
+	
+	/* Screen size */
+	int		width;
+	int		height;
+
+	/* Screen info */
+	int		xres;
+	int		yres;
+	int		bpp;
+	
+	/* lcd configuration registers */
+	unsigned long	lcdcon1;
+	unsigned long	lcdcon2;
+	unsigned long	lcdcon3;
+	unsigned long	lcdcon4;
+	unsigned long	lcdcon5;
+
+	/* GPIOs */
+	unsigned long	gpcup;
+	unsigned long	gpcup_mask;
+	unsigned long	gpccon;
+	unsigned long	gpccon_mask;
+	unsigned long	gpdup;
+	unsigned long	gpdup_mask;
+	unsigned long	gpdcon;
+	unsigned long	gpdcon_mask;
+	
+	/* lpc3600 control register */
+	unsigned long	lpcsel;
+
+	/* backlight info */
+	int		backlight_min;
+	int		backlight_max;
+	int		backlight_default;
+	
+	/* Utility fonctions */
+	void		(*backlight_power)(int);
+	void		(*lcd_power)(int);
+	void		(*set_brightness)(int);
+};
+
+#endif /* __ASM_ARM_S3C2410FB_H */
diff -Nru linux-2.6.10/include/config/acorn/partition.h linux-2.6.10-h1940/include/config/acorn/partition.h
--- linux-2.6.10/include/config/acorn/partition.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/acorn/partition.h	2005-01-18 12:50:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ACORN_PARTITION
diff -Nru linux-2.6.10/include/config/adfs/fs.h linux-2.6.10-h1940/include/config/adfs/fs.h
--- linux-2.6.10/include/config/adfs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/adfs/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ADFS_FS
diff -Nru linux-2.6.10/include/config/affs/fs.h linux-2.6.10-h1940/include/config/affs/fs.h
--- linux-2.6.10/include/config/affs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/affs/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_AFFS_FS
diff -Nru linux-2.6.10/include/config/afs/fs.h linux-2.6.10-h1940/include/config/afs/fs.h
--- linux-2.6.10/include/config/afs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/afs/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_AFS_FS
diff -Nru linux-2.6.10/include/config/alignment/trap.h linux-2.6.10-h1940/include/config/alignment/trap.h
--- linux-2.6.10/include/config/alignment/trap.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/alignment/trap.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_ALIGNMENT_TRAP 1
diff -Nru linux-2.6.10/include/config/amiga/partition.h linux-2.6.10-h1940/include/config/amiga/partition.h
--- linux-2.6.10/include/config/amiga/partition.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/amiga/partition.h	2005-01-18 12:50:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_AMIGA_PARTITION
diff -Nru linux-2.6.10/include/config/apm.h linux-2.6.10-h1940/include/config/apm.h
--- linux-2.6.10/include/config/apm.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/apm.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_APM 1
diff -Nru linux-2.6.10/include/config/arch/bast.h linux-2.6.10-h1940/include/config/arch/bast.h
--- linux-2.6.10/include/config/arch/bast.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/bast.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_BAST
diff -Nru linux-2.6.10/include/config/arch/camelot.h linux-2.6.10-h1940/include/config/arch/camelot.h
--- linux-2.6.10/include/config/arch/camelot.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/camelot.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_CAMELOT
diff -Nru linux-2.6.10/include/config/arch/clps711x.h linux-2.6.10-h1940/include/config/arch/clps711x.h
--- linux-2.6.10/include/config/arch/clps711x.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/clps711x.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_CLPS711X
diff -Nru linux-2.6.10/include/config/arch/clps7500.h linux-2.6.10-h1940/include/config/arch/clps7500.h
--- linux-2.6.10/include/config/arch/clps7500.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/clps7500.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_CLPS7500
diff -Nru linux-2.6.10/include/config/arch/co285.h linux-2.6.10-h1940/include/config/arch/co285.h
--- linux-2.6.10/include/config/arch/co285.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/co285.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_CO285
diff -Nru linux-2.6.10/include/config/arch/ebsa110.h linux-2.6.10-h1940/include/config/arch/ebsa110.h
--- linux-2.6.10/include/config/arch/ebsa110.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/ebsa110.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_EBSA110
diff -Nru linux-2.6.10/include/config/arch/footbridge.h linux-2.6.10-h1940/include/config/arch/footbridge.h
--- linux-2.6.10/include/config/arch/footbridge.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/footbridge.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_FOOTBRIDGE
diff -Nru linux-2.6.10/include/config/arch/h1940.h linux-2.6.10-h1940/include/config/arch/h1940.h
--- linux-2.6.10/include/config/arch/h1940.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/h1940.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_ARCH_H1940 1
diff -Nru linux-2.6.10/include/config/arch/h720x.h linux-2.6.10-h1940/include/config/arch/h720x.h
--- linux-2.6.10/include/config/arch/h720x.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/h720x.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_H720X
diff -Nru linux-2.6.10/include/config/arch/imx.h linux-2.6.10-h1940/include/config/arch/imx.h
--- linux-2.6.10/include/config/arch/imx.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/imx.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_IMX
diff -Nru linux-2.6.10/include/config/arch/integrator.h linux-2.6.10-h1940/include/config/arch/integrator.h
--- linux-2.6.10/include/config/arch/integrator.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/integrator.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_INTEGRATOR
diff -Nru linux-2.6.10/include/config/arch/iop3xx.h linux-2.6.10-h1940/include/config/arch/iop3xx.h
--- linux-2.6.10/include/config/arch/iop3xx.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/iop3xx.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_IOP3XX
diff -Nru linux-2.6.10/include/config/arch/ixp2000.h linux-2.6.10-h1940/include/config/arch/ixp2000.h
--- linux-2.6.10/include/config/arch/ixp2000.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/ixp2000.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_IXP2000
diff -Nru linux-2.6.10/include/config/arch/ixp4xx.h linux-2.6.10-h1940/include/config/arch/ixp4xx.h
--- linux-2.6.10/include/config/arch/ixp4xx.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/ixp4xx.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_IXP4XX
diff -Nru linux-2.6.10/include/config/arch/l7200.h linux-2.6.10-h1940/include/config/arch/l7200.h
--- linux-2.6.10/include/config/arch/l7200.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/l7200.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_L7200
diff -Nru linux-2.6.10/include/config/arch/lh7a40x.h linux-2.6.10-h1940/include/config/arch/lh7a40x.h
--- linux-2.6.10/include/config/arch/lh7a40x.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/lh7a40x.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_LH7A40X
diff -Nru linux-2.6.10/include/config/arch/omap.h linux-2.6.10-h1940/include/config/arch/omap.h
--- linux-2.6.10/include/config/arch/omap.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/omap.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_OMAP
diff -Nru linux-2.6.10/include/config/arch/pxa.h linux-2.6.10-h1940/include/config/arch/pxa.h
--- linux-2.6.10/include/config/arch/pxa.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/pxa.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_PXA
diff -Nru linux-2.6.10/include/config/arch/rpc.h linux-2.6.10-h1940/include/config/arch/rpc.h
--- linux-2.6.10/include/config/arch/rpc.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/rpc.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_RPC
diff -Nru linux-2.6.10/include/config/arch/s3c2410.h linux-2.6.10-h1940/include/config/arch/s3c2410.h
--- linux-2.6.10/include/config/arch/s3c2410.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/s3c2410.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_ARCH_S3C2410 1
diff -Nru linux-2.6.10/include/config/arch/sa1100.h linux-2.6.10-h1940/include/config/arch/sa1100.h
--- linux-2.6.10/include/config/arch/sa1100.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/sa1100.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_SA1100
diff -Nru linux-2.6.10/include/config/arch/shark.h linux-2.6.10-h1940/include/config/arch/shark.h
--- linux-2.6.10/include/config/arch/shark.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/shark.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_SHARK
diff -Nru linux-2.6.10/include/config/arch/smdk2410.h linux-2.6.10-h1940/include/config/arch/smdk2410.h
--- linux-2.6.10/include/config/arch/smdk2410.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/smdk2410.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_SMDK2410
diff -Nru linux-2.6.10/include/config/arch/versatile.h linux-2.6.10-h1940/include/config/arch/versatile.h
--- linux-2.6.10/include/config/arch/versatile.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arch/versatile.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARCH_VERSATILE
diff -Nru linux-2.6.10/include/config/arm/thumb.h linux-2.6.10-h1940/include/config/arm/thumb.h
--- linux-2.6.10/include/config/arm/thumb.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arm/thumb.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARM_THUMB
diff -Nru linux-2.6.10/include/config/arm.h linux-2.6.10-h1940/include/config/arm.h
--- linux-2.6.10/include/config/arm.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arm.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_ARM 1
diff -Nru linux-2.6.10/include/config/arpd.h linux-2.6.10-h1940/include/config/arpd.h
--- linux-2.6.10/include/config/arpd.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arpd.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARPD
diff -Nru linux-2.6.10/include/config/arthur.h linux-2.6.10-h1940/include/config/arthur.h
--- linux-2.6.10/include/config/arthur.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/arthur.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ARTHUR
diff -Nru linux-2.6.10/include/config/atalk.h linux-2.6.10-h1940/include/config/atalk.h
--- linux-2.6.10/include/config/atalk.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/atalk.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ATALK
diff -Nru linux-2.6.10/include/config/atari/partition.h linux-2.6.10-h1940/include/config/atari/partition.h
--- linux-2.6.10/include/config/atari/partition.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/atari/partition.h	2005-01-18 12:50:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ATARI_PARTITION
diff -Nru linux-2.6.10/include/config/atm.h linux-2.6.10-h1940/include/config/atm.h
--- linux-2.6.10/include/config/atm.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/atm.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ATM
diff -Nru linux-2.6.10/include/config/audit.h linux-2.6.10-h1940/include/config/audit.h
--- linux-2.6.10/include/config/audit.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/audit.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_AUDIT
diff -Nru linux-2.6.10/include/config/autofs/fs.h linux-2.6.10-h1940/include/config/autofs/fs.h
--- linux-2.6.10/include/config/autofs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/autofs/fs.h	2005-01-18 11:43:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_AUTOFS_FS 1
diff -Nru linux-2.6.10/include/config/autofs4/fs.h linux-2.6.10-h1940/include/config/autofs4/fs.h
--- linux-2.6.10/include/config/autofs4/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/autofs4/fs.h	2005-01-18 11:43:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_AUTOFS4_FS 1
diff -Nru linux-2.6.10/include/config/befs/fs.h linux-2.6.10-h1940/include/config/befs/fs.h
--- linux-2.6.10/include/config/befs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/befs/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_BEFS_FS
diff -Nru linux-2.6.10/include/config/bfs/fs.h linux-2.6.10-h1940/include/config/bfs/fs.h
--- linux-2.6.10/include/config/bfs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/bfs/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_BFS_FS
diff -Nru linux-2.6.10/include/config/binfmt/aout.h linux-2.6.10-h1940/include/config/binfmt/aout.h
--- linux-2.6.10/include/config/binfmt/aout.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/binfmt/aout.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_BINFMT_AOUT
diff -Nru linux-2.6.10/include/config/binfmt/elf.h linux-2.6.10-h1940/include/config/binfmt/elf.h
--- linux-2.6.10/include/config/binfmt/elf.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/binfmt/elf.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_BINFMT_ELF 1
diff -Nru linux-2.6.10/include/config/binfmt/misc.h linux-2.6.10-h1940/include/config/binfmt/misc.h
--- linux-2.6.10/include/config/binfmt/misc.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/binfmt/misc.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_BINFMT_MISC
diff -Nru linux-2.6.10/include/config/blk/dev/fd.h linux-2.6.10-h1940/include/config/blk/dev/fd.h
--- linux-2.6.10/include/config/blk/dev/fd.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/blk/dev/fd.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_BLK_DEV_FD
diff -Nru linux-2.6.10/include/config/blk/dev/initrd.h linux-2.6.10-h1940/include/config/blk/dev/initrd.h
--- linux-2.6.10/include/config/blk/dev/initrd.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/blk/dev/initrd.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_BLK_DEV_INITRD 1
diff -Nru linux-2.6.10/include/config/blk/dev/loop.h linux-2.6.10-h1940/include/config/blk/dev/loop.h
--- linux-2.6.10/include/config/blk/dev/loop.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/blk/dev/loop.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_BLK_DEV_LOOP
diff -Nru linux-2.6.10/include/config/blk/dev/nbd.h linux-2.6.10-h1940/include/config/blk/dev/nbd.h
--- linux-2.6.10/include/config/blk/dev/nbd.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/blk/dev/nbd.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_BLK_DEV_NBD
diff -Nru linux-2.6.10/include/config/blk/dev/ram/count.h linux-2.6.10-h1940/include/config/blk/dev/ram/count.h
--- linux-2.6.10/include/config/blk/dev/ram/count.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/blk/dev/ram/count.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_BLK_DEV_RAM_COUNT 16
diff -Nru linux-2.6.10/include/config/blk/dev/ram/size.h linux-2.6.10-h1940/include/config/blk/dev/ram/size.h
--- linux-2.6.10/include/config/blk/dev/ram/size.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/blk/dev/ram/size.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_BLK_DEV_RAM_SIZE 4096
diff -Nru linux-2.6.10/include/config/blk/dev/ram.h linux-2.6.10-h1940/include/config/blk/dev/ram.h
--- linux-2.6.10/include/config/blk/dev/ram.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/blk/dev/ram.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_BLK_DEV_RAM 1
diff -Nru linux-2.6.10/include/config/bonding.h linux-2.6.10-h1940/include/config/bonding.h
--- linux-2.6.10/include/config/bonding.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/bonding.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_BONDING
diff -Nru linux-2.6.10/include/config/bridge.h linux-2.6.10-h1940/include/config/bridge.h
--- linux-2.6.10/include/config/bridge.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/bridge.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_BRIDGE
diff -Nru linux-2.6.10/include/config/broken/on/smp.h linux-2.6.10-h1940/include/config/broken/on/smp.h
--- linux-2.6.10/include/config/broken/on/smp.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/broken/on/smp.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_BROKEN_ON_SMP 1
diff -Nru linux-2.6.10/include/config/bsd/disklabel.h linux-2.6.10-h1940/include/config/bsd/disklabel.h
--- linux-2.6.10/include/config/bsd/disklabel.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/bsd/disklabel.h	2005-01-18 12:50:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_BSD_DISKLABEL
diff -Nru linux-2.6.10/include/config/bsd/process/acct.h linux-2.6.10-h1940/include/config/bsd/process/acct.h
--- linux-2.6.10/include/config/bsd/process/acct.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/bsd/process/acct.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_BSD_PROCESS_ACCT
diff -Nru linux-2.6.10/include/config/bt.h linux-2.6.10-h1940/include/config/bt.h
--- linux-2.6.10/include/config/bt.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/bt.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_BT
diff -Nru linux-2.6.10/include/config/cc/align/functions.h linux-2.6.10-h1940/include/config/cc/align/functions.h
--- linux-2.6.10/include/config/cc/align/functions.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cc/align/functions.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CC_ALIGN_FUNCTIONS 0
diff -Nru linux-2.6.10/include/config/cc/align/jumps.h linux-2.6.10-h1940/include/config/cc/align/jumps.h
--- linux-2.6.10/include/config/cc/align/jumps.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cc/align/jumps.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CC_ALIGN_JUMPS 0
diff -Nru linux-2.6.10/include/config/cc/align/labels.h linux-2.6.10-h1940/include/config/cc/align/labels.h
--- linux-2.6.10/include/config/cc/align/labels.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cc/align/labels.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CC_ALIGN_LABELS 0
diff -Nru linux-2.6.10/include/config/cc/align/loops.h linux-2.6.10-h1940/include/config/cc/align/loops.h
--- linux-2.6.10/include/config/cc/align/loops.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cc/align/loops.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CC_ALIGN_LOOPS 0
diff -Nru linux-2.6.10/include/config/cc/optimize/for/size.h linux-2.6.10-h1940/include/config/cc/optimize/for/size.h
--- linux-2.6.10/include/config/cc/optimize/for/size.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cc/optimize/for/size.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CC_OPTIMIZE_FOR_SIZE 1
diff -Nru linux-2.6.10/include/config/cdrom/pktcdvd.h linux-2.6.10-h1940/include/config/cdrom/pktcdvd.h
--- linux-2.6.10/include/config/cdrom/pktcdvd.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cdrom/pktcdvd.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CDROM_PKTCDVD
diff -Nru linux-2.6.10/include/config/cifs.h linux-2.6.10-h1940/include/config/cifs.h
--- linux-2.6.10/include/config/cifs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cifs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CIFS
diff -Nru linux-2.6.10/include/config/clean/compile.h linux-2.6.10-h1940/include/config/clean/compile.h
--- linux-2.6.10/include/config/clean/compile.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/clean/compile.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CLEAN_COMPILE 1
diff -Nru linux-2.6.10/include/config/cmdline.h linux-2.6.10-h1940/include/config/cmdline.h
--- linux-2.6.10/include/config/cmdline.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cmdline.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CMDLINE "rw root=/dev/ram console=tty0 console=ttySAC2,115200n8 panic=30"
diff -Nru linux-2.6.10/include/config/coda/fs.h linux-2.6.10-h1940/include/config/coda/fs.h
--- linux-2.6.10/include/config/coda/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/coda/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CODA_FS
diff -Nru linux-2.6.10/include/config/cpu/32.h linux-2.6.10-h1940/include/config/cpu/32.h
--- linux-2.6.10/include/config/cpu/32.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cpu/32.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CPU_32 1
diff -Nru linux-2.6.10/include/config/cpu/32v4.h linux-2.6.10-h1940/include/config/cpu/32v4.h
--- linux-2.6.10/include/config/cpu/32v4.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cpu/32v4.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CPU_32v4 1
diff -Nru linux-2.6.10/include/config/cpu/abrt/ev4t.h linux-2.6.10-h1940/include/config/cpu/abrt/ev4t.h
--- linux-2.6.10/include/config/cpu/abrt/ev4t.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cpu/abrt/ev4t.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CPU_ABRT_EV4T 1
diff -Nru linux-2.6.10/include/config/cpu/arm920t.h linux-2.6.10-h1940/include/config/cpu/arm920t.h
--- linux-2.6.10/include/config/cpu/arm920t.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cpu/arm920t.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CPU_ARM920T 1
diff -Nru linux-2.6.10/include/config/cpu/cache/v4wt.h linux-2.6.10-h1940/include/config/cpu/cache/v4wt.h
--- linux-2.6.10/include/config/cpu/cache/v4wt.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cpu/cache/v4wt.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CPU_CACHE_V4WT 1
diff -Nru linux-2.6.10/include/config/cpu/cache/vivt.h linux-2.6.10-h1940/include/config/cpu/cache/vivt.h
--- linux-2.6.10/include/config/cpu/cache/vivt.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cpu/cache/vivt.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CPU_CACHE_VIVT 1
diff -Nru linux-2.6.10/include/config/cpu/copy/v4wb.h linux-2.6.10-h1940/include/config/cpu/copy/v4wb.h
--- linux-2.6.10/include/config/cpu/copy/v4wb.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cpu/copy/v4wb.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CPU_COPY_V4WB 1
diff -Nru linux-2.6.10/include/config/cpu/dcache/disable.h linux-2.6.10-h1940/include/config/cpu/dcache/disable.h
--- linux-2.6.10/include/config/cpu/dcache/disable.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cpu/dcache/disable.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CPU_DCACHE_DISABLE
diff -Nru linux-2.6.10/include/config/cpu/dcache/writethrough.h linux-2.6.10-h1940/include/config/cpu/dcache/writethrough.h
--- linux-2.6.10/include/config/cpu/dcache/writethrough.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cpu/dcache/writethrough.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CPU_DCACHE_WRITETHROUGH
diff -Nru linux-2.6.10/include/config/cpu/icache/disable.h linux-2.6.10-h1940/include/config/cpu/icache/disable.h
--- linux-2.6.10/include/config/cpu/icache/disable.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cpu/icache/disable.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CPU_ICACHE_DISABLE
diff -Nru linux-2.6.10/include/config/cpu/s3c2410.h linux-2.6.10-h1940/include/config/cpu/s3c2410.h
--- linux-2.6.10/include/config/cpu/s3c2410.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cpu/s3c2410.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CPU_S3C2410 1
diff -Nru linux-2.6.10/include/config/cpu/tlb/v4wbi.h linux-2.6.10-h1940/include/config/cpu/tlb/v4wbi.h
--- linux-2.6.10/include/config/cpu/tlb/v4wbi.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cpu/tlb/v4wbi.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CPU_TLB_V4WBI 1
diff -Nru linux-2.6.10/include/config/cramfs.h linux-2.6.10-h1940/include/config/cramfs.h
--- linux-2.6.10/include/config/cramfs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/cramfs.h	2004-12-31 18:56:39.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CRAMFS 1
diff -Nru linux-2.6.10/include/config/crc/ccitt.h linux-2.6.10-h1940/include/config/crc/ccitt.h
--- linux-2.6.10/include/config/crc/ccitt.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crc/ccitt.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CRC_CCITT 1
diff -Nru linux-2.6.10/include/config/crc32.h linux-2.6.10-h1940/include/config/crc32.h
--- linux-2.6.10/include/config/crc32.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crc32.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CRC32 1
diff -Nru linux-2.6.10/include/config/crypto/aes.h linux-2.6.10-h1940/include/config/crypto/aes.h
--- linux-2.6.10/include/config/crypto/aes.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/aes.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_AES
diff -Nru linux-2.6.10/include/config/crypto/anubis.h linux-2.6.10-h1940/include/config/crypto/anubis.h
--- linux-2.6.10/include/config/crypto/anubis.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/anubis.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_ANUBIS
diff -Nru linux-2.6.10/include/config/crypto/arc4.h linux-2.6.10-h1940/include/config/crypto/arc4.h
--- linux-2.6.10/include/config/crypto/arc4.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/arc4.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_ARC4
diff -Nru linux-2.6.10/include/config/crypto/blowfish.h linux-2.6.10-h1940/include/config/crypto/blowfish.h
--- linux-2.6.10/include/config/crypto/blowfish.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/blowfish.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_BLOWFISH
diff -Nru linux-2.6.10/include/config/crypto/cast5.h linux-2.6.10-h1940/include/config/crypto/cast5.h
--- linux-2.6.10/include/config/crypto/cast5.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/cast5.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_CAST5
diff -Nru linux-2.6.10/include/config/crypto/cast6.h linux-2.6.10-h1940/include/config/crypto/cast6.h
--- linux-2.6.10/include/config/crypto/cast6.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/cast6.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_CAST6
diff -Nru linux-2.6.10/include/config/crypto/crc32c.h linux-2.6.10-h1940/include/config/crypto/crc32c.h
--- linux-2.6.10/include/config/crypto/crc32c.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/crc32c.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_CRC32C
diff -Nru linux-2.6.10/include/config/crypto/deflate.h linux-2.6.10-h1940/include/config/crypto/deflate.h
--- linux-2.6.10/include/config/crypto/deflate.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/deflate.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_DEFLATE
diff -Nru linux-2.6.10/include/config/crypto/des.h linux-2.6.10-h1940/include/config/crypto/des.h
--- linux-2.6.10/include/config/crypto/des.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/des.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CRYPTO_DES 1
diff -Nru linux-2.6.10/include/config/crypto/hmac.h linux-2.6.10-h1940/include/config/crypto/hmac.h
--- linux-2.6.10/include/config/crypto/hmac.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/hmac.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_HMAC
diff -Nru linux-2.6.10/include/config/crypto/khazad.h linux-2.6.10-h1940/include/config/crypto/khazad.h
--- linux-2.6.10/include/config/crypto/khazad.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/khazad.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_KHAZAD
diff -Nru linux-2.6.10/include/config/crypto/md4.h linux-2.6.10-h1940/include/config/crypto/md4.h
--- linux-2.6.10/include/config/crypto/md4.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/md4.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_MD4
diff -Nru linux-2.6.10/include/config/crypto/md5.h linux-2.6.10-h1940/include/config/crypto/md5.h
--- linux-2.6.10/include/config/crypto/md5.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/md5.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CRYPTO_MD5 1
diff -Nru linux-2.6.10/include/config/crypto/michael/mic.h linux-2.6.10-h1940/include/config/crypto/michael/mic.h
--- linux-2.6.10/include/config/crypto/michael/mic.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/michael/mic.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_MICHAEL_MIC
diff -Nru linux-2.6.10/include/config/crypto/null.h linux-2.6.10-h1940/include/config/crypto/null.h
--- linux-2.6.10/include/config/crypto/null.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/null.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_NULL
diff -Nru linux-2.6.10/include/config/crypto/serpent.h linux-2.6.10-h1940/include/config/crypto/serpent.h
--- linux-2.6.10/include/config/crypto/serpent.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/serpent.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_SERPENT
diff -Nru linux-2.6.10/include/config/crypto/sha1.h linux-2.6.10-h1940/include/config/crypto/sha1.h
--- linux-2.6.10/include/config/crypto/sha1.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/sha1.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_SHA1
diff -Nru linux-2.6.10/include/config/crypto/sha256.h linux-2.6.10-h1940/include/config/crypto/sha256.h
--- linux-2.6.10/include/config/crypto/sha256.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/sha256.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_SHA256
diff -Nru linux-2.6.10/include/config/crypto/sha512.h linux-2.6.10-h1940/include/config/crypto/sha512.h
--- linux-2.6.10/include/config/crypto/sha512.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/sha512.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_SHA512
diff -Nru linux-2.6.10/include/config/crypto/tea.h linux-2.6.10-h1940/include/config/crypto/tea.h
--- linux-2.6.10/include/config/crypto/tea.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/tea.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_TEA
diff -Nru linux-2.6.10/include/config/crypto/test.h linux-2.6.10-h1940/include/config/crypto/test.h
--- linux-2.6.10/include/config/crypto/test.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/test.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_TEST
diff -Nru linux-2.6.10/include/config/crypto/twofish.h linux-2.6.10-h1940/include/config/crypto/twofish.h
--- linux-2.6.10/include/config/crypto/twofish.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/twofish.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_TWOFISH
diff -Nru linux-2.6.10/include/config/crypto/wp512.h linux-2.6.10-h1940/include/config/crypto/wp512.h
--- linux-2.6.10/include/config/crypto/wp512.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto/wp512.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_CRYPTO_WP512
diff -Nru linux-2.6.10/include/config/crypto.h linux-2.6.10-h1940/include/config/crypto.h
--- linux-2.6.10/include/config/crypto.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/crypto.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_CRYPTO 1
diff -Nru linux-2.6.10/include/config/debug/bugverbose.h linux-2.6.10-h1940/include/config/debug/bugverbose.h
--- linux-2.6.10/include/config/debug/bugverbose.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/debug/bugverbose.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_DEBUG_BUGVERBOSE 1
diff -Nru linux-2.6.10/include/config/debug/driver.h linux-2.6.10-h1940/include/config/debug/driver.h
--- linux-2.6.10/include/config/debug/driver.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/debug/driver.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_DEBUG_DRIVER
diff -Nru linux-2.6.10/include/config/debug/errors.h linux-2.6.10-h1940/include/config/debug/errors.h
--- linux-2.6.10/include/config/debug/errors.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/debug/errors.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_DEBUG_ERRORS
diff -Nru linux-2.6.10/include/config/debug/icedcc.h linux-2.6.10-h1940/include/config/debug/icedcc.h
--- linux-2.6.10/include/config/debug/icedcc.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/debug/icedcc.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_DEBUG_ICEDCC
diff -Nru linux-2.6.10/include/config/debug/info.h linux-2.6.10-h1940/include/config/debug/info.h
--- linux-2.6.10/include/config/debug/info.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/debug/info.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_DEBUG_INFO 1
diff -Nru linux-2.6.10/include/config/debug/kernel.h linux-2.6.10-h1940/include/config/debug/kernel.h
--- linux-2.6.10/include/config/debug/kernel.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/debug/kernel.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_DEBUG_KERNEL 1
diff -Nru linux-2.6.10/include/config/debug/kobject.h linux-2.6.10-h1940/include/config/debug/kobject.h
--- linux-2.6.10/include/config/debug/kobject.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/debug/kobject.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_DEBUG_KOBJECT
diff -Nru linux-2.6.10/include/config/debug/ll.h linux-2.6.10-h1940/include/config/debug/ll.h
--- linux-2.6.10/include/config/debug/ll.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/debug/ll.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_DEBUG_LL 1
diff -Nru linux-2.6.10/include/config/debug/s3c2410/port.h linux-2.6.10-h1940/include/config/debug/s3c2410/port.h
--- linux-2.6.10/include/config/debug/s3c2410/port.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/debug/s3c2410/port.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_DEBUG_S3C2410_PORT
diff -Nru linux-2.6.10/include/config/debug/s3c2410/uart.h linux-2.6.10-h1940/include/config/debug/s3c2410/uart.h
--- linux-2.6.10/include/config/debug/s3c2410/uart.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/debug/s3c2410/uart.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_DEBUG_S3C2410_UART 0
diff -Nru linux-2.6.10/include/config/debug/slab.h linux-2.6.10-h1940/include/config/debug/slab.h
--- linux-2.6.10/include/config/debug/slab.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/debug/slab.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_DEBUG_SLAB
diff -Nru linux-2.6.10/include/config/debug/spinlock.h linux-2.6.10-h1940/include/config/debug/spinlock.h
--- linux-2.6.10/include/config/debug/spinlock.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/debug/spinlock.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_DEBUG_SPINLOCK
diff -Nru linux-2.6.10/include/config/debug/user.h linux-2.6.10-h1940/include/config/debug/user.h
--- linux-2.6.10/include/config/debug/user.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/debug/user.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_DEBUG_USER 1
diff -Nru linux-2.6.10/include/config/debug/waitq.h linux-2.6.10-h1940/include/config/debug/waitq.h
--- linux-2.6.10/include/config/debug/waitq.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/debug/waitq.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_DEBUG_WAITQ
diff -Nru linux-2.6.10/include/config/decnet.h linux-2.6.10-h1940/include/config/decnet.h
--- linux-2.6.10/include/config/decnet.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/decnet.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_DECNET
diff -Nru linux-2.6.10/include/config/devfs/debug.h linux-2.6.10-h1940/include/config/devfs/debug.h
--- linux-2.6.10/include/config/devfs/debug.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/devfs/debug.h	2005-01-17 17:37:11.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_DEVFS_DEBUG 1
diff -Nru linux-2.6.10/include/config/devfs/fs.h linux-2.6.10-h1940/include/config/devfs/fs.h
--- linux-2.6.10/include/config/devfs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/devfs/fs.h	2005-01-17 17:37:11.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_DEVFS_FS 1
diff -Nru linux-2.6.10/include/config/devfs/mount.h linux-2.6.10-h1940/include/config/devfs/mount.h
--- linux-2.6.10/include/config/devfs/mount.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/devfs/mount.h	2005-01-17 17:37:11.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_DEVFS_MOUNT
diff -Nru linux-2.6.10/include/config/devpts/fs/xattr.h linux-2.6.10-h1940/include/config/devpts/fs/xattr.h
--- linux-2.6.10/include/config/devpts/fs/xattr.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/devpts/fs/xattr.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_DEVPTS_FS_XATTR
diff -Nru linux-2.6.10/include/config/dnotify.h linux-2.6.10-h1940/include/config/dnotify.h
--- linux-2.6.10/include/config/dnotify.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/dnotify.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_DNOTIFY 1
diff -Nru linux-2.6.10/include/config/dongle.h linux-2.6.10-h1940/include/config/dongle.h
--- linux-2.6.10/include/config/dongle.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/dongle.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_DONGLE
diff -Nru linux-2.6.10/include/config/drm.h linux-2.6.10-h1940/include/config/drm.h
--- linux-2.6.10/include/config/drm.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/drm.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_DRM
diff -Nru linux-2.6.10/include/config/dtlk.h linux-2.6.10-h1940/include/config/dtlk.h
--- linux-2.6.10/include/config/dtlk.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/dtlk.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_DTLK
diff -Nru linux-2.6.10/include/config/dummy/console.h linux-2.6.10-h1940/include/config/dummy/console.h
--- linux-2.6.10/include/config/dummy/console.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/dummy/console.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_DUMMY_CONSOLE 1
diff -Nru linux-2.6.10/include/config/dummy.h linux-2.6.10-h1940/include/config/dummy.h
--- linux-2.6.10/include/config/dummy.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/dummy.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_DUMMY 1
diff -Nru linux-2.6.10/include/config/dvb.h linux-2.6.10-h1940/include/config/dvb.h
--- linux-2.6.10/include/config/dvb.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/dvb.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_DVB
diff -Nru linux-2.6.10/include/config/econet.h linux-2.6.10-h1940/include/config/econet.h
--- linux-2.6.10/include/config/econet.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/econet.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ECONET
diff -Nru linux-2.6.10/include/config/efi/partition.h linux-2.6.10-h1940/include/config/efi/partition.h
--- linux-2.6.10/include/config/efi/partition.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/efi/partition.h	2005-01-18 12:50:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_EFI_PARTITION 1
diff -Nru linux-2.6.10/include/config/efs/fs.h linux-2.6.10-h1940/include/config/efs/fs.h
--- linux-2.6.10/include/config/efs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/efs/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_EFS_FS
diff -Nru linux-2.6.10/include/config/embedded.h linux-2.6.10-h1940/include/config/embedded.h
--- linux-2.6.10/include/config/embedded.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/embedded.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_EMBEDDED
diff -Nru linux-2.6.10/include/config/epoll.h linux-2.6.10-h1940/include/config/epoll.h
--- linux-2.6.10/include/config/epoll.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/epoll.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_EPOLL 1
diff -Nru linux-2.6.10/include/config/equalizer.h linux-2.6.10-h1940/include/config/equalizer.h
--- linux-2.6.10/include/config/equalizer.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/equalizer.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_EQUALIZER
diff -Nru linux-2.6.10/include/config/ethertap.h linux-2.6.10-h1940/include/config/ethertap.h
--- linux-2.6.10/include/config/ethertap.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ethertap.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ETHERTAP
diff -Nru linux-2.6.10/include/config/experimental.h linux-2.6.10-h1940/include/config/experimental.h
--- linux-2.6.10/include/config/experimental.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/experimental.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_EXPERIMENTAL 1
diff -Nru linux-2.6.10/include/config/exportfs.h linux-2.6.10-h1940/include/config/exportfs.h
--- linux-2.6.10/include/config/exportfs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/exportfs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_EXPORTFS
diff -Nru linux-2.6.10/include/config/ext2/fs/posix/acl.h linux-2.6.10-h1940/include/config/ext2/fs/posix/acl.h
--- linux-2.6.10/include/config/ext2/fs/posix/acl.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ext2/fs/posix/acl.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_EXT2_FS_POSIX_ACL
diff -Nru linux-2.6.10/include/config/ext2/fs/security.h linux-2.6.10-h1940/include/config/ext2/fs/security.h
--- linux-2.6.10/include/config/ext2/fs/security.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ext2/fs/security.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_EXT2_FS_SECURITY
diff -Nru linux-2.6.10/include/config/ext2/fs/xattr.h linux-2.6.10-h1940/include/config/ext2/fs/xattr.h
--- linux-2.6.10/include/config/ext2/fs/xattr.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ext2/fs/xattr.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_EXT2_FS_XATTR 1
diff -Nru linux-2.6.10/include/config/ext2/fs.h linux-2.6.10-h1940/include/config/ext2/fs.h
--- linux-2.6.10/include/config/ext2/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ext2/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_EXT2_FS 1
diff -Nru linux-2.6.10/include/config/ext3/fs/xattr.h linux-2.6.10-h1940/include/config/ext3/fs/xattr.h
--- linux-2.6.10/include/config/ext3/fs/xattr.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ext3/fs/xattr.h	2004-12-31 18:56:39.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_EXT3_FS_XATTR
diff -Nru linux-2.6.10/include/config/ext3/fs.h linux-2.6.10-h1940/include/config/ext3/fs.h
--- linux-2.6.10/include/config/ext3/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ext3/fs.h	2005-01-18 11:43:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_EXT3_FS 1
diff -Nru linux-2.6.10/include/config/fat/default/codepage.h linux-2.6.10-h1940/include/config/fat/default/codepage.h
--- linux-2.6.10/include/config/fat/default/codepage.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/fat/default/codepage.h	2004-12-31 18:56:39.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_FAT_DEFAULT_CODEPAGE 437
diff -Nru linux-2.6.10/include/config/fat/default/iocharset.h linux-2.6.10-h1940/include/config/fat/default/iocharset.h
--- linux-2.6.10/include/config/fat/default/iocharset.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/fat/default/iocharset.h	2004-12-31 18:56:39.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_FAT_DEFAULT_IOCHARSET "iso8859-1"
diff -Nru linux-2.6.10/include/config/fat/fs.h linux-2.6.10-h1940/include/config/fat/fs.h
--- linux-2.6.10/include/config/fat/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/fat/fs.h	2005-01-18 11:43:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_FAT_FS 1
diff -Nru linux-2.6.10/include/config/fb/mode/helpers.h linux-2.6.10-h1940/include/config/fb/mode/helpers.h
--- linux-2.6.10/include/config/fb/mode/helpers.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/fb/mode/helpers.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_FB_MODE_HELPERS 1
diff -Nru linux-2.6.10/include/config/fb/s3c2410.h linux-2.6.10-h1940/include/config/fb/s3c2410.h
--- linux-2.6.10/include/config/fb/s3c2410.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/fb/s3c2410.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_FB_S3C2410 1
diff -Nru linux-2.6.10/include/config/fb/tileblitting.h linux-2.6.10-h1940/include/config/fb/tileblitting.h
--- linux-2.6.10/include/config/fb/tileblitting.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/fb/tileblitting.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_FB_TILEBLITTING
diff -Nru linux-2.6.10/include/config/fb/virtual.h linux-2.6.10-h1940/include/config/fb/virtual.h
--- linux-2.6.10/include/config/fb/virtual.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/fb/virtual.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_FB_VIRTUAL
diff -Nru linux-2.6.10/include/config/fb.h linux-2.6.10-h1940/include/config/fb.h
--- linux-2.6.10/include/config/fb.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/fb.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_FB 1
diff -Nru linux-2.6.10/include/config/font/6x11.h linux-2.6.10-h1940/include/config/font/6x11.h
--- linux-2.6.10/include/config/font/6x11.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/font/6x11.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_FONT_6x11
diff -Nru linux-2.6.10/include/config/font/8x16.h linux-2.6.10-h1940/include/config/font/8x16.h
--- linux-2.6.10/include/config/font/8x16.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/font/8x16.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_FONT_8x16
diff -Nru linux-2.6.10/include/config/font/8x8.h linux-2.6.10-h1940/include/config/font/8x8.h
--- linux-2.6.10/include/config/font/8x8.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/font/8x8.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_FONT_8x8
diff -Nru linux-2.6.10/include/config/font/acorn/8x8.h linux-2.6.10-h1940/include/config/font/acorn/8x8.h
--- linux-2.6.10/include/config/font/acorn/8x8.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/font/acorn/8x8.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_FONT_ACORN_8x8
diff -Nru linux-2.6.10/include/config/font/clean/4x6.h linux-2.6.10-h1940/include/config/font/clean/4x6.h
--- linux-2.6.10/include/config/font/clean/4x6.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/font/clean/4x6.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_FONT_CLEAN_4x6
diff -Nru linux-2.6.10/include/config/font/clean/5x8.h linux-2.6.10-h1940/include/config/font/clean/5x8.h
--- linux-2.6.10/include/config/font/clean/5x8.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/font/clean/5x8.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_FONT_CLEAN_5x8 1
diff -Nru linux-2.6.10/include/config/font/mini/4x6.h linux-2.6.10-h1940/include/config/font/mini/4x6.h
--- linux-2.6.10/include/config/font/mini/4x6.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/font/mini/4x6.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_FONT_MINI_4x6
diff -Nru linux-2.6.10/include/config/font/pearl/8x8.h linux-2.6.10-h1940/include/config/font/pearl/8x8.h
--- linux-2.6.10/include/config/font/pearl/8x8.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/font/pearl/8x8.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_FONT_PEARL_8x8
diff -Nru linux-2.6.10/include/config/font/sun12x22.h linux-2.6.10-h1940/include/config/font/sun12x22.h
--- linux-2.6.10/include/config/font/sun12x22.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/font/sun12x22.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_FONT_SUN12x22
diff -Nru linux-2.6.10/include/config/font/sun8x16.h linux-2.6.10-h1940/include/config/font/sun8x16.h
--- linux-2.6.10/include/config/font/sun8x16.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/font/sun8x16.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_FONT_SUN8x16
diff -Nru linux-2.6.10/include/config/fonts.h linux-2.6.10-h1940/include/config/fonts.h
--- linux-2.6.10/include/config/fonts.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/fonts.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_FONTS 1
diff -Nru linux-2.6.10/include/config/fpe/fastfpe.h linux-2.6.10-h1940/include/config/fpe/fastfpe.h
--- linux-2.6.10/include/config/fpe/fastfpe.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/fpe/fastfpe.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_FPE_FASTFPE
diff -Nru linux-2.6.10/include/config/fpe/nwfpe/xp.h linux-2.6.10-h1940/include/config/fpe/nwfpe/xp.h
--- linux-2.6.10/include/config/fpe/nwfpe/xp.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/fpe/nwfpe/xp.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_FPE_NWFPE_XP
diff -Nru linux-2.6.10/include/config/fpe/nwfpe.h linux-2.6.10-h1940/include/config/fpe/nwfpe.h
--- linux-2.6.10/include/config/fpe/nwfpe.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/fpe/nwfpe.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_FPE_NWFPE 1
diff -Nru linux-2.6.10/include/config/frame/pointer.h linux-2.6.10-h1940/include/config/frame/pointer.h
--- linux-2.6.10/include/config/frame/pointer.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/frame/pointer.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_FRAME_POINTER 1
diff -Nru linux-2.6.10/include/config/framebuffer/console.h linux-2.6.10-h1940/include/config/framebuffer/console.h
--- linux-2.6.10/include/config/framebuffer/console.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/framebuffer/console.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_FRAMEBUFFER_CONSOLE 1
diff -Nru linux-2.6.10/include/config/fs/mbcache.h linux-2.6.10-h1940/include/config/fs/mbcache.h
--- linux-2.6.10/include/config/fs/mbcache.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/fs/mbcache.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_FS_MBCACHE 1
diff -Nru linux-2.6.10/include/config/ftl.h linux-2.6.10-h1940/include/config/ftl.h
--- linux-2.6.10/include/config/ftl.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ftl.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_FTL 1
diff -Nru linux-2.6.10/include/config/futex.h linux-2.6.10-h1940/include/config/futex.h
--- linux-2.6.10/include/config/futex.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/futex.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_FUTEX 1
diff -Nru linux-2.6.10/include/config/fw/loader.h linux-2.6.10-h1940/include/config/fw/loader.h
--- linux-2.6.10/include/config/fw/loader.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/fw/loader.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_FW_LOADER
diff -Nru linux-2.6.10/include/config/gameport.h linux-2.6.10-h1940/include/config/gameport.h
--- linux-2.6.10/include/config/gameport.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/gameport.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_GAMEPORT
diff -Nru linux-2.6.10/include/config/generic/iomap.h linux-2.6.10-h1940/include/config/generic/iomap.h
--- linux-2.6.10/include/config/generic/iomap.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/generic/iomap.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_GENERIC_IOMAP 1
diff -Nru linux-2.6.10/include/config/hamradio.h linux-2.6.10-h1940/include/config/hamradio.h
--- linux-2.6.10/include/config/hamradio.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/hamradio.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_HAMRADIO
diff -Nru linux-2.6.10/include/config/hfs/fs.h linux-2.6.10-h1940/include/config/hfs/fs.h
--- linux-2.6.10/include/config/hfs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/hfs/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_HFS_FS
diff -Nru linux-2.6.10/include/config/hfsplus/fs.h linux-2.6.10-h1940/include/config/hfsplus/fs.h
--- linux-2.6.10/include/config/hfsplus/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/hfsplus/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_HFSPLUS_FS
diff -Nru linux-2.6.10/include/config/hotplug.h linux-2.6.10-h1940/include/config/hotplug.h
--- linux-2.6.10/include/config/hotplug.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/hotplug.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_HOTPLUG 1
diff -Nru linux-2.6.10/include/config/hpfs/fs.h linux-2.6.10-h1940/include/config/hpfs/fs.h
--- linux-2.6.10/include/config/hpfs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/hpfs/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_HPFS_FS
diff -Nru linux-2.6.10/include/config/hugetlb/page.h linux-2.6.10-h1940/include/config/hugetlb/page.h
--- linux-2.6.10/include/config/hugetlb/page.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/hugetlb/page.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_HUGETLB_PAGE
diff -Nru linux-2.6.10/include/config/hw/console.h linux-2.6.10-h1940/include/config/hw/console.h
--- linux-2.6.10/include/config/hw/console.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/hw/console.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_HW_CONSOLE 1
diff -Nru linux-2.6.10/include/config/i2c.h linux-2.6.10-h1940/include/config/i2c.h
--- linux-2.6.10/include/config/i2c.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/i2c.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_I2C
diff -Nru linux-2.6.10/include/config/ide.h linux-2.6.10-h1940/include/config/ide.h
--- linux-2.6.10/include/config/ide.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ide.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_IDE
diff -Nru linux-2.6.10/include/config/ikconfig.h linux-2.6.10-h1940/include/config/ikconfig.h
--- linux-2.6.10/include/config/ikconfig.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ikconfig.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_IKCONFIG
diff -Nru linux-2.6.10/include/config/inet/ah.h linux-2.6.10-h1940/include/config/inet/ah.h
--- linux-2.6.10/include/config/inet/ah.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/inet/ah.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_INET_AH
diff -Nru linux-2.6.10/include/config/inet/esp.h linux-2.6.10-h1940/include/config/inet/esp.h
--- linux-2.6.10/include/config/inet/esp.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/inet/esp.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_INET_ESP
diff -Nru linux-2.6.10/include/config/inet/ipcomp.h linux-2.6.10-h1940/include/config/inet/ipcomp.h
--- linux-2.6.10/include/config/inet/ipcomp.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/inet/ipcomp.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_INET_IPCOMP
diff -Nru linux-2.6.10/include/config/inet/tunnel.h linux-2.6.10-h1940/include/config/inet/tunnel.h
--- linux-2.6.10/include/config/inet/tunnel.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/inet/tunnel.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_INET_TUNNEL
diff -Nru linux-2.6.10/include/config/inet.h linux-2.6.10-h1940/include/config/inet.h
--- linux-2.6.10/include/config/inet.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/inet.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_INET 1
diff -Nru linux-2.6.10/include/config/inftl.h linux-2.6.10-h1940/include/config/inftl.h
--- linux-2.6.10/include/config/inftl.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/inftl.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_INFTL 1
diff -Nru linux-2.6.10/include/config/initramfs/source.h linux-2.6.10-h1940/include/config/initramfs/source.h
--- linux-2.6.10/include/config/initramfs/source.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/initramfs/source.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_INITRAMFS_SOURCE ""
diff -Nru linux-2.6.10/include/config/input/evbug.h linux-2.6.10-h1940/include/config/input/evbug.h
--- linux-2.6.10/include/config/input/evbug.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/input/evbug.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_INPUT_EVBUG
diff -Nru linux-2.6.10/include/config/input/evdev.h linux-2.6.10-h1940/include/config/input/evdev.h
--- linux-2.6.10/include/config/input/evdev.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/input/evdev.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_INPUT_EVDEV
diff -Nru linux-2.6.10/include/config/input/joydev.h linux-2.6.10-h1940/include/config/input/joydev.h
--- linux-2.6.10/include/config/input/joydev.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/input/joydev.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_INPUT_JOYDEV
diff -Nru linux-2.6.10/include/config/input/joystick.h linux-2.6.10-h1940/include/config/input/joystick.h
--- linux-2.6.10/include/config/input/joystick.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/input/joystick.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_INPUT_JOYSTICK
diff -Nru linux-2.6.10/include/config/input/keyboard.h linux-2.6.10-h1940/include/config/input/keyboard.h
--- linux-2.6.10/include/config/input/keyboard.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/input/keyboard.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_INPUT_KEYBOARD
diff -Nru linux-2.6.10/include/config/input/misc.h linux-2.6.10-h1940/include/config/input/misc.h
--- linux-2.6.10/include/config/input/misc.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/input/misc.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_INPUT_MISC
diff -Nru linux-2.6.10/include/config/input/mousedev/psaux.h linux-2.6.10-h1940/include/config/input/mousedev/psaux.h
--- linux-2.6.10/include/config/input/mousedev/psaux.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/input/mousedev/psaux.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_INPUT_MOUSEDEV_PSAUX 1
diff -Nru linux-2.6.10/include/config/input/mousedev/screen/x.h linux-2.6.10-h1940/include/config/input/mousedev/screen/x.h
--- linux-2.6.10/include/config/input/mousedev/screen/x.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/input/mousedev/screen/x.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_INPUT_MOUSEDEV_SCREEN_X 320
diff -Nru linux-2.6.10/include/config/input/mousedev/screen/y.h linux-2.6.10-h1940/include/config/input/mousedev/screen/y.h
--- linux-2.6.10/include/config/input/mousedev/screen/y.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/input/mousedev/screen/y.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_INPUT_MOUSEDEV_SCREEN_Y 240
diff -Nru linux-2.6.10/include/config/input/mousedev.h linux-2.6.10-h1940/include/config/input/mousedev.h
--- linux-2.6.10/include/config/input/mousedev.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/input/mousedev.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_INPUT_MOUSEDEV 1
diff -Nru linux-2.6.10/include/config/input/mouse.h linux-2.6.10-h1940/include/config/input/mouse.h
--- linux-2.6.10/include/config/input/mouse.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/input/mouse.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_INPUT_MOUSE
diff -Nru linux-2.6.10/include/config/input/touchscreen.h linux-2.6.10-h1940/include/config/input/touchscreen.h
--- linux-2.6.10/include/config/input/touchscreen.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/input/touchscreen.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_INPUT_TOUCHSCREEN 1
diff -Nru linux-2.6.10/include/config/input/tsdev.h linux-2.6.10-h1940/include/config/input/tsdev.h
--- linux-2.6.10/include/config/input/tsdev.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/input/tsdev.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_INPUT_TSDEV
diff -Nru linux-2.6.10/include/config/input.h linux-2.6.10-h1940/include/config/input.h
--- linux-2.6.10/include/config/input.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/input.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_INPUT 1
diff -Nru linux-2.6.10/include/config/iosched/as.h linux-2.6.10-h1940/include/config/iosched/as.h
--- linux-2.6.10/include/config/iosched/as.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/iosched/as.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_IOSCHED_AS 1
diff -Nru linux-2.6.10/include/config/iosched/cfq.h linux-2.6.10-h1940/include/config/iosched/cfq.h
--- linux-2.6.10/include/config/iosched/cfq.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/iosched/cfq.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_IOSCHED_CFQ 1
diff -Nru linux-2.6.10/include/config/iosched/deadline.h linux-2.6.10-h1940/include/config/iosched/deadline.h
--- linux-2.6.10/include/config/iosched/deadline.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/iosched/deadline.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_IOSCHED_DEADLINE 1
diff -Nru linux-2.6.10/include/config/iosched/noop.h linux-2.6.10-h1940/include/config/iosched/noop.h
--- linux-2.6.10/include/config/iosched/noop.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/iosched/noop.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_IOSCHED_NOOP 1
diff -Nru linux-2.6.10/include/config/ip/advanced/router.h linux-2.6.10-h1940/include/config/ip/advanced/router.h
--- linux-2.6.10/include/config/ip/advanced/router.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ip/advanced/router.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_IP_ADVANCED_ROUTER
diff -Nru linux-2.6.10/include/config/ip/multicast.h linux-2.6.10-h1940/include/config/ip/multicast.h
--- linux-2.6.10/include/config/ip/multicast.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ip/multicast.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_IP_MULTICAST
diff -Nru linux-2.6.10/include/config/ip/pnp.h linux-2.6.10-h1940/include/config/ip/pnp.h
--- linux-2.6.10/include/config/ip/pnp.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ip/pnp.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_IP_PNP
diff -Nru linux-2.6.10/include/config/ip/sctp.h linux-2.6.10-h1940/include/config/ip/sctp.h
--- linux-2.6.10/include/config/ip/sctp.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ip/sctp.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_IP_SCTP
diff -Nru linux-2.6.10/include/config/ip/tcpdiag/ipv6.h linux-2.6.10-h1940/include/config/ip/tcpdiag/ipv6.h
--- linux-2.6.10/include/config/ip/tcpdiag/ipv6.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ip/tcpdiag/ipv6.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_IP_TCPDIAG_IPV6
diff -Nru linux-2.6.10/include/config/ip/tcpdiag.h linux-2.6.10-h1940/include/config/ip/tcpdiag.h
--- linux-2.6.10/include/config/ip/tcpdiag.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ip/tcpdiag.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_IP_TCPDIAG
diff -Nru linux-2.6.10/include/config/ipmi/handler.h linux-2.6.10-h1940/include/config/ipmi/handler.h
--- linux-2.6.10/include/config/ipmi/handler.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ipmi/handler.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_IPMI_HANDLER
diff -Nru linux-2.6.10/include/config/ipv6.h linux-2.6.10-h1940/include/config/ipv6.h
--- linux-2.6.10/include/config/ipv6.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ipv6.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_IPV6
diff -Nru linux-2.6.10/include/config/ipx.h linux-2.6.10-h1940/include/config/ipx.h
--- linux-2.6.10/include/config/ipx.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ipx.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_IPX
diff -Nru linux-2.6.10/include/config/ircomm.h linux-2.6.10-h1940/include/config/ircomm.h
--- linux-2.6.10/include/config/ircomm.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ircomm.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_IRCOMM
diff -Nru linux-2.6.10/include/config/irda/cache/last/lsap.h linux-2.6.10-h1940/include/config/irda/cache/last/lsap.h
--- linux-2.6.10/include/config/irda/cache/last/lsap.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/irda/cache/last/lsap.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_IRDA_CACHE_LAST_LSAP 1
diff -Nru linux-2.6.10/include/config/irda/debug.h linux-2.6.10-h1940/include/config/irda/debug.h
--- linux-2.6.10/include/config/irda/debug.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/irda/debug.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_IRDA_DEBUG 1
diff -Nru linux-2.6.10/include/config/irda/fast/rr.h linux-2.6.10-h1940/include/config/irda/fast/rr.h
--- linux-2.6.10/include/config/irda/fast/rr.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/irda/fast/rr.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_IRDA_FAST_RR 1
diff -Nru linux-2.6.10/include/config/irda/ultra.h linux-2.6.10-h1940/include/config/irda/ultra.h
--- linux-2.6.10/include/config/irda/ultra.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/irda/ultra.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_IRDA_ULTRA
diff -Nru linux-2.6.10/include/config/irda.h linux-2.6.10-h1940/include/config/irda.h
--- linux-2.6.10/include/config/irda.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/irda.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_IRDA 1
diff -Nru linux-2.6.10/include/config/irlan.h linux-2.6.10-h1940/include/config/irlan.h
--- linux-2.6.10/include/config/irlan.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/irlan.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_IRLAN 1
diff -Nru linux-2.6.10/include/config/irport/sir.h linux-2.6.10-h1940/include/config/irport/sir.h
--- linux-2.6.10/include/config/irport/sir.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/irport/sir.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_IRPORT_SIR
diff -Nru linux-2.6.10/include/config/irtty/sir.h linux-2.6.10-h1940/include/config/irtty/sir.h
--- linux-2.6.10/include/config/irtty/sir.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/irtty/sir.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_IRTTY_SIR 1
diff -Nru linux-2.6.10/include/config/isdn.h linux-2.6.10-h1940/include/config/isdn.h
--- linux-2.6.10/include/config/isdn.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/isdn.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ISDN
diff -Nru linux-2.6.10/include/config/iso9660/fs.h linux-2.6.10-h1940/include/config/iso9660/fs.h
--- linux-2.6.10/include/config/iso9660/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/iso9660/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ISO9660_FS
diff -Nru linux-2.6.10/include/config/jbd/debug.h linux-2.6.10-h1940/include/config/jbd/debug.h
--- linux-2.6.10/include/config/jbd/debug.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/jbd/debug.h	2004-12-31 18:56:39.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_JBD_DEBUG
diff -Nru linux-2.6.10/include/config/jbd.h linux-2.6.10-h1940/include/config/jbd.h
--- linux-2.6.10/include/config/jbd.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/jbd.h	2005-01-18 11:43:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_JBD 1
diff -Nru linux-2.6.10/include/config/jffs/fs.h linux-2.6.10-h1940/include/config/jffs/fs.h
--- linux-2.6.10/include/config/jffs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/jffs/fs.h	2005-01-18 13:16:00.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_JFFS_FS
diff -Nru linux-2.6.10/include/config/jffs2/compression/options.h linux-2.6.10-h1940/include/config/jffs2/compression/options.h
--- linux-2.6.10/include/config/jffs2/compression/options.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/jffs2/compression/options.h	2004-12-31 18:56:39.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_JFFS2_COMPRESSION_OPTIONS
diff -Nru linux-2.6.10/include/config/jffs2/fs/debug.h linux-2.6.10-h1940/include/config/jffs2/fs/debug.h
--- linux-2.6.10/include/config/jffs2/fs/debug.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/jffs2/fs/debug.h	2004-12-31 18:56:39.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_JFFS2_FS_DEBUG 0
diff -Nru linux-2.6.10/include/config/jffs2/fs/nand.h linux-2.6.10-h1940/include/config/jffs2/fs/nand.h
--- linux-2.6.10/include/config/jffs2/fs/nand.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/jffs2/fs/nand.h	2004-12-31 18:56:39.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_JFFS2_FS_NAND 1
diff -Nru linux-2.6.10/include/config/jffs2/fs.h linux-2.6.10-h1940/include/config/jffs2/fs.h
--- linux-2.6.10/include/config/jffs2/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/jffs2/fs.h	2005-01-18 11:43:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_JFFS2_FS 1
diff -Nru linux-2.6.10/include/config/jffs2/rtime.h linux-2.6.10-h1940/include/config/jffs2/rtime.h
--- linux-2.6.10/include/config/jffs2/rtime.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/jffs2/rtime.h	2004-12-31 18:56:39.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_JFFS2_RTIME 1
diff -Nru linux-2.6.10/include/config/jffs2/rubin.h linux-2.6.10-h1940/include/config/jffs2/rubin.h
--- linux-2.6.10/include/config/jffs2/rubin.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/jffs2/rubin.h	2004-12-31 18:56:39.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_JFFS2_RUBIN
diff -Nru linux-2.6.10/include/config/jffs2/zlib.h linux-2.6.10-h1940/include/config/jffs2/zlib.h
--- linux-2.6.10/include/config/jffs2/zlib.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/jffs2/zlib.h	2004-12-31 18:56:39.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_JFFS2_ZLIB 1
diff -Nru linux-2.6.10/include/config/jfs/fs.h linux-2.6.10-h1940/include/config/jfs/fs.h
--- linux-2.6.10/include/config/jfs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/jfs/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_JFS_FS
diff -Nru linux-2.6.10/include/config/kallsyms/all.h linux-2.6.10-h1940/include/config/kallsyms/all.h
--- linux-2.6.10/include/config/kallsyms/all.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/kallsyms/all.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_KALLSYMS_ALL
diff -Nru linux-2.6.10/include/config/kallsyms/extra/pass.h linux-2.6.10-h1940/include/config/kallsyms/extra/pass.h
--- linux-2.6.10/include/config/kallsyms/extra/pass.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/kallsyms/extra/pass.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_KALLSYMS_EXTRA_PASS
diff -Nru linux-2.6.10/include/config/kallsyms.h linux-2.6.10-h1940/include/config/kallsyms.h
--- linux-2.6.10/include/config/kallsyms.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/kallsyms.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_KALLSYMS 1
diff -Nru linux-2.6.10/include/config/keys.h linux-2.6.10-h1940/include/config/keys.h
--- linux-2.6.10/include/config/keys.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/keys.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_KEYS
diff -Nru linux-2.6.10/include/config/kobject/uevent.h linux-2.6.10-h1940/include/config/kobject/uevent.h
--- linux-2.6.10/include/config/kobject/uevent.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/kobject/uevent.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_KOBJECT_UEVENT 1
diff -Nru linux-2.6.10/include/config/lapb.h linux-2.6.10-h1940/include/config/lapb.h
--- linux-2.6.10/include/config/lapb.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/lapb.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_LAPB
diff -Nru linux-2.6.10/include/config/ldm/debug.h linux-2.6.10-h1940/include/config/ldm/debug.h
--- linux-2.6.10/include/config/ldm/debug.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ldm/debug.h	2005-01-18 12:50:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_LDM_DEBUG 1
diff -Nru linux-2.6.10/include/config/ldm/partition.h linux-2.6.10-h1940/include/config/ldm/partition.h
--- linux-2.6.10/include/config/ldm/partition.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ldm/partition.h	2005-01-18 12:50:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_LDM_PARTITION 1
diff -Nru linux-2.6.10/include/config/legacy/pty/count.h linux-2.6.10-h1940/include/config/legacy/pty/count.h
--- linux-2.6.10/include/config/legacy/pty/count.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/legacy/pty/count.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_LEGACY_PTY_COUNT 128
diff -Nru linux-2.6.10/include/config/legacy/ptys.h linux-2.6.10-h1940/include/config/legacy/ptys.h
--- linux-2.6.10/include/config/legacy/ptys.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/legacy/ptys.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_LEGACY_PTYS 1
diff -Nru linux-2.6.10/include/config/libcrc32c.h linux-2.6.10-h1940/include/config/libcrc32c.h
--- linux-2.6.10/include/config/libcrc32c.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/libcrc32c.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_LIBCRC32C
diff -Nru linux-2.6.10/include/config/llc2.h linux-2.6.10-h1940/include/config/llc2.h
--- linux-2.6.10/include/config/llc2.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/llc2.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_LLC2
diff -Nru linux-2.6.10/include/config/localversion.h linux-2.6.10-h1940/include/config/localversion.h
--- linux-2.6.10/include/config/localversion.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/localversion.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_LOCALVERSION ""
diff -Nru linux-2.6.10/include/config/lock/kernel.h linux-2.6.10-h1940/include/config/lock/kernel.h
--- linux-2.6.10/include/config/lock/kernel.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/lock/kernel.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_LOCK_KERNEL 1
diff -Nru linux-2.6.10/include/config/lockd/v4.h linux-2.6.10-h1940/include/config/lockd/v4.h
--- linux-2.6.10/include/config/lockd/v4.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/lockd/v4.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_LOCKD_V4 1
diff -Nru linux-2.6.10/include/config/lockd.h linux-2.6.10-h1940/include/config/lockd.h
--- linux-2.6.10/include/config/lockd.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/lockd.h	2005-01-18 11:43:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_LOCKD 1
diff -Nru linux-2.6.10/include/config/log/buf/shift.h linux-2.6.10-h1940/include/config/log/buf/shift.h
--- linux-2.6.10/include/config/log/buf/shift.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/log/buf/shift.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_LOG_BUF_SHIFT 16
diff -Nru linux-2.6.10/include/config/logo/linux/clut224.h linux-2.6.10-h1940/include/config/logo/linux/clut224.h
--- linux-2.6.10/include/config/logo/linux/clut224.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/logo/linux/clut224.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_LOGO_LINUX_CLUT224 1
diff -Nru linux-2.6.10/include/config/logo/linux/mono.h linux-2.6.10-h1940/include/config/logo/linux/mono.h
--- linux-2.6.10/include/config/logo/linux/mono.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/logo/linux/mono.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_LOGO_LINUX_MONO
diff -Nru linux-2.6.10/include/config/logo/linux/vga16.h linux-2.6.10-h1940/include/config/logo/linux/vga16.h
--- linux-2.6.10/include/config/logo/linux/vga16.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/logo/linux/vga16.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_LOGO_LINUX_VGA16 1
diff -Nru linux-2.6.10/include/config/logo.h linux-2.6.10-h1940/include/config/logo.h
--- linux-2.6.10/include/config/logo.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/logo.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_LOGO 1
diff -Nru linux-2.6.10/include/config/mac/partition.h linux-2.6.10-h1940/include/config/mac/partition.h
--- linux-2.6.10/include/config/mac/partition.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mac/partition.h	2005-01-18 12:50:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MAC_PARTITION
diff -Nru linux-2.6.10/include/config/mach/rx3715.h linux-2.6.10-h1940/include/config/mach/rx3715.h
--- linux-2.6.10/include/config/mach/rx3715.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mach/rx3715.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MACH_RX3715
diff -Nru linux-2.6.10/include/config/mach/vr1000.h linux-2.6.10-h1940/include/config/mach/vr1000.h
--- linux-2.6.10/include/config/mach/vr1000.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mach/vr1000.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MACH_VR1000
diff -Nru linux-2.6.10/include/config/magic/sysrq.h linux-2.6.10-h1940/include/config/magic/sysrq.h
--- linux-2.6.10/include/config/magic/sysrq.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/magic/sysrq.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MAGIC_SYSRQ 1
diff -Nru linux-2.6.10/include/config/md.h linux-2.6.10-h1940/include/config/md.h
--- linux-2.6.10/include/config/md.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/md.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MD
diff -Nru linux-2.6.10/include/config/minix/fs.h linux-2.6.10-h1940/include/config/minix/fs.h
--- linux-2.6.10/include/config/minix/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/minix/fs.h	2005-01-18 11:43:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MINIX_FS 1
diff -Nru linux-2.6.10/include/config/minix/subpartition.h linux-2.6.10-h1940/include/config/minix/subpartition.h
--- linux-2.6.10/include/config/minix/subpartition.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/minix/subpartition.h	2005-01-18 12:50:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MINIX_SUBPARTITION
diff -Nru linux-2.6.10/include/config/mmc/block.h linux-2.6.10-h1940/include/config/mmc/block.h
--- linux-2.6.10/include/config/mmc/block.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mmc/block.h	2005-01-17 18:57:16.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MMC_BLOCK 1
diff -Nru linux-2.6.10/include/config/mmc/debug.h linux-2.6.10-h1940/include/config/mmc/debug.h
--- linux-2.6.10/include/config/mmc/debug.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mmc/debug.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MMC_DEBUG 1
diff -Nru linux-2.6.10/include/config/mmc/s3c2410.h linux-2.6.10-h1940/include/config/mmc/s3c2410.h
--- linux-2.6.10/include/config/mmc/s3c2410.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mmc/s3c2410.h	2005-01-17 18:57:16.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MMC_S3C2410 1
diff -Nru linux-2.6.10/include/config/mmc/wbsd.h linux-2.6.10-h1940/include/config/mmc/wbsd.h
--- linux-2.6.10/include/config/mmc/wbsd.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mmc/wbsd.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MMC_WBSD
diff -Nru linux-2.6.10/include/config/mmc.h linux-2.6.10-h1940/include/config/mmc.h
--- linux-2.6.10/include/config/mmc.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mmc.h	2005-01-17 18:57:16.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MMC 1
diff -Nru linux-2.6.10/include/config/mmu.h linux-2.6.10-h1940/include/config/mmu.h
--- linux-2.6.10/include/config/mmu.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mmu.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MMU 1
diff -Nru linux-2.6.10/include/config/modules.h linux-2.6.10-h1940/include/config/modules.h
--- linux-2.6.10/include/config/modules.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/modules.h	2005-01-18 11:43:55.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MODULES
diff -Nru linux-2.6.10/include/config/msdos/fs.h linux-2.6.10-h1940/include/config/msdos/fs.h
--- linux-2.6.10/include/config/msdos/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/msdos/fs.h	2005-01-18 11:43:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MSDOS_FS 1
diff -Nru linux-2.6.10/include/config/msdos/partition.h linux-2.6.10-h1940/include/config/msdos/partition.h
--- linux-2.6.10/include/config/msdos/partition.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/msdos/partition.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MSDOS_PARTITION 1
diff -Nru linux-2.6.10/include/config/mtd/absent.h linux-2.6.10-h1940/include/config/mtd/absent.h
--- linux-2.6.10/include/config/mtd/absent.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/absent.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_ABSENT
diff -Nru linux-2.6.10/include/config/mtd/afs/parts.h linux-2.6.10-h1940/include/config/mtd/afs/parts.h
--- linux-2.6.10/include/config/mtd/afs/parts.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/afs/parts.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_AFS_PARTS
diff -Nru linux-2.6.10/include/config/mtd/arm/integrator.h linux-2.6.10-h1940/include/config/mtd/arm/integrator.h
--- linux-2.6.10/include/config/mtd/arm/integrator.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/arm/integrator.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_ARM_INTEGRATOR
diff -Nru linux-2.6.10/include/config/mtd/blkmtd.h linux-2.6.10-h1940/include/config/mtd/blkmtd.h
--- linux-2.6.10/include/config/mtd/blkmtd.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/blkmtd.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_BLKMTD
diff -Nru linux-2.6.10/include/config/mtd/block.h linux-2.6.10-h1940/include/config/mtd/block.h
--- linux-2.6.10/include/config/mtd/block.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/block.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MTD_BLOCK 1
diff -Nru linux-2.6.10/include/config/mtd/cfi/adv/options.h linux-2.6.10-h1940/include/config/mtd/cfi/adv/options.h
--- linux-2.6.10/include/config/mtd/cfi/adv/options.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/cfi/adv/options.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_CFI_ADV_OPTIONS
diff -Nru linux-2.6.10/include/config/mtd/cfi/amdstd.h linux-2.6.10-h1940/include/config/mtd/cfi/amdstd.h
--- linux-2.6.10/include/config/mtd/cfi/amdstd.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/cfi/amdstd.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_CFI_AMDSTD
diff -Nru linux-2.6.10/include/config/mtd/cfi/i1.h linux-2.6.10-h1940/include/config/mtd/cfi/i1.h
--- linux-2.6.10/include/config/mtd/cfi/i1.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/cfi/i1.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MTD_CFI_I1 1
diff -Nru linux-2.6.10/include/config/mtd/cfi/i2.h linux-2.6.10-h1940/include/config/mtd/cfi/i2.h
--- linux-2.6.10/include/config/mtd/cfi/i2.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/cfi/i2.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MTD_CFI_I2 1
diff -Nru linux-2.6.10/include/config/mtd/cfi/i4.h linux-2.6.10-h1940/include/config/mtd/cfi/i4.h
--- linux-2.6.10/include/config/mtd/cfi/i4.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/cfi/i4.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_CFI_I4
diff -Nru linux-2.6.10/include/config/mtd/cfi/i8.h linux-2.6.10-h1940/include/config/mtd/cfi/i8.h
--- linux-2.6.10/include/config/mtd/cfi/i8.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/cfi/i8.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_CFI_I8
diff -Nru linux-2.6.10/include/config/mtd/cfi/intelext.h linux-2.6.10-h1940/include/config/mtd/cfi/intelext.h
--- linux-2.6.10/include/config/mtd/cfi/intelext.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/cfi/intelext.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_CFI_INTELEXT
diff -Nru linux-2.6.10/include/config/mtd/cfi/staa.h linux-2.6.10-h1940/include/config/mtd/cfi/staa.h
--- linux-2.6.10/include/config/mtd/cfi/staa.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/cfi/staa.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_CFI_STAA
diff -Nru linux-2.6.10/include/config/mtd/cfi.h linux-2.6.10-h1940/include/config/mtd/cfi.h
--- linux-2.6.10/include/config/mtd/cfi.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/cfi.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MTD_CFI 1
diff -Nru linux-2.6.10/include/config/mtd/char.h linux-2.6.10-h1940/include/config/mtd/char.h
--- linux-2.6.10/include/config/mtd/char.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/char.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MTD_CHAR 1
diff -Nru linux-2.6.10/include/config/mtd/cmdline/parts.h linux-2.6.10-h1940/include/config/mtd/cmdline/parts.h
--- linux-2.6.10/include/config/mtd/cmdline/parts.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/cmdline/parts.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MTD_CMDLINE_PARTS 1
diff -Nru linux-2.6.10/include/config/mtd/complex/mappings.h linux-2.6.10-h1940/include/config/mtd/complex/mappings.h
--- linux-2.6.10/include/config/mtd/complex/mappings.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/complex/mappings.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_COMPLEX_MAPPINGS
diff -Nru linux-2.6.10/include/config/mtd/concat.h linux-2.6.10-h1940/include/config/mtd/concat.h
--- linux-2.6.10/include/config/mtd/concat.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/concat.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_CONCAT
diff -Nru linux-2.6.10/include/config/mtd/debug.h linux-2.6.10-h1940/include/config/mtd/debug.h
--- linux-2.6.10/include/config/mtd/debug.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/debug.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_DEBUG
diff -Nru linux-2.6.10/include/config/mtd/doc2000.h linux-2.6.10-h1940/include/config/mtd/doc2000.h
--- linux-2.6.10/include/config/mtd/doc2000.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/doc2000.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_DOC2000
diff -Nru linux-2.6.10/include/config/mtd/doc2001.h linux-2.6.10-h1940/include/config/mtd/doc2001.h
--- linux-2.6.10/include/config/mtd/doc2001.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/doc2001.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_DOC2001
diff -Nru linux-2.6.10/include/config/mtd/doc2001plus.h linux-2.6.10-h1940/include/config/mtd/doc2001plus.h
--- linux-2.6.10/include/config/mtd/doc2001plus.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/doc2001plus.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_DOC2001PLUS
diff -Nru linux-2.6.10/include/config/mtd/edb7312.h linux-2.6.10-h1940/include/config/mtd/edb7312.h
--- linux-2.6.10/include/config/mtd/edb7312.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/edb7312.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_EDB7312
diff -Nru linux-2.6.10/include/config/mtd/gen/probe.h linux-2.6.10-h1940/include/config/mtd/gen/probe.h
--- linux-2.6.10/include/config/mtd/gen/probe.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/gen/probe.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MTD_GEN_PROBE 1
diff -Nru linux-2.6.10/include/config/mtd/impa7.h linux-2.6.10-h1940/include/config/mtd/impa7.h
--- linux-2.6.10/include/config/mtd/impa7.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/impa7.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_IMPA7
diff -Nru linux-2.6.10/include/config/mtd/jedecprobe.h linux-2.6.10-h1940/include/config/mtd/jedecprobe.h
--- linux-2.6.10/include/config/mtd/jedecprobe.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/jedecprobe.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MTD_JEDECPROBE 1
diff -Nru linux-2.6.10/include/config/mtd/map/bank/width/16.h linux-2.6.10-h1940/include/config/mtd/map/bank/width/16.h
--- linux-2.6.10/include/config/mtd/map/bank/width/16.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/map/bank/width/16.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_MAP_BANK_WIDTH_16
diff -Nru linux-2.6.10/include/config/mtd/map/bank/width/1.h linux-2.6.10-h1940/include/config/mtd/map/bank/width/1.h
--- linux-2.6.10/include/config/mtd/map/bank/width/1.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/map/bank/width/1.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MTD_MAP_BANK_WIDTH_1 1
diff -Nru linux-2.6.10/include/config/mtd/map/bank/width/2.h linux-2.6.10-h1940/include/config/mtd/map/bank/width/2.h
--- linux-2.6.10/include/config/mtd/map/bank/width/2.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/map/bank/width/2.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MTD_MAP_BANK_WIDTH_2 1
diff -Nru linux-2.6.10/include/config/mtd/map/bank/width/32.h linux-2.6.10-h1940/include/config/mtd/map/bank/width/32.h
--- linux-2.6.10/include/config/mtd/map/bank/width/32.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/map/bank/width/32.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_MAP_BANK_WIDTH_32
diff -Nru linux-2.6.10/include/config/mtd/map/bank/width/4.h linux-2.6.10-h1940/include/config/mtd/map/bank/width/4.h
--- linux-2.6.10/include/config/mtd/map/bank/width/4.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/map/bank/width/4.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MTD_MAP_BANK_WIDTH_4 1
diff -Nru linux-2.6.10/include/config/mtd/map/bank/width/8.h linux-2.6.10-h1940/include/config/mtd/map/bank/width/8.h
--- linux-2.6.10/include/config/mtd/map/bank/width/8.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/map/bank/width/8.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_MAP_BANK_WIDTH_8
diff -Nru linux-2.6.10/include/config/mtd/mtdram.h linux-2.6.10-h1940/include/config/mtd/mtdram.h
--- linux-2.6.10/include/config/mtd/mtdram.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/mtdram.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_MTDRAM
diff -Nru linux-2.6.10/include/config/mtd/nand/diskonchip.h linux-2.6.10-h1940/include/config/mtd/nand/diskonchip.h
--- linux-2.6.10/include/config/mtd/nand/diskonchip.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/nand/diskonchip.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_NAND_DISKONCHIP
diff -Nru linux-2.6.10/include/config/mtd/nand/ids.h linux-2.6.10-h1940/include/config/mtd/nand/ids.h
--- linux-2.6.10/include/config/mtd/nand/ids.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/nand/ids.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MTD_NAND_IDS 1
diff -Nru linux-2.6.10/include/config/mtd/nand/s3c2410/debug.h linux-2.6.10-h1940/include/config/mtd/nand/s3c2410/debug.h
--- linux-2.6.10/include/config/mtd/nand/s3c2410/debug.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/nand/s3c2410/debug.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MTD_NAND_S3C2410_DEBUG 1
diff -Nru linux-2.6.10/include/config/mtd/nand/s3c2410/hwecc.h linux-2.6.10-h1940/include/config/mtd/nand/s3c2410/hwecc.h
--- linux-2.6.10/include/config/mtd/nand/s3c2410/hwecc.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/nand/s3c2410/hwecc.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_NAND_S3C2410_HWECC
diff -Nru linux-2.6.10/include/config/mtd/nand/s3c2410.h linux-2.6.10-h1940/include/config/mtd/nand/s3c2410.h
--- linux-2.6.10/include/config/mtd/nand/s3c2410.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/nand/s3c2410.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MTD_NAND_S3C2410 1
diff -Nru linux-2.6.10/include/config/mtd/nand/verify/write.h linux-2.6.10-h1940/include/config/mtd/nand/verify/write.h
--- linux-2.6.10/include/config/mtd/nand/verify/write.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/nand/verify/write.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_NAND_VERIFY_WRITE
diff -Nru linux-2.6.10/include/config/mtd/nand.h linux-2.6.10-h1940/include/config/mtd/nand.h
--- linux-2.6.10/include/config/mtd/nand.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/nand.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MTD_NAND 1
diff -Nru linux-2.6.10/include/config/mtd/partitions.h linux-2.6.10-h1940/include/config/mtd/partitions.h
--- linux-2.6.10/include/config/mtd/partitions.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/partitions.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MTD_PARTITIONS 1
diff -Nru linux-2.6.10/include/config/mtd/phram.h linux-2.6.10-h1940/include/config/mtd/phram.h
--- linux-2.6.10/include/config/mtd/phram.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/phram.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_PHRAM
diff -Nru linux-2.6.10/include/config/mtd/physmap.h linux-2.6.10-h1940/include/config/mtd/physmap.h
--- linux-2.6.10/include/config/mtd/physmap.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/physmap.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_PHYSMAP
diff -Nru linux-2.6.10/include/config/mtd/ram.h linux-2.6.10-h1940/include/config/mtd/ram.h
--- linux-2.6.10/include/config/mtd/ram.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/ram.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_RAM
diff -Nru linux-2.6.10/include/config/mtd/redboot/parts/readonly.h linux-2.6.10-h1940/include/config/mtd/redboot/parts/readonly.h
--- linux-2.6.10/include/config/mtd/redboot/parts/readonly.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/redboot/parts/readonly.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_REDBOOT_PARTS_READONLY
diff -Nru linux-2.6.10/include/config/mtd/redboot/parts/unallocated.h linux-2.6.10-h1940/include/config/mtd/redboot/parts/unallocated.h
--- linux-2.6.10/include/config/mtd/redboot/parts/unallocated.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/redboot/parts/unallocated.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED 1
diff -Nru linux-2.6.10/include/config/mtd/redboot/parts.h linux-2.6.10-h1940/include/config/mtd/redboot/parts.h
--- linux-2.6.10/include/config/mtd/redboot/parts.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/redboot/parts.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MTD_REDBOOT_PARTS 1
diff -Nru linux-2.6.10/include/config/mtd/rom.h linux-2.6.10-h1940/include/config/mtd/rom.h
--- linux-2.6.10/include/config/mtd/rom.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/rom.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_ROM
diff -Nru linux-2.6.10/include/config/mtd/slram.h linux-2.6.10-h1940/include/config/mtd/slram.h
--- linux-2.6.10/include/config/mtd/slram.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd/slram.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_MTD_SLRAM
diff -Nru linux-2.6.10/include/config/mtd.h linux-2.6.10-h1940/include/config/mtd.h
--- linux-2.6.10/include/config/mtd.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/mtd.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_MTD 1
diff -Nru linux-2.6.10/include/config/ncp/fs.h linux-2.6.10-h1940/include/config/ncp/fs.h
--- linux-2.6.10/include/config/ncp/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ncp/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NCP_FS
diff -Nru linux-2.6.10/include/config/net/cls/route.h linux-2.6.10-h1940/include/config/net/cls/route.h
--- linux-2.6.10/include/config/net/cls/route.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/net/cls/route.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NET_CLS_ROUTE
diff -Nru linux-2.6.10/include/config/net/divert.h linux-2.6.10-h1940/include/config/net/divert.h
--- linux-2.6.10/include/config/net/divert.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/net/divert.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NET_DIVERT
diff -Nru linux-2.6.10/include/config/net/ethernet.h linux-2.6.10-h1940/include/config/net/ethernet.h
--- linux-2.6.10/include/config/net/ethernet.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/net/ethernet.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NET_ETHERNET
diff -Nru linux-2.6.10/include/config/net/ipgre.h linux-2.6.10-h1940/include/config/net/ipgre.h
--- linux-2.6.10/include/config/net/ipgre.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/net/ipgre.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NET_IPGRE
diff -Nru linux-2.6.10/include/config/net/ipip.h linux-2.6.10-h1940/include/config/net/ipip.h
--- linux-2.6.10/include/config/net/ipip.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/net/ipip.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NET_IPIP
diff -Nru linux-2.6.10/include/config/net/key.h linux-2.6.10-h1940/include/config/net/key.h
--- linux-2.6.10/include/config/net/key.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/net/key.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NET_KEY
diff -Nru linux-2.6.10/include/config/net/pktgen.h linux-2.6.10-h1940/include/config/net/pktgen.h
--- linux-2.6.10/include/config/net/pktgen.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/net/pktgen.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NET_PKTGEN
diff -Nru linux-2.6.10/include/config/net/poll/controller.h linux-2.6.10-h1940/include/config/net/poll/controller.h
--- linux-2.6.10/include/config/net/poll/controller.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/net/poll/controller.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NET_POLL_CONTROLLER
diff -Nru linux-2.6.10/include/config/net/radio.h linux-2.6.10-h1940/include/config/net/radio.h
--- linux-2.6.10/include/config/net/radio.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/net/radio.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NET_RADIO
diff -Nru linux-2.6.10/include/config/net/sched.h linux-2.6.10-h1940/include/config/net/sched.h
--- linux-2.6.10/include/config/net/sched.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/net/sched.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NET_SCHED
diff -Nru linux-2.6.10/include/config/netconsole.h linux-2.6.10-h1940/include/config/netconsole.h
--- linux-2.6.10/include/config/netconsole.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/netconsole.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NETCONSOLE
diff -Nru linux-2.6.10/include/config/netdevices.h linux-2.6.10-h1940/include/config/netdevices.h
--- linux-2.6.10/include/config/netdevices.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/netdevices.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_NETDEVICES 1
diff -Nru linux-2.6.10/include/config/netfilter.h linux-2.6.10-h1940/include/config/netfilter.h
--- linux-2.6.10/include/config/netfilter.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/netfilter.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NETFILTER
diff -Nru linux-2.6.10/include/config/net.h linux-2.6.10-h1940/include/config/net.h
--- linux-2.6.10/include/config/net.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/net.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_NET 1
diff -Nru linux-2.6.10/include/config/netlink/dev.h linux-2.6.10-h1940/include/config/netlink/dev.h
--- linux-2.6.10/include/config/netlink/dev.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/netlink/dev.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_NETLINK_DEV 1
diff -Nru linux-2.6.10/include/config/netpoll.h linux-2.6.10-h1940/include/config/netpoll.h
--- linux-2.6.10/include/config/netpoll.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/netpoll.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NETPOLL
diff -Nru linux-2.6.10/include/config/nfs/directio.h linux-2.6.10-h1940/include/config/nfs/directio.h
--- linux-2.6.10/include/config/nfs/directio.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nfs/directio.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NFS_DIRECTIO
diff -Nru linux-2.6.10/include/config/nfs/fs.h linux-2.6.10-h1940/include/config/nfs/fs.h
--- linux-2.6.10/include/config/nfs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nfs/fs.h	2005-01-18 11:43:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_NFS_FS 1
diff -Nru linux-2.6.10/include/config/nfs/v3.h linux-2.6.10-h1940/include/config/nfs/v3.h
--- linux-2.6.10/include/config/nfs/v3.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nfs/v3.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_NFS_V3 1
diff -Nru linux-2.6.10/include/config/nfs/v4.h linux-2.6.10-h1940/include/config/nfs/v4.h
--- linux-2.6.10/include/config/nfs/v4.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nfs/v4.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_NFS_V4 1
diff -Nru linux-2.6.10/include/config/nfsd.h linux-2.6.10-h1940/include/config/nfsd.h
--- linux-2.6.10/include/config/nfsd.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nfsd.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NFSD
diff -Nru linux-2.6.10/include/config/nftl/rw.h linux-2.6.10-h1940/include/config/nftl/rw.h
--- linux-2.6.10/include/config/nftl/rw.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nftl/rw.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_NFTL_RW 1
diff -Nru linux-2.6.10/include/config/nftl.h linux-2.6.10-h1940/include/config/nftl.h
--- linux-2.6.10/include/config/nftl.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nftl.h	2004-12-31 18:56:38.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_NFTL 1
diff -Nru linux-2.6.10/include/config/nls/ascii.h linux-2.6.10-h1940/include/config/nls/ascii.h
--- linux-2.6.10/include/config/nls/ascii.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/ascii.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_ASCII
diff -Nru linux-2.6.10/include/config/nls/codepage/1250.h linux-2.6.10-h1940/include/config/nls/codepage/1250.h
--- linux-2.6.10/include/config/nls/codepage/1250.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/1250.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_1250
diff -Nru linux-2.6.10/include/config/nls/codepage/1251.h linux-2.6.10-h1940/include/config/nls/codepage/1251.h
--- linux-2.6.10/include/config/nls/codepage/1251.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/1251.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_1251
diff -Nru linux-2.6.10/include/config/nls/codepage/437.h linux-2.6.10-h1940/include/config/nls/codepage/437.h
--- linux-2.6.10/include/config/nls/codepage/437.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/437.h	2005-01-18 12:50:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_NLS_CODEPAGE_437 1
diff -Nru linux-2.6.10/include/config/nls/codepage/737.h linux-2.6.10-h1940/include/config/nls/codepage/737.h
--- linux-2.6.10/include/config/nls/codepage/737.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/737.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_737
diff -Nru linux-2.6.10/include/config/nls/codepage/775.h linux-2.6.10-h1940/include/config/nls/codepage/775.h
--- linux-2.6.10/include/config/nls/codepage/775.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/775.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_775
diff -Nru linux-2.6.10/include/config/nls/codepage/850.h linux-2.6.10-h1940/include/config/nls/codepage/850.h
--- linux-2.6.10/include/config/nls/codepage/850.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/850.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_NLS_CODEPAGE_850 1
diff -Nru linux-2.6.10/include/config/nls/codepage/852.h linux-2.6.10-h1940/include/config/nls/codepage/852.h
--- linux-2.6.10/include/config/nls/codepage/852.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/852.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_852
diff -Nru linux-2.6.10/include/config/nls/codepage/855.h linux-2.6.10-h1940/include/config/nls/codepage/855.h
--- linux-2.6.10/include/config/nls/codepage/855.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/855.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_855
diff -Nru linux-2.6.10/include/config/nls/codepage/857.h linux-2.6.10-h1940/include/config/nls/codepage/857.h
--- linux-2.6.10/include/config/nls/codepage/857.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/857.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_857
diff -Nru linux-2.6.10/include/config/nls/codepage/860.h linux-2.6.10-h1940/include/config/nls/codepage/860.h
--- linux-2.6.10/include/config/nls/codepage/860.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/860.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_860
diff -Nru linux-2.6.10/include/config/nls/codepage/861.h linux-2.6.10-h1940/include/config/nls/codepage/861.h
--- linux-2.6.10/include/config/nls/codepage/861.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/861.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_861
diff -Nru linux-2.6.10/include/config/nls/codepage/862.h linux-2.6.10-h1940/include/config/nls/codepage/862.h
--- linux-2.6.10/include/config/nls/codepage/862.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/862.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_862
diff -Nru linux-2.6.10/include/config/nls/codepage/863.h linux-2.6.10-h1940/include/config/nls/codepage/863.h
--- linux-2.6.10/include/config/nls/codepage/863.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/863.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_863
diff -Nru linux-2.6.10/include/config/nls/codepage/864.h linux-2.6.10-h1940/include/config/nls/codepage/864.h
--- linux-2.6.10/include/config/nls/codepage/864.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/864.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_864
diff -Nru linux-2.6.10/include/config/nls/codepage/865.h linux-2.6.10-h1940/include/config/nls/codepage/865.h
--- linux-2.6.10/include/config/nls/codepage/865.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/865.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_865
diff -Nru linux-2.6.10/include/config/nls/codepage/866.h linux-2.6.10-h1940/include/config/nls/codepage/866.h
--- linux-2.6.10/include/config/nls/codepage/866.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/866.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_866
diff -Nru linux-2.6.10/include/config/nls/codepage/869.h linux-2.6.10-h1940/include/config/nls/codepage/869.h
--- linux-2.6.10/include/config/nls/codepage/869.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/869.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_869
diff -Nru linux-2.6.10/include/config/nls/codepage/874.h linux-2.6.10-h1940/include/config/nls/codepage/874.h
--- linux-2.6.10/include/config/nls/codepage/874.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/874.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_874
diff -Nru linux-2.6.10/include/config/nls/codepage/932.h linux-2.6.10-h1940/include/config/nls/codepage/932.h
--- linux-2.6.10/include/config/nls/codepage/932.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/932.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_932
diff -Nru linux-2.6.10/include/config/nls/codepage/936.h linux-2.6.10-h1940/include/config/nls/codepage/936.h
--- linux-2.6.10/include/config/nls/codepage/936.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/936.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_936
diff -Nru linux-2.6.10/include/config/nls/codepage/949.h linux-2.6.10-h1940/include/config/nls/codepage/949.h
--- linux-2.6.10/include/config/nls/codepage/949.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/949.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_949
diff -Nru linux-2.6.10/include/config/nls/codepage/950.h linux-2.6.10-h1940/include/config/nls/codepage/950.h
--- linux-2.6.10/include/config/nls/codepage/950.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/codepage/950.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_CODEPAGE_950
diff -Nru linux-2.6.10/include/config/nls/default.h linux-2.6.10-h1940/include/config/nls/default.h
--- linux-2.6.10/include/config/nls/default.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/default.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_NLS_DEFAULT "iso8859-1"
diff -Nru linux-2.6.10/include/config/nls/iso8859/13.h linux-2.6.10-h1940/include/config/nls/iso8859/13.h
--- linux-2.6.10/include/config/nls/iso8859/13.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/iso8859/13.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_ISO8859_13
diff -Nru linux-2.6.10/include/config/nls/iso8859/14.h linux-2.6.10-h1940/include/config/nls/iso8859/14.h
--- linux-2.6.10/include/config/nls/iso8859/14.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/iso8859/14.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_ISO8859_14
diff -Nru linux-2.6.10/include/config/nls/iso8859/15.h linux-2.6.10-h1940/include/config/nls/iso8859/15.h
--- linux-2.6.10/include/config/nls/iso8859/15.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/iso8859/15.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_NLS_ISO8859_15 1
diff -Nru linux-2.6.10/include/config/nls/iso8859/1.h linux-2.6.10-h1940/include/config/nls/iso8859/1.h
--- linux-2.6.10/include/config/nls/iso8859/1.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/iso8859/1.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_NLS_ISO8859_1 1
diff -Nru linux-2.6.10/include/config/nls/iso8859/2.h linux-2.6.10-h1940/include/config/nls/iso8859/2.h
--- linux-2.6.10/include/config/nls/iso8859/2.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/iso8859/2.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_ISO8859_2
diff -Nru linux-2.6.10/include/config/nls/iso8859/3.h linux-2.6.10-h1940/include/config/nls/iso8859/3.h
--- linux-2.6.10/include/config/nls/iso8859/3.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/iso8859/3.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_ISO8859_3
diff -Nru linux-2.6.10/include/config/nls/iso8859/4.h linux-2.6.10-h1940/include/config/nls/iso8859/4.h
--- linux-2.6.10/include/config/nls/iso8859/4.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/iso8859/4.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_ISO8859_4
diff -Nru linux-2.6.10/include/config/nls/iso8859/5.h linux-2.6.10-h1940/include/config/nls/iso8859/5.h
--- linux-2.6.10/include/config/nls/iso8859/5.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/iso8859/5.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_ISO8859_5
diff -Nru linux-2.6.10/include/config/nls/iso8859/6.h linux-2.6.10-h1940/include/config/nls/iso8859/6.h
--- linux-2.6.10/include/config/nls/iso8859/6.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/iso8859/6.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_ISO8859_6
diff -Nru linux-2.6.10/include/config/nls/iso8859/7.h linux-2.6.10-h1940/include/config/nls/iso8859/7.h
--- linux-2.6.10/include/config/nls/iso8859/7.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/iso8859/7.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_ISO8859_7
diff -Nru linux-2.6.10/include/config/nls/iso8859/8.h linux-2.6.10-h1940/include/config/nls/iso8859/8.h
--- linux-2.6.10/include/config/nls/iso8859/8.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/iso8859/8.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_ISO8859_8
diff -Nru linux-2.6.10/include/config/nls/iso8859/9.h linux-2.6.10-h1940/include/config/nls/iso8859/9.h
--- linux-2.6.10/include/config/nls/iso8859/9.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/iso8859/9.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_ISO8859_9
diff -Nru linux-2.6.10/include/config/nls/koi8/r.h linux-2.6.10-h1940/include/config/nls/koi8/r.h
--- linux-2.6.10/include/config/nls/koi8/r.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/koi8/r.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_KOI8_R
diff -Nru linux-2.6.10/include/config/nls/koi8/u.h linux-2.6.10-h1940/include/config/nls/koi8/u.h
--- linux-2.6.10/include/config/nls/koi8/u.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/koi8/u.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_KOI8_U
diff -Nru linux-2.6.10/include/config/nls/utf8.h linux-2.6.10-h1940/include/config/nls/utf8.h
--- linux-2.6.10/include/config/nls/utf8.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls/utf8.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NLS_UTF8
diff -Nru linux-2.6.10/include/config/nls.h linux-2.6.10-h1940/include/config/nls.h
--- linux-2.6.10/include/config/nls.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nls.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_NLS 1
diff -Nru linux-2.6.10/include/config/ntfs/fs.h linux-2.6.10-h1940/include/config/ntfs/fs.h
--- linux-2.6.10/include/config/ntfs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ntfs/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NTFS_FS
diff -Nru linux-2.6.10/include/config/nvram.h linux-2.6.10-h1940/include/config/nvram.h
--- linux-2.6.10/include/config/nvram.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/nvram.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_NVRAM
diff -Nru linux-2.6.10/include/config/osf/partition.h linux-2.6.10-h1940/include/config/osf/partition.h
--- linux-2.6.10/include/config/osf/partition.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/osf/partition.h	2005-01-18 12:50:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_OSF_PARTITION
diff -Nru linux-2.6.10/include/config/packet/mmap.h linux-2.6.10-h1940/include/config/packet/mmap.h
--- linux-2.6.10/include/config/packet/mmap.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/packet/mmap.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_PACKET_MMAP 1
diff -Nru linux-2.6.10/include/config/packet.h linux-2.6.10-h1940/include/config/packet.h
--- linux-2.6.10/include/config/packet.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/packet.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_PACKET 1
diff -Nru linux-2.6.10/include/config/parport.h linux-2.6.10-h1940/include/config/parport.h
--- linux-2.6.10/include/config/parport.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/parport.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_PARPORT
diff -Nru linux-2.6.10/include/config/partition/advanced.h linux-2.6.10-h1940/include/config/partition/advanced.h
--- linux-2.6.10/include/config/partition/advanced.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/partition/advanced.h	2005-01-18 12:50:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_PARTITION_ADVANCED 1
diff -Nru linux-2.6.10/include/config/pccard.h linux-2.6.10-h1940/include/config/pccard.h
--- linux-2.6.10/include/config/pccard.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/pccard.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_PCCARD
diff -Nru linux-2.6.10/include/config/pm.h linux-2.6.10-h1940/include/config/pm.h
--- linux-2.6.10/include/config/pm.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/pm.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_PM 1
diff -Nru linux-2.6.10/include/config/posix/mqueue.h linux-2.6.10-h1940/include/config/posix/mqueue.h
--- linux-2.6.10/include/config/posix/mqueue.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/posix/mqueue.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_POSIX_MQUEUE
diff -Nru linux-2.6.10/include/config/ppp.h linux-2.6.10-h1940/include/config/ppp.h
--- linux-2.6.10/include/config/ppp.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ppp.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_PPP
diff -Nru linux-2.6.10/include/config/preempt.h linux-2.6.10-h1940/include/config/preempt.h
--- linux-2.6.10/include/config/preempt.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/preempt.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_PREEMPT 1
diff -Nru linux-2.6.10/include/config/prevent/firmware/build.h linux-2.6.10-h1940/include/config/prevent/firmware/build.h
--- linux-2.6.10/include/config/prevent/firmware/build.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/prevent/firmware/build.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_PREVENT_FIRMWARE_BUILD 1
diff -Nru linux-2.6.10/include/config/proc/fs.h linux-2.6.10-h1940/include/config/proc/fs.h
--- linux-2.6.10/include/config/proc/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/proc/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_PROC_FS 1
diff -Nru linux-2.6.10/include/config/profiling.h linux-2.6.10-h1940/include/config/profiling.h
--- linux-2.6.10/include/config/profiling.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/profiling.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_PROFILING
diff -Nru linux-2.6.10/include/config/qnx4fs/fs.h linux-2.6.10-h1940/include/config/qnx4fs/fs.h
--- linux-2.6.10/include/config/qnx4fs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/qnx4fs/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_QNX4FS_FS
diff -Nru linux-2.6.10/include/config/quota.h linux-2.6.10-h1940/include/config/quota.h
--- linux-2.6.10/include/config/quota.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/quota.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_QUOTA
diff -Nru linux-2.6.10/include/config/r3964.h linux-2.6.10-h1940/include/config/r3964.h
--- linux-2.6.10/include/config/r3964.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/r3964.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_R3964
diff -Nru linux-2.6.10/include/config/ramfs.h linux-2.6.10-h1940/include/config/ramfs.h
--- linux-2.6.10/include/config/ramfs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ramfs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_RAMFS 1
diff -Nru linux-2.6.10/include/config/raw/driver.h linux-2.6.10-h1940/include/config/raw/driver.h
--- linux-2.6.10/include/config/raw/driver.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/raw/driver.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_RAW_DRIVER
diff -Nru linux-2.6.10/include/config/reiserfs/fs.h linux-2.6.10-h1940/include/config/reiserfs/fs.h
--- linux-2.6.10/include/config/reiserfs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/reiserfs/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_REISERFS_FS
diff -Nru linux-2.6.10/include/config/romfs/fs.h linux-2.6.10-h1940/include/config/romfs/fs.h
--- linux-2.6.10/include/config/romfs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/romfs/fs.h	2005-01-18 11:43:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_ROMFS_FS 1
diff -Nru linux-2.6.10/include/config/rpcsec/gss/krb5.h linux-2.6.10-h1940/include/config/rpcsec/gss/krb5.h
--- linux-2.6.10/include/config/rpcsec/gss/krb5.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/rpcsec/gss/krb5.h	2005-01-18 11:43:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_RPCSEC_GSS_KRB5 1
diff -Nru linux-2.6.10/include/config/rpcsec/gss/spkm3.h linux-2.6.10-h1940/include/config/rpcsec/gss/spkm3.h
--- linux-2.6.10/include/config/rpcsec/gss/spkm3.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/rpcsec/gss/spkm3.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_RPCSEC_GSS_SPKM3
diff -Nru linux-2.6.10/include/config/rtc.h linux-2.6.10-h1940/include/config/rtc.h
--- linux-2.6.10/include/config/rtc.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/rtc.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_RTC
diff -Nru linux-2.6.10/include/config/rwsem/generic/spinlock.h linux-2.6.10-h1940/include/config/rwsem/generic/spinlock.h
--- linux-2.6.10/include/config/rwsem/generic/spinlock.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/rwsem/generic/spinlock.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_RWSEM_GENERIC_SPINLOCK 1
diff -Nru linux-2.6.10/include/config/s3c2410/dma/debug.h linux-2.6.10-h1940/include/config/s3c2410/dma/debug.h
--- linux-2.6.10/include/config/s3c2410/dma/debug.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/s3c2410/dma/debug.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_S3C2410_DMA_DEBUG
diff -Nru linux-2.6.10/include/config/s3c2410/dma.h linux-2.6.10-h1940/include/config/s3c2410/dma.h
--- linux-2.6.10/include/config/s3c2410/dma.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/s3c2410/dma.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_S3C2410_DMA 1
diff -Nru linux-2.6.10/include/config/s3c2410/lowlevel/uart/port.h linux-2.6.10-h1940/include/config/s3c2410/lowlevel/uart/port.h
--- linux-2.6.10/include/config/s3c2410/lowlevel/uart/port.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/s3c2410/lowlevel/uart/port.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_S3C2410_LOWLEVEL_UART_PORT 0
diff -Nru linux-2.6.10/include/config/s3c2410/pm/check.h linux-2.6.10-h1940/include/config/s3c2410/pm/check.h
--- linux-2.6.10/include/config/s3c2410/pm/check.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/s3c2410/pm/check.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_S3C2410_PM_CHECK
diff -Nru linux-2.6.10/include/config/s3c2410/pm/debug.h linux-2.6.10-h1940/include/config/s3c2410/pm/debug.h
--- linux-2.6.10/include/config/s3c2410/pm/debug.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/s3c2410/pm/debug.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_S3C2410_PM_DEBUG
diff -Nru linux-2.6.10/include/config/s3c2410/rtc.h linux-2.6.10-h1940/include/config/s3c2410/rtc.h
--- linux-2.6.10/include/config/s3c2410/rtc.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/s3c2410/rtc.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_S3C2410_RTC 1
diff -Nru linux-2.6.10/include/config/schedstats.h linux-2.6.10-h1940/include/config/schedstats.h
--- linux-2.6.10/include/config/schedstats.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/schedstats.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_SCHEDSTATS
diff -Nru linux-2.6.10/include/config/scsi.h linux-2.6.10-h1940/include/config/scsi.h
--- linux-2.6.10/include/config/scsi.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/scsi.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_SCSI
diff -Nru linux-2.6.10/include/config/security.h linux-2.6.10-h1940/include/config/security.h
--- linux-2.6.10/include/config/security.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/security.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_SECURITY
diff -Nru linux-2.6.10/include/config/serial/8250.h linux-2.6.10-h1940/include/config/serial/8250.h
--- linux-2.6.10/include/config/serial/8250.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/serial/8250.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_SERIAL_8250
diff -Nru linux-2.6.10/include/config/serial/core/console.h linux-2.6.10-h1940/include/config/serial/core/console.h
--- linux-2.6.10/include/config/serial/core/console.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/serial/core/console.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_SERIAL_CORE_CONSOLE 1
diff -Nru linux-2.6.10/include/config/serial/core.h linux-2.6.10-h1940/include/config/serial/core.h
--- linux-2.6.10/include/config/serial/core.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/serial/core.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_SERIAL_CORE 1
diff -Nru linux-2.6.10/include/config/serial/nonstandard.h linux-2.6.10-h1940/include/config/serial/nonstandard.h
--- linux-2.6.10/include/config/serial/nonstandard.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/serial/nonstandard.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_SERIAL_NONSTANDARD
diff -Nru linux-2.6.10/include/config/serial/s3c2410/console.h linux-2.6.10-h1940/include/config/serial/s3c2410/console.h
--- linux-2.6.10/include/config/serial/s3c2410/console.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/serial/s3c2410/console.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_SERIAL_S3C2410_CONSOLE 1
diff -Nru linux-2.6.10/include/config/serial/s3c2410.h linux-2.6.10-h1940/include/config/serial/s3c2410.h
--- linux-2.6.10/include/config/serial/s3c2410.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/serial/s3c2410.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_SERIAL_S3C2410 1
diff -Nru linux-2.6.10/include/config/serio/ct82c710.h linux-2.6.10-h1940/include/config/serio/ct82c710.h
--- linux-2.6.10/include/config/serio/ct82c710.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/serio/ct82c710.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_SERIO_CT82C710
diff -Nru linux-2.6.10/include/config/serio/raw.h linux-2.6.10-h1940/include/config/serio/raw.h
--- linux-2.6.10/include/config/serio/raw.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/serio/raw.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_SERIO_RAW
diff -Nru linux-2.6.10/include/config/serio/serport.h linux-2.6.10-h1940/include/config/serio/serport.h
--- linux-2.6.10/include/config/serio/serport.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/serio/serport.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_SERIO_SERPORT 1
diff -Nru linux-2.6.10/include/config/serio.h linux-2.6.10-h1940/include/config/serio.h
--- linux-2.6.10/include/config/serio.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/serio.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_SERIO 1
diff -Nru linux-2.6.10/include/config/sgi/partition.h linux-2.6.10-h1940/include/config/sgi/partition.h
--- linux-2.6.10/include/config/sgi/partition.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/sgi/partition.h	2005-01-18 12:50:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_SGI_PARTITION
diff -Nru linux-2.6.10/include/config/shaper.h linux-2.6.10-h1940/include/config/shaper.h
--- linux-2.6.10/include/config/shaper.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/shaper.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_SHAPER
diff -Nru linux-2.6.10/include/config/shmem.h linux-2.6.10-h1940/include/config/shmem.h
--- linux-2.6.10/include/config/shmem.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/shmem.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_SHMEM 1
diff -Nru linux-2.6.10/include/config/slip.h linux-2.6.10-h1940/include/config/slip.h
--- linux-2.6.10/include/config/slip.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/slip.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_SLIP
diff -Nru linux-2.6.10/include/config/smb/fs.h linux-2.6.10-h1940/include/config/smb/fs.h
--- linux-2.6.10/include/config/smb/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/smb/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_SMB_FS
diff -Nru linux-2.6.10/include/config/solaris/x86/partition.h linux-2.6.10-h1940/include/config/solaris/x86/partition.h
--- linux-2.6.10/include/config/solaris/x86/partition.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/solaris/x86/partition.h	2005-01-18 12:50:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_SOLARIS_X86_PARTITION
diff -Nru linux-2.6.10/include/config/sound/gameport.h linux-2.6.10-h1940/include/config/sound/gameport.h
--- linux-2.6.10/include/config/sound/gameport.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/sound/gameport.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_SOUND_GAMEPORT 1
diff -Nru linux-2.6.10/include/config/sound.h linux-2.6.10-h1940/include/config/sound.h
--- linux-2.6.10/include/config/sound.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/sound.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_SOUND
diff -Nru linux-2.6.10/include/config/standalone.h linux-2.6.10-h1940/include/config/standalone.h
--- linux-2.6.10/include/config/standalone.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/standalone.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_STANDALONE 1
diff -Nru linux-2.6.10/include/config/sun/partition.h linux-2.6.10-h1940/include/config/sun/partition.h
--- linux-2.6.10/include/config/sun/partition.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/sun/partition.h	2005-01-18 12:50:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_SUN_PARTITION
diff -Nru linux-2.6.10/include/config/sunrpc/gss.h linux-2.6.10-h1940/include/config/sunrpc/gss.h
--- linux-2.6.10/include/config/sunrpc/gss.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/sunrpc/gss.h	2005-01-18 11:43:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_SUNRPC_GSS 1
diff -Nru linux-2.6.10/include/config/sunrpc.h linux-2.6.10-h1940/include/config/sunrpc.h
--- linux-2.6.10/include/config/sunrpc.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/sunrpc.h	2005-01-18 11:43:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_SUNRPC 1
diff -Nru linux-2.6.10/include/config/swap.h linux-2.6.10-h1940/include/config/swap.h
--- linux-2.6.10/include/config/swap.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/swap.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_SWAP
diff -Nru linux-2.6.10/include/config/syn/cookies.h linux-2.6.10-h1940/include/config/syn/cookies.h
--- linux-2.6.10/include/config/syn/cookies.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/syn/cookies.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_SYN_COOKIES
diff -Nru linux-2.6.10/include/config/sysctl.h linux-2.6.10-h1940/include/config/sysctl.h
--- linux-2.6.10/include/config/sysctl.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/sysctl.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_SYSCTL 1
diff -Nru linux-2.6.10/include/config/sysfs.h linux-2.6.10-h1940/include/config/sysfs.h
--- linux-2.6.10/include/config/sysfs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/sysfs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_SYSFS 1
diff -Nru linux-2.6.10/include/config/sysv/fs.h linux-2.6.10-h1940/include/config/sysv/fs.h
--- linux-2.6.10/include/config/sysv/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/sysv/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_SYSV_FS
diff -Nru linux-2.6.10/include/config/sysvipc.h linux-2.6.10-h1940/include/config/sysvipc.h
--- linux-2.6.10/include/config/sysvipc.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/sysvipc.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_SYSVIPC 1
diff -Nru linux-2.6.10/include/config/tiny/shmem.h linux-2.6.10-h1940/include/config/tiny/shmem.h
--- linux-2.6.10/include/config/tiny/shmem.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/tiny/shmem.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_TINY_SHMEM
diff -Nru linux-2.6.10/include/config/tmpfs/xattr.h linux-2.6.10-h1940/include/config/tmpfs/xattr.h
--- linux-2.6.10/include/config/tmpfs/xattr.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/tmpfs/xattr.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_TMPFS_XATTR
diff -Nru linux-2.6.10/include/config/tmpfs.h linux-2.6.10-h1940/include/config/tmpfs.h
--- linux-2.6.10/include/config/tmpfs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/tmpfs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_TMPFS 1
diff -Nru linux-2.6.10/include/config/touchscreen/gunze.h linux-2.6.10-h1940/include/config/touchscreen/gunze.h
--- linux-2.6.10/include/config/touchscreen/gunze.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/touchscreen/gunze.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_TOUCHSCREEN_GUNZE
diff -Nru linux-2.6.10/include/config/touchscreen/h1940.h linux-2.6.10-h1940/include/config/touchscreen/h1940.h
--- linux-2.6.10/include/config/touchscreen/h1940.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/touchscreen/h1940.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_TOUCHSCREEN_H1940 1
diff -Nru linux-2.6.10/include/config/tun.h linux-2.6.10-h1940/include/config/tun.h
--- linux-2.6.10/include/config/tun.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/tun.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_TUN
diff -Nru linux-2.6.10/include/config/udf/fs.h linux-2.6.10-h1940/include/config/udf/fs.h
--- linux-2.6.10/include/config/udf/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/udf/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_UDF_FS
diff -Nru linux-2.6.10/include/config/ufs/fs.h linux-2.6.10-h1940/include/config/ufs/fs.h
--- linux-2.6.10/include/config/ufs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ufs/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_UFS_FS
diff -Nru linux-2.6.10/include/config/uid16.h linux-2.6.10-h1940/include/config/uid16.h
--- linux-2.6.10/include/config/uid16.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/uid16.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_UID16 1
diff -Nru linux-2.6.10/include/config/ultrix/partition.h linux-2.6.10-h1940/include/config/ultrix/partition.h
--- linux-2.6.10/include/config/ultrix/partition.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/ultrix/partition.h	2005-01-18 12:50:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_ULTRIX_PARTITION
diff -Nru linux-2.6.10/include/config/unix98/ptys.h linux-2.6.10-h1940/include/config/unix98/ptys.h
--- linux-2.6.10/include/config/unix98/ptys.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/unix98/ptys.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_UNIX98_PTYS 1
diff -Nru linux-2.6.10/include/config/unix.h linux-2.6.10-h1940/include/config/unix.h
--- linux-2.6.10/include/config/unix.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/unix.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_UNIX 1
diff -Nru linux-2.6.10/include/config/unixware/disklabel.h linux-2.6.10-h1940/include/config/unixware/disklabel.h
--- linux-2.6.10/include/config/unixware/disklabel.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/unixware/disklabel.h	2005-01-18 12:50:40.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_UNIXWARE_DISKLABEL
diff -Nru linux-2.6.10/include/config/usb/arch/has/hcd.h linux-2.6.10-h1940/include/config/usb/arch/has/hcd.h
--- linux-2.6.10/include/config/usb/arch/has/hcd.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/arch/has/hcd.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_USB_ARCH_HAS_HCD 1
diff -Nru linux-2.6.10/include/config/usb/arch/has/ohci.h linux-2.6.10-h1940/include/config/usb/arch/has/ohci.h
--- linux-2.6.10/include/config/usb/arch/has/ohci.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/arch/has/ohci.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_USB_ARCH_HAS_OHCI
diff -Nru linux-2.6.10/include/config/usb/eth/rndis.h linux-2.6.10-h1940/include/config/usb/eth/rndis.h
--- linux-2.6.10/include/config/usb/eth/rndis.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/eth/rndis.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_USB_ETH_RNDIS
diff -Nru linux-2.6.10/include/config/usb/eth.h linux-2.6.10-h1940/include/config/usb/eth.h
--- linux-2.6.10/include/config/usb/eth.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/eth.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_USB_ETH 1
diff -Nru linux-2.6.10/include/config/usb/file/storage.h linux-2.6.10-h1940/include/config/usb/file/storage.h
--- linux-2.6.10/include/config/usb/file/storage.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/file/storage.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_USB_FILE_STORAGE
diff -Nru linux-2.6.10/include/config/usb/g/serial.h linux-2.6.10-h1940/include/config/usb/g/serial.h
--- linux-2.6.10/include/config/usb/g/serial.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/g/serial.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_USB_G_SERIAL
diff -Nru linux-2.6.10/include/config/usb/gadget/debug/files.h linux-2.6.10-h1940/include/config/usb/gadget/debug/files.h
--- linux-2.6.10/include/config/usb/gadget/debug/files.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/gadget/debug/files.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_USB_GADGET_DEBUG_FILES
diff -Nru linux-2.6.10/include/config/usb/gadget/dualspeed.h linux-2.6.10-h1940/include/config/usb/gadget/dualspeed.h
--- linux-2.6.10/include/config/usb/gadget/dualspeed.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/gadget/dualspeed.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_USB_GADGET_DUALSPEED
diff -Nru linux-2.6.10/include/config/usb/gadget/dummy/hcd.h linux-2.6.10-h1940/include/config/usb/gadget/dummy/hcd.h
--- linux-2.6.10/include/config/usb/gadget/dummy/hcd.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/gadget/dummy/hcd.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_USB_GADGET_DUMMY_HCD
diff -Nru linux-2.6.10/include/config/usb/gadget/goku.h linux-2.6.10-h1940/include/config/usb/gadget/goku.h
--- linux-2.6.10/include/config/usb/gadget/goku.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/gadget/goku.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_USB_GADGET_GOKU
diff -Nru linux-2.6.10/include/config/usb/gadget/lh7a40x.h linux-2.6.10-h1940/include/config/usb/gadget/lh7a40x.h
--- linux-2.6.10/include/config/usb/gadget/lh7a40x.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/gadget/lh7a40x.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_USB_GADGET_LH7A40X
diff -Nru linux-2.6.10/include/config/usb/gadget/net2280.h linux-2.6.10-h1940/include/config/usb/gadget/net2280.h
--- linux-2.6.10/include/config/usb/gadget/net2280.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/gadget/net2280.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_USB_GADGET_NET2280
diff -Nru linux-2.6.10/include/config/usb/gadget/omap.h linux-2.6.10-h1940/include/config/usb/gadget/omap.h
--- linux-2.6.10/include/config/usb/gadget/omap.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/gadget/omap.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_USB_GADGET_OMAP
diff -Nru linux-2.6.10/include/config/usb/gadget/pxa2xx.h linux-2.6.10-h1940/include/config/usb/gadget/pxa2xx.h
--- linux-2.6.10/include/config/usb/gadget/pxa2xx.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/gadget/pxa2xx.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_USB_GADGET_PXA2XX
diff -Nru linux-2.6.10/include/config/usb/gadget/s3c2410.h linux-2.6.10-h1940/include/config/usb/gadget/s3c2410.h
--- linux-2.6.10/include/config/usb/gadget/s3c2410.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/gadget/s3c2410.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_USB_GADGET_S3C2410 1
diff -Nru linux-2.6.10/include/config/usb/gadget/sa1100.h linux-2.6.10-h1940/include/config/usb/gadget/sa1100.h
--- linux-2.6.10/include/config/usb/gadget/sa1100.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/gadget/sa1100.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_USB_GADGET_SA1100
diff -Nru linux-2.6.10/include/config/usb/gadgetfs.h linux-2.6.10-h1940/include/config/usb/gadgetfs.h
--- linux-2.6.10/include/config/usb/gadgetfs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/gadgetfs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_USB_GADGETFS
diff -Nru linux-2.6.10/include/config/usb/gadget.h linux-2.6.10-h1940/include/config/usb/gadget.h
--- linux-2.6.10/include/config/usb/gadget.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/gadget.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_USB_GADGET 1
diff -Nru linux-2.6.10/include/config/usb/s3c2410.h linux-2.6.10-h1940/include/config/usb/s3c2410.h
--- linux-2.6.10/include/config/usb/s3c2410.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/s3c2410.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_USB_S3C2410 1
diff -Nru linux-2.6.10/include/config/usb/zero.h linux-2.6.10-h1940/include/config/usb/zero.h
--- linux-2.6.10/include/config/usb/zero.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb/zero.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_USB_ZERO
diff -Nru linux-2.6.10/include/config/usb.h linux-2.6.10-h1940/include/config/usb.h
--- linux-2.6.10/include/config/usb.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/usb.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_USB
diff -Nru linux-2.6.10/include/config/vfat/fs.h linux-2.6.10-h1940/include/config/vfat/fs.h
--- linux-2.6.10/include/config/vfat/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/vfat/fs.h	2005-01-18 11:43:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_VFAT_FS 1
diff -Nru linux-2.6.10/include/config/vga/console.h linux-2.6.10-h1940/include/config/vga/console.h
--- linux-2.6.10/include/config/vga/console.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/vga/console.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_VGA_CONSOLE
diff -Nru linux-2.6.10/include/config/video/dev.h linux-2.6.10-h1940/include/config/video/dev.h
--- linux-2.6.10/include/config/video/dev.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/video/dev.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_VIDEO_DEV
diff -Nru linux-2.6.10/include/config/vlan/8021q.h linux-2.6.10-h1940/include/config/vlan/8021q.h
--- linux-2.6.10/include/config/vlan/8021q.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/vlan/8021q.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_VLAN_8021Q
diff -Nru linux-2.6.10/include/config/vt/console.h linux-2.6.10-h1940/include/config/vt/console.h
--- linux-2.6.10/include/config/vt/console.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/vt/console.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_VT_CONSOLE 1
diff -Nru linux-2.6.10/include/config/vt.h linux-2.6.10-h1940/include/config/vt.h
--- linux-2.6.10/include/config/vt.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/vt.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_VT 1
diff -Nru linux-2.6.10/include/config/vxfs/fs.h linux-2.6.10-h1940/include/config/vxfs/fs.h
--- linux-2.6.10/include/config/vxfs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/vxfs/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_VXFS_FS
diff -Nru linux-2.6.10/include/config/wan/router.h linux-2.6.10-h1940/include/config/wan/router.h
--- linux-2.6.10/include/config/wan/router.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/wan/router.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_WAN_ROUTER
diff -Nru linux-2.6.10/include/config/wan.h linux-2.6.10-h1940/include/config/wan.h
--- linux-2.6.10/include/config/wan.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/wan.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_WAN
diff -Nru linux-2.6.10/include/config/watchdog.h linux-2.6.10-h1940/include/config/watchdog.h
--- linux-2.6.10/include/config/watchdog.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/watchdog.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_WATCHDOG
diff -Nru linux-2.6.10/include/config/x25.h linux-2.6.10-h1940/include/config/x25.h
--- linux-2.6.10/include/config/x25.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/x25.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_X25
diff -Nru linux-2.6.10/include/config/xfs/fs.h linux-2.6.10-h1940/include/config/xfs/fs.h
--- linux-2.6.10/include/config/xfs/fs.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/xfs/fs.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_XFS_FS
diff -Nru linux-2.6.10/include/config/xip/kernel.h linux-2.6.10-h1940/include/config/xip/kernel.h
--- linux-2.6.10/include/config/xip/kernel.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/xip/kernel.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#undef CONFIG_XIP_KERNEL
diff -Nru linux-2.6.10/include/config/zboot/rom/bss.h linux-2.6.10-h1940/include/config/zboot/rom/bss.h
--- linux-2.6.10/include/config/zboot/rom/bss.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/zboot/rom/bss.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_ZBOOT_ROM_BSS 0x0
diff -Nru linux-2.6.10/include/config/zboot/rom/text.h linux-2.6.10-h1940/include/config/zboot/rom/text.h
--- linux-2.6.10/include/config/zboot/rom/text.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/zboot/rom/text.h	2004-12-31 09:26:57.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_ZBOOT_ROM_TEXT 0x0
diff -Nru linux-2.6.10/include/config/zlib/deflate.h linux-2.6.10-h1940/include/config/zlib/deflate.h
--- linux-2.6.10/include/config/zlib/deflate.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/zlib/deflate.h	2005-01-18 11:43:58.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_ZLIB_DEFLATE 1
diff -Nru linux-2.6.10/include/config/zlib/inflate.h linux-2.6.10-h1940/include/config/zlib/inflate.h
--- linux-2.6.10/include/config/zlib/inflate.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/config/zlib/inflate.h	2004-12-31 18:56:40.000000000 +0000
@@ -0,0 +1 @@
+#define CONFIG_ZLIB_INFLATE 1
diff -Nru linux-2.6.10/include/linux/autoconf.h linux-2.6.10-h1940/include/linux/autoconf.h
--- linux-2.6.10/include/linux/autoconf.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/linux/autoconf.h	2005-01-18 13:15:57.000000000 +0000
@@ -0,0 +1,856 @@
+/*
+ * Automatically generated C config: don't edit
+ * Linux kernel version: 2.6.10-h1940
+ * Tue Jan 18 13:15:57 2005
+ */
+#define AUTOCONF_INCLUDED
+#define CONFIG_ARM 1
+#define CONFIG_MMU 1
+#define CONFIG_UID16 1
+#define CONFIG_RWSEM_GENERIC_SPINLOCK 1
+#define CONFIG_GENERIC_IOMAP 1
+
+/*
+ * Code maturity level options
+ */
+#define CONFIG_EXPERIMENTAL 1
+#define CONFIG_CLEAN_COMPILE 1
+#define CONFIG_BROKEN_ON_SMP 1
+#define CONFIG_LOCK_KERNEL 1
+
+/*
+ * General setup
+ */
+#define CONFIG_LOCALVERSION ""
+#undef CONFIG_SWAP
+#define CONFIG_SYSVIPC 1
+#undef CONFIG_POSIX_MQUEUE
+#undef CONFIG_BSD_PROCESS_ACCT
+#define CONFIG_SYSCTL 1
+#undef CONFIG_AUDIT
+#define CONFIG_LOG_BUF_SHIFT 16
+#define CONFIG_HOTPLUG 1
+#define CONFIG_KOBJECT_UEVENT 1
+#undef CONFIG_IKCONFIG
+#undef CONFIG_EMBEDDED
+#define CONFIG_KALLSYMS 1
+#undef CONFIG_KALLSYMS_ALL
+#undef CONFIG_KALLSYMS_EXTRA_PASS
+#define CONFIG_FUTEX 1
+#define CONFIG_EPOLL 1
+#define CONFIG_CC_OPTIMIZE_FOR_SIZE 1
+#define CONFIG_SHMEM 1
+#define CONFIG_CC_ALIGN_FUNCTIONS 0
+#define CONFIG_CC_ALIGN_LABELS 0
+#define CONFIG_CC_ALIGN_LOOPS 0
+#define CONFIG_CC_ALIGN_JUMPS 0
+#undef CONFIG_TINY_SHMEM
+
+/*
+ * Loadable module support
+ */
+#undef CONFIG_MODULES
+
+/*
+ * System Type
+ */
+#undef CONFIG_ARCH_CLPS7500
+#undef CONFIG_ARCH_CLPS711X
+#undef CONFIG_ARCH_CO285
+#undef CONFIG_ARCH_EBSA110
+#undef CONFIG_ARCH_CAMELOT
+#undef CONFIG_ARCH_FOOTBRIDGE
+#undef CONFIG_ARCH_INTEGRATOR
+#undef CONFIG_ARCH_IOP3XX
+#undef CONFIG_ARCH_IXP4XX
+#undef CONFIG_ARCH_IXP2000
+#undef CONFIG_ARCH_L7200
+#undef CONFIG_ARCH_PXA
+#undef CONFIG_ARCH_RPC
+#undef CONFIG_ARCH_SA1100
+#define CONFIG_ARCH_S3C2410 1
+#undef CONFIG_ARCH_SHARK
+#undef CONFIG_ARCH_LH7A40X
+#undef CONFIG_ARCH_OMAP
+#undef CONFIG_ARCH_VERSATILE
+#undef CONFIG_ARCH_IMX
+#undef CONFIG_ARCH_H720X
+
+/*
+ * S3C24XX Implementations
+ */
+#undef CONFIG_ARCH_BAST
+#define CONFIG_ARCH_H1940 1
+#undef CONFIG_ARCH_SMDK2410
+#undef CONFIG_MACH_VR1000
+#undef CONFIG_MACH_RX3715
+#define CONFIG_CPU_S3C2410 1
+
+/*
+ * S3C2410 Setup
+ */
+#define CONFIG_S3C2410_DMA 1
+#undef CONFIG_S3C2410_DMA_DEBUG
+#undef CONFIG_S3C2410_PM_DEBUG
+#undef CONFIG_S3C2410_PM_CHECK
+#define CONFIG_S3C2410_LOWLEVEL_UART_PORT 0
+
+/*
+ * Processor Type
+ */
+#define CONFIG_CPU_32 1
+#define CONFIG_CPU_ARM920T 1
+#define CONFIG_CPU_32v4 1
+#define CONFIG_CPU_ABRT_EV4T 1
+#define CONFIG_CPU_CACHE_V4WT 1
+#define CONFIG_CPU_CACHE_VIVT 1
+#define CONFIG_CPU_COPY_V4WB 1
+#define CONFIG_CPU_TLB_V4WBI 1
+
+/*
+ * Processor Features
+ */
+#undef CONFIG_ARM_THUMB
+#undef CONFIG_CPU_ICACHE_DISABLE
+#undef CONFIG_CPU_DCACHE_DISABLE
+#undef CONFIG_CPU_DCACHE_WRITETHROUGH
+
+/*
+ * General setup
+ */
+#define CONFIG_ZBOOT_ROM_TEXT 0x0
+#define CONFIG_ZBOOT_ROM_BSS 0x0
+#undef CONFIG_XIP_KERNEL
+
+/*
+ * PCCARD (PCMCIA/CardBus) support
+ */
+#undef CONFIG_PCCARD
+
+/*
+ * PC-card bridges
+ */
+
+/*
+ * At least one math emulation must be selected
+ */
+#define CONFIG_FPE_NWFPE 1
+#undef CONFIG_FPE_NWFPE_XP
+#undef CONFIG_FPE_FASTFPE
+#define CONFIG_BINFMT_ELF 1
+#undef CONFIG_BINFMT_AOUT
+#undef CONFIG_BINFMT_MISC
+
+/*
+ * Generic Driver Options
+ */
+#define CONFIG_STANDALONE 1
+#define CONFIG_PREVENT_FIRMWARE_BUILD 1
+#undef CONFIG_FW_LOADER
+#undef CONFIG_DEBUG_DRIVER
+#define CONFIG_PM 1
+#define CONFIG_PREEMPT 1
+#define CONFIG_APM 1
+#undef CONFIG_ARTHUR
+#define CONFIG_CMDLINE "rw root=/dev/ram console=tty0 console=ttySAC2,115200n8 panic=30"
+#define CONFIG_ALIGNMENT_TRAP 1
+
+/*
+ * Parallel port support
+ */
+#undef CONFIG_PARPORT
+
+/*
+ * Memory Technology Devices (MTD)
+ */
+#define CONFIG_MTD 1
+#undef CONFIG_MTD_DEBUG
+#define CONFIG_MTD_PARTITIONS 1
+#undef CONFIG_MTD_CONCAT
+#define CONFIG_MTD_REDBOOT_PARTS 1
+#define CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED 1
+#undef CONFIG_MTD_REDBOOT_PARTS_READONLY
+#define CONFIG_MTD_CMDLINE_PARTS 1
+#undef CONFIG_MTD_AFS_PARTS
+
+/*
+ * User Modules And Translation Layers
+ */
+#define CONFIG_MTD_CHAR 1
+#define CONFIG_MTD_BLOCK 1
+#define CONFIG_FTL 1
+#define CONFIG_NFTL 1
+#define CONFIG_NFTL_RW 1
+#define CONFIG_INFTL 1
+
+/*
+ * RAM/ROM/Flash chip drivers
+ */
+#define CONFIG_MTD_CFI 1
+#define CONFIG_MTD_JEDECPROBE 1
+#define CONFIG_MTD_GEN_PROBE 1
+#undef CONFIG_MTD_CFI_ADV_OPTIONS
+#define CONFIG_MTD_MAP_BANK_WIDTH_1 1
+#define CONFIG_MTD_MAP_BANK_WIDTH_2 1
+#define CONFIG_MTD_MAP_BANK_WIDTH_4 1
+#undef CONFIG_MTD_MAP_BANK_WIDTH_8
+#undef CONFIG_MTD_MAP_BANK_WIDTH_16
+#undef CONFIG_MTD_MAP_BANK_WIDTH_32
+#define CONFIG_MTD_CFI_I1 1
+#define CONFIG_MTD_CFI_I2 1
+#undef CONFIG_MTD_CFI_I4
+#undef CONFIG_MTD_CFI_I8
+#undef CONFIG_MTD_CFI_INTELEXT
+#undef CONFIG_MTD_CFI_AMDSTD
+#undef CONFIG_MTD_CFI_STAA
+#undef CONFIG_MTD_RAM
+#undef CONFIG_MTD_ROM
+#undef CONFIG_MTD_ABSENT
+
+/*
+ * Mapping drivers for chip access
+ */
+#undef CONFIG_MTD_COMPLEX_MAPPINGS
+#undef CONFIG_MTD_PHYSMAP
+#undef CONFIG_MTD_ARM_INTEGRATOR
+#undef CONFIG_MTD_EDB7312
+#undef CONFIG_MTD_IMPA7
+
+/*
+ * Self-contained MTD device drivers
+ */
+#undef CONFIG_MTD_SLRAM
+#undef CONFIG_MTD_PHRAM
+#undef CONFIG_MTD_MTDRAM
+#undef CONFIG_MTD_BLKMTD
+
+/*
+ * Disk-On-Chip Device Drivers
+ */
+#undef CONFIG_MTD_DOC2000
+#undef CONFIG_MTD_DOC2001
+#undef CONFIG_MTD_DOC2001PLUS
+
+/*
+ * NAND Flash Device Drivers
+ */
+#define CONFIG_MTD_NAND 1
+#undef CONFIG_MTD_NAND_VERIFY_WRITE
+#define CONFIG_MTD_NAND_IDS 1
+#define CONFIG_MTD_NAND_S3C2410 1
+#define CONFIG_MTD_NAND_S3C2410_DEBUG 1
+#undef CONFIG_MTD_NAND_S3C2410_HWECC
+#undef CONFIG_MTD_NAND_DISKONCHIP
+
+/*
+ * Plug and Play support
+ */
+
+/*
+ * Block devices
+ */
+#undef CONFIG_BLK_DEV_FD
+#undef CONFIG_BLK_DEV_LOOP
+#undef CONFIG_BLK_DEV_NBD
+#define CONFIG_BLK_DEV_RAM 1
+#define CONFIG_BLK_DEV_RAM_COUNT 16
+#define CONFIG_BLK_DEV_RAM_SIZE 4096
+#define CONFIG_BLK_DEV_INITRD 1
+#define CONFIG_INITRAMFS_SOURCE ""
+#undef CONFIG_CDROM_PKTCDVD
+
+/*
+ * IO Schedulers
+ */
+#define CONFIG_IOSCHED_NOOP 1
+#define CONFIG_IOSCHED_AS 1
+#define CONFIG_IOSCHED_DEADLINE 1
+#define CONFIG_IOSCHED_CFQ 1
+
+/*
+ * Multi-device support (RAID and LVM)
+ */
+#undef CONFIG_MD
+
+/*
+ * Networking support
+ */
+#define CONFIG_NET 1
+
+/*
+ * Networking options
+ */
+#define CONFIG_PACKET 1
+#define CONFIG_PACKET_MMAP 1
+#define CONFIG_NETLINK_DEV 1
+#define CONFIG_UNIX 1
+#undef CONFIG_NET_KEY
+#define CONFIG_INET 1
+#undef CONFIG_IP_MULTICAST
+#undef CONFIG_IP_ADVANCED_ROUTER
+#undef CONFIG_IP_PNP
+#undef CONFIG_NET_IPIP
+#undef CONFIG_NET_IPGRE
+#undef CONFIG_ARPD
+#undef CONFIG_SYN_COOKIES
+#undef CONFIG_INET_AH
+#undef CONFIG_INET_ESP
+#undef CONFIG_INET_IPCOMP
+#undef CONFIG_INET_TUNNEL
+#undef CONFIG_IP_TCPDIAG
+#undef CONFIG_IP_TCPDIAG_IPV6
+#undef CONFIG_IPV6
+#undef CONFIG_NETFILTER
+
+/*
+ * SCTP Configuration (EXPERIMENTAL)
+ */
+#undef CONFIG_IP_SCTP
+#undef CONFIG_ATM
+#undef CONFIG_BRIDGE
+#undef CONFIG_VLAN_8021Q
+#undef CONFIG_DECNET
+#undef CONFIG_LLC2
+#undef CONFIG_IPX
+#undef CONFIG_ATALK
+#undef CONFIG_X25
+#undef CONFIG_LAPB
+#undef CONFIG_NET_DIVERT
+#undef CONFIG_ECONET
+#undef CONFIG_WAN_ROUTER
+
+/*
+ * QoS and/or fair queueing
+ */
+#undef CONFIG_NET_SCHED
+#undef CONFIG_NET_CLS_ROUTE
+
+/*
+ * Network testing
+ */
+#undef CONFIG_NET_PKTGEN
+#undef CONFIG_NETPOLL
+#undef CONFIG_NET_POLL_CONTROLLER
+#undef CONFIG_HAMRADIO
+#define CONFIG_IRDA 1
+
+/*
+ * IrDA protocols
+ */
+#define CONFIG_IRLAN 1
+#undef CONFIG_IRCOMM
+#undef CONFIG_IRDA_ULTRA
+
+/*
+ * IrDA options
+ */
+#define CONFIG_IRDA_CACHE_LAST_LSAP 1
+#define CONFIG_IRDA_FAST_RR 1
+#define CONFIG_IRDA_DEBUG 1
+
+/*
+ * Infrared-port device drivers
+ */
+
+/*
+ * SIR device drivers
+ */
+#define CONFIG_IRTTY_SIR 1
+
+/*
+ * Dongle support
+ */
+#undef CONFIG_DONGLE
+
+/*
+ * Old SIR device drivers
+ */
+#undef CONFIG_IRPORT_SIR
+
+/*
+ * Old Serial dongle support
+ */
+
+/*
+ * FIR device drivers
+ */
+#undef CONFIG_BT
+#define CONFIG_NETDEVICES 1
+#define CONFIG_DUMMY 1
+#undef CONFIG_BONDING
+#undef CONFIG_EQUALIZER
+#undef CONFIG_TUN
+#undef CONFIG_ETHERTAP
+
+/*
+ * Ethernet (10 or 100Mbit)
+ */
+#undef CONFIG_NET_ETHERNET
+
+/*
+ * Ethernet (1000 Mbit)
+ */
+
+/*
+ * Ethernet (10000 Mbit)
+ */
+
+/*
+ * Token Ring devices
+ */
+
+/*
+ * Wireless LAN (non-hamradio)
+ */
+#undef CONFIG_NET_RADIO
+
+/*
+ * Wan interfaces
+ */
+#undef CONFIG_WAN
+#undef CONFIG_PPP
+#undef CONFIG_SLIP
+#undef CONFIG_SHAPER
+#undef CONFIG_NETCONSOLE
+
+/*
+ * ATA/ATAPI/MFM/RLL support
+ */
+#undef CONFIG_IDE
+
+/*
+ * SCSI device support
+ */
+#undef CONFIG_SCSI
+
+/*
+ * Fusion MPT device support
+ */
+
+/*
+ * IEEE 1394 (FireWire) support
+ */
+
+/*
+ * I2O device support
+ */
+
+/*
+ * ISDN subsystem
+ */
+#undef CONFIG_ISDN
+
+/*
+ * Input device support
+ */
+#define CONFIG_INPUT 1
+
+/*
+ * Userland interfaces
+ */
+#define CONFIG_INPUT_MOUSEDEV 1
+#define CONFIG_INPUT_MOUSEDEV_PSAUX 1
+#define CONFIG_INPUT_MOUSEDEV_SCREEN_X 320
+#define CONFIG_INPUT_MOUSEDEV_SCREEN_Y 240
+#undef CONFIG_INPUT_JOYDEV
+#undef CONFIG_INPUT_TSDEV
+#undef CONFIG_INPUT_EVDEV
+#undef CONFIG_INPUT_EVBUG
+
+/*
+ * Input I/O drivers
+ */
+#undef CONFIG_GAMEPORT
+#define CONFIG_SOUND_GAMEPORT 1
+#define CONFIG_SERIO 1
+#define CONFIG_SERIO_SERPORT 1
+#undef CONFIG_SERIO_CT82C710
+#undef CONFIG_SERIO_RAW
+
+/*
+ * Input Device Drivers
+ */
+#undef CONFIG_INPUT_KEYBOARD
+#undef CONFIG_INPUT_MOUSE
+#undef CONFIG_INPUT_JOYSTICK
+#define CONFIG_INPUT_TOUCHSCREEN 1
+#define CONFIG_TOUCHSCREEN_H1940 1
+#undef CONFIG_TOUCHSCREEN_GUNZE
+#undef CONFIG_INPUT_MISC
+
+/*
+ * Character devices
+ */
+#define CONFIG_VT 1
+#define CONFIG_VT_CONSOLE 1
+#define CONFIG_HW_CONSOLE 1
+#undef CONFIG_SERIAL_NONSTANDARD
+
+/*
+ * Serial drivers
+ */
+#undef CONFIG_SERIAL_8250
+
+/*
+ * Non-8250 serial port support
+ */
+#define CONFIG_SERIAL_S3C2410 1
+#define CONFIG_SERIAL_S3C2410_CONSOLE 1
+#define CONFIG_SERIAL_CORE 1
+#define CONFIG_SERIAL_CORE_CONSOLE 1
+#define CONFIG_UNIX98_PTYS 1
+#define CONFIG_LEGACY_PTYS 1
+#define CONFIG_LEGACY_PTY_COUNT 128
+
+/*
+ * IPMI
+ */
+#undef CONFIG_IPMI_HANDLER
+
+/*
+ * Watchdog Cards
+ */
+#undef CONFIG_WATCHDOG
+#undef CONFIG_NVRAM
+#undef CONFIG_RTC
+#define CONFIG_S3C2410_RTC 1
+#undef CONFIG_DTLK
+#undef CONFIG_R3964
+
+/*
+ * Ftape, the floppy tape device driver
+ */
+#undef CONFIG_DRM
+#undef CONFIG_RAW_DRIVER
+
+/*
+ * I2C support
+ */
+#undef CONFIG_I2C
+
+/*
+ * Multimedia devices
+ */
+#undef CONFIG_VIDEO_DEV
+
+/*
+ * Digital Video Broadcasting Devices
+ */
+#undef CONFIG_DVB
+
+/*
+ * File systems
+ */
+#define CONFIG_EXT2_FS 1
+#define CONFIG_EXT2_FS_XATTR 1
+#undef CONFIG_EXT2_FS_POSIX_ACL
+#undef CONFIG_EXT2_FS_SECURITY
+#define CONFIG_EXT3_FS 1
+#undef CONFIG_EXT3_FS_XATTR
+#define CONFIG_JBD 1
+#undef CONFIG_JBD_DEBUG
+#define CONFIG_FS_MBCACHE 1
+#undef CONFIG_REISERFS_FS
+#undef CONFIG_JFS_FS
+#undef CONFIG_XFS_FS
+#define CONFIG_MINIX_FS 1
+#define CONFIG_ROMFS_FS 1
+#undef CONFIG_QUOTA
+#define CONFIG_DNOTIFY 1
+#define CONFIG_AUTOFS_FS 1
+#define CONFIG_AUTOFS4_FS 1
+
+/*
+ * CD-ROM/DVD Filesystems
+ */
+#undef CONFIG_ISO9660_FS
+#undef CONFIG_UDF_FS
+
+/*
+ * DOS/FAT/NT Filesystems
+ */
+#define CONFIG_FAT_FS 1
+#define CONFIG_MSDOS_FS 1
+#define CONFIG_VFAT_FS 1
+#define CONFIG_FAT_DEFAULT_CODEPAGE 437
+#define CONFIG_FAT_DEFAULT_IOCHARSET "iso8859-1"
+#undef CONFIG_NTFS_FS
+
+/*
+ * Pseudo filesystems
+ */
+#define CONFIG_PROC_FS 1
+#define CONFIG_SYSFS 1
+#define CONFIG_DEVFS_FS 1
+#undef CONFIG_DEVFS_MOUNT
+#define CONFIG_DEVFS_DEBUG 1
+#undef CONFIG_DEVPTS_FS_XATTR
+#define CONFIG_TMPFS 1
+#undef CONFIG_TMPFS_XATTR
+#undef CONFIG_HUGETLB_PAGE
+#define CONFIG_RAMFS 1
+
+/*
+ * Miscellaneous filesystems
+ */
+#undef CONFIG_ADFS_FS
+#undef CONFIG_AFFS_FS
+#undef CONFIG_HFS_FS
+#undef CONFIG_HFSPLUS_FS
+#undef CONFIG_BEFS_FS
+#undef CONFIG_BFS_FS
+#undef CONFIG_EFS_FS
+#undef CONFIG_JFFS_FS
+#define CONFIG_JFFS2_FS 1
+#define CONFIG_JFFS2_FS_DEBUG 0
+#define CONFIG_JFFS2_FS_NAND 1
+#undef CONFIG_JFFS2_COMPRESSION_OPTIONS
+#define CONFIG_JFFS2_ZLIB 1
+#define CONFIG_JFFS2_RTIME 1
+#undef CONFIG_JFFS2_RUBIN
+#define CONFIG_CRAMFS 1
+#undef CONFIG_VXFS_FS
+#undef CONFIG_HPFS_FS
+#undef CONFIG_QNX4FS_FS
+#undef CONFIG_SYSV_FS
+#undef CONFIG_UFS_FS
+
+/*
+ * Network File Systems
+ */
+#define CONFIG_NFS_FS 1
+#define CONFIG_NFS_V3 1
+#define CONFIG_NFS_V4 1
+#undef CONFIG_NFS_DIRECTIO
+#undef CONFIG_NFSD
+#define CONFIG_LOCKD 1
+#define CONFIG_LOCKD_V4 1
+#undef CONFIG_EXPORTFS
+#define CONFIG_SUNRPC 1
+#define CONFIG_SUNRPC_GSS 1
+#define CONFIG_RPCSEC_GSS_KRB5 1
+#undef CONFIG_RPCSEC_GSS_SPKM3
+#undef CONFIG_SMB_FS
+#undef CONFIG_CIFS
+#undef CONFIG_NCP_FS
+#undef CONFIG_CODA_FS
+#undef CONFIG_AFS_FS
+
+/*
+ * Partition Types
+ */
+#define CONFIG_PARTITION_ADVANCED 1
+#undef CONFIG_ACORN_PARTITION
+#undef CONFIG_OSF_PARTITION
+#undef CONFIG_AMIGA_PARTITION
+#undef CONFIG_ATARI_PARTITION
+#undef CONFIG_MAC_PARTITION
+#define CONFIG_MSDOS_PARTITION 1
+#undef CONFIG_BSD_DISKLABEL
+#undef CONFIG_MINIX_SUBPARTITION
+#undef CONFIG_SOLARIS_X86_PARTITION
+#undef CONFIG_UNIXWARE_DISKLABEL
+#define CONFIG_LDM_PARTITION 1
+#define CONFIG_LDM_DEBUG 1
+#undef CONFIG_SGI_PARTITION
+#undef CONFIG_ULTRIX_PARTITION
+#undef CONFIG_SUN_PARTITION
+#define CONFIG_EFI_PARTITION 1
+
+/*
+ * Native Language Support
+ */
+#define CONFIG_NLS 1
+#define CONFIG_NLS_DEFAULT "iso8859-1"
+#define CONFIG_NLS_CODEPAGE_437 1
+#undef CONFIG_NLS_CODEPAGE_737
+#undef CONFIG_NLS_CODEPAGE_775
+#define CONFIG_NLS_CODEPAGE_850 1
+#undef CONFIG_NLS_CODEPAGE_852
+#undef CONFIG_NLS_CODEPAGE_855
+#undef CONFIG_NLS_CODEPAGE_857
+#undef CONFIG_NLS_CODEPAGE_860
+#undef CONFIG_NLS_CODEPAGE_861
+#undef CONFIG_NLS_CODEPAGE_862
+#undef CONFIG_NLS_CODEPAGE_863
+#undef CONFIG_NLS_CODEPAGE_864
+#undef CONFIG_NLS_CODEPAGE_865
+#undef CONFIG_NLS_CODEPAGE_866
+#undef CONFIG_NLS_CODEPAGE_869
+#undef CONFIG_NLS_CODEPAGE_936
+#undef CONFIG_NLS_CODEPAGE_950
+#undef CONFIG_NLS_CODEPAGE_932
+#undef CONFIG_NLS_CODEPAGE_949
+#undef CONFIG_NLS_CODEPAGE_874
+#undef CONFIG_NLS_ISO8859_8
+#undef CONFIG_NLS_CODEPAGE_1250
+#undef CONFIG_NLS_CODEPAGE_1251
+#undef CONFIG_NLS_ASCII
+#define CONFIG_NLS_ISO8859_1 1
+#undef CONFIG_NLS_ISO8859_2
+#undef CONFIG_NLS_ISO8859_3
+#undef CONFIG_NLS_ISO8859_4
+#undef CONFIG_NLS_ISO8859_5
+#undef CONFIG_NLS_ISO8859_6
+#undef CONFIG_NLS_ISO8859_7
+#undef CONFIG_NLS_ISO8859_9
+#undef CONFIG_NLS_ISO8859_13
+#undef CONFIG_NLS_ISO8859_14
+#define CONFIG_NLS_ISO8859_15 1
+#undef CONFIG_NLS_KOI8_R
+#undef CONFIG_NLS_KOI8_U
+#undef CONFIG_NLS_UTF8
+
+/*
+ * Profiling support
+ */
+#undef CONFIG_PROFILING
+
+/*
+ * Graphics support
+ */
+#define CONFIG_FB 1
+#define CONFIG_FB_MODE_HELPERS 1
+#undef CONFIG_FB_TILEBLITTING
+#define CONFIG_FB_S3C2410 1
+#undef CONFIG_FB_VIRTUAL
+
+/*
+ * Console display driver support
+ */
+#undef CONFIG_VGA_CONSOLE
+#define CONFIG_DUMMY_CONSOLE 1
+#define CONFIG_FRAMEBUFFER_CONSOLE 1
+#define CONFIG_FONTS 1
+#undef CONFIG_FONT_8x8
+#undef CONFIG_FONT_8x16
+#undef CONFIG_FONT_6x11
+#undef CONFIG_FONT_PEARL_8x8
+#undef CONFIG_FONT_ACORN_8x8
+#undef CONFIG_FONT_MINI_4x6
+#undef CONFIG_FONT_CLEAN_4x6
+#define CONFIG_FONT_CLEAN_5x8 1
+#undef CONFIG_FONT_SUN8x16
+#undef CONFIG_FONT_SUN12x22
+
+/*
+ * Logo configuration
+ */
+#define CONFIG_LOGO 1
+#undef CONFIG_LOGO_LINUX_MONO
+#define CONFIG_LOGO_LINUX_VGA16 1
+#define CONFIG_LOGO_LINUX_CLUT224 1
+
+/*
+ * Sound
+ */
+#undef CONFIG_SOUND
+
+/*
+ * Misc devices
+ */
+
+/*
+ * USB support
+ */
+#undef CONFIG_USB
+#define CONFIG_USB_ARCH_HAS_HCD 1
+#undef CONFIG_USB_ARCH_HAS_OHCI
+
+/*
+ * NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
+ */
+
+/*
+ * USB Gadget Support
+ */
+#define CONFIG_USB_GADGET 1
+#undef CONFIG_USB_GADGET_DEBUG_FILES
+#undef CONFIG_USB_GADGET_NET2280
+#undef CONFIG_USB_GADGET_PXA2XX
+#undef CONFIG_USB_GADGET_GOKU
+#undef CONFIG_USB_GADGET_SA1100
+#undef CONFIG_USB_GADGET_LH7A40X
+#define CONFIG_USB_GADGET_S3C2410 1
+#define CONFIG_USB_S3C2410 1
+#undef CONFIG_USB_GADGET_DUMMY_HCD
+#undef CONFIG_USB_GADGET_OMAP
+#undef CONFIG_USB_GADGET_DUALSPEED
+#undef CONFIG_USB_ZERO
+#define CONFIG_USB_ETH 1
+#undef CONFIG_USB_ETH_RNDIS
+#undef CONFIG_USB_GADGETFS
+#undef CONFIG_USB_FILE_STORAGE
+#undef CONFIG_USB_G_SERIAL
+
+/*
+ * MMC/SD Card support
+ */
+#define CONFIG_MMC 1
+#define CONFIG_MMC_DEBUG 1
+#define CONFIG_MMC_BLOCK 1
+#define CONFIG_MMC_S3C2410 1
+#undef CONFIG_MMC_WBSD
+
+/*
+ * Kernel hacking
+ */
+#define CONFIG_DEBUG_KERNEL 1
+#define CONFIG_MAGIC_SYSRQ 1
+#undef CONFIG_SCHEDSTATS
+#undef CONFIG_DEBUG_SLAB
+#undef CONFIG_DEBUG_SPINLOCK
+#undef CONFIG_DEBUG_KOBJECT
+#define CONFIG_DEBUG_BUGVERBOSE 1
+#define CONFIG_DEBUG_INFO 1
+#define CONFIG_FRAME_POINTER 1
+#define CONFIG_DEBUG_USER 1
+#undef CONFIG_DEBUG_WAITQ
+#undef CONFIG_DEBUG_ERRORS
+#define CONFIG_DEBUG_LL 1
+#undef CONFIG_DEBUG_ICEDCC
+#undef CONFIG_DEBUG_S3C2410_PORT
+#define CONFIG_DEBUG_S3C2410_UART 0
+
+/*
+ * Security options
+ */
+#undef CONFIG_KEYS
+#undef CONFIG_SECURITY
+
+/*
+ * Cryptographic options
+ */
+#define CONFIG_CRYPTO 1
+#undef CONFIG_CRYPTO_HMAC
+#undef CONFIG_CRYPTO_NULL
+#undef CONFIG_CRYPTO_MD4
+#define CONFIG_CRYPTO_MD5 1
+#undef CONFIG_CRYPTO_SHA1
+#undef CONFIG_CRYPTO_SHA256
+#undef CONFIG_CRYPTO_SHA512
+#undef CONFIG_CRYPTO_WP512
+#define CONFIG_CRYPTO_DES 1
+#undef CONFIG_CRYPTO_BLOWFISH
+#undef CONFIG_CRYPTO_TWOFISH
+#undef CONFIG_CRYPTO_SERPENT
+#undef CONFIG_CRYPTO_AES
+#undef CONFIG_CRYPTO_CAST5
+#undef CONFIG_CRYPTO_CAST6
+#undef CONFIG_CRYPTO_TEA
+#undef CONFIG_CRYPTO_ARC4
+#undef CONFIG_CRYPTO_KHAZAD
+#undef CONFIG_CRYPTO_ANUBIS
+#undef CONFIG_CRYPTO_DEFLATE
+#undef CONFIG_CRYPTO_MICHAEL_MIC
+#undef CONFIG_CRYPTO_CRC32C
+#undef CONFIG_CRYPTO_TEST
+
+/*
+ * Library routines
+ */
+#define CONFIG_CRC_CCITT 1
+#define CONFIG_CRC32 1
+#undef CONFIG_LIBCRC32C
+#define CONFIG_ZLIB_INFLATE 1
+#define CONFIG_ZLIB_DEFLATE 1
diff -Nru linux-2.6.10/include/linux/font.h linux-2.6.10-h1940/include/linux/font.h
--- linux-2.6.10/include/linux/font.h	2004-12-24 21:35:50.000000000 +0000
+++ linux-2.6.10-h1940/include/linux/font.h	2004-12-31 09:12:38.000000000 +0000
@@ -29,6 +29,8 @@
 #define SUN12x22_IDX	5
 #define ACORN8x8_IDX	6
 #define	MINI4x6_IDX	7
+#define	CLEAN4x6_IDX	8
+#define	CLEAN5x8_IDX	9
 
 extern struct font_desc	font_vga_8x8,
 				font_vga_8x16,
@@ -37,7 +39,9 @@
 				font_sun_8x16,
 				font_sun_12x22,
 				font_acorn_8x8,
-				font_mini_4x6;
+				font_mini_4x6,
+				font_clean_4x6,
+				font_clean_5x8;
 
 /* Find a font with a specific name */
 
diff -Nru linux-2.6.10/include/linux/mmc/card.h linux-2.6.10-h1940/include/linux/mmc/card.h
--- linux-2.6.10/include/linux/mmc/card.h	2004-12-24 21:35:24.000000000 +0000
+++ linux-2.6.10-h1940/include/linux/mmc/card.h	2005-01-17 13:24:16.000000000 +0000
@@ -24,12 +24,55 @@
 };
 
 struct mmc_csd {
-	unsigned char		mmca_vsn;
-	unsigned short		cmdclass;
+	u8  sd;
+	u8  csd_vers;
+	u8  spec_vers;
+	u8  taac;
+	u8  nsac;
+	u16 ccc;
+	u8  tran_speed;
+	u8  read_bl_len;
+	u8  read_bl_partial;
+	u8  write_blk_misalign;
+	u8  read_blk_misalign;
+	u8  dsr_imp;
+	u16 c_size;
+	u8  vdd_r_curr_min;
+	u8  vdd_r_curr_max;
+	u8  vdd_w_curr_min;
+	u8  vdd_w_curr_max;
+	u8  c_size_mult;
+	union {
+		struct { /* MMC system specification version 3.1 */
+			u8  erase_grp_size;
+			u8  erase_grp_mult;
+		} mmc31;
+		struct { /* MMC system specification version 2.2 */
+			u8  sector_size;
+			u8  erase_grp_size;
+		} mmc22;
+		struct { /* SD Version 1.0 */
+			u8  erase_blk_en;
+			u8  erase_blk_size;
+		} sd10;
+	} erase;
+
+	u8  wp_grp_size;
+	u8  wp_grp_enable;
+	u8  default_ecc;
+	u8  r2w_factor;
+	u8  write_bl_len;
+	u8  write_bl_partial;
+	u8  file_format_grp;
+	u8  copy;
+	u8  perm_write_protect;
+	u8  tmp_write_protect;
+	u8  file_format;
+	u8  ecc;
+
 	unsigned short		tacc_clks;
 	unsigned int		tacc_ns;
 	unsigned int		max_dtr;
-	unsigned int		read_blkbits;
 	unsigned int		capacity;
 };
 
@@ -42,8 +85,10 @@
 	struct list_head	node;		/* node in hosts devices list */
 	struct mmc_host		*host;		/* the host this device belongs to */
 	struct device		dev;		/* the device */
+	unsigned char		sd;
 	unsigned int		rca;		/* relative card address of device */
 	unsigned int		state;		/* (our) card state */
+	u8			bus_width;	/* bus_width the card is set to */
 #define MMC_STATE_PRESENT	(1<<0)		/* present in sysfs */
 #define MMC_STATE_DEAD		(1<<1)		/* device no longer in stack */
 #define MMC_STATE_BAD		(1<<2)		/* unrecognised device */
diff -Nru linux-2.6.10/include/linux/mmc/host.h linux-2.6.10-h1940/include/linux/mmc/host.h
--- linux-2.6.10/include/linux/mmc/host.h	2004-12-24 21:34:58.000000000 +0000
+++ linux-2.6.10-h1940/include/linux/mmc/host.h	2005-01-17 13:24:16.000000000 +0000
@@ -61,12 +61,15 @@
 struct mmc_card;
 struct device;
 
+#define MMC_HOST_WIDEMODE	1
+
 struct mmc_host {
 	struct device		*dev;
 	struct mmc_host_ops	*ops;
 	unsigned int		f_min;
 	unsigned int		f_max;
 	u32			ocr_avail;
+	u32			flags;
 	char			host_name[8];
 
 	/* host specific block data */
diff -Nru linux-2.6.10/include/linux/mmc/mmc.h linux-2.6.10-h1940/include/linux/mmc/mmc.h
--- linux-2.6.10/include/linux/mmc/mmc.h	2004-12-24 21:34:49.000000000 +0000
+++ linux-2.6.10-h1940/include/linux/mmc/mmc.h	2005-01-17 13:24:16.000000000 +0000
@@ -47,6 +47,8 @@
 #define MMC_ERR_FIFO	3
 #define MMC_ERR_FAILED	4
 #define MMC_ERR_INVALID	5
+#define MMC_ERR_BUSY	6
+#define MMC_ERR_DMA	7
 
 	struct mmc_data		*data;		/* data segment associated with cmd */
 	struct mmc_request	*mrq;		/* assoicated request */
@@ -64,6 +66,7 @@
 #define MMC_DATA_WRITE	(1 << 8)
 #define MMC_DATA_READ	(1 << 9)
 #define MMC_DATA_STREAM	(1 << 10)
+#define MMC_DATA_WIDE	(1 << 11)
 
 	unsigned int		bytes_xfered;
 
@@ -88,6 +91,8 @@
 
 extern int mmc_wait_for_req(struct mmc_host *, struct mmc_request *);
 extern int mmc_wait_for_cmd(struct mmc_host *, struct mmc_command *, int);
+extern int sd_set_bus_width(struct mmc_host *, u16, u32);
+
 
 extern int __mmc_claim_host(struct mmc_host *host, struct mmc_card *card);
 
diff -Nru linux-2.6.10/include/linux/mmc/protocol.h linux-2.6.10-h1940/include/linux/mmc/protocol.h
--- linux-2.6.10/include/linux/mmc/protocol.h	2004-12-24 21:35:50.000000000 +0000
+++ linux-2.6.10-h1940/include/linux/mmc/protocol.h	2005-01-17 13:24:16.000000000 +0000
@@ -76,6 +76,9 @@
 #define MMC_APP_CMD              55   /* ac   [31:16] RCA        R1  */
 #define MMC_GEN_CMD              56   /* adtc [0] RD/WR          R1b */
 
+#define MMC_ACMD_SD_APP_OP_COND  41   /* ????  op conds		 ??? */
+#define MMC_ACMD_SD_SET_BUS_WIDTH 6   /* ????  00=1 10=4	 ??? */
+
 /*
   MMC status in R1
   Type
@@ -118,7 +121,8 @@
 /* These are unpacked versions of the actual responses */
 
 struct _mmc_csd {
-	u8  csd_structure;
+	u8  sd;
+	u8  csd_vers;
 	u8  spec_vers;
 	u8  taac;
 	u8  nsac;
@@ -139,11 +143,15 @@
 		struct { /* MMC system specification version 3.1 */
 			u8  erase_grp_size;
 			u8  erase_grp_mult;
-		} v31;
+		} mmc31;
 		struct { /* MMC system specification version 2.2 */
 			u8  sector_size;
 			u8  erase_grp_size;
-		} v22;
+		} mmc22;
+		struct { /* SD Version 1.0 */
+			u8  erase_blk_en;
+			u8  erase_blk_size;
+		} sd10;
 	} erase;
 	u8  wp_grp_size;
 	u8  wp_grp_enable;
@@ -159,6 +167,13 @@
 	u8  ecc;
 };
 
+#define SD_CSDV_1	0
+
+#define MMC_CSDV_1	0
+#define MMC_CSDV_14	1
+#define MMC_CSDV_2	2
+#define MMC_CSDV_3	3
+
 #define MMC_VDD_145_150	0x00000001	/* VDD voltage 1.45 - 1.50 */
 #define MMC_VDD_150_155	0x00000002	/* VDD voltage 1.50 - 1.55 */
 #define MMC_VDD_155_160	0x00000004	/* VDD voltage 1.55 - 1.60 */
diff -Nru linux-2.6.10/include/linux/version.h linux-2.6.10-h1940/include/linux/version.h
--- linux-2.6.10/include/linux/version.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/include/linux/version.h	2004-12-31 18:23:11.000000000 +0000
@@ -0,0 +1,3 @@
+#define UTS_RELEASE "2.6.10-h1940"
+#define LINUX_VERSION_CODE 132618
+#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
diff -Nru linux-2.6.10/kernel/Makefile linux-2.6.10-h1940/kernel/Makefile
--- linux-2.6.10/kernel/Makefile	2004-12-24 21:34:26.000000000 +0000
+++ linux-2.6.10-h1940/kernel/Makefile	2004-12-31 09:12:23.000000000 +0000
@@ -7,7 +7,7 @@
 	    sysctl.o capability.o ptrace.o timer.o user.o \
 	    signal.o sys.o kmod.o workqueue.o pid.o \
 	    rcupdate.o intermodule.o extable.o params.o posix-timers.o \
-	    kthread.o wait.o kfifo.o sys_ni.o
+	    kthread.o wait.o kfifo.o sys_ni.o mhelper.o
 
 obj-$(CONFIG_FUTEX) += futex.o
 obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o
diff -Nru linux-2.6.10/kernel/mhelper.c linux-2.6.10-h1940/kernel/mhelper.c
--- linux-2.6.10/kernel/mhelper.c	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/kernel/mhelper.c	2004-12-31 09:12:23.000000000 +0000
@@ -0,0 +1,83 @@
+
+#include <linux/config.h>
+#include <linux/linkage.h>
+#include <asm/errno.h>
+
+#include <asm/io.h>
+#include <asm/hardware.h>
+#include <asm/mach-types.h>
+#include <asm/uaccess.h>
+#include <asm/mach/map.h>
+
+#include "mhelper.h"
+
+
+	
+#define IODESC_ENT(x) { S3C2410_VA_##x, S3C2410_PA_##x, S3C2410_SZ_##x, MT_DEVICE }
+
+extern struct map_desc s3c2410_iodesc[];
+extern unsigned long s3c2410_iodesc_size;
+
+static inline unsigned long
+map_io_to_va(unsigned long addr)
+{
+	int index;
+
+	for (index=0; index<s3c2410_iodesc_size; index++) {
+		unsigned long phys = s3c2410_iodesc[index].physical;
+		unsigned long len = s3c2410_iodesc[index].length;
+
+		if ((addr >= phys) & (addr < phys+len))
+			break;
+	}
+	if (index < s3c2410_iodesc_size) {
+		unsigned long phys = s3c2410_iodesc[index].physical;
+		unsigned long virt = s3c2410_iodesc[index].virtual;
+		
+		return (addr - phys + virt);
+	}
+	return 0;
+}
+
+
+extern asmlinkage long
+sys_mhelper(uint32_t cmd, uint32_t addr, uint32_t value)
+{
+	unsigned long vaddr = 0;
+
+	if (!(vaddr = map_io_to_va(addr)))
+		return -ENXIO;
+
+        switch (cmd) {
+
+	case CMD_READ_B:
+		value = __raw_readb(vaddr);
+		printk("0x%08x: 0x%02x (%d)\n", addr, value, value);
+		break;
+	case CMD_READ_W:
+		value = __raw_readw(vaddr);
+		printk("0x%08x: 0x%04x (%d)\n", addr, value, value);
+		break;
+	case CMD_READ_L:
+		value = __raw_readl(vaddr);
+		printk("0x%08x: 0x%08x (%d)\n", addr, value, value);
+		break;
+		
+	case CMD_WRITE_B:
+		__raw_writeb(value, vaddr);
+		break;
+	case CMD_WRITE_W:
+		__raw_writew(value, vaddr);
+		break;
+	case CMD_WRITE_L:
+		__raw_writel(value, vaddr);
+		break;
+
+	default:
+		return -EINVAL;
+		break;
+	}
+	
+	return 0;
+}
+
diff -Nru linux-2.6.10/kernel/mhelper.h linux-2.6.10-h1940/kernel/mhelper.h
--- linux-2.6.10/kernel/mhelper.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/kernel/mhelper.h	2004-12-31 09:12:23.000000000 +0000
@@ -0,0 +1,22 @@
+
+#define CAT_READ	0x10
+#define CAT_WRITE	0x20
+
+#define CAT_BYTE	0x01
+#define CAT_WORD	0x02
+#define CAT_LONG	0x03
+
+
+enum {
+	CMD_VERSION = 0,
+
+	CMD_READ_B  = 0x11,
+	CMD_READ_W,
+	CMD_READ_L,
+
+	CMD_WRITE_B = 0x21,
+	CMD_WRITE_W,
+	CMD_WRITE_L,
+
+};
+
diff -Nru linux-2.6.10/Makefile linux-2.6.10-h1940/Makefile
--- linux-2.6.10/Makefile	2004-12-24 21:35:01.000000000 +0000
+++ linux-2.6.10-h1940/Makefile	2004-12-31 18:19:33.000000000 +0000
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 6
 SUBLEVEL = 10
-EXTRAVERSION =
+EXTRAVERSION = -h1940
 NAME=Woozy Numbat
 
 # *DOCUMENTATION*
@@ -190,8 +190,8 @@
 # Default value for CROSS_COMPILE is not to prefix executables
 # Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
 
-ARCH		?= $(SUBARCH)
-CROSS_COMPILE	?=
+ARCH		?= arm
+CROSS_COMPILE	?= arm-linux-
 
 # Architecture as present in compile.h
 UTS_MACHINE := $(ARCH)
diff -Nru linux-2.6.10/Makefile~ linux-2.6.10-h1940/Makefile~
--- linux-2.6.10/Makefile~	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/Makefile~	2004-12-31 09:11:50.000000000 +0000
@@ -0,0 +1,1318 @@
+VERSION = 2
+PATCHLEVEL = 6
+SUBLEVEL = 10
+EXTRAVERSION =
+NAME=Woozy Numbat
+
+# *DOCUMENTATION*
+# To see a list of typical targets execute "make help"
+# More info can be located in ./README
+# Comments in this file are targeted only to the developer, do not
+# expect to learn how to build the kernel reading this file.
+
+# Do not print "Entering directory ..."
+MAKEFLAGS += --no-print-directory
+
+# We are using a recursive build, so we need to do a little thinking
+# to get the ordering right.
+#
+# Most importantly: sub-Makefiles should only ever modify files in
+# their own directory. If in some directory we have a dependency on
+# a file in another dir (which doesn't happen often, but it's of
+# unavoidable when linking the built-in.o targets which finally
+# turn into vmlinux), we will call a sub make in that other dir, and
+# after that we are sure that everything which is in that other dir
+# is now up to date.
+#
+# The only cases where we need to modify files which have global
+# effects are thus separated out and done before the recursive
+# descending is started. They are now explicitly listed as the
+# prepare rule.
+
+# To put more focus on warnings, be less verbose as default
+# Use 'make V=1' to see the full commands
+
+ifdef V
+  ifeq ("$(origin V)", "command line")
+    KBUILD_VERBOSE = $(V)
+  endif
+endif
+ifndef KBUILD_VERBOSE
+  KBUILD_VERBOSE = 0
+endif
+
+# Call sparse as part of compilation of C files
+# Use 'make C=1' to enable sparse checking
+
+ifdef C
+  ifeq ("$(origin C)", "command line")
+    KBUILD_CHECKSRC = $(C)
+  endif
+endif
+ifndef KBUILD_CHECKSRC
+  KBUILD_CHECKSRC = 0
+endif
+
+# Use make M=dir to specify directory of external module to build
+# Old syntax make ... SUBDIRS=$PWD is still supported
+# Setting the environment variable KBUILD_EXTMOD take precedence
+ifdef SUBDIRS
+  KBUILD_EXTMOD ?= $(SUBDIRS)
+endif
+ifdef M
+  ifeq ("$(origin M)", "command line")
+    KBUILD_EXTMOD := $(M)
+  endif
+endif
+
+
+# kbuild supports saving output files in a separate directory.
+# To locate output files in a separate directory two syntax'es are supported.
+# In both cases the working directory must be the root of the kernel src.
+# 1) O=
+# Use "make O=dir/to/store/output/files/"
+# 
+# 2) Set KBUILD_OUTPUT
+# Set the environment variable KBUILD_OUTPUT to point to the directory
+# where the output files shall be placed.
+# export KBUILD_OUTPUT=dir/to/store/output/files/
+# make
+#
+# The O= assigment takes precedence over the KBUILD_OUTPUT environment variable.
+
+
+# KBUILD_SRC is set on invocation of make in OBJ directory
+# KBUILD_SRC is not intended to be used by the regular user (for now)
+ifeq ($(KBUILD_SRC),)
+
+# OK, Make called in directory where kernel src resides
+# Do we want to locate output files in a separate directory?
+ifdef O
+  ifeq ("$(origin O)", "command line")
+    KBUILD_OUTPUT := $(O)
+  endif
+endif
+
+# That's our default target when none is given on the command line
+.PHONY: _all
+_all:
+
+ifneq ($(KBUILD_OUTPUT),)
+# Invoke a second make in the output directory, passing relevant variables
+# check that the output directory actually exists
+saved-output := $(KBUILD_OUTPUT)
+KBUILD_OUTPUT := $(shell cd $(KBUILD_OUTPUT) && /bin/pwd)
+$(if $(KBUILD_OUTPUT),, \
+     $(error output directory "$(saved-output)" does not exist))
+
+.PHONY: $(MAKECMDGOALS)
+
+$(filter-out _all,$(MAKECMDGOALS)) _all:
+	$(if $(KBUILD_VERBOSE:1=),@)$(MAKE) -C $(KBUILD_OUTPUT)		\
+	KBUILD_SRC=$(CURDIR)	     KBUILD_VERBOSE=$(KBUILD_VERBOSE)	\
+	KBUILD_CHECK=$(KBUILD_CHECK) KBUILD_EXTMOD="$(KBUILD_EXTMOD)"	\
+        -f $(CURDIR)/Makefile $@
+
+# Leave processing to above invocation of make
+skip-makefile := 1
+endif # ifneq ($(KBUILD_OUTPUT),)
+endif # ifeq ($(KBUILD_SRC),)
+
+# We process the rest of the Makefile if this is the final invocation of make
+ifeq ($(skip-makefile),)
+
+# If building an external module we do not care about the all: rule
+# but instead _all depend on modules
+.PHONY: all
+ifeq ($(KBUILD_EXTMOD),)
+_all: all
+else
+_all: modules
+endif
+
+srctree		:= $(if $(KBUILD_SRC),$(KBUILD_SRC),$(CURDIR))
+TOPDIR		:= $(srctree)
+# FIXME - TOPDIR is obsolete, use srctree/objtree
+objtree		:= $(CURDIR)
+src		:= $(srctree)
+obj		:= $(objtree)
+
+VPATH		:= $(srctree)
+
+export srctree objtree VPATH TOPDIR
+
+nullstring :=
+space      := $(nullstring) # end of line
+
+# Take the contents of any files called localversion* and the config
+# variable CONFIG_LOCALVERSION and append them to KERNELRELEASE. Be
+# careful not to include files twice if building in the source
+# directory. LOCALVERSION from the command line override all of this
+
+ifeq ($(objtree),$(srctree))
+localversion-files := $(wildcard $(srctree)/localversion*)
+else
+localversion-files := $(wildcard $(objtree)/localversion* $(srctree)/localversion*)
+endif
+
+LOCALVERSION = $(subst $(space),, \
+	       $(shell cat /dev/null $(localversion-files:%~=)) \
+	       $(patsubst "%",%,$(CONFIG_LOCALVERSION)))
+
+KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)$(LOCALVERSION)
+
+# SUBARCH tells the usermode build what the underlying arch is.  That is set
+# first, and if a usermode build is happening, the "ARCH=um" on the command
+# line overrides the setting of ARCH below.  If a native build is happening,
+# then ARCH is assigned, getting whatever value it gets normally, and 
+# SUBARCH is subsequently ignored.
+
+SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
+				  -e s/arm.*/arm/ -e s/sa110/arm/ \
+				  -e s/s390x/s390/ -e s/parisc64/parisc/ )
+
+# Cross compiling and selecting different set of gcc/bin-utils
+# ---------------------------------------------------------------------------
+#
+# When performing cross compilation for other architectures ARCH shall be set
+# to the target architecture. (See arch/* for the possibilities).
+# ARCH can be set during invocation of make:
+# make ARCH=ia64
+# Another way is to have ARCH set in the environment.
+# The default ARCH is the host where make is executed.
+
+# CROSS_COMPILE specify the prefix used for all executables used
+# during compilation. Only gcc and related bin-utils executables
+# are prefixed with $(CROSS_COMPILE).
+# CROSS_COMPILE can be set on the command line
+# make CROSS_COMPILE=ia64-linux-
+# Alternatively CROSS_COMPILE can be set in the environment.
+# Default value for CROSS_COMPILE is not to prefix executables
+# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
+
+ARCH		?= arm
+CROSS_COMPILE	?= arm-linux-
+
+# Architecture as present in compile.h
+UTS_MACHINE := $(ARCH)
+
+# SHELL used by kbuild
+CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
+	  else if [ -x /bin/bash ]; then echo /bin/bash; \
+	  else echo sh; fi ; fi)
+
+HOSTCC  	= gcc
+HOSTCXX  	= g++
+HOSTCFLAGS	= -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
+HOSTCXXFLAGS	= -O2
+
+# 	Decide whether to build built-in, modular, or both.
+#	Normally, just do built-in.
+
+KBUILD_MODULES :=
+KBUILD_BUILTIN := 1
+
+#	If we have only "make modules", don't compile built-in objects.
+#	When we're building modules with modversions, we need to consider
+#	the built-in objects during the descend as well, in order to
+#	make sure the checksums are uptodate before we record them.
+
+ifeq ($(MAKECMDGOALS),modules)
+  KBUILD_BUILTIN := $(if $(CONFIG_MODVERSIONS),1)
+endif
+
+#	If we have "make <whatever> modules", compile modules
+#	in addition to whatever we do anyway.
+#	Just "make" or "make all" shall build modules as well
+
+ifneq ($(filter all _all modules,$(MAKECMDGOALS)),)
+  KBUILD_MODULES := 1
+endif
+
+ifeq ($(MAKECMDGOALS),)
+  KBUILD_MODULES := 1
+endif
+
+export KBUILD_MODULES KBUILD_BUILTIN KBUILD_VERBOSE
+export KBUILD_CHECKSRC KBUILD_SRC KBUILD_EXTMOD
+
+# Beautify output
+# ---------------------------------------------------------------------------
+#
+# Normally, we echo the whole command before executing it. By making
+# that echo $($(quiet)$(cmd)), we now have the possibility to set
+# $(quiet) to choose other forms of output instead, e.g.
+#
+#         quiet_cmd_cc_o_c = Compiling $(RELDIR)/$@
+#         cmd_cc_o_c       = $(CC) $(c_flags) -c -o $@ $<
+#
+# If $(quiet) is empty, the whole command will be printed.
+# If it is set to "quiet_", only the short version will be printed. 
+# If it is set to "silent_", nothing wil be printed at all, since
+# the variable $(silent_cmd_cc_o_c) doesn't exist.
+#
+# A simple variant is to prefix commands with $(Q) - that's usefull
+# for commands that shall be hidden in non-verbose mode.
+#
+#	$(Q)ln $@ :<
+#
+# If KBUILD_VERBOSE equals 0 then the above command will be hidden.
+# If KBUILD_VERBOSE equals 1 then the above command is displayed.
+
+ifeq ($(KBUILD_VERBOSE),1)
+  quiet =
+  Q =
+else
+  quiet=quiet_
+  Q = @
+endif
+
+# If the user is running make -s (silent mode), suppress echoing of
+# commands
+
+ifneq ($(findstring s,$(MAKEFLAGS)),)
+  quiet=silent_
+endif
+
+export quiet Q KBUILD_VERBOSE
+
+######
+# cc support functions to be used (only) in arch/$(ARCH)/Makefile
+# See documentation in Documentation/kbuild/makefiles.txt
+
+# cc-option
+# Usage: cflags-y += $(call gcc-option, -march=winchip-c6, -march=i586)
+
+cc-option = $(shell if $(CC) $(CFLAGS) $(1) -S -o /dev/null -xc /dev/null \
+             > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
+
+# For backward compatibility
+check_gcc = $(warning check_gcc is deprecated - use cc-option) \
+            $(call cc-option, $(1),$(2))
+
+# cc-option-yn
+# Usage: flag := $(call gcc-option-yn, -march=winchip-c6)
+cc-option-yn = $(shell if $(CC) $(CFLAGS) $(1) -S -o /dev/null -xc /dev/null \
+                > /dev/null 2>&1; then echo "y"; else echo "n"; fi;)
+
+# cc-option-align
+# Prefix align with either -falign or -malign
+cc-option-align = $(subst -functions=0,,\
+	$(call cc-option,-falign-functions=0,-malign-functions=0))
+
+# cc-version
+# Usage gcc-ver := $(call cc-version $(CC))
+cc-version = $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-version.sh \
+              $(if $(1), $(1), $(CC)))
+
+
+# Look for make include files relative to root of kernel src
+MAKEFLAGS += --include-dir=$(srctree)
+
+# For maximum performance (+ possibly random breakage, uncomment
+# the following)
+
+#MAKEFLAGS += -rR
+
+# Make variables (CC, etc...)
+
+AS		= $(CROSS_COMPILE)as
+LD		= $(CROSS_COMPILE)ld
+CC		= $(CROSS_COMPILE)gcc
+CPP		= $(CC) -E
+AR		= $(CROSS_COMPILE)ar
+NM		= $(CROSS_COMPILE)nm
+STRIP		= $(CROSS_COMPILE)strip
+OBJCOPY		= $(CROSS_COMPILE)objcopy
+OBJDUMP		= $(CROSS_COMPILE)objdump
+AWK		= awk
+GENKSYMS	= scripts/genksyms/genksyms
+DEPMOD		= /sbin/depmod
+KALLSYMS	= scripts/kallsyms
+PERL		= perl
+CHECK		= sparse
+CHECKFLAGS     := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__
+MODFLAGS	= -DMODULE
+CFLAGS_MODULE   = $(MODFLAGS)
+AFLAGS_MODULE   = $(MODFLAGS)
+LDFLAGS_MODULE  = -r
+CFLAGS_KERNEL	=
+AFLAGS_KERNEL	=
+
+NOSTDINC_FLAGS  = -nostdinc -iwithprefix include
+
+# Use LINUXINCLUDE when you must reference the include/ directory.
+# Needed to be compatible with the O= option
+LINUXINCLUDE    := -Iinclude \
+                   $(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include)
+
+CPPFLAGS        := -D__KERNEL__ $(LINUXINCLUDE)
+
+CFLAGS 		:= -Wall -Wstrict-prototypes -Wno-trigraphs \
+	  	   -fno-strict-aliasing -fno-common
+AFLAGS		:= -D__ASSEMBLY__
+
+export	VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION LOCALVERSION KERNELRELEASE \
+	ARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \
+	CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE \
+	HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
+
+export CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS
+export CFLAGS CFLAGS_KERNEL CFLAGS_MODULE 
+export AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
+
+# When compiling out-of-tree modules, put MODVERDIR in the module
+# tree rather than in the kernel tree. The kernel tree might
+# even be read-only.
+export MODVERDIR := $(if $(KBUILD_EXTMOD),$(firstword $(KBUILD_EXTMOD))/).tmp_versions
+
+# The temporary file to save gcc -MD generated dependencies must not
+# contain a comma
+comma := ,
+depfile = $(subst $(comma),_,$(@D)/.$(@F).d)
+
+# Files to ignore in find ... statements
+
+RCS_FIND_IGNORE := \( -name SCCS -o -name BitKeeper -o -name .svn -o -name CVS -o -name .pc \) -prune -o
+RCS_TAR_IGNORE := --exclude SCCS --exclude BitKeeper --exclude .svn --exclude CVS --exclude .pc
+
+# ===========================================================================
+# Rules shared between *config targets and build targets
+
+# Basic helpers built in scripts/
+.PHONY: scripts_basic
+scripts_basic:
+	$(Q)$(MAKE) $(build)=scripts/basic
+
+.PHONY: outputmakefile
+# outputmakefile generate a Makefile to be placed in output directory, if
+# using a seperate output directory. This allows convinient use
+# of make in output directory
+outputmakefile:
+	$(Q)if /usr/bin/env test ! $(srctree) -ef $(objtree); then \
+	$(CONFIG_SHELL) $(srctree)/scripts/mkmakefile              \
+	    $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL)         \
+	    > $(objtree)/Makefile;                                 \
+	    echo '  GEN    $(objtree)/Makefile';                   \
+	fi
+
+# To make sure we do not include .config for any of the *config targets
+# catch them early, and hand them over to scripts/kconfig/Makefile
+# It is allowed to specify more targets when calling make, including
+# mixing *config targets and build targets.
+# For example 'make oldconfig all'. 
+# Detect when mixed targets is specified, and make a second invocation
+# of make so .config is not included in this case either (for *config).
+
+no-dot-config-targets := clean mrproper distclean \
+			 cscope TAGS tags help %docs check%
+
+config-targets := 0
+mixed-targets  := 0
+dot-config     := 1
+
+ifneq ($(filter $(no-dot-config-targets), $(MAKECMDGOALS)),)
+	ifeq ($(filter-out $(no-dot-config-targets), $(MAKECMDGOALS)),)
+		dot-config := 0
+	endif
+endif
+
+ifeq ($(KBUILD_EXTMOD),)
+        ifneq ($(filter config %config,$(MAKECMDGOALS)),)
+                config-targets := 1
+                ifneq ($(filter-out config %config,$(MAKECMDGOALS)),)
+                        mixed-targets := 1
+                endif
+        endif
+endif
+
+ifeq ($(mixed-targets),1)
+# ===========================================================================
+# We're called with mixed targets (*config and build targets).
+# Handle them one by one.
+
+%:: FORCE
+	$(Q)$(MAKE) -C $(srctree) KBUILD_SRC= $@
+
+else
+ifeq ($(config-targets),1)
+# ===========================================================================
+# *config targets only - make sure prerequisites are updated, and descend
+# in scripts/kconfig to make the *config target
+
+# Read arch specific Makefile to set KBUILD_DEFCONFIG as needed.
+# KBUILD_DEFCONFIG may point out an alternative default configuration
+# used for 'make defconfig'
+include $(srctree)/arch/$(ARCH)/Makefile
+export KBUILD_DEFCONFIG
+
+config: scripts_basic outputmakefile FORCE
+	$(Q)$(MAKE) $(build)=scripts/kconfig $@
+%config: scripts_basic outputmakefile FORCE
+	$(Q)$(MAKE) $(build)=scripts/kconfig $@
+
+else
+# ===========================================================================
+# Build targets only - this includes vmlinux, arch specific targets, clean
+# targets and others. In general all targets except *config targets.
+
+ifeq ($(KBUILD_EXTMOD),)
+# Additional helpers built in scripts/
+# Carefully list dependencies so we do not try to build scripts twice
+# in parrallel
+.PHONY: scripts
+scripts: scripts_basic include/config/MARKER
+	$(Q)$(MAKE) $(build)=$(@)
+
+scripts_basic: include/linux/autoconf.h
+
+# Objects we will link into vmlinux / subdirs we need to visit
+init-y		:= init/
+drivers-y	:= drivers/ sound/
+net-y		:= net/
+libs-y		:= lib/
+core-y		:= usr/
+endif # KBUILD_EXTMOD
+
+ifeq ($(dot-config),1)
+# In this section, we need .config
+
+# Read in dependencies to all Kconfig* files, make sure to run
+# oldconfig if changes are detected.
+-include .config.cmd
+
+include .config
+
+# If .config needs to be updated, it will be done via the dependency
+# that autoconf has on .config.
+# To avoid any implicit rule to kick in, define an empty command
+.config: ;
+
+# If .config is newer than include/linux/autoconf.h, someone tinkered
+# with it and forgot to run make oldconfig
+include/linux/autoconf.h: .config
+	$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
+else
+# Dummy target needed, because used as prerequisite
+include/linux/autoconf.h: ;
+endif
+
+# The all: target is the default when no target is given on the
+# command line.
+# This allow a user to issue only 'make' to build a kernel including modules
+# Defaults vmlinux but it is usually overriden in the arch makefile
+all: vmlinux
+
+ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
+CFLAGS		+= -Os
+else
+CFLAGS		+= -O2
+endif
+
+#Add align options if CONFIG_CC_* is not equal to 0
+add-align = $(if $(filter-out 0,$($(1))),$(cc-option-align)$(2)=$($(1)))
+CFLAGS		+= $(call add-align,CONFIG_CC_ALIGN_FUNCTIONS,-functions)
+CFLAGS		+= $(call add-align,CONFIG_CC_ALIGN_LABELS,-labels)
+CFLAGS		+= $(call add-align,CONFIG_CC_ALIGN_LOOPS,-loops)
+CFLAGS		+= $(call add-align,CONFIG_CC_ALIGN_JUMPS,-jumps)
+
+ifdef CONFIG_FRAME_POINTER
+CFLAGS		+= -fno-omit-frame-pointer
+else
+CFLAGS		+= -fomit-frame-pointer
+endif
+
+ifdef CONFIG_DEBUG_INFO
+CFLAGS		+= -g
+endif
+
+include $(srctree)/arch/$(ARCH)/Makefile
+
+# warn about C99 declaration after statement
+CFLAGS += $(call cc-option,-Wdeclaration-after-statement,)
+
+# Default kernel image to build when no specific target is given.
+# KBUILD_IMAGE may be overruled on the commandline or
+# set in the environment
+# Also any assingments in arch/$(ARCH)/Makefiel take precedence over
+# this default value
+export KBUILD_IMAGE ?= vmlinux
+
+#
+# INSTALL_PATH specifies where to place the updated kernel and system map
+# images.  Uncomment if you want to place them anywhere other than root.
+#
+
+#export	INSTALL_PATH=/boot
+
+#
+# INSTALL_MOD_PATH specifies a prefix to MODLIB for module directory
+# relocations required by build roots.  This is not defined in the
+# makefile but the arguement can be passed to make if needed.
+#
+
+MODLIB	:= $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)
+export MODLIB
+
+
+ifeq ($(KBUILD_EXTMOD),)
+core-y		+= kernel/ mm/ fs/ ipc/ security/ crypto/
+
+vmlinux-dirs	:= $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \
+		     $(core-y) $(core-m) $(drivers-y) $(drivers-m) \
+		     $(net-y) $(net-m) $(libs-y) $(libs-m)))
+
+vmlinux-alldirs	:= $(sort $(vmlinux-dirs) $(patsubst %/,%,$(filter %/, \
+		     $(init-n) $(init-) \
+		     $(core-n) $(core-) $(drivers-n) $(drivers-) \
+		     $(net-n)  $(net-)  $(libs-n)    $(libs-))))
+
+init-y		:= $(patsubst %/, %/built-in.o, $(init-y))
+core-y		:= $(patsubst %/, %/built-in.o, $(core-y))
+drivers-y	:= $(patsubst %/, %/built-in.o, $(drivers-y))
+net-y		:= $(patsubst %/, %/built-in.o, $(net-y))
+libs-y1		:= $(patsubst %/, %/lib.a, $(libs-y))
+libs-y2		:= $(patsubst %/, %/built-in.o, $(libs-y))
+libs-y		:= $(libs-y1) $(libs-y2)
+
+# Build vmlinux
+# ---------------------------------------------------------------------------
+# vmlinux is build from the objects selected by $(vmlinux-init) and
+# $(vmlinux-main). Most are built-in.o files from top-level directories
+# in the kernel tree, others are specified in arch/$(ARCH)Makefile.
+# Ordering when linking is important, and $(vmlinux-init) must be first.
+#
+# vmlinux
+#   ^
+#   |
+#   +-< $(vmlinux-init)
+#   |   +--< init/version.o + more
+#   |
+#   +--< $(vmlinux-main)
+#   |    +--< driver/built-in.o mm/built-in.o + more
+#   |
+#   +-< kallsyms.o (see description in CONFIG_KALLSYMS section)
+#
+# vmlinux version (uname -v) cannot be updated during normal
+# descending-into-subdirs phase since we do not yet know if we need to
+# update vmlinux.
+# Therefore this step is delayed until just before final link of vmlinux -
+# except in the kallsyms case where it is done just before adding the
+# symbols to the kernel.
+#
+# System.map is generated to document addresses of all kernel symbols
+
+vmlinux-init := $(head-y) $(init-y)
+vmlinux-main := $(core-y) $(libs-y) $(drivers-y) $(net-y)
+vmlinux-all  := $(vmlinux-init) $(vmlinux-main)
+vmlinux-lds  := arch/$(ARCH)/kernel/vmlinux.lds
+
+# Rule to link vmlinux - also used during CONFIG_KALLSYMS
+# May be overridden by arch/$(ARCH)/Makefile
+quiet_cmd_vmlinux__ ?= LD      $@
+      cmd_vmlinux__ ?= $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) -o $@ \
+      -T $(vmlinux-lds) $(vmlinux-init)                          \
+      --start-group $(vmlinux-main) --end-group                  \
+      $(filter-out $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) FORCE ,$^)
+
+# Generate new vmlinux version
+quiet_cmd_vmlinux_version = GEN     .version
+      cmd_vmlinux_version = set -e;                     \
+	. $(srctree)/scripts/mkversion > .tmp_version;	\
+	mv -f .tmp_version .version;			\
+	$(MAKE) $(build)=init
+
+# Generate System.map
+quiet_cmd_sysmap = SYSMAP 
+      cmd_sysmap = $(CONFIG_SHELL) $(srctree)/scripts/mksysmap
+
+# Link of vmlinux
+# If CONFIG_KALLSYMS is set .version is already updated
+# Generate System.map and verify that the content is consistent
+
+define rule_vmlinux__
+	$(if $(CONFIG_KALLSYMS),,+$(call cmd,vmlinux_version))
+
+	$(call cmd,vmlinux__)
+	$(Q)echo 'cmd_$@ := $(cmd_vmlinux__)' > $(@D)/.$(@F).cmd
+
+	$(Q)$(if $($(quiet)cmd_sysmap),                 \
+	  echo '  $($(quiet)cmd_sysmap) System.map' &&) \
+	$(cmd_sysmap) $@ System.map;                    \
+	if [ $$? -ne 0 ]; then                          \
+		rm -f $@;                               \
+		/bin/false;                             \
+	fi;
+	$(verify_kallsyms)
+endef
+
+
+ifdef CONFIG_KALLSYMS
+# Generate section listing all symbols and add it into vmlinux $(kallsyms.o)
+# It's a three stage process:
+# o .tmp_vmlinux1 has all symbols and sections, but __kallsyms is
+#   empty
+#   Running kallsyms on that gives us .tmp_kallsyms1.o with
+#   the right size - vmlinux version (uname -v) is updated during this step
+# o .tmp_vmlinux2 now has a __kallsyms section of the right size,
+#   but due to the added section, some addresses have shifted.
+#   From here, we generate a correct .tmp_kallsyms2.o
+# o The correct .tmp_kallsyms2.o is linked into the final vmlinux.
+# o Verify that the System.map from vmlinux matches the map from
+#   .tmp_vmlinux2, just in case we did not generate kallsyms correctly.
+# o If CONFIG_KALLSYMS_EXTRA_PASS is set, do an extra pass using
+#   .tmp_vmlinux3 and .tmp_kallsyms3.o.  This is only meant as a
+#   temporary bypass to allow the kernel to be built while the
+#   maintainers work out what went wrong with kallsyms.
+
+ifdef CONFIG_KALLSYMS_EXTRA_PASS
+last_kallsyms := 3
+else
+last_kallsyms := 2
+endif
+
+kallsyms.o := .tmp_kallsyms$(last_kallsyms).o
+
+define verify_kallsyms
+	$(Q)$(if $($(quiet)cmd_sysmap),                       \
+	  echo '  $($(quiet)cmd_sysmap) .tmp_System.map' &&)  \
+	  $(cmd_sysmap) .tmp_vmlinux$(last_kallsyms) .tmp_System.map
+	$(Q)cmp -s System.map .tmp_System.map ||              \
+		(echo Inconsistent kallsyms data;             \
+		 echo Try setting CONFIG_KALLSYMS_EXTRA_PASS; \
+		 rm .tmp_kallsyms* ; /bin/false )
+endef
+
+# Update vmlinux version before link
+# Use + in front of this rule to silent warning about make -j1
+cmd_ksym_ld = $(cmd_vmlinux__)
+define rule_ksym_ld
+	+$(call cmd,vmlinux_version)
+	$(call cmd,vmlinux__)
+	$(Q)echo 'cmd_$@ := $(cmd_vmlinux__)' > $(@D)/.$(@F).cmd
+endef
+
+# Generate .S file with all kernel symbols
+quiet_cmd_kallsyms = KSYM    $@
+      cmd_kallsyms = $(NM) -n $< | $(KALLSYMS) \
+                     $(if $(CONFIG_KALLSYMS_ALL),--all-symbols) > $@
+
+.tmp_kallsyms1.o .tmp_kallsyms2.o .tmp_kallsyms3.o: %.o: %.S scripts FORCE
+	$(call if_changed_dep,as_o_S)
+
+.tmp_kallsyms%.S: .tmp_vmlinux% $(KALLSYMS)
+	$(call cmd,kallsyms)
+
+# .tmp_vmlinux1 must be complete except kallsyms, so update vmlinux version
+.tmp_vmlinux1: $(vmlinux-lds) $(vmlinux-all) FORCE
+	$(call if_changed_rule,ksym_ld)
+
+.tmp_vmlinux2: $(vmlinux-lds) $(vmlinux-all) .tmp_kallsyms1.o FORCE
+	$(call if_changed,vmlinux__)
+
+.tmp_vmlinux3: $(vmlinux-lds) $(vmlinux-all) .tmp_kallsyms2.o FORCE
+	$(call if_changed,vmlinux__)
+
+# Needs to visit scripts/ before $(KALLSYMS) can be used.
+$(KALLSYMS): scripts ;
+
+endif # ifdef CONFIG_KALLSYMS
+
+# vmlinux image - including updated kernel symbols
+vmlinux: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) $(kallsyms.o) FORCE
+	$(call if_changed_rule,vmlinux__)
+
+# The actual objects are generated when descending, 
+# make sure no implicit rule kicks in
+$(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ;
+
+# Handle descending into subdirectories listed in $(vmlinux-dirs)
+# Preset locale variables to speed up the build process. Limit locale
+# tweaks to this spot to avoid wrong language settings when running
+# make menuconfig etc.
+# Error messages still appears in the original language
+
+.PHONY: $(vmlinux-dirs)
+$(vmlinux-dirs): prepare-all scripts
+	$(Q)$(MAKE) $(build)=$@
+
+# Things we need to do before we recursively start building the kernel
+# or the modules are listed in "prepare-all".
+# A multi level approach is used. prepare1 is updated first, then prepare0.
+# prepare-all is the collection point for the prepare targets.
+
+.PHONY: prepare-all prepare prepare0 prepare1 prepare2
+
+# prepare2 is used to check if we are building in a separate output directory,
+# and if so do:
+# 1) Check that make has not been executed in the kernel src $(srctree)
+# 2) Create the include2 directory, used for the second asm symlink
+
+prepare2:
+ifneq ($(KBUILD_SRC),)
+	@echo '  Using $(srctree) as source for kernel'
+	$(Q)if [ -h $(srctree)/include/asm -o -f $(srctree)/.config ]; then \
+		echo "  $(srctree) is not clean, please run 'make mrproper'";\
+		echo "  in the '$(srctree)' directory.";\
+		/bin/false; \
+	fi;
+	$(Q)if [ ! -d include2 ]; then mkdir -p include2; fi;
+	$(Q)ln -fsn $(srctree)/include/asm-$(ARCH) include2/asm
+endif
+
+# prepare1 creates a makefile if using a separate output directory
+prepare1: prepare2 outputmakefile
+
+prepare0: prepare1 include/linux/version.h include/asm include/config/MARKER
+ifneq ($(KBUILD_MODULES),)
+	$(Q)rm -rf $(MODVERDIR)
+	$(Q)mkdir -p $(MODVERDIR)
+endif
+
+# All the preparing..
+prepare-all: prepare0 prepare
+
+#	Leave this as default for preprocessing vmlinux.lds.S, which is now
+#	done in arch/$(ARCH)/kernel/Makefile
+
+export CPPFLAGS_vmlinux.lds += -P -C -U$(ARCH)
+
+# Single targets
+# ---------------------------------------------------------------------------
+
+%.s: %.c scripts FORCE
+	$(Q)$(MAKE) $(build)=$(@D) $@
+%.i: %.c scripts FORCE
+	$(Q)$(MAKE) $(build)=$(@D) $@
+%.o: %.c scripts FORCE
+	$(Q)$(MAKE) $(build)=$(@D) $@
+%/:      scripts prepare FORCE
+	$(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) $(build)=$(@D)
+%.lst: %.c scripts FORCE
+	$(Q)$(MAKE) $(build)=$(@D) $@
+%.s: %.S scripts FORCE
+	$(Q)$(MAKE) $(build)=$(@D) $@
+%.o: %.S scripts FORCE
+	$(Q)$(MAKE) $(build)=$(@D) $@
+
+# 	FIXME: The asm symlink changes when $(ARCH) changes. That's
+#	hard to detect, but I suppose "make mrproper" is a good idea
+#	before switching between archs anyway.
+
+include/asm:
+	@echo '  SYMLINK $@ -> include/asm-$(ARCH)'
+	$(Q)if [ ! -d include ]; then mkdir -p include; fi;
+	@ln -fsn asm-$(ARCH) $@
+
+# 	Split autoconf.h into include/linux/config/*
+
+include/config/MARKER: include/linux/autoconf.h
+	@echo '  SPLIT   include/linux/autoconf.h -> include/config/*'
+	@scripts/basic/split-include include/linux/autoconf.h include/config
+	@touch $@
+
+# Generate some files
+# ---------------------------------------------------------------------------
+
+# KERNELRELEASE can change from a few different places, meaning version.h
+# needs to be updated, so this check is forced on all builds
+
+uts_len := 64
+
+define filechk_version.h
+	if [ `echo -n "$(KERNELRELEASE)" | wc -c ` -gt $(uts_len) ]; then \
+	  echo '"$(KERNELRELEASE)" exceeds $(uts_len) characters' >&2; \
+	  exit 1; \
+	fi; \
+	(echo \#define UTS_RELEASE \"$(KERNELRELEASE)\"; \
+	  echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)`; \
+	 echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))'; \
+	)
+endef
+
+include/linux/version.h: $(srctree)/Makefile FORCE
+	$(call filechk,version.h)
+
+# ---------------------------------------------------------------------------
+
+.PHONY: depend dep
+depend dep:
+	@echo '*** Warning: make $@ is unnecessary now.'
+
+# ---------------------------------------------------------------------------
+# Modules
+
+ifdef CONFIG_MODULES
+
+# 	By default, build modules as well
+
+all: modules
+
+#	Build modules
+
+.PHONY: modules
+modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux)
+	@echo '  Building modules, stage 2.';
+	$(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.modpost
+
+
+# Target to prepare building external modules
+.PHONY: modules_prepare
+modules_prepare: prepare-all scripts
+
+# Target to install modules
+.PHONY: modules_install
+modules_install: _modinst_ _modinst_post
+
+.PHONY: _modinst_
+_modinst_:
+	@if [ -z "`$(DEPMOD) -V | grep module-init-tools`" ]; then \
+		echo "Warning: you may need to install module-init-tools"; \
+		echo "See http://www.codemonkey.org.uk/docs/post-halloween-2.6.txt";\
+		sleep 1; \
+	fi
+	@rm -rf $(MODLIB)/kernel
+	@rm -f $(MODLIB)/source
+	@mkdir -p $(MODLIB)/kernel
+	@ln -s $(srctree) $(MODLIB)/source
+	@if [ ! $(objtree) -ef  $(MODLIB)/build ]; then \
+		rm -f $(MODLIB)/build ; \
+		ln -s $(objtree) $(MODLIB)/build ; \
+	fi
+	$(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.modinst
+
+# If System.map exists, run depmod.  This deliberately does not have a
+# dependency on System.map since that would run the dependency tree on
+# vmlinux.  This depmod is only for convenience to give the initial
+# boot a modules.dep even before / is mounted read-write.  However the
+# boot script depmod is the master version.
+ifeq "$(strip $(INSTALL_MOD_PATH))" ""
+depmod_opts	:=
+else
+depmod_opts	:= -b $(INSTALL_MOD_PATH) -r
+endif
+.PHONY: _modinst_post
+_modinst_post: _modinst_
+	if [ -r System.map ]; then $(DEPMOD) -ae -F System.map $(depmod_opts) $(KERNELRELEASE); fi
+
+else # CONFIG_MODULES
+
+# Modules not configured
+# ---------------------------------------------------------------------------
+
+modules modules_install: FORCE
+	@echo
+	@echo "The present kernel configuration has modules disabled."
+	@echo "Type 'make config' and enable loadable module support."
+	@echo "Then build a kernel with module support enabled."
+	@echo
+	@exit 1
+
+endif # CONFIG_MODULES
+
+# Generate asm-offsets.h 
+# ---------------------------------------------------------------------------
+
+define filechk_gen-asm-offsets
+	(set -e; \
+	 echo "#ifndef __ASM_OFFSETS_H__"; \
+	 echo "#define __ASM_OFFSETS_H__"; \
+	 echo "/*"; \
+	 echo " * DO NOT MODIFY."; \
+	 echo " *"; \
+	 echo " * This file was generated by arch/$(ARCH)/Makefile"; \
+	 echo " *"; \
+	 echo " */"; \
+	 echo ""; \
+	 sed -ne "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}"; \
+	 echo ""; \
+	 echo "#endif" )
+endef
+
+
+###
+# Cleaning is done on three levels.
+# make clean     Delete most generated files
+#                Leave enough to build external modules
+# make mrproper  Delete the current configuration, and all generated files
+# make distclean Remove editor backup files, patch leftover files and the like
+
+# Directories & files removed with 'make clean'
+CLEAN_DIRS  += $(MODVERDIR)
+CLEAN_FILES +=	vmlinux System.map \
+                .tmp_kallsyms* .tmp_version .tmp_vmlinux* .tmp_System.map
+
+# Directories & files removed with 'make mrproper'
+MRPROPER_DIRS  += include/config include2
+MRPROPER_FILES += .config .config.old include/asm .version \
+                  include/linux/autoconf.h include/linux/version.h \
+                  Module.symvers tags TAGS cscope*
+
+# clean - Delete most, but leave enough to build external modules
+#
+clean: rm-dirs  := $(CLEAN_DIRS)
+clean: rm-files := $(CLEAN_FILES)
+clean-dirs      := $(addprefix _clean_,$(vmlinux-alldirs))
+
+.PHONY: $(clean-dirs) clean archclean
+$(clean-dirs):
+	$(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@)
+
+clean: archclean $(clean-dirs)
+	$(call cmd,rmdirs)
+	$(call cmd,rmfiles)
+	@find . $(RCS_FIND_IGNORE) \
+	 	\( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \
+		-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \) \
+		-type f -print | xargs rm -f
+
+# mrproper - Delete all generated files, including .config
+#
+mrproper: rm-dirs  := $(wildcard $(MRPROPER_DIRS))
+mrproper: rm-files := $(wildcard $(MRPROPER_FILES))
+mrproper-dirs      := $(addprefix _mrproper_,Documentation/DocBook scripts)
+
+.PHONY: $(mrproper-dirs) mrproper archmrproper
+$(mrproper-dirs):
+	$(Q)$(MAKE) $(clean)=$(patsubst _mrproper_%,%,$@)
+
+mrproper: clean archmrproper $(mrproper-dirs)
+	$(call cmd,rmdirs)
+	$(call cmd,rmfiles)
+
+# distclean
+#
+.PHONY: distclean
+
+distclean: mrproper
+	@find $(srctree) $(RCS_FIND_IGNORE) \
+	 	\( -name '*.orig' -o -name '*.rej' -o -name '*~' \
+		-o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
+	 	-o -name '.*.rej' -o -size 0 \
+		-o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \
+		-type f -print | xargs rm -f
+
+
+# Packaging of the kernel to various formats
+# ---------------------------------------------------------------------------
+# rpm target kept for backward compatibility
+package-dir	:= $(srctree)/scripts/package
+
+.PHONY: %-pkg rpm
+
+%pkg: FORCE
+	$(Q)$(MAKE) -f $(package-dir)/Makefile $@
+rpm: FORCE
+	$(Q)$(MAKE) -f $(package-dir)/Makefile $@
+
+
+# Brief documentation of the typical targets used
+# ---------------------------------------------------------------------------
+
+boards := $(wildcard $(srctree)/arch/$(ARCH)/configs/*_defconfig)
+boards := $(notdir $(boards))
+
+help:
+	@echo  'Cleaning targets:'
+	@echo  '  clean		  - remove most generated files but keep the config'
+	@echo  '  mrproper	  - remove all generated files + config + various backup files'
+	@echo  ''
+	@echo  'Configuration targets:'
+	@$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help
+	@echo  ''
+	@echo  'Other generic targets:'
+	@echo  '  all		  - Build all targets marked with [*]'
+	@echo  '* vmlinux	  - Build the bare kernel'
+	@echo  '* modules	  - Build all modules'
+	@echo  '  modules_install - Install all modules'
+	@echo  '  dir/            - Build all files in dir and below'
+	@echo  '  dir/file.[ois]  - Build specified target only'
+	@echo  '  rpm		  - Build a kernel as an RPM package'
+	@echo  '  tags/TAGS	  - Generate tags file for editors'
+	@echo  '  cscope	  - Generate cscope index'
+	@echo  ''
+	@echo  'Static analysers'
+	@echo  '  buildcheck      - List dangling references to vmlinux discarded sections'
+	@echo  '                    and init sections from non-init sections'
+	@echo  '  checkstack      - Generate a list of stack hogs'
+	@echo  '  namespacecheck  - Name space analysis on compiled kernel'
+	@echo  ''
+	@echo  'Kernel packaging:'
+	@$(MAKE) -f $(package-dir)/Makefile help
+	@echo  ''
+	@echo  'Documentation targets:'
+	@$(MAKE) -f $(srctree)/Documentation/DocBook/Makefile dochelp
+	@echo  ''
+	@echo  'Architecture specific targets ($(ARCH)):'
+	@$(if $(archhelp),$(archhelp),\
+		echo '  No architecture specific help defined for $(ARCH)')
+	@echo  ''
+	@$(if $(boards), \
+		$(foreach b, $(boards), \
+		printf "  %-24s - Build for %s\\n" $(b) $(subst _defconfig,,$(b));) \
+		echo '')
+
+	@echo  '  make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build'
+	@echo  '  make O=dir [targets] Locate all output files in "dir", including .config'
+	@echo  '  make C=1   [targets] Check all c source with $$CHECK (sparse)'
+	@echo  '  make C=2   [targets] Force check of all c source with $$CHECK (sparse)'
+	@echo  ''
+	@echo  'Execute "make" or "make all" to build all targets marked with [*] '
+	@echo  'For further info see the ./README file'
+
+
+# Documentation targets
+# ---------------------------------------------------------------------------
+%docs: scripts_basic FORCE
+	$(Q)$(MAKE) $(build)=Documentation/DocBook $@
+
+else # KBUILD_EXTMOD
+
+###
+# External module support.
+# When building external modules the kernel used as basis is considered
+# read-only, and no consistency checks are made and the make
+# system is not used on the basis kernel. If updates are required
+# in the basis kernel ordinary make commands (without M=...) must
+# be used.
+#
+# The following are the only valid targets when building external
+# modules.
+# make M=dir clean     Delete all automatically generated files
+# make M=dir modules   Make all modules in specified dir
+# make M=dir	       Same as 'make M=dir modules'
+# make M=dir modules_install
+#                      Install the modules build in the module directory
+#                      Assumes install directory is already created
+
+# We are always building modules
+KBUILD_MODULES := 1
+.PHONY: crmodverdir
+crmodverdir:
+	$(Q)mkdir -p $(MODVERDIR)
+
+module-dirs := $(addprefix _module_,$(KBUILD_EXTMOD))
+.PHONY: $(module-dirs) modules
+$(module-dirs): crmodverdir
+	$(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@)
+
+modules: $(module-dirs)
+	@echo '  Building modules, stage 2.';
+	$(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.modpost
+
+.PHONY: modules_install
+modules_install:
+	$(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.modinst
+
+clean-dirs := $(addprefix _clean_,$(KBUILD_EXTMOD))
+
+.PHONY: $(clean-dirs) clean
+$(clean-dirs):
+	$(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@)
+
+clean:	rm-dirs := $(MODVERDIR)
+clean: $(clean-dirs)
+	$(call cmd,rmdirs)
+	@find $(KBUILD_EXTMOD) $(RCS_FIND_IGNORE) \
+	 	\( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \
+		-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \) \
+		-type f -print | xargs rm -f
+
+help:
+	@echo  '  Building external modules.'
+	@echo  '  Syntax: make -C path/to/kernel/src M=$$PWD target'
+	@echo  ''
+	@echo  '  modules         - default target, build the module(s)'
+	@echo  '  modules_install - install the module'
+	@echo  '  clean           - remove generated files in module directory only'
+	@echo  ''
+endif # KBUILD_EXTMOD
+
+# Generate tags for editors
+# ---------------------------------------------------------------------------
+
+define all-sources
+	( find $(srctree) $(RCS_FIND_IGNORE) \
+	       \( -name include -o -name arch \) -prune -o \
+	       -name '*.[chS]' -print; \
+	  find $(srctree)/arch/$(ARCH) $(RCS_FIND_IGNORE) \
+	       -name '*.[chS]' -print; \
+	  find $(srctree)/security/selinux/include $(RCS_FIND_IGNORE) \
+	       -name '*.[chS]' -print; \
+	  find $(srctree)/include $(RCS_FIND_IGNORE) \
+	       \( -name config -o -name 'asm-*' \) -prune \
+	       -o -name '*.[chS]' -print; \
+	  find $(srctree)/include/asm-$(ARCH) $(RCS_FIND_IGNORE) \
+	       -name '*.[chS]' -print; \
+	  find $(srctree)/include/asm-generic $(RCS_FIND_IGNORE) \
+	       -name '*.[chS]' -print )
+endef
+
+quiet_cmd_cscope-file = FILELST cscope.files
+      cmd_cscope-file = $(all-sources) > cscope.files
+
+quiet_cmd_cscope = MAKE    cscope.out
+      cmd_cscope = cscope -k -b -q
+
+cscope: FORCE
+	$(call cmd,cscope-file)
+	$(call cmd,cscope)
+
+quiet_cmd_TAGS = MAKE   $@
+cmd_TAGS = $(all-sources) | etags -
+
+# 	Exuberant ctags works better with -I
+
+quiet_cmd_tags = MAKE   $@
+define cmd_tags
+	rm -f $@; \
+	CTAGSF=`ctags --version | grep -i exuberant >/dev/null && echo "-I __initdata,__exitdata,EXPORT_SYMBOL,EXPORT_SYMBOL_NOVERS"`; \
+	$(all-sources) | xargs ctags $$CTAGSF -a
+endef
+
+TAGS: FORCE
+	$(call cmd,TAGS)
+
+tags: FORCE
+	$(call cmd,tags)
+
+
+# Scripts to check various things for consistency
+# ---------------------------------------------------------------------------
+
+configcheck:
+	find * $(RCS_FIND_IGNORE) \
+		-name '*.[hcS]' -type f -print | sort \
+		| xargs $(PERL) -w scripts/checkconfig.pl
+
+includecheck:
+	find * $(RCS_FIND_IGNORE) \
+		-name '*.[hcS]' -type f -print | sort \
+		| xargs $(PERL) -w scripts/checkincludes.pl
+
+versioncheck:
+	find * $(RCS_FIND_IGNORE) \
+		-name '*.[hcS]' -type f -print | sort \
+		| xargs $(PERL) -w scripts/checkversion.pl
+
+buildcheck:
+	$(PERL) $(srctree)/scripts/reference_discarded.pl
+	$(PERL) $(srctree)/scripts/reference_init.pl
+
+namespacecheck:
+	$(PERL) $(srctree)/scripts/namespace.pl
+
+endif #ifeq ($(config-targets),1)
+endif #ifeq ($(mixed-targets),1)
+
+.PHONY: checkstack
+checkstack:
+	$(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \
+	$(PERL) $(src)/scripts/checkstack.pl $(ARCH)
+
+# FIXME Should go into a make.lib or something 
+# ===========================================================================
+
+quiet_cmd_rmdirs = $(if $(wildcard $(rm-dirs)),CLEAN   $(wildcard $(rm-dirs)))
+      cmd_rmdirs = rm -rf $(rm-dirs)
+
+quiet_cmd_rmfiles = $(if $(wildcard $(rm-files)),CLEAN   $(wildcard $(rm-files)))
+      cmd_rmfiles = rm -f $(rm-files)
+
+
+a_flags = -Wp,-MD,$(depfile) $(AFLAGS) $(AFLAGS_KERNEL) \
+	  $(NOSTDINC_FLAGS) $(CPPFLAGS) \
+	  $(modkern_aflags) $(EXTRA_AFLAGS) $(AFLAGS_$(*F).o)
+
+quiet_cmd_as_o_S = AS      $@
+cmd_as_o_S       = $(CC) $(a_flags) -c -o $@ $<
+
+# read all saved command lines
+
+targets := $(wildcard $(sort $(targets)))
+cmd_files := $(wildcard .*.cmd $(foreach f,$(targets),$(dir $(f)).$(notdir $(f)).cmd))
+
+ifneq ($(cmd_files),)
+  $(cmd_files): ;	# Do not try to update included dependency files
+  include $(cmd_files)
+endif
+
+# Execute command and generate cmd file
+if_changed = $(if $(strip $? \
+		          $(filter-out $(cmd_$(1)),$(cmd_$@))\
+			  $(filter-out $(cmd_$@),$(cmd_$(1)))),\
+	@set -e; \
+	$(if $($(quiet)cmd_$(1)),echo '  $(subst ','\'',$($(quiet)cmd_$(1)))';) \
+	$(cmd_$(1)); \
+	echo 'cmd_$@ := $(subst $$,$$$$,$(subst ','\'',$(cmd_$(1))))' > $(@D)/.$(@F).cmd)
+
+
+# execute the command and also postprocess generated .d dependencies
+# file
+if_changed_dep = $(if $(strip $? $(filter-out FORCE $(wildcard $^),$^)\
+		          $(filter-out $(cmd_$(1)),$(cmd_$@))\
+			  $(filter-out $(cmd_$@),$(cmd_$(1)))),\
+	$(Q)set -e; \
+	$(if $($(quiet)cmd_$(1)),echo '  $(subst ','\'',$($(quiet)cmd_$(1)))';) \
+	$(cmd_$(1)); \
+	scripts/basic/fixdep $(depfile) $@ '$(subst $$,$$$$,$(subst ','\'',$(cmd_$(1))))' > $(@D)/.$(@F).tmp; \
+	rm -f $(depfile); \
+	mv -f $(@D)/.$(@F).tmp $(@D)/.$(@F).cmd)
+
+# Usage: $(call if_changed_rule,foo)
+# will check if $(cmd_foo) changed, or any of the prequisites changed,
+# and if so will execute $(rule_foo)
+
+if_changed_rule = $(if $(strip $? \
+		               $(filter-out $(cmd_$(1)),$(cmd_$(@F)))\
+			       $(filter-out $(cmd_$(@F)),$(cmd_$(1)))),\
+	               $(Q)$(rule_$(1)))
+
+# If quiet is set, only print short version of command
+
+cmd = @$(if $($(quiet)cmd_$(1)),echo '  $($(quiet)cmd_$(1))' &&) $(cmd_$(1))
+
+# filechk is used to check if the content of a generated file is updated.
+# Sample usage:
+# define filechk_sample
+#	echo $KERNELRELEASE
+# endef
+# version.h : Makefile
+#	$(call filechk,sample)
+# The rule defined shall write to stdout the content of the new file.
+# The existing file will be compared with the new one.
+# - If no file exist it is created
+# - If the content differ the new file is used
+# - If they are equal no change, and no timestamp update
+
+define filechk
+	@set -e;				\
+	echo '  CHK     $@';			\
+	mkdir -p $(dir $@);			\
+	$(filechk_$(1)) < $< > $@.tmp;		\
+	if [ -r $@ ] && cmp -s $@ $@.tmp; then	\
+		rm -f $@.tmp;			\
+	else					\
+		echo '  UPD     $@';		\
+		mv -f $@.tmp $@;		\
+	fi
+endef
+
+# Shorthand for $(Q)$(MAKE) -f scripts/Makefile.build obj=dir
+# Usage:
+# $(Q)$(MAKE) $(build)=dir
+build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj
+
+# Shorthand for $(Q)$(MAKE) -f scripts/Makefile.clean obj=dir
+# Usage:
+# $(Q)$(MAKE) $(clean)=dir
+clean := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.clean obj
+
+#	$(call descend,<dir>,<target>)
+#	Recursively call a sub-make in <dir> with target <target>
+# Usage is deprecated, because make does not see this as an invocation of make.
+descend =$(Q)$(MAKE) -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj=$(1) $(2)
+
+endif	# skip-makefile
+
+FORCE:
diff -Nru linux-2.6.10/Module.symvers linux-2.6.10-h1940/Module.symvers
--- linux-2.6.10/Module.symvers	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/Module.symvers	2005-01-17 18:58:33.000000000 +0000
@@ -0,0 +1,2111 @@
+0x00000000	firmware_unregister	vmlinux
+0x00000000	set_anon_super	vmlinux
+0x00000000	kmem_cache_alloc	vmlinux
+0x00000000	unblock_all_signals	vmlinux
+0x00000000	csum_partial	vmlinux
+0x00000000	fat__get_entry	fs/fat/fat
+0x00000000	__generic_unplug_device	vmlinux
+0x00000000	rpciod_up	net/sunrpc/sunrpc
+0x00000000	cap_bset	vmlinux
+0x00000000	device_del	vmlinux
+0x00000000	device_add	vmlinux
+0x00000000	profile_event_unregister	vmlinux
+0x00000000	krb5_decrypt	net/sunrpc/auth_gss/auth_rpcgss
+0x00000000	sock_no_mmap	vmlinux
+0x00000000	net_enable_timestamp	vmlinux
+0x00000000	sockfd_lookup	vmlinux
+0x00000000	fb_validate_mode	vmlinux
+0x00000000	g_token_size	net/sunrpc/auth_gss/auth_rpcgss
+0x00000000	sync_page_range_nolock	vmlinux
+0x00000000	elv_try_last_merge	vmlinux
+0x00000000	fb_videomode_to_var	vmlinux
+0x00000000	default_wake_function	vmlinux
+0x00000000	iget_locked	vmlinux
+0x00000000	iowrite8_rep	vmlinux
+0x00000000	class_interface_register	vmlinux
+0x00000000	test_clear_page_dirty	vmlinux
+0x00000000	rpc_new_task	net/sunrpc/sunrpc
+0x00000000	irda_param_unpack	vmlinux
+0x00000000	class_interface_unregister	vmlinux
+0x00000000	xdr_encode_netobj	net/sunrpc/sunrpc
+0x00000000	tty_register_device	vmlinux
+0x00000000	find_bus	vmlinux
+0x00000000	steal_locks	vmlinux
+0x00000000	param_get_string	vmlinux
+0x00000000	memmove	vmlinux
+0x00000000	irias_new_string_value	vmlinux
+0x00000000	blk_congestion_wait	vmlinux
+0x00000000	laptop_mode	vmlinux
+0x00000000	generic_file_direct_write	vmlinux
+0x00000000	end_page_writeback	vmlinux
+0x00000000	skb_recv_datagram	vmlinux
+0x00000000	class_get	vmlinux
+0x00000000	generic_file_readonly_mmap	vmlinux
+0x00000000	register_console	vmlinux
+0x00000000	ip_finish_output	vmlinux
+0x00000000	sock_no_socketpair	vmlinux
+0x00000000	gnet_stats_start_copy	vmlinux
+0x00000000	__arch_clear_user	vmlinux
+0x00000000	fat_new_dir	fs/fat/fat
+0x00000000	driver_find	vmlinux
+0x00000000	lock_may_read	vmlinux
+0x00000000	load_nls	vmlinux
+0x00000000	posix_locks_deadlock	vmlinux
+0x00000000	free_dma	vmlinux
+0x00000000	xdr_init_decode	net/sunrpc/sunrpc
+0x00000000	device_unregister	vmlinux
+0x00000000	mmc_cleanup_queue	vmlinux
+0x00000000	I_BDEV	vmlinux
+0x00000000	__arch_strncpy_from_user	vmlinux
+0x00000000	find_or_create_page	vmlinux
+0x00000000	kblockd_flush	vmlinux
+0x00000000	invalidate_bdev	vmlinux
+0x00000000	num_registered_fb	vmlinux
+0x00000000	kobject_uevent	vmlinux
+0x00000000	xdr_buf_from_iov	net/sunrpc/sunrpc
+0x00000000	class_device_initialize	vmlinux
+0x00000000	blk_cleanup_queue	vmlinux
+0x00000000	tty_hung_up_p	vmlinux
+0x00000000	__blk_attempt_remerge	vmlinux
+0x00000000	mpage_writepages	vmlinux
+0x00000000	write_one_page	vmlinux
+0x00000000	nlmsvc_ops	fs/lockd/lockd
+0x00000000	inet_add_protocol	vmlinux
+0x00000000	sync_blockdev	vmlinux
+0x00000000	__lshrdi3	vmlinux
+0x00000000	__ashrdi3	vmlinux
+0x00000000	rtnl_unlock	vmlinux
+0x00000000	sock_rfree	vmlinux
+0x00000000	kernel_recvmsg	vmlinux
+0x00000000	freeze_bdev	vmlinux
+0x00000000	bd_release	vmlinux
+0x00000000	param_get_long	vmlinux
+0x00000000	pgprot_kernel	vmlinux
+0x00000000	skb_copy_datagram_iovec	vmlinux
+0x00000000	__kfree_skb	vmlinux
+0x00000000	csum_partial_copy_nocheck	vmlinux
+0x00000000	ip_defrag	vmlinux
+0x00000000	skb_copy_datagram	vmlinux
+0x00000000	generic_file_aio_read	vmlinux
+0x00000000	free_netdev	vmlinux
+0x00000000	register_binfmt	vmlinux
+0x00000000	gss_mech_get_by_pseudoflavor	net/sunrpc/auth_gss/auth_rpcgss
+0x00000000	zlib_inflateIncomp	vmlinux
+0x00000000	idr_pre_get	vmlinux
+0x00000000	sigprocmask	vmlinux
+0x00000000	sk_stream_wait_connect	vmlinux
+0x00000000	do_mmap_pgoff	vmlinux
+0x00000000	sysctl_tcp_rmem	vmlinux
+0x00000000	sock_no_sendmsg	vmlinux
+0x00000000	nand_flash_ids	vmlinux
+0x00000000	vfs_unlink	vmlinux
+0x00000000	s3c_device_lcd	vmlinux
+0x00000000	bus_rescan_devices	vmlinux
+0x00000000	put_tty_driver	vmlinux
+0x00000000	ioport_resource	vmlinux
+0x00000000	rtnl_lock	vmlinux
+0x00000000	fonts	vmlinux
+0x00000000	system_state	vmlinux
+0x00000000	rpciod_down	net/sunrpc/sunrpc
+0x00000000	csum_partial_copy_fromiovecend	vmlinux
+0x00000000	con_set_default_unimap	vmlinux
+0x00000000	dev_get_by_index	vmlinux
+0x00000000	mtd_do_chip_probe	vmlinux
+0x00000000	ioctl_by_bdev	vmlinux
+0x00000000	class_device_add	vmlinux
+0x00000000	generic_delete_inode	vmlinux
+0x00000000	sk_stream_rfree	vmlinux
+0x00000000	kref_put	vmlinux
+0x00000000	mmc_wait_for_req	vmlinux
+0x00000000	blk_run_queue	vmlinux
+0x00000000	zlib_deflate	lib/zlib_deflate/zlib_deflate
+0x00000000	irda_param_pack	vmlinux
+0x00000000	irlmp_reasons	vmlinux
+0x00000000	tcp_unhash	vmlinux
+0x00000000	alloc_skb	vmlinux
+0x00000000	wake_bit_function	vmlinux
+0x00000000	bus_remove_file	vmlinux
+0x00000000	mempool_resize	vmlinux
+0x00000000	in_dev_finish_destroy	vmlinux
+0x00000000	secure_tcp_sequence_number	vmlinux
+0x00000000	bio_map_user	vmlinux
+0x00000000	cpu_cache	vmlinux
+0x00000000	__brelse	vmlinux
+0x00000000	mark_buffer_async_write	vmlinux
+0x00000000	inet_sock_destruct	vmlinux
+0x00000000	mmc_add_host	vmlinux
+0x00000000	blk_unregister_region	vmlinux
+0x00000000	unregister_nls	vmlinux
+0x00000000	clk_enable	vmlinux
+0x00000000	__csum_ipv6_magic	vmlinux
+0x00000000	add_mouse_randomness	vmlinux
+0x00000000	malloc_sizes	vmlinux
+0x00000000	radix_tree_gang_lookup	vmlinux
+0x00000000	register_nls	vmlinux
+0x00000000	probe_irq_on	vmlinux
+0x00000000	tcp_parse_options	vmlinux
+0x00000000	elv_remove_request	vmlinux
+0x00000000	rpc_unlink	net/sunrpc/sunrpc
+0x00000000	irlmp_discovery_request	vmlinux
+0x00000000	module_refcount	vmlinux
+0x00000000	console_unblank	vmlinux
+0x00000000	strsep	vmlinux
+0x00000000	___pskb_trim	vmlinux
+0x00000000	fb_match_mode	vmlinux
+0x00000000	iomem_resource	vmlinux
+0x00000000	__put_user_4	vmlinux
+0x00000000	__get_user_4	vmlinux
+0x00000000	strcmp	vmlinux
+0x00000000	vfs_create	vmlinux
+0x00000000	mtd_erase_callback	vmlinux
+0x00000000	sb_min_blocksize	vmlinux
+0x00000000	register_module_notifier	vmlinux
+0x00000000	irda_unregister_dongle	vmlinux
+0x00000000	unregister_sysctl_table	vmlinux
+0x00000000	del_gendisk	vmlinux
+0x00000000	dcache_lock	vmlinux
+0x00000000	block_write_full_page	vmlinux
+0x00000000	lockd_up	fs/lockd/lockd
+0x00000000	__skb_linearize	vmlinux
+0x00000000	sock_no_setsockopt	vmlinux
+0x00000000	sock_no_getsockopt	vmlinux
+0x00000000	__blockdev_direct_IO	vmlinux
+0x00000000	__down_read_trylock	vmlinux
+0x00000000	generic_block_bmap	vmlinux
+0x00000000	__symbol_get	vmlinux
+0x00000000	devfs_remove	vmlinux
+0x00000000	kmem_cache_free	vmlinux
+0x00000000	lookup_hash	vmlinux
+0x00000000	prepare_to_wait	vmlinux
+0x00000000	__request_region	vmlinux
+0x00000000	bdev_read_only	vmlinux
+0x00000000	fat_date_unix2dos	fs/fat/fat
+0x00000000	irda_param_extract_all	vmlinux
+0x00000000	sock_wfree	vmlinux
+0x00000000	test_set_page_writeback	vmlinux
+0x00000000	qdisc_destroy	vmlinux
+0x00000000	devfs_mk_dir	vmlinux
+0x00000000	files_stat	vmlinux
+0x00000000	truncate_inode_pages	vmlinux
+0x00000000	input_flush_device	vmlinux
+0x00000000	num_physpages	vmlinux
+0x00000000	class_device_register	vmlinux
+0x00000000	sysfs_create_file	vmlinux
+0x00000000	seq_lseek	vmlinux
+0x00000000	strpbrk	vmlinux
+0x00000000	apm_queue_event	vmlinux
+0x00000000	bitmap_find_free_region	vmlinux
+0x00000000	cache_fresh	net/sunrpc/sunrpc
+0x00000000	cache_flush	net/sunrpc/sunrpc
+0x00000000	journal_invalidatepage	fs/jbd/jbd
+0x00000000	set_disk_ro	vmlinux
+0x00000000	do_softirq	vmlinux
+0x00000000	tcp_create_openreq_child	vmlinux
+0x00000000	sk_common_release	vmlinux
+0x00000000	skb_queue_head	vmlinux
+0x00000000	sk_reset_timer	vmlinux
+0x00000000	_change_bit_le	vmlinux
+0x00000000	release_sock	vmlinux
+0x00000000	class_remove_file	vmlinux
+0x00000000	sync_inode	vmlinux
+0x00000000	unmap_underlying_metadata	vmlinux
+0x00000000	input_register_device	vmlinux
+0x00000000	__invalidate_device	vmlinux
+0x00000000	sysctl_tcp_low_latency	vmlinux
+0x00000000	blk_queue_free_tags	vmlinux
+0x00000000	blk_max_low_pfn	vmlinux
+0x00000000	simple_sync_file	vmlinux
+0x00000000	notifier_chain_unregister	vmlinux
+0x00000000	register_sysctl_table	vmlinux
+0x00000000	request_irq	vmlinux
+0x00000000	cap_task_reparent_to_init	vmlinux
+0x00000000	irias_add_string_attrib	vmlinux
+0x00000000	tty_flip_buffer_push	vmlinux
+0x00000000	uart_get_divisor	vmlinux
+0x00000000	msleep	vmlinux
+0x00000000	unregister_netdev	vmlinux
+0x00000000	__bforget	vmlinux
+0x00000000	xdr_reserve_space	net/sunrpc/sunrpc
+0x00000000	sock_no_listen	vmlinux
+0x00000000	get_random_bytes	vmlinux
+0x00000000	probe_irq_off	vmlinux
+0x00000000	rpcauth_unregister	net/sunrpc/sunrpc
+0x00000000	sock_no_poll	vmlinux
+0x00000000	apm_get_power_status	vmlinux
+0x00000000	vlan_ioctl_set	vmlinux
+0x00000000	iov_shorten	vmlinux
+0x00000000	__arch_copy_from_user	vmlinux
+0x00000000	cap_inode_setxattr	vmlinux
+0x00000000	irda_device_register_dongle	vmlinux
+0x00000000	irttp_data_request	vmlinux
+0x00000000	irlmp_data_request	vmlinux
+0x00000000	devfs_unregister_tape	vmlinux
+0x00000000	remove_arg_zero	vmlinux
+0x00000000	remap_pfn_range	vmlinux
+0x00000000	device_bind_driver	vmlinux
+0x00000000	fp_printk	vmlinux
+0x00000000	nand_correct_data	vmlinux
+0x00000000	mb_cache_entry_alloc	vmlinux
+0x00000000	rpc_wake_up_status	net/sunrpc/sunrpc
+0x00000000	put_cmsg	vmlinux
+0x00000000	skb_free_datagram	vmlinux
+0x00000000	filp_close	vmlinux
+0x00000000	svcauth_gss_register_pseudoflavor	net/sunrpc/auth_gss/auth_rpcgss
+0x00000000	tty_std_termios	vmlinux
+0x00000000	generic_readlink	vmlinux
+0x00000000	zlib_deflateParams	lib/zlib_deflate/zlib_deflate
+0x00000000	ether_setup	vmlinux
+0x00000000	elv_requeue_request	vmlinux
+0x00000000	device_create_file	vmlinux
+0x00000000	__break_lease	vmlinux
+0x00000000	param_set_bool	vmlinux
+0x00000000	force_sig	vmlinux
+0x00000000	__downgrade_write	vmlinux
+0x00000000	d_path	vmlinux
+0x00000000	__umoddi3	vmlinux
+0x00000000	igrab	vmlinux
+0x00000000	per_cpu__softnet_data	vmlinux
+0x00000000	sock_recvmsg	vmlinux
+0x00000000	system_utsname	vmlinux
+0x00000000	linkwatch_fire_event	vmlinux
+0x00000000	nand_calculate_ecc	vmlinux
+0x00000000	kfifo_alloc	vmlinux
+0x00000000	set_dma_page	vmlinux
+0x00000000	rpc_queue_upcall	net/sunrpc/sunrpc
+0x00000000	set_dma_sg	vmlinux
+0x00000000	uart_write_wakeup	vmlinux
+0x00000000	skb_append	vmlinux
+0x00000000	schedule_delayed_work_on	vmlinux
+0x00000000	sk_stream_error	vmlinux
+0x00000000	sget	vmlinux
+0x00000000	memset	vmlinux
+0x00000000	blk_queue_max_hw_segments	vmlinux
+0x00000000	skb_iter_abort	vmlinux
+0x00000000	mark_mounts_for_expiry	vmlinux
+0x00000000	_find_next_bit_le	vmlinux
+0x00000000	__arch_copy_to_user	vmlinux
+0x00000000	irias_add_integer_attrib	vmlinux
+0x00000000	register_chrdev	vmlinux
+0x00000000	idr_get_new_above	vmlinux
+0x00000000	cap_capable	vmlinux
+0x00000000	rpc_create_client	net/sunrpc/sunrpc
+0x00000000	misc_register	vmlinux
+0x00000000	may_umount_tree	vmlinux
+0x00000000	block_invalidatepage	vmlinux
+0x00000000	tty_ldisc_ref	vmlinux
+0x00000000	xdr_decode_netobj	net/sunrpc/sunrpc
+0x00000000	ethtool_op_set_tso	vmlinux
+0x00000000	do_generic_mapping_read	vmlinux
+0x00000000	inode_set_bytes	vmlinux
+0x00000000	inode_sub_bytes	vmlinux
+0x00000000	arp_xmit	vmlinux
+0x00000000	neigh_add	vmlinux
+0x00000000	__dev_get_by_index	vmlinux
+0x00000000	__create_workqueue	vmlinux
+0x00000000	securebits	vmlinux
+0x00000000	qword_add	net/sunrpc/sunrpc
+0x00000000	clk_get	vmlinux
+0x00000000	sysctl_tcp_ecn	vmlinux
+0x00000000	sysctl_tcp_mem	vmlinux
+0x00000000	ethtool_op_set_tx_csum	vmlinux
+0x00000000	blk_attempt_remerge	vmlinux
+0x00000000	kfifo_free	vmlinux
+0x00000000	rb_prev	vmlinux
+0x00000000	unregister_framebuffer	vmlinux
+0x00000000	__const_udelay	vmlinux
+0x00000000	handle_sysrq	vmlinux
+0x00000000	utf8_mbstowcs	vmlinux
+0x00000000	register_reboot_notifier	vmlinux
+0x00000000	tcp_sockets_allocated	vmlinux
+0x00000000	add_mtd_partitions	vmlinux
+0x00000000	con_copy_unimap	vmlinux
+0x00000000	tty_ldisc_ref_wait	vmlinux
+0x00000000	block_commit_write	vmlinux
+0x00000000	journal_get_undo_access	fs/jbd/jbd
+0x00000000	class_device_remove_file	vmlinux
+0x00000000	fb_set_suspend	vmlinux
+0x00000000	dput	vmlinux
+0x00000000	rpc_proc_unregister	net/sunrpc/sunrpc
+0x00000000	rpc_delay	net/sunrpc/sunrpc
+0x00000000	tcp_v4_remember_stamp	vmlinux
+0x00000000	device_power_up	vmlinux
+0x00000000	nobh_commit_write	vmlinux
+0x00000000	sk_free	vmlinux
+0x00000000	kobject_init	vmlinux
+0x00000000	flush_workqueue	vmlinux
+0x00000000	sleep_on	vmlinux
+0x00000000	irias_new_integer_value	vmlinux
+0x00000000	proc_bus	vmlinux
+0x00000000	simple_lookup	vmlinux
+0x00000000	netlink_register_notifier	vmlinux
+0x00000000	unlock_rename	vmlinux
+0x00000000	devfs_mk_cdev	vmlinux
+0x00000000	devfs_mk_bdev	vmlinux
+0x00000000	simple_rmdir	vmlinux
+0x00000000	free_task	vmlinux
+0x00000000	fat_dir_empty	fs/fat/fat
+0x00000000	irttp_disconnect_request	vmlinux
+0x00000000	irlmp_disconnect_request	vmlinux
+0x00000000	mmc_release_host	vmlinux
+0x00000000	fb_delete_videomode	vmlinux
+0x00000000	cdev_alloc	vmlinux
+0x00000000	__getblk	vmlinux
+0x00000000	fp_init	vmlinux
+0x00000000	svc_exit_thread	net/sunrpc/sunrpc
+0x00000000	rpc_clnt_sigunmask	net/sunrpc/sunrpc
+0x00000000	current_kernel_time	vmlinux
+0x00000000	iriap_getvaluebyclass_request	vmlinux
+0x00000000	netlink_set_nonroot	vmlinux
+0x00000000	locks_copy_lock	vmlinux
+0x00000000	gnet_stats_start_copy_compat	vmlinux
+0x00000000	sock_create_kern	vmlinux
+0x00000000	zlib_deflateEnd	lib/zlib_deflate/zlib_deflate
+0x00000000	fb_set_cmap	vmlinux
+0x00000000	radix_tree_tagged	vmlinux
+0x00000000	unload_nls	vmlinux
+0x00000000	__bitmap_shift_left	vmlinux
+0x00000000	serio_unregister_driver	vmlinux
+0x00000000	__down_trylock_failed	vmlinux
+0x00000000	gss_mech_get	net/sunrpc/auth_gss/auth_rpcgss
+0x00000000	lock_sock	vmlinux
+0x00000000	memcpy	vmlinux
+0x00000000	bdevname	vmlinux
+0x00000000	cdev_init	vmlinux
+0x00000000	request_resource	vmlinux
+0x00000000	inet_getname	vmlinux
+0x00000000	nand_scan_bbt	vmlinux
+0x00000000	_memset_io	vmlinux
+0x00000000	put_mtd_device	vmlinux
+0x00000000	platform_get_resource	vmlinux
+0x00000000	iput	vmlinux
+0x00000000	sleep_on_timeout	vmlinux
+0x00000000	create_proc_entry	vmlinux
+0x00000000	proc_doulongvec_ms_jiffies_minmax	vmlinux
+0x00000000	system_serial_low	vmlinux
+0x00000000	register_blkdev	vmlinux
+0x00000000	s3c_device_wdt	vmlinux
+0x00000000	neigh_event_ns	vmlinux
+0x00000000	kref_get	vmlinux
+0x00000000	skb_iter_first	vmlinux
+0x00000000	generic_commit_write	vmlinux
+0x00000000	journal_errno	fs/jbd/jbd
+0x00000000	dst_destroy	vmlinux
+0x00000000	s3c2410_dma_config	vmlinux
+0x00000000	svc_wake_up	net/sunrpc/sunrpc
+0x00000000	journal_check_available_features	fs/jbd/jbd
+0x00000000	fb_mode_is_equal	vmlinux
+0x00000000	dst_alloc	vmlinux
+0x00000000	single_release	vmlinux
+0x00000000	get_user_pages	vmlinux
+0x00000000	sysctl_optmem_max	vmlinux
+0x00000000	__bitmap_xor	vmlinux
+0x00000000	cfb_copyarea	vmlinux
+0x00000000	netlink_detach	vmlinux
+0x00000000	netlink_attach	vmlinux
+0x00000000	__dev_remove_pack	vmlinux
+0x00000000	auth_unix_forget_old	net/sunrpc/sunrpc
+0x00000000	iget5_locked	vmlinux
+0x00000000	platform_device_register_simple	vmlinux
+0x00000000	dcache_dir_lseek	vmlinux
+0x00000000	__udivsi3	vmlinux
+0x00000000	d_splice_alias	vmlinux
+0x00000000	do_sync_read	vmlinux
+0x00000000	mem_map	vmlinux
+0x00000000	kobject_rename	vmlinux
+0x00000000	mmc_wait_for_cmd	vmlinux
+0x00000000	clk_round_rate	vmlinux
+0x00000000	rpc_mkpipe	net/sunrpc/sunrpc
+0x00000000	zlib_inflateSync	vmlinux
+0x00000000	irda_task_execute	vmlinux
+0x00000000	journal_update_format	fs/jbd/jbd
+0x00000000	netif_receive_skb	vmlinux
+0x00000000	alloc_netdev	vmlinux
+0x00000000	recalc_sigpending	vmlinux
+0x00000000	system_serial_high	vmlinux
+0x00000000	ip_dev_find	vmlinux
+0x00000000	path_lookup	vmlinux
+0x00000000	rpcauth_init_credcache	net/sunrpc/sunrpc
+0x00000000	xdr_shift_buf	net/sunrpc/sunrpc
+0x00000000	device_register	vmlinux
+0x00000000	dentry_open	vmlinux
+0x00000000	sysctl_overcommit_memory	vmlinux
+0x00000000	dma_free_coherent	vmlinux
+0x00000000	rpc_clnt_sigmask	net/sunrpc/sunrpc
+0x00000000	skb_checksum_help	vmlinux
+0x00000000	class_device_unregister	vmlinux
+0x00000000	tasklet_init	vmlinux
+0x00000000	device_power_down	vmlinux
+0x00000000	sock_no_recvmsg	vmlinux
+0x00000000	kfifo_init	vmlinux
+0x00000000	svc_authenticate	net/sunrpc/sunrpc
+0x00000000	irlmp_register_service	vmlinux
+0x00000000	complete	vmlinux
+0x00000000	class_put	vmlinux
+0x00000000	fb_sysmove_buf_unaligned	vmlinux
+0x00000000	s3c_device_timer1	vmlinux
+0x00000000	subsys_remove_file	vmlinux
+0x00000000	high_memory	vmlinux
+0x00000000	next_thread	vmlinux
+0x00000000	simple_link	vmlinux
+0x00000000	journal_blocks_per_page	fs/jbd/jbd
+0x00000000	sysdev_remove_file	vmlinux
+0x00000000	mempool_create	vmlinux
+0x00000000	kblockd_schedule_work	vmlinux
+0x00000000	send_sig_info	vmlinux
+0x00000000	__neigh_event_send	vmlinux
+0x00000000	unregister_netdevice	vmlinux
+0x00000000	sk_stream_wait_close	vmlinux
+0x00000000	allow_signal	vmlinux
+0x00000000	rpc_call_setup	net/sunrpc/sunrpc
+0x00000000	platform_get_irq	vmlinux
+0x00000000	kill_anon_super	vmlinux
+0x00000000	irttp_connect_response	vmlinux
+0x00000000	irlmp_connect_response	vmlinux
+0x00000000	blk_queue_hardsect_size	vmlinux
+0x00000000	xdr_buf_subsegment	net/sunrpc/sunrpc
+0x00000000	inet_dgram_connect	vmlinux
+0x00000000	end_that_request_first	vmlinux
+0x00000000	driver_unregister	vmlinux
+0x00000000	kobject_put	vmlinux
+0x00000000	kobject_get	vmlinux
+0x00000000	param_set_copystring	vmlinux
+0x00000000	consistent_sync	vmlinux
+0x00000000	ioport_unmap	vmlinux
+0x00000000	d_validate	vmlinux
+0x00000000	enable_irq_wake	vmlinux
+0x00000000	subsystem_init	vmlinux
+0x00000000	__bitmap_equal	vmlinux
+0x00000000	fasync_helper	vmlinux
+0x00000000	locks_mandatory_area	vmlinux
+0x00000000	__bitmap_shift_right	vmlinux
+0x00000000	sock_alloc_send_pskb	vmlinux
+0x00000000	irda_device_dongle_cleanup	vmlinux
+0x00000000	inet_register_protosw	vmlinux
+0x00000000	mempool_destroy	vmlinux
+0x00000000	set_binfmt	vmlinux
+0x00000000	sk_alloc_slab	vmlinux
+0x00000000	cap_ptrace	vmlinux
+0x00000000	slab_reclaim_pages	vmlinux
+0x00000000	dlci_ioctl_set	vmlinux
+0x00000000	kobject_unregister	vmlinux
+0x00000000	async_wrap_skb	vmlinux
+0x00000000	page_symlink_inode_operations	vmlinux
+0x00000000	vunmap	vmlinux
+0x00000000	refrigerator	vmlinux
+0x00000000	irda_device_dongle_init	vmlinux
+0x00000000	set_page_dirty_lock	vmlinux
+0x00000000	tcp_v4_conn_request	vmlinux
+0x00000000	get_mtd_device	vmlinux
+0x00000000	tcp_v4_syn_recv_sock	vmlinux
+0x00000000	kmem_cache_shrink	vmlinux
+0x00000000	__readwrite_bug	vmlinux
+0x00000000	__down_write	vmlinux
+0x00000000	icmp_err_convert	vmlinux
+0x00000000	tcp_hashinfo	vmlinux
+0x00000000	fd_install	vmlinux
+0x00000000	__cond_resched	vmlinux
+0x00000000	disable_irq	vmlinux
+0x00000000	sysfs_remove_file	vmlinux
+0x00000000	out_of_line_wait_on_bit	vmlinux
+0x00000000	invalidate_partition	vmlinux
+0x00000000	hashbin_find_next	vmlinux
+0x00000000	do_brk	vmlinux
+0x00000000	generic_permission	vmlinux
+0x00000000	irlap_open	vmlinux
+0x00000000	iriap_open	vmlinux
+0x00000000	uart_get_baud_rate	vmlinux
+0x00000000	irlap_close	vmlinux
+0x00000000	iriap_close	vmlinux
+0x00000000	set_user_nice	vmlinux
+0x00000000	rpc_new_child	net/sunrpc/sunrpc
+0x00000000	gss_pseudoflavor_to_service	net/sunrpc/auth_gss/auth_rpcgss
+0x00000000	rpc_release_client	net/sunrpc/sunrpc
+0x00000000	tcp_openreq_cachep	vmlinux
+0x00000000	sock_setsockopt	vmlinux
+0x00000000	fb_find_mode	vmlinux
+0x00000000	simple_transaction_release	vmlinux
+0x00000000	unlock_buffer	vmlinux
+0x00000000	notifier_chain_register	vmlinux
+0x00000000	tty_wakeup	vmlinux
+0x00000000	rtc_time_to_tm	vmlinux
+0x00000000	skb_copy_expand	vmlinux
+0x00000000	d_lookup	vmlinux
+0x00000000	pci_iomap	vmlinux
+0x00000000	cap_task_post_setuid	vmlinux
+0x00000000	sys_read	vmlinux
+0x00000000	serio_unregister_port	vmlinux
+0x00000000	zone_table	vmlinux
+0x00000000	cpu_arm920_dcache_clean_area	vmlinux
+0x00000000	radix_tree_gang_lookup_tag	vmlinux
+0x00000000	flush_dcache_page	vmlinux
+0x00000000	_find_next_zero_bit_le	vmlinux
+0x00000000	sync_dirty_buffer	vmlinux
+0x00000000	add_disk_randomness	vmlinux
+0x00000000	inode_init_once	vmlinux
+0x00000000	scsi_cmd_ioctl	vmlinux
+0x00000000	async_unwrap_char	vmlinux
+0x00000000	neigh_seq_stop	vmlinux
+0x00000000	fb_prepare_logo	vmlinux
+0x00000000	neigh_table_init	vmlinux
+0x00000000	mmc_register_driver	vmlinux
+0x00000000	blk_insert_request	vmlinux
+0x00000000	blk_stop_queue	vmlinux
+0x00000000	blk_queue_segment_boundary	vmlinux
+0x00000000	sysfs_create_link	vmlinux
+0x00000000	tcp_reset_keepalive_timer	vmlinux
+0x00000000	add_mtd_device	vmlinux
+0x00000000	qword_get	net/sunrpc/sunrpc
+0x00000000	journal_revoke	fs/jbd/jbd
+0x00000000	ethtool_op_set_sg	vmlinux
+0x00000000	seq_release	vmlinux
+0x00000000	s3c2410_gpio_getirq	vmlinux
+0x00000000	sysfs_create_bin_file	vmlinux
+0x00000000	auth_domain_put	net/sunrpc/sunrpc
+0x00000000	free_buffer_head	vmlinux
+0x00000000	fget	vmlinux
+0x00000000	match_token	vmlinux
+0x00000000	vmtruncate	vmlinux
+0x00000000	posix_test_lock	vmlinux
+0x00000000	kill_block_super	vmlinux
+0x00000000	flush_signals	vmlinux
+0x00000000	neigh_lookup_nodev	vmlinux
+0x00000000	mb_cache_entry_insert	vmlinux
+0x00000000	blk_put_request	vmlinux
+0x00000000	fb_iomove_buf_unaligned	vmlinux
+0x00000000	cpu_arm920_set_pte	vmlinux
+0x00000000	__mntput	vmlinux
+0x00000000	mapping_tagged	vmlinux
+0x00000000	rpc_setbufsize	net/sunrpc/sunrpc
+0x00000000	put_disk	vmlinux
+0x00000000	serio_interrupt	vmlinux
+0x00000000	color_table	vmlinux
+0x00000000	vm_committed_space	vmlinux
+0x00000000	module_add_driver	vmlinux
+0x00000000	auth_unix_add_addr	net/sunrpc/sunrpc
+0x00000000	proc_root_fs	vmlinux
+0x00000000	rpc_debug	net/sunrpc/sunrpc
+0x00000000	bus_create_file	vmlinux
+0x00000000	console_conditional_schedule	vmlinux
+0x00000000	svc_destroy	net/sunrpc/sunrpc
+0x00000000	fat_detach	fs/fat/fat
+0x00000000	rb_erase	vmlinux
+0x00000000	__netdev_watchdog_up	vmlinux
+0x00000000	cache_check	net/sunrpc/sunrpc
+0x00000000	set_blocksize	vmlinux
+0x00000000	kcalloc	vmlinux
+0x00000000	uart_unregister_driver	vmlinux
+0x00000000	hashbin_insert	vmlinux
+0x00000000	blk_execute_rq	vmlinux
+0x00000000	rpc_call_sync	net/sunrpc/sunrpc
+0x00000000	vsscanf	vmlinux
+0x00000000	panic	vmlinux
+0x00000000	__vmalloc	vmlinux
+0x00000000	__kmalloc	vmlinux
+0x00000000	put_files_struct	vmlinux
+0x00000000	rpc_wake_up_next	net/sunrpc/sunrpc
+0x00000000	journal_load	fs/jbd/jbd
+0x00000000	__ip_select_ident	vmlinux
+0x00000000	flock_lock_file_wait	vmlinux
+0x00000000	fb_var_to_videomode	vmlinux
+0x00000000	locks_init_lock	vmlinux
+0x00000000	memcmp	vmlinux
+0x00000000	serio_reconnect	vmlinux
+0x00000000	d_alloc_name	vmlinux
+0x00000000	vfs_readdir	vmlinux
+0x00000000	zlib_inflate	vmlinux
+0x00000000	crc_ccitt	vmlinux
+0x00000000	vscnprintf	vmlinux
+0x00000000	add_hotplug_env_var	vmlinux
+0x00000000	simple_statfs	vmlinux
+0x00000000	param_set_long	vmlinux
+0x00000000	ip_mc_join_group	vmlinux
+0x00000000	journal_update_superblock	fs/jbd/jbd
+0x00000000	ioread8_rep	vmlinux
+0x00000000	usb_gadget_register_driver	vmlinux
+0x00000000	ioread32_rep	vmlinux
+0x00000000	neigh_seq_start	vmlinux
+0x00000000	skb_clone_fraglist	vmlinux
+0x00000000	cpu_sysdev_class	vmlinux
+0x00000000	class_simple_set_hotplug	vmlinux
+0x00000000	strlcpy	vmlinux
+0x00000000	_set_bit_le	vmlinux
+0x00000000	strncpy	vmlinux
+0x00000000	tty_ldisc_put	vmlinux
+0x00000000	fb_invert_cmaps	vmlinux
+0x00000000	driver_create_file	vmlinux
+0x00000000	blk_requeue_request	vmlinux
+0x00000000	fb_dealloc_cmap	vmlinux
+0x00000000	s3c_device_rtc	vmlinux
+0x00000000	sys_open	vmlinux
+0x00000000	rtc_tm_to_time	vmlinux
+0x00000000	tcp_sendpage	vmlinux
+0x00000000	allocate_resource	vmlinux
+0x00000000	block_prepare_write	vmlinux
+0x00000000	remove_suid	vmlinux
+0x00000000	kill_pg	vmlinux
+0x00000000	fat_notify_change	fs/fat/fat
+0x00000000	vfs_rmdir	vmlinux
+0x00000000	generic_shutdown_super	vmlinux
+0x00000000	get_jiffies_64	vmlinux
+0x00000000	svc_create_thread	net/sunrpc/sunrpc
+0x00000000	cap_bprm_set_security	vmlinux
+0x00000000	del_mtd_partitions	vmlinux
+0x00000000	init_buffer	vmlinux
+0x00000000	____request_resource	vmlinux
+0x00000000	rpcauth_create	net/sunrpc/sunrpc
+0x00000000	sock_no_getname	vmlinux
+0x00000000	vfs_link	vmlinux
+0x00000000	journal_flush	fs/jbd/jbd
+0x00000000	fb_iomove_buf_aligned	vmlinux
+0x00000000	panic_notifier_list	vmlinux
+0x00000000	unregister_mtd_chip_driver	vmlinux
+0x00000000	d_delete	vmlinux
+0x00000000	mod_timer	vmlinux
+0x00000000	idr_remove	vmlinux
+0x00000000	param_get_invbool	vmlinux
+0x00000000	nfsd_debug	net/sunrpc/sunrpc
+0x00000000	init_mm	vmlinux
+0x00000000	tty_hangup	vmlinux
+0x00000000	zlib_inflateSyncPoint	vmlinux
+0x00000000	read_cache_page	vmlinux
+0x00000000	dev_change_flags	vmlinux
+0x00000000	cpu_present_map	vmlinux
+0x00000000	restore_time_delta	vmlinux
+0x00000000	nand_scan	vmlinux
+0x00000000	__kill_fasync	vmlinux
+0x00000000	gss_service_to_auth_domain_name	net/sunrpc/auth_gss/auth_rpcgss
+0x00000000	sysfs_create_dir	vmlinux
+0x00000000	generic_unplug_device	vmlinux
+0x00000000	fb_set_var	vmlinux
+0x00000000	set_dma_speed	vmlinux
+0x00000000	pm_unregister	vmlinux
+0x00000000	__bug	vmlinux
+0x00000000	_memcpy_fromio	vmlinux
+0x00000000	__put_user_2	vmlinux
+0x00000000	__get_user_2	vmlinux
+0x00000000	tcp_accept	vmlinux
+0x00000000	__check_region	vmlinux
+0x00000000	sysctl_ip_default_ttl	vmlinux
+0x00000000	irda_task_delete	vmlinux
+0x00000000	sock_sendmsg	vmlinux
+0x00000000	mmc_request_done	vmlinux
+0x00000000	class_register	vmlinux
+0x00000000	lease_get_mtime	vmlinux
+0x00000000	sb_set_blocksize	vmlinux
+0x00000000	qdisc_unlock_tree	vmlinux
+0x00000000	vmalloc_to_pfn	vmlinux
+0x00000000	get_task_mm	vmlinux
+0x00000000	_clear_bit_le	vmlinux
+0x00000000	irias_new_octseq_value	vmlinux
+0x00000000	crypto_unregister_alg	vmlinux
+0x00000000	dump_fpu	vmlinux
+0x00000000	get_empty_filp	vmlinux
+0x00000000	filp_open	vmlinux
+0x00000000	generic_file_aio_write	vmlinux
+0x00000000	copy_io_context	vmlinux
+0x00000000	_find_first_zero_bit_le	vmlinux
+0x00000000	get_disk	vmlinux
+0x00000000	__free_pages	vmlinux
+0x00000000	inet_bind	vmlinux
+0x00000000	journal_try_to_free_buffers	fs/jbd/jbd
+0x00000000	ioread8	vmlinux
+0x00000000	skb_split	vmlinux
+0x00000000	input_grab_device	vmlinux
+0x00000000	default_mtd_writev	vmlinux
+0x00000000	netlink_broadcast	vmlinux
+0x00000000	in_group_p	vmlinux
+0x00000000	_test_and_set_bit_le	vmlinux
+0x00000000	udp_sendmsg	vmlinux
+0x00000000	init_rwsem	vmlinux
+0x00000000	sk_wait_data	vmlinux
+0x00000000	highmem_start_page	vmlinux
+0x00000000	unshare_files	vmlinux
+0x00000000	blk_phys_contig_segment	vmlinux
+0x00000000	end_buffer_read_sync	vmlinux
+0x00000000	inter_module_get_request	vmlinux
+0x00000000	neigh_for_each	vmlinux
+0x00000000	param_get_ushort	vmlinux
+0x00000000	netdev_boot_setup_check	vmlinux
+0x00000000	sock_i_ino	vmlinux
+0x00000000	sock_i_uid	vmlinux
+0x00000000	register_gifconf	vmlinux
+0x00000000	mempool_alloc	vmlinux
+0x00000000	irda_register_dongle	vmlinux
+0x00000000	proc_dointvec_minmax	vmlinux
+0x00000000	sd_set_bus_width	vmlinux
+0x00000000	uart_unregister_port	vmlinux
+0x00000000	daemonize	vmlinux
+0x00000000	zlib_deflateCopy	lib/zlib_deflate/zlib_deflate
+0x00000000	blk_queue_make_request	vmlinux
+0x00000000	class_simple_device_add	vmlinux
+0x00000000	put_driver	vmlinux
+0x00000000	inter_module_register	vmlinux
+0x00000000	irda_task_next_state	vmlinux
+0x00000000	tty_ldisc_deref	vmlinux
+0x00000000	vfs_getattr	vmlinux
+0x00000000	tcp_inherit_port	vmlinux
+0x00000000	inet_del_protocol	vmlinux
+0x00000000	neigh_update	vmlinux
+0x00000000	put_io_context	vmlinux
+0x00000000	nobh_truncate_page	vmlinux
+0x00000000	end_that_request_chunk	vmlinux
+0x00000000	icmp_send	vmlinux
+0x00000000	rtattr_parse	vmlinux
+0x00000000	journal_recover	fs/jbd/jbd
+0x00000000	iowrite32_rep	vmlinux
+0x00000000	iowrite16_rep	vmlinux
+0x00000000	hashbin_delete	vmlinux
+0x00000000	dev_open	vmlinux
+0x00000000	ilookup	vmlinux
+0x00000000	free_pages	vmlinux
+0x00000000	unlock_new_inode	vmlinux
+0x00000000	kset_register	vmlinux
+0x00000000	sock_unregister	vmlinux
+0x00000000	kobject_hotplug	vmlinux
+0x00000000	fput	vmlinux
+0x00000000	irias_delete_value	vmlinux
+0x00000000	journal_set_features	fs/jbd/jbd
+0x00000000	rtc_update	vmlinux
+0x00000000	is_console_locked	vmlinux
+0x00000000	add_disk	vmlinux
+0x00000000	sysctl_max_map_count	vmlinux
+0x00000000	inet_shutdown	vmlinux
+0x00000000	posix_lock_file_wait	vmlinux
+0x00000000	strnicmp	vmlinux
+0x00000000	uart_remove_one_port	vmlinux
+0x00000000	vmalloc_to_page	vmlinux
+0x00000000	journal_start_commit	fs/jbd/jbd
+0x00000000	bus_add_device	vmlinux
+0x00000000	fbcon_set_bitops	vmlinux
+0x00000000	__wake_up_bit	vmlinux
+0x00000000	ipfrag_flush	vmlinux
+0x00000000	sock_release	vmlinux
+0x00000000	add_wait_queue_exclusive	vmlinux
+0x00000000	nlmclnt_proc	fs/lockd/lockd
+0x00000000	crc_ccitt_table	vmlinux
+0x00000000	utf8_wcstombs	vmlinux
+0x00000000	idr_init	vmlinux
+0x00000000	netdev_set_master	vmlinux
+0x00000000	mpage_readpage	vmlinux
+0x00000000	vmalloc	vmlinux
+0x00000000	__raw_readsl	vmlinux
+0x00000000	mb_cache_entry_find_first	vmlinux
+0x00000000	gss_mech_get_by_name	net/sunrpc/auth_gss/auth_rpcgss
+0x00000000	cap_capset_check	vmlinux
+0x00000000	lock_rename	vmlinux
+0x00000000	bio_split	vmlinux
+0x00000000	s3c2410_dma_ctrl	vmlinux
+0x00000000	xdr_inline_decode	net/sunrpc/sunrpc
+0x00000000	tcp_check_req	vmlinux
+0x00000000	netlink_unicast	vmlinux
+0x00000000	neigh_sysctl_register	vmlinux
+0x00000000	sys_close	vmlinux
+0x00000000	fat_build_inode	fs/fat/fat
+0x00000000	seq_read	vmlinux
+0x00000000	is_bad_inode	vmlinux
+0x00000000	param_get_int	vmlinux
+0x00000000	start_tty	vmlinux
+0x00000000	fb_get_color_depth	vmlinux
+0x00000000	irda_param_extract	vmlinux
+0x00000000	notify_change	vmlinux
+0x00000000	follow_up	vmlinux
+0x00000000	param_get_short	vmlinux
+0x00000000	irlmp_service_to_hint	vmlinux
+0x00000000	skb_copy_and_csum_datagram_iovec	vmlinux
+0x00000000	sock_no_ioctl	vmlinux
+0x00000000	close_bdev_excl	vmlinux
+0x00000000	dma_alloc_coherent	vmlinux
+0x00000000	simple_empty	vmlinux
+0x00000000	journal_lock_updates	fs/jbd/jbd
+0x00000000	blk_queue_merge_bvec	vmlinux
+0x00000000	set_dma_count	vmlinux
+0x00000000	dev_set_mtu	vmlinux
+0x00000000	xdr_decode_string_inplace	net/sunrpc/sunrpc
+0x00000000	svc_seq_show	net/sunrpc/sunrpc
+0x00000000	driver_register	vmlinux
+0x00000000	find_lock_page	vmlinux
+0x00000000	remove_wait_queue	vmlinux
+0x00000000	param_array_get	vmlinux
+0x00000000	param_array_set	vmlinux
+0x00000000	kset_find_obj	vmlinux
+0x00000000	sk_stream_write_space	vmlinux
+0x00000000	add_mtd_blktrans_dev	vmlinux
+0x00000000	__div0	vmlinux
+0x00000000	irda_device_unregister_dongle	vmlinux
+0x00000000	tcp_sendmsg	vmlinux
+0x00000000	sock_map_fd	vmlinux
+0x00000000	__iounmap	vmlinux
+0x00000000	d_prune_aliases	vmlinux
+0x00000000	memcpy_fromiovecend	vmlinux
+0x00000000	ilookup5	vmlinux
+0x00000000	journal_release_buffer	fs/jbd/jbd
+0x00000000	per_cpu__kstat	vmlinux
+0x00000000	find_trylock_page	vmlinux
+0x00000000	simple_fill_super	vmlinux
+0x00000000	have_submounts	vmlinux
+0x00000000	__user_walk	vmlinux
+0x00000000	irda_init_max_qos_capabilies	vmlinux
+0x00000000	__tasklet_schedule	vmlinux
+0x00000000	irias_find_object	vmlinux
+0x00000000	bio_add_page	vmlinux
+0x00000000	__memzero	vmlinux
+0x00000000	kernel_thread	vmlinux
+0x00000000	zlib_inflateEnd	vmlinux
+0x00000000	fb_get_monitor_limits	vmlinux
+0x00000000	open_by_devnum	vmlinux
+0x00000000	contig_page_data	vmlinux
+0x00000000	console_blanked	vmlinux
+0x00000000	rpc_run_child	net/sunrpc/sunrpc
+0x00000000	fp_send_sig	vmlinux
+0x00000000	simple_transaction_read	vmlinux
+0x00000000	mempool_free_slab	vmlinux
+0x00000000	krb5_encrypt	net/sunrpc/auth_gss/auth_rpcgss
+0x00000000	generic_setxattr	vmlinux
+0x00000000	generic_getxattr	vmlinux
+0x00000000	gss_mech_register	net/sunrpc/auth_gss/auth_rpcgss
+0x00000000	mpage_readpages	vmlinux
+0x00000000	__arch_strnlen_user	vmlinux
+0x00000000	__wait_on_buffer	vmlinux
+0x00000000	nr_swap_pages	vmlinux
+0x00000000	sock_create	vmlinux
+0x00000000	kill_litter_super	vmlinux
+0x00000000	skb_copy_bits	vmlinux
+0x00000000	sysfs_remove_link	vmlinux
+0x00000000	tcp_make_synack	vmlinux
+0x00000000	proc_root	vmlinux
+0x00000000	find_get_page	vmlinux
+0x00000000	bit_waitqueue	vmlinux
+0x00000000	register_rtc	vmlinux
+0x00000000	sock_common_recvmsg	vmlinux
+0x00000000	invalidate_inodes	vmlinux
+0x00000000	bitmap_release_region	vmlinux
+0x00000000	dev_mc_delete	vmlinux
+0x00000000	get_driver	vmlinux
+0x00000000	request_dma	vmlinux
+0x00000000	fat_attach	fs/fat/fat
+0x00000000	irias_add_octseq_attrib	vmlinux
+0x00000000	ip_mc_inc_group	vmlinux
+0x00000000	sysfs_remove_bin_file	vmlinux
+0x00000000	kick_iocb	vmlinux
+0x00000000	snprintf	vmlinux
+0x00000000	irda_debug	vmlinux
+0x00000000	get_io_context	vmlinux
+0x00000000	__bread	vmlinux
+0x00000000	tcp_tw_deschedule	vmlinux
+0x00000000	memcpy_toiovec	vmlinux
+0x00000000	journal_init_dev	fs/jbd/jbd
+0x00000000	irttp_udata_request	vmlinux
+0x00000000	in_aton	vmlinux
+0x00000000	neigh_resolve_output	vmlinux
+0x00000000	cfb_imageblit	vmlinux
+0x00000000	posix_unblock_lock	vmlinux
+0x00000000	tcp_close	vmlinux
+0x00000000	__scm_send	vmlinux
+0x00000000	blk_queue_activity_fn	vmlinux
+0x00000000	try_to_free_buffers	vmlinux
+0x00000000	rpc_destroy_client	net/sunrpc/sunrpc
+0x00000000	nand_default_bbt	vmlinux
+0x00000000	del_mtd_device	vmlinux
+0x00000000	register_framebuffer	vmlinux
+0x00000000	make_8023_client	vmlinux
+0x00000000	bd_claim	vmlinux
+0x00000000	nfs_debug	net/sunrpc/sunrpc
+0x00000000	call_rcu	vmlinux
+0x00000000	journal_abort	fs/jbd/jbd
+0x00000000	devfs_register_tape	vmlinux
+0x00000000	seq_open	vmlinux
+0x00000000	s3c_device_usb	vmlinux
+0x00000000	simple_readpage	vmlinux
+0x00000000	__lock_page	vmlinux
+0x00000000	__umodsi3	vmlinux
+0x00000000	sysctl_max_syn_backlog	vmlinux
+0x00000000	follow_down	vmlinux
+0x00000000	rpcauth_lookupcred	net/sunrpc/sunrpc
+0x00000000	probe_irq_mask	vmlinux
+0x00000000	redraw_screen	vmlinux
+0x00000000	tty_unregister_driver	vmlinux
+0x00000000	get_write_access	vmlinux
+0x00000000	set_s3c2410fb_info	vmlinux
+0x00000000	__bitmap_complement	vmlinux
+0x00000000	devinet_ioctl	vmlinux
+0x00000000	dma_get_required_mask	vmlinux
+0x00000000	class_simple_device_remove	vmlinux
+0x00000000	class_device_put	vmlinux
+0x00000000	class_device_get	vmlinux
+0x00000000	del_timer	vmlinux
+0x00000000	map_destroy	vmlinux
+0x00000000	scsi_command_size	vmlinux
+0x00000000	tcp_v4_send_check	vmlinux
+0x00000000	dev_close	vmlinux
+0x00000000	__mark_inode_dirty	vmlinux
+0x00000000	noop_qdisc	vmlinux
+0x00000000	sock_alloc_send_skb	vmlinux
+0x00000000	unregister_filesystem	vmlinux
+0x00000000	adjust_resource	vmlinux
+0x00000000	strnlen	vmlinux
+0x00000000	crypto_alg_available	vmlinux
+0x00000000	nobh_prepare_write	vmlinux
+0x00000000	blk_rq_unmap_user	vmlinux
+0x00000000	blk_plug_device	vmlinux
+0x00000000	acquire_console_sem	vmlinux
+0x00000000	__printk_ratelimit	vmlinux
+0x00000000	xdr_encode_pages	net/sunrpc/sunrpc
+0x00000000	xdr_read_pages	net/sunrpc/sunrpc
+0x00000000	journal_get_create_access	fs/jbd/jbd
+0x00000000	mtd_table_mutex	vmlinux
+0x00000000	vfs_llseek	vmlinux
+0x00000000	panic_timeout	vmlinux
+0x00000000	generic_file_direct_IO	vmlinux
+0x00000000	__bitmap_intersects	vmlinux
+0x00000000	dev_set_allmulti	vmlinux
+0x00000000	kobject_set_name	vmlinux
+0x00000000	elf_platform	vmlinux
+0x00000000	icmp_statistics	vmlinux
+0x00000000	set_device_ro	vmlinux
+0x00000000	panic_blink	vmlinux
+0x00000000	tasklet_kill	vmlinux
+0x00000000	bio_endio	vmlinux
+0x00000000	sk_stop_timer	vmlinux
+0x00000000	locks_remove_posix	vmlinux
+0x00000000	preempt_schedule	vmlinux
+0x00000000	s3c_device_timer0	vmlinux
+0x00000000	tcp_v4_lookup	vmlinux
+0x00000000	radix_tree_delete	vmlinux
+0x00000000	zlib_deflateInit_	lib/zlib_deflate/zlib_deflate
+0x00000000	open_softirq	vmlinux
+0x00000000	names_cachep	vmlinux
+0x00000000	qword_addhex	net/sunrpc/sunrpc
+0x00000000	xrlim_allow	vmlinux
+0x00000000	fb_add_videomode	vmlinux
+0x00000000	crypto_register_alg	vmlinux
+0x00000000	single_open	vmlinux
+0x00000000	page_follow_link_light	vmlinux
+0x00000000	kthread_stop	vmlinux
+0x00000000	lockd_down	fs/lockd/lockd
+0x00000000	sysfs_update_file	vmlinux
+0x00000000	inter_module_unregister	vmlinux
+0x00000000	groups_free	vmlinux
+0x00000000	unregister_reboot_notifier	vmlinux
+0x00000000	dev_mc_upload	vmlinux
+0x00000000	sysfs_remove_dir	vmlinux
+0x00000000	copy_fs_struct	vmlinux
+0x00000000	subsystem_register	vmlinux
+0x00000000	neigh_parms_alloc	vmlinux
+0x00000000	interruptible_sleep_on	vmlinux
+0x00000000	blk_queue_invalidate_tags	vmlinux
+0x00000000	io_schedule	vmlinux
+0x00000000	cfb_fillrect	vmlinux
+0x00000000	__pagevec_lru_add	vmlinux
+0x00000000	disable_irq_wake	vmlinux
+0x00000000	netlink_set_err	vmlinux
+0x00000000	s3c2410_gpio_irqfilter	vmlinux
+0x00000000	inet_listen	vmlinux
+0x00000000	skb_queue_purge	vmlinux
+0x00000000	inode_update_time	vmlinux
+0x00000000	get_unmapped_area	vmlinux
+0x00000000	subsystem_unregister	vmlinux
+0x00000000	blk_rq_map_user	vmlinux
+0x00000000	platform_bus_type	vmlinux
+0x00000000	d_find_alias	vmlinux
+0x00000000	yield	vmlinux
+0x00000000	fb_destroy_modedb	vmlinux
+0x00000000	d_invalidate	vmlinux
+0x00000000	vmalloc_32	vmlinux
+0x00000000	input_register_handler	vmlinux
+0x00000000	dma_pool_free	vmlinux
+0x00000000	__bitmap_full	vmlinux
+0x00000000	ipv4_config	vmlinux
+0x00000000	blk_queue_issue_flush_fn	vmlinux
+0x00000000	nr_pagecache	vmlinux
+0x00000000	__rta_fill	vmlinux
+0x00000000	__dst_free	vmlinux
+0x00000000	udp_hash_lock	vmlinux
+0x00000000	clk_put	vmlinux
+0x00000000	strncmp	vmlinux
+0x00000000	crc32_le	vmlinux
+0x00000000	irttp_flow_request	vmlinux
+0x00000000	sock_kfree_s	vmlinux
+0x00000000	cap_bprm_secureexec	vmlinux
+0x00000000	ethtool_op_get_link	vmlinux
+0x00000000	input_unregister_device	vmlinux
+0x00000000	remove_lease	vmlinux
+0x00000000	read_cache_pages	vmlinux
+0x00000000	s3c2410_dma_devconfig	vmlinux
+0x00000000	nlm_debug	net/sunrpc/sunrpc
+0x00000000	fat_add_entries	fs/fat/fat
+0x00000000	ip_generic_getfrag	vmlinux
+0x00000000	thaw_bdev	vmlinux
+0x00000000	generic_file_write	vmlinux
+0x00000000	bitmap_parse	vmlinux
+0x00000000	sk_run_filter	vmlinux
+0x00000000	max_pfn	vmlinux
+0x00000000	neigh_sysctl_unregister	vmlinux
+0x00000000	fb_destroy_modelist	vmlinux
+0x00000000	__scm_destroy	vmlinux
+0x00000000	d_move	vmlinux
+0x00000000	serio_register_port_delayed	vmlinux
+0x00000000	get_dma_residue	vmlinux
+0x00000000	sock_wmalloc	vmlinux
+0x00000000	strstr	vmlinux
+0x00000000	strchr	vmlinux
+0x00000000	pm_idle	vmlinux
+0x00000000	disable_hlt	vmlinux
+0x00000000	_memcpy_toio	vmlinux
+0x00000000	hashbin_get_next	vmlinux
+0x00000000	pskb_expand_head	vmlinux
+0x00000000	sirdev_set_dongle	vmlinux
+0x00000000	dma_alloc_writecombine	vmlinux
+0x00000000	elf_hwcap	vmlinux
+0x00000000	tcp_delete_keepalive_timer	vmlinux
+0x00000000	take_over_console	vmlinux
+0x00000000	__raw_readsw	vmlinux
+0x00000000	lock_may_write	vmlinux
+0x00000000	xdr_buf_read_netobj	net/sunrpc/sunrpc
+0x00000000	sock_wake_async	vmlinux
+0x00000000	neigh_dump_info	vmlinux
+0x00000000	__set_page_dirty_buffers	vmlinux
+0x00000000	synchronize_kernel	vmlinux
+0x00000000	scnprintf	vmlinux
+0x00000000	blk_queue_ordered	vmlinux
+0x00000000	d_alloc_anon	vmlinux
+0x00000000	copy_strings_kernel	vmlinux
+0x00000000	__wait_on_bit	vmlinux
+0x00000000	s3c2410_dma_setflags	vmlinux
+0x00000000	tcp_enter_memory_pressure	vmlinux
+0x00000000	arp_create	vmlinux
+0x00000000	no_llseek	vmlinux
+0x00000000	tcp_statistics	vmlinux
+0x00000000	fb_videomode_to_modelist	vmlinux
+0x00000000	sys_write	vmlinux
+0x00000000	dev_ethtool	vmlinux
+0x00000000	pm_send_all	vmlinux
+0x00000000	notifier_call_chain	vmlinux
+0x00000000	proc_root_driver	vmlinux
+0x00000000	autoremove_wake_function	vmlinux
+0x00000000	__wake_up_sync	vmlinux
+0x00000000	give_up_console	vmlinux
+0x00000000	getname	vmlinux
+0x00000000	__ioremap	vmlinux
+0x00000000	free_irq	vmlinux
+0x00000000	filemap_fdatawait	vmlinux
+0x00000000	rpcauth_register	net/sunrpc/sunrpc
+0x00000000	s3c2410_gpio_getpin	vmlinux
+0x00000000	s3c2410_gpio_setpin	vmlinux
+0x00000000	rpc_wake_up	net/sunrpc/sunrpc
+0x00000000	input_event	vmlinux
+0x00000000	simple_pin_fs	vmlinux
+0x00000000	schedule_delayed_work	vmlinux
+0x00000000	sock_no_sendpage	vmlinux
+0x00000000	__muldi3	vmlinux
+0x00000000	bitmap_scnprintf	vmlinux
+0x00000000	posix_block_lock	vmlinux
+0x00000000	__bitmap_and	vmlinux
+0x00000000	kernel_sendmsg	vmlinux
+0x00000000	uart_register_driver	vmlinux
+0x00000000	tasklist_lock	vmlinux
+0x00000000	dev_remove_pack	vmlinux
+0x00000000	posix_lock_file	vmlinux
+0x00000000	set_page_dirty	vmlinux
+0x00000000	totalram_pages	vmlinux
+0x00000000	generic_file_writev	vmlinux
+0x00000000	udp_disconnect	vmlinux
+0x00000000	install_page	vmlinux
+0x00000000	s3c2410_dma_free	vmlinux
+0x00000000	journal_get_write_access	fs/jbd/jbd
+0x00000000	fb_pan_display	vmlinux
+0x00000000	fb_show_logo	vmlinux
+0x00000000	xdr_encode_opaque	net/sunrpc/sunrpc
+0x00000000	__sk_stream_mem_reclaim	vmlinux
+0x00000000	parse_mtd_partitions	vmlinux
+0x00000000	blk_queue_stack_limits	vmlinux
+0x00000000	sysdev_unregister	vmlinux
+0x00000000	sk_send_sigurg	vmlinux
+0x00000000	hashbin_remove	vmlinux
+0x00000000	drop_super	vmlinux
+0x00000000	printk	vmlinux
+0x00000000	sk_alloc	vmlinux
+0x00000000	remove_inode_hash	vmlinux
+0x00000000	try_to_release_page	vmlinux
+0x00000000	rpcauth_lookup_credcache	net/sunrpc/sunrpc
+0x00000000	kobject_add	vmlinux
+0x00000000	net_random	vmlinux
+0x00000000	gnet_stats_copy_queue	vmlinux
+0x00000000	simple_dir_operations	vmlinux
+0x00000000	tcp_memory_pressure	vmlinux
+0x00000000	ip_statistics	vmlinux
+0x00000000	nand_release	vmlinux
+0x00000000	elv_add_request	vmlinux
+0x00000000	serio_register_driver	vmlinux
+0x00000000	fg_console	vmlinux
+0x00000000	kernel_read	vmlinux
+0x00000000	vfs_read	vmlinux
+0x00000000	memcpy_fromiovec	vmlinux
+0x00000000	blk_queue_prep_rq	vmlinux
+0x00000000	tty_ldisc_get	vmlinux
+0x00000000	cache_clean	net/sunrpc/sunrpc
+0x00000000	journal_unlock_updates	fs/jbd/jbd
+0x00000000	sysdev_class_register	vmlinux
+0x00000000	bio_alloc	vmlinux
+0x00000000	__get_free_pages	vmlinux
+0x00000000	find_task_by_pid_type	vmlinux
+0x00000000	disallow_signal	vmlinux
+0x00000000	blk_queue_resize_tags	vmlinux
+0x00000000	ipv4_specific	vmlinux
+0x00000000	register_mtd_chip_driver	vmlinux
+0x00000000	deregister_mtd_parser	vmlinux
+0x00000000	match_strdup	vmlinux
+0x00000000	radix_tree_lookup	vmlinux
+0x00000000	neigh_seq_next	vmlinux
+0x00000000	vfs_rename	vmlinux
+0x00000000	generic_ro_fops	vmlinux
+0x00000000	kthread_bind	vmlinux
+0x00000000	del_mtd_blktrans_dev	vmlinux
+0x00000000	cache_register	net/sunrpc/sunrpc
+0x00000000	inetdev_by_index	vmlinux
+0x00000000	filemap_fdatawrite	vmlinux
+0x00000000	dev_base_lock	vmlinux
+0x00000000	console_blank_hook	vmlinux
+0x00000000	bio_hw_segments	vmlinux
+0x00000000	disable_dma	vmlinux
+0x00000000	get_sb_bdev	vmlinux
+0x00000000	file_fsync	vmlinux
+0x00000000	gnet_stats_finish_copy	vmlinux
+0x00000000	dma_pool_create	vmlinux
+0x00000000	block_all_signals	vmlinux
+0x00000000	_test_and_clear_bit_le	vmlinux
+0x00000000	dma_pool_destroy	vmlinux
+0x00000000	tty_name	vmlinux
+0x00000000	destroy_workqueue	vmlinux
+0x00000000	do_SAK	vmlinux
+0x00000000	check_disk_change	vmlinux
+0x00000000	param_get_uint	vmlinux
+0x00000000	get_wchan	vmlinux
+0x00000000	elv_register	vmlinux
+0x00000000	page_put_link	vmlinux
+0x00000000	rpc_sleep_on	net/sunrpc/sunrpc
+0x00000000	get_option	vmlinux
+0x00000000	inet_accept	vmlinux
+0x00000000	__pskb_pull_tail	vmlinux
+0x00000000	tty_wait_until_sent	vmlinux
+0x00000000	vfs_fstat	vmlinux
+0x00000000	vfs_lstat	vmlinux
+0x00000000	__udivmoddi4	vmlinux
+0x00000000	dma_spin_lock	vmlinux
+0x00000000	vesa_modes	vmlinux
+0x00000000	ioread16	vmlinux
+0x00000000	generic_fillattr	vmlinux
+0x00000000	mempool_alloc_slab	vmlinux
+0x00000000	param_set_invbool	vmlinux
+0x00000000	abort	vmlinux
+0x00000000	save_time_delta	vmlinux
+0x00000000	svc_drop	net/sunrpc/sunrpc
+0x00000000	skb_clone	vmlinux
+0x00000000	setup_arg_pages	vmlinux
+0x00000000	unregister_rtc	vmlinux
+0x00000000	sysctl_jiffies	vmlinux
+0x00000000	net_statistics	vmlinux
+0x00000000	tcp_init_xmit_timers	vmlinux
+0x00000000	vt_cons	vmlinux
+0x00000000	make_bad_inode	vmlinux
+0x00000000	bio_uncopy_user	vmlinux
+0x00000000	gss_mech_unregister	net/sunrpc/auth_gss/auth_rpcgss
+0x00000000	tcp_memory_allocated	vmlinux
+0x00000000	seq_release_private	vmlinux
+0x00000000	blk_max_pfn	vmlinux
+0x00000000	auth_domain_lookup	net/sunrpc/sunrpc
+0x00000000	fb_get_mode	vmlinux
+0x00000000	update_atime	vmlinux
+0x00000000	vfs_readv	vmlinux
+0x00000000	do_sync_write	vmlinux
+0x00000000	tcp_listen_wlock	vmlinux
+0x00000000	mmc_detect_change	vmlinux
+0x00000000	fb_sysmove_buf_aligned	vmlinux
+0x00000000	search_binary_handler	vmlinux
+0x00000000	__put_user_8	vmlinux
+0x00000000	__get_user_8	vmlinux
+0x00000000	tcp_disconnect	vmlinux
+0x00000000	put_device	vmlinux
+0x00000000	bio_pair_release	vmlinux
+0x00000000	journal_start	fs/jbd/jbd
+0x00000000	register_filesystem	vmlinux
+0x00000000	loops_per_jiffy	vmlinux
+0x00000000	generic_make_request	vmlinux
+0x00000000	queue_delayed_work	vmlinux
+0x00000000	irlmp_update_client	vmlinux
+0x00000000	ip_send_check	vmlinux
+0x00000000	filemap_flush	vmlinux
+0x00000000	unix_domain_find	net/sunrpc/sunrpc
+0x00000000	s3c2410_dma_set_buffdone_fn	vmlinux
+0x00000000	dev_get_by_name	vmlinux
+0x00000000	ip_options_undo	vmlinux
+0x00000000	generic_cont_expand	vmlinux
+0x00000000	udp_prot	vmlinux
+0x00000000	mb_cache_shrink	vmlinux
+0x00000000	register_mtd_parser	vmlinux
+0x00000000	mark_page_accessed	vmlinux
+0x00000000	cdev_add	vmlinux
+0x00000000	block_sync_page	vmlinux
+0x00000000	__do_div64	vmlinux
+0x00000000	dev_mc_add	vmlinux
+0x00000000	fb_blank	vmlinux
+0x00000000	utf8_mbtowc	vmlinux
+0x00000000	open_exec	vmlinux
+0x00000000	mb_cache_entry_find_next	vmlinux
+0x00000000	journal_forget	fs/jbd/jbd
+0x00000000	unlock_kernel	vmlinux
+0x00000000	proc_irda	vmlinux
+0x00000000	__set_page_dirty_nobuffers	vmlinux
+0x00000000	qdisc_lock_tree	vmlinux
+0x00000000	dev_set_promiscuity	vmlinux
+0x00000000	zlib_deflate_workspacesize	lib/zlib_deflate/zlib_deflate
+0x00000000	neigh_connected_output	vmlinux
+0x00000000	param_set_ushort	vmlinux
+0x00000000	svc_recv	net/sunrpc/sunrpc
+0x00000000	inet_peer_idlock	vmlinux
+0x00000000	netlink_kernel_create	vmlinux
+0x00000000	schedule	vmlinux
+0x00000000	init_task	vmlinux
+0x00000000	mmput	vmlinux
+0x00000000	rpc_execute	net/sunrpc/sunrpc
+0x00000000	gnet_stats_copy_app	vmlinux
+0x00000000	__insert_inode_hash	vmlinux
+0x00000000	fs_overflowgid	vmlinux
+0x00000000	blk_rq_bio_prep	vmlinux
+0x00000000	bio_clone	vmlinux
+0x00000000	end_request	vmlinux
+0x00000000	ioport_map	vmlinux
+0x00000000	kern_fp_enter	vmlinux
+0x00000000	tcp_destroy_sock	vmlinux
+0x00000000	unregister_blkdev	vmlinux
+0x00000000	write_inode_now	vmlinux
+0x00000000	fat_search_long	fs/fat/fat
+0x00000000	seq_path	vmlinux
+0x00000000	msleep_interruptible	vmlinux
+0x00000000	g_verify_token_header	net/sunrpc/auth_gss/auth_rpcgss
+0x00000000	rtnl_sem	vmlinux
+0x00000000	radix_tree_tag_clear	vmlinux
+0x00000000	generic_file_open	vmlinux
+0x00000000	default_unplug_io_fn	vmlinux
+0x00000000	subsys_create_file	vmlinux
+0x00000000	d_instantiate	vmlinux
+0x00000000	elv_completed_request	vmlinux
+0x00000000	crc32_be	vmlinux
+0x00000000	sysdev_create_file	vmlinux
+0x00000000	open_bdev_excl	vmlinux
+0x00000000	rpc_restart_call	net/sunrpc/sunrpc
+0x00000000	ip_rt_ioctl	vmlinux
+0x00000000	fb_con	vmlinux
+0x00000000	skb_queue_tail	vmlinux
+0x00000000	mark_buffer_dirty_inode	vmlinux
+0x00000000	queue_work	vmlinux
+0x00000000	release_console_sem	vmlinux
+0x00000000	blk_get_backing_dev_info	vmlinux
+0x00000000	elevator_init	vmlinux
+0x00000000	tty_check_change	vmlinux
+0x00000000	tty_register_ldisc	vmlinux
+0x00000000	kill_fasync	vmlinux
+0x00000000	param_get_byte	vmlinux
+0x00000000	schedule_timeout	vmlinux
+0x00000000	netlink_dump_start	vmlinux
+0x00000000	mmc_start_request	vmlinux
+0x00000000	aio_put_req	vmlinux
+0x00000000	__raw_writesl	vmlinux
+0x00000000	__raw_writesw	vmlinux
+0x00000000	__raw_writesb	vmlinux
+0x00000000	neigh_destroy	vmlinux
+0x00000000	blk_sync_queue	vmlinux
+0x00000000	_test_and_change_bit_le	vmlinux
+0x00000000	pskb_copy	vmlinux
+0x00000000	class_unregister	vmlinux
+0x00000000	__raw_readsb	vmlinux
+0x00000000	int_sqrt	vmlinux
+0x00000000	local_bh_enable	vmlinux
+0x00000000	system_rev	vmlinux
+0x00000000	journal_dirty_metadata	fs/jbd/jbd
+0x00000000	call_usermodehelper	vmlinux
+0x00000000	__ucmpdi2	vmlinux
+0x00000000	cap_netlink_send	vmlinux
+0x00000000	__dev_get_by_name	vmlinux
+0x00000000	skb_copy_and_csum_dev	vmlinux
+0x00000000	register_netdev	vmlinux
+0x00000000	__bitmap_andnot	vmlinux
+0x00000000	sk_free_slab	vmlinux
+0x00000000	param_set_int	vmlinux
+0x00000000	xdr_inline_pages	net/sunrpc/sunrpc
+0x00000000	sysctl_local_port_range	vmlinux
+0x00000000	irlmp_unregister_service	vmlinux
+0x00000000	param_set_short	vmlinux
+0x00000000	skb_pad	vmlinux
+0x00000000	generic_file_llseek	vmlinux
+0x00000000	vfree	vmlinux
+0x00000000	wait_on_page_bit	vmlinux
+0x00000000	irttp_open_tsap	vmlinux
+0x00000000	irlmp_open_lsap	vmlinux
+0x00000000	neigh_update_hhs	vmlinux
+0x00000000	elv_rq_merge_ok	vmlinux
+0x00000000	dma_pool_alloc	vmlinux
+0x00000000	generic_file_sendfile	vmlinux
+0x00000000	tcp_v4_do_rcv	vmlinux
+0x00000000	blk_dump_rq_flags	vmlinux
+0x00000000	get_device	vmlinux
+0x00000000	sysfs_create_group	vmlinux
+0x00000000	g_make_token_header	net/sunrpc/auth_gss/auth_rpcgss
+0x00000000	kobject_register	vmlinux
+0x00000000	ethtool_op_get_tso	vmlinux
+0x00000000	xprt_destroy	net/sunrpc/sunrpc
+0x00000000	__down_read	vmlinux
+0x00000000	tcp_prot	vmlinux
+0x00000000	raise_softirq_irqoff	vmlinux
+0x00000000	pci_iounmap	vmlinux
+0x00000000	blk_queue_max_phys_segments	vmlinux
+0x00000000	simple_getattr	vmlinux
+0x00000000	mempool_free	vmlinux
+0x00000000	journal_init_inode	fs/jbd/jbd
+0x00000000	sscanf	vmlinux
+0x00000000	tcp_rcv_state_process	vmlinux
+0x00000000	ethtool_op_get_tx_csum	vmlinux
+0x00000000	__breadahead	vmlinux
+0x00000000	journal_stop	fs/jbd/jbd
+0x00000000	sirdev_raw_read	vmlinux
+0x00000000	wait_for_completion	vmlinux
+0x00000000	put_rpccred	net/sunrpc/sunrpc
+0x00000000	sock_create_lite	vmlinux
+0x00000000	ip4_datagram_connect	vmlinux
+0x00000000	tcp_timewait_state_process	vmlinux
+0x00000000	irttp_dup	vmlinux
+0x00000000	irlmp_dup	vmlinux
+0x00000000	clear_page_dirty_for_io	vmlinux
+0x00000000	clk_disable	vmlinux
+0x00000000	s3c2410_gpio_cfgpin	vmlinux
+0x00000000	tty_get_baud_rate	vmlinux
+0x00000000	vfs_follow_link	vmlinux
+0x00000000	sysdev_class_unregister	vmlinux
+0x00000000	cache_init	net/sunrpc/sunrpc
+0x00000000	serio_register_port	vmlinux
+0x00000000	jiffies	vmlinux
+0x00000000	__modsi3	vmlinux
+0x00000000	__divsi3	vmlinux
+0x00000000	dev_queue_xmit	vmlinux
+0x00000000	do_map_probe	vmlinux
+0x00000000	proc_mkdir	vmlinux
+0x00000000	__kfifo_get	vmlinux
+0x00000000	__kfifo_put	vmlinux
+0x00000000	blk_rq_map_sg	vmlinux
+0x00000000	xtime	vmlinux
+0x00000000	proc_dointvec_jiffies	vmlinux
+0x00000000	__bitmap_or	vmlinux
+0x00000000	sk_stream_wait_memory	vmlinux
+0x00000000	iowrite8	vmlinux
+0x00000000	strspn	vmlinux
+0x00000000	strlen	vmlinux
+0x00000000	svc_proc_register	net/sunrpc/sunrpc
+0x00000000	match_int	vmlinux
+0x00000000	radix_tree_tag_set	vmlinux
+0x00000000	__generic_file_aio_read	vmlinux
+0x00000000	sysctl_string	vmlinux
+0x00000000	__page_cache_release	vmlinux
+0x00000000	get_options	vmlinux
+0x00000000	rtnetlink_links	vmlinux
+0x00000000	input_unregister_handler	vmlinux
+0x00000000	fat_fill_super	fs/fat/fat
+0x00000000	register_exec_domain	vmlinux
+0x00000000	ptrace_notify	vmlinux
+0x00000000	dump_thread	vmlinux
+0x00000000	print_hexl	net/sunrpc/auth_gss/auth_rpcgss
+0x00000000	proc_net	vmlinux
+0x00000000	irias_find_attrib	vmlinux
+0x00000000	sk_stream_mem_schedule	vmlinux
+0x00000000	fb_find_best_mode	vmlinux
+0x00000000	seq_printf	vmlinux
+0x00000000	simple_strtol	vmlinux
+0x00000000	neigh_delete	vmlinux
+0x00000000	mmc_free_host	vmlinux
+0x00000000	gen_kill_estimator	vmlinux
+0x00000000	remote_llseek	vmlinux
+0x00000000	vfs_stat	vmlinux
+0x00000000	__bio_clone	vmlinux
+0x00000000	wake_up_bit	vmlinux
+0x00000000	zlib_deflateReset	lib/zlib_deflate/zlib_deflate
+0x00000000	cap_netlink_recv	vmlinux
+0x00000000	sysdev_driver_register	vmlinux
+0x00000000	irlmp_unregister_client	vmlinux
+0x00000000	serio_unregister_port_delayed	vmlinux
+0x00000000	f_setown	vmlinux
+0x00000000	xdr_encode_string	net/sunrpc/sunrpc
+0x00000000	__down_write_trylock	vmlinux
+0x00000000	__bitmap_empty	vmlinux
+0x00000000	elv_unregister	vmlinux
+0x00000000	submit_bh	vmlinux
+0x00000000	console_print	vmlinux
+0x00000000	rb_insert_color	vmlinux
+0x00000000	__inode_dir_notify	vmlinux
+0x00000000	xprt_udp_slot_table_entries	net/sunrpc/sunrpc
+0x00000000	symbol_put_addr	vmlinux
+0x00000000	irttp_close_tsap	vmlinux
+0x00000000	hashbin_remove_this	vmlinux
+0x00000000	irlmp_close_lsap	vmlinux
+0x00000000	default_mtd_readv	vmlinux
+0x00000000	d_alloc	vmlinux
+0x00000000	s3c_device_sdi	vmlinux
+0x00000000	journal_extend	fs/jbd/jbd
+0x00000000	clk_set_rate	vmlinux
+0x00000000	clk_get_rate	vmlinux
+0x00000000	udp_proc_register	vmlinux
+0x00000000	sysctl_discovery_timeout	vmlinux
+0x00000000	nr_free_pages	vmlinux
+0x00000000	clear_inode	vmlinux
+0x00000000	neigh_parms_release	vmlinux
+0x00000000	device_release_driver	vmlinux
+0x00000000	set_current_groups	vmlinux
+0x00000000	update_region	vmlinux
+0x00000000	scm_fp_dup	vmlinux
+0x00000000	tty_vhangup	vmlinux
+0x00000000	shrink_dcache_parent	vmlinux
+0x00000000	user_get_super	vmlinux
+0x00000000	execve	vmlinux
+0x00000000	synchronize_net	vmlinux
+0x00000000	bus_for_each_drv	vmlinux
+0x00000000	bus_for_each_dev	vmlinux
+0x00000000	pneigh_lookup	vmlinux
+0x00000000	uart_register_port	vmlinux
+0x00000000	__udelay	vmlinux
+0x00000000	blk_queue_find_tag	vmlinux
+0x00000000	in_egroup_p	vmlinux
+0x00000000	tty_termios_baud_rate	vmlinux
+0x00000000	fb_alloc_cmap	vmlinux
+0x00000000	rpc_release_task	net/sunrpc/sunrpc
+0x00000000	iowrite32	vmlinux
+0x00000000	iowrite16	vmlinux
+0x00000000	zlib_inflateInit_	vmlinux
+0x00000000	tcp_child_process	vmlinux
+0x00000000	param_get_charp	vmlinux
+0x00000000	prepare_binprm	vmlinux
+0x00000000	rb_last	vmlinux
+0x00000000	hashbin_get_first	vmlinux
+0x00000000	tcp_v4_destroy_sock	vmlinux
+0x00000000	__print_symbol	vmlinux
+0x00000000	sprintf	vmlinux
+0x00000000	sysdev_register	vmlinux
+0x00000000	simple_unlink	vmlinux
+0x00000000	generic_listxattr	vmlinux
+0x00000000	net_ratelimit	vmlinux
+0x00000000	inter_module_put	vmlinux
+0x00000000	inter_module_get	vmlinux
+0x00000000	journal_dirty_data	fs/jbd/jbd
+0x00000000	find_vma	vmlinux
+0x00000000	inet_stream_connect	vmlinux
+0x00000000	_find_first_bit_le	vmlinux
+0x00000000	journal_ack_err	fs/jbd/jbd
+0x00000000	simple_strtoul	vmlinux
+0x00000000	tcp_rcv_established	vmlinux
+0x00000000	proc_net_stat	vmlinux
+0x00000000	balance_dirty_pages_ratelimited	vmlinux
+0x00000000	proc_symlink	vmlinux
+0x00000000	blk_queue_dma_alignment	vmlinux
+0x00000000	sysfs_rename_dir	vmlinux
+0x00000000	enable_hlt	vmlinux
+0x00000000	enable_irq	vmlinux
+0x00000000	enable_dma	vmlinux
+0x00000000	s3c_device_timer3	vmlinux
+0x00000000	tcp_v4_rebuild_header	vmlinux
+0x00000000	memchr	vmlinux
+0x00000000	insert_resource	vmlinux
+0x00000000	submit_bio	vmlinux
+0x00000000	alloc_page_buffers	vmlinux
+0x00000000	console_printk	vmlinux
+0x00000000	neigh_lookup	vmlinux
+0x00000000	mmc_remove_host	vmlinux
+0x00000000	machine_power_off	vmlinux
+0x00000000	cache_purge	net/sunrpc/sunrpc
+0x00000000	inode_setattr	vmlinux
+0x00000000	alloc_buffer_head	vmlinux
+0x00000000	s3c_device_spi1	vmlinux
+0x00000000	s3c_device_spi0	vmlinux
+0x00000000	xdr_write_pages	net/sunrpc/sunrpc
+0x00000000	ip_route_input	vmlinux
+0x00000000	device_remove_file	vmlinux
+0x00000000	file_lock_list	vmlinux
+0x00000000	ip_options_compile	vmlinux
+0x00000000	aio_complete	vmlinux
+0x00000000	param_get_ulong	vmlinux
+0x00000000	cap_settime	vmlinux
+0x00000000	sysctl_intvec	vmlinux
+0x00000000	blk_remove_plug	vmlinux
+0x00000000	move_addr_to_kernel	vmlinux
+0x00000000	skb_iter_next	vmlinux
+0x00000000	add_to_page_cache	vmlinux
+0x00000000	ROOT_DEV	vmlinux
+0x00000000	__wait_on_bit_lock	vmlinux
+0x00000000	svc_auth_register	net/sunrpc/sunrpc
+0x00000000	flow_cache_genid	vmlinux
+0x00000000	gen_new_estimator	vmlinux
+0x00000000	input_class	vmlinux
+0x00000000	vc_cons	vmlinux
+0x00000000	sys_exit	vmlinux
+0x00000000	strlcat	vmlinux
+0x00000000	kthread_should_stop	vmlinux
+0x00000000	strncat	vmlinux
+0x00000000	sync_mapping_buffers	vmlinux
+0x00000000	fat_scan	fs/fat/fat
+0x00000000	irias_delete_object	vmlinux
+0x00000000	inode_change_ok	vmlinux
+0x00000000	irias_object_change_attribute	vmlinux
+0x00000000	datagram_poll	vmlinux
+0x00000000	blk_queue_end_tag	vmlinux
+0x00000000	__up_read	vmlinux
+0x00000000	flush_old_exec	vmlinux
+0x00000000	inet_addr_type	vmlinux
+0x00000000	s3c_device_usbgadget	vmlinux
+0x00000000	tcp_proc_register	vmlinux
+0x00000000	stop_tty	vmlinux
+0x00000000	get_sb_nodev	vmlinux
+0x00000000	kthread_create	vmlinux
+0x00000000	qdisc_restart	vmlinux
+0x00000000	loopback_dev	vmlinux
+0x00000000	strcspn	vmlinux
+0x00000000	neigh_ifdown	vmlinux
+0x00000000	do_kern_mount	vmlinux
+0x00000000	sirdev_write_complete	vmlinux
+0x00000000	sirdev_receive	vmlinux
+0x00000000	svc_process	net/sunrpc/sunrpc
+0x00000000	alloc_chrdev_region	vmlinux
+0x00000000	s3c2410_modify_misccr	vmlinux
+0x00000000	rpc_killall_tasks	net/sunrpc/sunrpc
+0x00000000	rb_next	vmlinux
+0x00000000	arp_find	vmlinux
+0x00000000	net_srandom	vmlinux
+0x00000000	skb_checksum	vmlinux
+0x00000000	deregister_mtd_blktrans	vmlinux
+0x00000000	finish_wait	vmlinux
+0x00000000	simple_strtoull	vmlinux
+0x00000000	__bitmap_weight	vmlinux
+0x00000000	simple_read_from_buffer	vmlinux
+0x00000000	default_red	vmlinux
+0x00000000	generate_random_uuid	vmlinux
+0x00000000	fb_edid_to_monspecs	vmlinux
+0x00000000	set_dma_addr	vmlinux
+0x00000000	path_release	vmlinux
+0x00000000	vfs_statfs	vmlinux
+0x00000000	udp_ioctl	vmlinux
+0x00000000	rtnetlink_put_metrics	vmlinux
+0x00000000	class_device_del	vmlinux
+0x00000000	driver_probe_device	vmlinux
+0x00000000	may_umount	vmlinux
+0x00000000	zlib_deflateInit2_	lib/zlib_deflate/zlib_deflate
+0x00000000	block_read_full_page	vmlinux
+0x00000000	__up_write	vmlinux
+0x00000000	put_bus	vmlinux
+0x00000000	pm_unregister_all	vmlinux
+0x00000000	hashbin_find	vmlinux
+0x00000000	tcp_v4_connect	vmlinux
+0x00000000	tcp_sync_mss	vmlinux
+0x00000000	serio_rescan	vmlinux
+0x00000000	framebuffer_alloc	vmlinux
+0x00000000	bio_get_nr_vecs	vmlinux
+0x00000000	load_nls_default	vmlinux
+0x00000000	nonseekable_open	vmlinux
+0x00000000	kmem_cache_create	vmlinux
+0x00000000	seq_escape	vmlinux
+0x00000000	dev_get_by_flags	vmlinux
+0x00000000	d_alloc_root	vmlinux
+0x00000000	clk_use	vmlinux
+0x00000000	skb_over_panic	vmlinux
+0x00000000	inet_unregister_protosw	vmlinux
+0x00000000	mb_cache_entry_free	vmlinux
+0x00000000	swap_io_context	vmlinux
+0x00000000	simple_commit_write	vmlinux
+0x00000000	profile_event_register	vmlinux
+0x00000000	s3c2410_dma_request	vmlinux
+0x00000000	s3c2410_dma_enqueue	vmlinux
+0x00000000	register_netdevice	vmlinux
+0x00000000	elv_queue_empty	vmlinux
+0x00000000	blkdev_put	vmlinux
+0x00000000	blkdev_get	vmlinux
+0x00000000	tcp_get_info	vmlinux
+0x00000000	generic_osync_inode	vmlinux
+0x00000000	jiffies_64	vmlinux
+0x00000000	svc_create	net/sunrpc/sunrpc
+0x00000000	dcache_readdir	vmlinux
+0x00000000	inode_add_bytes	vmlinux
+0x00000000	generic_file_mmap	vmlinux
+0x00000000	generic_file_read	vmlinux
+0x00000000	__machine_arch_type	vmlinux
+0x00000000	idr_find	vmlinux
+0x00000000	neigh_rand_reach_time	vmlinux
+0x00000000	sock_common_setsockopt	vmlinux
+0x00000000	sock_common_getsockopt	vmlinux
+0x00000000	vfs_mknod	vmlinux
+0x00000000	ethtool_op_get_sg	vmlinux
+0x00000000	skb_dequeue	vmlinux
+0x00000000	s3c2410_gpio_getcfg	vmlinux
+0x00000000	disable_irq_nosync	vmlinux
+0x00000000	irda_notify_init	vmlinux
+0x00000000	alloc_etherdev	vmlinux
+0x00000000	find_font	vmlinux
+0x00000000	rpc_wake_up_task	net/sunrpc/sunrpc
+0x00000000	proc_dostring	vmlinux
+0x00000000	journal_force_commit_nested	fs/jbd/jbd
+0x00000000	cap_vm_enough_memory	vmlinux
+0x00000000	skb_insert	vmlinux
+0x00000000	blk_queue_max_segment_size	vmlinux
+0x00000000	log_wait_commit	fs/jbd/jbd
+0x00000000	__symbol_put	vmlinux
+0x00000000	get_zeroed_page	vmlinux
+0x00000000	input_close_device	vmlinux
+0x00000000	prepare_to_wait_exclusive	vmlinux
+0x00000000	remove_proc_entry	vmlinux
+0x00000000	filemap_nopage	vmlinux
+0x00000000	uart_resume_port	vmlinux
+0x00000000	sysctl_wmem_max	vmlinux
+0x00000000	sysctl_rmem_max	vmlinux
+0x00000000	xprt_tcp_slot_table_entries	net/sunrpc/sunrpc
+0x00000000	rpc_clone_client	net/sunrpc/sunrpc
+0x00000000	irda_device_set_media_busy	vmlinux
+0x00000000	move_addr_to_user	vmlinux
+0x00000000	fb_unregister_client	vmlinux
+0x00000000	clk_unuse	vmlinux
+0x00000000	vfs_readlink	vmlinux
+0x00000000	complete_and_exit	vmlinux
+0x00000000	udp_hash	vmlinux
+0x00000000	fb_default_cmap	vmlinux
+0x00000000	sysfs_remove_group	vmlinux
+0x00000000	rpc_init_task	net/sunrpc/sunrpc
+0x00000000	netif_rx_ni	vmlinux
+0x00000000	alloc_disk	vmlinux
+0x00000000	device_attach	vmlinux
+0x00000000	seq_puts	vmlinux
+0x00000000	seq_putc	vmlinux
+0x00000000	uart_update_timeout	vmlinux
+0x00000000	do_add_mount	vmlinux
+0x00000000	d_genocide	vmlinux
+0x00000000	__module_put_and_exit	vmlinux
+0x00000000	d_rehash	vmlinux
+0x00000000	end_buffer_write_sync	vmlinux
+0x00000000	__ashldi3	vmlinux
+0x00000000	__mmc_claim_host	vmlinux
+0x00000000	n_tty_ioctl	vmlinux
+0x00000000	__bdevname	vmlinux
+0x00000000	cont_prepare_write	vmlinux
+0x00000000	vfs_write	vmlinux
+0x00000000	remove_shrinker	vmlinux
+0x00000000	netif_rx	vmlinux
+0x00000000	unregister_binfmt	vmlinux
+0x00000000	__mod_timer	vmlinux
+0x00000000	xdr_decode_string	net/sunrpc/sunrpc
+0x00000000	xdr_init_encode	net/sunrpc/sunrpc
+0x00000000	sock_no_accept	vmlinux
+0x00000000	machine_halt	vmlinux
+0x00000000	mmc_unregister_driver	vmlinux
+0x00000000	elevator_exit	vmlinux
+0x00000000	__lock_buffer	vmlinux
+0x00000000	mtd_table	vmlinux
+0x00000000	tcp_ioctl	vmlinux
+0x00000000	sirdev_set_dtr_rts	vmlinux
+0x00000000	registered_fb	vmlinux
+0x00000000	vfs_symlink	vmlinux
+0x00000000	unmap_mapping_range	vmlinux
+0x00000000	__alloc_pages	vmlinux
+0x00000000	overflowgid	vmlinux
+0x00000000	overflowuid	vmlinux
+0x00000000	inet_select_addr	vmlinux
+0x00000000	generic_file_readv	vmlinux
+0x00000000	dcache_dir_close	vmlinux
+0x00000000	sock_no_connect	vmlinux
+0x00000000	set_shrinker	vmlinux
+0x00000000	__bitmap_subset	vmlinux
+0x00000000	eth_type_trans	vmlinux
+0x00000000	mb_cache_entry_get	vmlinux
+0x00000000	send_sig	vmlinux
+0x00000000	irda_param_insert	vmlinux
+0x00000000	tcp_shutdown	vmlinux
+0x00000000	param_set_uint	vmlinux
+0x00000000	rpc_init_wait_queue	net/sunrpc/sunrpc
+0x00000000	net_disable_timestamp	vmlinux
+0x00000000	get_bus	vmlinux
+0x00000000	groups_alloc	vmlinux
+0x00000000	netlink_unregister_notifier	vmlinux
+0x00000000	simple_release_fs	vmlinux
+0x00000000	generic_file_aio_write_nolock	vmlinux
+0x00000000	dev_ioctl	vmlinux
+0x00000000	add_wait_queue	vmlinux
+0x00000000	strnchr	vmlinux
+0x00000000	dev_add_pack	vmlinux
+0x00000000	strrchr	vmlinux
+0x00000000	journal_clear_err	fs/jbd/jbd
+0x00000000	vsnprintf	vmlinux
+0x00000000	rb_replace_node	vmlinux
+0x00000000	sysctl_tcp_reordering	vmlinux
+0x00000000	mmc_queue_suspend	vmlinux
+0x00000000	class_simple_destroy	vmlinux
+0x00000000	tty_ldisc_flush	vmlinux
+0x00000000	crypto_alloc_tfm	vmlinux
+0x00000000	tty_set_operations	vmlinux
+0x00000000	get_super	vmlinux
+0x00000000	mark_buffer_dirty	vmlinux
+0x00000000	flush_scheduled_work	vmlinux
+0x00000000	memscan	vmlinux
+0x00000000	skb_copy_and_csum_bits	vmlinux
+0x00000000	ll_rw_block	vmlinux
+0x00000000	svc_proc_unregister	net/sunrpc/sunrpc
+0x00000000	kref_init	vmlinux
+0x00000000	cap_bprm_apply_creds	vmlinux
+0x00000000	serio_open	vmlinux
+0x00000000	netlink_post	vmlinux
+0x00000000	sock_register	vmlinux
+0x00000000	serio_close	vmlinux
+0x00000000	register_mtd_blktrans	vmlinux
+0x00000000	end_buffer_async_write	vmlinux
+0x00000000	skb_under_panic	vmlinux
+0x00000000	vfs_writev	vmlinux
+0x00000000	proc_dointvec	vmlinux
+0x00000000	class_simple_create	vmlinux
+0x00000000	s3c2410_gpio_pullup	vmlinux
+0x00000000	machine_restart	vmlinux
+0x00000000	zlib_inflate_workspacesize	vmlinux
+0x00000000	sync_page_range	vmlinux
+0x00000000	match_strcpy	vmlinux
+0x00000000	tcp_recvmsg	vmlinux
+0x00000000	proc_dointvec_userhz_jiffies	vmlinux
+0x00000000	console_start	vmlinux
+0x00000000	tcp_simple_retransmit	vmlinux
+0x00000000	simple_dir_inode_operations	vmlinux
+0x00000000	dcache_dir_open	vmlinux
+0x00000000	__find_get_block	vmlinux
+0x00000000	put_unused_fd	vmlinux
+0x00000000	rb_first	vmlinux
+0x00000000	unregister_module_notifier	vmlinux
+0x00000000	xprt_create_proto	net/sunrpc/sunrpc
+0x00000000	mmc_resume_host	vmlinux
+0x00000000	bus_register	vmlinux
+0x00000000	lock_kernel	vmlinux
+0x00000000	mmc_queue_resume	vmlinux
+0x00000000	mmc_alloc_host	vmlinux
+0x00000000	generic_file_buffered_write	vmlinux
+0x00000000	input_open_device	vmlinux
+0x00000000	fsync_bdev	vmlinux
+0x00000000	s3c_device_nand	vmlinux
+0x00000000	cache_unregister	net/sunrpc/sunrpc
+0x00000000	device_for_each_child	vmlinux
+0x00000000	device_suspend	vmlinux
+0x00000000	rpc_shutdown_client	net/sunrpc/sunrpc
+0x00000000	_ctype	vmlinux
+0x00000000	blk_get_queue	vmlinux
+0x00000000	blk_hw_contig_segment	vmlinux
+0x00000000	firmware_register	vmlinux
+0x00000000	device_find	vmlinux
+0x00000000	bd_set_size	vmlinux
+0x00000000	udp_proc_unregister	vmlinux
+0x00000000	memparse	vmlinux
+0x00000000	skb_copy	vmlinux
+0x00000000	block_truncate_page	vmlinux
+0x00000000	generic_write_checks	vmlinux
+0x00000000	do_settimeofday	vmlinux
+0x00000000	do_gettimeofday	vmlinux
+0x00000000	destroy_8023_client	vmlinux
+0x00000000	flow_cache_lookup	vmlinux
+0x00000000	alloc_tty_driver	vmlinux
+0x00000000	blk_register_region	vmlinux
+0x00000000	default_blu	vmlinux
+0x00000000	bio_put	vmlinux
+0x00000000	journal_force_commit	fs/jbd/jbd
+0x00000000	inode_needs_sync	vmlinux
+0x00000000	grab_cache_page_nowait	vmlinux
+0x00000000	irttp_connect_request	vmlinux
+0x00000000	irlmp_connect_request	vmlinux
+0x00000000	dev_getfirstbyhwtype	vmlinux
+0x00000000	dev_base	vmlinux
+0x00000000	fs_overflowuid	vmlinux
+0x00000000	wake_up_process	vmlinux
+0x00000000	skb_dequeue_tail	vmlinux
+0x00000000	bitreverse	vmlinux
+0x00000000	inet_stream_ops	vmlinux
+0x00000000	qdisc_reset	vmlinux
+0x00000000	register_netdevice_notifier	vmlinux
+0x00000000	end_that_request_last	vmlinux
+0x00000000	bio_unmap_user	vmlinux
+0x00000000	cap_inode_removexattr	vmlinux
+0x00000000	dnotify_parent	vmlinux
+0x00000000	get_sb_single	vmlinux
+0x00000000	add_taint	vmlinux
+0x00000000	pm_power_off	vmlinux
+0x00000000	__neigh_for_each_release	vmlinux
+0x00000000	blk_queue_init_tags	vmlinux
+0x00000000	device_initialize	vmlinux
+0x00000000	bdput	vmlinux
+0x00000000	bdget	vmlinux
+0x00000000	cap_capset_set	vmlinux
+0x00000000	arp_broken_ops	vmlinux
+0x00000000	__bad_xchg	vmlinux
+0x00000000	bio_init	vmlinux
+0x00000000	gss_mech_put	net/sunrpc/auth_gss/auth_rpcgss
+0x00000000	gnet_stats_copy_rate_est	vmlinux
+0x00000000	init_special_inode	vmlinux
+0x00000000	create_empty_buffers	vmlinux
+0x00000000	sk_chk_filter	vmlinux
+0x00000000	release_resource	vmlinux
+0x00000000	brioctl_set	vmlinux
+0x00000000	out_of_line_wait_on_bit_lock	vmlinux
+0x00000000	page_symlink	vmlinux
+0x00000000	gen_replace_estimator	vmlinux
+0x00000000	param_get_bool	vmlinux
+0x00000000	param_set_byte	vmlinux
+0x00000000	arp_tbl	vmlinux
+0x00000000	__backtrace	vmlinux
+0x00000000	xdr_encode_opaque_fixed	net/sunrpc/sunrpc
+0x00000000	set_dma_mode	vmlinux
+0x00000000	sysctl_overcommit_ratio	vmlinux
+0x00000000	unregister_sysrq_key	vmlinux
+0x00000000	simple_transaction_get	vmlinux
+0x00000000	vmalloc_earlyreserve	vmlinux
+0x00000000	dump_stack	vmlinux
+0x00000000	net_sysctl_strdup	vmlinux
+0x00000000	kobject_del	vmlinux
+0x00000000	get_EDID_from_firmware	vmlinux
+0x00000000	poll_initwait	vmlinux
+0x00000000	unregister_console	vmlinux
+0x00000000	register_chrdev_region	vmlinux
+0x00000000	netdev_state_change	vmlinux
+0x00000000	mmc_init_queue	vmlinux
+0x00000000	xprt_set_timeout	net/sunrpc/sunrpc
+0x00000000	__udivdi3	vmlinux
+0x00000000	struct_module	vmlinux
+0x00000000	shrink_dcache_sb	vmlinux
+0x00000000	blkdev_issue_flush	vmlinux
+0x00000000	default_backing_dev_info	vmlinux
+0x00000000	cap_capget	vmlinux
+0x00000000	find_inode_number	vmlinux
+0x00000000	udp_port_rover	vmlinux
+0x00000000	sys_tz	vmlinux
+0x00000000	blk_init_queue	vmlinux
+0x00000000	fb_create_modedb	vmlinux
+0x00000000	unlock_page	vmlinux
+0x00000000	idle_cpu	vmlinux
+0x00000000	svc_auth_unregister	net/sunrpc/sunrpc
+0x00000000	printk_ratelimit	vmlinux
+0x00000000	rtnetlink_dump_ifinfo	vmlinux
+0x00000000	neigh_compat_output	vmlinux
+0x00000000	inode_get_bytes	vmlinux
+0x00000000	__wake_up	vmlinux
+0x00000000	irias_new_object	vmlinux
+0x00000000	vfs_mkdir	vmlinux
+0x00000000	max_mapnr	vmlinux
+0x00000000	tcp_bucket_create	vmlinux
+0x00000000	kobject_uevent_atomic	vmlinux
+0x00000000	mb_cache_create	vmlinux
+0x00000000	iunique	vmlinux
+0x00000000	inet_dgram_ops	vmlinux
+0x00000000	input_release_device	vmlinux
+0x00000000	blk_alloc_queue	vmlinux
+0x00000000	bus_remove_device	vmlinux
+0x00000000	mb_cache_destroy	vmlinux
+0x00000000	make_checksum	net/sunrpc/auth_gss/auth_rpcgss
+0x00000000	get_unused_fd	vmlinux
+0x00000000	proc_doulongvec_minmax	vmlinux
+0x00000000	tcp_proc_unregister	vmlinux
+0x00000000	device_resume	vmlinux
+0x00000000	udp_poll	vmlinux
+0x00000000	console_stop	vmlinux
+0x00000000	device_pm_set_parent	vmlinux
+0x00000000	auth_domain_find	net/sunrpc/sunrpc
+0x00000000	register_mtd_user	vmlinux
+0x00000000	new_inode	vmlinux
+0x00000000	idr_get_new	vmlinux
+0x00000000	unregister_netdevice_notifier	vmlinux
+0x00000000	mmc_suspend_host	vmlinux
+0x00000000	tty_register_driver	vmlinux
+0x00000000	kset_unregister	vmlinux
+0x00000000	driver_remove_file	vmlinux
+0x00000000	s3c2410_dma_set_opfn	vmlinux
+0x00000000	rpcauth_free_credcache	net/sunrpc/sunrpc
+0x00000000	__tasklet_hi_schedule	vmlinux
+0x00000000	read_bytes_from_xdr_buf	net/sunrpc/sunrpc
+0x00000000	zlib_inflateReset	vmlinux
+0x00000000	arp_send	vmlinux
+0x00000000	cdev_del	vmlinux
+0x00000000	pneigh_enqueue	vmlinux
+0x00000000	dev_alloc_name	vmlinux
+0x00000000	soft_cursor	vmlinux
+0x00000000	blk_queue_bounce	vmlinux
+0x00000000	ip_rcv	vmlinux
+0x00000000	read_dev_sector	vmlinux
+0x00000000	journal_create	fs/jbd/jbd
+0x00000000	__up_wakeup	vmlinux
+0x00000000	svc_makesock	net/sunrpc/sunrpc
+0x00000000	hashbin_lock_find	vmlinux
+0x00000000	mb_cache_entry_release	vmlinux
+0x00000000	strcat	vmlinux
+0x00000000	usb_gadget_unregister_driver	vmlinux
+0x00000000	radix_tree_insert	vmlinux
+0x00000000	kern_mount	vmlinux
+0x00000000	qdisc_create_dflt	vmlinux
+0x00000000	noop_qdisc_ops	vmlinux
+0x00000000	uart_add_one_port	vmlinux
+0x00000000	bmap	vmlinux
+0x00000000	register_sysrq_key	vmlinux
+0x00000000	tcp_connect	vmlinux
+0x00000000	neigh_table_clear	vmlinux
+0x00000000	do_munmap	vmlinux
+0x00000000	clk_get_parent	vmlinux
+0x00000000	tcp_bind_hash	vmlinux
+0x00000000	setlease	vmlinux
+0x00000000	bitmap_allocate_region	vmlinux
+0x00000000	svc_reserve	net/sunrpc/sunrpc
+0x00000000	blk_queue_bounce_limit	vmlinux
+0x00000000	platform_bus	vmlinux
+0x00000000	journal_destroy	fs/jbd/jbd
+0x00000000	journal_restart	fs/jbd/jbd
+0x00000000	ioread16_rep	vmlinux
+0x00000000	default_grn	vmlinux
+0x00000000	tcp_setsockopt	vmlinux
+0x00000000	tcp_getsockopt	vmlinux
+0x00000000	schedule_work	vmlinux
+0x00000000	dequeue_signal	vmlinux
+0x00000000	tcp_timewait_cachep	vmlinux
+0x00000000	sysdev_driver_unregister	vmlinux
+0x00000000	compute_creds	vmlinux
+0x00000000	tcp_timer_bug_msg	vmlinux
+0x00000000	sysctl_tcp_wmem	vmlinux
+0x00000000	unregister_mtd_user	vmlinux
+0x00000000	scm_detach_fds	vmlinux
+0x00000000	s3c_device_iis	vmlinux
+0x00000000	s3c_device_i2c	vmlinux
+0x00000000	set_irq_type	vmlinux
+0x00000000	__down_failed	vmlinux
+0x00000000	blk_get_request	vmlinux
+0x00000000	get_default_font	vmlinux
+0x00000000	misc_deregister	vmlinux
+0x00000000	lookup_one_len	vmlinux
+0x00000000	register_inetaddr_notifier	vmlinux
+0x00000000	fb_parse_edid	vmlinux
+0x00000000	journal_wipe	fs/jbd/jbd
+0x00000000	tcp_port_rover	vmlinux
+0x00000000	per_cpu__page_states	vmlinux
+0x00000000	__down_interruptible_failed	vmlinux
+0x00000000	unregister_chrdev_region	vmlinux
+0x00000000	ioread32	vmlinux
+0x00000000	irq_stat	vmlinux
+0x00000000	gnet_stats_copy_basic	vmlinux
+0x00000000	permission	vmlinux
+0x00000000	xtime_lock	vmlinux
+0x00000000	inet_sendmsg	vmlinux
+0x00000000	ip_cmsg_recv	vmlinux
+0x00000000	module_remove_driver	vmlinux
+0x00000000	rpc_call_async	net/sunrpc/sunrpc
+0x00000000	kill_proc	vmlinux
+0x00000000	unregister_inetaddr_notifier	vmlinux
+0x00000000	unregister_exec_domain	vmlinux
+0x00000000	interruptible_sleep_on_timeout	vmlinux
+0x00000000	netlink_ack	vmlinux
+0x00000000	sock_no_bind	vmlinux
+0x00000000	sock_get_timestamp	vmlinux
+0x00000000	param_set_charp	vmlinux
+0x00000000	tty_unregister_device	vmlinux
+0x00000000	vprintk	vmlinux
+0x00000000	vsprintf	vmlinux
+0x00000000	tcp_poll	vmlinux
+0x00000000	__put_user_1	vmlinux
+0x00000000	__get_user_1	vmlinux
+0x00000000	arp_rcv	vmlinux
+0x00000000	class_create_file	vmlinux
+0x00000000	utf8_wctomb	vmlinux
+0x00000000	blk_queue_max_sectors	vmlinux
+0x00000000	wait_on_sync_kiocb	vmlinux
+0x00000000	redirty_page_for_writepage	vmlinux
+0x00000000	sk_stream_kill_queues	vmlinux
+0x00000000	nand_manuf_ids	vmlinux
+0x00000000	invalidate_inode_pages	vmlinux
+0x00000000	irias_insert_object	vmlinux
+0x00000000	__elv_add_request	vmlinux
+0x00000000	bus_unregister	vmlinux
+0x00000000	set_bh_page	vmlinux
+0x00000000	sys_wait4	vmlinux
+0x00000000	strcpy	vmlinux
+0x00000000	fb_get_buffer_offset	vmlinux
+0x00000000	skb_unlink	vmlinux
+0x00000000	uts_sem	vmlinux
+0x00000000	s3c_device_timer2	vmlinux
+0x00000000	auth_unix_lookup	net/sunrpc/sunrpc
+0x00000000	cap_syslog	vmlinux
+0x00000000	input_accept_process	vmlinux
+0x00000000	kmem_cache_size	vmlinux
+0x00000000	kobject_get_path	vmlinux
+0x00000000	inet_ioctl	vmlinux
+0x00000000	framebuffer_release	vmlinux
+0x00000000	svcauth_unix_purge	net/sunrpc/sunrpc
+0x00000000	class_device_create_file	vmlinux
+0x00000000	generic_read_dir	vmlinux
+0x00000000	dentry_unhash	vmlinux
+0x00000000	sys_lseek	vmlinux
+0x00000000	sock_no_shutdown	vmlinux
+0x00000000	vc_resize	vmlinux
+0x00000000	param_set_ulong	vmlinux
+0x00000000	irlmp_register_client	vmlinux
+0x00000000	driver_attach	vmlinux
+0x00000000	match_hex	vmlinux
+0x00000000	irlmp_get_discoveries	vmlinux
+0x00000000	platform_device_register	vmlinux
+0x00000000	fb_register_client	vmlinux
+0x00000000	skb_realloc_headroom	vmlinux
+0x00000000	platform_device_unregister	vmlinux
+0x00000000	__set_personality	vmlinux
+0x00000000	hashbin_new	vmlinux
+0x00000000	page_readlink	vmlinux
+0x00000000	fb_copy_cmap	vmlinux
+0x00000000	_atomic_dec_and_lock	vmlinux
+0x00000000	irda_qos_bits_to_value	vmlinux
+0x00000000	simple_prepare_write	vmlinux
+0x00000000	ip_mc_dec_group	vmlinux
+0x00000000	fb_get_options	vmlinux
+0x00000000	simple_rename	vmlinux
+0x00000000	memcpy_tokerneliovec	vmlinux
+0x00000000	sock_init_data	vmlinux
+0x00000000	zlib_inflateInit2_	vmlinux
+0x00000000	ip_queue_xmit	vmlinux
+0x00000000	unregister_chrdev	vmlinux
+0x00000000	inet_release	vmlinux
+0x00000000	blk_queue_start_tag	vmlinux
+0x00000000	neigh_create	vmlinux
+0x00000000	sirdev_raw_write	vmlinux
+0x00000000	elv_next_request	vmlinux
+0x00000000	blkdev_scsi_issue_flush_fn	vmlinux
+0x00000000	crypto_free_tfm	vmlinux
+0x00000000	kfree	vmlinux
+0x00000000	sock_kmalloc	vmlinux
+0x00000000	ip_route_output_key	vmlinux
+0x00000000	pm_active	vmlinux
+0x00000000	uart_suspend_port	vmlinux
+0x00000000	path_walk	vmlinux
+0x00000000	bio_phys_segments	vmlinux
+0x00000000	neigh_changeaddr	vmlinux
+0x00000000	invalidate_inode_pages2	vmlinux
+0x00000000	kmem_cache_destroy	vmlinux
+0x00000000	pm_register	vmlinux
+0x00000000	rtnl	vmlinux
+0x00000000	rpc_proc_register	net/sunrpc/sunrpc
+0x00000000	dget_locked	vmlinux
+0x00000000	__release_region	vmlinux
+0x00000000	complete_all	vmlinux
+0x00000000	sock_enable_timestamp	vmlinux
+0x00000000	elv_try_merge	vmlinux
+0x00000000	bio_split_pool	vmlinux
+0x00000000	tcp_clear_xmit_timers	vmlinux
+0x00000000	tcp_put_port	vmlinux
+0x00000000	default_llseek	vmlinux
+0x00000000	exit_fs	vmlinux
+0x00000000	tcp_read_sock	vmlinux
+0x00000000	match_octal	vmlinux
+0x00000000	ip_fragment	vmlinux
+0x00000000	sirdev_put_instance	vmlinux
+0x00000000	sirdev_get_instance	vmlinux
+0x00000000	poll_freewait	vmlinux
+0x00000000	si_meminfo	vmlinux
+0x00000000	generic_file_write_nolock	vmlinux
+0x00000000	get_fs_type	vmlinux
+0x00000000	call_rcu_bh	vmlinux
+0x00000000	journal_check_used_features	fs/jbd/jbd
+0x00000000	blk_start_queue	vmlinux
+0x00000000	bio_copy_user	vmlinux
+0x00000000	alloc_irdadev	vmlinux
+0x00000000	generic_removexattr	vmlinux
+0x00000000	deactivate_super	vmlinux
+0x00000000	vmap	vmlinux
Binary files linux-2.6.10/scripts/basic/docproc and linux-2.6.10-h1940/scripts/basic/docproc differ
Binary files linux-2.6.10/scripts/basic/fixdep and linux-2.6.10-h1940/scripts/basic/fixdep differ
Binary files linux-2.6.10/scripts/basic/split-include and linux-2.6.10-h1940/scripts/basic/split-include differ
Binary files linux-2.6.10/scripts/conmakehash and linux-2.6.10-h1940/scripts/conmakehash differ
Binary files linux-2.6.10/scripts/kallsyms and linux-2.6.10-h1940/scripts/kallsyms differ
Binary files linux-2.6.10/scripts/kconfig/conf and linux-2.6.10-h1940/scripts/kconfig/conf differ
diff -Nru linux-2.6.10/scripts/kconfig/lex.zconf.c linux-2.6.10-h1940/scripts/kconfig/lex.zconf.c
--- linux-2.6.10/scripts/kconfig/lex.zconf.c	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/scripts/kconfig/lex.zconf.c	2004-12-31 09:26:30.000000000 +0000
@@ -0,0 +1,3688 @@
+
+#line 3 "lex.zconf.c"
+
+#define  YY_INT_ALIGNED short int
+
+/* A lexical scanner generated by flex */
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+#define YY_FLEX_SUBMINOR_VERSION 31
+#if YY_FLEX_SUBMINOR_VERSION > 0
+#define FLEX_BETA
+#endif
+
+/* First, we deal with  platform-specific or compiler-specific issues. */
+
+/* begin standard C headers. */
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+
+/* end standard C headers. */
+
+/* flex integer type definitions */
+
+#ifndef FLEXINT_H
+#define FLEXINT_H
+
+/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
+
+#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
+#include <inttypes.h>
+typedef int8_t flex_int8_t;
+typedef uint8_t flex_uint8_t;
+typedef int16_t flex_int16_t;
+typedef uint16_t flex_uint16_t;
+typedef int32_t flex_int32_t;
+typedef uint32_t flex_uint32_t;
+#else
+typedef signed char flex_int8_t;
+typedef short int flex_int16_t;
+typedef int flex_int32_t;
+typedef unsigned char flex_uint8_t; 
+typedef unsigned short int flex_uint16_t;
+typedef unsigned int flex_uint32_t;
+#endif /* ! C99 */
+
+/* Limits of integral types. */
+#ifndef INT8_MIN
+#define INT8_MIN               (-128)
+#endif
+#ifndef INT16_MIN
+#define INT16_MIN              (-32767-1)
+#endif
+#ifndef INT32_MIN
+#define INT32_MIN              (-2147483647-1)
+#endif
+#ifndef INT8_MAX
+#define INT8_MAX               (127)
+#endif
+#ifndef INT16_MAX
+#define INT16_MAX              (32767)
+#endif
+#ifndef INT32_MAX
+#define INT32_MAX              (2147483647)
+#endif
+#ifndef UINT8_MAX
+#define UINT8_MAX              (255U)
+#endif
+#ifndef UINT16_MAX
+#define UINT16_MAX             (65535U)
+#endif
+#ifndef UINT32_MAX
+#define UINT32_MAX             (4294967295U)
+#endif
+
+#endif /* ! FLEXINT_H */
+
+#ifdef __cplusplus
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else	/* ! __cplusplus */
+
+#if __STDC__
+
+#define YY_USE_CONST
+
+#endif	/* __STDC__ */
+#endif	/* ! __cplusplus */
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index.  If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition.  This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN (yy_start) = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state.  The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START (((yy_start) - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE zconfrestart(zconfin  )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#ifndef YY_BUF_SIZE
+#define YY_BUF_SIZE 16384
+#endif
+
+#ifndef YY_TYPEDEF_YY_BUFFER_STATE
+#define YY_TYPEDEF_YY_BUFFER_STATE
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+#endif
+
+extern int zconfleng;
+
+extern FILE *zconfin, *zconfout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+    #define YY_LESS_LINENO(n)
+    
+/* Return all but the first "n" matched characters back to the input stream. */
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up zconftext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		*yy_cp = (yy_hold_char); \
+		YY_RESTORE_YY_MORE_OFFSET \
+		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
+		YY_DO_BEFORE_ACTION; /* set up zconftext again */ \
+		} \
+	while ( 0 )
+
+#define unput(c) yyunput( c, (yytext_ptr)  )
+
+/* The following is because we cannot portably get our hands on size_t
+ * (without autoconf's help, which isn't available because we want
+ * flex-generated scanners to compile on their own).
+ */
+
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef unsigned int yy_size_t;
+#endif
+
+#ifndef YY_STRUCT_YY_BUFFER_STATE
+#define YY_STRUCT_YY_BUFFER_STATE
+struct yy_buffer_state
+	{
+	FILE *yy_input_file;
+
+	char *yy_ch_buf;		/* input buffer */
+	char *yy_buf_pos;		/* current position in input buffer */
+
+	/* Size of input buffer in bytes, not including room for EOB
+	 * characters.
+	 */
+	yy_size_t yy_buf_size;
+
+	/* Number of characters read into yy_ch_buf, not including EOB
+	 * characters.
+	 */
+	int yy_n_chars;
+
+	/* Whether we "own" the buffer - i.e., we know we created it,
+	 * and can realloc() it to grow it, and should free() it to
+	 * delete it.
+	 */
+	int yy_is_our_buffer;
+
+	/* Whether this is an "interactive" input source; if so, and
+	 * if we're using stdio for input, then we want to use getc()
+	 * instead of fread(), to make sure we stop fetching input after
+	 * each newline.
+	 */
+	int yy_is_interactive;
+
+	/* Whether we're considered to be at the beginning of a line.
+	 * If so, '^' rules will be active on the next match, otherwise
+	 * not.
+	 */
+	int yy_at_bol;
+
+    int yy_bs_lineno; /**< The line count. */
+    int yy_bs_column; /**< The column count. */
+    
+	/* Whether to try to fill the input buffer when we reach the
+	 * end of it.
+	 */
+	int yy_fill_buffer;
+
+	int yy_buffer_status;
+
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+	/* When an EOF's been seen but there's still some text to process
+	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+	 * shouldn't try reading from the input source any more.  We might
+	 * still have a bunch of tokens to match, though, because of
+	 * possible backing-up.
+	 *
+	 * When we actually see the EOF, we change the status to "new"
+	 * (via zconfrestart()), so that the user can continue scanning by
+	 * just pointing zconfin at a new input file.
+	 */
+#define YY_BUFFER_EOF_PENDING 2
+
+	};
+#endif /* !YY_STRUCT_YY_BUFFER_STATE */
+
+/* Stack of input buffers. */
+static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
+static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
+static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ *
+ * Returns the top of the stack, or NULL.
+ */
+#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
+                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
+                          : NULL)
+
+/* Same as previous macro, but useful when we know that the buffer stack is not
+ * NULL or when we need an lvalue. For internal use only.
+ */
+#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
+
+/* yy_hold_char holds the character lost when zconftext is formed. */
+static char yy_hold_char;
+static int yy_n_chars;		/* number of characters read into yy_ch_buf */
+int zconfleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = (char *) 0;
+static int yy_init = 1;		/* whether we need to initialize */
+static int yy_start = 0;	/* start state number */
+
+/* Flag which is used to allow zconfwrap()'s to do buffer switches
+ * instead of setting up a fresh zconfin.  A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void zconfrestart (FILE *input_file  );
+void zconf_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
+YY_BUFFER_STATE zconf_create_buffer (FILE *file,int size  );
+void zconf_delete_buffer (YY_BUFFER_STATE b  );
+void zconf_flush_buffer (YY_BUFFER_STATE b  );
+void zconfpush_buffer_state (YY_BUFFER_STATE new_buffer  );
+void zconfpop_buffer_state (void );
+
+static void zconfensure_buffer_stack (void );
+static void zconf_load_buffer_state (void );
+static void zconf_init_buffer (YY_BUFFER_STATE b,FILE *file  );
+
+#define YY_FLUSH_BUFFER zconf_flush_buffer(YY_CURRENT_BUFFER )
+
+YY_BUFFER_STATE zconf_scan_buffer (char *base,yy_size_t size  );
+YY_BUFFER_STATE zconf_scan_string (yyconst char *yy_str  );
+YY_BUFFER_STATE zconf_scan_bytes (yyconst char *bytes,int len  );
+
+void *zconfalloc (yy_size_t  );
+void *zconfrealloc (void *,yy_size_t  );
+void zconffree (void *  );
+
+#define yy_new_buffer zconf_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){ \
+        zconfensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            zconf_create_buffer(zconfin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
+	}
+
+#define yy_set_bol(at_bol) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){\
+        zconfensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            zconf_create_buffer(zconfin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
+	}
+
+#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
+
+/* Begin user sect3 */
+
+#define zconfwrap(n) 1
+#define YY_SKIP_YYWRAP
+
+typedef unsigned char YY_CHAR;
+
+FILE *zconfin = (FILE *) 0, *zconfout = (FILE *) 0;
+
+typedef int yy_state_type;
+
+extern int zconflineno;
+
+int zconflineno = 1;
+
+extern char *zconftext;
+#define yytext_ptr zconftext
+static yyconst flex_int16_t yy_nxt[][38] =
+    {
+    {
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0
+    },
+
+    {
+       11,   12,   13,   14,   12,   12,   15,   12,   12,   12,
+       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
+       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
+       12,   12,   12,   12,   12,   12,   12,   12
+    },
+
+    {
+       11,   12,   13,   14,   12,   12,   15,   12,   12,   12,
+       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
+
+       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
+       12,   12,   12,   12,   12,   12,   12,   12
+    },
+
+    {
+       11,   16,   16,   17,   16,   16,   16,   16,   16,   16,
+       16,   16,   16,   18,   16,   16,   18,   18,   19,   20,
+       21,   22,   18,   18,   23,   24,   18,   25,   18,   26,
+       27,   18,   28,   29,   30,   18,   18,   16
+    },
+
+    {
+       11,   16,   16,   17,   16,   16,   16,   16,   16,   16,
+       16,   16,   16,   18,   16,   16,   18,   18,   19,   20,
+       21,   22,   18,   18,   23,   24,   18,   25,   18,   26,
+       27,   18,   28,   29,   30,   18,   18,   16
+
+    },
+
+    {
+       11,   31,   32,   33,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31
+    },
+
+    {
+       11,   31,   32,   33,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31
+    },
+
+    {
+       11,   34,   34,   35,   34,   36,   34,   34,   36,   34,
+       34,   34,   34,   34,   34,   37,   34,   34,   34,   34,
+
+       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
+       34,   34,   34,   34,   34,   34,   34,   34
+    },
+
+    {
+       11,   34,   34,   35,   34,   36,   34,   34,   36,   34,
+       34,   34,   34,   34,   34,   37,   34,   34,   34,   34,
+       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
+       34,   34,   34,   34,   34,   34,   34,   34
+    },
+
+    {
+       11,   38,   38,   39,   40,   41,   42,   43,   41,   44,
+       45,   46,   47,   47,   48,   49,   47,   47,   47,   47,
+       47,   47,   47,   47,   47,   50,   47,   47,   47,   51,
+       47,   47,   47,   47,   47,   47,   47,   52
+
+    },
+
+    {
+       11,   38,   38,   39,   40,   41,   42,   43,   41,   44,
+       45,   46,   47,   47,   48,   49,   47,   47,   47,   47,
+       47,   47,   47,   47,   47,   50,   47,   47,   47,   51,
+       47,   47,   47,   47,   47,   47,   47,   52
+    },
+
+    {
+      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
+      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
+      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
+      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11
+    },
+
+    {
+       11,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
+      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
+
+      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
+      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12
+    },
+
+    {
+       11,  -13,   53,   54,  -13,  -13,   55,  -13,  -13,  -13,
+      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
+      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
+      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13
+    },
+
+    {
+       11,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
+      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
+      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
+      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14
+
+    },
+
+    {
+       11,   56,   56,   57,   56,   56,   56,   56,   56,   56,
+       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
+       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
+       56,   56,   56,   56,   56,   56,   56,   56
+    },
+
+    {
+       11,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
+      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
+      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
+      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16
+    },
+
+    {
+       11,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
+      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
+
+      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
+      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17
+    },
+
+    {
+       11,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
+      -18,  -18,  -18,   58,  -18,  -18,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  -18
+    },
+
+    {
+       11,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
+      -19,  -19,  -19,   58,  -19,  -19,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   59,
+       58,   58,   58,   58,   58,   58,   58,  -19
+
+    },
+
+    {
+       11,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
+      -20,  -20,  -20,   58,  -20,  -20,   58,   58,   58,   58,
+       58,   58,   58,   58,   60,   58,   58,   58,   58,   61,
+       58,   58,   58,   58,   58,   58,   58,  -20
+    },
+
+    {
+       11,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
+      -21,  -21,  -21,   58,  -21,  -21,   58,   58,   58,   58,
+       58,   62,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  -21
+    },
+
+    {
+       11,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
+      -22,  -22,  -22,   58,  -22,  -22,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,   58,   58,   58,   63,   58,
+       58,   58,   58,   58,   58,   58,   58,  -22
+    },
+
+    {
+       11,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
+      -23,  -23,  -23,   58,  -23,  -23,   58,   58,   58,   58,
+       58,   64,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  -23
+    },
+
+    {
+       11,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
+      -24,  -24,  -24,   58,  -24,  -24,   58,   58,   58,   58,
+       58,   58,   65,   58,   58,   58,   58,   58,   66,   58,
+       58,   58,   58,   58,   58,   58,   58,  -24
+
+    },
+
+    {
+       11,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
+      -25,  -25,  -25,   58,  -25,  -25,   58,   67,   58,   58,
+       58,   68,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  -25
+    },
+
+    {
+       11,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
+      -26,  -26,  -26,   58,  -26,  -26,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       69,   58,   58,   58,   58,   58,   58,  -26
+    },
+
+    {
+       11,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
+      -27,  -27,  -27,   58,  -27,  -27,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   70,   58,   58,   58,   58,  -27
+    },
+
+    {
+       11,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
+      -28,  -28,  -28,   58,  -28,  -28,   58,   71,   58,   58,
+       58,   72,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  -28
+    },
+
+    {
+       11,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
+      -29,  -29,  -29,   58,  -29,  -29,   58,   58,   58,   58,
+       58,   73,   58,   58,   58,   58,   58,   58,   58,   74,
+       58,   58,   58,   58,   75,   58,   58,  -29
+
+    },
+
+    {
+       11,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
+      -30,  -30,  -30,   58,  -30,  -30,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   76,   58,   58,   58,   58,  -30
+    },
+
+    {
+       11,   77,   77,  -31,   77,   77,   77,   77,   77,   77,
+       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
+       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
+       77,   77,   77,   77,   77,   77,   77,   77
+    },
+
+    {
+       11,  -32,   78,   79,  -32,  -32,  -32,  -32,  -32,  -32,
+      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
+
+      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
+      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32
+    },
+
+    {
+       11,   80,  -33,  -33,   80,   80,   80,   80,   80,   80,
+       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
+       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
+       80,   80,   80,   80,   80,   80,   80,   80
+    },
+
+    {
+       11,   81,   81,   82,   81,  -34,   81,   81,  -34,   81,
+       81,   81,   81,   81,   81,  -34,   81,   81,   81,   81,
+       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
+       81,   81,   81,   81,   81,   81,   81,   81
+
+    },
+
+    {
+       11,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
+      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
+      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
+      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35
+    },
+
+    {
+       11,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
+      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
+      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
+      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36
+    },
+
+    {
+       11,   83,   83,   84,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83
+    },
+
+    {
+       11,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
+      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
+      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
+      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38
+    },
+
+    {
+       11,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
+      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
+      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
+      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39
+
+    },
+
+    {
+       11,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
+      -40,  -40,  -40,  -40,   85,  -40,  -40,  -40,  -40,  -40,
+      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
+      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40
+    },
+
+    {
+       11,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
+      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
+      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
+      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41
+    },
+
+    {
+       11,   86,   86,  -42,   86,   86,   86,   86,   86,   86,
+       86,   86,   86,   86,   86,   86,   86,   86,   86,   86,
+
+       86,   86,   86,   86,   86,   86,   86,   86,   86,   86,
+       86,   86,   86,   86,   86,   86,   86,   86
+    },
+
+    {
+       11,  -43,  -43,  -43,  -43,  -43,  -43,   87,  -43,  -43,
+      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
+      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
+      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43
+    },
+
+    {
+       11,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
+      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
+      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
+      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44
+
+    },
+
+    {
+       11,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
+      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
+      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
+      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45
+    },
+
+    {
+       11,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
+      -46,   88,   89,   89,  -46,  -46,   89,   89,   89,   89,
+       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
+       89,   89,   89,   89,   89,   89,   89,  -46
+    },
+
+    {
+       11,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
+      -47,   89,   89,   89,  -47,  -47,   89,   89,   89,   89,
+
+       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
+       89,   89,   89,   89,   89,   89,   89,  -47
+    },
+
+    {
+       11,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
+      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
+      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
+      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48
+    },
+
+    {
+       11,  -49,  -49,   90,  -49,  -49,  -49,  -49,  -49,  -49,
+      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
+      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
+      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49
+
+    },
+
+    {
+       11,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
+      -50,   89,   89,   89,  -50,  -50,   89,   89,   89,   89,
+       89,   89,   91,   89,   89,   89,   89,   89,   89,   89,
+       89,   89,   89,   89,   89,   89,   89,  -50
+    },
+
+    {
+       11,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
+      -51,   89,   89,   89,  -51,  -51,   89,   89,   89,   89,
+       89,   89,   89,   89,   89,   89,   89,   89,   92,   89,
+       89,   89,   89,   89,   89,   89,   89,  -51
+    },
+
+    {
+       11,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
+      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
+
+      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
+      -52,  -52,  -52,  -52,  -52,  -52,  -52,   93
+    },
+
+    {
+       11,  -53,   53,   54,  -53,  -53,   55,  -53,  -53,  -53,
+      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
+      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
+      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53
+    },
+
+    {
+       11,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
+      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
+      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
+      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54
+
+    },
+
+    {
+       11,   56,   56,   57,   56,   56,   56,   56,   56,   56,
+       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
+       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
+       56,   56,   56,   56,   56,   56,   56,   56
+    },
+
+    {
+       11,   56,   56,   57,   56,   56,   56,   56,   56,   56,
+       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
+       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
+       56,   56,   56,   56,   56,   56,   56,   56
+    },
+
+    {
+       11,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
+      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
+
+      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
+      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57
+    },
+
+    {
+       11,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
+      -58,  -58,  -58,   58,  -58,  -58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  -58
+    },
+
+    {
+       11,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
+      -59,  -59,  -59,   58,  -59,  -59,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   94,
+       58,   58,   58,   58,   58,   58,   58,  -59
+
+    },
+
+    {
+       11,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
+      -60,  -60,  -60,   58,  -60,  -60,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   95,
+       58,   58,   58,   58,   58,   58,   58,  -60
+    },
+
+    {
+       11,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
+      -61,  -61,  -61,   58,  -61,  -61,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   96,   97,   58,
+       58,   58,   58,   58,   58,   58,   58,  -61
+    },
+
+    {
+       11,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
+      -62,  -62,  -62,   58,  -62,  -62,   58,   58,   58,   58,
+
+       58,   58,   98,   58,   58,   58,   58,   58,   58,   58,
+       99,   58,   58,   58,   58,   58,   58,  -62
+    },
+
+    {
+       11,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
+      -63,  -63,  -63,   58,  -63,  -63,   58,  100,   58,   58,
+      101,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  -63
+    },
+
+    {
+       11,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
+      -64,  -64,  -64,   58,  -64,  -64,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,  102,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,  103,  -64
+
+    },
+
+    {
+       11,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
+      -65,  -65,  -65,   58,  -65,  -65,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  -65
+    },
+
+    {
+       11,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
+      -66,  -66,  -66,   58,  -66,  -66,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,  104,   58,   58,  -66
+    },
+
+    {
+       11,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
+      -67,  -67,  -67,   58,  -67,  -67,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,  105,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  -67
+    },
+
+    {
+       11,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
+      -68,  -68,  -68,   58,  -68,  -68,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,  106,   58,
+       58,   58,   58,   58,   58,   58,   58,  -68
+    },
+
+    {
+       11,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
+      -69,  -69,  -69,   58,  -69,  -69,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,  107,   58,   58,  -69
+
+    },
+
+    {
+       11,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
+      -70,  -70,  -70,   58,  -70,  -70,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,  108,
+       58,   58,   58,   58,   58,   58,   58,  -70
+    },
+
+    {
+       11,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
+      -71,  -71,  -71,   58,  -71,  -71,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,  109,   58,
+       58,   58,   58,   58,   58,   58,   58,  -71
+    },
+
+    {
+       11,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
+      -72,  -72,  -72,   58,  -72,  -72,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,  110,   58,   58,   58,   58,   58,  -72
+    },
+
+    {
+       11,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
+      -73,  -73,  -73,   58,  -73,  -73,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,  111,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  -73
+    },
+
+    {
+       11,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
+      -74,  -74,  -74,   58,  -74,  -74,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,  112,   58,  -74
+
+    },
+
+    {
+       11,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
+      -75,  -75,  -75,   58,  -75,  -75,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,  113,   58,   58,   58,   58,  -75
+    },
+
+    {
+       11,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
+      -76,  -76,  -76,   58,  -76,  -76,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,  114,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  -76
+    },
+
+    {
+       11,   77,   77,  -77,   77,   77,   77,   77,   77,   77,
+       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
+
+       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
+       77,   77,   77,   77,   77,   77,   77,   77
+    },
+
+    {
+       11,  -78,   78,   79,  -78,  -78,  -78,  -78,  -78,  -78,
+      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
+      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
+      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78
+    },
+
+    {
+       11,   80,  -79,  -79,   80,   80,   80,   80,   80,   80,
+       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
+       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
+       80,   80,   80,   80,   80,   80,   80,   80
+
+    },
+
+    {
+       11,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
+      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
+      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
+      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80
+    },
+
+    {
+       11,   81,   81,   82,   81,  -81,   81,   81,  -81,   81,
+       81,   81,   81,   81,   81,  -81,   81,   81,   81,   81,
+       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
+       81,   81,   81,   81,   81,   81,   81,   81
+    },
+
+    {
+       11,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
+      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
+
+      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
+      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82
+    },
+
+    {
+       11,  -83,  -83,   84,  -83,  -83,  -83,  -83,  -83,  -83,
+      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
+      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
+      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83
+    },
+
+    {
+       11,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
+      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
+      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
+      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84
+
+    },
+
+    {
+       11,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85
+    },
+
+    {
+       11,   86,   86,  -86,   86,   86,   86,   86,   86,   86,
+       86,   86,   86,   86,   86,   86,   86,   86,   86,   86,
+       86,   86,   86,   86,   86,   86,   86,   86,   86,   86,
+       86,   86,   86,   86,   86,   86,   86,   86
+    },
+
+    {
+       11,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
+      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
+
+      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
+      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87
+    },
+
+    {
+       11,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
+      -88,  115,   89,   89,  -88,  -88,   89,   89,   89,   89,
+       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
+       89,   89,   89,   89,   89,   89,   89,  -88
+    },
+
+    {
+       11,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
+      -89,   89,   89,   89,  -89,  -89,   89,   89,   89,   89,
+       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
+       89,   89,   89,   89,   89,   89,   89,  -89
+
+    },
+
+    {
+       11,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
+      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
+      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
+      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90
+    },
+
+    {
+       11,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
+      -91,   89,   89,   89,  -91,  -91,   89,   89,   89,   89,
+       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
+       89,   89,   89,   89,   89,   89,   89,  -91
+    },
+
+    {
+       11,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
+      -92,   89,   89,   89,  -92,  -92,   89,   89,   89,   89,
+
+       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
+       89,   89,   89,   89,   89,   89,   89,  -92
+    },
+
+    {
+       11,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
+      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
+      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
+      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93
+    },
+
+    {
+       11,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
+      -94,  -94,  -94,   58,  -94,  -94,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,  116,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  -94
+
+    },
+
+    {
+       11,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
+      -95,  -95,  -95,   58,  -95,  -95,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,  117,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  -95
+    },
+
+    {
+       11,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
+      -96,  -96,  -96,   58,  -96,  -96,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  118,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  -96
+    },
+
+    {
+       11,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
+      -97,  -97,  -97,   58,  -97,  -97,   58,   58,   58,   58,
+
+       58,   58,  119,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  -97
+    },
+
+    {
+       11,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
+      -98,  -98,  -98,   58,  -98,  -98,  120,  121,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  -98
+    },
+
+    {
+       11,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
+      -99,  -99,  -99,   58,  -99,  -99,   58,   58,   58,   58,
+       58,  122,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  -99
+
+    },
+
+    {
+       11, -100, -100, -100, -100, -100, -100, -100, -100, -100,
+     -100, -100, -100,   58, -100, -100,   58,   58,  123,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -100
+    },
+
+    {
+       11, -101, -101, -101, -101, -101, -101, -101, -101, -101,
+     -101, -101, -101,   58, -101, -101,   58,   58,   58,  124,
+       58,   58,   58,   58,   58,  125,   58,  126,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -101
+    },
+
+    {
+       11, -102, -102, -102, -102, -102, -102, -102, -102, -102,
+     -102, -102, -102,   58, -102, -102,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+      127,   58,   58,   58,   58,   58,   58, -102
+    },
+
+    {
+       11, -103, -103, -103, -103, -103, -103, -103, -103, -103,
+     -103, -103, -103,   58, -103, -103,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -103
+    },
+
+    {
+       11, -104, -104, -104, -104, -104, -104, -104, -104, -104,
+     -104, -104, -104,   58, -104, -104,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -104
+
+    },
+
+    {
+       11, -105, -105, -105, -105, -105, -105, -105, -105, -105,
+     -105, -105, -105,   58, -105, -105,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,  128,   58,
+       58,   58,   58,   58,   58,   58,   58, -105
+    },
+
+    {
+       11, -106, -106, -106, -106, -106, -106, -106, -106, -106,
+     -106, -106, -106,   58, -106, -106,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,  129,   58, -106
+    },
+
+    {
+       11, -107, -107, -107, -107, -107, -107, -107, -107, -107,
+     -107, -107, -107,   58, -107, -107,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,  130,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -107
+    },
+
+    {
+       11, -108, -108, -108, -108, -108, -108, -108, -108, -108,
+     -108, -108, -108,   58, -108, -108,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  131,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -108
+    },
+
+    {
+       11, -109, -109, -109, -109, -109, -109, -109, -109, -109,
+     -109, -109, -109,   58, -109, -109,   58,   58,   58,   58,
+       58,   58,   58,  132,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -109
+
+    },
+
+    {
+       11, -110, -110, -110, -110, -110, -110, -110, -110, -110,
+     -110, -110, -110,   58, -110, -110,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,  133,   58, -110
+    },
+
+    {
+       11, -111, -111, -111, -111, -111, -111, -111, -111, -111,
+     -111, -111, -111,   58, -111, -111,   58,   58,   58,   58,
+       58,  134,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -111
+    },
+
+    {
+       11, -112, -112, -112, -112, -112, -112, -112, -112, -112,
+     -112, -112, -112,   58, -112, -112,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,  135,   58,   58,   58,   58, -112
+    },
+
+    {
+       11, -113, -113, -113, -113, -113, -113, -113, -113, -113,
+     -113, -113, -113,   58, -113, -113,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,  136,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -113
+    },
+
+    {
+       11, -114, -114, -114, -114, -114, -114, -114, -114, -114,
+     -114, -114, -114,   58, -114, -114,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,  137,   58,   58,   58, -114
+
+    },
+
+    {
+       11, -115, -115, -115, -115, -115, -115, -115, -115, -115,
+     -115,   89,   89,   89, -115, -115,   89,   89,   89,   89,
+       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
+       89,   89,   89,   89,   89,   89,   89, -115
+    },
+
+    {
+       11, -116, -116, -116, -116, -116, -116, -116, -116, -116,
+     -116, -116, -116,   58, -116, -116,   58,   58,   58,   58,
+       58,  138,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -116
+    },
+
+    {
+       11, -117, -117, -117, -117, -117, -117, -117, -117, -117,
+     -117, -117, -117,   58, -117, -117,   58,   58,   58,  139,
+
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -117
+    },
+
+    {
+       11, -118, -118, -118, -118, -118, -118, -118, -118, -118,
+     -118, -118, -118,   58, -118, -118,   58,   58,   58,   58,
+       58,  140,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -118
+    },
+
+    {
+       11, -119, -119, -119, -119, -119, -119, -119, -119, -119,
+     -119, -119, -119,   58, -119, -119,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,  141,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -119
+
+    },
+
+    {
+       11, -120, -120, -120, -120, -120, -120, -120, -120, -120,
+     -120, -120, -120,   58, -120, -120,   58,   58,  142,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,  143,   58,   58, -120
+    },
+
+    {
+       11, -121, -121, -121, -121, -121, -121, -121, -121, -121,
+     -121, -121, -121,   58, -121, -121,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,  144,   58, -121
+    },
+
+    {
+       11, -122, -122, -122, -122, -122, -122, -122, -122, -122,
+     -122, -122, -122,   58, -122, -122,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,   58,   58,   58,  145,   58,
+       58,   58,   58,   58,   58,   58,   58, -122
+    },
+
+    {
+       11, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+     -123, -123, -123,   58, -123, -123,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,  146,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -123
+    },
+
+    {
+       11, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+     -124, -124, -124,   58, -124, -124,   58,   58,   58,   58,
+       58,   58,   58,   58,  147,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -124
+
+    },
+
+    {
+       11, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+     -125, -125, -125,   58, -125, -125,   58,   58,   58,   58,
+       58,   58,  148,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -125
+    },
+
+    {
+       11, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+     -126, -126, -126,   58, -126, -126,   58,   58,   58,   58,
+       58,  149,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -126
+    },
+
+    {
+       11, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+     -127, -127, -127,   58, -127, -127,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -127
+    },
+
+    {
+       11, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+     -128, -128, -128,   58, -128, -128,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,  150,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -128
+    },
+
+    {
+       11, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+     -129, -129, -129,   58, -129, -129,   58,   58,   58,  151,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -129
+
+    },
+
+    {
+       11, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+     -130, -130, -130,   58, -130, -130,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,  152,
+       58,   58,   58,   58,   58,   58,   58, -130
+    },
+
+    {
+       11, -131, -131, -131, -131, -131, -131, -131, -131, -131,
+     -131, -131, -131,   58, -131, -131,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+      153,   58,   58,   58,   58,   58,   58, -131
+    },
+
+    {
+       11, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+     -132, -132, -132,   58, -132, -132,   58,   58,   58,   58,
+
+       58,  154,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -132
+    },
+
+    {
+       11, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+     -133, -133, -133,   58, -133, -133,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,  155,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -133
+    },
+
+    {
+       11, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+     -134, -134, -134,   58, -134, -134,   58,   58,   58,  156,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -134
+
+    },
+
+    {
+       11, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+     -135, -135, -135,   58, -135, -135,   58,   58,   58,  157,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -135
+    },
+
+    {
+       11, -136, -136, -136, -136, -136, -136, -136, -136, -136,
+     -136, -136, -136,   58, -136, -136,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,  158,   58,
+       58,   58,   58,   58,   58,   58,   58, -136
+    },
+
+    {
+       11, -137, -137, -137, -137, -137, -137, -137, -137, -137,
+     -137, -137, -137,   58, -137, -137,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,  159,   58,   58, -137
+    },
+
+    {
+       11, -138, -138, -138, -138, -138, -138, -138, -138, -138,
+     -138, -138, -138,   58, -138, -138,   58,  160,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -138
+    },
+
+    {
+       11, -139, -139, -139, -139, -139, -139, -139, -139, -139,
+     -139, -139, -139,   58, -139, -139,   58,   58,   58,   58,
+       58,  161,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -139
+
+    },
+
+    {
+       11, -140, -140, -140, -140, -140, -140, -140, -140, -140,
+     -140, -140, -140,   58, -140, -140,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,  162,   58,
+       58,   58,   58,   58,   58,   58,   58, -140
+    },
+
+    {
+       11, -141, -141, -141, -141, -141, -141, -141, -141, -141,
+     -141, -141, -141,   58, -141, -141,   58,   58,   58,   58,
+       58,   58,   58,  163,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -141
+    },
+
+    {
+       11, -142, -142, -142, -142, -142, -142, -142, -142, -142,
+     -142, -142, -142,   58, -142, -142,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,   58,   58,   58,   58,  164,
+       58,   58,   58,   58,   58,   58,   58, -142
+    },
+
+    {
+       11, -143, -143, -143, -143, -143, -143, -143, -143, -143,
+     -143, -143, -143,   58, -143, -143,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,  165,   58,   58,   58,   58, -143
+    },
+
+    {
+       11, -144, -144, -144, -144, -144, -144, -144, -144, -144,
+     -144, -144, -144,   58, -144, -144,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,  166,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -144
+
+    },
+
+    {
+       11, -145, -145, -145, -145, -145, -145, -145, -145, -145,
+     -145, -145, -145,   58, -145, -145,   58,   58,   58,   58,
+      167,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -145
+    },
+
+    {
+       11, -146, -146, -146, -146, -146, -146, -146, -146, -146,
+     -146, -146, -146,   58, -146, -146,   58,   58,   58,   58,
+       58,  168,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -146
+    },
+
+    {
+       11, -147, -147, -147, -147, -147, -147, -147, -147, -147,
+     -147, -147, -147,   58, -147, -147,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,   58,   58,   58,   58,  169,
+       58,   58,   58,   58,   58,   58,   58, -147
+    },
+
+    {
+       11, -148, -148, -148, -148, -148, -148, -148, -148, -148,
+     -148, -148, -148,   58, -148, -148,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -148
+    },
+
+    {
+       11, -149, -149, -149, -149, -149, -149, -149, -149, -149,
+     -149, -149, -149,   58, -149, -149,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,  170,   58,
+       58,   58,   58,   58,   58,   58,   58, -149
+
+    },
+
+    {
+       11, -150, -150, -150, -150, -150, -150, -150, -150, -150,
+     -150, -150, -150,   58, -150, -150,   58,   58,   58,   58,
+       58,  171,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -150
+    },
+
+    {
+       11, -151, -151, -151, -151, -151, -151, -151, -151, -151,
+     -151, -151, -151,   58, -151, -151,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,  172,
+       58,   58,   58,   58,   58,   58,   58, -151
+    },
+
+    {
+       11, -152, -152, -152, -152, -152, -152, -152, -152, -152,
+     -152, -152, -152,   58, -152, -152,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,   58,   58,   58,  173,   58,
+       58,   58,   58,   58,   58,   58,   58, -152
+    },
+
+    {
+       11, -153, -153, -153, -153, -153, -153, -153, -153, -153,
+     -153, -153, -153,   58, -153, -153,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,  174,   58,   58, -153
+    },
+
+    {
+       11, -154, -154, -154, -154, -154, -154, -154, -154, -154,
+     -154, -154, -154,   58, -154, -154,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -154
+
+    },
+
+    {
+       11, -155, -155, -155, -155, -155, -155, -155, -155, -155,
+     -155, -155, -155,   58, -155, -155,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,  175,   58,   58,   58,   58, -155
+    },
+
+    {
+       11, -156, -156, -156, -156, -156, -156, -156, -156, -156,
+     -156, -156, -156,   58, -156, -156,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,  176,   58,   58, -156
+    },
+
+    {
+       11, -157, -157, -157, -157, -157, -157, -157, -157, -157,
+     -157, -157, -157,   58, -157, -157,   58,   58,   58,   58,
+
+       58,  177,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -157
+    },
+
+    {
+       11, -158, -158, -158, -158, -158, -158, -158, -158, -158,
+     -158, -158, -158,   58, -158, -158,   58,   58,   58,   58,
+       58,   58,   58,  178,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -158
+    },
+
+    {
+       11, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+     -159, -159, -159,   58, -159, -159,   58,  179,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -159
+
+    },
+
+    {
+       11, -160, -160, -160, -160, -160, -160, -160, -160, -160,
+     -160, -160, -160,   58, -160, -160,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,  180,   58,
+       58,   58,   58,   58,   58,   58,   58, -160
+    },
+
+    {
+       11, -161, -161, -161, -161, -161, -161, -161, -161, -161,
+     -161, -161, -161,   58, -161, -161,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -161
+    },
+
+    {
+       11, -162, -162, -162, -162, -162, -162, -162, -162, -162,
+     -162, -162, -162,   58, -162, -162,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,  181,   58,   58, -162
+    },
+
+    {
+       11, -163, -163, -163, -163, -163, -163, -163, -163, -163,
+     -163, -163, -163,   58, -163, -163,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -163
+    },
+
+    {
+       11, -164, -164, -164, -164, -164, -164, -164, -164, -164,
+     -164, -164, -164,   58, -164, -164,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,  182,
+       58,   58,   58,   58,   58,   58,   58, -164
+
+    },
+
+    {
+       11, -165, -165, -165, -165, -165, -165, -165, -165, -165,
+     -165, -165, -165,   58, -165, -165,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,  183,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -165
+    },
+
+    {
+       11, -166, -166, -166, -166, -166, -166, -166, -166, -166,
+     -166, -166, -166,   58, -166, -166,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,  184,   58,   58, -166
+    },
+
+    {
+       11, -167, -167, -167, -167, -167, -167, -167, -167, -167,
+     -167, -167, -167,   58, -167, -167,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,  185,   58,   58,   58, -167
+    },
+
+    {
+       11, -168, -168, -168, -168, -168, -168, -168, -168, -168,
+     -168, -168, -168,   58, -168, -168,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -168
+    },
+
+    {
+       11, -169, -169, -169, -169, -169, -169, -169, -169, -169,
+     -169, -169, -169,   58, -169, -169,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,  186,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -169
+
+    },
+
+    {
+       11, -170, -170, -170, -170, -170, -170, -170, -170, -170,
+     -170, -170, -170,   58, -170, -170,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,  187,   58, -170
+    },
+
+    {
+       11, -171, -171, -171, -171, -171, -171, -171, -171, -171,
+     -171, -171, -171,   58, -171, -171,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,  188,   58,
+       58,   58,   58,   58,   58,   58,   58, -171
+    },
+
+    {
+       11, -172, -172, -172, -172, -172, -172, -172, -172, -172,
+     -172, -172, -172,   58, -172, -172,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,   58,   58,   58,  189,   58,
+       58,   58,   58,   58,   58,   58,   58, -172
+    },
+
+    {
+       11, -173, -173, -173, -173, -173, -173, -173, -173, -173,
+     -173, -173, -173,   58, -173, -173,   58,  190,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -173
+    },
+
+    {
+       11, -174, -174, -174, -174, -174, -174, -174, -174, -174,
+     -174, -174, -174,   58, -174, -174,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -174
+
+    },
+
+    {
+       11, -175, -175, -175, -175, -175, -175, -175, -175, -175,
+     -175, -175, -175,   58, -175, -175,   58,   58,   58,   58,
+       58,  191,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -175
+    },
+
+    {
+       11, -176, -176, -176, -176, -176, -176, -176, -176, -176,
+     -176, -176, -176,   58, -176, -176,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -176
+    },
+
+    {
+       11, -177, -177, -177, -177, -177, -177, -177, -177, -177,
+     -177, -177, -177,   58, -177, -177,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -177
+    },
+
+    {
+       11, -178, -178, -178, -178, -178, -178, -178, -178, -178,
+     -178, -178, -178,   58, -178, -178,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -178
+    },
+
+    {
+       11, -179, -179, -179, -179, -179, -179, -179, -179, -179,
+     -179, -179, -179,   58, -179, -179,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,  192,   58,   58, -179
+
+    },
+
+    {
+       11, -180, -180, -180, -180, -180, -180, -180, -180, -180,
+     -180, -180, -180,   58, -180, -180,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -180
+    },
+
+    {
+       11, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+     -181, -181, -181,   58, -181, -181,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -181
+    },
+
+    {
+       11, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+     -182, -182, -182,   58, -182, -182,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,   58,  193,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -182
+    },
+
+    {
+       11, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+     -183, -183, -183,   58, -183, -183,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,  194,   58,   58,   58, -183
+    },
+
+    {
+       11, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+     -184, -184, -184,   58, -184, -184,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -184
+
+    },
+
+    {
+       11, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+     -185, -185, -185,   58, -185, -185,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -185
+    },
+
+    {
+       11, -186, -186, -186, -186, -186, -186, -186, -186, -186,
+     -186, -186, -186,   58, -186, -186,   58,   58,   58,  195,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -186
+    },
+
+    {
+       11, -187, -187, -187, -187, -187, -187, -187, -187, -187,
+     -187, -187, -187,   58, -187, -187,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -187
+    },
+
+    {
+       11, -188, -188, -188, -188, -188, -188, -188, -188, -188,
+     -188, -188, -188,   58, -188, -188,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,  196,   58, -188
+    },
+
+    {
+       11, -189, -189, -189, -189, -189, -189, -189, -189, -189,
+     -189, -189, -189,   58, -189, -189,   58,   58,   58,   58,
+       58,   58,  197,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -189
+
+    },
+
+    {
+       11, -190, -190, -190, -190, -190, -190, -190, -190, -190,
+     -190, -190, -190,   58, -190, -190,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,  198,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -190
+    },
+
+    {
+       11, -191, -191, -191, -191, -191, -191, -191, -191, -191,
+     -191, -191, -191,   58, -191, -191,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,  199,   58,   58,   58, -191
+    },
+
+    {
+       11, -192, -192, -192, -192, -192, -192, -192, -192, -192,
+     -192, -192, -192,   58, -192, -192,   58,   58,   58,   58,
+
+       58,  200,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -192
+    },
+
+    {
+       11, -193, -193, -193, -193, -193, -193, -193, -193, -193,
+     -193, -193, -193,   58, -193, -193,   58,   58,   58,   58,
+       58,  201,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -193
+    },
+
+    {
+       11, -194, -194, -194, -194, -194, -194, -194, -194, -194,
+     -194, -194, -194,   58, -194, -194,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,  202,   58,   58, -194
+
+    },
+
+    {
+       11, -195, -195, -195, -195, -195, -195, -195, -195, -195,
+     -195, -195, -195,   58, -195, -195,   58,   58,   58,   58,
+       58,  203,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -195
+    },
+
+    {
+       11, -196, -196, -196, -196, -196, -196, -196, -196, -196,
+     -196, -196, -196,   58, -196, -196,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -196
+    },
+
+    {
+       11, -197, -197, -197, -197, -197, -197, -197, -197, -197,
+     -197, -197, -197,   58, -197, -197,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,  204,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -197
+    },
+
+    {
+       11, -198, -198, -198, -198, -198, -198, -198, -198, -198,
+     -198, -198, -198,   58, -198, -198,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -198
+    },
+
+    {
+       11, -199, -199, -199, -199, -199, -199, -199, -199, -199,
+     -199, -199, -199,   58, -199, -199,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -199
+
+    },
+
+    {
+       11, -200, -200, -200, -200, -200, -200, -200, -200, -200,
+     -200, -200, -200,   58, -200, -200,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -200
+    },
+
+    {
+       11, -201, -201, -201, -201, -201, -201, -201, -201, -201,
+     -201, -201, -201,   58, -201, -201,   58,  205,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -201
+    },
+
+    {
+       11, -202, -202, -202, -202, -202, -202, -202, -202, -202,
+     -202, -202, -202,   58, -202, -202,   58,  206,   58,   58,
+
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -202
+    },
+
+    {
+       11, -203, -203, -203, -203, -203, -203, -203, -203, -203,
+     -203, -203, -203,   58, -203, -203,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -203
+    },
+
+    {
+       11, -204, -204, -204, -204, -204, -204, -204, -204, -204,
+     -204, -204, -204,   58, -204, -204,   58,   58,   58,   58,
+       58,   58,   58,  207,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -204
+
+    },
+
+    {
+       11, -205, -205, -205, -205, -205, -205, -205, -205, -205,
+     -205, -205, -205,   58, -205, -205,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,  208,   58,
+       58,   58,   58,   58,   58,   58,   58, -205
+    },
+
+    {
+       11, -206, -206, -206, -206, -206, -206, -206, -206, -206,
+     -206, -206, -206,   58, -206, -206,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,  209,   58,   58, -206
+    },
+
+    {
+       11, -207, -207, -207, -207, -207, -207, -207, -207, -207,
+     -207, -207, -207,   58, -207, -207,   58,   58,   58,   58,
+
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -207
+    },
+
+    {
+       11, -208, -208, -208, -208, -208, -208, -208, -208, -208,
+     -208, -208, -208,   58, -208, -208,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -208
+    },
+
+    {
+       11, -209, -209, -209, -209, -209, -209, -209, -209, -209,
+     -209, -209, -209,   58, -209, -209,   58,   58,   58,   58,
+       58,  210,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -209
+
+    },
+
+    {
+       11, -210, -210, -210, -210, -210, -210, -210, -210, -210,
+     -210, -210, -210,   58, -210, -210,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
+       58,   58,   58,   58,   58,   58,   58, -210
+    },
+
+    } ;
+
+static yy_state_type yy_get_previous_state (void );
+static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
+static int yy_get_next_buffer (void );
+static void yy_fatal_error (yyconst char msg[]  );
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up zconftext.
+ */
+#define YY_DO_BEFORE_ACTION \
+	(yytext_ptr) = yy_bp; \
+	zconfleng = (size_t) (yy_cp - yy_bp); \
+	(yy_hold_char) = *yy_cp; \
+	*yy_cp = '\0'; \
+	(yy_c_buf_p) = yy_cp;
+
+#define YY_NUM_RULES 64
+#define YY_END_OF_BUFFER 65
+/* This struct is not used in this scanner,
+   but its presence is necessary. */
+struct yy_trans_info
+	{
+	flex_int32_t yy_verify;
+	flex_int32_t yy_nxt;
+	};
+static yyconst flex_int16_t yy_accept[211] =
+    {   0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+       65,    5,    4,    3,    2,   36,   37,   35,   35,   35,
+       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
+       63,   60,   62,   55,   59,   58,   57,   53,   48,   42,
+       47,   51,   53,   40,   41,   50,   50,   43,   53,   50,
+       50,   53,    4,    3,    2,    2,    1,   35,   35,   35,
+       35,   35,   35,   35,   16,   35,   35,   35,   35,   35,
+       35,   35,   35,   35,   35,   35,   63,   60,   62,   61,
+       55,   54,   57,   56,   44,   51,   38,   50,   50,   52,
+       45,   46,   39,   35,   35,   35,   35,   35,   35,   35,
+
+       35,   35,   30,   29,   35,   35,   35,   35,   35,   35,
+       35,   35,   35,   35,   49,   25,   35,   35,   35,   35,
+       35,   35,   35,   35,   35,   35,   15,   35,    7,   35,
+       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
+       35,   35,   35,   35,   35,   35,   35,   17,   35,   35,
+       35,   35,   35,   34,   35,   35,   35,   35,   35,   35,
+       10,   35,   13,   35,   35,   35,   35,   33,   35,   35,
+       35,   35,   35,   22,   35,   32,    9,   31,   35,   26,
+       12,   35,   35,   21,   18,   35,    8,   35,   35,   35,
+       35,   35,   27,   35,   35,    6,   35,   20,   19,   23,
+
+       35,   35,   11,   35,   35,   35,   14,   28,   35,   24
+    } ;
+
+static yyconst flex_int32_t yy_ec[256] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    2,    4,    5,    6,    1,    1,    7,    8,    9,
+       10,    1,    1,    1,   11,   12,   12,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,    1,    1,    1,
+       14,    1,    1,    1,   13,   13,   13,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+        1,   15,    1,    1,   16,    1,   17,   18,   19,   20,
+
+       21,   22,   23,   24,   25,   13,   13,   26,   27,   28,
+       29,   30,   31,   32,   33,   34,   35,   13,   13,   36,
+       13,   13,    1,   37,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1
+    } ;
+
+extern int zconf_flex_debug;
+int zconf_flex_debug = 0;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *zconftext;
+
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#define LKC_DIRECT_LINK
+#include "lkc.h"
+
+#define START_STRSIZE	16
+
+char *text;
+static char *text_ptr;
+static int text_size, text_asize;
+
+struct buffer {
+        struct buffer *parent;
+        YY_BUFFER_STATE state;
+};
+
+struct buffer *current_buf;
+
+static int last_ts, first_ts;
+
+static void zconf_endhelp(void);
+static struct buffer *zconf_endfile(void);
+
+void new_string(void)
+{
+	text = malloc(START_STRSIZE);
+	text_asize = START_STRSIZE;
+	text_ptr = text;
+	text_size = 0;
+	*text_ptr = 0;
+}
+
+void append_string(const char *str, int size)
+{
+	int new_size = text_size + size + 1;
+	if (new_size > text_asize) {
+		text = realloc(text, new_size);
+		text_asize = new_size;
+		text_ptr = text + text_size;
+	}
+	memcpy(text_ptr, str, size);
+	text_ptr += size;
+	text_size += size;
+	*text_ptr = 0;
+}
+
+void alloc_string(const char *str, int size)
+{
+	text = malloc(size + 1);
+	memcpy(text, str, size);
+	text[size] = 0;
+}
+
+#define INITIAL 0
+#define COMMAND 1
+#define HELP 2
+#define STRING 3
+#define PARAM 4
+
+/* Special case for "unistd.h", since it is non-ANSI. We include it way
+ * down here because we want the user's section 1 to have been scanned first.
+ * The user has a chance to override it with an option.
+ */
+#include <unistd.h>
+
+#ifndef YY_EXTRA_TYPE
+#define YY_EXTRA_TYPE void *
+#endif
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int zconfwrap (void );
+#else
+extern int zconfwrap (void );
+#endif
+#endif
+
+    static void yyunput (int c,char *buf_ptr  );
+    
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char *,yyconst char *,int );
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * );
+#endif
+
+#ifndef YY_NO_INPUT
+
+#ifdef __cplusplus
+static int yyinput (void );
+#else
+static int input (void );
+#endif
+
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO (void) fwrite( zconftext, zconfleng, 1, zconfout )
+#endif
+
+/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+	errno=0; \
+	while ( (result = read( fileno(zconfin), (char *) buf, max_size )) < 0 ) \
+	{ \
+		if( errno != EINTR) \
+		{ \
+			YY_FATAL_ERROR( "input in flex scanner failed" ); \
+			break; \
+		} \
+		errno=0; \
+		clearerr(zconfin); \
+	}\
+\
+
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* end tables serialization structures and prototypes */
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL_IS_OURS 1
+
+extern int zconflex (void);
+
+#define YY_DECL int zconflex (void)
+#endif /* !YY_DECL */
+
+/* Code executed at the beginning of each rule, after zconftext and zconfleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK break;
+#endif
+
+#define YY_RULE_SETUP \
+	YY_USER_ACTION
+
+/** The main scanner function which does all the work.
+ */
+YY_DECL
+{
+	register yy_state_type yy_current_state;
+	register char *yy_cp, *yy_bp;
+	register int yy_act;
+    
+	int str = 0;
+	int ts, i;
+
+	if ( (yy_init) )
+		{
+		(yy_init) = 0;
+
+#ifdef YY_USER_INIT
+		YY_USER_INIT;
+#endif
+
+		if ( ! (yy_start) )
+			(yy_start) = 1;	/* first start state */
+
+		if ( ! zconfin )
+			zconfin = stdin;
+
+		if ( ! zconfout )
+			zconfout = stdout;
+
+		if ( ! YY_CURRENT_BUFFER ) {
+			zconfensure_buffer_stack ();
+			YY_CURRENT_BUFFER_LVALUE =
+				zconf_create_buffer(zconfin,YY_BUF_SIZE );
+		}
+
+		zconf_load_buffer_state( );
+		}
+
+	while ( 1 )		/* loops until end-of-file is reached */
+		{
+		yy_cp = (yy_c_buf_p);
+
+		/* Support of zconftext. */
+		*yy_cp = (yy_hold_char);
+
+		/* yy_bp points to the position in yy_ch_buf of the start of
+		 * the current run.
+		 */
+		yy_bp = yy_cp;
+
+		yy_current_state = (yy_start);
+yy_match:
+		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
+			++yy_cp;
+
+		yy_current_state = -yy_current_state;
+
+yy_find_action:
+		yy_act = yy_accept[yy_current_state];
+
+		YY_DO_BEFORE_ACTION;
+
+do_action:	/* This label is used only to access EOF actions. */
+
+		switch ( yy_act )
+	{ /* beginning of action switch */
+case 1:
+/* rule 1 can match eol */
+YY_RULE_SETUP
+current_file->lineno++;
+	YY_BREAK
+case 2:
+YY_RULE_SETUP
+
+	YY_BREAK
+case 3:
+/* rule 3 can match eol */
+YY_RULE_SETUP
+current_file->lineno++; return T_EOL;
+	YY_BREAK
+case 4:
+YY_RULE_SETUP
+{
+	BEGIN(COMMAND);
+}
+	YY_BREAK
+case 5:
+YY_RULE_SETUP
+{
+	unput(zconftext[0]);
+	BEGIN(COMMAND);
+}
+	YY_BREAK
+
+case 6:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_MAINMENU;
+	YY_BREAK
+case 7:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_MENU;
+	YY_BREAK
+case 8:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_ENDMENU;
+	YY_BREAK
+case 9:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_SOURCE;
+	YY_BREAK
+case 10:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_CHOICE;
+	YY_BREAK
+case 11:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_ENDCHOICE;
+	YY_BREAK
+case 12:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_COMMENT;
+	YY_BREAK
+case 13:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_CONFIG;
+	YY_BREAK
+case 14:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_MENUCONFIG;
+	YY_BREAK
+case 15:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_HELP;
+	YY_BREAK
+case 16:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_IF;
+	YY_BREAK
+case 17:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_ENDIF;
+	YY_BREAK
+case 18:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_DEPENDS;
+	YY_BREAK
+case 19:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_REQUIRES;
+	YY_BREAK
+case 20:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_OPTIONAL;
+	YY_BREAK
+case 21:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_DEFAULT;
+	YY_BREAK
+case 22:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_PROMPT;
+	YY_BREAK
+case 23:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_TRISTATE;
+	YY_BREAK
+case 24:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_DEF_TRISTATE;
+	YY_BREAK
+case 25:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_BOOLEAN;
+	YY_BREAK
+case 26:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_BOOLEAN;
+	YY_BREAK
+case 27:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_DEF_BOOLEAN;
+	YY_BREAK
+case 28:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_DEF_BOOLEAN;
+	YY_BREAK
+case 29:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_INT;
+	YY_BREAK
+case 30:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_HEX;
+	YY_BREAK
+case 31:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_STRING;
+	YY_BREAK
+case 32:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_SELECT;
+	YY_BREAK
+case 33:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_SELECT;
+	YY_BREAK
+case 34:
+YY_RULE_SETUP
+BEGIN(PARAM); return T_RANGE;
+	YY_BREAK
+case 35:
+YY_RULE_SETUP
+{
+		alloc_string(zconftext, zconfleng);
+		zconflval.string = text;
+		return T_WORD;
+	}
+	YY_BREAK
+case 36:
+YY_RULE_SETUP
+
+	YY_BREAK
+case 37:
+/* rule 37 can match eol */
+YY_RULE_SETUP
+current_file->lineno++; BEGIN(INITIAL);
+	YY_BREAK
+
+case 38:
+YY_RULE_SETUP
+return T_AND;
+	YY_BREAK
+case 39:
+YY_RULE_SETUP
+return T_OR;
+	YY_BREAK
+case 40:
+YY_RULE_SETUP
+return T_OPEN_PAREN;
+	YY_BREAK
+case 41:
+YY_RULE_SETUP
+return T_CLOSE_PAREN;
+	YY_BREAK
+case 42:
+YY_RULE_SETUP
+return T_NOT;
+	YY_BREAK
+case 43:
+YY_RULE_SETUP
+return T_EQUAL;
+	YY_BREAK
+case 44:
+YY_RULE_SETUP
+return T_UNEQUAL;
+	YY_BREAK
+case 45:
+YY_RULE_SETUP
+return T_IF;
+	YY_BREAK
+case 46:
+YY_RULE_SETUP
+return T_ON;
+	YY_BREAK
+case 47:
+YY_RULE_SETUP
+{
+		str = zconftext[0];
+		new_string();
+		BEGIN(STRING);
+	}
+	YY_BREAK
+case 48:
+/* rule 48 can match eol */
+YY_RULE_SETUP
+BEGIN(INITIAL); current_file->lineno++; return T_EOL;
+	YY_BREAK
+case 49:
+YY_RULE_SETUP
+/* ignore */
+	YY_BREAK
+case 50:
+YY_RULE_SETUP
+{
+		alloc_string(zconftext, zconfleng);
+		zconflval.string = text;
+		return T_WORD;
+	}
+	YY_BREAK
+case 51:
+YY_RULE_SETUP
+/* comment */
+	YY_BREAK
+case 52:
+/* rule 52 can match eol */
+YY_RULE_SETUP
+current_file->lineno++;
+	YY_BREAK
+case 53:
+YY_RULE_SETUP
+
+	YY_BREAK
+case YY_STATE_EOF(PARAM):
+{
+		BEGIN(INITIAL);
+	}
+	YY_BREAK
+
+case 54:
+/* rule 54 can match eol */
+*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
+(yy_c_buf_p) = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up zconftext again */
+YY_RULE_SETUP
+{
+		append_string(zconftext, zconfleng);
+		zconflval.string = text;
+		return T_WORD_QUOTE;
+	}
+	YY_BREAK
+case 55:
+YY_RULE_SETUP
+{
+		append_string(zconftext, zconfleng);
+	}
+	YY_BREAK
+case 56:
+/* rule 56 can match eol */
+*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
+(yy_c_buf_p) = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up zconftext again */
+YY_RULE_SETUP
+{
+		append_string(zconftext + 1, zconfleng - 1);
+		zconflval.string = text;
+		return T_WORD_QUOTE;
+	}
+	YY_BREAK
+case 57:
+YY_RULE_SETUP
+{
+		append_string(zconftext + 1, zconfleng - 1);
+	}
+	YY_BREAK
+case 58:
+YY_RULE_SETUP
+{
+		if (str == zconftext[0]) {
+			BEGIN(PARAM);
+			zconflval.string = text;
+			return T_WORD_QUOTE;
+		} else
+			append_string(zconftext, 1);
+	}
+	YY_BREAK
+case 59:
+/* rule 59 can match eol */
+YY_RULE_SETUP
+{
+		printf("%s:%d:warning: multi-line strings not supported\n", zconf_curname(), zconf_lineno());
+		current_file->lineno++;
+		BEGIN(INITIAL);
+		return T_EOL;
+	}
+	YY_BREAK
+case YY_STATE_EOF(STRING):
+{
+		BEGIN(INITIAL);
+	}
+	YY_BREAK
+
+case 60:
+YY_RULE_SETUP
+{
+		ts = 0;
+		for (i = 0; i < zconfleng; i++) {
+			if (zconftext[i] == '\t')
+				ts = (ts & ~7) + 8;
+			else
+				ts++;
+		}
+		last_ts = ts;
+		if (first_ts) {
+			if (ts < first_ts) {
+				zconf_endhelp();
+				return T_HELPTEXT;
+			}
+			ts -= first_ts;
+			while (ts > 8) {
+				append_string("        ", 8);
+				ts -= 8;
+			}
+			append_string("        ", ts);
+		}
+	}
+	YY_BREAK
+case 61:
+/* rule 61 can match eol */
+*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
+(yy_c_buf_p) = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up zconftext again */
+YY_RULE_SETUP
+{
+		current_file->lineno++;
+		zconf_endhelp();
+		return T_HELPTEXT;
+	}
+	YY_BREAK
+case 62:
+/* rule 62 can match eol */
+YY_RULE_SETUP
+{
+		current_file->lineno++;
+		append_string("\n", 1);
+	}
+	YY_BREAK
+case 63:
+YY_RULE_SETUP
+{
+		append_string(zconftext, zconfleng);
+		if (!first_ts)
+			first_ts = last_ts;
+	}
+	YY_BREAK
+case YY_STATE_EOF(HELP):
+{
+		zconf_endhelp();
+		return T_HELPTEXT;
+	}
+	YY_BREAK
+
+case YY_STATE_EOF(INITIAL):
+case YY_STATE_EOF(COMMAND):
+{
+	if (current_buf) {
+		zconf_endfile();
+		return T_EOF;
+	}
+	fclose(zconfin);
+	yyterminate();
+}
+	YY_BREAK
+case 64:
+YY_RULE_SETUP
+YY_FATAL_ERROR( "flex scanner jammed" );
+	YY_BREAK
+
+	case YY_END_OF_BUFFER:
+		{
+		/* Amount of text matched not including the EOB char. */
+		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
+
+		/* Undo the effects of YY_DO_BEFORE_ACTION. */
+		*yy_cp = (yy_hold_char);
+		YY_RESTORE_YY_MORE_OFFSET
+
+		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
+			{
+			/* We're scanning a new file or input source.  It's
+			 * possible that this happened because the user
+			 * just pointed zconfin at a new source and called
+			 * zconflex().  If so, then we have to assure
+			 * consistency between YY_CURRENT_BUFFER and our
+			 * globals.  Here is the right place to do so, because
+			 * this is the first action (other than possibly a
+			 * back-up) that will match for the new input source.
+			 */
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+			YY_CURRENT_BUFFER_LVALUE->yy_input_file = zconfin;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
+			}
+
+		/* Note that here we test for yy_c_buf_p "<=" to the position
+		 * of the first EOB in the buffer, since yy_c_buf_p will
+		 * already have been incremented past the NUL character
+		 * (since all states make transitions on EOB to the
+		 * end-of-buffer state).  Contrast this with the test
+		 * in input().
+		 */
+		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			{ /* This was really a NUL. */
+			yy_state_type yy_next_state;
+
+			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
+
+			yy_current_state = yy_get_previous_state(  );
+
+			/* Okay, we're now positioned to make the NUL
+			 * transition.  We couldn't have
+			 * yy_get_previous_state() go ahead and do it
+			 * for us because it doesn't know how to deal
+			 * with the possibility of jamming (and we don't
+			 * want to build jamming into it because then it
+			 * will run more slowly).
+			 */
+
+			yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+
+			if ( yy_next_state )
+				{
+				/* Consume the NUL. */
+				yy_cp = ++(yy_c_buf_p);
+				yy_current_state = yy_next_state;
+				goto yy_match;
+				}
+
+			else
+				{
+				yy_cp = (yy_c_buf_p);
+				goto yy_find_action;
+				}
+			}
+
+		else switch ( yy_get_next_buffer(  ) )
+			{
+			case EOB_ACT_END_OF_FILE:
+				{
+				(yy_did_buffer_switch_on_eof) = 0;
+
+				if ( zconfwrap( ) )
+					{
+					/* Note: because we've taken care in
+					 * yy_get_next_buffer() to have set up
+					 * zconftext, we can now set up
+					 * yy_c_buf_p so that if some total
+					 * hoser (like flex itself) wants to
+					 * call the scanner after we return the
+					 * YY_NULL, it'll still work - another
+					 * YY_NULL will get returned.
+					 */
+					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
+
+					yy_act = YY_STATE_EOF(YY_START);
+					goto do_action;
+					}
+
+				else
+					{
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+					}
+				break;
+				}
+
+			case EOB_ACT_CONTINUE_SCAN:
+				(yy_c_buf_p) =
+					(yytext_ptr) + yy_amount_of_matched_text;
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_match;
+
+			case EOB_ACT_LAST_MATCH:
+				(yy_c_buf_p) =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_find_action;
+			}
+		break;
+		}
+
+	default:
+		YY_FATAL_ERROR(
+			"fatal flex scanner internal error--no action found" );
+	} /* end of action switch */
+		} /* end of scanning one token */
+} /* end of zconflex */
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ *	EOB_ACT_LAST_MATCH -
+ *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ *	EOB_ACT_END_OF_FILE - end of file
+ */
+static int yy_get_next_buffer (void)
+{
+    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+	register char *source = (yytext_ptr);
+	register int number_to_move, i;
+	int ret_val;
+
+	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
+		YY_FATAL_ERROR(
+		"fatal flex scanner internal error--end of buffer missed" );
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
+		{ /* Don't try to fill the buffer, so this is an EOF. */
+		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
+			{
+			/* We matched a single character, the EOB, so
+			 * treat this as a final EOF.
+			 */
+			return EOB_ACT_END_OF_FILE;
+			}
+
+		else
+			{
+			/* We matched some text prior to the EOB, first
+			 * process it.
+			 */
+			return EOB_ACT_LAST_MATCH;
+			}
+		}
+
+	/* Try to read more data. */
+
+	/* First move last chars to start of buffer. */
+	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
+
+	for ( i = 0; i < number_to_move; ++i )
+		*(dest++) = *(source++);
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+		/* don't do the read, it's not guaranteed to return an EOF,
+		 * just force an EOF
+		 */
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
+
+	else
+		{
+			size_t num_to_read =
+			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
+
+		while ( num_to_read <= 0 )
+			{ /* Not enough room in the buffer - grow it. */
+
+			/* just a shorter name for the current buffer */
+			YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
+
+			int yy_c_buf_p_offset =
+				(int) ((yy_c_buf_p) - b->yy_ch_buf);
+
+			if ( b->yy_is_our_buffer )
+				{
+				int new_size = b->yy_buf_size * 2;
+
+				if ( new_size <= 0 )
+					b->yy_buf_size += b->yy_buf_size / 8;
+				else
+					b->yy_buf_size *= 2;
+
+				b->yy_ch_buf = (char *)
+					/* Include room in for 2 EOB chars. */
+					zconfrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
+				}
+			else
+				/* Can't grow it, we don't own it. */
+				b->yy_ch_buf = 0;
+
+			if ( ! b->yy_ch_buf )
+				YY_FATAL_ERROR(
+				"fatal error - scanner input buffer overflow" );
+
+			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
+						number_to_move - 1;
+
+			}
+
+		if ( num_to_read > YY_READ_BUF_SIZE )
+			num_to_read = YY_READ_BUF_SIZE;
+
+		/* Read in more data. */
+		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+			(yy_n_chars), num_to_read );
+
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	if ( (yy_n_chars) == 0 )
+		{
+		if ( number_to_move == YY_MORE_ADJ )
+			{
+			ret_val = EOB_ACT_END_OF_FILE;
+			zconfrestart(zconfin  );
+			}
+
+		else
+			{
+			ret_val = EOB_ACT_LAST_MATCH;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
+				YY_BUFFER_EOF_PENDING;
+			}
+		}
+
+	else
+		ret_val = EOB_ACT_CONTINUE_SCAN;
+
+	(yy_n_chars) += number_to_move;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
+
+	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
+
+	return ret_val;
+}
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+    static yy_state_type yy_get_previous_state (void)
+{
+	register yy_state_type yy_current_state;
+	register char *yy_cp;
+    
+	yy_current_state = (yy_start);
+
+	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
+		{
+		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
+		}
+
+	return yy_current_state;
+}
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ *	next_state = yy_try_NUL_trans( current_state );
+ */
+    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
+{
+	register int yy_is_jam;
+    
+	yy_current_state = yy_nxt[yy_current_state][1];
+	yy_is_jam = (yy_current_state <= 0);
+
+	return yy_is_jam ? 0 : yy_current_state;
+}
+
+    static void yyunput (int c, register char * yy_bp )
+{
+	register char *yy_cp;
+    
+    yy_cp = (yy_c_buf_p);
+
+	/* undo effects of setting up zconftext */
+	*yy_cp = (yy_hold_char);
+
+	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+		{ /* need to shift things up to make room */
+		/* +2 for EOB chars. */
+		register int number_to_move = (yy_n_chars) + 2;
+		register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
+		register char *source =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
+
+		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+			*--dest = *--source;
+
+		yy_cp += (int) (dest - source);
+		yy_bp += (int) (dest - source);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
+
+		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+			YY_FATAL_ERROR( "flex scanner push-back overflow" );
+		}
+
+	*--yy_cp = (char) c;
+
+	(yytext_ptr) = yy_bp;
+	(yy_hold_char) = *yy_cp;
+	(yy_c_buf_p) = yy_cp;
+}
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+    static int yyinput (void)
+#else
+    static int input  (void)
+#endif
+
+{
+	int c;
+    
+	*(yy_c_buf_p) = (yy_hold_char);
+
+	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
+		{
+		/* yy_c_buf_p now points to the character we want to return.
+		 * If this occurs *before* the EOB characters, then it's a
+		 * valid NUL; if not, then we've hit the end of the buffer.
+		 */
+		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			/* This was really a NUL. */
+			*(yy_c_buf_p) = '\0';
+
+		else
+			{ /* need more input */
+			int offset = (yy_c_buf_p) - (yytext_ptr);
+			++(yy_c_buf_p);
+
+			switch ( yy_get_next_buffer(  ) )
+				{
+				case EOB_ACT_LAST_MATCH:
+					/* This happens because yy_g_n_b()
+					 * sees that we've accumulated a
+					 * token and flags that we need to
+					 * try matching the token before
+					 * proceeding.  But for input(),
+					 * there's no matching to consider.
+					 * So convert the EOB_ACT_LAST_MATCH
+					 * to EOB_ACT_END_OF_FILE.
+					 */
+
+					/* Reset buffer status. */
+					zconfrestart(zconfin );
+
+					/*FALLTHROUGH*/
+
+				case EOB_ACT_END_OF_FILE:
+					{
+					if ( zconfwrap( ) )
+						return EOF;
+
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+#ifdef __cplusplus
+					return yyinput();
+#else
+					return input();
+#endif
+					}
+
+				case EOB_ACT_CONTINUE_SCAN:
+					(yy_c_buf_p) = (yytext_ptr) + offset;
+					break;
+				}
+			}
+		}
+
+	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
+	*(yy_c_buf_p) = '\0';	/* preserve zconftext */
+	(yy_hold_char) = *++(yy_c_buf_p);
+
+	return c;
+}
+#endif	/* ifndef YY_NO_INPUT */
+
+/** Immediately switch to a different input stream.
+ * @param input_file A readable stream.
+ * 
+ * @note This function does not reset the start condition to @c INITIAL .
+ */
+    void zconfrestart  (FILE * input_file )
+{
+    
+	if ( ! YY_CURRENT_BUFFER ){
+        zconfensure_buffer_stack ();
+		YY_CURRENT_BUFFER_LVALUE =
+            zconf_create_buffer(zconfin,YY_BUF_SIZE );
+	}
+
+	zconf_init_buffer(YY_CURRENT_BUFFER,input_file );
+	zconf_load_buffer_state( );
+}
+
+/** Switch to a different input buffer.
+ * @param new_buffer The new input buffer.
+ * 
+ */
+    void zconf_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
+{
+    
+	/* TODO. We should be able to replace this entire function body
+	 * with
+	 *		zconfpop_buffer_state();
+	 *		zconfpush_buffer_state(new_buffer);
+     */
+	zconfensure_buffer_stack ();
+	if ( YY_CURRENT_BUFFER == new_buffer )
+		return;
+
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+	zconf_load_buffer_state( );
+
+	/* We don't actually know whether we did this switch during
+	 * EOF (zconfwrap()) processing, but the only time this flag
+	 * is looked at is after zconfwrap() is called, so it's safe
+	 * to go ahead and always set it.
+	 */
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+static void zconf_load_buffer_state  (void)
+{
+    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
+	zconfin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+	(yy_hold_char) = *(yy_c_buf_p);
+}
+
+/** Allocate and initialize an input buffer state.
+ * @param file A readable stream.
+ * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
+ * 
+ * @return the allocated buffer state.
+ */
+    YY_BUFFER_STATE zconf_create_buffer  (FILE * file, int  size )
+{
+	YY_BUFFER_STATE b;
+    
+	b = (YY_BUFFER_STATE) zconfalloc(sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_create_buffer()" );
+
+	b->yy_buf_size = size;
+
+	/* yy_ch_buf has to be 2 characters longer than the size given because
+	 * we need to put in 2 end-of-buffer characters.
+	 */
+	b->yy_ch_buf = (char *) zconfalloc(b->yy_buf_size + 2  );
+	if ( ! b->yy_ch_buf )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_create_buffer()" );
+
+	b->yy_is_our_buffer = 1;
+
+	zconf_init_buffer(b,file );
+
+	return b;
+}
+
+/** Destroy the buffer.
+ * @param b a buffer created with zconf_create_buffer()
+ * 
+ */
+    void zconf_delete_buffer (YY_BUFFER_STATE  b )
+{
+    
+	if ( ! b )
+		return;
+
+	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
+		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
+
+	if ( b->yy_is_our_buffer )
+		zconffree((void *) b->yy_ch_buf  );
+
+	zconffree((void *) b  );
+}
+
+/* Initializes or reinitializes a buffer.
+ * This function is sometimes called more than once on the same buffer,
+ * such as during a zconfrestart() or at EOF.
+ */
+    static void zconf_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
+
+{
+	int oerrno = errno;
+    
+	zconf_flush_buffer(b );
+
+	b->yy_input_file = file;
+	b->yy_fill_buffer = 1;
+
+    /* If b is the current buffer, then zconf_init_buffer was _probably_
+     * called from zconfrestart() or through yy_get_next_buffer.
+     * In that case, we don't want to reset the lineno or column.
+     */
+    if (b != YY_CURRENT_BUFFER){
+        b->yy_bs_lineno = 1;
+        b->yy_bs_column = 0;
+    }
+
+        b->yy_is_interactive = 0;
+    
+	errno = oerrno;
+}
+
+/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
+ * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
+ * 
+ */
+    void zconf_flush_buffer (YY_BUFFER_STATE  b )
+{
+    	if ( ! b )
+		return;
+
+	b->yy_n_chars = 0;
+
+	/* We always need two end-of-buffer characters.  The first causes
+	 * a transition to the end-of-buffer state.  The second causes
+	 * a jam in that state.
+	 */
+	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+	b->yy_buf_pos = &b->yy_ch_buf[0];
+
+	b->yy_at_bol = 1;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	if ( b == YY_CURRENT_BUFFER )
+		zconf_load_buffer_state( );
+}
+
+/** Pushes the new state onto the stack. The new state becomes
+ *  the current state. This function will allocate the stack
+ *  if necessary.
+ *  @param new_buffer The new state.
+ *  
+ */
+void zconfpush_buffer_state (YY_BUFFER_STATE new_buffer )
+{
+    	if (new_buffer == NULL)
+		return;
+
+	zconfensure_buffer_stack();
+
+	/* This block is copied from zconf_switch_to_buffer. */
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	/* Only push if top exists. Otherwise, replace top. */
+	if (YY_CURRENT_BUFFER)
+		(yy_buffer_stack_top)++;
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+
+	/* copied from zconf_switch_to_buffer. */
+	zconf_load_buffer_state( );
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+/** Removes and deletes the top of the stack, if present.
+ *  The next element becomes the new top.
+ *  
+ */
+void zconfpop_buffer_state (void)
+{
+    	if (!YY_CURRENT_BUFFER)
+		return;
+
+	zconf_delete_buffer(YY_CURRENT_BUFFER );
+	YY_CURRENT_BUFFER_LVALUE = NULL;
+	if ((yy_buffer_stack_top) > 0)
+		--(yy_buffer_stack_top);
+
+	if (YY_CURRENT_BUFFER) {
+		zconf_load_buffer_state( );
+		(yy_did_buffer_switch_on_eof) = 1;
+	}
+}
+
+/* Allocates the stack if it does not exist.
+ *  Guarantees space for at least one push.
+ */
+static void zconfensure_buffer_stack (void)
+{
+	int num_to_alloc;
+    
+	if (!(yy_buffer_stack)) {
+
+		/* First allocation is just for 2 elements, since we don't know if this
+		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
+		 * immediate realloc on the next call.
+         */
+		num_to_alloc = 1;
+		(yy_buffer_stack) = (struct yy_buffer_state**)zconfalloc
+								(num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		
+		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
+				
+		(yy_buffer_stack_max) = num_to_alloc;
+		(yy_buffer_stack_top) = 0;
+		return;
+	}
+
+	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+
+		/* Increase the buffer to prepare for a possible push. */
+		int grow_size = 8 /* arbitrary grow size */;
+
+		num_to_alloc = (yy_buffer_stack_max) + grow_size;
+		(yy_buffer_stack) = (struct yy_buffer_state**)zconfrealloc
+								((yy_buffer_stack),
+								num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+
+		/* zero only the new slots.*/
+		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
+		(yy_buffer_stack_max) = num_to_alloc;
+	}
+}
+
+/** Setup the input buffer state to scan directly from a user-specified character buffer.
+ * @param base the character buffer
+ * @param size the size in bytes of the character buffer
+ * 
+ * @return the newly allocated buffer state object. 
+ */
+YY_BUFFER_STATE zconf_scan_buffer  (char * base, yy_size_t  size )
+{
+	YY_BUFFER_STATE b;
+    
+	if ( size < 2 ||
+	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
+	     base[size-1] != YY_END_OF_BUFFER_CHAR )
+		/* They forgot to leave room for the EOB's. */
+		return 0;
+
+	b = (YY_BUFFER_STATE) zconfalloc(sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_scan_buffer()" );
+
+	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
+	b->yy_buf_pos = b->yy_ch_buf = base;
+	b->yy_is_our_buffer = 0;
+	b->yy_input_file = 0;
+	b->yy_n_chars = b->yy_buf_size;
+	b->yy_is_interactive = 0;
+	b->yy_at_bol = 1;
+	b->yy_fill_buffer = 0;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	zconf_switch_to_buffer(b  );
+
+	return b;
+}
+
+/** Setup the input buffer state to scan a string. The next call to zconflex() will
+ * scan from a @e copy of @a str.
+ * @param str a NUL-terminated string to scan
+ * 
+ * @return the newly allocated buffer state object.
+ * @note If you want to scan bytes that may contain NUL values, then use
+ *       zconf_scan_bytes() instead.
+ */
+YY_BUFFER_STATE zconf_scan_string (yyconst char * str )
+{
+    
+	return zconf_scan_bytes(str,strlen(str) );
+}
+
+/** Setup the input buffer state to scan the given bytes. The next call to zconflex() will
+ * scan from a @e copy of @a bytes.
+ * @param bytes the byte buffer to scan
+ * @param len the number of bytes in the buffer pointed to by @a bytes.
+ * 
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE zconf_scan_bytes  (yyconst char * bytes, int  len )
+{
+	YY_BUFFER_STATE b;
+	char *buf;
+	yy_size_t n;
+	int i;
+    
+	/* Get memory for full buffer, including space for trailing EOB's. */
+	n = len + 2;
+	buf = (char *) zconfalloc(n  );
+	if ( ! buf )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_scan_bytes()" );
+
+	for ( i = 0; i < len; ++i )
+		buf[i] = bytes[i];
+
+	buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
+
+	b = zconf_scan_buffer(buf,n );
+	if ( ! b )
+		YY_FATAL_ERROR( "bad buffer in zconf_scan_bytes()" );
+
+	/* It's okay to grow etc. this buffer, and we should throw it
+	 * away when we're done.
+	 */
+	b->yy_is_our_buffer = 1;
+
+	return b;
+}
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+static void yy_fatal_error (yyconst char* msg )
+{
+    	(void) fprintf( stderr, "%s\n", msg );
+	exit( YY_EXIT_FAILURE );
+}
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up zconftext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		zconftext[zconfleng] = (yy_hold_char); \
+		(yy_c_buf_p) = zconftext + yyless_macro_arg; \
+		(yy_hold_char) = *(yy_c_buf_p); \
+		*(yy_c_buf_p) = '\0'; \
+		zconfleng = yyless_macro_arg; \
+		} \
+	while ( 0 )
+
+/* Accessor  methods (get/set functions) to struct members. */
+
+/** Get the current line number.
+ * 
+ */
+int zconfget_lineno  (void)
+{
+        
+    return zconflineno;
+}
+
+/** Get the input stream.
+ * 
+ */
+FILE *zconfget_in  (void)
+{
+        return zconfin;
+}
+
+/** Get the output stream.
+ * 
+ */
+FILE *zconfget_out  (void)
+{
+        return zconfout;
+}
+
+/** Get the length of the current token.
+ * 
+ */
+int zconfget_leng  (void)
+{
+        return zconfleng;
+}
+
+/** Get the current token.
+ * 
+ */
+
+char *zconfget_text  (void)
+{
+        return zconftext;
+}
+
+/** Set the current line number.
+ * @param line_number
+ * 
+ */
+void zconfset_lineno (int  line_number )
+{
+    
+    zconflineno = line_number;
+}
+
+/** Set the input stream. This does not discard the current
+ * input buffer.
+ * @param in_str A readable stream.
+ * 
+ * @see zconf_switch_to_buffer
+ */
+void zconfset_in (FILE *  in_str )
+{
+        zconfin = in_str ;
+}
+
+void zconfset_out (FILE *  out_str )
+{
+        zconfout = out_str ;
+}
+
+int zconfget_debug  (void)
+{
+        return zconf_flex_debug;
+}
+
+void zconfset_debug (int  bdebug )
+{
+        zconf_flex_debug = bdebug ;
+}
+
+/* zconflex_destroy is for both reentrant and non-reentrant scanners. */
+int zconflex_destroy  (void)
+{
+    
+    /* Pop the buffer stack, destroying each element. */
+	while(YY_CURRENT_BUFFER){
+		zconf_delete_buffer(YY_CURRENT_BUFFER  );
+		YY_CURRENT_BUFFER_LVALUE = NULL;
+		zconfpop_buffer_state();
+	}
+
+	/* Destroy the stack itself. */
+	zconffree((yy_buffer_stack) );
+	(yy_buffer_stack) = NULL;
+
+    return 0;
+}
+
+/*
+ * Internal utility routines.
+ */
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+{
+	register int i;
+    	for ( i = 0; i < n; ++i )
+		s1[i] = s2[i];
+}
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * s )
+{
+	register int n;
+    	for ( n = 0; s[n]; ++n )
+		;
+
+	return n;
+}
+#endif
+
+void *zconfalloc (yy_size_t  size )
+{
+	return (void *) malloc( size );
+}
+
+void *zconfrealloc  (void * ptr, yy_size_t  size )
+{
+	/* The cast to (char *) in the following accommodates both
+	 * implementations that use char* generic pointers, and those
+	 * that use void* generic pointers.  It works with the latter
+	 * because both ANSI C and C++ allow castless assignment from
+	 * any pointer type to void*, and deal with argument conversions
+	 * as though doing an assignment.
+	 */
+	return (void *) realloc( (char *) ptr, size );
+}
+
+void zconffree (void * ptr )
+{
+	free( (char *) ptr );	/* see zconfrealloc() for (char *) cast */
+}
+
+#define YYTABLES_NAME "yytables"
+
+#undef YY_NEW_FILE
+#undef YY_FLUSH_BUFFER
+#undef yy_set_bol
+#undef yy_new_buffer
+#undef yy_set_interactive
+#undef yytext_ptr
+#undef YY_DO_BEFORE_ACTION
+
+#ifdef YY_DECL_IS_OURS
+#undef YY_DECL_IS_OURS
+#undef YY_DECL
+#endif
+
+void zconf_starthelp(void)
+{
+	new_string();
+	last_ts = first_ts = 0;
+	BEGIN(HELP);
+}
+
+static void zconf_endhelp(void)
+{
+	zconflval.string = text;
+	BEGIN(INITIAL);
+}
+
+/*
+ * Try to open specified file with following names:
+ * ./name
+ * $(srctree)/name
+ * The latter is used when srctree is separate from objtree
+ * when compiling the kernel.
+ * Return NULL if file is not found.
+ */
+FILE *zconf_fopen(const char *name)
+{
+	char *env, fullname[PATH_MAX+1];
+	FILE *f;
+
+	f = fopen(name, "r");
+	if (!f && name[0] != '/') {
+		env = getenv(SRCTREE);
+		if (env) {
+			sprintf(fullname, "%s/%s", env, name);
+			f = fopen(fullname, "r");
+		}
+	}
+	return f;
+}
+
+void zconf_initscan(const char *name)
+{
+	zconfin = zconf_fopen(name);
+	if (!zconfin) {
+		printf("can't find file %s\n", name);
+		exit(1);
+	}
+
+	current_buf = malloc(sizeof(*current_buf));
+	memset(current_buf, 0, sizeof(*current_buf));
+
+	current_file = file_lookup(name);
+	current_file->lineno = 1;
+	current_file->flags = FILE_BUSY;
+}
+
+void zconf_nextfile(const char *name)
+{
+	struct file *file = file_lookup(name);
+	struct buffer *buf = malloc(sizeof(*buf));
+	memset(buf, 0, sizeof(*buf));
+
+	current_buf->state = YY_CURRENT_BUFFER;
+	zconfin = zconf_fopen(name);
+	if (!zconfin) {
+		printf("%s:%d: can't open file \"%s\"\n", zconf_curname(), zconf_lineno(), name);
+		exit(1);
+	}
+	zconf_switch_to_buffer(zconf_create_buffer(zconfin,YY_BUF_SIZE));
+	buf->parent = current_buf;
+	current_buf = buf;
+
+	if (file->flags & FILE_BUSY) {
+		printf("recursive scan (%s)?\n", name);
+		exit(1);
+	}
+	if (file->flags & FILE_SCANNED) {
+		printf("file %s already scanned?\n", name);
+		exit(1);
+	}
+	file->flags |= FILE_BUSY;
+	file->lineno = 1;
+	file->parent = current_file;
+	current_file = file;
+}
+
+static struct buffer *zconf_endfile(void)
+{
+	struct buffer *parent;
+
+	current_file->flags |= FILE_SCANNED;
+	current_file->flags &= ~FILE_BUSY;
+	current_file = current_file->parent;
+
+	parent = current_buf->parent;
+	if (parent) {
+		fclose(zconfin);
+		zconf_delete_buffer(YY_CURRENT_BUFFER);
+		zconf_switch_to_buffer(parent->state);
+	}
+	free(current_buf);
+	current_buf = parent;
+
+	return parent;
+}
+
+int zconf_lineno(void)
+{
+	if (current_buf)
+		return current_file->lineno - 1;
+	else
+		return 0;
+}
+
+char *zconf_curname(void)
+{
+	if (current_buf)
+		return current_file->name;
+	else
+		return "<none>";
+}
+
Binary files linux-2.6.10/scripts/kconfig/mconf and linux-2.6.10-h1940/scripts/kconfig/mconf differ
diff -Nru linux-2.6.10/scripts/kconfig/zconf.tab.c linux-2.6.10-h1940/scripts/kconfig/zconf.tab.c
--- linux-2.6.10/scripts/kconfig/zconf.tab.c	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/scripts/kconfig/zconf.tab.c	2004-12-31 09:26:30.000000000 +0000
@@ -0,0 +1,2129 @@
+/* A Bison parser, made by GNU Bison 1.875a.  */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+   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, 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.  */
+
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
+
+/* Written by Richard Stallman by simplifying the original so called
+   ``semantic'' parser.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output.  */
+#define YYBISON 1
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Using locations.  */
+#define YYLSP_NEEDED 0
+
+/* If NAME_PREFIX is specified substitute the variables and functions
+   names.  */
+#define yyparse zconfparse
+#define yylex   zconflex
+#define yyerror zconferror
+#define yylval  zconflval
+#define yychar  zconfchar
+#define yydebug zconfdebug
+#define yynerrs zconfnerrs
+
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     T_MAINMENU = 258,
+     T_MENU = 259,
+     T_ENDMENU = 260,
+     T_SOURCE = 261,
+     T_CHOICE = 262,
+     T_ENDCHOICE = 263,
+     T_COMMENT = 264,
+     T_CONFIG = 265,
+     T_MENUCONFIG = 266,
+     T_HELP = 267,
+     T_HELPTEXT = 268,
+     T_IF = 269,
+     T_ENDIF = 270,
+     T_DEPENDS = 271,
+     T_REQUIRES = 272,
+     T_OPTIONAL = 273,
+     T_PROMPT = 274,
+     T_DEFAULT = 275,
+     T_TRISTATE = 276,
+     T_DEF_TRISTATE = 277,
+     T_BOOLEAN = 278,
+     T_DEF_BOOLEAN = 279,
+     T_STRING = 280,
+     T_INT = 281,
+     T_HEX = 282,
+     T_WORD = 283,
+     T_WORD_QUOTE = 284,
+     T_UNEQUAL = 285,
+     T_EOF = 286,
+     T_EOL = 287,
+     T_CLOSE_PAREN = 288,
+     T_OPEN_PAREN = 289,
+     T_ON = 290,
+     T_SELECT = 291,
+     T_RANGE = 292,
+     T_OR = 293,
+     T_AND = 294,
+     T_EQUAL = 295,
+     T_NOT = 296
+   };
+#endif
+#define T_MAINMENU 258
+#define T_MENU 259
+#define T_ENDMENU 260
+#define T_SOURCE 261
+#define T_CHOICE 262
+#define T_ENDCHOICE 263
+#define T_COMMENT 264
+#define T_CONFIG 265
+#define T_MENUCONFIG 266
+#define T_HELP 267
+#define T_HELPTEXT 268
+#define T_IF 269
+#define T_ENDIF 270
+#define T_DEPENDS 271
+#define T_REQUIRES 272
+#define T_OPTIONAL 273
+#define T_PROMPT 274
+#define T_DEFAULT 275
+#define T_TRISTATE 276
+#define T_DEF_TRISTATE 277
+#define T_BOOLEAN 278
+#define T_DEF_BOOLEAN 279
+#define T_STRING 280
+#define T_INT 281
+#define T_HEX 282
+#define T_WORD 283
+#define T_WORD_QUOTE 284
+#define T_UNEQUAL 285
+#define T_EOF 286
+#define T_EOL 287
+#define T_CLOSE_PAREN 288
+#define T_OPEN_PAREN 289
+#define T_ON 290
+#define T_SELECT 291
+#define T_RANGE 292
+#define T_OR 293
+#define T_AND 294
+#define T_EQUAL 295
+#define T_NOT 296
+
+
+
+
+/* Copy the first part of user declarations.  */
+
+
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <ctype.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdbool.h>
+
+#define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt)
+
+#define PRINTD		0x0001
+#define DEBUG_PARSE	0x0002
+
+int cdebug = PRINTD;
+
+extern int zconflex(void);
+static void zconfprint(const char *err, ...);
+static void zconferror(const char *err);
+static bool zconf_endtoken(int token, int starttoken, int endtoken);
+
+struct symbol *symbol_hash[257];
+
+static struct menu *current_menu, *current_entry;
+
+#define YYERROR_VERBOSE
+
+
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages.  */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+
+typedef union YYSTYPE {
+	int token;
+	char *string;
+	struct symbol *symbol;
+	struct expr *expr;
+	struct menu *menu;
+} YYSTYPE;
+/* Line 191 of yacc.c.  */
+
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+/* Copy the second part of user declarations.  */
+
+
+#define LKC_DIRECT_LINK
+#include "lkc.h"
+
+
+/* Line 214 of yacc.c.  */
+
+
+#if ! defined (yyoverflow) || YYERROR_VERBOSE
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# if YYSTACK_USE_ALLOCA
+#  define YYSTACK_ALLOC alloca
+# else
+#  ifndef YYSTACK_USE_ALLOCA
+#   if defined (alloca) || defined (_ALLOCA_H)
+#    define YYSTACK_ALLOC alloca
+#   else
+#    ifdef __GNUC__
+#     define YYSTACK_ALLOC __builtin_alloca
+#    endif
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's `empty if-body' warning. */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# else
+#  if defined (__STDC__) || defined (__cplusplus)
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   define YYSIZE_T size_t
+#  endif
+#  define YYSTACK_ALLOC malloc
+#  define YYSTACK_FREE free
+# endif
+#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
+
+
+#if (! defined (yyoverflow) \
+     && (! defined (__cplusplus) \
+	 || (YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  short yyss;
+  YYSTYPE yyvs;
+  };
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (sizeof (short) + sizeof (YYSTYPE))				\
+      + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if 1 < __GNUC__
+#   define YYCOPY(To, From, Count) \
+      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+#  else
+#   define YYCOPY(To, From, Count)		\
+      do					\
+	{					\
+	  register YYSIZE_T yyi;		\
+	  for (yyi = 0; yyi < (Count); yyi++)	\
+	    (To)[yyi] = (From)[yyi];		\
+	}					\
+      while (0)
+#  endif
+# endif
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack)					\
+    do									\
+      {									\
+	YYSIZE_T yynewbytes;						\
+	YYCOPY (&yyptr->Stack, Stack, yysize);				\
+	Stack = &yyptr->Stack;						\
+	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+	yyptr += yynewbytes / sizeof (*yyptr);				\
+      }									\
+    while (0)
+
+#endif
+
+#if defined (__STDC__) || defined (__cplusplus)
+   typedef signed char yysigned_char;
+#else
+   typedef short yysigned_char;
+#endif
+
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL  2
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   201
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS  42
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS  41
+/* YYNRULES -- Number of rules. */
+#define YYNRULES  104
+/* YYNRULES -- Number of states. */
+#define YYNSTATES  182
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+#define YYUNDEFTOK  2
+#define YYMAXUTOK   296
+
+#define YYTRANSLATE(YYX) 						\
+  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+static const unsigned char yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+   YYRHS.  */
+static const unsigned short yyprhs[] =
+{
+       0,     0,     3,     4,     7,     9,    11,    13,    17,    19,
+      21,    23,    26,    28,    30,    32,    34,    36,    38,    42,
+      45,    49,    52,    53,    56,    59,    62,    65,    69,    74,
+      78,    83,    87,    91,    95,   100,   105,   110,   116,   119,
+     122,   124,   128,   131,   132,   135,   138,   141,   144,   149,
+     153,   157,   160,   165,   166,   169,   173,   175,   179,   182,
+     183,   186,   189,   192,   196,   199,   201,   205,   208,   209,
+     212,   215,   218,   222,   226,   228,   232,   235,   238,   241,
+     242,   245,   248,   253,   257,   261,   262,   265,   267,   269,
+     272,   275,   278,   280,   282,   283,   286,   288,   292,   296,
+     300,   303,   307,   311,   313
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yysigned_char yyrhs[] =
+{
+      43,     0,    -1,    -1,    43,    44,    -1,    45,    -1,    55,
+      -1,    66,    -1,     3,    77,    79,    -1,     5,    -1,    15,
+      -1,     8,    -1,     1,    79,    -1,    61,    -1,    71,    -1,
+      47,    -1,    49,    -1,    69,    -1,    79,    -1,    10,    28,
+      32,    -1,    46,    50,    -1,    11,    28,    32,    -1,    48,
+      50,    -1,    -1,    50,    51,    -1,    50,    75,    -1,    50,
+      73,    -1,    50,    32,    -1,    21,    76,    32,    -1,    22,
+      81,    80,    32,    -1,    23,    76,    32,    -1,    24,    81,
+      80,    32,    -1,    26,    76,    32,    -1,    27,    76,    32,
+      -1,    25,    76,    32,    -1,    19,    77,    80,    32,    -1,
+      20,    81,    80,    32,    -1,    36,    28,    80,    32,    -1,
+      37,    82,    82,    80,    32,    -1,     7,    32,    -1,    52,
+      56,    -1,    78,    -1,    53,    58,    54,    -1,    53,    58,
+      -1,    -1,    56,    57,    -1,    56,    75,    -1,    56,    73,
+      -1,    56,    32,    -1,    19,    77,    80,    32,    -1,    21,
+      76,    32,    -1,    23,    76,    32,    -1,    18,    32,    -1,
+      20,    28,    80,    32,    -1,    -1,    58,    45,    -1,    14,
+      81,    32,    -1,    78,    -1,    59,    62,    60,    -1,    59,
+      62,    -1,    -1,    62,    45,    -1,    62,    66,    -1,    62,
+      55,    -1,     4,    77,    32,    -1,    63,    74,    -1,    78,
+      -1,    64,    67,    65,    -1,    64,    67,    -1,    -1,    67,
+      45,    -1,    67,    66,    -1,    67,    55,    -1,    67,     1,
+      32,    -1,     6,    77,    32,    -1,    68,    -1,     9,    77,
+      32,    -1,    70,    74,    -1,    12,    32,    -1,    72,    13,
+      -1,    -1,    74,    75,    -1,    74,    32,    -1,    16,    35,
+      81,    32,    -1,    16,    81,    32,    -1,    17,    81,    32,
+      -1,    -1,    77,    80,    -1,    28,    -1,    29,    -1,     5,
+      79,    -1,     8,    79,    -1,    15,    79,    -1,    32,    -1,
+      31,    -1,    -1,    14,    81,    -1,    82,    -1,    82,    40,
+      82,    -1,    82,    30,    82,    -1,    34,    81,    33,    -1,
+      41,    81,    -1,    81,    38,    81,    -1,    81,    39,    81,
+      -1,    28,    -1,    29,    -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+static const unsigned short yyrline[] =
+{
+       0,    94,    94,    95,    98,    99,   100,   101,   102,   103,
+     104,   105,   109,   110,   111,   112,   113,   114,   120,   128,
+     134,   142,   152,   154,   155,   156,   157,   160,   166,   173,
+     179,   186,   192,   198,   204,   210,   216,   222,   230,   239,
+     245,   254,   255,   261,   263,   264,   265,   266,   269,   275,
+     281,   287,   293,   299,   301,   306,   315,   324,   325,   331,
+     333,   334,   335,   340,   347,   353,   362,   363,   369,   371,
+     372,   373,   374,   377,   383,   390,   397,   404,   410,   417,
+     418,   419,   422,   427,   432,   440,   442,   447,   448,   451,
+     452,   453,   457,   457,   459,   460,   463,   464,   465,   466,
+     467,   468,   469,   472,   473
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+  "$end", "error", "$undefined", "T_MAINMENU", "T_MENU", "T_ENDMENU", 
+  "T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG", 
+  "T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS", 
+  "T_REQUIRES", "T_OPTIONAL", "T_PROMPT", "T_DEFAULT", "T_TRISTATE", 
+  "T_DEF_TRISTATE", "T_BOOLEAN", "T_DEF_BOOLEAN", "T_STRING", "T_INT", 
+  "T_HEX", "T_WORD", "T_WORD_QUOTE", "T_UNEQUAL", "T_EOF", "T_EOL", 
+  "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_ON", "T_SELECT", "T_RANGE", "T_OR", 
+  "T_AND", "T_EQUAL", "T_NOT", "$accept", "input", "block", 
+  "common_block", "config_entry_start", "config_stmt", 
+  "menuconfig_entry_start", "menuconfig_stmt", "config_option_list", 
+  "config_option", "choice", "choice_entry", "choice_end", "choice_stmt", 
+  "choice_option_list", "choice_option", "choice_block", "if", "if_end", 
+  "if_stmt", "if_block", "menu", "menu_entry", "menu_end", "menu_stmt", 
+  "menu_block", "source", "source_stmt", "comment", "comment_stmt", 
+  "help_start", "help", "depends_list", "depends", "prompt_stmt_opt", 
+  "prompt", "end", "nl_or_eof", "if_expr", "expr", "symbol", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+   token YYLEX-NUM.  */
+static const unsigned short yytoknum[] =
+{
+       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
+     295,   296
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const unsigned char yyr1[] =
+{
+       0,    42,    43,    43,    44,    44,    44,    44,    44,    44,
+      44,    44,    45,    45,    45,    45,    45,    45,    46,    47,
+      48,    49,    50,    50,    50,    50,    50,    51,    51,    51,
+      51,    51,    51,    51,    51,    51,    51,    51,    52,    53,
+      54,    55,    55,    56,    56,    56,    56,    56,    57,    57,
+      57,    57,    57,    58,    58,    59,    60,    61,    61,    62,
+      62,    62,    62,    63,    64,    65,    66,    66,    67,    67,
+      67,    67,    67,    68,    69,    70,    71,    72,    73,    74,
+      74,    74,    75,    75,    75,    76,    76,    77,    77,    78,
+      78,    78,    79,    79,    80,    80,    81,    81,    81,    81,
+      81,    81,    81,    82,    82
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
+static const unsigned char yyr2[] =
+{
+       0,     2,     0,     2,     1,     1,     1,     3,     1,     1,
+       1,     2,     1,     1,     1,     1,     1,     1,     3,     2,
+       3,     2,     0,     2,     2,     2,     2,     3,     4,     3,
+       4,     3,     3,     3,     4,     4,     4,     5,     2,     2,
+       1,     3,     2,     0,     2,     2,     2,     2,     4,     3,
+       3,     2,     4,     0,     2,     3,     1,     3,     2,     0,
+       2,     2,     2,     3,     2,     1,     3,     2,     0,     2,
+       2,     2,     3,     3,     1,     3,     2,     2,     2,     0,
+       2,     2,     4,     3,     3,     0,     2,     1,     1,     2,
+       2,     2,     1,     1,     0,     2,     1,     3,     3,     3,
+       2,     3,     3,     1,     1
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
+   means the default is an error.  */
+static const unsigned char yydefact[] =
+{
+       2,     0,     1,     0,     0,     0,     8,     0,     0,    10,
+       0,     0,     0,     0,     9,    93,    92,     3,     4,    22,
+      14,    22,    15,    43,    53,     5,    59,    12,    79,    68,
+       6,    74,    16,    79,    13,    17,    11,    87,    88,     0,
+       0,     0,    38,     0,     0,     0,   103,   104,     0,     0,
+       0,    96,    19,    21,    39,    42,    58,    64,     0,    76,
+       7,    63,    73,    75,    18,    20,     0,   100,    55,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    85,     0,
+      85,     0,    85,    85,    85,    26,     0,     0,    23,     0,
+      25,    24,     0,     0,     0,    85,    85,    47,    44,    46,
+      45,     0,     0,     0,    54,    41,    40,    60,    62,    57,
+      61,    56,    81,    80,     0,    69,    71,    66,    70,    65,
+      99,   101,   102,    98,    97,    77,     0,     0,     0,    94,
+      94,     0,    94,    94,     0,    94,     0,     0,     0,    94,
+       0,    78,    51,    94,    94,     0,     0,    89,    90,    91,
+      72,     0,    83,    84,     0,     0,     0,    27,    86,     0,
+      29,     0,    33,    31,    32,     0,    94,     0,     0,    49,
+      50,    82,    95,    34,    35,    28,    30,    36,     0,    48,
+      52,    37
+};
+
+/* YYDEFGOTO[NTERM-NUM]. */
+static const short yydefgoto[] =
+{
+      -1,     1,    17,    18,    19,    20,    21,    22,    52,    88,
+      23,    24,   105,    25,    54,    98,    55,    26,   109,    27,
+      56,    28,    29,   117,    30,    58,    31,    32,    33,    34,
+      89,    90,    57,    91,   131,   132,   106,    35,   155,    50,
+      51
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+#define YYPACT_NINF -99
+static const short yypact[] =
+{
+     -99,    48,   -99,    38,    46,    46,   -99,    46,   -29,   -99,
+      46,   -17,    -3,   -11,   -99,   -99,   -99,   -99,   -99,   -99,
+     -99,   -99,   -99,   -99,   -99,   -99,   -99,   -99,   -99,   -99,
+     -99,   -99,   -99,   -99,   -99,   -99,   -99,   -99,   -99,    38,
+      12,    15,   -99,    18,    51,    62,   -99,   -99,   -11,   -11,
+       4,   -24,   138,   138,   160,   121,   110,    -4,    81,    -4,
+     -99,   -99,   -99,   -99,   -99,   -99,   -19,   -99,   -99,   -11,
+     -11,    70,    70,    73,    32,   -11,    46,   -11,    46,   -11,
+      46,   -11,    46,    46,    46,   -99,    36,    70,   -99,    95,
+     -99,   -99,    96,    46,   106,    46,    46,   -99,   -99,   -99,
+     -99,    38,    38,    38,   -99,   -99,   -99,   -99,   -99,   -99,
+     -99,   -99,   -99,   -99,   112,   -99,   -99,   -99,   -99,   -99,
+     -99,   117,   -99,   -99,   -99,   -99,   -11,    33,    65,   131,
+       1,   119,   131,     1,   136,     1,   153,   154,   155,   131,
+      70,   -99,   -99,   131,   131,   156,   157,   -99,   -99,   -99,
+     -99,   101,   -99,   -99,   -11,   158,   159,   -99,   -99,   161,
+     -99,   162,   -99,   -99,   -99,   163,   131,   164,   165,   -99,
+     -99,   -99,    99,   -99,   -99,   -99,   -99,   -99,   166,   -99,
+     -99,   -99
+};
+
+/* YYPGOTO[NTERM-NUM].  */
+static const short yypgoto[] =
+{
+     -99,   -99,   -99,   111,   -99,   -99,   -99,   -99,   178,   -99,
+     -99,   -99,   -99,    91,   -99,   -99,   -99,   -99,   -99,   -99,
+     -99,   -99,   -99,   -99,   115,   -99,   -99,   -99,   -99,   -99,
+     -99,   146,   168,    89,    27,     0,   126,    -1,   -98,   -48,
+     -63
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule which
+   number is the opposite.  If zero, do what YYDEFACT says.
+   If YYTABLE_NINF, syntax error.  */
+#define YYTABLE_NINF -68
+static const short yytable[] =
+{
+      66,    67,    36,    42,    39,    40,    71,    41,   123,   124,
+      43,    44,    74,    75,   120,   154,    72,    46,    47,    69,
+      70,   121,   122,    48,   140,    45,   127,   128,   112,   130,
+      49,   133,   156,   135,   158,   159,    68,   161,    60,    69,
+      70,   165,    69,    70,    61,   167,   168,    62,     2,     3,
+      63,     4,     5,     6,     7,     8,     9,    10,    11,    12,
+      46,    47,    13,    14,   139,   152,    48,   126,   178,    15,
+      16,    69,    70,    49,    37,    38,   129,   166,   151,    15,
+      16,   -67,   114,    64,   -67,     5,   101,     7,     8,   102,
+      10,    11,    12,   143,    65,    13,   103,   153,    46,    47,
+     147,   148,   149,    69,    70,   125,   172,   134,   141,   136,
+     137,   138,    15,    16,     5,   101,     7,     8,   102,    10,
+      11,    12,   145,   146,    13,   103,   101,     7,   142,   102,
+      10,    11,    12,   171,   144,    13,   103,    69,    70,    69,
+      70,    15,    16,   100,   150,   154,   113,   108,   113,   116,
+      73,   157,    15,    16,    74,    75,    70,    76,    77,    78,
+      79,    80,    81,    82,    83,    84,   104,   107,   160,   115,
+      85,   110,    73,   118,    86,    87,    74,    75,    92,    93,
+      94,    95,   111,    96,   119,   162,   163,   164,   169,   170,
+     173,   174,    97,   175,   176,   177,   179,   180,   181,    53,
+      99,    59
+};
+
+static const unsigned char yycheck[] =
+{
+      48,    49,     3,    32,     4,     5,    30,     7,    71,    72,
+      10,    28,    16,    17,    33,    14,    40,    28,    29,    38,
+      39,    69,    70,    34,    87,    28,    74,    75,    32,    77,
+      41,    79,   130,    81,   132,   133,    32,   135,    39,    38,
+      39,   139,    38,    39,    32,   143,   144,    32,     0,     1,
+      32,     3,     4,     5,     6,     7,     8,     9,    10,    11,
+      28,    29,    14,    15,    28,    32,    34,    35,   166,    31,
+      32,    38,    39,    41,    28,    29,    76,   140,   126,    31,
+      32,     0,     1,    32,     3,     4,     5,     6,     7,     8,
+       9,    10,    11,    93,    32,    14,    15,    32,    28,    29,
+     101,   102,   103,    38,    39,    32,   154,    80,    13,    82,
+      83,    84,    31,    32,     4,     5,     6,     7,     8,     9,
+      10,    11,    95,    96,    14,    15,     5,     6,    32,     8,
+       9,    10,    11,    32,    28,    14,    15,    38,    39,    38,
+      39,    31,    32,    54,    32,    14,    57,    56,    59,    58,
+      12,    32,    31,    32,    16,    17,    39,    19,    20,    21,
+      22,    23,    24,    25,    26,    27,    55,    56,    32,    58,
+      32,    56,    12,    58,    36,    37,    16,    17,    18,    19,
+      20,    21,    56,    23,    58,    32,    32,    32,    32,    32,
+      32,    32,    32,    32,    32,    32,    32,    32,    32,    21,
+      54,    33
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+   symbol of state STATE-NUM.  */
+static const unsigned char yystos[] =
+{
+       0,    43,     0,     1,     3,     4,     5,     6,     7,     8,
+       9,    10,    11,    14,    15,    31,    32,    44,    45,    46,
+      47,    48,    49,    52,    53,    55,    59,    61,    63,    64,
+      66,    68,    69,    70,    71,    79,    79,    28,    29,    77,
+      77,    77,    32,    77,    28,    28,    28,    29,    34,    41,
+      81,    82,    50,    50,    56,    58,    62,    74,    67,    74,
+      79,    32,    32,    32,    32,    32,    81,    81,    32,    38,
+      39,    30,    40,    12,    16,    17,    19,    20,    21,    22,
+      23,    24,    25,    26,    27,    32,    36,    37,    51,    72,
+      73,    75,    18,    19,    20,    21,    23,    32,    57,    73,
+      75,     5,     8,    15,    45,    54,    78,    45,    55,    60,
+      66,    78,    32,    75,     1,    45,    55,    65,    66,    78,
+      33,    81,    81,    82,    82,    32,    35,    81,    81,    77,
+      81,    76,    77,    81,    76,    81,    76,    76,    76,    28,
+      82,    13,    32,    77,    28,    76,    76,    79,    79,    79,
+      32,    81,    32,    32,    14,    80,    80,    32,    80,    80,
+      32,    80,    32,    32,    32,    80,    82,    80,    80,    32,
+      32,    32,    81,    32,    32,    32,    32,    32,    80,    32,
+      32,    32
+};
+
+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
+#endif
+#if ! defined (YYSIZE_T) && defined (size_t)
+# define YYSIZE_T size_t
+#endif
+#if ! defined (YYSIZE_T)
+# if defined (__STDC__) || defined (__cplusplus)
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# endif
+#endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
+#endif
+
+#define yyerrok		(yyerrstatus = 0)
+#define yyclearin	(yychar = YYEMPTY)
+#define YYEMPTY		(-2)
+#define YYEOF		0
+
+#define YYACCEPT	goto yyacceptlab
+#define YYABORT		goto yyabortlab
+#define YYERROR		goto yyerrlab1
+
+
+/* Like YYERROR except do call yyerror.  This remains here temporarily
+   to ease the transition to the new meaning of YYERROR, for GCC.
+   Once GCC version 2 has supplanted version 1, this can go.  */
+
+#define YYFAIL		goto yyerrlab
+
+#define YYRECOVERING()  (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value)					\
+do								\
+  if (yychar == YYEMPTY && yylen == 1)				\
+    {								\
+      yychar = (Token);						\
+      yylval = (Value);						\
+      yytoken = YYTRANSLATE (yychar);				\
+      YYPOPSTACK;						\
+      goto yybackup;						\
+    }								\
+  else								\
+    { 								\
+      yyerror ("syntax error: cannot back up");\
+      YYERROR;							\
+    }								\
+while (0)
+
+#define YYTERROR	1
+#define YYERRCODE	256
+
+/* YYLLOC_DEFAULT -- Compute the default location (before the actions
+   are run).  */
+
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)         \
+  Current.first_line   = Rhs[1].first_line;      \
+  Current.first_column = Rhs[1].first_column;    \
+  Current.last_line    = Rhs[N].last_line;       \
+  Current.last_column  = Rhs[N].last_column;
+#endif
+
+/* YYLEX -- calling `yylex' with the right arguments.  */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (YYLEX_PARAM)
+#else
+# define YYLEX yylex ()
+#endif
+
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)			\
+do {						\
+  if (yydebug)					\
+    YYFPRINTF Args;				\
+} while (0)
+
+# define YYDSYMPRINT(Args)			\
+do {						\
+  if (yydebug)					\
+    yysymprint Args;				\
+} while (0)
+
+# define YYDSYMPRINTF(Title, Token, Value, Location)		\
+do {								\
+  if (yydebug)							\
+    {								\
+      YYFPRINTF (stderr, "%s ", Title);				\
+      yysymprint (stderr, 					\
+                  Token, Value);	\
+      YYFPRINTF (stderr, "\n");					\
+    }								\
+} while (0)
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (cinluded).                                                   |
+`------------------------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_stack_print (short *bottom, short *top)
+#else
+static void
+yy_stack_print (bottom, top)
+    short *bottom;
+    short *top;
+#endif
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (/* Nothing. */; bottom <= top; ++bottom)
+    YYFPRINTF (stderr, " %d", *bottom);
+  YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top)				\
+do {								\
+  if (yydebug)							\
+    yy_stack_print ((Bottom), (Top));				\
+} while (0)
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_reduce_print (int yyrule)
+#else
+static void
+yy_reduce_print (yyrule)
+    int yyrule;
+#endif
+{
+  int yyi;
+  unsigned int yylineno = yyrline[yyrule];
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
+             yyrule - 1, yylineno);
+  /* Print the symbols being reduced, and their result.  */
+  for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
+    YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
+  YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
+}
+
+# define YY_REDUCE_PRINT(Rule)		\
+do {					\
+  if (yydebug)				\
+    yy_reduce_print (Rule);		\
+} while (0)
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YYDSYMPRINT(Args)
+# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
+#ifndef	YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
+
+   Do not make this value too large; the results are undefined if
+   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
+
+#if YYMAXDEPTH == 0
+# undef YYMAXDEPTH
+#endif
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+#  if defined (__GLIBC__) && defined (_STRING_H)
+#   define yystrlen strlen
+#  else
+/* Return the length of YYSTR.  */
+static YYSIZE_T
+#   if defined (__STDC__) || defined (__cplusplus)
+yystrlen (const char *yystr)
+#   else
+yystrlen (yystr)
+     const char *yystr;
+#   endif
+{
+  register const char *yys = yystr;
+
+  while (*yys++ != '\0')
+    continue;
+
+  return yys - yystr - 1;
+}
+#  endif
+# endif
+
+# ifndef yystpcpy
+#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
+#   define yystpcpy stpcpy
+#  else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+   YYDEST.  */
+static char *
+#   if defined (__STDC__) || defined (__cplusplus)
+yystpcpy (char *yydest, const char *yysrc)
+#   else
+yystpcpy (yydest, yysrc)
+     char *yydest;
+     const char *yysrc;
+#   endif
+{
+  register char *yyd = yydest;
+  register const char *yys = yysrc;
+
+  while ((*yyd++ = *yys++) != '\0')
+    continue;
+
+  return yyd - 1;
+}
+#  endif
+# endif
+
+#endif /* !YYERROR_VERBOSE */
+
+
+
+#if YYDEBUG
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yysymprint (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
+{
+  /* Pacify ``unused variable'' warnings.  */
+  (void) yyvaluep;
+
+  if (yytype < YYNTOKENS)
+    {
+      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+# ifdef YYPRINT
+      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+    }
+  else
+    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+  switch (yytype)
+    {
+      default:
+        break;
+    }
+  YYFPRINTF (yyoutput, ")");
+}
+
+#endif /* ! YYDEBUG */
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yydestruct (int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yytype, yyvaluep)
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
+{
+  /* Pacify ``unused variable'' warnings.  */
+  (void) yyvaluep;
+
+  switch (yytype)
+    {
+
+      default:
+        break;
+    }
+}
+
+
+/* Prevent warnings from -Wmissing-prototypes.  */
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM);
+# else
+int yyparse ();
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+/* The lookahead symbol.  */
+int yychar;
+
+/* The semantic value of the lookahead symbol.  */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+
+/*----------.
+| yyparse.  |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM)
+# else
+int yyparse (YYPARSE_PARAM)
+  void *YYPARSE_PARAM;
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
+{
+  
+  register int yystate;
+  register int yyn;
+  int yyresult;
+  /* Number of tokens to shift before error messages enabled.  */
+  int yyerrstatus;
+  /* Lookahead token as an internal (translated) token number.  */
+  int yytoken = 0;
+
+  /* Three stacks and their tools:
+     `yyss': related to states,
+     `yyvs': related to semantic values,
+     `yyls': related to locations.
+
+     Refer to the stacks thru separate pointers, to allow yyoverflow
+     to reallocate them elsewhere.  */
+
+  /* The state stack.  */
+  short	yyssa[YYINITDEPTH];
+  short *yyss = yyssa;
+  register short *yyssp;
+
+  /* The semantic value stack.  */
+  YYSTYPE yyvsa[YYINITDEPTH];
+  YYSTYPE *yyvs = yyvsa;
+  register YYSTYPE *yyvsp;
+
+
+
+#define YYPOPSTACK   (yyvsp--, yyssp--)
+
+  YYSIZE_T yystacksize = YYINITDEPTH;
+
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
+
+
+  /* When reducing, the number of symbols on the RHS of the reduced
+     rule.  */
+  int yylen;
+
+  YYDPRINTF ((stderr, "Starting parse\n"));
+
+  yystate = 0;
+  yyerrstatus = 0;
+  yynerrs = 0;
+  yychar = YYEMPTY;		/* Cause a token to be read.  */
+
+  /* Initialize stack pointers.
+     Waste one element of value and location stack
+     so that they stay on the same level as the state stack.
+     The wasted elements are never initialized.  */
+
+  yyssp = yyss;
+  yyvsp = yyvs;
+
+  goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+ yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed. so pushing a state here evens the stacks.
+     */
+  yyssp++;
+
+ yysetstate:
+  *yyssp = yystate;
+
+  if (yyss + yystacksize - 1 <= yyssp)
+    {
+      /* Get the current used size of the three stacks, in elements.  */
+      YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+      {
+	/* Give user a chance to reallocate the stack. Use copies of
+	   these so that the &'s don't force the real ones into
+	   memory.  */
+	YYSTYPE *yyvs1 = yyvs;
+	short *yyss1 = yyss;
+
+
+	/* Each stack pointer address is followed by the size of the
+	   data in use in that stack, in bytes.  This used to be a
+	   conditional around just the two extra args, but that might
+	   be undefined if yyoverflow is a macro.  */
+	yyoverflow ("parser stack overflow",
+		    &yyss1, yysize * sizeof (*yyssp),
+		    &yyvs1, yysize * sizeof (*yyvsp),
+
+		    &yystacksize);
+
+	yyss = yyss1;
+	yyvs = yyvs1;
+      }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyoverflowlab;
+# else
+      /* Extend the stack our own way.  */
+      if (YYMAXDEPTH <= yystacksize)
+	goto yyoverflowlab;
+      yystacksize *= 2;
+      if (YYMAXDEPTH < yystacksize)
+	yystacksize = YYMAXDEPTH;
+
+      {
+	short *yyss1 = yyss;
+	union yyalloc *yyptr =
+	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+	if (! yyptr)
+	  goto yyoverflowlab;
+	YYSTACK_RELOCATE (yyss);
+	YYSTACK_RELOCATE (yyvs);
+
+#  undef YYSTACK_RELOCATE
+	if (yyss1 != yyssa)
+	  YYSTACK_FREE (yyss1);
+      }
+# endif
+#endif /* no yyoverflow */
+
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
+
+
+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+		  (unsigned long int) yystacksize));
+
+      if (yyss + yystacksize - 1 <= yyssp)
+	YYABORT;
+    }
+
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+  goto yybackup;
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
+
+/* Do appropriate processing given the current state.  */
+/* Read a lookahead token if we need one and don't already have one.  */
+/* yyresume: */
+
+  /* First try to decide what to do without reference to lookahead token.  */
+
+  yyn = yypact[yystate];
+  if (yyn == YYPACT_NINF)
+    goto yydefault;
+
+  /* Not known => get a lookahead token if don't already have one.  */
+
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
+  if (yychar == YYEMPTY)
+    {
+      YYDPRINTF ((stderr, "Reading a token: "));
+      yychar = YYLEX;
+    }
+
+  if (yychar <= YYEOF)
+    {
+      yychar = yytoken = YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
+    }
+  else
+    {
+      yytoken = YYTRANSLATE (yychar);
+      YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
+    }
+
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+    goto yydefault;
+  yyn = yytable[yyn];
+  if (yyn <= 0)
+    {
+      if (yyn == 0 || yyn == YYTABLE_NINF)
+	goto yyerrlab;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+
+  if (yyn == YYFINAL)
+    YYACCEPT;
+
+  /* Shift the lookahead token.  */
+  YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
+
+  /* Discard the token being shifted unless it is eof.  */
+  if (yychar != YYEOF)
+    yychar = YYEMPTY;
+
+  *++yyvsp = yylval;
+
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
+
+  yystate = yyn;
+  goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
+  yyn = yydefact[yystate];
+  if (yyn == 0)
+    goto yyerrlab;
+  goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction.  |
+`-----------------------------*/
+yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
+  yylen = yyr2[yyn];
+
+  /* If YYLEN is nonzero, implement the default value of the action:
+     `$$ = $1'.
+
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
+
+
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+        case 8:
+
+    { zconfprint("unexpected 'endmenu' statement"); ;}
+    break;
+
+  case 9:
+
+    { zconfprint("unexpected 'endif' statement"); ;}
+    break;
+
+  case 10:
+
+    { zconfprint("unexpected 'endchoice' statement"); ;}
+    break;
+
+  case 11:
+
+    { zconfprint("syntax error"); yyerrok; ;}
+    break;
+
+  case 18:
+
+    {
+	struct symbol *sym = sym_lookup(yyvsp[-1].string, 0);
+	sym->flags |= SYMBOL_OPTIONAL;
+	menu_add_entry(sym);
+	printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), yyvsp[-1].string);
+;}
+    break;
+
+  case 19:
+
+    {
+	menu_end_entry();
+	printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 20:
+
+    {
+	struct symbol *sym = sym_lookup(yyvsp[-1].string, 0);
+	sym->flags |= SYMBOL_OPTIONAL;
+	menu_add_entry(sym);
+	printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), yyvsp[-1].string);
+;}
+    break;
+
+  case 21:
+
+    {
+	if (current_entry->prompt)
+		current_entry->prompt->type = P_MENU;
+	else
+		zconfprint("warning: menuconfig statement without prompt");
+	menu_end_entry();
+	printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 27:
+
+    {
+	menu_set_type(S_TRISTATE);
+	printd(DEBUG_PARSE, "%s:%d:tristate\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 28:
+
+    {
+	menu_add_expr(P_DEFAULT, yyvsp[-2].expr, yyvsp[-1].expr);
+	menu_set_type(S_TRISTATE);
+	printd(DEBUG_PARSE, "%s:%d:def_boolean\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 29:
+
+    {
+	menu_set_type(S_BOOLEAN);
+	printd(DEBUG_PARSE, "%s:%d:boolean\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 30:
+
+    {
+	menu_add_expr(P_DEFAULT, yyvsp[-2].expr, yyvsp[-1].expr);
+	menu_set_type(S_BOOLEAN);
+	printd(DEBUG_PARSE, "%s:%d:def_boolean\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 31:
+
+    {
+	menu_set_type(S_INT);
+	printd(DEBUG_PARSE, "%s:%d:int\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 32:
+
+    {
+	menu_set_type(S_HEX);
+	printd(DEBUG_PARSE, "%s:%d:hex\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 33:
+
+    {
+	menu_set_type(S_STRING);
+	printd(DEBUG_PARSE, "%s:%d:string\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 34:
+
+    {
+	menu_add_prompt(P_PROMPT, yyvsp[-2].string, yyvsp[-1].expr);
+	printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 35:
+
+    {
+	menu_add_expr(P_DEFAULT, yyvsp[-2].expr, yyvsp[-1].expr);
+	printd(DEBUG_PARSE, "%s:%d:default\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 36:
+
+    {
+	menu_add_symbol(P_SELECT, sym_lookup(yyvsp[-2].string, 0), yyvsp[-1].expr);
+	printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 37:
+
+    {
+	menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,yyvsp[-3].symbol, yyvsp[-2].symbol), yyvsp[-1].expr);
+	printd(DEBUG_PARSE, "%s:%d:range\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 38:
+
+    {
+	struct symbol *sym = sym_lookup(NULL, 0);
+	sym->flags |= SYMBOL_CHOICE;
+	menu_add_entry(sym);
+	menu_add_expr(P_CHOICE, NULL, NULL);
+	printd(DEBUG_PARSE, "%s:%d:choice\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 39:
+
+    {
+	menu_end_entry();
+	menu_add_menu();
+;}
+    break;
+
+  case 40:
+
+    {
+	if (zconf_endtoken(yyvsp[0].token, T_CHOICE, T_ENDCHOICE)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endchoice\n", zconf_curname(), zconf_lineno());
+	}
+;}
+    break;
+
+  case 42:
+
+    {
+	printf("%s:%d: missing 'endchoice' for this 'choice' statement\n", current_menu->file->name, current_menu->lineno);
+	zconfnerrs++;
+;}
+    break;
+
+  case 48:
+
+    {
+	menu_add_prompt(P_PROMPT, yyvsp[-2].string, yyvsp[-1].expr);
+	printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 49:
+
+    {
+	menu_set_type(S_TRISTATE);
+	printd(DEBUG_PARSE, "%s:%d:tristate\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 50:
+
+    {
+	menu_set_type(S_BOOLEAN);
+	printd(DEBUG_PARSE, "%s:%d:boolean\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 51:
+
+    {
+	current_entry->sym->flags |= SYMBOL_OPTIONAL;
+	printd(DEBUG_PARSE, "%s:%d:optional\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 52:
+
+    {
+	menu_add_symbol(P_DEFAULT, sym_lookup(yyvsp[-2].string, 0), yyvsp[-1].expr);
+	printd(DEBUG_PARSE, "%s:%d:default\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 55:
+
+    {
+	printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno());
+	menu_add_entry(NULL);
+	menu_add_dep(yyvsp[-1].expr);
+	menu_end_entry();
+	menu_add_menu();
+;}
+    break;
+
+  case 56:
+
+    {
+	if (zconf_endtoken(yyvsp[0].token, T_IF, T_ENDIF)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endif\n", zconf_curname(), zconf_lineno());
+	}
+;}
+    break;
+
+  case 58:
+
+    {
+	printf("%s:%d: missing 'endif' for this 'if' statement\n", current_menu->file->name, current_menu->lineno);
+	zconfnerrs++;
+;}
+    break;
+
+  case 63:
+
+    {
+	menu_add_entry(NULL);
+	menu_add_prop(P_MENU, yyvsp[-1].string, NULL, NULL);
+	printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 64:
+
+    {
+	menu_end_entry();
+	menu_add_menu();
+;}
+    break;
+
+  case 65:
+
+    {
+	if (zconf_endtoken(yyvsp[0].token, T_MENU, T_ENDMENU)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endmenu\n", zconf_curname(), zconf_lineno());
+	}
+;}
+    break;
+
+  case 67:
+
+    {
+	printf("%s:%d: missing 'endmenu' for this 'menu' statement\n", current_menu->file->name, current_menu->lineno);
+	zconfnerrs++;
+;}
+    break;
+
+  case 72:
+
+    { zconfprint("invalid menu option"); yyerrok; ;}
+    break;
+
+  case 73:
+
+    {
+	yyval.string = yyvsp[-1].string;
+	printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), yyvsp[-1].string);
+;}
+    break;
+
+  case 74:
+
+    {
+	zconf_nextfile(yyvsp[0].string);
+;}
+    break;
+
+  case 75:
+
+    {
+	menu_add_entry(NULL);
+	menu_add_prop(P_COMMENT, yyvsp[-1].string, NULL, NULL);
+	printd(DEBUG_PARSE, "%s:%d:comment\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 76:
+
+    {
+	menu_end_entry();
+;}
+    break;
+
+  case 77:
+
+    {
+	printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno());
+	zconf_starthelp();
+;}
+    break;
+
+  case 78:
+
+    {
+	current_entry->sym->help = yyvsp[0].string;
+;}
+    break;
+
+  case 82:
+
+    {
+	menu_add_dep(yyvsp[-1].expr);
+	printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 83:
+
+    {
+	menu_add_dep(yyvsp[-1].expr);
+	printd(DEBUG_PARSE, "%s:%d:depends\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 84:
+
+    {
+	menu_add_dep(yyvsp[-1].expr);
+	printd(DEBUG_PARSE, "%s:%d:requires\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 86:
+
+    {
+	menu_add_prop(P_PROMPT, yyvsp[-1].string, NULL, yyvsp[0].expr);
+;}
+    break;
+
+  case 89:
+
+    { yyval.token = T_ENDMENU; ;}
+    break;
+
+  case 90:
+
+    { yyval.token = T_ENDCHOICE; ;}
+    break;
+
+  case 91:
+
+    { yyval.token = T_ENDIF; ;}
+    break;
+
+  case 94:
+
+    { yyval.expr = NULL; ;}
+    break;
+
+  case 95:
+
+    { yyval.expr = yyvsp[0].expr; ;}
+    break;
+
+  case 96:
+
+    { yyval.expr = expr_alloc_symbol(yyvsp[0].symbol); ;}
+    break;
+
+  case 97:
+
+    { yyval.expr = expr_alloc_comp(E_EQUAL, yyvsp[-2].symbol, yyvsp[0].symbol); ;}
+    break;
+
+  case 98:
+
+    { yyval.expr = expr_alloc_comp(E_UNEQUAL, yyvsp[-2].symbol, yyvsp[0].symbol); ;}
+    break;
+
+  case 99:
+
+    { yyval.expr = yyvsp[-1].expr; ;}
+    break;
+
+  case 100:
+
+    { yyval.expr = expr_alloc_one(E_NOT, yyvsp[0].expr); ;}
+    break;
+
+  case 101:
+
+    { yyval.expr = expr_alloc_two(E_OR, yyvsp[-2].expr, yyvsp[0].expr); ;}
+    break;
+
+  case 102:
+
+    { yyval.expr = expr_alloc_two(E_AND, yyvsp[-2].expr, yyvsp[0].expr); ;}
+    break;
+
+  case 103:
+
+    { yyval.symbol = sym_lookup(yyvsp[0].string, 0); free(yyvsp[0].string); ;}
+    break;
+
+  case 104:
+
+    { yyval.symbol = sym_lookup(yyvsp[0].string, 1); free(yyvsp[0].string); ;}
+    break;
+
+
+    }
+
+/* Line 999 of yacc.c.  */
+
+
+  yyvsp -= yylen;
+  yyssp -= yylen;
+
+
+  YY_STACK_PRINT (yyss, yyssp);
+
+  *++yyvsp = yyval;
+
+
+  /* Now `shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
+
+  yyn = yyr1[yyn];
+
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+    yystate = yytable[yystate];
+  else
+    yystate = yydefgoto[yyn - YYNTOKENS];
+
+  goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
+    {
+      ++yynerrs;
+#if YYERROR_VERBOSE
+      yyn = yypact[yystate];
+
+      if (YYPACT_NINF < yyn && yyn < YYLAST)
+	{
+	  YYSIZE_T yysize = 0;
+	  int yytype = YYTRANSLATE (yychar);
+	  char *yymsg;
+	  int yyx, yycount;
+
+	  yycount = 0;
+	  /* Start YYX at -YYN if negative to avoid negative indexes in
+	     YYCHECK.  */
+	  for (yyx = yyn < 0 ? -yyn : 0;
+	       yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
+	    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+	      yysize += yystrlen (yytname[yyx]) + 15, yycount++;
+	  yysize += yystrlen ("syntax error, unexpected ") + 1;
+	  yysize += yystrlen (yytname[yytype]);
+	  yymsg = (char *) YYSTACK_ALLOC (yysize);
+	  if (yymsg != 0)
+	    {
+	      char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
+	      yyp = yystpcpy (yyp, yytname[yytype]);
+
+	      if (yycount < 5)
+		{
+		  yycount = 0;
+		  for (yyx = yyn < 0 ? -yyn : 0;
+		       yyx < (int) (sizeof (yytname) / sizeof (char *));
+		       yyx++)
+		    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+		      {
+			const char *yyq = ! yycount ? ", expecting " : " or ";
+			yyp = yystpcpy (yyp, yyq);
+			yyp = yystpcpy (yyp, yytname[yyx]);
+			yycount++;
+		      }
+		}
+	      yyerror (yymsg);
+	      YYSTACK_FREE (yymsg);
+	    }
+	  else
+	    yyerror ("syntax error; also virtual memory exhausted");
+	}
+      else
+#endif /* YYERROR_VERBOSE */
+	yyerror ("syntax error");
+    }
+
+
+
+  if (yyerrstatus == 3)
+    {
+      /* If just tried and failed to reuse lookahead token after an
+	 error, discard it.  */
+
+      /* Return failure if at end of input.  */
+      if (yychar == YYEOF)
+        {
+	  /* Pop the error token.  */
+          YYPOPSTACK;
+	  /* Pop the rest of the stack.  */
+	  while (yyss < yyssp)
+	    {
+	      YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+	      yydestruct (yystos[*yyssp], yyvsp);
+	      YYPOPSTACK;
+	    }
+	  YYABORT;
+        }
+
+      YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
+      yydestruct (yytoken, &yylval);
+      yychar = YYEMPTY;
+
+    }
+
+  /* Else will try to reuse lookahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
+
+
+/*----------------------------------------------------.
+| yyerrlab1 -- error raised explicitly by an action.  |
+`----------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
+
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (yyn != YYPACT_NINF)
+	{
+	  yyn += YYTERROR;
+	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+	    {
+	      yyn = yytable[yyn];
+	      if (0 < yyn)
+		break;
+	    }
+	}
+
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+	YYABORT;
+
+      YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+      yydestruct (yystos[yystate], yyvsp);
+      yyvsp--;
+      yystate = *--yyssp;
+
+      YY_STACK_PRINT (yyss, yyssp);
+    }
+
+  if (yyn == YYFINAL)
+    YYACCEPT;
+
+  YYDPRINTF ((stderr, "Shifting error token, "));
+
+  *++yyvsp = yylval;
+
+
+  yystate = yyn;
+  goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturn;
+
+#ifndef yyoverflow
+/*----------------------------------------------.
+| yyoverflowlab -- parser overflow comes here.  |
+`----------------------------------------------*/
+yyoverflowlab:
+  yyerror ("parser stack overflow");
+  yyresult = 2;
+  /* Fall through.  */
+#endif
+
+yyreturn:
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
+#endif
+  return yyresult;
+}
+
+
+
+
+
+void conf_parse(const char *name)
+{
+	struct symbol *sym;
+	int i;
+
+	zconf_initscan(name);
+
+	sym_init();
+	menu_init();
+	modules_sym = sym_lookup("MODULES", 0);
+	rootmenu.prompt = menu_add_prop(P_MENU, "Linux Kernel Configuration", NULL, NULL);
+
+	//zconfdebug = 1;
+	zconfparse();
+	if (zconfnerrs)
+		exit(1);
+	menu_finalize(&rootmenu);
+	for_all_symbols(i, sym) {
+                if (!(sym->flags & SYMBOL_CHECKED) && sym_check_deps(sym))
+                        printf("\n");
+		else
+			sym->flags |= SYMBOL_CHECK_DONE;
+        }
+
+	sym_change_count = 1;
+}
+
+const char *zconf_tokenname(int token)
+{
+	switch (token) {
+	case T_MENU:		return "menu";
+	case T_ENDMENU:		return "endmenu";
+	case T_CHOICE:		return "choice";
+	case T_ENDCHOICE:	return "endchoice";
+	case T_IF:		return "if";
+	case T_ENDIF:		return "endif";
+	}
+	return "<token>";
+}
+
+static bool zconf_endtoken(int token, int starttoken, int endtoken)
+{
+	if (token != endtoken) {
+		zconfprint("unexpected '%s' within %s block", zconf_tokenname(token), zconf_tokenname(starttoken));
+		zconfnerrs++;
+		return false;
+	}
+	if (current_menu->file != current_file) {
+		zconfprint("'%s' in different file than '%s'", zconf_tokenname(token), zconf_tokenname(starttoken));
+		zconfprint("location of the '%s'", zconf_tokenname(starttoken));
+		zconfnerrs++;
+		return false;
+	}
+	return true;
+}
+
+static void zconfprint(const char *err, ...)
+{
+	va_list ap;
+
+	fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno() + 1);
+	va_start(ap, err);
+	vfprintf(stderr, err, ap);
+	va_end(ap);
+	fprintf(stderr, "\n");
+}
+
+static void zconferror(const char *err)
+{
+	fprintf(stderr, "%s:%d: %s\n", zconf_curname(), zconf_lineno() + 1, err);
+}
+
+void print_quoted_string(FILE *out, const char *str)
+{
+	const char *p;
+	int len;
+
+	putc('"', out);
+	while ((p = strchr(str, '"'))) {
+		len = p - str;
+		if (len)
+			fprintf(out, "%.*s", len, str);
+		fputs("\\\"", out);
+		str = p + 1;
+	}
+	fputs(str, out);
+	putc('"', out);
+}
+
+void print_symbol(FILE *out, struct menu *menu)
+{
+	struct symbol *sym = menu->sym;
+	struct property *prop;
+
+	if (sym_is_choice(sym))
+		fprintf(out, "choice\n");
+	else
+		fprintf(out, "config %s\n", sym->name);
+	switch (sym->type) {
+	case S_BOOLEAN:
+		fputs("  boolean\n", out);
+		break;
+	case S_TRISTATE:
+		fputs("  tristate\n", out);
+		break;
+	case S_STRING:
+		fputs("  string\n", out);
+		break;
+	case S_INT:
+		fputs("  integer\n", out);
+		break;
+	case S_HEX:
+		fputs("  hex\n", out);
+		break;
+	default:
+		fputs("  ???\n", out);
+		break;
+	}
+	for (prop = sym->prop; prop; prop = prop->next) {
+		if (prop->menu != menu)
+			continue;
+		switch (prop->type) {
+		case P_PROMPT:
+			fputs("  prompt ", out);
+			print_quoted_string(out, prop->text);
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs(" if ", out);
+				expr_fprint(prop->visible.expr, out);
+			}
+			fputc('\n', out);
+			break;
+		case P_DEFAULT:
+			fputs( "  default ", out);
+			expr_fprint(prop->expr, out);
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs(" if ", out);
+				expr_fprint(prop->visible.expr, out);
+			}
+			fputc('\n', out);
+			break;
+		case P_CHOICE:
+			fputs("  #choice value\n", out);
+			break;
+		default:
+			fprintf(out, "  unknown prop %d!\n", prop->type);
+			break;
+		}
+	}
+	if (sym->help) {
+		int len = strlen(sym->help);
+		while (sym->help[--len] == '\n')
+			sym->help[len] = 0;
+		fprintf(out, "  help\n%s\n", sym->help);
+	}
+	fputc('\n', out);
+}
+
+void zconfdump(FILE *out)
+{
+	struct property *prop;
+	struct symbol *sym;
+	struct menu *menu;
+
+	menu = rootmenu.list;
+	while (menu) {
+		if ((sym = menu->sym))
+			print_symbol(out, menu);
+		else if ((prop = menu->prompt)) {
+			switch (prop->type) {
+			case P_COMMENT:
+				fputs("\ncomment ", out);
+				print_quoted_string(out, prop->text);
+				fputs("\n", out);
+				break;
+			case P_MENU:
+				fputs("\nmenu ", out);
+				print_quoted_string(out, prop->text);
+				fputs("\n", out);
+				break;
+			default:
+				;
+			}
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs("  depends ", out);
+				expr_fprint(prop->visible.expr, out);
+				fputc('\n', out);
+			}
+			fputs("\n", out);
+		}
+
+		if (menu->list)
+			menu = menu->list;
+		else if (menu->next)
+			menu = menu->next;
+		else while ((menu = menu->parent)) {
+			if (menu->prompt && menu->prompt->type == P_MENU)
+				fputs("\nendmenu\n", out);
+			if (menu->next) {
+				menu = menu->next;
+				break;
+			}
+		}
+	}
+}
+
+#include "lex.zconf.c"
+#include "confdata.c"
+#include "expr.c"
+#include "symbol.c"
+#include "menu.c"
+
+
diff -Nru linux-2.6.10/scripts/kconfig/zconf.tab.h linux-2.6.10-h1940/scripts/kconfig/zconf.tab.h
--- linux-2.6.10/scripts/kconfig/zconf.tab.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/scripts/kconfig/zconf.tab.h	2004-12-31 09:26:28.000000000 +0000
@@ -0,0 +1,125 @@
+/* A Bison parser, made from zconf.y, by GNU bison 1.75.  */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.
+
+   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, 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.  */
+
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
+
+#ifndef BISON_ZCONF_TAB_H
+# define BISON_ZCONF_TAB_H
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     T_MAINMENU = 258,
+     T_MENU = 259,
+     T_ENDMENU = 260,
+     T_SOURCE = 261,
+     T_CHOICE = 262,
+     T_ENDCHOICE = 263,
+     T_COMMENT = 264,
+     T_CONFIG = 265,
+     T_HELP = 266,
+     T_HELPTEXT = 267,
+     T_IF = 268,
+     T_ENDIF = 269,
+     T_DEPENDS = 270,
+     T_REQUIRES = 271,
+     T_OPTIONAL = 272,
+     T_PROMPT = 273,
+     T_DEFAULT = 274,
+     T_TRISTATE = 275,
+     T_BOOLEAN = 276,
+     T_INT = 277,
+     T_HEX = 278,
+     T_WORD = 279,
+     T_STRING = 280,
+     T_UNEQUAL = 281,
+     T_EOF = 282,
+     T_EOL = 283,
+     T_CLOSE_PAREN = 284,
+     T_OPEN_PAREN = 285,
+     T_ON = 286,
+     T_OR = 287,
+     T_AND = 288,
+     T_EQUAL = 289,
+     T_NOT = 290
+   };
+#endif
+#define T_MAINMENU 258
+#define T_MENU 259
+#define T_ENDMENU 260
+#define T_SOURCE 261
+#define T_CHOICE 262
+#define T_ENDCHOICE 263
+#define T_COMMENT 264
+#define T_CONFIG 265
+#define T_HELP 266
+#define T_HELPTEXT 267
+#define T_IF 268
+#define T_ENDIF 269
+#define T_DEPENDS 270
+#define T_REQUIRES 271
+#define T_OPTIONAL 272
+#define T_PROMPT 273
+#define T_DEFAULT 274
+#define T_TRISTATE 275
+#define T_BOOLEAN 276
+#define T_INT 277
+#define T_HEX 278
+#define T_WORD 279
+#define T_STRING 280
+#define T_UNEQUAL 281
+#define T_EOF 282
+#define T_EOL 283
+#define T_CLOSE_PAREN 284
+#define T_OPEN_PAREN 285
+#define T_ON 286
+#define T_OR 287
+#define T_AND 288
+#define T_EQUAL 289
+#define T_NOT 290
+
+
+
+
+#ifndef YYSTYPE
+#line 33 "zconf.y"
+typedef union {
+	int token;
+	char *string;
+	struct symbol *symbol;
+	struct expr *expr;
+	struct menu *menu;
+} yystype;
+/* Line 1281 of /usr/share/bison/yacc.c.  */
+#line 118 "zconf.tab.h"
+# define YYSTYPE yystype
+#endif
+
+extern YYSTYPE zconflval;
+
+
+#endif /* not BISON_ZCONF_TAB_H */
+
Binary files linux-2.6.10/scripts/lxdialog/lxdialog and linux-2.6.10-h1940/scripts/lxdialog/lxdialog differ
diff -Nru linux-2.6.10/scripts/mod/elfconfig.h linux-2.6.10-h1940/scripts/mod/elfconfig.h
--- linux-2.6.10/scripts/mod/elfconfig.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/scripts/mod/elfconfig.h	2005-01-17 16:47:37.000000000 +0000
@@ -0,0 +1,5 @@
+#define KERNEL_ELFCLASS ELFCLASS32
+#define KERNEL_ELFDATA ELFDATA2LSB
+#define HOST_ELFCLASS ELFCLASS32
+#define HOST_ELFDATA ELFDATA2LSB
+#define MODULE_SYMBOL_PREFIX ""
Binary files linux-2.6.10/scripts/mod/mk_elfconfig and linux-2.6.10-h1940/scripts/mod/mk_elfconfig differ
Binary files linux-2.6.10/scripts/mod/modpost and linux-2.6.10-h1940/scripts/mod/modpost differ
Binary files linux-2.6.10/scripts/pnmtologo and linux-2.6.10-h1940/scripts/pnmtologo differ
diff -Nru linux-2.6.10/.version linux-2.6.10-h1940/.version
--- linux-2.6.10/.version	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.10-h1940/.version	2005-01-18 13:16:34.000000000 +0000
@@ -0,0 +1 @@
+13
