[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <tencent_AA66A80A12D4372BB57E5B7A60471EB00A08@qq.com>
Date: Sun, 23 Jul 2023 15:07:31 +0800
From: Zhang Shurong <zhang_shurong@...mail.com>
To: oder_chiou@...ltek.com
Cc: lgirdwood@...il.com, broonie@...nel.org, perex@...ex.cz,
tiwai@...e.com, alsa-devel@...a-project.org,
linux-kernel@...r.kernel.org,
Zhang Shurong <zhang_shurong@...mail.com>
Subject: [PATCH] ASoC: rt5665: add missed regulator_bulk_disable
The driver forgets to call regulator_bulk_disable()
Add the missed call to fix it.
Fixes: 33ada14a26c8 ("ASoC: add rt5665 codec driver")
Signed-off-by: Zhang Shurong <zhang_shurong@...mail.com>
---
sound/soc/codecs/rt5665.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/sound/soc/codecs/rt5665.c b/sound/soc/codecs/rt5665.c
index 83c367af91da..de36cad8a559 100644
--- a/sound/soc/codecs/rt5665.c
+++ b/sound/soc/codecs/rt5665.c
@@ -4756,6 +4756,13 @@ static void rt5665_calibrate_handler(struct work_struct *work)
rt5665_calibrate(rt5665);
}
+static void rt5665_i2c_disable_regulators(void *data)
+{
+ struct rt5665_priv *rt5665 = data;
+
+ regulator_bulk_disable(ARRAY_SIZE(rt5665->supplies), rt5665->supplies);
+}
+
static int rt5665_i2c_probe(struct i2c_client *i2c)
{
struct rt5665_platform_data *pdata = dev_get_platdata(&i2c->dev);
@@ -4786,6 +4793,11 @@ static int rt5665_i2c_probe(struct i2c_client *i2c)
return ret;
}
+ ret = devm_add_action_or_reset(&i2c->dev, rt5665_i2c_disable_regulators,
+ rt5665);
+ if (ret)
+ return ret;
+
ret = regulator_bulk_enable(ARRAY_SIZE(rt5665->supplies),
rt5665->supplies);
if (ret != 0) {
--
2.41.0
Powered by blists - more mailing lists