diff -urpN -X ../dontdiff linux-2.6.18-rc4-dma5-s3c2440/arch/arm/mach-s3c2410/Kconfig linux-2.6.18-rc4-dma6/arch/arm/mach-s3c2410/Kconfig --- linux-2.6.18-rc4-dma5-s3c2440/arch/arm/mach-s3c2410/Kconfig 2006-08-11 15:38:59.000000000 +0100 +++ linux-2.6.18-rc4-dma6/arch/arm/mach-s3c2410/Kconfig 2006-08-13 22:37:29.000000000 +0100 @@ -125,6 +125,13 @@ config S3C2410_CLOCK help Clock code for the S3C2410, and similar processors +config CPU_S3C2410_DMA + bool + depends on S3C2410_DMA && (CPU_S3C2410 || CPU_S3C2442) + default y if CPU_S3C2410 || CPU_S3C2442 + help + DMA device selection for S3C2410 and compatible CPUs + config CPU_S3C2410 bool depends on ARCH_S3C2410 diff -urpN -X ../dontdiff linux-2.6.18-rc4-dma5-s3c2440/arch/arm/mach-s3c2410/Makefile linux-2.6.18-rc4-dma6/arch/arm/mach-s3c2410/Makefile --- linux-2.6.18-rc4-dma5-s3c2440/arch/arm/mach-s3c2410/Makefile 2006-08-13 22:33:01.000000000 +0100 +++ linux-2.6.18-rc4-dma6/arch/arm/mach-s3c2410/Makefile 2006-08-13 22:35:07.000000000 +0100 @@ -22,7 +22,7 @@ obj-$(CONFIG_CPU_S3C2400) += s3c2400-gpi obj-$(CONFIG_CPU_S3C2410) += s3c2410.o obj-$(CONFIG_CPU_S3C2410) += s3c2410-gpio.o -obj-dma-$(CONFIG_CPU_S3C2410) += s3c2410-dma.o +obj-$(CONFIG_CPU_S3C2410_DMA) += s3c2410-dma.o # Power Management support diff -urpN -X ../dontdiff linux-2.6.18-rc4-dma5-s3c2440/arch/arm/mach-s3c2410/s3c2410-dma.c linux-2.6.18-rc4-dma6/arch/arm/mach-s3c2410/s3c2410-dma.c --- linux-2.6.18-rc4-dma5-s3c2440/arch/arm/mach-s3c2410/s3c2410-dma.c 2006-08-13 19:39:09.000000000 +0100 +++ linux-2.6.18-rc4-dma6/arch/arm/mach-s3c2410/s3c2410-dma.c 2006-08-13 22:24:56.000000000 +0100 @@ -141,3 +141,18 @@ static int __init s3c2410_dma_init(void) } arch_initcall(s3c2410_dma_init); + +/* S3C2442 DMA contains the same selection table as the S3C2410 */ + +static struct sysdev_driver s3c2442_dma_driver = { + .add = s3c2410_dma_add, +}; + +static int __init s3c2442_dma_init(void) +{ + return sysdev_driver_register(&s3c2442_sysclass, &s3c2442_dma_driver); +} + +arch_initcall(s3c2442_dma_init); + +