summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/tpa6130a2.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-11-03 16:32:54 (GMT)
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-11-03 16:32:54 (GMT)
commitd6e116ba1e600596ddb121775986d4a1ee41e34e (patch)
treecedb85717b80ec687c0ac4f4905ccfac3c0c526b /sound/soc/codecs/tpa6130a2.c
parentc46e0079cec40b49fbdb86a088cfd50b250fef47 (diff)
parent75e3f3137cb570661c2ad3035a139dda671fbb63 (diff)
downloadlinux-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.c6
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;