This is a note to let you know that I've just added the patch titled Subject: PM: Remove deprecated sysfs files to my gregkh-2.6 tree. Its filename is pm-remove-deprecated-sysfs-files.patch This tree can be found at http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/patches/ >From linux-pm-bounces@xxxxxxxxxxxxxxxxxxxxxxxxxx Thu Jul 12 13:59:38 2007 From: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Thu, 12 Jul 2007 16:55:07 -0400 (EDT) Subject: PM: Remove deprecated sysfs files To: Pavel Machek <pavel@xxxxxx>, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linux-pm mailing list <linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx>, linux-pcmcia@xxxxxxxxxxxxxxxxxxx, Dominik Brodowski <linux@xxxxxxxxxxxxxxxxxxxx> Message-ID: <Pine.LNX.4.44L0.0707121653440.2567-100000@xxxxxxxxxxxxxxxxxxxx> This patch (as932) removes the deprecated sysfs .../power/state attribute files. Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> --- Documentation/feature-removal-schedule.txt | 3 - drivers/base/power/sysfs.c | 66 ----------------------------- kernel/power/Kconfig | 12 ----- 3 files changed, 1 insertion(+), 80 deletions(-) --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt @@ -26,8 +26,7 @@ Who: Hans Verkuil <hverkuil@xxxxxxxxx> a --------------------------- -What: /sys/devices/.../power/state - dev->power.power_state +What: dev->power.power_state dpm_runtime_{suspend,resume)() When: July 2007 Why: Broken design for runtime control over driver power states, confusing --- a/drivers/base/power/sysfs.c +++ b/drivers/base/power/sysfs.c @@ -7,69 +7,6 @@ #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 * @@ -143,9 +80,6 @@ static DEVICE_ATTR(wakeup, 0644, wake_sh static struct attribute * power_attrs[] = { -#ifdef CONFIG_PM_SYSFS_DEPRECATED - &dev_attr_state.attr, -#endif &dev_attr_wakeup.attr, NULL, }; --- a/kernel/power/Kconfig +++ b/kernel/power/Kconfig @@ -65,18 +65,6 @@ config PM_TRACE CAUTION: this option will cause your machine's real-time clock to be 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 bool "Software Suspend (Hibernation)" depends on PM && SWAP && (((X86 || PPC64_SWSUSP) && (!SMP || SUSPEND_SMP)) || ((FRV || PPC32) && !SMP)) Patches currently in gregkh-2.6 which might be from stern@xxxxxxxxxxxxxxxxxxx are driver/pm-remove-deprecated-sysfs-files.patch driver/pm-remove-deprecated-dpm_runtime_-routines.patch usb/usb-add-descriptors-binary-sysfs-attribute.patch usb/usb-documentation-update-for-usb_unlink_urb.patch usb/usb-fix-warning-caused-by-autosuspend-counter-going-negative.patch usb/uhci-short-control-urbs-get-a-status-stage.patch usb/isp116x-hcd-prepare-for-urb-status.patch _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm