USB: prepare for changover to Runtime PM framework
[safe/jmp/linux-2.6] / drivers / usb / core / sysfs.c
index ae76397..1547700 100644 (file)
@@ -327,7 +327,6 @@ static DEVICE_ATTR(autosuspend, S_IRUGO | S_IWUSR,
 
 static const char on_string[] = "on";
 static const char auto_string[] = "auto";
-static const char suspend_string[] = "suspend";
 
 static ssize_t
 show_level(struct device *dev, struct device_attribute *attr, char *buf)
@@ -335,13 +334,8 @@ show_level(struct device *dev, struct device_attribute *attr, char *buf)
        struct usb_device *udev = to_usb_device(dev);
        const char *p = auto_string;
 
-       if (udev->state == USB_STATE_SUSPENDED) {
-               if (udev->autoresume_disabled)
-                       p = suspend_string;
-       } else {
-               if (udev->autosuspend_disabled)
-                       p = on_string;
-       }
+       if (udev->state != USB_STATE_SUSPENDED && udev->autosuspend_disabled)
+               p = on_string;
        return sprintf(buf, "%s\n", p);
 }
 
@@ -353,7 +347,7 @@ set_level(struct device *dev, struct device_attribute *attr,
        int len = count;
        char *cp;
        int rc = 0;
-       int old_autosuspend_disabled, old_autoresume_disabled;
+       int old_autosuspend_disabled;
 
        cp = memchr(buf, '\n', count);
        if (cp)
@@ -361,7 +355,6 @@ set_level(struct device *dev, struct device_attribute *attr,
 
        usb_lock_device(udev);
        old_autosuspend_disabled = udev->autosuspend_disabled;
-       old_autoresume_disabled = udev->autoresume_disabled;
 
        /* Setting the flags without calling usb_pm_lock is a subject to
         * races, but who cares...
@@ -369,28 +362,18 @@ set_level(struct device *dev, struct device_attribute *attr,
        if (len == sizeof on_string - 1 &&
                        strncmp(buf, on_string, len) == 0) {
                udev->autosuspend_disabled = 1;
-               udev->autoresume_disabled = 0;
                rc = usb_external_resume_device(udev, PMSG_USER_RESUME);
 
        } else if (len == sizeof auto_string - 1 &&
                        strncmp(buf, auto_string, len) == 0) {
                udev->autosuspend_disabled = 0;
-               udev->autoresume_disabled = 0;
                rc = usb_external_resume_device(udev, PMSG_USER_RESUME);
 
-       } else if (len == sizeof suspend_string - 1 &&
-                       strncmp(buf, suspend_string, len) == 0) {
-               udev->autosuspend_disabled = 0;
-               udev->autoresume_disabled = 1;
-               rc = usb_external_suspend_device(udev, PMSG_USER_SUSPEND);
-
        } else
                rc = -EINVAL;
 
-       if (rc) {
+       if (rc)
                udev->autosuspend_disabled = old_autosuspend_disabled;
-               udev->autoresume_disabled = old_autoresume_disabled;
-       }
        usb_unlock_device(udev);
        return (rc < 0 ? rc : count);
 }