Linux-Clk Archive on lore.kernel.org
 help / color / Atom feed
From: Sowjanya Komatineni <skomatineni@nvidia.com>
To: <skomatineni@nvidia.com>, <thierry.reding@gmail.com>,
	<jonathanh@nvidia.com>, <broonie@kernel.org>,
	<lgirdwood@gmail.com>, <perex@perex.cz>, <tiwai@suse.com>,
	<digetx@gmail.com>, <mperttunen@nvidia.com>,
	<gregkh@linuxfoundation.org>, <sboyd@kernel.org>,
	<robh+dt@kernel.org>, <mark.rutland@arm.com>
Cc: <pdeschrijver@nvidia.com>, <pgaikwad@nvidia.com>,
	<spujar@nvidia.com>, <josephl@nvidia.com>,
	<daniel.lezcano@linaro.org>, <mmaddireddy@nvidia.com>,
	<markz@nvidia.com>, <devicetree@vger.kernel.org>,
	<linux-clk@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>
Subject: [PATCH v6 13/19] ASoC: tegra: Add fallback implementation for audio mclk
Date: Mon, 6 Jan 2020 20:14:12 -0800
Message-ID: <1578370458-3686-14-git-send-email-skomatineni@nvidia.com> (raw)
In-Reply-To: <1578370458-3686-1-git-send-email-skomatineni@nvidia.com>

mclk is from clk_out_1 which is part of Tegra PMC block and pmc clocks
are moved to Tegra PMC driver with pmc as clock provider and using pmc
clock ids.

New device tree uses clk_out_1 from pmc clock provider.

So, this patch adds implementation for mclk fallback to extern1 when
retrieving mclk returns -ENOENT to be backward compatible of new device
tree with older kernels.

Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
---
 sound/soc/tegra/tegra_asoc_utils.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/sound/soc/tegra/tegra_asoc_utils.c b/sound/soc/tegra/tegra_asoc_utils.c
