[alsa-devel] [PATCH v3 2/4] ASoC: es8316: add clock control of MCLK

Andy Shevchenko andy.shevchenko at gmail.com
Wed Sep 4 16:37:26 CEST 2019


On Tue, Sep 3, 2019 at 7:54 PM Katsuhiro Suzuki <katsuhiro at katsuster.net> wrote:
>
> This patch introduce clock property for MCLK master freq control.
> Driver will set rate of MCLK master if set_sysclk is called and
> changing sysclk by board driver.
>
> Signed-off-by: Katsuhiro Suzuki <katsuhiro at katsuster.net>


> +       if (es8316->mclk) {

You don't need this if clock has been requested as optional
(clk_get_optional() or so).

> +               ret = clk_set_rate(es8316->mclk, freq);
> +               if (ret)
> +                       return ret;
> +       }

> +       es8316->mclk = devm_clk_get(component->dev, "mclk");
> +       if (PTR_ERR(es8316->mclk) == -EPROBE_DEFER)
> +               return -EPROBE_DEFER;
> +       if (IS_ERR(es8316->mclk)) {
> +               dev_err(component->dev, "clock is invalid, ignored\n");
> +               es8316->mclk = NULL;
> +       }

devm_clk_get_optional()

> +       if (es8316->mclk) {

Ditto as above.

> +               ret = clk_prepare_enable(es8316->mclk);
> +               if (ret) {
> +                       dev_err(component->dev, "unable to enable clock\n");
> +                       return ret;
> +               }
> +       }

> +       if (es8316->mclk)

Ditto.

> +               clk_disable_unprepare(es8316->mclk);
> +}


-- 
With Best Regards,
Andy Shevchenko


More information about the Alsa-devel mailing list