diff -Nur linux-2.6.19-g500-003/arch/arm/mach-s3c2410/s3c2410-dma.c linux-2.6.19-g500-004/arch/arm/mach-s3c2410/s3c2410-dma.c
--- linux-2.6.19-g500-003/arch/arm/mach-s3c2410/s3c2410-dma.c	2006-11-29 22:57:37.000000000 +0100
+++ linux-2.6.19-g500-004/arch/arm/mach-s3c2410/s3c2410-dma.c	2006-12-17 13:20:14.000000000 +0100
@@ -131,6 +131,7 @@
 	return s3c24xx_dma_init_map(&s3c2410_dma_sel);
 }
 
+#if defined(CONFIG_CPU_S3C2410)
 static struct sysdev_driver s3c2410_dma_driver = {
 	.add	= s3c2410_dma_add,
 };
@@ -141,9 +142,10 @@
 }
 
 arch_initcall(s3c2410_dma_init);
+#endif
 
+#if defined(CONFIG_CPU_S3C2442)
 /* S3C2442 DMA contains the same selection table as the S3C2410 */
-
 static struct sysdev_driver s3c2442_dma_driver = {
 	.add	= s3c2410_dma_add,
 };
@@ -154,5 +156,5 @@
 }
 
 arch_initcall(s3c2442_dma_init);
-
+#endif
 
diff -Nur linux-2.6.19-g500-003/arch/arm/mach-s3c2410/s3c2410-pm.c linux-2.6.19-g500-004/arch/arm/mach-s3c2410/s3c2410-pm.c
--- linux-2.6.19-g500-003/arch/arm/mach-s3c2410/s3c2410-pm.c	2006-11-29 22:57:37.000000000 +0100
+++ linux-2.6.19-g500-004/arch/arm/mach-s3c2410/s3c2410-pm.c	2006-12-17 13:20:14.000000000 +0100
@@ -81,6 +81,7 @@
 	return 0;
 }
 
+#if defined(CONFIG_CPU_S3C2410)
 static struct sysdev_driver s3c2410_pm_driver = {
 	.add		= s3c2410_pm_add,
 	.resume		= s3c2410_pm_resume,
@@ -94,7 +95,9 @@
 }
 
 arch_initcall(s3c2410_pm_drvinit);
+#endif
 
+#if defined(CONFIG_CPU_S3C2440)
 static struct sysdev_driver s3c2440_pm_driver = {
 	.add		= s3c2410_pm_add,
 	.resume		= s3c2410_pm_resume,
@@ -106,7 +109,9 @@
 }
 
 arch_initcall(s3c2440_pm_drvinit);
+#endif
 
+#if defined(CONFIG_CPU_S3C2442)
 static struct sysdev_driver s3c2442_pm_driver = {
 	.add		= s3c2410_pm_add,
 	.resume		= s3c2410_pm_resume,
@@ -118,3 +123,4 @@
 }
 
 arch_initcall(s3c2442_pm_drvinit);
+#endif

