Re: [PATCH v3 2/4] ASoC: es8316: add clock control of MCLK

From: Andy Shevchenko
Date: Wed Sep 04 2019 - 10:37:40 EST


On Tue, Sep 3, 2019 at 7:54 PM Katsuhiro Suzuki <katsuhiro@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxx>


> + 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