pm: policy: move constraints to policy API

The pm_constraint_* APIs were effectively used by the policy manager
only. This patch renames the API to the policy namespace and makes its
naming more explicit:

- pm_constraint_set -> pm_policy_state_lock_get()
- pm_constraint_release -> pm_policy_state_lock_put()
- pm_constraint_get -> pm_policy_state_lock_is_active()

The reason for these changes is that constraints can be of many types:
allow/disallow states, impose latency requirements, etc. The new naming
also makes explicit that the API calls will influence the PM policy
behavior.

All drivers and documentation have been updated accordingly.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
This commit is contained in:
Gerard Marull-Paretas 2022-01-20 16:06:28 +01:00 committed by Carles Cufí
commit 5a71eeb35c
23 changed files with 191 additions and 195 deletions

View file

@ -9,7 +9,7 @@
#include <kernel.h>
#include <drivers/i2c.h>
#include <pm/device.h>
#include <pm/pm.h>
#include <pm/policy.h>
#define LOG_LEVEL CONFIG_I2C_LOG_LEVEL
#include <logging/log.h>
@ -198,7 +198,7 @@ static int i2c_cc13xx_cc26xx_transfer(const struct device *dev,
k_sem_take(&data->lock, K_FOREVER);
#ifdef CONFIG_PM
pm_constraint_set(PM_STATE_STANDBY);
pm_policy_state_lock_get(PM_STATE_STANDBY);
#endif
for (int i = 0; i < num_msgs; i++) {
@ -222,7 +222,7 @@ static int i2c_cc13xx_cc26xx_transfer(const struct device *dev,
}
#ifdef CONFIG_PM
pm_constraint_release(PM_STATE_STANDBY);
pm_policy_state_lock_put(PM_STATE_STANDBY);
#endif
k_sem_give(&data->lock);