Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[sfrench/cifs-2.6.git] / drivers / usb / core / hub.c
index 2a8cb3c2b19ca51db6f6aa521cebaca9a84bd58c..ba165aff9ea44eb15f8f3e99d329d27ac326b50a 100644 (file)
@@ -291,7 +291,7 @@ void usb_kick_khubd(struct usb_device *hdev)
 
 
 /* completion function, fires on port status changes and various faults */
-static void hub_irq(struct urb *urb, struct pt_regs *regs)
+static void hub_irq(struct urb *urb)
 {
        struct usb_hub *hub = urb->context;
        int status;
@@ -1188,6 +1188,7 @@ static inline void show_string(struct usb_device *udev, char *id, char *string)
 
 #ifdef CONFIG_USB_OTG
 #include "otg_whitelist.h"
+static int __usb_port_suspend(struct usb_device *, int port1);
 #endif
 
 /**
@@ -1289,8 +1290,6 @@ int usb_new_device(struct usb_device *udev)
                 * (Includes HNP test device.)
                 */
                if (udev->bus->b_hnp_enable || udev->bus->is_b_host) {
-                       static int __usb_port_suspend(struct usb_device *,
-                                               int port1);
                        err = __usb_port_suspend(udev, udev->bus->otg_port);
                        if (err < 0)
                                dev_dbg(&udev->dev, "HNP fail, %d\n", err);
@@ -1779,7 +1778,7 @@ static int remote_wakeup(struct usb_device *udev)
         * to the parent hub! */
 
        usb_lock_device(udev);
-       mutex_lock_nested(&udev->pm_mutex, udev->level);
+       usb_pm_lock(udev);
        if (udev->state == USB_STATE_SUSPENDED) {
                dev_dbg(&udev->dev, "usb %sresume\n", "wakeup-");
                /* TRSMRCY = 10 msec */
@@ -1788,7 +1787,7 @@ static int remote_wakeup(struct usb_device *udev)
                if (status == 0)
                        udev->dev.power.power_state.event = PM_EVENT_ON;
        }
-       mutex_unlock(&udev->pm_mutex);
+       usb_pm_unlock(udev);
 
        if (status == 0)
                usb_autoresume_device(udev, 0);