static enum handoff vco_handoff(struct clk *c) { #if defined(CONFIG_MACH_MONTBLANC) return HANDOFF_DISABLED_CLK; // LCD Bring-up, Temp code #endif clk_prepare_enable(mdss_dsi_ahb_clk); c->rate = vco_get_rate(c); clk_disable_unprepare(mdss_dsi_ahb_clk); return HANDOFF_ENABLED_CLK; }
static enum handoff vco_handoff(struct clk *c) { int rc; enum handoff ret = HANDOFF_DISABLED_CLK; struct dsi_pll_vco_clk *vco = to_vco_clk(c); struct mdss_pll_resources *dsi_pll_res = vco->priv; rc = mdss_pll_resource_enable(dsi_pll_res, true); if (rc) { pr_err("Failed to enable mdss dsi pll resources\n"); return ret; } if (dsi_pll_lock_status(dsi_pll_res)) { dsi_pll_res->handoff_resources = true; dsi_pll_res->pll_on = true; c->rate = vco_get_rate(c); ret = HANDOFF_ENABLED_CLK; } else { mdss_pll_resource_enable(dsi_pll_res, false); } return ret; }