From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756680AbbJAIYM (ORCPT ); Thu, 1 Oct 2015 04:24:12 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:49317 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756291AbbJAIXv (ORCPT ); Thu, 1 Oct 2015 04:23:51 -0400 Message-ID: <560CED90.9050201@codeaurora.org> Date: Thu, 01 Oct 2015 13:53:44 +0530 From: Rajendra Nayak User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 MIME-Version: 1.0 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 Subject: Re: [PATCH] clk: qcom: Make oxili GDSC parent of oxili_cx GDSC References: <1443035362-10914-1-git-send-email-sboyd@codeaurora.org> In-Reply-To: <1443035362-10914-1-git-send-email-sboyd@codeaurora.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@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