On Fri, Oct 16, 2020 at 12:12:22PM +0100, Sudeep Holla wrote: > On Fri, Oct 16, 2020 at 07:00:21AM +0100, Sudeep Holla wrote: > > On Fri, Oct 16, 2020 at 09:54:34AM +0530, Viresh Kumar wrote: > > > On 15-10-20, 19:05, Sudeep Holla wrote: > > > > OK, this breaks with SCMI which doesn't provide clocks but manage OPPs > > > > directly. Before this change clk_get(dev..) was allowed to fail and > > > > --EPROBE_DEFER was not an error. > > > > > > I think the change in itself is fine. We should be returning from > > > there if we get EPROBE_DEFER. The question is rather why are you > > > getting EPROBE_DEFER here ? > > > > > > > Ah OK, I didn't spend too much time, saw -EPROBE_DEFER, just reverted > > this patch and it worked. I need to check it in detail yet. > > > > You confused me earlier. As I said there will be no clock provider > registered for SCMI CPU/Dev DVFS. > opp_table->clk = clk_get(dev, NULL); > will always return -EPROBE_DEFER as there is no clock provider for dev. Shouldn't it return -ENOENT if there is no clock for the SCMI case? With -EPROBE_DEFER I would expect that it shows up at some point. I tried to avoid a situation like this by ignoring all errors != -EPROBE_DEFER. So if clk_get(dev, NULL) would return -ENOENT everything should work as expected... Thanks, Stephan