[PATCH 5/9] power management: no valid states w/o pm_ops

2007-02-23 Thread Greg Kroah-Hartman
From: Johannes Berg <[EMAIL PROTECTED]>

Change /sys/power/state to not advertise any valid states (except for disk
if SOFTWARE_SUSPEND is enabled) when no pm_ops have been set so userspace
can easily discover what states should be available.

Signed-off-by: Johannes Berg <[EMAIL PROTECTED]>
Cc: "Randy.Dunlap" <[EMAIL PROTECTED]>
Cc: Rafael J. Wysocki <[EMAIL PROTECTED]>
Cc: Pavel Macheck <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
---
 kernel/power/main.c |5 -
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/kernel/power/main.c b/kernel/power/main.c
index e1c4131..a064dfd 100644
--- a/kernel/power/main.c
+++ b/kernel/power/main.c
@@ -167,7 +167,10 @@ static inline int valid_state(suspend_state_t state)
if (state == PM_SUSPEND_DISK)
return 1;
 
-   if (pm_ops && pm_ops->valid && !pm_ops->valid(state))
+   /* all other states need lowlevel support and need to be
+* valid to the lowlevel implementation, no valid callback
+* implies that all are valid. */
+   if (!pm_ops || (pm_ops->valid && !pm_ops->valid(state)))
return 0;
return 1;
 }
-- 
1.5.0.1

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 5/9] power management: no valid states w/o pm_ops

2007-02-23 Thread Greg Kroah-Hartman
From: Johannes Berg [EMAIL PROTECTED]

Change /sys/power/state to not advertise any valid states (except for disk
if SOFTWARE_SUSPEND is enabled) when no pm_ops have been set so userspace
can easily discover what states should be available.

Signed-off-by: Johannes Berg [EMAIL PROTECTED]
Cc: Randy.Dunlap [EMAIL PROTECTED]
Cc: Rafael J. Wysocki [EMAIL PROTECTED]
Cc: Pavel Macheck [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Greg Kroah-Hartman [EMAIL PROTECTED]
---
 kernel/power/main.c |5 -
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/kernel/power/main.c b/kernel/power/main.c
index e1c4131..a064dfd 100644
--- a/kernel/power/main.c
+++ b/kernel/power/main.c
@@ -167,7 +167,10 @@ static inline int valid_state(suspend_state_t state)
if (state == PM_SUSPEND_DISK)
return 1;
 
-   if (pm_ops  pm_ops-valid  !pm_ops-valid(state))
+   /* all other states need lowlevel support and need to be
+* valid to the lowlevel implementation, no valid callback
+* implies that all are valid. */
+   if (!pm_ops || (pm_ops-valid  !pm_ops-valid(state)))
return 0;
return 1;
 }
-- 
1.5.0.1

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/