Add a new PM_SYSFS_DEPRECATED config option to control whether or
not the /sys/devices/.../power/state files are provided.  This will
make it easier to get rid of that mechanism when the time comes,
and to verify that userspace tools work right without it.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
 #include "power.h"
 
 
+#ifdef CONFIG_PM_SYSFS_DEPRECATED
+
 /**
  *     state - Control current power state of device
  *
 static DEVICE_ATTR(state, 0644, state_show, state_store);
 
 
+#endif /* CONFIG_PM_SYSFS_DEPRECATED */
+
 /*
  *     wakeup - Report/change current wakeup option for device
  *
 
 
 static struct attribute * power_attrs[] = {
+#ifdef CONFIG_PM_SYSFS_DEPRECATED
        &dev_attr_state.attr,
+#endif
        &dev_attr_wakeup.attr,
        NULL,
 };
 
        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"