From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rajendra Nayak Subject: Re: [PATCH] clk: qcom: Make oxili GDSC parent of oxili_cx GDSC Date: Thu, 01 Oct 2015 13:53:44 +0530 Message-ID: <560CED90.9050201@codeaurora.org> References: <1443035362-10914-1-git-send-email-sboyd@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1443035362-10914-1-git-send-email-sboyd@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org To: Stephen Boyd , Mike Turquette Cc: linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org On 09/24/2015 12:39 AM, Stephen Boyd wrote: > The oxili_cx GDSC is inside the power domain of the oxili GDSC. > Add the dependency so that the CX domain can properly power up. > > Reported-by: Rob Clark > Cc: Rajendra Nayak > Signed-off-by: Stephen Boyd > --- > drivers/clk/qcom/mmcc-msm8974.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/drivers/clk/qcom/mmcc-msm8974.c b/drivers/clk/qcom/mmcc-msm8974.c > index fe8320dc41db..3613db0a73e3 100644 > --- a/drivers/clk/qcom/mmcc-msm8974.c > +++ b/drivers/clk/qcom/mmcc-msm8974.c > @@ -2615,6 +2615,7 @@ MODULE_DEVICE_TABLE(of, mmcc_msm8974_match_table); > static int mmcc_msm8974_probe(struct platform_device *pdev) > { > struct regmap *regmap; > + int ret; > > regmap = qcom_cc_map(pdev, &mmcc_msm8974_desc); > if (IS_ERR(regmap)) > @@ -2623,7 +2624,14 @@ static int mmcc_msm8974_probe(struct platform_device *pdev) > clk_pll_configure_sr_hpm_lp(&mmpll1, regmap, &mmpll1_config, true); > clk_pll_configure_sr_hpm_lp(&mmpll3, regmap, &mmpll3_config, false); > > - return qcom_cc_really_probe(pdev, &mmcc_msm8974_desc, regmap); > + ret = qcom_cc_really_probe(pdev, &mmcc_msm8974_desc, regmap); > + if (ret) > + return ret; > + > + ret = pm_genpd_add_subdomain(&oxili_gdsc.pd, &oxilicx_gdsc.pd); We'll need pm_genpd_add_subdomain() to be EXPORT_SYMBOL_GPL'ed so clk-qcom can be built as a module. It would also be nicer if this parent/child relationship can somehow be represented in data (struct gdsc) that gets passed to the gdsc driver which then sets it up, instead of individual clock drivers doing it. > + if (ret) > + qcom_cc_remove(pdev); > + return ret; > } > > static int mmcc_msm8974_remove(struct platform_device *pdev) > -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation