Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
device.h File Reference
#include <kernel.h>
#include <sys/atomic.h>

Go to the source code of this file.

Data Structures

struct  pm_device
 Device PM info. More...
 

Macros

#define device_pm_control_nop   __DEPRECATED_MACRO NULL
 

Typedefs

typedef int(* pm_device_control_callback_t) (const struct device *dev, enum pm_device_action action)
 Device power management control function callback. More...
 

Enumerations

enum  pm_device_state { PM_DEVICE_STATE_ACTIVE , PM_DEVICE_STATE_LOW_POWER , PM_DEVICE_STATE_SUSPENDED , PM_DEVICE_STATE_OFF }
 Device power states. More...
 
enum  pm_device_flag {
  PM_DEVICE_FLAG_BUSY , PM_DEVICE_FLAGS_WS_CAPABLE , PM_DEVICE_FLAGS_WS_ENABLED , PM_DEVICE_FLAG_TRANSITIONING ,
  PM_DEVICE_FLAG_COUNT
}
 Device PM flags. More...
 
enum  pm_device_action {
  PM_DEVICE_ACTION_SUSPEND , PM_DEVICE_ACTION_RESUME , PM_DEVICE_ACTION_TURN_OFF , PM_DEVICE_ACTION_FORCE_SUSPEND ,
  PM_DEVICE_ACTION_LOW_POWER
}
 Device PM actions. More...
 

Functions

const char * pm_device_state_str (enum pm_device_state state)
 Get name of device PM state. More...
 
int pm_device_state_set (const struct device *dev, enum pm_device_state state)
 Set the power state of a device. More...
 
int pm_device_state_get (const struct device *dev, enum pm_device_state *state)
 Obtain the power state of a device. More...
 
static void pm_device_busy_set (const struct device *dev)
 
static void pm_device_busy_clear (const struct device *dev)
 
static bool pm_device_is_any_busy (void)
 
static bool pm_device_is_busy (const struct device *dev)
 
static void device_busy_set (const struct device *dev)
 
static void device_busy_clear (const struct device *dev)
 
static int device_any_busy_check (void)
 
static int device_busy_check (const struct device *dev)
 
bool pm_device_wakeup_enable (struct device *dev, bool enable)
 Enable a power management wakeup source. More...
 
bool pm_device_wakeup_is_enabled (const struct device *dev)
 Check if a power management wakeup source is enabled. More...
 
bool pm_device_wakeup_is_capable (const struct device *dev)
 Check if a device is wake up capable. More...