7#ifndef ZEPHYR_INCLUDE_PM_POLICY_H_
8#define ZEPHYR_INCLUDE_PM_POLICY_H_
94#define PM_ALL_SUBSTATES (UINT8_MAX)
96#if defined(CONFIG_PM) || defined(__DOXYGEN__)
284 ARG_UNUSED(value_us);
291 ARG_UNUSED(value_us);
struct _snode sys_snode_t
Single-linked list node structure.
Definition slist.h:39
pm_state
Power management state.
Definition state.h:27
void pm_policy_event_update(struct pm_policy_event *evt, uint32_t cycle)
Update an event.
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_latency_request_update(struct pm_policy_latency_request *req, uint32_t value_us)
Update a latency requirement.
void pm_policy_device_power_lock_get(const struct device *dev)
Increase power state locks.
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_changed_unsubscribe(struct pm_policy_latency_subscription *req)
Unsubscribe to maximum latency changes.
void pm_policy_event_register(struct pm_policy_event *evt, uint32_t cycle)
Register an event.
void pm_policy_event_unregister(struct pm_policy_event *evt)
Unregister an event.
int32_t pm_policy_next_event_ticks(void)
Returns the ticks until the next event.
void pm_policy_latency_request_remove(struct pm_policy_latency_request *req)
Remove a latency requirement.
void(* pm_policy_latency_changed_cb_t)(int32_t latency)
Callback to notify when maximum latency changes.
Definition policy.h:36
void pm_policy_state_lock_get(enum pm_state state, uint8_t substate_id)
Increase a power state lock counter.
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_device_power_lock_put(const struct device *dev)
Decrease power state locks.
state
Definition parser_state.h:29
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__INT32_TYPE__ int32_t
Definition stdint.h:74
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
Runtime device structure (in ROM) per driver instance.
Definition device.h:403
Event.
Definition policy.h:67
Latency request.
Definition policy.h:55
Latency change subscription.
Definition policy.h:43
Information about a power management state.
Definition state.h:114
uint8_t substate_id
Some platforms have multiple states that map to one Zephyr power state.
Definition state.h:142