index 2886ae9f5a16..1e28abea156c 100644
--- a/sound/soc/tegra/tegra_asoc_utils.c
+++ b/sound/soc/tegra/tegra_asoc_utils.c
@@ -181,7 +181,16 @@ int tegra_asoc_utils_init(struct tegra_asoc_utils_data *data,
 	data->clk_cdev1 = devm_clk_get(dev, "mclk");
 	if (IS_ERR(data->clk_cdev1)) {
 		dev_err(data->dev, "Can't retrieve clk cdev1\n");
-		return PTR_ERR(data->clk_cdev1);
+		if (PTR_ERR(data->clk_cdev1) != -ENOENT)
+			return PTR_ERR(data->clk_cdev1);
+		/* Fall back to extern1 */
+		data->clk_cdev1 = devm_clk_get(dev, "extern1");
+		if (IS_ERR(data->clk_cdev1)) {
+			dev_err(data->dev, "Can't retrieve clk extern1\n");
+			return PTR_ERR(data->clk_cdev1);
+		}
+
+		dev_err(data->dev, "Falling back to extern1\n");
 	}
 
 	/*
-- 
2.7.4


  parent reply index

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-07  4:13 [PATCH v6 00/19] Move PMC clocks into Tegra PMC driver Sowjanya Komatineni
2020-01-07  4:14 ` [PATCH v6 01/19] dt-bindings: clock: tegra: Change CLK_M_DIV to OSC_DIV clocks Sowjanya Komatineni
2020-01-07  4:14 ` [PATCH v6 02/19] clk: tegra: Change CLK_M_DIV clocks " Sowjanya Komatineni
2020-01-07  4:14 ` [PATCH v6 03/19] clk: tegra: Fix Tegra PMC clock out parents Sowjanya Komatineni
2020-01-07  4:14 ` [PATCH v6 04/19] dt-bindings: tegra: Convert Tegra PMC bindings to YAML Sowjanya Komatineni
2020-01-07  4:14 ` [PATCH v6 05/19] dt-bindings: soc: tegra-pmc: Add Tegra PMC clock bindings Sowjanya Komatineni
2020-01-07  4:14 ` [PATCH v6 06/19] soc: tegra: Add Tegra PMC clocks registration into PMC driver Sowjanya Komatineni
2020-01-08  1:00   ` Dmitry Osipenko
2020-01-08  1:13     ` Sowjanya Komatineni
2020-01-07  4:14 ` [PATCH v6 07/19] dt-bindings: soc: tegra-pmc: Add id for Tegra PMC 32KHz blink clock Sowjanya Komatineni
2020-01-07  4:14 ` [PATCH v6 08/19] soc: tegra: Add support for " Sowjanya Komatineni
2020-01-07  4:14 ` [PATCH v6 09/19] clk: tegra: Remove tegra_pmc_clk_init along with clk ids Sowjanya Komatineni
2020-01-07  4:14 ` [PATCH v6 10/19] dt-bindings: clock: tegra: Remove pmc clock ids from clock dt-bindings Sowjanya Komatineni
2020-01-07  4:14 ` [PATCH v6 11/19] ASoC: tegra: Use device managed resource APIs to get the clock Sowjanya Komatineni
2020-01-07  4:14 ` [PATCH v6 12/19] ASoC: tegra: Add audio mclk configuration Sowjanya Komatineni
2020-01-07 11:14   ` Sameer Pujar
2020-01-07 16:56     ` Sowjanya Komatineni
2020-01-07 22:56       ` Dmitry Osipenko
2020-01-07 23:23         ` Sowjanya Komatineni
2020-01-07  4:14 ` Sowjanya Komatineni [this message]
2020-01-07  4:14 ` [PATCH v6 14/19] clk: tegra: Remove audio related clock enables from init_table Sowjanya Komatineni
2020-01-07  4:14 ` [PATCH v6 15/19] ARM: dts: tegra: Add clock-cells property to pmc Sowjanya Komatineni
2020-01-07  4:14 ` [PATCH v6 16/19] arm64: tegra: Add clock-cells property to Tegra PMC node Sowjanya Komatineni
2020-01-07  4:14 ` [PATCH v6 17/19] ARM: tegra: Update sound node clocks in device tree Sowjanya Komatineni
2020-01-07  4:14 ` [PATCH v6 18/19] arm64: tegra: smaug: Change clk_out_2 provider to pmc Sowjanya Komatineni
2020-01-07  4:14 ` [PATCH v6 19/19] ASoC: nau8825: change Tegra clk_out_2 provider to tegra_pmc Sowjanya Komatineni
2020-01-07 12:21 ` [PATCH v6 00/19] Move PMC clocks into Tegra PMC driver Thierry Reding
2020-01-07 16:50   ` Sowjanya Komatineni
2020-01-08  0:40     ` Dmitry Osipenko
2020-01-07 23:01 ` Dmitry Osipenko
2020-01-07 23:24   ` Sowjanya Komatineni
2020-01-07 23:28     ` Dmitry Osipenko
2020-01-08  0:02       ` Sowjanya Komatineni
2020-01-08  1:01         ` Dmitry Osipenko

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=1578370458-3686-14-git-send-email-skomatineni@nvidia.com \
    --to=skomatineni@nvidia.com \
    --cc=broonie@kernel.org \
    --cc=daniel.lezcano@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=digetx@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jonathanh@nvidia.com \
    --cc=josephl@nvidia.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=markz@nvidia.com \
    --cc=mmaddireddy@nvidia.com \
    --cc=mperttunen@nvidia.com \
    --cc=pdeschrijver@nvidia.com \
    --cc=perex@perex.cz \
    --cc=pgaikwad@nvidia.com \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=spujar@nvidia.com \
    --cc=thierry.reding@gmail.com \
    --cc=tiwai@suse.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

Linux-Clk Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-clk/0 linux-clk/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-clk linux-clk/ https://lore.kernel.org/linux-clk \
		linux-clk@vger.kernel.org
	public-inbox-index linux-clk

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-clk


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git