Skip to content

Commit

Permalink
ASoC: es8316: fix redundant codes of clock
Browse files Browse the repository at this point in the history
This patch removes redundant null checks for optional MCLK clock.
And fix DT binding document for changing clock property to optional
from required.

Signed-off-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
Link: https://lore.kernel.org/r/20190907163653.9382-1-katsuhiro@katsuster.net
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
Katsuhiro Suzuki authored and Mark Brown committed Sep 9, 2019
1 parent f4df4e4 commit 0db0c62
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 18 deletions.
3 changes: 3 additions & 0 deletions Documentation/devicetree/bindings/sound/everest,es8316.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ Required properties:

- compatible : should be "everest,es8316"
- reg : the I2C address of the device for I2C

Optional properties:

- clocks : a list of phandle, should contain entries for clock-names
- clock-names : should include as follows:
"mclk" : master clock (MCLK) of the device
Expand Down
31 changes: 13 additions & 18 deletions sound/soc/codecs/es8316.c
Original file line number Diff line number Diff line change
Expand Up @@ -370,11 +370,9 @@ static int es8316_set_dai_sysclk(struct snd_soc_dai *codec_dai,
if (freq == 0)
return 0;

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

/* Limit supported sample rates to ones that can be autodetected
* by the codec running in slave mode.
Expand Down Expand Up @@ -709,20 +707,18 @@ static int es8316_probe(struct snd_soc_component *component)

es8316->component = component;

es8316->mclk = devm_clk_get(component->dev, "mclk");
if (PTR_ERR(es8316->mclk) == -EPROBE_DEFER)
return -EPROBE_DEFER;
es8316->mclk = devm_clk_get_optional(component->dev, "mclk");
if (IS_ERR(es8316->mclk)) {
dev_err(component->dev, "clock is invalid, ignored\n");
es8316->mclk = NULL;
dev_err(component->dev, "unable to get mclk\n");
return PTR_ERR(es8316->mclk);
}
if (!es8316->mclk)
dev_warn(component->dev, "assuming static mclk\n");

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

/* Reset codec and enable current state machine */
Expand Down Expand Up @@ -751,8 +747,7 @@ static void es8316_remove(struct snd_soc_component *component)
{
struct es8316_priv *es8316 = snd_soc_component_get_drvdata(component);

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

static const struct snd_soc_component_driver soc_component_dev_es8316 = {
Expand Down

0 comments on commit 0db0c62

Please sign in to comment.