From patchwork Fri Apr 20 15:11:55 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [v2,4/5] ARM: mxs: do not add dma device by default Date: Fri, 20 Apr 2012 05:11:55 -0000 From: Dong Aisheng X-Patchwork-Id: 154059 Message-Id: <1334934715-13129-1-git-send-email-b29396@freescale.com> To: Cc: b32955@freescale.com, vinod.koul@intel.com, devicetree-discuss@lists.ozlabs.org, rob.herring@calxeda.com, grant.likely@secretlab.ca, marek.vasut@gmail.com, kernel@pengutronix.de, dan.j.williams@intel.com, s.hauer@pengutronix.de, shawn.guo@freescale.com From: Dong Aisheng This will cause conflict when dt is enabled. So let each platform add dma devices respectively. Cc: Shawn Guo Cc: Sascha Hauer Cc: Huang Shijie Reviewed-by: Marek Vasut Signed-off-by: Dong Aisheng --- ChangeLog v1->v2: * Add the missed mx28_add_dma() for mx28evk.c. Thanks for Shijie's reminder. --- arch/arm/mach-mxs/devices-mx23.h | 2 ++ arch/arm/mach-mxs/devices-mx28.h | 2 ++ arch/arm/mach-mxs/devices/platform-dma.c | 3 +-- arch/arm/mach-mxs/include/mach/devices-common.h | 3 +++ arch/arm/mach-mxs/mach-apx4devkit.c | 1 + arch/arm/mach-mxs/mach-m28evk.c | 1 + arch/arm/mach-mxs/mach-mx23evk.c | 1 + arch/arm/mach-mxs/mach-mx28evk.c | 1 + arch/arm/mach-mxs/mach-stmp378x_devb.c | 1 + arch/arm/mach-mxs/mach-tx28.c | 1 + 10 files changed, 14 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-mxs/devices-mx23.h b/arch/arm/mach-mxs/devices-mx23.h index 4d1329d..5fc6b50 100644 --- a/arch/arm/mach-mxs/devices-mx23.h +++ b/arch/arm/mach-mxs/devices-mx23.h @@ -35,3 +35,5 @@ struct platform_device *__init mx23_add_mxsfb( const struct mxsfb_platform_data *pdata); struct platform_device *__init mx23_add_rtc_stmp3xxx(void); + +#define mx23_add_dma() mxs_add_mxs_dma() diff --git a/arch/arm/mach-mxs/devices-mx28.h b/arch/arm/mach-mxs/devices-mx28.h index 9dbeae1..0b3a62d 100644 --- a/arch/arm/mach-mxs/devices-mx28.h +++ b/arch/arm/mach-mxs/devices-mx28.h @@ -55,3 +55,5 @@ extern const struct mxs_saif_data mx28_saif_data[] __initconst; mxs_add_saif(&mx28_saif_data[id], pdata) struct platform_device *__init mx28_add_rtc_stmp3xxx(void); + +#define mx28_add_dma() mxs_add_mxs_dma() diff --git a/arch/arm/mach-mxs/devices/platform-dma.c b/arch/arm/mach-mxs/devices/platform-dma.c index aff4813..d0126ea 100644 --- a/arch/arm/mach-mxs/devices/platform-dma.c +++ b/arch/arm/mach-mxs/devices/platform-dma.c @@ -30,7 +30,7 @@ static struct platform_device *__init mxs_add_dma(const char *devid, DMA_BIT_MASK(32)); } -static int __init mxs_add_mxs_dma(void) +int __init mxs_add_mxs_dma(void) { char *mx23_apbh = "imx23-dma-apbh"; char *mx23_apbx = "imx23-dma-apbx"; @@ -49,4 +49,3 @@ static int __init mxs_add_mxs_dma(void) return 0; } -arch_initcall(mxs_add_mxs_dma); diff --git a/arch/arm/mach-mxs/include/mach/devices-common.h b/arch/arm/mach-mxs/include/mach/devices-common.h index f2e3839..544b38d 100644 --- a/arch/arm/mach-mxs/include/mach/devices-common.h +++ b/arch/arm/mach-mxs/include/mach/devices-common.h @@ -116,3 +116,6 @@ struct mxs_saif_data { struct platform_device *__init mxs_add_saif( const struct mxs_saif_data *data, const struct mxs_saif_platform_data *pdata); + +/* dma */ +int __init mxs_add_mxs_dma(void); diff --git a/arch/arm/mach-mxs/mach-apx4devkit.c b/arch/arm/mach-mxs/mach-apx4devkit.c index 48a7fab..92f47e9 100644 --- a/arch/arm/mach-mxs/mach-apx4devkit.c +++ b/arch/arm/mach-mxs/mach-apx4devkit.c @@ -210,6 +210,7 @@ static void __init apx4devkit_init(void) mxs_iomux_setup_multiple_pads(apx4devkit_pads, ARRAY_SIZE(apx4devkit_pads)); + mx28_add_dma(); mx28_add_duart(); mx28_add_auart0(); mx28_add_auart1(); diff --git a/arch/arm/mach-mxs/mach-m28evk.c b/arch/arm/mach-mxs/mach-m28evk.c index 06d7996..9a74ce6 100644 --- a/arch/arm/mach-mxs/mach-m28evk.c +++ b/arch/arm/mach-mxs/mach-m28evk.c @@ -321,6 +321,7 @@ static void __init m28evk_init(void) { mxs_iomux_setup_multiple_pads(m28evk_pads, ARRAY_SIZE(m28evk_pads)); + mx28_add_dma(); mx28_add_duart(); mx28_add_auart0(); mx28_add_auart3(); diff --git a/arch/arm/mach-mxs/mach-mx23evk.c b/arch/arm/mach-mxs/mach-mx23evk.c index 5ea1c57..cabc884 100644 --- a/arch/arm/mach-mxs/mach-mx23evk.c +++ b/arch/arm/mach-mxs/mach-mx23evk.c @@ -143,6 +143,7 @@ static void __init mx23evk_init(void) mxs_iomux_setup_multiple_pads(mx23evk_pads, ARRAY_SIZE(mx23evk_pads)); + mx23_add_dma(); mx23_add_duart(); mx23_add_auart0(); diff --git a/arch/arm/mach-mxs/mach-mx28evk.c b/arch/arm/mach-mxs/mach-mx28evk.c index e386c14..4b645eb 100644 --- a/arch/arm/mach-mxs/mach-mx28evk.c +++ b/arch/arm/mach-mxs/mach-mx28evk.c @@ -415,6 +415,7 @@ static void __init mx28evk_init(void) mxs_iomux_setup_multiple_pads(mx28evk_pads, ARRAY_SIZE(mx28evk_pads)); + mx28_add_dma(); mx28_add_duart(); mx28_add_auart0(); mx28_add_auart3(); diff --git a/arch/arm/mach-mxs/mach-stmp378x_devb.c b/arch/arm/mach-mxs/mach-stmp378x_devb.c index a626c07..a391b9e 100644 --- a/arch/arm/mach-mxs/mach-stmp378x_devb.c +++ b/arch/arm/mach-mxs/mach-stmp378x_devb.c @@ -88,6 +88,7 @@ static void __init stmp378x_dvb_init(void) mxs_iomux_setup_multiple_pads(stmp378x_dvb_pads, ARRAY_SIZE(stmp378x_dvb_pads)); + mx23_add_dma(); mx23_add_duart(); mx23_add_auart0(); mx23_add_rtc_stmp3xxx(); diff --git a/arch/arm/mach-mxs/mach-tx28.c b/arch/arm/mach-mxs/mach-tx28.c index 2c0862e..e17e262 100644 --- a/arch/arm/mach-mxs/mach-tx28.c +++ b/arch/arm/mach-mxs/mach-tx28.c @@ -149,6 +149,7 @@ static void __init tx28_stk5v3_init(void) mxs_iomux_setup_multiple_pads(tx28_stk5v3_pads, ARRAY_SIZE(tx28_stk5v3_pads)); + mx28_add_dma(); mx28_add_duart(); /* UART1 */ mx28_add_auart(1); /* UART2 */