diff options
Diffstat (limited to 'sound/soc/atmel')
-rw-r--r-- | sound/soc/atmel/Kconfig | 5 | ||||
-rw-r--r-- | sound/soc/atmel/sam9g20_wm8731.c | 9 | ||||
-rw-r--r-- | sound/soc/atmel/snd-soc-afeb9260.c | 1 |
3 files changed, 9 insertions, 6 deletions
diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig index e720d5e6f04c..bee3c94f58b0 100644 --- a/sound/soc/atmel/Kconfig +++ b/sound/soc/atmel/Kconfig | |||
@@ -16,7 +16,8 @@ config SND_ATMEL_SOC_SSC | |||
16 | 16 | ||
17 | config SND_AT91_SOC_SAM9G20_WM8731 | 17 | config SND_AT91_SOC_SAM9G20_WM8731 |
18 | tristate "SoC Audio support for WM8731-based At91sam9g20 evaluation board" | 18 | tristate "SoC Audio support for WM8731-based At91sam9g20 evaluation board" |
19 | depends on ATMEL_SSC && ARCH_AT91SAM9G20 && SND_ATMEL_SOC | 19 | depends on ATMEL_SSC && ARCH_AT91SAM9G20 && SND_ATMEL_SOC && \ |
20 | AT91_PROGRAMMABLE_CLOCKS | ||
20 | select SND_ATMEL_SOC_SSC | 21 | select SND_ATMEL_SOC_SSC |
21 | select SND_SOC_WM8731 | 22 | select SND_SOC_WM8731 |
22 | help | 23 | help |
@@ -25,7 +26,7 @@ config SND_AT91_SOC_SAM9G20_WM8731 | |||
25 | 26 | ||
26 | config SND_AT32_SOC_PLAYPAQ | 27 | config SND_AT32_SOC_PLAYPAQ |
27 | tristate "SoC Audio support for PlayPaq with WM8510" | 28 | tristate "SoC Audio support for PlayPaq with WM8510" |
28 | depends on SND_ATMEL_SOC && BOARD_PLAYPAQ | 29 | depends on SND_ATMEL_SOC && BOARD_PLAYPAQ && AT91_PROGRAMMABLE_CLOCKS |
29 | select SND_ATMEL_SOC_SSC | 30 | select SND_ATMEL_SOC_SSC |
30 | select SND_SOC_WM8510 | 31 | select SND_SOC_WM8510 |
31 | help | 32 | help |
diff --git a/sound/soc/atmel/sam9g20_wm8731.c b/sound/soc/atmel/sam9g20_wm8731.c index 293569dfd0ed..e521ada80542 100644 --- a/sound/soc/atmel/sam9g20_wm8731.c +++ b/sound/soc/atmel/sam9g20_wm8731.c | |||
@@ -222,9 +222,9 @@ static int __init at91sam9g20ek_init(void) | |||
222 | } | 222 | } |
223 | 223 | ||
224 | pllb = clk_get(NULL, "pllb"); | 224 | pllb = clk_get(NULL, "pllb"); |
225 | if (IS_ERR(mclk)) { | 225 | if (IS_ERR(pllb)) { |
226 | printk(KERN_ERR "ASoC: Failed to get PLLB\n"); | 226 | printk(KERN_ERR "ASoC: Failed to get PLLB\n"); |
227 | ret = PTR_ERR(mclk); | 227 | ret = PTR_ERR(pllb); |
228 | goto err_mclk; | 228 | goto err_mclk; |
229 | } | 229 | } |
230 | ret = clk_set_parent(mclk, pllb); | 230 | ret = clk_set_parent(mclk, pllb); |
@@ -240,6 +240,7 @@ static int __init at91sam9g20ek_init(void) | |||
240 | if (!at91sam9g20ek_snd_device) { | 240 | if (!at91sam9g20ek_snd_device) { |
241 | printk(KERN_ERR "ASoC: Platform device allocation failed\n"); | 241 | printk(KERN_ERR "ASoC: Platform device allocation failed\n"); |
242 | ret = -ENOMEM; | 242 | ret = -ENOMEM; |
243 | goto err_mclk; | ||
243 | } | 244 | } |
244 | 245 | ||
245 | platform_set_drvdata(at91sam9g20ek_snd_device, | 246 | platform_set_drvdata(at91sam9g20ek_snd_device, |
@@ -248,11 +249,13 @@ static int __init at91sam9g20ek_init(void) | |||
248 | ret = platform_device_add(at91sam9g20ek_snd_device); | 249 | ret = platform_device_add(at91sam9g20ek_snd_device); |
249 | if (ret) { | 250 | if (ret) { |
250 | printk(KERN_ERR "ASoC: Platform device allocation failed\n"); | 251 | printk(KERN_ERR "ASoC: Platform device allocation failed\n"); |
251 | platform_device_put(at91sam9g20ek_snd_device); | 252 | goto err_device_add; |
252 | } | 253 | } |
253 | 254 | ||
254 | return ret; | 255 | return ret; |
255 | 256 | ||
257 | err_device_add: | ||
258 | platform_device_put(at91sam9g20ek_snd_device); | ||
256 | err_mclk: | 259 | err_mclk: |
257 | clk_put(mclk); | 260 | clk_put(mclk); |
258 | mclk = NULL; | 261 | mclk = NULL; |
diff --git a/sound/soc/atmel/snd-soc-afeb9260.c b/sound/soc/atmel/snd-soc-afeb9260.c index e3d283561c19..86e0f8586dc3 100644 --- a/sound/soc/atmel/snd-soc-afeb9260.c +++ b/sound/soc/atmel/snd-soc-afeb9260.c | |||
@@ -167,7 +167,6 @@ static int __init afeb9260_soc_init(void) | |||
167 | 167 | ||
168 | return 0; | 168 | return 0; |
169 | err1: | 169 | err1: |
170 | platform_device_del(afeb9260_snd_device); | ||
171 | platform_device_put(afeb9260_snd_device); | 170 | platform_device_put(afeb9260_snd_device); |
172 | return err; | 171 | return err; |
173 | } | 172 | } |