Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

clk: qcom: mmcc8974: Use gdscs .parent and remove genpd calls

With gdsc driver capable of handling hierarchical power domains,
specify oxili_gdsc as parent of oxilicx_gdsc.

Remove all direct calls to genpd from the mmcc clock driver. The
adding and removing of subdomains is now handled from within
the gdsc driver.

Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>

authored by

Rajendra Nayak and committed by
Stephen Boyd
7208d1d9 7e824d50

+2 -13
+2 -13
drivers/clk/qcom/mmcc-msm8974.c
··· 2400 2400 .pd = { 2401 2401 .name = "oxilicx", 2402 2402 }, 2403 + .parent = &oxili_gdsc.pd, 2403 2404 .pwrsts = PWRSTS_OFF_ON, 2404 2405 }; 2405 2406 ··· 2617 2616 static int mmcc_msm8974_probe(struct platform_device *pdev) 2618 2617 { 2619 2618 struct regmap *regmap; 2620 - int ret; 2621 2619 2622 2620 regmap = qcom_cc_map(pdev, &mmcc_msm8974_desc); 2623 2621 if (IS_ERR(regmap)) ··· 2625 2625 clk_pll_configure_sr_hpm_lp(&mmpll1, regmap, &mmpll1_config, true); 2626 2626 clk_pll_configure_sr_hpm_lp(&mmpll3, regmap, &mmpll3_config, false); 2627 2627 2628 - ret = qcom_cc_really_probe(pdev, &mmcc_msm8974_desc, regmap); 2629 - if (ret) 2630 - return ret; 2631 - 2632 - return pm_genpd_add_subdomain(&oxili_gdsc.pd, &oxilicx_gdsc.pd); 2633 - } 2634 - 2635 - static int mmcc_msm8974_remove(struct platform_device *pdev) 2636 - { 2637 - pm_genpd_remove_subdomain(&oxili_gdsc.pd, &oxilicx_gdsc.pd); 2638 - return 0; 2628 + return qcom_cc_really_probe(pdev, &mmcc_msm8974_desc, regmap); 2639 2629 } 2640 2630 2641 2631 static struct platform_driver mmcc_msm8974_driver = { 2642 2632 .probe = mmcc_msm8974_probe, 2643 - .remove = mmcc_msm8974_remove, 2644 2633 .driver = { 2645 2634 .name = "mmcc-msm8974", 2646 2635 .of_match_table = mmcc_msm8974_match_table,