From: Katsuhiro Suzuki <katsuhiro@katsuster.net>
To: Mark Brown <broonie@kernel.org>,
David Yang <yangxiaohua@everest-semi.com>,
Daniel Drake <drake@endlessm.com>,
Hans de Goede <hdegoede@redhat.com>
Cc: Katsuhiro Suzuki <katsuhiro@katsuster.net>,
alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org
Subject: [alsa-devel] [PATCH 1/2] ASoC: es8316: fix redundant codes of clock
Date: Sun, 8 Sep 2019 01:36:52 +0900 [thread overview]
Message-ID: <20190907163653.9382-1-katsuhiro@katsuster.net> (raw)
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>
---
.../bindings/sound/everest,es8316.txt | 3 ++
sound/soc/codecs/es8316.c | 31 ++++++++-----------
2 files changed, 16 insertions(+), 18 deletions(-)
diff --git a/Documentation/devicetree/bindings/sound/everest,es8316.txt b/Documentation/devicetree/bindings/sound/everest,es8316.txt
index aefcff9c48a2..1bf03c5f2af4 100644
--- a/Documentation/devicetree/bindings/sound/everest,es8316.txt
+++ b/Documentation/devicetree/bindings/sound/everest,es8316.txt
@@ -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
diff --git a/sound/soc/codecs/es8316.c b/sound/soc/codecs/es8316.c
index d07d50f51b28..1424ecd6952c 100644
--- a/sound/soc/codecs/es8316.c
+++ b/sound/soc/codecs/es8316.c
@@ -373,11 +373,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.
@@ -712,20 +710,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 */
@@ -754,8 +750,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 = {
--
2.23.0.rc1
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
next reply other threads:[~2019-09-07 16:39 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-07 16:36 Katsuhiro Suzuki [this message]
2019-09-07 16:36 ` [alsa-devel] [PATCH 2/2] ASoC: es8316: support fixed and variable both clock rates Katsuhiro Suzuki
2019-09-09 10:07 ` [alsa-devel] Applied "ASoC: es8316: support fixed and variable both clock rates" to the asoc tree Mark Brown
2019-09-09 10:07 ` [alsa-devel] Applied "ASoC: es8316: fix redundant codes of clock" " Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190907163653.9382-1-katsuhiro@katsuster.net \
--to=katsuhiro@katsuster.net \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=drake@endlessm.com \
--cc=hdegoede@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=yangxiaohua@everest-semi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).