|
|
@@ -473,11 +473,6 @@ static int usb_unbind_interface(struct device *dev)
|
|
|
pm_runtime_disable(dev);
|
|
|
pm_runtime_set_suspended(dev);
|
|
|
|
|
|
- /* Undo any residual pm_autopm_get_interface_* calls */
|
|
|
- for (r = atomic_read(&intf->pm_usage_cnt); r > 0; --r)
|
|
|
- usb_autopm_put_interface_no_suspend(intf);
|
|
|
- atomic_set(&intf->pm_usage_cnt, 0);
|
|
|
-
|
|
|
if (!error)
|
|
|
usb_autosuspend_device(udev);
|
|
|
|
|
|
@@ -1636,7 +1631,6 @@ void usb_autopm_put_interface(struct usb_interface *intf)
|
|
|
int status;
|
|
|
|
|
|
usb_mark_last_busy(udev);
|
|
|
- atomic_dec(&intf->pm_usage_cnt);
|
|
|
status = pm_runtime_put_sync(&intf->dev);
|
|
|
dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n",
|
|
|
__func__, atomic_read(&intf->dev.power.usage_count),
|
|
|
@@ -1665,7 +1659,6 @@ void usb_autopm_put_interface_async(struct usb_interface *intf)
|
|
|
int status;
|
|
|
|
|
|
usb_mark_last_busy(udev);
|
|
|
- atomic_dec(&intf->pm_usage_cnt);
|
|
|
status = pm_runtime_put(&intf->dev);
|
|
|
dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n",
|
|
|
__func__, atomic_read(&intf->dev.power.usage_count),
|
|
|
@@ -1687,7 +1680,6 @@ void usb_autopm_put_interface_no_suspend(struct usb_interface *intf)
|
|
|
struct usb_device *udev = interface_to_usbdev(intf);
|
|
|
|
|
|
usb_mark_last_busy(udev);
|
|
|
- atomic_dec(&intf->pm_usage_cnt);
|
|
|
pm_runtime_put_noidle(&intf->dev);
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(usb_autopm_put_interface_no_suspend);
|
|
|
@@ -1718,8 +1710,6 @@ int usb_autopm_get_interface(struct usb_interface *intf)
|
|
|
status = pm_runtime_get_sync(&intf->dev);
|
|
|
if (status < 0)
|
|
|
pm_runtime_put_sync(&intf->dev);
|
|
|
- else
|
|
|
- atomic_inc(&intf->pm_usage_cnt);
|
|
|
dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n",
|
|
|
__func__, atomic_read(&intf->dev.power.usage_count),
|
|
|
status);
|
|
|
@@ -1753,8 +1743,6 @@ int usb_autopm_get_interface_async(struct usb_interface *intf)
|
|
|
status = pm_runtime_get(&intf->dev);
|
|
|
if (status < 0 && status != -EINPROGRESS)
|
|
|
pm_runtime_put_noidle(&intf->dev);
|
|
|
- else
|
|
|
- atomic_inc(&intf->pm_usage_cnt);
|
|
|
dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n",
|
|
|
__func__, atomic_read(&intf->dev.power.usage_count),
|
|
|
status);
|
|
|
@@ -1778,7 +1766,6 @@ void usb_autopm_get_interface_no_resume(struct usb_interface *intf)
|
|
|
struct usb_device *udev = interface_to_usbdev(intf);
|
|
|
|
|
|
usb_mark_last_busy(udev);
|
|
|
- atomic_inc(&intf->pm_usage_cnt);
|
|
|
pm_runtime_get_noresume(&intf->dev);
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(usb_autopm_get_interface_no_resume);
|