aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/core/hub.c
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2006-08-30 15:47:11 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2006-09-27 14:58:57 -0400
commit02c399ee45a54987c152fe5f627ed949bb55f187 (patch)
treeb4af9b47729985739815f62a2388e4afa2b49e03 /drivers/usb/core/hub.c
parent01d883d44a1ca8dc77486635d428cba63e7fdadf (diff)
usbcore: remove usb_suspend_root_hub
This patch (as740) removes the existing support for autosuspend of root hubs. That support fit in rather awkwardly with the rest of usbcore and it was used only by ohci-hcd. It won't be needed any more since the hub driver will take care of autosuspending all hubs, root or external. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/core/hub.c')
-rw-r--r--drivers/usb/core/hub.c18
1 files changed, 1 insertions, 17 deletions
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index dee812bc6c43..7479bd329abb 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -452,18 +452,14 @@ static void hub_power_on(struct usb_hub *hub)
452 msleep(max(pgood_delay, (unsigned) 100)); 452 msleep(max(pgood_delay, (unsigned) 100));
453} 453}
454 454
455static inline void __hub_quiesce(struct usb_hub *hub) 455static void hub_quiesce(struct usb_hub *hub)
456{ 456{
457 /* (nonblocking) khubd and related activity won't re-trigger */ 457 /* (nonblocking) khubd and related activity won't re-trigger */
458 hub->quiescing = 1; 458 hub->quiescing = 1;
459 hub->activating = 0; 459 hub->activating = 0;
460 hub->resume_root_hub = 0; 460 hub->resume_root_hub = 0;
461}
462 461
463static void hub_quiesce(struct usb_hub *hub)
464{
465 /* (blocking) stop khubd and related activity */ 462 /* (blocking) stop khubd and related activity */
466 __hub_quiesce(hub);
467 usb_kill_urb(hub->urb); 463 usb_kill_urb(hub->urb);
468 if (hub->has_indicators) 464 if (hub->has_indicators)
469 cancel_delayed_work(&hub->leds); 465 cancel_delayed_work(&hub->leds);
@@ -1914,18 +1910,6 @@ static inline int remote_wakeup(struct usb_device *udev)
1914#define hub_resume NULL 1910#define hub_resume NULL
1915#endif 1911#endif
1916 1912
1917void usb_suspend_root_hub(struct usb_device *hdev)
1918{
1919 struct usb_hub *hub = hdev_to_hub(hdev);
1920
1921 /* This also makes any led blinker stop retriggering. We're called
1922 * from irq, so the blinker might still be scheduled. Caller promises
1923 * that the root hub status URB will be canceled.
1924 */
1925 __hub_quiesce(hub);
1926 mark_quiesced(to_usb_interface(hub->intfdev));
1927}
1928
1929void usb_resume_root_hub(struct usb_device *hdev) 1913void usb_resume_root_hub(struct usb_device *hdev)
1930{ 1914{
1931 struct usb_hub *hub = hdev_to_hub(hdev); 1915 struct usb_hub *hub = hdev_to_hub(hdev);