[alsa-devel] [PATCH v1 3/4] ASoC: codecs: pcm179x: Add reset gpio

Fabio Estevam festevam at gmail.com
Tue Feb 27 23:30:11 CET 2018


On Tue, Feb 27, 2018 at 6:24 PM, Mylène Josserand
<mylene.josserand at bootlin.com> wrote:

> +       pcm179x->reset = of_get_named_gpio(np, "reset-gpios", 0);
> +       if (gpio_is_valid(pcm179x->reset)) {
> +               ret = devm_gpio_request_one(dev, pcm179x->reset,
> +                                           GPIOF_OUT_INIT_LOW,
> +                                           "pcm179x reset");
> +               if (ret) {
> +                       dev_err(dev,
> +                               "Failed to request GPIO %d as reset pin, error %d\n",
> +                               pcm179x->reset, ret);
> +                       return ret;
> +               }
> +
> +               gpio_set_value(pcm179x->reset, 1);

It would be better to use the gpiod API, which takes the GPIO polarity
into account.

There may be systems that have an inverter connected to this pin, and
this can be changed in dts via GPIO_ACTIVE_HIGH.

Also, as the reset pin can be connected to an I2C expander, for
example, so it is safer to use the cansleep variant:

gpiod_set_value_cansleep(pcm179x->reset, 0);


More information about the Alsa-devel mailing list