Re: [PATCH v2 3/3] i2c: qcom-cci: Fix CCI clock rate enforcement
Mukesh Savaliya <[email protected]> Mon, 27 Jul 2026 15:03:11 +0530
| Newsgroups | org.kernel.vger.linux-i2c,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 7/27/2026 2:51 PM, Loic Poulain wrote: [...] > @@ -587,6 +618,24 @@ static int cci_probe(struct platform_device *pdev) > return dev_err_probe(dev, -EINVAL, "not enough clocks in DT\n"); > cci->nclocks = ret; > > + cci->cci_clk = devm_clk_get(dev, "cci"); > + if (IS_ERR(cci->cci_clk)) > + return dev_err_probe(dev, PTR_ERR(cci->cci_clk), > + "failed to get CCI clock\n"); > + > + ret = devm_pm_opp_set_clkname(dev, "cci"); > + if (ret) > + return dev_err_probe(dev, ret, "failed to set CCI OPP clk\n"); > + > + /* OPP table is optional */ > + ret = devm_pm_opp_of_add_table(dev); > + if (ret && ret != -ENODEV) > + return dev_err_probe(dev, ret, "failed to add OPP table\n"); > + if this is an optional why to return with an error ? IMO, further operations should continue which are not opp dependent ? > + ret = cci_set_core_rate(cci, cci->data->cci_clk_rate); > + if (ret) > + return dev_err_probe(dev, ret, "failed to set CCI clock rate\n"); > + > ret = cci_enable_clocks(cci); > if (ret < 0) > return ret; >