Zephyr Project API  3.3.0
A Scalable Open Source RTOS
policy.h File Reference
#include <stdbool.h>
#include <stdint.h>
#include <zephyr/pm/state.h>
#include <zephyr/sys/slist.h>
#include <zephyr/toolchain.h>

Go to the source code of this file.

Data Structures

struct  pm_policy_latency_subscription
 Latency change subscription. More...
 
struct  pm_policy_latency_request
 Latency request. More...
 

Macros

#define PM_ALL_SUBSTATES   (UINT8_MAX)
 

Typedefs

typedef void(* pm_policy_latency_changed_cb_t) (int32_t latency)
 Callback to notify when maximum latency changes. More...
 

Functions

void pm_policy_state_lock_get (enum pm_state state, uint8_t substate_id)
 Increase a power state lock counter. More...
 
void pm_policy_state_lock_put (enum pm_state state, uint8_t substate_id)
 Decrease a power state lock counter. More...
 
bool pm_policy_state_lock_is_active (enum pm_state state, uint8_t substate_id)
 Check if a power state lock is active (not allowed). More...
 
void pm_policy_latency_request_add (struct pm_policy_latency_request *req, uint32_t value)
 Add a new latency requirement. More...
 
void pm_policy_latency_request_update (struct pm_policy_latency_request *req, uint32_t value)
 Update a latency requirement. More...
 
void pm_policy_latency_request_remove (struct pm_policy_latency_request *req)
 Remove a latency requirement. More...
 
void pm_policy_latency_changed_subscribe (struct pm_policy_latency_subscription *req, pm_policy_latency_changed_cb_t cb)
 Subscribe to maximum latency changes. More...
 
void pm_policy_latency_changed_unsubscribe (struct pm_policy_latency_subscription *req)
 Unsubscribe to maximum latency changes. More...