aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/core/hub.c
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2006-11-22 09:57:56 -0500
committerDavid Howells <dhowells@redhat.com>2006-11-22 09:57:56 -0500
commitc4028958b6ecad064b1a6303a6a5906d4fe48d73 (patch)
tree1c4c89652c62a75da09f9b9442012007e4ac6250 /drivers/usb/core/hub.c
parent65f27f38446e1976cc98fd3004b110fedcddd189 (diff)
WorkStruct: make allyesconfig
Fix up for make allyesconfig. Signed-Off-By: David Howells <dhowells@redhat.com>
Diffstat (limited to 'drivers/usb/core/hub.c')
-rw-r--r--drivers/usb/core/hub.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index ba165aff9ea..ad0ffbe8f7d 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -167,9 +167,10 @@ static void set_port_led(
167 167
168#define LED_CYCLE_PERIOD ((2*HZ)/3) 168#define LED_CYCLE_PERIOD ((2*HZ)/3)
169 169
170static void led_work (void *__hub) 170static void led_work (struct work_struct *work)
171{ 171{
172 struct usb_hub *hub = __hub; 172 struct usb_hub *hub =
173 container_of(work, struct usb_hub, leds.work);
173 struct usb_device *hdev = hub->hdev; 174 struct usb_device *hdev = hub->hdev;
174 unsigned i; 175 unsigned i;
175 unsigned changed = 0; 176 unsigned changed = 0;
@@ -351,9 +352,10 @@ hub_clear_tt_buffer (struct usb_device *hdev, u16 devinfo, u16 tt)
351 * talking to TTs must queue control transfers (not just bulk and iso), so 352 * talking to TTs must queue control transfers (not just bulk and iso), so
352 * both can talk to the same hub concurrently. 353 * both can talk to the same hub concurrently.
353 */ 354 */
354static void hub_tt_kevent (void *arg) 355static void hub_tt_kevent (struct work_struct *work)
355{ 356{
356 struct usb_hub *hub = arg; 357 struct usb_hub *hub =
358 container_of(work, struct usb_hub, tt.kevent);
357 unsigned long flags; 359 unsigned long flags;
358 360
359 spin_lock_irqsave (&hub->tt.lock, flags); 361 spin_lock_irqsave (&hub->tt.lock, flags);
@@ -641,7 +643,7 @@ static int hub_configure(struct usb_hub *hub,
641 643
642 spin_lock_init (&hub->tt.lock); 644 spin_lock_init (&hub->tt.lock);
643 INIT_LIST_HEAD (&hub->tt.clear_list); 645 INIT_LIST_HEAD (&hub->tt.clear_list);
644 INIT_WORK (&hub->tt.kevent, hub_tt_kevent, hub); 646 INIT_WORK (&hub->tt.kevent, hub_tt_kevent);
645 switch (hdev->descriptor.bDeviceProtocol) { 647 switch (hdev->descriptor.bDeviceProtocol) {
646 case 0: 648 case 0:
647 break; 649 break;
@@ -880,7 +882,7 @@ descriptor_error:
880 INIT_LIST_HEAD(&hub->event_list); 882 INIT_LIST_HEAD(&hub->event_list);
881 hub->intfdev = &intf->dev; 883 hub->intfdev = &intf->dev;
882 hub->hdev = hdev; 884 hub->hdev = hdev;
883 INIT_WORK(&hub->leds, led_work, hub); 885 INIT_DELAYED_WORK(&hub->leds, led_work);
884 886
885 usb_set_intfdata (intf, hub); 887 usb_set_intfdata (intf, hub);
886 888
@@ -2281,7 +2283,7 @@ check_highspeed (struct usb_hub *hub, struct usb_device *udev, int port1)
2281 /* hub LEDs are probably harder to miss than syslog */ 2283 /* hub LEDs are probably harder to miss than syslog */
2282 if (hub->has_indicators) { 2284 if (hub->has_indicators) {
2283 hub->indicator[port1-1] = INDICATOR_GREEN_BLINK; 2285 hub->indicator[port1-1] = INDICATOR_GREEN_BLINK;
2284 schedule_work (&hub->leds); 2286 schedule_delayed_work (&hub->leds, 0);
2285 } 2287 }
2286 } 2288 }
2287 kfree(qual); 2289 kfree(qual);
@@ -2455,7 +2457,7 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1,
2455 if (hub->has_indicators) { 2457 if (hub->has_indicators) {
2456 hub->indicator[port1-1] = 2458 hub->indicator[port1-1] =
2457 INDICATOR_AMBER_BLINK; 2459 INDICATOR_AMBER_BLINK;
2458 schedule_work (&hub->leds); 2460 schedule_delayed_work (&hub->leds, 0);
2459 } 2461 }
2460 status = -ENOTCONN; /* Don't retry */ 2462 status = -ENOTCONN; /* Don't retry */
2461 goto loop_disable; 2463 goto loop_disable;