diff options
author | Jarkko Nikula <jhnikula@gmail.com> | 2010-08-23 03:38:40 -0400 |
---|---|---|
committer | Liam Girdwood <lrg@slimlogic.co.uk> | 2010-08-23 07:03:09 -0400 |
commit | 37b47656baa3e4e78d539db2531a75590652327b (patch) | |
tree | 4a96333bc90dbae6491bbcfd765309d8bca954b8 /sound/soc/codecs/tlv320aic3x.c | |
parent | 3fabe089ad8b8f238bc9de3e7586ae8d2a81f57c (diff) |
ASoC: Fix tlv320aic3x GPIO initialization
aic3x_init does a soft reset first and thus TLV320AIC3x GPIO setup must be
done after doing the basic init. Before multi-component the init was done
at i2c probe time and GPIO setup at soc probe time.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'sound/soc/codecs/tlv320aic3x.c')
-rw-r--r-- | sound/soc/codecs/tlv320aic3x.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c index 43fd9c171742..0b80e242a66d 100644 --- a/sound/soc/codecs/tlv320aic3x.c +++ b/sound/soc/codecs/tlv320aic3x.c | |||
@@ -1231,6 +1231,8 @@ static int aic3x_probe(struct snd_soc_codec *codec) | |||
1231 | codec->hw_write = (hw_write_t) i2c_master_send; | 1231 | codec->hw_write = (hw_write_t) i2c_master_send; |
1232 | codec->control_data = aic3x->control_data; | 1232 | codec->control_data = aic3x->control_data; |
1233 | 1233 | ||
1234 | aic3x_init(codec); | ||
1235 | |||
1234 | if (aic3x->setup) { | 1236 | if (aic3x->setup) { |
1235 | /* setup GPIO functions */ | 1237 | /* setup GPIO functions */ |
1236 | aic3x_write(codec, AIC3X_GPIO1_REG, | 1238 | aic3x_write(codec, AIC3X_GPIO1_REG, |
@@ -1239,8 +1241,6 @@ static int aic3x_probe(struct snd_soc_codec *codec) | |||
1239 | (aic3x->setup->gpio_func[1] & 0xf) << 4); | 1241 | (aic3x->setup->gpio_func[1] & 0xf) << 4); |
1240 | } | 1242 | } |
1241 | 1243 | ||
1242 | aic3x_init(codec); | ||
1243 | |||
1244 | snd_soc_add_controls(codec, aic3x_snd_controls, | 1244 | snd_soc_add_controls(codec, aic3x_snd_controls, |
1245 | ARRAY_SIZE(aic3x_snd_controls)); | 1245 | ARRAY_SIZE(aic3x_snd_controls)); |
1246 | 1246 | ||