dev_pm_info
Regular
4.4
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool ignore_children;
bool early_init;
bool direct_complete;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
struct timer_list suspend_timer;
long unsigned int timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int run_wake;
unsigned int runtime_auto;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
long unsigned int last_busy;
long unsigned int active_jiffies;
long unsigned int suspended_jiffies;
long unsigned int accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
4.8
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool early_init;
bool direct_complete;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
struct timer_list suspend_timer;
long unsigned int timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int run_wake;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
long unsigned int last_busy;
long unsigned int active_jiffies;
long unsigned int suspended_jiffies;
long unsigned int accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
4.10
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool early_init;
bool direct_complete;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
struct timer_list suspend_timer;
long unsigned int timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int run_wake;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
long unsigned int last_busy;
long unsigned int active_jiffies;
long unsigned int suspended_jiffies;
long unsigned int accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
4.13
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool early_init;
bool direct_complete;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
struct timer_list suspend_timer;
long unsigned int timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
long unsigned int last_busy;
long unsigned int active_jiffies;
long unsigned int suspended_jiffies;
long unsigned int accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
4.15
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
unsigned int must_resume;
unsigned int may_skip_resume;
struct timer_list suspend_timer;
long unsigned int timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
long unsigned int last_busy;
long unsigned int active_jiffies;
long unsigned int suspended_jiffies;
long unsigned int accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
4.18
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
unsigned int must_resume;
unsigned int may_skip_resume;
struct timer_list suspend_timer;
long unsigned int timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
long unsigned int last_busy;
long unsigned int active_jiffies;
long unsigned int suspended_jiffies;
long unsigned int accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
5.0
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
unsigned int must_resume;
unsigned int may_skip_resume;
struct hrtimer suspend_timer;
long unsigned int timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
u64 last_busy;
long unsigned int active_jiffies;
long unsigned int suspended_jiffies;
long unsigned int accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
5.3
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool no_pm;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
unsigned int must_resume;
unsigned int may_skip_resume;
struct hrtimer suspend_timer;
long unsigned int timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
u64 last_busy;
u64 active_time;
u64 suspended_time;
u64 accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
5.4
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool no_pm;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
unsigned int must_resume;
unsigned int may_skip_resume;
struct hrtimer suspend_timer;
long unsigned int timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
u64 last_busy;
u64 active_time;
u64 suspended_time;
u64 accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
5.8
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool no_pm;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
unsigned int must_resume;
unsigned int may_skip_resume;
struct hrtimer suspend_timer;
long unsigned int timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
u64 last_busy;
u64 active_time;
u64 suspended_time;
u64 accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
5.11
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool no_pm;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
unsigned int must_resume;
unsigned int may_skip_resume;
struct hrtimer suspend_timer;
u64 timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
u64 last_busy;
u64 active_time;
u64 suspended_time;
u64 accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
5.13
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool no_pm;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
unsigned int must_resume;
unsigned int may_skip_resume;
struct hrtimer suspend_timer;
u64 timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int needs_force_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
u64 last_busy;
u64 active_time;
u64 suspended_time;
u64 accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
5.15
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool no_pm;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
unsigned int must_resume;
unsigned int may_skip_resume;
struct hrtimer suspend_timer;
u64 timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int needs_force_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
u64 last_busy;
u64 active_time;
u64 suspended_time;
u64 accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
5.19
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool no_pm;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
unsigned int must_resume;
unsigned int may_skip_resume;
struct hrtimer suspend_timer;
u64 timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int needs_force_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
enum rpm_status last_status;
int runtime_error;
int autosuspend_delay;
u64 last_busy;
u64 active_time;
u64 suspended_time;
u64 accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
6.2
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool no_pm;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
unsigned int must_resume;
unsigned int may_skip_resume;
struct hrtimer suspend_timer;
u64 timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int needs_force_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
enum rpm_status last_status;
int runtime_error;
int autosuspend_delay;
u64 last_busy;
u64 active_time;
u64 suspended_time;
u64 accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
6.5
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool no_pm;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
unsigned int must_resume;
unsigned int may_skip_resume;
struct hrtimer suspend_timer;
u64 timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int needs_force_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
enum rpm_status last_status;
int runtime_error;
int autosuspend_delay;
u64 last_busy;
u64 active_time;
u64 suspended_time;
u64 accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
6.8
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool no_pm;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
bool async_in_progress;
unsigned int must_resume;
unsigned int may_skip_resume;
struct hrtimer suspend_timer;
u64 timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int needs_force_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
enum rpm_status last_status;
int runtime_error;
int autosuspend_delay;
u64 last_busy;
u64 active_time;
u64 suspended_time;
u64 accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
arm64
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool no_pm;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
unsigned int must_resume;
unsigned int may_skip_resume;
struct hrtimer suspend_timer;
long unsigned int timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
u64 last_busy;
u64 active_time;
u64 suspended_time;
u64 accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
armhf
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool no_pm;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
unsigned int must_resume;
unsigned int may_skip_resume;
struct hrtimer suspend_timer;
long unsigned int timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
u64 last_busy;
u64 active_time;
u64 suspended_time;
u64 accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
ppc64el
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool no_pm;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
unsigned int must_resume;
unsigned int may_skip_resume;
struct hrtimer suspend_timer;
long unsigned int timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
u64 last_busy;
u64 active_time;
u64 suspended_time;
u64 accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
riscv64
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool no_pm;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
unsigned int should_wakeup;
struct hrtimer suspend_timer;
long unsigned int timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
u64 last_busy;
u64 active_time;
u64 suspended_time;
u64 accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
aws
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool no_pm;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
unsigned int must_resume;
unsigned int may_skip_resume;
struct hrtimer suspend_timer;
long unsigned int timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
u64 last_busy;
u64 active_time;
u64 suspended_time;
u64 accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
azure
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool no_pm;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
unsigned int must_resume;
unsigned int may_skip_resume;
struct hrtimer suspend_timer;
long unsigned int timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
u64 last_busy;
u64 active_time;
u64 suspended_time;
u64 accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
gcp
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool no_pm;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
unsigned int must_resume;
unsigned int may_skip_resume;
struct hrtimer suspend_timer;
long unsigned int timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
u64 last_busy;
u64 active_time;
u64 suspended_time;
u64 accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
lowlatency
: ✅struct dev_pm_info {
pm_message_t power_state;
unsigned int can_wakeup;
unsigned int async_suspend;
bool in_dpm_list;
bool is_prepared;
bool is_suspended;
bool is_noirq_suspended;
bool is_late_suspended;
bool no_pm;
bool early_init;
bool direct_complete;
u32 driver_flags;
spinlock_t lock;
struct list_head entry;
struct completion completion;
struct wakeup_source *wakeup;
bool wakeup_path;
bool syscore;
bool no_pm_callbacks;
unsigned int must_resume;
unsigned int may_skip_resume;
struct hrtimer suspend_timer;
long unsigned int timer_expires;
struct work_struct work;
wait_queue_head_t wait_queue;
struct wake_irq *wakeirq;
atomic_t usage_count;
atomic_t child_count;
unsigned int disable_depth;
unsigned int idle_notification;
unsigned int request_pending;
unsigned int deferred_resume;
unsigned int runtime_auto;
bool ignore_children;
unsigned int no_callbacks;
unsigned int irq_safe;
unsigned int use_autosuspend;
unsigned int timer_autosuspends;
unsigned int memalloc_noio;
unsigned int links_count;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;
int autosuspend_delay;
u64 last_busy;
u64 active_time;
u64 suspended_time;
u64 accounting_timestamp;
struct pm_subsys_data *subsys_data;
void (*set_latency_tolerance)(struct device *, s32);
struct dev_pm_qos *qos;
};
Regular
4.4
and 4.8
⚠️bool no_pm_callbacks
4.8
and 4.10
⚠️bool in_dpm_list
unsigned int links_count
4.10
and 4.13
⚠️unsigned int run_wake
4.13
and 4.15
⚠️u32 driver_flags
unsigned int must_resume
unsigned int may_skip_resume
4.15
and 4.18
✅
4.18
and 5.0
⚠️struct timer_list suspend_timer
➡️ struct hrtimer suspend_timer
long unsigned int last_busy
➡️ u64 last_busy
5.0
and 5.3
⚠️bool no_pm
u64 active_time
u64 suspended_time
long unsigned int active_jiffies
long unsigned int suspended_jiffies
long unsigned int accounting_timestamp
➡️ u64 accounting_timestamp
5.3
and 5.4
✅
5.4
and 5.8
✅
5.8
and 5.11
⚠️long unsigned int timer_expires
➡️ u64 timer_expires
5.11
and 5.13
⚠️unsigned int needs_force_resume
5.13
and 5.15
✅
5.15
and 5.19
⚠️enum rpm_status last_status
5.19
and 6.2
✅
6.2
and 6.5
✅
6.5
and 6.8
⚠️bool async_in_progress
amd64
and arm64
✅
amd64
and armhf
✅
amd64
and ppc64el
✅
amd64
and riscv64
⚠️unsigned int should_wakeup
struct list_head entry
struct completion completion
struct wakeup_source *wakeup
bool wakeup_path
bool syscore
bool no_pm_callbacks
unsigned int must_resume
unsigned int may_skip_resume
generic
and aws
✅
generic
and azure
✅
generic
and gcp
✅
generic
and lowlatency
✅