|
Zephyr Project API 4.0.0
A Scalable Open Source RTOS
|
#include <stdbool.h>#include <stdint.h>#include <zephyr/device.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... | |
| struct | pm_policy_event |
| Event. More... | |
Macros | |
| #define | PM_ALL_SUBSTATES (UINT8_MAX) |
| Special value for 'all substates'. | |
Typedefs | |
| typedef void(* | pm_policy_latency_changed_cb_t) (int32_t latency) |
| Callback to notify when maximum latency changes. | |
Functions | |
| void | pm_policy_state_lock_get (enum pm_state state, uint8_t substate_id) |
| Increase a power state lock counter. | |
| void | pm_policy_state_lock_put (enum pm_state state, uint8_t substate_id) |
| Decrease a power state lock counter. | |
| 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). | |
| void | pm_policy_event_register (struct pm_policy_event *evt, uint32_t cycle) |
| Register an event. | |
| void | pm_policy_event_update (struct pm_policy_event *evt, uint32_t cycle) |
| Update an event. | |
| void | pm_policy_event_unregister (struct pm_policy_event *evt) |
| Unregister an event. | |
| void | pm_policy_device_power_lock_get (const struct device *dev) |
| Increase power state locks. | |
| void | pm_policy_device_power_lock_put (const struct device *dev) |
| Decrease power state locks. | |
| int32_t | pm_policy_next_event_ticks (void) |
| Returns the ticks until the next event. | |
| void | pm_policy_latency_request_add (struct pm_policy_latency_request *req, uint32_t value_us) |
| Add a new latency requirement. | |
| void | pm_policy_latency_request_update (struct pm_policy_latency_request *req, uint32_t value_us) |
| Update a latency requirement. | |
| void | pm_policy_latency_request_remove (struct pm_policy_latency_request *req) |
| Remove a latency requirement. | |
| void | pm_policy_latency_changed_subscribe (struct pm_policy_latency_subscription *req, pm_policy_latency_changed_cb_t cb) |
| Subscribe to maximum latency changes. | |
| void | pm_policy_latency_changed_unsubscribe (struct pm_policy_latency_subscription *req) |
| Unsubscribe to maximum latency changes. | |