PM: Remove deprecated sysfs files
This patch (as932) removes the deprecated sysfs .../power/state attribute files. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
60a96a5956
commit
471d055804
@@ -26,8 +26,7 @@ Who: Hans Verkuil <hverkuil@xs4all.nl> and
|
|||||||
|
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
What: /sys/devices/.../power/state
|
What: dev->power.power_state
|
||||||
dev->power.power_state
|
|
||||||
dpm_runtime_{suspend,resume)()
|
dpm_runtime_{suspend,resume)()
|
||||||
When: July 2007
|
When: July 2007
|
||||||
Why: Broken design for runtime control over driver power states, confusing
|
Why: Broken design for runtime control over driver power states, confusing
|
||||||
|
@@ -7,69 +7,6 @@
|
|||||||
#include "power.h"
|
#include "power.h"
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_PM_SYSFS_DEPRECATED
|
|
||||||
|
|
||||||
/**
|
|
||||||
* state - Control current power state of device
|
|
||||||
*
|
|
||||||
* show() returns the current power state of the device. '0' indicates
|
|
||||||
* the device is on. Other values (2) indicate the device is in some low
|
|
||||||
* power state.
|
|
||||||
*
|
|
||||||
* store() sets the current power state, which is an integer valued
|
|
||||||
* 0, 2, or 3. Devices with bus.suspend_late(), or bus.resume_early()
|
|
||||||
* methods fail this operation; those methods couldn't be called.
|
|
||||||
* Otherwise,
|
|
||||||
*
|
|
||||||
* - If the recorded dev->power.power_state.event matches the
|
|
||||||
* target value, nothing is done.
|
|
||||||
* - If the recorded event code is nonzero, the device is reactivated
|
|
||||||
* by calling bus.resume() and/or class.resume().
|
|
||||||
* - If the target value is nonzero, the device is suspended by
|
|
||||||
* calling class.suspend() and/or bus.suspend() with event code
|
|
||||||
* PM_EVENT_SUSPEND.
|
|
||||||
*
|
|
||||||
* This mechanism is DEPRECATED and should only be used for testing.
|
|
||||||
*/
|
|
||||||
|
|
||||||
static ssize_t state_show(struct device * dev, struct device_attribute *attr, char * buf)
|
|
||||||
{
|
|
||||||
if (dev->power.power_state.event)
|
|
||||||
return sprintf(buf, "2\n");
|
|
||||||
else
|
|
||||||
return sprintf(buf, "0\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
static ssize_t state_store(struct device * dev, struct device_attribute *attr, const char * buf, size_t n)
|
|
||||||
{
|
|
||||||
pm_message_t state;
|
|
||||||
int error = -EINVAL;
|
|
||||||
|
|
||||||
/* disallow incomplete suspend sequences */
|
|
||||||
if (dev->bus && (dev->bus->suspend_late || dev->bus->resume_early))
|
|
||||||
return error;
|
|
||||||
|
|
||||||
state.event = PM_EVENT_SUSPEND;
|
|
||||||
/* Older apps expected to write "3" here - confused with PCI D3 */
|
|
||||||
if ((n == 1) && !strcmp(buf, "3"))
|
|
||||||
error = dpm_runtime_suspend(dev, state);
|
|
||||||
|
|
||||||
if ((n == 1) && !strcmp(buf, "2"))
|
|
||||||
error = dpm_runtime_suspend(dev, state);
|
|
||||||
|
|
||||||
if ((n == 1) && !strcmp(buf, "0")) {
|
|
||||||
dpm_runtime_resume(dev);
|
|
||||||
error = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return error ? error : n;
|
|
||||||
}
|
|
||||||
|
|
||||||
static DEVICE_ATTR(state, 0644, state_show, state_store);
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* CONFIG_PM_SYSFS_DEPRECATED */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* wakeup - Report/change current wakeup option for device
|
* wakeup - Report/change current wakeup option for device
|
||||||
*
|
*
|
||||||
@@ -143,9 +80,6 @@ static DEVICE_ATTR(wakeup, 0644, wake_show, wake_store);
|
|||||||
|
|
||||||
|
|
||||||
static struct attribute * power_attrs[] = {
|
static struct attribute * power_attrs[] = {
|
||||||
#ifdef CONFIG_PM_SYSFS_DEPRECATED
|
|
||||||
&dev_attr_state.attr,
|
|
||||||
#endif
|
|
||||||
&dev_attr_wakeup.attr,
|
&dev_attr_wakeup.attr,
|
||||||
NULL,
|
NULL,
|
||||||
};
|
};
|
||||||
|
@@ -65,18 +65,6 @@ config PM_TRACE
|
|||||||
CAUTION: this option will cause your machine's real-time clock to be
|
CAUTION: this option will cause your machine's real-time clock to be
|
||||||
set to an invalid time after a resume.
|
set to an invalid time after a resume.
|
||||||
|
|
||||||
config PM_SYSFS_DEPRECATED
|
|
||||||
bool "Driver model /sys/devices/.../power/state files (DEPRECATED)"
|
|
||||||
depends on PM && SYSFS
|
|
||||||
default n
|
|
||||||
help
|
|
||||||
The driver model started out with a sysfs file intended to provide
|
|
||||||
a userspace hook for device power management. This feature has never
|
|
||||||
worked very well, except for limited testing purposes, and so it will
|
|
||||||
be removed. It's not clear that a generic mechanism could really
|
|
||||||
handle the wide variability of device power states; any replacements
|
|
||||||
are likely to be bus or driver specific.
|
|
||||||
|
|
||||||
config SOFTWARE_SUSPEND
|
config SOFTWARE_SUSPEND
|
||||||
bool "Software Suspend (Hibernation)"
|
bool "Software Suspend (Hibernation)"
|
||||||
depends on PM && SWAP && (((X86 || PPC64_SWSUSP) && (!SMP || SUSPEND_SMP)) || ((FRV || PPC32) && !SMP))
|
depends on PM && SWAP && (((X86 || PPC64_SWSUSP) && (!SMP || SUSPEND_SMP)) || ((FRV || PPC32) && !SMP))
|
||||||
|
Reference in New Issue
Block a user