The patch below does not apply to the 5.10-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <stable@xxxxxxxxxxxxxxx>. To reproduce the conflict and resubmit, you may use the following commands: git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.10.y git checkout FETCH_HEAD git cherry-pick -x 97112c83f4671a4a722f99a53be4e91fac4091bc # <resolve conflicts, build, test, etc.> git commit -s git send-email --to '<stable@xxxxxxxxxxxxxxx>' --in-reply-to '2023091329-grudging-engraver-d7b5@gregkh' --subject-prefix 'PATCH 5.10.y' HEAD^.. Possible dependencies: 97112c83f467 ("clk: qcom: q6sstop-qcs404: fix missing resume during probe") 72cfc73f4663 ("clk: qcom: use devm_pm_runtime_enable and devm_pm_clk_create") ce8c195e652f ("clk: qcom: lpasscc: Introduce pm autosuspend for SC7180") 8d4025943e13 ("clk: qcom: camcc-sc7180: Use runtime PM ops instead of clk ones") a2d8f507803e ("clk: qcom: Add support to LPASS AUDIO_CC Glitch Free Mux clocks") 4ee9fe3e292b ("clk: qcom: lpass-sc7180: Disentangle the two clock devices") 7635622b77b5 ("clk: qcom: lpasscc-sc7810: Use devm in probe") 15d09e830bbc ("clk: qcom: camcc: Add camera clock controller driver for SC7180") thanks, greg k-h ------------------ original commit in Linus's tree ------------------ >From 97112c83f4671a4a722f99a53be4e91fac4091bc Mon Sep 17 00:00:00 2001 From: Johan Hovold <johan+linaro@xxxxxxxxxx> Date: Tue, 18 Jul 2023 15:29:00 +0200 Subject: [PATCH] clk: qcom: q6sstop-qcs404: fix missing resume during probe Drivers that enable runtime PM must make sure that the controller is runtime resumed before accessing its registers to prevent the power domain from being disabled. Fixes: 6cdef2738db0 ("clk: qcom: Add Q6SSTOP clock controller for QCS404") Cc: stable@xxxxxxxxxxxxxxx # 5.5 Signed-off-by: Johan Hovold <johan+linaro@xxxxxxxxxx> Link: https://lore.kernel.org/r/20230718132902.21430-7-johan+linaro@xxxxxxxxxx Signed-off-by: Bjorn Andersson <andersson@xxxxxxxxxx> diff --git a/drivers/clk/qcom/q6sstop-qcs404.c b/drivers/clk/qcom/q6sstop-qcs404.c index 780074e05841..26e2d63614ac 100644 --- a/drivers/clk/qcom/q6sstop-qcs404.c +++ b/drivers/clk/qcom/q6sstop-qcs404.c @@ -174,21 +174,32 @@ static int q6sstopcc_qcs404_probe(struct platform_device *pdev) return ret; } + ret = pm_runtime_resume_and_get(&pdev->dev); + if (ret) + return ret; + q6sstop_regmap_config.name = "q6sstop_tcsr"; desc = &tcsr_qcs404_desc; ret = qcom_cc_probe_by_index(pdev, 1, desc); if (ret) - return ret; + goto err_put_rpm; q6sstop_regmap_config.name = "q6sstop_cc"; desc = &q6sstop_qcs404_desc; ret = qcom_cc_probe_by_index(pdev, 0, desc); if (ret) - return ret; + goto err_put_rpm; + + pm_runtime_put(&pdev->dev); return 0; + +err_put_rpm: + pm_runtime_put_sync(&pdev->dev); + + return ret; } static const struct dev_pm_ops q6sstopcc_pm_ops = {