diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-11-03 16:32:54 (GMT) |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-11-03 16:32:54 (GMT) |
commit | d6e116ba1e600596ddb121775986d4a1ee41e34e (patch) | |
tree | cedb85717b80ec687c0ac4f4905ccfac3c0c526b /sound/soc/codecs/tpa6130a2.c | |
parent | c46e0079cec40b49fbdb86a088cfd50b250fef47 (diff) | |
parent | 75e3f3137cb570661c2ad3035a139dda671fbb63 (diff) | |
download | linux-fsl-qoriq-d6e116ba1e600596ddb121775986d4a1ee41e34e.tar.xz |
Merge remote branch 'takashi/fix/asoc' into for-2.6.37
Diffstat (limited to 'sound/soc/codecs/tpa6130a2.c')
-rw-r--r-- | sound/soc/codecs/tpa6130a2.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sound/soc/codecs/tpa6130a2.c b/sound/soc/codecs/tpa6130a2.c index 329acc1..ee4fb20 100644 --- a/sound/soc/codecs/tpa6130a2.c +++ b/sound/soc/codecs/tpa6130a2.c @@ -119,13 +119,13 @@ static int tpa6130a2_power(int power) { struct tpa6130a2_data *data; u8 val; - int ret; + int ret = 0; BUG_ON(tpa6130a2_client == NULL); data = i2c_get_clientdata(tpa6130a2_client); mutex_lock(&data->mutex); - if (power) { + if (power && !data->power_state) { /* Power on */ if (data->power_gpio >= 0) gpio_set_value(data->power_gpio, 1); @@ -153,7 +153,7 @@ static int tpa6130a2_power(int power) val = tpa6130a2_read(TPA6130A2_REG_CONTROL); val &= ~TPA6130A2_SWS; tpa6130a2_i2c_write(TPA6130A2_REG_CONTROL, val); - } else { + } else if (!power && data->power_state) { /* set SWS */ val = tpa6130a2_read(TPA6130A2_REG_CONTROL); val |= TPA6130A2_SWS; |