pass: pmqos: Group the private data of PMQoS module into struct pmqos 68/174368/7
authorChanwoo Choi <cw00.choi@samsung.com>
Thu, 22 Mar 2018 10:30:54 +0000 (19:30 +0900)
committerChanwoo Choi <cw00.choi@samsung.com>
Fri, 6 Apr 2018 05:49:39 +0000 (14:49 +0900)
PASS uses the 'scenario' expression which indicates the unique user-scnaerio
or the specific situation. 'struct pass_pmqos' is used to handle 'scenario'.

'struct pass_pmqos' is used on multiple modules and then it might have
both common variables and specific variables used on particular PASS module.

So, group the private data of PMQOS module into the 'struct pmqos'.

Change-Id: I65111779ecd2dca7ff2ecbc5ace1d6e16f1824c8
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
src/pass/pass-parser.c
src/pass/pass-pmqos.c
src/pass/pass.h

index 37b4595..c14f27f 100644 (file)
@@ -92,9 +92,9 @@ static int parse_scenario(struct parse_result *result,
                if (scenario->state < 0)
                        return -EINVAL;
        } else if (MATCH(result->name, "min_level")) {
-               scenario->min_level = atoi(result->value);
+               scenario->pmqos.min_level = atoi(result->value);
        } else if (MATCH(result->name, "max_level")) {
-               scenario->max_level = atoi(result->value);
+               scenario->pmqos.max_level = atoi(result->value);
        }
 
        return 0;
index 2e7d4aa..0625699 100644 (file)
@@ -120,26 +120,26 @@ static int pmqos_notifier_cb(void *data, void *user_data)
         * Compare locked state of scenario with
         * if state is same as existing state
         */
-       if (scn->locked == locked) {
+       if (scn->pmqos.locked == locked) {
                _E("'%s' scenario is already %s for '%s' resource\n", name,
                                (locked == PASS_ON) ? "Locked" : "Unlocked",
                                config_data->res_name);
                return 0;
        }
-       scn->locked = locked;
+       scn->pmqos.locked = locked;
 
-       if (scn->locked) {
+       if (scn->pmqos.locked) {
                if (pmqos->num_locked_scenarios == 0)
                        new_level = pmqos->init_level = res->rescon.curr_level;
                else
                        new_level = pmqos->curr_level;
-               min_level = MAX(scn->min_level, pmqos->min_level);
-               max_level = MAX(scn->max_level, pmqos->max_level);
+               min_level = MAX(scn->pmqos.min_level, pmqos->min_level);
+               max_level = MAX(scn->pmqos.max_level, pmqos->max_level);
 
                if (new_level < min_level)
                        new_level = min_level;
                else if (new_level > max_level)
-                       new_level = scn->max_level;
+                       new_level = scn->pmqos.max_level;
 
                pmqos->curr_level = new_level;
                pmqos->min_level = min_level;
@@ -166,17 +166,17 @@ static int pmqos_notifier_cb(void *data, void *user_data)
 
        pass_rescon_set_level_scope(res, new_level, min_level, max_level, data);
 
-       if (scn->locked) {
+       if (scn->pmqos.locked) {
                _I("Lock   '%s' scenario for '%s' resource\n",
                        name, config_data->res_name);
 
-               pmqos->scenarios[index].locked_time = get_time_ms();
+               pmqos->scenarios[index].pmqos.locked_time = get_time_ms();
        } else {
                _I("UnLock '%s' scenario for '%s' resource (%lldms)\n",
                        name, config_data->res_name,
-                       (get_time_ms() - pmqos->scenarios[index].locked_time));
+                       (get_time_ms() - pmqos->scenarios[index].pmqos.locked_time));
 
-               pmqos->scenarios[index].locked_time = 0;
+               pmqos->scenarios[index].pmqos.locked_time = 0;
        }
 
        return 0;
index 59b2265..7d6db7c 100644 (file)
@@ -163,19 +163,22 @@ struct pass_level {
  *
  * @name: the unique scenario name.
  * @state: the state of the scenario (either supported or not).
- * @locked: the locked state of scenario (either locked or unlocked).
- * @locked_time: the requiired locking time of scenario.
- * @min_level: the required minimum PASS's level.
- * @max_level: the required maximum PASS's level.
+ * @pmqos: the private data for PASS_MODULE_PMQOS
+ * - locked: the locked state of scenario (either locked or unlocked).
+ * - locked_time: the requiired locking time of scenario.
+ * - min_level: the required minimum PASS's level.
+ * - max_level: the required maximum PASS's level.
  */
 struct pass_scenario {
        char name[BUFF_MAX];
        enum pass_state state;
-       enum pass_state locked;
-       int64_t locked_time;
 
-       unsigned int min_level;
-       unsigned int max_level;
+       struct {
+               enum pass_state locked;
+               int64_t locked_time;
+               unsigned int min_level;
+               unsigned int max_level;
+       } pmqos;
 };
 
 /******************************************************