Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c372d06 authored by Johannes Berg's avatar Johannes Berg Committed by Greg Kroah-Hartman
Browse files

power management: no valid states w/o pm_ops



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: default avatarJohannes Berg <johannes@sipsolutions.net>
Cc: "Randy.Dunlap" <rdunlap@xenotime.net>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Pavel Macheck <pavel@ucw.cz>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent dfe461ae
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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;
}