All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <Alexander.Levin@microsoft.com>
To: "stable@vger.kernel.org" <stable@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: Rajan Vaja <rajan.vaja@xilinx.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Sasha Levin <Alexander.Levin@microsoft.com>
Subject: [PATCH AUTOSEL 4.9 08/43] clk: clk-fixed-factor: Clear OF_POPULATED flag in case of failure
Date: Fri, 7 Sep 2018 00:38:24 +0000	[thread overview]
Message-ID: <20180907003816.57852-8-alexander.levin@microsoft.com> (raw)
In-Reply-To: <20180907003816.57852-1-alexander.levin@microsoft.com>

From: Rajan Vaja <rajan.vaja@xilinx.com>

[ Upstream commit f6dab4233d6b64d719109040503b567f71fbfa01 ]

Fixed factor clock has two initializations at of_clk_init() time
and during platform driver probe. Before of_clk_init() call,
node is marked as populated and so its probe never gets called.

During of_clk_init() fixed factor clock registration may fail if
any of its parent clock is not registered. In this case, it doesn't
get chance to retry registration from probe. Clear OF_POPULATED
flag if fixed factor clock registration fails so that clock
registration is attempted again from probe.

Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
---
 drivers/clk/clk-fixed-factor.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/clk/clk-fixed-factor.c b/drivers/clk/clk-fixed-factor.c
index a5d402de5584..20724abd38bd 100644
--- a/drivers/clk/clk-fixed-factor.c
+++ b/drivers/clk/clk-fixed-factor.c
@@ -177,8 +177,15 @@ static struct clk *_of_fixed_factor_clk_setup(struct device_node *node)
 
 	clk = clk_register_fixed_factor(NULL, clk_name, parent_name, flags,
 					mult, div);
-	if (IS_ERR(clk))
+	if (IS_ERR(clk)) {
+		/*
+		 * If parent clock is not registered, registration would fail.
+		 * Clear OF_POPULATED flag so that clock registration can be
+		 * attempted again from probe function.
+		 */
+		of_node_clear_flag(node, OF_POPULATED);
 		return clk;
+	}
 
 	ret = of_clk_add_provider(node, of_clk_src_simple_get, clk);
 	if (ret) {
-- 
2.17.1

  parent reply	other threads:[~2018-09-07  0:49 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-07  0:38 [PATCH AUTOSEL 4.9 01/43] usb: usbtest: use irqsave() in USB's complete callback Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 02/43] iommu/arm-smmu-v3: sync the OVACKFLG to PRIQ consumer register Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 03/43] ALSA: msnd: Fix the default sample sizes Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 04/43] ALSA: usb-audio: Fix multiple definitions in AU0828_DEVICE() macro Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 05/43] xfrm: fix 'passing zero to ERR_PTR()' warning Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 07/43] clk: imx6ul: fix missing of_node_put() Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 06/43] gfs2: Special-case rindex for gfs2_grow Sasha Levin
2018-09-07  0:38 ` Sasha Levin [this message]
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 09/43] kbuild: add .DELETE_ON_ERROR special target Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 10/43] media: tw686x: Fix oops on buffer alloc failure Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 11/43] dmaengine: pl330: fix irq race with terminate_all Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 12/43] MIPS: ath79: fix system restart Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 14/43] IB/rxe: Drop QP0 silently Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 13/43] media: videobuf2-core: check for q->error in vb2_core_qbuf() Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 15/43] mtd/maps: fix solutionengine.c printk format warnings Sasha Levin
2018-09-07  0:38   ` Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 16/43] perf test: Fix subtest number when showing results Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 17/43] gfs2: Don't reject a supposedly full bitmap if we have blocks reserved Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 18/43] iio: ad9523: Fix displayed phase Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 19/43] fbdev: omapfb: off by one in omapfb_register_client() Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 21/43] fbdev/via: fix defined but not used warning Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 20/43] video: goldfishfb: fix memory leak on driver remove Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 22/43] perf powerpc: Fix callchain ip filtering when return address is in a register Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 23/43] video: fbdev: pxafb: clear allocated memory for video modes Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 24/43] fbdev: Distinguish between interlaced and progressive modes Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 25/43] ARM: exynos: Clear global variable on init error path Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 26/43] perf powerpc: Fix callchain ip filtering Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 27/43] powerpc/powernv: opal_put_chars partial write fix Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 28/43] MIPS: jz4740: Bump zload address Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 29/43] mac80211: restrict delayed tailroom needed decrement Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 30/43] Smack: Fix handling of IPv4 traffic received by PF_INET6 sockets Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 31/43] wan/fsl_ucc_hdlc: use IS_ERR_VALUE() to check return value of qe_muram_alloc Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 32/43] efi/arm: preserve early mapping of UEFI memory map longer for BGRT Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 34/43] xen-netfront: fix queue name setting Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 33/43] nfp: avoid buffer leak when FW communication fails Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 36/43] ARM: dts: qcom: msm8974-hammerhead: increase load on l20 for sdhci Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 35/43] arm64: dts: qcom: db410c: Fix Bluetooth LED trigger Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 37/43] s390/qeth: fix race in used-buffer accounting Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 38/43] s390/qeth: reset layer2 attribute on layer switch Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 39/43] platform/x86: toshiba_acpi: Fix defined but not used build warnings Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 40/43] KVM: arm/arm64: Fix vgic init race Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 41/43] drivers/base: stop new probing during shutdown Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 42/43] dmaengine: mv_xor_v2: kill the tasklets upon exit Sasha Levin
2018-09-07  0:38 ` [PATCH AUTOSEL 4.9 43/43] crypto: sharah - Unregister correct algorithms for SAHARA 3 Sasha Levin
2018-09-07  5:43 ` [PATCH AUTOSEL 4.9 01/43] usb: usbtest: use irqsave() in USB's complete callback Greg Kroah-Hartman

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=20180907003816.57852-8-alexander.levin@microsoft.com \
    --to=alexander.levin@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rajan.vaja@xilinx.com \
    --cc=sboyd@kernel.org \
    --cc=stable@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.