On Wed, 17 Mar 2010, Rafael J. Wysocki wrote: > On Wednesday 17 March 2010, Sebastian Ott wrote: > > hi, > > > > on s390 certain hw features which we normally enable in our init > > calls, get reset while restoring the hibernation image. > > so we need a trigger to reenable them before the device callbacks > > are called. > > > > is it possible to add an additional event for the existing > > pm_notifier (something like the attached patch)? > > > > regards > > sebastian > > > > > > Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> > > --- > > include/linux/notifier.h | 1 + > > kernel/power/hibernate.c | 2 ++ > > 2 files changed, 3 insertions(+) > > > > Index: linux-2.6/include/linux/notifier.h > > =================================================================== > > --- linux-2.6.orig/include/linux/notifier.h > > +++ linux-2.6/include/linux/notifier.h > > @@ -250,6 +250,8 @@ static inline int notifier_to_errno(int > > #define PM_POST_SUSPEND 0x0004 /* Suspend finished */ > > #define PM_RESTORE_PREPARE 0x0005 /* Going to restore a saved image */ > > #define PM_POST_RESTORE 0x0006 /* Restore failed */ > > +#define PM_RESTORE_FINISHED 0x0007 /* Image restored, called prior to > > + device callbacks */ > > > > /* Console keyboard events. > > * Note: KBD_KEYCODE is always sent before KBD_UNBOUND_KEYCODE, KBD_UNICODE and > > Index: linux-2.6/kernel/power/hibernate.c > > =================================================================== > > --- linux-2.6.orig/kernel/power/hibernate.c > > +++ linux-2.6/kernel/power/hibernate.c > > @@ -290,6 +290,8 @@ static int create_image(int platform_mod > > if (!in_suspend) > > platform_leave(platform_mode); > > > > + pm_notifier_call_chain(PM_RESTORE_FINISHED); > > Hmm. Why can't you put that in platform_leave()? i'm confused, are you suggesting to put the actual statement in platform_leave? this would change that all these platform_* functions are nop's if platform_mode isn't set (i need the trigger independent of the hibernation_mode) or are you suggesting to implement platform_hibernation_ops for s390? - this seems a bit too much since i only need one trigger, and again this depends on the hibernation_mode > > > + > > Power_up: > > sysdev_resume(); > > /* NOTE: dpm_resume_noirq() is just a resume() for devices > > Rafael > _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm