The devfreq passive governor scales the frequency of a "child" device based on the current frequency of a "parent" device (not parent/child in the sense of device hierarchy). As of today, the passive governor requires one of the following to work correctly: 1. The parent and child device have the same number of frequencies 2. The child device driver passes a mapping function to translate from parent frequency to child frequency.
When (1) is not true, (2) is the only option right now. But often times, all that is required is a simple mapping from parent's frequency to child's frequency. Since OPPs already support pointing to other "required-opps", add support for using that to map from parent device frequency to child device frequency. That way, every child device driver doesn't have to implement a separate mapping function anytime (1) isn't true. -Saravana Saravana Kannan (3): OPP: Allow required-opps even if the device doesn't have power-domains OPP: Add function to look up required OPP's for a given OPP PM / devfreq: Add required OPPs support to passive governor drivers/devfreq/governor_passive.c | 25 +++++++++++-- drivers/opp/core.c | 56 +++++++++++++++++++++++++++++- drivers/opp/of.c | 14 -------- include/linux/pm_opp.h | 11 ++++++ 4 files changed, 89 insertions(+), 17 deletions(-) -- 2.22.0.410.gd8fdbe21b5-goog