On 11/24, Viresh Kumar wrote: > diff --git a/drivers/base/power/opp/core.c b/drivers/base/power/opp/core.c > index 99491f4099e5..7c945d5950bf 100644 > --- a/drivers/base/power/opp/core.c > +++ b/drivers/base/power/opp/core.c > @@ -673,6 +673,7 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq) > { > struct opp_table *opp_table; > unsigned long freq, old_freq; > + int (*set_opp)(struct device *dev, struct dev_pm_set_opp_data *data); Curious why dev is an argument that isn't part of struct dev_pm_set_opp_data here? Is there some benefit to keeping it split out? > struct dev_pm_opp *old_opp, *opp; > struct regulator **regulators; > struct dev_pm_set_opp_data *data; > @@ -1488,7 +1497,7 @@ int dev_pm_opp_set_regulators(struct device *dev, const char * const names[], > > opp_table->regulator_count = count; > > - /* Allocate block only once to pass to ->set_rate() */ > + /* Allocate block only once to pass to ->set_opp() */ Ah here it is. > ret = _allocate_set_opp_data(opp_table); > if (ret) > goto free_regulators; > @@ -1563,6 +1572,109 @@ void dev_pm_opp_put_regulators(struct device *dev) > EXPORT_SYMBOL_GPL(dev_pm_opp_put_regulators); > > /** > + * dev_pm_opp_register_set_opp_helper() - Register custom OPP set rate helper s/custom OPP set rate/custom set OPP/ ? > + * @dev: Device for which the helper is getting registered. > + * @set_opp: Custom set OPP helper. > + * > + * This is useful to support complex platforms (like platforms with multiple > + * regulators per device), instead of the generic OPP set rate helper. > + * > + * This must be called before any OPPs are initialized for the device. > + * > + * Locking: The internal opp_table and opp structures are RCU protected. > + * Hence this function internally uses RCU updater strategy with mutex locks > + * to keep the integrity of the internal data structures. Callers should ensure > + * that this function is *NOT* called under RCU protection or in contexts where > + * mutex cannot be locked. > + */ -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html