aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2007-10-18 06:04:41 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-18 17:37:18 -0400
commite6c5eb9541f2197a3ffab90b1c7a3250a9b51bf6 (patch)
treeac227415da22d4345f8e72a6a8e781757b6ce85a /include/linux
parent26398a70ea35f153feb799fa850c71685667712b (diff)
PM: Rework struct platform_suspend_ops
There is no reason why the .prepare() and .finish() methods in 'struct platform_suspend_ops' should take any arguments, since architectures don't use these methods' argument in any practically meaningful way (ie. either the target system sleep state is conveyed to the platform by .set_target(), or there is only one suspend state supported and it is indicated to the PM core by .valid(), or .prepare() and .finish() aren't defined at all).  There also is no reason why .finish() should return any result. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Pavel Machek <pavel@ucw.cz> Cc: Len Brown <lenb@kernel.org> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/suspend.h13
1 files changed, 5 insertions, 8 deletions
diff --git a/include/linux/suspend.h b/include/linux/suspend.h
index dce47825dbb8..541f0c46d34f 100644
--- a/include/linux/suspend.h
+++ b/include/linux/suspend.h
@@ -46,12 +46,10 @@ typedef int __bitwise suspend_state_t;
46 * @prepare() fails. If @set_target() fails (ie. returns nonzero), 46 * @prepare() fails. If @set_target() fails (ie. returns nonzero),
47 * @prepare(), @enter() and @finish() will not be called by the PM core. 47 * @prepare(), @enter() and @finish() will not be called by the PM core.
48 * This callback is optional. However, if it is implemented, the argument 48 * This callback is optional. However, if it is implemented, the argument
49 * passed to @prepare(), @enter() and @finish() is meaningless and should 49 * passed to @enter() is meaningless and should be ignored.
50 * be ignored.
51 * 50 *
52 * @prepare: Prepare the platform for entering the system sleep state indicated 51 * @prepare: Prepare the platform for entering the system sleep state indicated
53 * by @set_target() or represented by the argument if @set_target() is not 52 * by @set_target().
54 * implemented.
55 * @prepare() is called right after devices have been suspended (ie. the 53 * @prepare() is called right after devices have been suspended (ie. the
56 * appropriate .suspend() method has been executed for each device) and 54 * appropriate .suspend() method has been executed for each device) and
57 * before the nonboot CPUs are disabled (it is executed with IRQs enabled). 55 * before the nonboot CPUs are disabled (it is executed with IRQs enabled).
@@ -67,8 +65,7 @@ typedef int __bitwise suspend_state_t;
67 * 65 *
68 * @finish: Called when the system has just left a sleep state, right after 66 * @finish: Called when the system has just left a sleep state, right after
69 * the nonboot CPUs have been enabled and before devices are resumed (it is 67 * the nonboot CPUs have been enabled and before devices are resumed (it is
70 * executed with IRQs enabled). If @set_target() is not implemented, the 68 * executed with IRQs enabled).
71 * argument represents the sleep state being left.
72 * This callback is optional, but should be implemented by the platforms 69 * This callback is optional, but should be implemented by the platforms
73 * that implement @prepare(). If implemented, it is always called after 70 * that implement @prepare(). If implemented, it is always called after
74 * @enter() (even if @enter() fails). 71 * @enter() (even if @enter() fails).
@@ -76,9 +73,9 @@ typedef int __bitwise suspend_state_t;
76struct platform_suspend_ops { 73struct platform_suspend_ops {
77 int (*valid)(suspend_state_t state); 74 int (*valid)(suspend_state_t state);
78 int (*set_target)(suspend_state_t state); 75 int (*set_target)(suspend_state_t state);
79 int (*prepare)(suspend_state_t state); 76 int (*prepare)(void);
80 int (*enter)(suspend_state_t state); 77 int (*enter)(suspend_state_t state);
81 int (*finish)(suspend_state_t state); 78 void (*finish)(void);
82}; 79};
83 80
84#ifdef CONFIG_SUSPEND 81#ifdef CONFIG_SUSPEND