On Friday, September 04, 2015 03:34:55 PM Daniel Wagner wrote: > Instead encode the FREEZE state via the CPU state we allow the > interesting subsystems (MCE, microcode) to query the power > subsystem directly.
A use case, please. > Most notifiers are not interested at all > in this information so rather have explicit calls to freeze_active() > instead adding complexity to the rest of the users of the CPU > notifiers. Why does it has anything to do with CPU notifiers? We don't offline CPUs for suspend-to-idle. > Signed-off-by: Daniel Wagner <daniel.wag...@bmw-carit.de> > Cc: "Rafael J. Wysocki" <r...@rjwysocki.net> > Cc: Len Brown <len.br...@intel.com> > Cc: Pavel Machek <pa...@ucw.cz> > Cc: linux...@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > --- > include/linux/suspend.h | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/include/linux/suspend.h b/include/linux/suspend.h > index 5efe743..5e15ade 100644 > --- a/include/linux/suspend.h > +++ b/include/linux/suspend.h > @@ -216,6 +216,11 @@ static inline bool idle_should_freeze(void) > return unlikely(suspend_freeze_state == FREEZE_STATE_ENTER); > } > > +static inline bool freeze_active(void) > +{ > + return unlikely(suspend_freeze_state != FREEZE_STATE_NONE); > +} > + > extern void freeze_set_ops(const struct platform_freeze_ops *ops); > extern void freeze_wake(void); > > @@ -244,6 +249,7 @@ extern int pm_suspend(suspend_state_t state); > static inline void suspend_set_ops(const struct platform_suspend_ops *ops) {} > static inline int pm_suspend(suspend_state_t state) { return -ENOSYS; } > static inline bool idle_should_freeze(void) { return false; } > +static inline bool freeze_active(void) { return false; } > static inline void freeze_set_ops(const struct platform_freeze_ops *ops) {} > static inline void freeze_wake(void) {} > #endif /* !CONFIG_SUSPEND */ > -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/