Message ID | 20180612205619.28156-3-anchalag@amazon.com (mailing list archive) |
---|---|
State | RFC, archived |
Headers | show |
On Wed, Jun 13, 2018 at 6:56 AM, Anchal Agarwal <anchalag@amazon.com> wrote: > From: Munehisa Kamata <kamatam@amazon.com> > > Introduce simple functions which help to know the on-going suspend mode > so that other Xen-related code can behave differently according to the > current suspend mode. I'd squash this patch with the previous, the previous one just left too many open questions about how suspend mode is used. Looks like suspend mode is a state, but I am not sure if valid transitions are defined/checked? Balbir Singh.
diff --git a/drivers/xen/manage.c b/drivers/xen/manage.c index 8f9ea87..326631d 100644 --- a/drivers/xen/manage.c +++ b/drivers/xen/manage.c @@ -50,6 +50,21 @@ enum suspend_modes { /* Protected by pm_mutex */ static enum suspend_modes suspend_mode = NO_SUSPEND; +bool xen_suspend_mode_is_xen_suspend(void) +{ + return suspend_mode == XEN_SUSPEND; +} + +bool xen_suspend_mode_is_pm_suspend(void) +{ + return suspend_mode == PM_SUSPEND; +} + +bool xen_suspend_mode_is_pm_hibernation(void) +{ + return suspend_mode == PM_HIBERNATION; +} + struct suspend_info { int cancelled; }; diff --git a/include/xen/xen-ops.h b/include/xen/xen-ops.h index fd23e42..be78f6f 100644 --- a/include/xen/xen-ops.h +++ b/include/xen/xen-ops.h @@ -39,6 +39,10 @@ u64 xen_steal_clock(int cpu); int xen_setup_shutdown_event(void); +bool xen_suspend_mode_is_xen_suspend(void); +bool xen_suspend_mode_is_pm_suspend(void); +bool xen_suspend_mode_is_pm_hibernation(void); + extern unsigned long *xen_contiguous_bitmap; #ifdef CONFIG_XEN_PV