On Thu, Mar 10, 2022 at 5:48 PM Sa, Nuno Nuno.Sa@analog.com wrote:
Hi Steve,
From: Steve Lee steve.lee.analog@gmail.com Sent: Thursday, March 10, 2022 9:16 AM To: lgirdwood@gmail.com; broonie@kernel.org; perex@perex.cz; tiwai@suse.com; ckeepax@opensource.cirrus.com; geert@linux- m68k.org; rf@opensource.wolfsonmicro.com; shumingf@realtek.com; srinivas.kandagatla@linaro.org; krzk@kernel.org; dmurphy@ti.com; jack.yu@realtek.com; Sa, Nuno Nuno.Sa@analog.com; steves.lee@maximintegrated.com; linux-kernel@vger.kernel.org; alsa-devel@alsa-project.org Cc: Steve Lee steve.lee.analog@gmail.com Subject: [PATCH] ASoC: max98390: Add reset gpio control
[External]
Add reset gpio control to support RESET PIN connected to gpio.
Signed-off-by: Steve Lee steve.lee.analog@gmail.com
sound/soc/codecs/max98390.c | 18 ++++++++++++++++++ sound/soc/codecs/max98390.h | 1 + 2 files changed, 19 insertions(+)
diff --git a/sound/soc/codecs/max98390.c b/sound/soc/codecs/max98390.c index b392567c2b3e..574d8d5f1119 100644 --- a/sound/soc/codecs/max98390.c +++ b/sound/soc/codecs/max98390.c @@ -1073,6 +1073,24 @@ static int max98390_i2c_probe(struct i2c_client *i2c, return ret; }
max98390->reset_gpio = of_get_named_gpio(i2c-
dev.of_node,
"maxim,reset-gpios", 0);
Why not using devm_gpiod_get_optional()? We could request the pin already in the asserted state and make the code slightly better...
/* I guess there's no need to save it in our struct as we only use it here? */ struct gpio_desc *reset_gpio;
reset_gpio = devm_gpiod_get_optional(&i2c->dev, "reset", GPIOD_OUT_HIGH); if (reset_gpio) { usleep_range(1000, 2000); /* bring out of reset */ gpio_direction_output(max98390->reset_gpio, 0); usleep_range(1000, 2000); }
Also, do we have this on the bindings doc? If not, it should be done on a second patch on this series...
- Nuno Sá
Thanks for comment on this patch. I will check and update as commented.