summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2023-10-03 15:21:12 +0200
committerMark Brown <broonie@kernel.org>2023-10-03 15:21:12 +0200
commit4c9d0d6f63c72cf121d15ab81ab9e1cdf50ec02c (patch)
treeceec1e8d71c8adc4b75a79b734b6e448617a8c08
parentASoC: pcm512x: Adds bindings for TAS575x devices (diff)
parentASoC: codecs: aw88261: Remove non-existing reset gpio (diff)
downloadlinux-4c9d0d6f63c72cf121d15ab81ab9e1cdf50ec02c.tar.xz
linux-4c9d0d6f63c72cf121d15ab81ab9e1cdf50ec02c.zip
Remove reset GPIO for AW88261
Merge series from Luca Weiss <luca.weiss@fairphone.com>: The AW88261 chip doesn't have a reset gpio, so remove it from the bindings and from the driver.
-rw-r--r--Documentation/devicetree/bindings/sound/awinic,aw88395.yaml16
-rw-r--r--sound/soc/codecs/aw88261.c15
2 files changed, 12 insertions, 19 deletions
diff --git a/Documentation/devicetree/bindings/sound/awinic,aw88395.yaml b/Documentation/devicetree/bindings/sound/awinic,aw88395.yaml
index b977d3de87cb..5d5ebc72b721 100644
--- a/Documentation/devicetree/bindings/sound/awinic,aw88395.yaml
+++ b/Documentation/devicetree/bindings/sound/awinic,aw88395.yaml
@@ -14,9 +14,6 @@ description:
digital Smart K audio amplifier with an integrated 10.25V
smart boost convert.
-allOf:
- - $ref: dai-common.yaml#
-
properties:
compatible:
enum:
@@ -49,9 +46,20 @@ required:
- compatible
- reg
- '#sound-dai-cells'
- - reset-gpios
- awinic,audio-channel
+allOf:
+ - $ref: dai-common.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - awinic,aw88261
+ then:
+ properties:
+ reset-gpios: false
+
unevaluatedProperties: false
examples:
diff --git a/sound/soc/codecs/aw88261.c b/sound/soc/codecs/aw88261.c
index 45eaf931a69c..e7683f70c2ef 100644
--- a/sound/soc/codecs/aw88261.c
+++ b/sound/soc/codecs/aw88261.c
@@ -10,7 +10,6 @@
#include <linux/i2c.h>
#include <linux/firmware.h>
-#include <linux/of_gpio.h>
#include <linux/regmap.h>
#include <sound/soc.h>
#include "aw88261.h"
@@ -1175,14 +1174,6 @@ static const struct snd_soc_component_driver soc_codec_dev_aw88261 = {
.remove = aw88261_codec_remove,
};
-static void aw88261_hw_reset(struct aw88261 *aw88261)
-{
- gpiod_set_value_cansleep(aw88261->reset_gpio, 0);
- usleep_range(AW88261_1000_US, AW88261_1000_US + 10);
- gpiod_set_value_cansleep(aw88261->reset_gpio, 1);
- usleep_range(AW88261_1000_US, AW88261_1000_US + 10);
-}
-
static void aw88261_parse_channel_dt(struct aw88261 *aw88261)
{
struct aw_device *aw_dev = aw88261->aw_pa;
@@ -1254,12 +1245,6 @@ static int aw88261_i2c_probe(struct i2c_client *i2c)
i2c_set_clientdata(i2c, aw88261);
- aw88261->reset_gpio = devm_gpiod_get_optional(&i2c->dev, "reset", GPIOD_OUT_LOW);
- if (IS_ERR(aw88261->reset_gpio))
- dev_info(&i2c->dev, "reset gpio not defined\n");
- else
- aw88261_hw_reset(aw88261);
-
aw88261->regmap = devm_regmap_init_i2c(i2c, &aw88261_remap_config);
if (IS_ERR(aw88261->regmap)) {
ret = PTR_ERR(aw88261->regmap);