On Fri, 8 Feb 2019 at 11:05, Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote: > > On 08-02-19, 10:45, Ulf Hansson wrote: > > On Fri, 8 Feb 2019 at 08:17, Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote: > > > > > > On 07-02-19, 14:37, Ulf Hansson wrote: > > > > I think we also need to consider cross SoC drivers. One SoC may have > > > > both clocks and OPPs to manage, while another may have only clocks. > > > > > > We already have that case with CPUs as well and dev_pm_opp_set_rate() > > > takes care of it. > > > > I think you may have misunderstood my point. Or maybe I don't get yours. :-) > > It was me. I thought you are talking about regulators and that is what > is already managed, i.e. to work with or without regulators. > > > What if there is no OPP at all to use, then dev_pm_opp_set_rate() is > > just a noop, right? In this scenario the driver still need to call > > clk_set_rate(). > > > > How do we cope with these cases? > > Yeah, that would be a problem and hacking the OPP core may not be the > right solution :( I guess one simple way forward could just be to check if there is an OPP handle/table available, then use dev_pm_opp_set_rate(). When no OPP handle/table, use clk_set_rate() *instead*, not both. That could work, don't you think? Kind regards Uffe