• Sudeep Holla's avatar
    cpufreq: scmi: Fix OPP addition failure with a dummy clock provider · 8410e7f3
    Sudeep Holla authored
    Commit dd461cd9 ("opp: Allow dev_pm_opp_get_opp_table() to return
    -EPROBE_DEFER") handles -EPROBE_DEFER for the clock/interconnects within
    _allocate_opp_table() which is called from dev_pm_opp_add and it
    now propagates the error back to the caller.
    
    SCMI performance domain re-used clock bindings to keep it simple. However
    with the above mentioned change, if clock property is present in a device
    node, opps fails to get added with below errors until clk_get succeeds.
    
     cpu0: failed to add opp 450000000Hz
     cpu0: failed to add opps to the device
     ....(errors on cpu1-cpu4)
     cpu5: failed to add opp 450000000Hz
     cpu5: failed to add opps to the device
    
    So, in order to fix the issue, we need to register dummy clock provider.
    With the dummy clock provider, clk_get returns NULL(no errors!), then opp
    core proceeds to add OPPs for the CPUs.
    
    Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
    Fixes: dd461cd9 ("opp: Allow dev_pm_opp_get_opp_table() to return -EPROBE_DEFER")
    Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
    Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
    8410e7f3
scmi-cpufreq.c 6.55 KB