From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Mack To: haojian.zhuang@linaro.org, eric.y.miao@gmail.com, linux-arm-kernel@lists.infradead.org Subject: [PATCH 19/20] ARM: mmp: register static mmp_pdma device Date: Wed, 7 Aug 2013 17:34:08 +0200 Message-Id: <1375889649-14638-20-git-send-email-zonque@gmail.com> In-Reply-To: <1375889649-14638-1-git-send-email-zonque@gmail.com> References: <1375889649-14638-1-git-send-email-zonque@gmail.com> Cc: mark.rutland@arm.com, s.neumann@raumfeld.com, linux-mtd@lists.infradead.org, Daniel Mack , cxie4@marvell.com, lars@metafoo.de, nico@linaro.org, vinod.koul@intel.com, marek.vasut@gmail.com, ezequiel.garcia@free-electrons.com, rmk+kernel@arm.linux.org.uk, devicetree@vger.kernel.org, samuel@sortiz.org, arnd@arndb.de, broonie@kernel.org, mika.westerberg@linux.intel.com, thomas.petazzoni@free-electrons.com, gregkh@linuxfoundation.org, g.liakhovetski@gmx.de, sachin.kamat@linaro.org, kernel@pengutronix.de, djbw@fb.com, davem@davemloft.net List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Drop the init call to the properietary dma subsystem and register the mmp_pdma device. Signed-off-by: Daniel Mack --- arch/arm/mach-mmp/mmp2.c | 11 +++++++++-- arch/arm/mach-mmp/pxa168.c | 11 +++++++++-- arch/arm/mach-mmp/pxa910.c | 11 +++++++++-- 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/arch/arm/mach-mmp/mmp2.c b/arch/arm/mach-mmp/mmp2.c index c7592f1..b027c83 100644 --- a/arch/arm/mach-mmp/mmp2.c +++ b/arch/arm/mach-mmp/mmp2.c @@ -14,6 +14,7 @@ #include #include #include +#include #include @@ -22,7 +23,6 @@ #include #include #include -#include #include #include #include @@ -96,6 +96,12 @@ void __init mmp2_init_irq(void) mmp2_init_icu(); } +static struct mmp_dma_platdata mmp2_dma_data __initdata = { + .dma_channels = 16, +}; + +MMP2_DEVICE(dma, "mmp-pdma", 0, DMA_RIQ, 0x40000000, 0x2000); + static int __init mmp2_init(void) { if (cpu_is_mmp2()) { @@ -104,7 +110,8 @@ static int __init mmp2_init(void) #endif mfp_init_base(MFPR_VIRT_BASE); mfp_init_addr(mmp2_addr_map); - pxa_init_dma(IRQ_MMP2_DMA_RIQ, 16); + pxa_register_device(&mmp2_device_dma, &mmp2_dma_data, + sizeof(mmp2_dma_data)); mmp2_clk_init(); } diff --git a/arch/arm/mach-mmp/pxa168.c b/arch/arm/mach-mmp/pxa168.c index 144e997..0573697 100644 --- a/arch/arm/mach-mmp/pxa168.c +++ b/arch/arm/mach-mmp/pxa168.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include @@ -23,7 +24,6 @@ #include #include #include -#include #include #include #include @@ -50,12 +50,19 @@ void __init pxa168_init_irq(void) icu_init_irq(); } +static struct mmp_dma_platdata pxa168_dma_data __initdata = { + .dma_channels = 32, +}; + +PXA168_DEVICE(dma, "mmp-pdma", 0, DMA_INT0, 0x40000000, 0x2000); + static int __init pxa168_init(void) { if (cpu_is_pxa168()) { mfp_init_base(MFPR_VIRT_BASE); mfp_init_addr(pxa168_mfp_addr_map); - pxa_init_dma(IRQ_PXA168_DMA_INT0, 32); + pxa_register_device(&pxa168_device_dma, &pxa168_dma_data, + sizeof(pxa168_dma_data)); pxa168_clk_init(); } diff --git a/arch/arm/mach-mmp/pxa910.c b/arch/arm/mach-mmp/pxa910.c index ce6393a..69b112f 100644 --- a/arch/arm/mach-mmp/pxa910.c +++ b/arch/arm/mach-mmp/pxa910.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -20,7 +21,6 @@ #include #include #include -#include #include #include @@ -81,6 +81,12 @@ void __init pxa910_init_irq(void) icu_init_irq(); } +static struct mmp_dma_platdata pxa910_dma_data __initdata = { + .dma_channels = 32, +}; + +PXA910_DEVICE(dma, "mmp-pdma", 0, DMA_INT0, 0x40000000, 0x2000); + static int __init pxa910_init(void) { if (cpu_is_pxa910()) { @@ -89,7 +95,8 @@ static int __init pxa910_init(void) #endif mfp_init_base(MFPR_VIRT_BASE); mfp_init_addr(pxa910_mfp_addr_map); - pxa_init_dma(IRQ_PXA910_DMA_INT0, 32); + pxa_register_device(&pxa910_device_dma, &pxa910_dma_data, + sizeof(pxa910_dma_data)); pxa910_clk_init(); } -- 1.8.3.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: zonque@gmail.com (Daniel Mack) Date: Wed, 7 Aug 2013 17:34:08 +0200 Subject: [PATCH 19/20] ARM: mmp: register static mmp_pdma device In-Reply-To: <1375889649-14638-1-git-send-email-zonque@gmail.com> References: <1375889649-14638-1-git-send-email-zonque@gmail.com> Message-ID: <1375889649-14638-20-git-send-email-zonque@gmail.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Drop the init call to the properietary dma subsystem and register the mmp_pdma device. Signed-off-by: Daniel Mack --- arch/arm/mach-mmp/mmp2.c | 11 +++++++++-- arch/arm/mach-mmp/pxa168.c | 11 +++++++++-- arch/arm/mach-mmp/pxa910.c | 11 +++++++++-- 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/arch/arm/mach-mmp/mmp2.c b/arch/arm/mach-mmp/mmp2.c index c7592f1..b027c83 100644 --- a/arch/arm/mach-mmp/mmp2.c +++ b/arch/arm/mach-mmp/mmp2.c @@ -14,6 +14,7 @@ #include #include #include +#include #include @@ -22,7 +23,6 @@ #include #include #include -#include #include #include #include @@ -96,6 +96,12 @@ void __init mmp2_init_irq(void) mmp2_init_icu(); } +static struct mmp_dma_platdata mmp2_dma_data __initdata = { + .dma_channels = 16, +}; + +MMP2_DEVICE(dma, "mmp-pdma", 0, DMA_RIQ, 0x40000000, 0x2000); + static int __init mmp2_init(void) { if (cpu_is_mmp2()) { @@ -104,7 +110,8 @@ static int __init mmp2_init(void) #endif mfp_init_base(MFPR_VIRT_BASE); mfp_init_addr(mmp2_addr_map); - pxa_init_dma(IRQ_MMP2_DMA_RIQ, 16); + pxa_register_device(&mmp2_device_dma, &mmp2_dma_data, + sizeof(mmp2_dma_data)); mmp2_clk_init(); } diff --git a/arch/arm/mach-mmp/pxa168.c b/arch/arm/mach-mmp/pxa168.c index 144e997..0573697 100644 --- a/arch/arm/mach-mmp/pxa168.c +++ b/arch/arm/mach-mmp/pxa168.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include @@ -23,7 +24,6 @@ #include #include #include -#include #include #include #include @@ -50,12 +50,19 @@ void __init pxa168_init_irq(void) icu_init_irq(); } +static struct mmp_dma_platdata pxa168_dma_data __initdata = { + .dma_channels = 32, +}; + +PXA168_DEVICE(dma, "mmp-pdma", 0, DMA_INT0, 0x40000000, 0x2000); + static int __init pxa168_init(void) { if (cpu_is_pxa168()) { mfp_init_base(MFPR_VIRT_BASE); mfp_init_addr(pxa168_mfp_addr_map); - pxa_init_dma(IRQ_PXA168_DMA_INT0, 32); + pxa_register_device(&pxa168_device_dma, &pxa168_dma_data, + sizeof(pxa168_dma_data)); pxa168_clk_init(); } diff --git a/arch/arm/mach-mmp/pxa910.c b/arch/arm/mach-mmp/pxa910.c index ce6393a..69b112f 100644 --- a/arch/arm/mach-mmp/pxa910.c +++ b/arch/arm/mach-mmp/pxa910.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -20,7 +21,6 @@ #include #include #include -#include #include #include @@ -81,6 +81,12 @@ void __init pxa910_init_irq(void) icu_init_irq(); } +static struct mmp_dma_platdata pxa910_dma_data __initdata = { + .dma_channels = 32, +}; + +PXA910_DEVICE(dma, "mmp-pdma", 0, DMA_INT0, 0x40000000, 0x2000); + static int __init pxa910_init(void) { if (cpu_is_pxa910()) { @@ -89,7 +95,8 @@ static int __init pxa910_init(void) #endif mfp_init_base(MFPR_VIRT_BASE); mfp_init_addr(pxa910_mfp_addr_map); - pxa_init_dma(IRQ_PXA910_DMA_INT0, 32); + pxa_register_device(&pxa910_device_dma, &pxa910_dma_data, + sizeof(pxa910_dma_data)); pxa910_clk_init(); } -- 1.8.3.1