mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* swsusp: try_to_freeze to make freezing hooks nicer
@ 2004-12-25 21:29 Pavel Machek
  0 siblings, 0 replies; only message in thread
From: Pavel Machek @ 2004-12-25 21:29 UTC (permalink / raw)
  To: kernel list, Andrew Morton, Nigel Cunningham

Hi!

This moves refrigerator changes to sched.h, so that every file
user of refrigerator does not have to include suspend.h, and makes
refrigerator support easier by introducing try_to_freeze. Please
apply,

								Pavel

Adapted from patch by Nigel Cunningham
Signed-off-by: Pavel Machek <pavel@suse.cz>

--- linux-cvs/include/linux/sched.h	2004-12-03 16:47:45.000000000 +0100
+++ linux/include/linux/sched.h	2004-12-25 15:51:46.000000000 +0100
@@ -1124,6 +1124,34 @@
 
 #endif
 
+/* try_to_freeze
+ *
+ * Checks whether we need to enter the refrigerator
+ * and returns 1 if we did so.
+ */
+#ifdef CONFIG_PM
+extern void refrigerator(unsigned long);
+extern int freeze_processes(void);
+extern void thaw_processes(void);
+
+static inline int try_to_freeze(unsigned long refrigerator_flags)
+{
+	if (unlikely(current->flags & PF_FREEZE)) {
+		refrigerator(refrigerator_flags);
+		return 1;
+	} else
+		return 0;
+}
+#else
+static inline void refrigerator(unsigned long flag) {}
+static inline int freeze_processes(void) { BUG(); }
+static inline void thaw_processes(void) {}
+
+static inline int try_to_freeze(unsigned long refrigerator_flags)
+{
+	return 0;
+}
+#endif /* CONFIG_PM */
 #endif /* __KERNEL__ */
 
 #endif
--- linux-cvs/include/linux/suspend.h	2004-12-10 22:35:58.000000000 +0100
+++ linux/include/linux/suspend.h	2004-12-01 13:52:10.000000000 +0100
@@ -36,26 +36,16 @@
 /* kernel/power/swsusp.c */
 extern int software_suspend(void);
 
-#else	/* CONFIG_SOFTWARE_SUSPEND */
+extern int pm_prepare_console(void);
+extern void pm_restore_console(void);
+
+#else
 static inline int software_suspend(void)
 {
 	printk("Warning: fake suspend called\n");
 	return -EPERM;
 }
-#endif	/* CONFIG_SOFTWARE_SUSPEND */
-
-
-#ifdef CONFIG_PM
-extern void refrigerator(unsigned long);
-extern int freeze_processes(void);
-extern void thaw_processes(void);
-
-extern int pm_prepare_console(void);
-extern void pm_restore_console(void);
-
-#else
-static inline void refrigerator(unsigned long flag) {}
-#endif	/* CONFIG_PM */
+#endif
 
 #ifdef CONFIG_SMP
 extern void disable_nonboot_cpus(void);

-- 
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-12-25 21:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-12-25 21:29 swsusp: try_to_freeze to make freezing hooks nicer Pavel Machek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome