diff options
Diffstat (limited to 'sound/soc/pxa/e740_wm9705.c')
-rw-r--r-- | sound/soc/pxa/e740_wm9705.c | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/sound/soc/pxa/e740_wm9705.c b/sound/soc/pxa/e740_wm9705.c index 35ed7eb8cff2..818dc57b0b2f 100644 --- a/sound/soc/pxa/e740_wm9705.c +++ b/sound/soc/pxa/e740_wm9705.c | |||
@@ -146,29 +146,21 @@ static int __init e740_init(void) | |||
146 | if (!machine_is_e740()) | 146 | if (!machine_is_e740()) |
147 | return -ENODEV; | 147 | return -ENODEV; |
148 | 148 | ||
149 | ret = gpio_request(GPIO_E740_MIC_ON, "Mic amp"); | 149 | /* Disable audio */ |
150 | ret = gpio_request_one(GPIO_E740_MIC_ON, GPIOF_OUT_INIT_LOW, "Mic amp"); | ||
150 | if (ret) | 151 | if (ret) |
151 | return ret; | 152 | return ret; |
152 | 153 | ||
153 | ret = gpio_request(GPIO_E740_AMP_ON, "Output amp"); | 154 | ret = gpio_request_one(GPIO_E740_AMP_ON, GPIOF_OUT_INIT_LOW, |
155 | "Output amp"); | ||
154 | if (ret) | 156 | if (ret) |
155 | goto free_mic_amp_gpio; | 157 | goto free_mic_amp_gpio; |
156 | 158 | ||
157 | ret = gpio_request(GPIO_E740_WM9705_nAVDD2, "Audio power"); | 159 | ret = gpio_request_one(GPIO_E740_WM9705_nAVDD2, GPIOF_OUT_INIT_HIGH, |
160 | "Audio power"); | ||
158 | if (ret) | 161 | if (ret) |
159 | goto free_op_amp_gpio; | 162 | goto free_op_amp_gpio; |
160 | 163 | ||
161 | /* Disable audio */ | ||
162 | ret = gpio_direction_output(GPIO_E740_MIC_ON, 0); | ||
163 | if (ret) | ||
164 | goto free_apwr_gpio; | ||
165 | ret = gpio_direction_output(GPIO_E740_AMP_ON, 0); | ||
166 | if (ret) | ||
167 | goto free_apwr_gpio; | ||
168 | ret = gpio_direction_output(GPIO_E740_WM9705_nAVDD2, 1); | ||
169 | if (ret) | ||
170 | goto free_apwr_gpio; | ||
171 | |||
172 | e740_snd_device = platform_device_alloc("soc-audio", -1); | 164 | e740_snd_device = platform_device_alloc("soc-audio", -1); |
173 | if (!e740_snd_device) { | 165 | if (!e740_snd_device) { |
174 | ret = -ENOMEM; | 166 | ret = -ENOMEM; |