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 37b4595602c855a00a7857d44edbb833ce903bd2..c14f27f9351fdaf3164d46d25701897de562a453 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 2e7d4aaadb640162fc18e0bac25610df455b48b7..0625699875cec3ed14b0e238cd4f2c4cc36a83c8 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 59b2265e36d968c79526d90388428b0c7049bd25..7d6db7cf537a5eadab9a784b5d80ed319f1443fb 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;
 };
 
 /******************************************************