]> rtime.felk.cvut.cz Git - lisovros/linux_canprio.git/commitdiff
ARM: imx: new Kconfig symbol and feature test macro for DMA on mx1 and mx2
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Mon, 14 Jun 2010 15:56:52 +0000 (17:56 +0200)
committerUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Wed, 30 Jun 2010 06:59:58 +0000 (08:59 +0200)
This should be used instead of hard coding the corresponding platforms.
The feature test macro is needed to support different SOCs in a single
kernel image.  While at it rename dma-mx1-mx2 to dma-v1 as mx25 doesn't
use it and so the mx2 part is wrong and move the header to
arch/arm/mach-imx.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
arch/arm/mach-imx/Kconfig
arch/arm/mach-imx/Makefile
arch/arm/mach-imx/dma-v1.c [moved from arch/arm/plat-mxc/dma-mx1-mx2.c with 99% similarity]
arch/arm/mach-imx/include/mach/dma-mx1-mx2.h [new file with mode: 0644]
arch/arm/mach-imx/include/mach/dma-v1.h [moved from arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h with 93% similarity]
arch/arm/plat-mxc/Makefile

index 5edead235bd1deba802408d62fb8084089b3cef7..73c70af35fc8ef0a8c99c99149c0828bb4b860f0 100644 (file)
@@ -1,7 +1,11 @@
+config IMX_HAVE_DMA_V1
+       bool
+
 if ARCH_MX1
 
 config SOC_IMX1
        select CPU_ARM920T
+       select IMX_HAVE_DMA_V1
        select IMX_HAVE_IOMUX_V1
        bool
 
@@ -27,12 +31,14 @@ if ARCH_MX2
 config SOC_IMX21
        select CPU_ARM926T
        select ARCH_MXC_AUDMUX_V1
+       select IMX_HAVE_DMA_V1
        select IMX_HAVE_IOMUX_V1
        bool
 
 config SOC_IMX27
        select CPU_ARM926T
        select ARCH_MXC_AUDMUX_V1
+       select IMX_HAVE_DMA_V1
        select IMX_HAVE_IOMUX_V1
        bool
 
index e56a1191c9dfeb1e92f347bc74a8fb6bf574e0e9..86b53e6bc94e11d6f6d98d2e6903664b3e876fd3 100644 (file)
@@ -6,6 +6,8 @@
 
 obj-y  :=  devices.o
 
+obj-$(CONFIG_IMX_HAVE_DMA_V1) += dma-v1.o
+
 obj-$(CONFIG_ARCH_MX1) += clock-imx1.o mm-imx1.o
 obj-$(CONFIG_MACH_MX21) += clock-imx21.o mm-imx21.o
 
similarity index 99%
rename from arch/arm/plat-mxc/dma-mx1-mx2.c
rename to arch/arm/mach-imx/dma-v1.c
index e16014b0d13c817fe56e66fcb71a588ee0abf72e..fd1d9197d06ef66f9b5e5a3d95d3a825510f47a5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  linux/arch/arm/plat-mxc/dma-mx1-mx2.c
+ *  linux/arch/arm/plat-mxc/dma-v1.c
  *
  *  i.MX DMA registration and IRQ dispatching
  *
@@ -34,7 +34,7 @@
 #include <asm/system.h>
 #include <asm/irq.h>
 #include <mach/hardware.h>
-#include <mach/dma-mx1-mx2.h>
+#include <mach/dma-v1.h>
 
 #define DMA_DCR     0x00               /* Control Register */
 #define DMA_DISR    0x04               /* Interrupt status Register */
diff --git a/arch/arm/mach-imx/include/mach/dma-mx1-mx2.h b/arch/arm/mach-imx/include/mach/dma-mx1-mx2.h
new file mode 100644 (file)
index 0000000..df5f522
--- /dev/null
@@ -0,0 +1,10 @@
+#ifndef __MACH_DMA_MX1_MX2_H__
+#define __MACH_DMA_MX1_MX2_H__
+/*
+ * Don't use this header in new code, it will go away when all users are
+ * converted to mach/dma-v1.h
+ */
+
+#include <mach/dma-v1.h>
+
+#endif /* ifndef __MACH_DMA_MX1_MX2_H__ */
similarity index 93%
rename from arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h
rename to arch/arm/mach-imx/include/mach/dma-v1.h
index 7c4870bd5a2144e39697501ce4b85e42e1e36459..287431cc13e59d32f4e592d6e1d58eb247c378b2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  linux/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h
+ *  linux/arch/arm/mach-imx/include/mach/dma-v1.h
  *
  *  i.MX DMA registration and IRQ dispatching
  *
  * MA 02110-1301, USA.
  */
 
-#ifndef __ASM_ARCH_MXC_DMA_H
-#define __ASM_ARCH_MXC_DMA_H
+#ifndef __MACH_DMA_V1_H__
+#define __MACH_DMA_V1_H__
+
+#define imx_has_dma_v1()       (cpu_is_mx1() || cpu_is_mx21() || cpu_is_mx27())
 
 #define IMX_DMA_CHANNELS  16
 
@@ -102,4 +104,4 @@ enum imx_dma_prio {
 
 int imx_dma_request_by_prio(const char *name, enum imx_dma_prio prio);
 
-#endif /* _ASM_ARCH_MXC_DMA_H */
+#endif /* __MACH_DMA_V1_H__ */
index 895bc3c5e0c0a5f709018a9f855536961d1a3da6..f134d14eabfd7e682ca70f502f16432ab5cecd14 100644 (file)
@@ -8,8 +8,6 @@ obj-y := irq.o clock.o gpio.o time.o devices.o cpu.o system.o
 # MX51 uses the TZIC interrupt controller, older platforms use AVIC (irq.o)
 obj-$(CONFIG_MXC_TZIC) += tzic.o
 
-obj-$(CONFIG_ARCH_MX1) += dma-mx1-mx2.o
-obj-$(CONFIG_ARCH_MX2) += dma-mx1-mx2.o
 obj-$(CONFIG_IMX_HAVE_IOMUX_V1) += iomux-v1.o
 obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o
 obj-$(CONFIG_MXC_PWM)  += pwm.o