aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/core/hub.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/core/hub.c')
-rw-r--r--drivers/usb/core/hub.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index ff066edf4dc..fc99ef67761 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -1984,7 +1984,7 @@ static int check_port_resume_type(struct usb_device *udev,
1984 * 1984 *
1985 * Returns 0 on success, else negative errno. 1985 * Returns 0 on success, else negative errno.
1986 */ 1986 */
1987int usb_port_suspend(struct usb_device *udev) 1987int usb_port_suspend(struct usb_device *udev, pm_message_t msg)
1988{ 1988{
1989 struct usb_hub *hub = hdev_to_hub(udev->parent); 1989 struct usb_hub *hub = hdev_to_hub(udev->parent);
1990 int port1 = udev->portnum; 1990 int port1 = udev->portnum;
@@ -2023,7 +2023,7 @@ int usb_port_suspend(struct usb_device *udev)
2023 } else { 2023 } else {
2024 /* device has up to 10 msec to fully suspend */ 2024 /* device has up to 10 msec to fully suspend */
2025 dev_dbg(&udev->dev, "usb %ssuspend\n", 2025 dev_dbg(&udev->dev, "usb %ssuspend\n",
2026 udev->auto_pm ? "auto-" : ""); 2026 (msg.event & PM_EVENT_AUTO ? "auto-" : ""));
2027 usb_set_device_state(udev, USB_STATE_SUSPENDED); 2027 usb_set_device_state(udev, USB_STATE_SUSPENDED);
2028 msleep(10); 2028 msleep(10);
2029 } 2029 }
@@ -2142,7 +2142,7 @@ static int finish_port_resume(struct usb_device *udev)
2142 * 2142 *
2143 * Returns 0 on success, else negative errno. 2143 * Returns 0 on success, else negative errno.
2144 */ 2144 */
2145int usb_port_resume(struct usb_device *udev) 2145int usb_port_resume(struct usb_device *udev, pm_message_t msg)
2146{ 2146{
2147 struct usb_hub *hub = hdev_to_hub(udev->parent); 2147 struct usb_hub *hub = hdev_to_hub(udev->parent);
2148 int port1 = udev->portnum; 2148 int port1 = udev->portnum;
@@ -2167,7 +2167,7 @@ int usb_port_resume(struct usb_device *udev)
2167 } else { 2167 } else {
2168 /* drive resume for at least 20 msec */ 2168 /* drive resume for at least 20 msec */
2169 dev_dbg(&udev->dev, "usb %sresume\n", 2169 dev_dbg(&udev->dev, "usb %sresume\n",
2170 udev->auto_pm ? "auto-" : ""); 2170 (msg.event & PM_EVENT_AUTO ? "auto-" : ""));
2171 msleep(25); 2171 msleep(25);
2172 2172
2173 /* Virtual root hubs can trigger on GET_PORT_STATUS to 2173 /* Virtual root hubs can trigger on GET_PORT_STATUS to
@@ -2208,7 +2208,7 @@ static int remote_wakeup(struct usb_device *udev)
2208 if (udev->state == USB_STATE_SUSPENDED) { 2208 if (udev->state == USB_STATE_SUSPENDED) {
2209 dev_dbg(&udev->dev, "usb %sresume\n", "wakeup-"); 2209 dev_dbg(&udev->dev, "usb %sresume\n", "wakeup-");
2210 usb_mark_last_busy(udev); 2210 usb_mark_last_busy(udev);
2211 status = usb_external_resume_device(udev); 2211 status = usb_external_resume_device(udev, PMSG_REMOTE_RESUME);
2212 } 2212 }
2213 return status; 2213 return status;
2214} 2214}
@@ -2217,14 +2217,14 @@ static int remote_wakeup(struct usb_device *udev)
2217 2217
2218/* When CONFIG_USB_SUSPEND isn't set, we never suspend or resume any ports. */ 2218/* When CONFIG_USB_SUSPEND isn't set, we never suspend or resume any ports. */
2219 2219
2220int usb_port_suspend(struct usb_device *udev) 2220int usb_port_suspend(struct usb_device *udev, pm_message_t msg)
2221{ 2221{
2222 return 0; 2222 return 0;
2223} 2223}
2224 2224
2225/* However we may need to do a reset-resume */ 2225/* However we may need to do a reset-resume */
2226 2226
2227int usb_port_resume(struct usb_device *udev) 2227int usb_port_resume(struct usb_device *udev, pm_message_t msg)
2228{ 2228{
2229 struct usb_hub *hub = hdev_to_hub(udev->parent); 2229 struct usb_hub *hub = hdev_to_hub(udev->parent);
2230 int port1 = udev->portnum; 2230 int port1 = udev->portnum;
@@ -2264,7 +2264,7 @@ static int hub_suspend(struct usb_interface *intf, pm_message_t msg)
2264 2264
2265 udev = hdev->children [port1-1]; 2265 udev = hdev->children [port1-1];
2266 if (udev && udev->can_submit) { 2266 if (udev && udev->can_submit) {
2267 if (!hdev->auto_pm) 2267 if (!(msg.event & PM_EVENT_AUTO))
2268 dev_dbg(&intf->dev, "port %d nyet suspended\n", 2268 dev_dbg(&intf->dev, "port %d nyet suspended\n",
2269 port1); 2269 port1);
2270 return -EBUSY; 2270 return -EBUSY;