]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: codecs: aw88261: use dvdd-supply regulator
authorBharadwaj Raju <bharadwaj.raju@machinesoul.in>
Wed, 14 Jan 2026 10:33:25 +0000 (16:03 +0530)
committerMark Brown <broonie@kernel.org>
Wed, 14 Jan 2026 13:35:46 +0000 (13:35 +0000)
The AW88261 needs the DVDD pin to be powered on to start up. Get and
enable the dvdd-supply regulator.

Signed-off-by: Bharadwaj Raju <bharadwaj.raju@machinesoul.in>
Link: https://patch.msgid.link/20260114-aw88261-dvdd-v2-2-ef485b82a7a7@machinesoul.in
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/aw88261.c

index 810c90f5e7837f6dad69370fef676f3526b20ec0..29b3fc8a1ea43b6a8673bda0ee692f624bc4f9d3 100644 (file)
@@ -11,6 +11,7 @@
 #include <linux/i2c.h>
 #include <linux/firmware.h>
 #include <linux/regmap.h>
+#include <linux/regulator/consumer.h>
 #include <sound/soc.h>
 #include "aw88261.h"
 #include "aw88395/aw88395_data_type.h"
@@ -1190,6 +1191,10 @@ static int aw88261_init(struct aw88261 *aw88261, struct i2c_client *i2c, struct
        unsigned int chip_id;
        int ret;
 
+       ret = devm_regulator_get_enable(&i2c->dev, "dvdd");
+       if (ret)
+               return dev_err_probe(&i2c->dev, ret, "Failed to enable dvdd supply\n");
+
        /* read chip id */
        ret = regmap_read(regmap, AW88261_ID_REG, &chip_id);
        if (ret) {