• V
    PM / OPP: Fix shared OPP table support in dev_pm_opp_register_set_opp_helper() · 5019acc6
    Viresh Kumar 提交于
    It should be fine to call dev_pm_opp_register_set_opp_helper() for all
    possible CPUs, even if some of them share the OPP table as the caller
    may not be aware of sharing policy.
    
    Lets increment the reference count of the OPP table and return its
    pointer. The caller need to call dev_pm_opp_register_put_opp_helper()
    the same number of times later on to drop all the references.
    
    To avoid adding another counter to count how many times
    dev_pm_opp_register_set_opp_helper() is called for the same OPP table,
    dev_pm_opp_register_put_opp_helper() frees the resources on the very
    first call made to it, assuming that the caller would be calling it
    sequentially for all the CPUs. We can revisit that if that assumption is
    broken in the future.
    Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org>
    5019acc6
core.c 45.9 KB