diff options
author | Wallace Wang <r59996@freescale.com> | 2008-03-25 11:11:42 +0800 |
---|---|---|
committer | Daniel Schaeffer <daniel.schaeffer@timesys.com> | 2008-08-25 15:20:53 -0400 |
commit | 950b7c2e75edba5a267b2df14a2be7c1a76152a7 (patch) | |
tree | bfb3b95bd8ef3af6d42b5d78a3bb424f1e8a5b49 /arch | |
parent | 3bfa05d80bfb634e944c3be1ba102838fa37eab5 (diff) |
ENGR00068611 PMIC AUDIO and SSI drivers can not be loadable modules
Merge ENGR0006861
Remove platform_device register in mxc-alsa-pmic.c
Move clk_put to device.c
Signed-off-by: Wallace Wang <r59996@freescale.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-mx27/devices.c | 13 | ||||
-rw-r--r-- | arch/arm/mach-mx27/mx27ads.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-mx3/devices.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mx31ads.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mx3_3stack.c | 4 |
5 files changed, 19 insertions, 16 deletions
diff --git a/arch/arm/mach-mx27/devices.c b/arch/arm/mach-mx27/devices.c index 6a4c4ea0721e..d21ad6acb8a2 100644 --- a/arch/arm/mach-mx27/devices.c +++ b/arch/arm/mach-mx27/devices.c @@ -9,7 +9,7 @@ * licensed "as is" without any warranty of any kind, whether express * or implied. * - * Copyright 2006-2007 Freescale Semiconductor, Inc. All Rights Reserved. + * Copyright 2006-2008 Freescale Semiconductor, Inc. All Rights Reserved. */ #include <linux/module.h> #include <linux/kernel.h> @@ -422,10 +422,7 @@ static inline void mxc_init_spi(void) #endif #if defined(CONFIG_SND_MXC_PMIC) || defined(CONFIG_SND_MXC_PMIC_MODULE) -static struct mxc_audio_platform_data mxc_audio_data = { - .ssi_num = 2, - .src_port = 0, -}; +static struct mxc_audio_platform_data mxc_audio_data; static struct platform_device mxc_alsa_device = { .name = "mxc_alsa", @@ -439,6 +436,12 @@ static struct platform_device mxc_alsa_device = { static void mxc_init_audio(void) { + mxc_audio_data.ssi_clk[0] = clk_get(NULL, "ssi_clk.0"); + clk_put(audio_data->ssi_clk[0]); + mxc_audio_data.ssi_clk[1] = clk_get(NULL, "ssi_clk.1"); + clk_put(audio_data->ssi_clk[1]); + mxc_audio_data.ssi_num = 2; + mxc_audio_data.src_port = 0; platform_device_register(&mxc_alsa_device); } #else diff --git a/arch/arm/mach-mx27/mx27ads.c b/arch/arm/mach-mx27/mx27ads.c index cc4525ac5cc5..094affb33e4a 100644 --- a/arch/arm/mach-mx27/mx27ads.c +++ b/arch/arm/mach-mx27/mx27ads.c @@ -681,12 +681,13 @@ static inline int mxc_init_extuart(void) } #endif -#if defined(CONFIG_MXC_PMIC_MC13783) && defined(CONFIG_SND_MXC_PMIC) +#if (defined(CONFIG_MXC_PMIC_MC13783) || \ + defined(CONFIG_MXC_PMIC_MC13783_MODULE)) \ + && (defined(CONFIG_SND_MXC_PMIC) || defined(CONFIG_SND_MXC_PMIC_MODULE)) extern void gpio_ssi_active(int ssi_num); static void __init mxc_init_pmic_audio(void) { - struct clk *ssi_clk; struct clk *ckih_clk; struct clk *cko_clk; @@ -703,13 +704,6 @@ static void __init mxc_init_pmic_audio(void) clk_put(ckih_clk); clk_put(cko_clk); - ssi_clk = clk_get(NULL, "ssi_clk.0"); - clk_enable(ssi_clk); - clk_put(ssi_clk); - ssi_clk = clk_get(NULL, "ssi_clk.1"); - clk_enable(ssi_clk); - clk_put(ssi_clk); - gpio_ssi_active(0); gpio_ssi_active(1); } diff --git a/arch/arm/mach-mx3/devices.c b/arch/arm/mach-mx3/devices.c index 39805b83d7a7..7ecec845a703 100644 --- a/arch/arm/mach-mx3/devices.c +++ b/arch/arm/mach-mx3/devices.c @@ -268,12 +268,14 @@ static void mxc_init_audio(void) pll_clk = clk_get(NULL, "usb_pll"); mxc_audio_data.ssi_clk[0] = clk_get(NULL, "ssi_clk.0"); clk_set_parent(mxc_audio_data.ssi_clk[0], pll_clk); + clk_put(mxc_audio_data.ssi_clk[0]); if (machine_is_mx31_3ds()) { mxc_audio_data.ssi_num = 1; } else { mxc_audio_data.ssi_num = 2; mxc_audio_data.ssi_clk[1] = clk_get(NULL, "ssi_clk.1"); clk_set_parent(mxc_audio_data.ssi_clk[1], pll_clk); + clk_put(mxc_audio_data.ssi_clk[1]); } clk_put(pll_clk); mxc_audio_data.src_port = 0; diff --git a/arch/arm/mach-mx3/mx31ads.c b/arch/arm/mach-mx3/mx31ads.c index c4d0a875ff1e..b89a5bf52b79 100644 --- a/arch/arm/mach-mx3/mx31ads.c +++ b/arch/arm/mach-mx3/mx31ads.c @@ -734,7 +734,9 @@ static void __init fixup_mxc_board(struct machine_desc *desc, struct tag *tags, mxc_cpu_init(); } -#if defined(CONFIG_MXC_PMIC_MC13783) && defined(CONFIG_SND_MXC_PMIC) +#if (defined(CONFIG_MXC_PMIC_MC13783) || \ + defined(CONFIG_MXC_PMIC_MC13783_MODULE)) \ + && (defined(CONFIG_SND_MXC_PMIC) || defined(CONFIG_SND_MXC_PMIC_MODULE)) extern void gpio_activate_audio_ports(void); static void __init mxc_init_pmic_audio(void) diff --git a/arch/arm/mach-mx3/mx3_3stack.c b/arch/arm/mach-mx3/mx3_3stack.c index b2eba0fc0fbe..573df8aa1b07 100644 --- a/arch/arm/mach-mx3/mx3_3stack.c +++ b/arch/arm/mach-mx3/mx3_3stack.c @@ -503,7 +503,9 @@ static int __init mxc_init_regulator(void) module_init(mxc_init_regulator); -#if defined(CONFIG_MXC_PMIC_MC13783) && defined(CONFIG_SND_MXC_PMIC) +#if (defined(CONFIG_MXC_PMIC_MC13783) || \ + defined(CONFIG_MXC_PMIC_MC13783_MODULE)) \ + && (defined(CONFIG_SND_MXC_PMIC) || defined(CONFIG_SND_MXC_PMIC_MODULE)) static void __init mxc_init_pmic_audio(void) { struct clk *ckih_clk; |