[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1387783538-5318-1-git-send-email-Li.Xiubo@freescale.com>
Date: Mon, 23 Dec 2013 15:25:38 +0800
From: Xiubo Li <Li.Xiubo@...escale.com>
To: <broonie@...nel.org>, <lgirdwood@...il.com>, <perex@...ex.cz>,
<tiwai@...e.de>
CC: <kuninori.morimoto.gx@...esas.com>, <Li.Xiubo@...escale.com>,
<fabio.estevam@...escale.com>, <alsa-devel@...a-project.org>,
<linux-kernel@...r.kernel.org>
Subject: [PATCH] ASoC: simple-card: Add device's module clock selection.
Try to get the device's module clock if the dt has no clocks and
system-clock-frequency properties.
Signed-off-by: Xiubo Li <Li.Xiubo@...escale.com>
---
a.out | 0
sound/soc/generic/simple-card.c | 21 ++++++++++++++++++---
2 files changed, 18 insertions(+), 3 deletions(-)
create mode 100644 a.out
diff --git a/a.out b/a.out
new file mode 100644
index 0000000..e69de29
diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c
index 6ce9745..c0d92813 100644
--- a/sound/soc/generic/simple-card.c
+++ b/sound/soc/generic/simple-card.c
@@ -90,14 +90,29 @@ asoc_simple_card_sub_parse_of(struct device_node *np,
* dai->sysclk come from
* "clocks = <&xxx>" (if system has common clock)
* or "system-clock-frequency = <xxx>"
+ * or device's module clock.
*/
- clk = of_clk_get(np, 0);
- if (IS_ERR(clk))
+ if (of_property_read_bool(np, "clocks")) {
+ clk = of_clk_get(np, 0);
+ if (IS_ERR(clk)) {
+ ret = PTR_ERR(clk);
+ goto parse_error;
+ }
+
+ dai->sysclk = clk_get_rate(clk);
+ } else if (of_property_read_bool(np, "system-clock-frequency")) {
of_property_read_u32(np,
"system-clock-frequency",
&dai->sysclk);
- else
+ } else {
+ clk = of_clk_get(*node, 0);
+ if (IS_ERR(clk)) {
+ ret = PTR_ERR(clk);
+ goto parse_error;
+ }
+
dai->sysclk = clk_get_rate(clk);
+ }
ret = 0;
--
1.8.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists