Index: linux-2.6/arch/arm/mach-s3c2410/mach-h1940.c
===================================================================
--- linux-2.6.orig/arch/arm/mach-s3c2410/mach-h1940.c	2006-03-25 16:10:34.000000000 +0100
+++ linux-2.6/arch/arm/mach-s3c2410/mach-h1940.c	2006-03-25 16:22:30.000000000 +0100
@@ -373,6 +373,7 @@
 	&s3c_device_batt,
 	&s3c_device_rtc,
 	&s3c_device_interrupts,
+	&s3c_device_adc,
 };
 
 static struct s3c24xx_board h1940_board __initdata = {
Index: linux-2.6/drivers/hwmon/s3c24xx-adc.c
===================================================================
--- linux-2.6.orig/drivers/hwmon/s3c24xx-adc.c	2006-03-25 16:10:30.000000000 +0100
+++ linux-2.6/drivers/hwmon/s3c24xx-adc.c	2006-03-25 16:26:47.000000000 +0100
@@ -267,6 +267,7 @@
 	struct s3c24xx_adc *adc;
 	struct resource *res;
 	size_t size;
+	unsigned long tsc;
 	int ret;
 	int i;
 
@@ -355,6 +356,10 @@
 		}
 	}
 
+	tsc = readl(adc->regs+S3C2410_ADCTSC);
+	tsc &= ~(S3C2410_ADCTSC_XP_SEN|S3C2410_ADCTSC_YP_SEN);
+	writel(tsc,adc->regs+S3C2410_ADCTSC);
+
 	return 0;
 
  out_err:
