* @new_level: the desirous pass level
* @min_level: the minimum pass level
* @max_level: the maximum pass level
+ * @data: the PMQoS's data containing the scenario name and lock state
*/
-int pass_governor_change_level_scope(struct pass_policy *policy,
- int new_level, int min_level, int max_level)
+int pass_governor_change_level_scope(struct pass_policy *policy, int new_level,
+ int min_level, int max_level, void *data)
{
if (!policy)
return -EINVAL;
+ /*
+ * FIXME: PMQoS core sends the raw data to the HAL in order to
+ * support the backwards compatibility. This function call will
+ * be removed after finding the proper method.
+ */
+ if (data)
+ pass_set_pmqos_data(to_pass_resource(policy), data);
+
if (min_level > max_level) {
_E("min_level(%d) have to be smaller than max_level(%d)\n",
min_level, max_level);
int pass_governor_init(struct pass_policy *policy);
int pass_governor_exit(struct pass_policy *policy);
int pass_governor_update(struct pass_policy *policy, enum pass_gov_state state);
-int pass_governor_change_level_scope(struct pass_policy *policy,
- int new_level, int min_level, int max_level);
+int pass_governor_change_level_scope(struct pass_policy *policy, int new_level,
+ int min_level, int max_level, void *data);
/* Get the governor/hotplug instance according to enum pass_gov_type */
struct pass_governor* pass_get_governor(struct pass_policy *policy,
}
}
- pass_governor_change_level_scope(policy, new_level, min_level, max_level);
+ pass_governor_change_level_scope(policy, new_level,
+ min_level, max_level, data);
if (scn->locked) {
_I("Lock '%s' scenario for '%s' resource\n",