On 23-08-21, 23:24, Dmitry Osipenko wrote:
> It's not clear to me whether it will be okay to add a generic OPP syncing by 
> clock rate or should it be a Tegra-specific helper. Viresh, what do you think 
> about this generic OPP helper:
> 
> /**
>  * dev_pm_opp_sync_with_clk_rate() - Sync OPP state with clock rate
>  * @dev:      device for which we do this operation
>  *
>  * Sync OPP table state with the current clock rate of device.
>  *
>  * Return: 0 on success or a negative error value.
>  */
> int dev_pm_opp_sync_with_clk_rate(struct device *dev)
> {
>       struct opp_table *opp_table;
>       int ret = 0;
> 
>       /* Device may not have OPP table */
>       opp_table = _find_opp_table(dev);
>       if (IS_ERR(opp_table))
>               return 0;
> 
>       /* Device may not use clock */
>       if (IS_ERR(opp_table->clk))
>               goto put_table;
> 
>       /* Device may have empty OPP table */
>       if (!_get_opp_count(opp_table))
>               goto put_table;
> 
>       ret = dev_pm_opp_set_rate(dev, clk_get_rate(opp_table->clk));
> put_table:
>       /* Drop reference taken by _find_opp_table() */
>       dev_pm_opp_put_opp_table(opp_table);
> 
>       return ret;
> }
> EXPORT_SYMBOL_GPL(dev_pm_opp_sync_with_clk_rate);

I am not sure why you still need this, hope we were going another way
? Anyway I will have a look at what you have posted now.

-- 
viresh

Reply via email to