]> err.no Git - linux-2.6/commitdiff
[PATCH] USB: Code motion in the hub driver
authorAlan Stern <stern@rowland.harvard.edu>
Wed, 10 Aug 2005 21:04:13 +0000 (17:04 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 8 Sep 2005 23:28:19 +0000 (16:28 -0700)
This patch (as553) merely moves some code and deletes an unneeded test in
the hub driver.  This is in preparation for the patch that follows.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/core/hub.c

index a220a5e7f4a519d5946888c19d92c085685bb85e..4a4b41f2665af7d49a16fcf1e885d35f7c1778a9 100644 (file)
@@ -492,6 +492,23 @@ static int hub_hub_status(struct usb_hub *hub,
        return ret;
 }
 
+static int hub_port_disable(struct usb_hub *hub, int port1, int set_state)
+{
+       struct usb_device *hdev = hub->hdev;
+       int ret;
+
+       if (hdev->children[port1-1] && set_state) {
+               usb_set_device_state(hdev->children[port1-1],
+                               USB_STATE_NOTATTACHED);
+       }
+       ret = clear_port_feature(hdev, port1, USB_PORT_FEAT_ENABLE);
+       if (ret)
+               dev_err(hub->intfdev, "cannot disable port %d (err = %d)\n",
+                       port1, ret);
+
+       return ret;
+}
+
 static int hub_configure(struct usb_hub *hub,
        struct usb_endpoint_descriptor *endpoint)
 {
@@ -717,15 +734,12 @@ static void hub_disconnect(struct usb_interface *intf)
        struct usb_hub *hub = usb_get_intfdata (intf);
        struct usb_device *hdev;
 
-       if (!hub)
-               return;
+       usb_set_intfdata (intf, NULL);
        hdev = hub->hdev;
 
        if (hdev->speed == USB_SPEED_HIGH)
                highspeed_hubs--;
 
-       usb_set_intfdata (intf, NULL);
-
        hub_quiesce(hub);
        usb_free_urb(hub->urb);
        hub->urb = NULL;
@@ -1430,23 +1444,6 @@ static int hub_port_reset(struct usb_hub *hub, int port1,
        return status;
 }
 
-static int hub_port_disable(struct usb_hub *hub, int port1, int set_state)
-{
-       struct usb_device *hdev = hub->hdev;
-       int ret;
-
-       if (hdev->children[port1-1] && set_state) {
-               usb_set_device_state(hdev->children[port1-1],
-                               USB_STATE_NOTATTACHED);
-       }
-       ret = clear_port_feature(hdev, port1, USB_PORT_FEAT_ENABLE);
-       if (ret)
-               dev_err(hub->intfdev, "cannot disable port %d (err = %d)\n",
-                       port1, ret);
-
-       return ret;
-}
-
 /*
  * Disable a port and mark a logical connnect-change event, so that some
  * time later khubd will disconnect() any existing usb_device on the port