Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
pm_notifier Struct Reference

Power management notifier struct. More...

#include <pm.h>

Data Fields

union { 
   struct { 
      void(*   state_entry )(enum pm_state state
 Application defined function for doing any target specific operations for power state entry. More...
      void(*   state_exit )(enum pm_state state
 Application defined function for doing any target specific operations for power state exit. More...
   } 
   struct { 
      void(*   substate_entry )(enum pm_state state, uint8_t
         substate_id) 
 Application defined function for doing any target specific operations for power state entry. More...
      void(*   substate_exit )(enum pm_state state, uint8_t
         substate_id) 
 Application defined function for doing any target specific operations for power state exit. More...
   } 
}; 
 Callbacks to be invoked on power state entry and exit.
bool report_substate
 True if the substate reporting callbacks are set.

Detailed Description

Power management notifier struct.

This struct contains callbacks that are called when the target enters and exits power states.

As currently implemented the entry callback is invoked when transitioning from PM_STATE_ACTIVE to another state, and the exit callback is invoked when transitioning from a non-active state to PM_STATE_ACTIVE. This behavior may change in the future.

Note
These callbacks can be called from the ISR of the event that caused the kernel exit from idling.
It is not allowed to call pm_notifier_unregister or pm_notifier_register from these callbacks because they are called with the spin locked in those functions.

Field Documentation

◆ [union]

union { ... } pm_notifier

Callbacks to be invoked on power state entry and exit.

Set either the plain variants or the substate reporting ones, and select between them with the report_substate field.

◆ report_substate

bool pm_notifier::report_substate

True if the substate reporting callbacks are set.

False, the default for backwards compatibility, selects the callbacks that do not report the substate id.

◆ state_entry

void(* pm_notifier::state_entry) (enum pm_state state)

Application defined function for doing any target specific operations for power state entry.

◆ state_exit

void(* pm_notifier::state_exit) (enum pm_state state)

Application defined function for doing any target specific operations for power state exit.

◆ substate_entry

void(* pm_notifier::substate_entry) (enum pm_state state, uint8_t substate_id)

Application defined function for doing any target specific operations for power state entry.

Reports the substate id additionally.

◆ substate_exit

void(* pm_notifier::substate_exit) (enum pm_state state, uint8_t substate_id)

Application defined function for doing any target specific operations for power state exit.

Reports the substate id additionally.


The documentation for this struct was generated from the following file:
  • include/zephyr/pm/pm.h