diff options
author | David Howells <dhowells@redhat.com> | 2006-11-22 09:57:56 -0500 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2006-11-22 09:57:56 -0500 |
commit | c4028958b6ecad064b1a6303a6a5906d4fe48d73 (patch) | |
tree | 1c4c89652c62a75da09f9b9442012007e4ac6250 /net | |
parent | 65f27f38446e1976cc98fd3004b110fedcddd189 (diff) |
WorkStruct: make allyesconfig
Fix up for make allyesconfig.
Signed-Off-By: David Howells <dhowells@redhat.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/atm/lec.c | 9 | ||||
-rw-r--r-- | net/atm/lec.h | 2 | ||||
-rw-r--r-- | net/bluetooth/hci_sysfs.c | 12 | ||||
-rw-r--r-- | net/bridge/br_if.c | 10 | ||||
-rw-r--r-- | net/bridge/br_private.h | 2 | ||||
-rw-r--r-- | net/core/netpoll.c | 4 | ||||
-rw-r--r-- | net/dccp/minisocks.c | 3 | ||||
-rw-r--r-- | net/ieee80211/softmac/ieee80211softmac_assoc.c | 18 | ||||
-rw-r--r-- | net/ieee80211/softmac/ieee80211softmac_auth.c | 23 | ||||
-rw-r--r-- | net/ieee80211/softmac/ieee80211softmac_event.c | 12 | ||||
-rw-r--r-- | net/ieee80211/softmac/ieee80211softmac_module.c | 4 | ||||
-rw-r--r-- | net/ieee80211/softmac/ieee80211softmac_priv.h | 13 | ||||
-rw-r--r-- | net/ieee80211/softmac/ieee80211softmac_scan.c | 13 | ||||
-rw-r--r-- | net/ieee80211/softmac/ieee80211softmac_wx.c | 6 | ||||
-rw-r--r-- | net/ipv4/ipvs/ip_vs_ctl.c | 6 | ||||
-rw-r--r-- | net/irda/ircomm/ircomm_tty.c | 11 | ||||
-rw-r--r-- | net/sctp/associola.c | 11 | ||||
-rw-r--r-- | net/sctp/endpointola.c | 10 | ||||
-rw-r--r-- | net/sctp/inqueue.c | 9 | ||||
-rw-r--r-- | net/xfrm/xfrm_policy.c | 8 | ||||
-rw-r--r-- | net/xfrm/xfrm_state.c | 8 |
21 files changed, 107 insertions, 87 deletions
diff --git a/net/atm/lec.c b/net/atm/lec.c index 66c57c1091a8..e801fff69dc0 100644 --- a/net/atm/lec.c +++ b/net/atm/lec.c | |||
@@ -1458,7 +1458,7 @@ static void lane2_associate_ind(struct net_device *dev, u8 *mac_addr, | |||
1458 | 1458 | ||
1459 | #define LEC_ARP_REFRESH_INTERVAL (3*HZ) | 1459 | #define LEC_ARP_REFRESH_INTERVAL (3*HZ) |
1460 | 1460 | ||
1461 | static void lec_arp_check_expire(void *data); | 1461 | static void lec_arp_check_expire(struct work_struct *work); |
1462 | static void lec_arp_expire_arp(unsigned long data); | 1462 | static void lec_arp_expire_arp(unsigned long data); |
1463 | 1463 | ||
1464 | /* | 1464 | /* |
@@ -1481,7 +1481,7 @@ static void lec_arp_init(struct lec_priv *priv) | |||
1481 | INIT_HLIST_HEAD(&priv->lec_no_forward); | 1481 | INIT_HLIST_HEAD(&priv->lec_no_forward); |
1482 | INIT_HLIST_HEAD(&priv->mcast_fwds); | 1482 | INIT_HLIST_HEAD(&priv->mcast_fwds); |
1483 | spin_lock_init(&priv->lec_arp_lock); | 1483 | spin_lock_init(&priv->lec_arp_lock); |
1484 | INIT_WORK(&priv->lec_arp_work, lec_arp_check_expire, priv); | 1484 | INIT_DELAYED_WORK(&priv->lec_arp_work, lec_arp_check_expire); |
1485 | schedule_delayed_work(&priv->lec_arp_work, LEC_ARP_REFRESH_INTERVAL); | 1485 | schedule_delayed_work(&priv->lec_arp_work, LEC_ARP_REFRESH_INTERVAL); |
1486 | } | 1486 | } |
1487 | 1487 | ||
@@ -1879,10 +1879,11 @@ static void lec_arp_expire_vcc(unsigned long data) | |||
1879 | * to ESI_FORWARD_DIRECT. This causes the flush period to end | 1879 | * to ESI_FORWARD_DIRECT. This causes the flush period to end |
1880 | * regardless of the progress of the flush protocol. | 1880 | * regardless of the progress of the flush protocol. |
1881 | */ | 1881 | */ |
1882 | static void lec_arp_check_expire(void *data) | 1882 | static void lec_arp_check_expire(struct work_struct *work) |
1883 | { | 1883 | { |
1884 | unsigned long flags; | 1884 | unsigned long flags; |
1885 | struct lec_priv *priv = data; | 1885 | struct lec_priv *priv = |
1886 | container_of(work, struct lec_priv, lec_arp_work.work); | ||
1886 | struct hlist_node *node, *next; | 1887 | struct hlist_node *node, *next; |
1887 | struct lec_arp_table *entry; | 1888 | struct lec_arp_table *entry; |
1888 | unsigned long now; | 1889 | unsigned long now; |
diff --git a/net/atm/lec.h b/net/atm/lec.h index 877f50939696..984e8e6e083a 100644 --- a/net/atm/lec.h +++ b/net/atm/lec.h | |||
@@ -92,7 +92,7 @@ struct lec_priv { | |||
92 | spinlock_t lec_arp_lock; | 92 | spinlock_t lec_arp_lock; |
93 | struct atm_vcc *mcast_vcc; /* Default Multicast Send VCC */ | 93 | struct atm_vcc *mcast_vcc; /* Default Multicast Send VCC */ |
94 | struct atm_vcc *lecd; | 94 | struct atm_vcc *lecd; |
95 | struct work_struct lec_arp_work; /* C10 */ | 95 | struct delayed_work lec_arp_work; /* C10 */ |
96 | unsigned int maximum_unknown_frame_count; | 96 | unsigned int maximum_unknown_frame_count; |
97 | /* | 97 | /* |
98 | * Within the period of time defined by this variable, the client will send | 98 | * Within the period of time defined by this variable, the client will send |
diff --git a/net/bluetooth/hci_sysfs.c b/net/bluetooth/hci_sysfs.c index 3eeeb7a86e75..d4c935692ccf 100644 --- a/net/bluetooth/hci_sysfs.c +++ b/net/bluetooth/hci_sysfs.c | |||
@@ -237,9 +237,9 @@ static void bt_release(struct device *dev) | |||
237 | kfree(data); | 237 | kfree(data); |
238 | } | 238 | } |
239 | 239 | ||
240 | static void add_conn(void *data) | 240 | static void add_conn(struct work_struct *work) |
241 | { | 241 | { |
242 | struct hci_conn *conn = data; | 242 | struct hci_conn *conn = container_of(work, struct hci_conn, work); |
243 | int i; | 243 | int i; |
244 | 244 | ||
245 | if (device_register(&conn->dev) < 0) { | 245 | if (device_register(&conn->dev) < 0) { |
@@ -272,14 +272,14 @@ void hci_conn_add_sysfs(struct hci_conn *conn) | |||
272 | 272 | ||
273 | dev_set_drvdata(&conn->dev, conn); | 273 | dev_set_drvdata(&conn->dev, conn); |
274 | 274 | ||
275 | INIT_WORK(&conn->work, add_conn, (void *) conn); | 275 | INIT_WORK(&conn->work, add_conn); |
276 | 276 | ||
277 | schedule_work(&conn->work); | 277 | schedule_work(&conn->work); |
278 | } | 278 | } |
279 | 279 | ||
280 | static void del_conn(void *data) | 280 | static void del_conn(struct work_struct *work) |
281 | { | 281 | { |
282 | struct hci_conn *conn = data; | 282 | struct hci_conn *conn = container_of(work, struct hci_conn, work); |
283 | device_del(&conn->dev); | 283 | device_del(&conn->dev); |
284 | } | 284 | } |
285 | 285 | ||
@@ -287,7 +287,7 @@ void hci_conn_del_sysfs(struct hci_conn *conn) | |||
287 | { | 287 | { |
288 | BT_DBG("conn %p", conn); | 288 | BT_DBG("conn %p", conn); |
289 | 289 | ||
290 | INIT_WORK(&conn->work, del_conn, (void *) conn); | 290 | INIT_WORK(&conn->work, del_conn); |
291 | 291 | ||
292 | schedule_work(&conn->work); | 292 | schedule_work(&conn->work); |
293 | } | 293 | } |
diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c index f753c40c11d2..55bb2634c088 100644 --- a/net/bridge/br_if.c +++ b/net/bridge/br_if.c | |||
@@ -77,12 +77,16 @@ static int port_cost(struct net_device *dev) | |||
77 | * Called from work queue to allow for calling functions that | 77 | * Called from work queue to allow for calling functions that |
78 | * might sleep (such as speed check), and to debounce. | 78 | * might sleep (such as speed check), and to debounce. |
79 | */ | 79 | */ |
80 | static void port_carrier_check(void *arg) | 80 | static void port_carrier_check(struct work_struct *work) |
81 | { | 81 | { |
82 | struct net_device *dev = arg; | ||
83 | struct net_bridge_port *p; | 82 | struct net_bridge_port *p; |
83 | struct net_device *dev; | ||
84 | struct net_bridge *br; | 84 | struct net_bridge *br; |
85 | 85 | ||
86 | dev = container_of(work, struct net_bridge_port, | ||
87 | carrier_check.work)->dev; | ||
88 | work_release(work); | ||
89 | |||
86 | rtnl_lock(); | 90 | rtnl_lock(); |
87 | p = dev->br_port; | 91 | p = dev->br_port; |
88 | if (!p) | 92 | if (!p) |
@@ -276,7 +280,7 @@ static struct net_bridge_port *new_nbp(struct net_bridge *br, | |||
276 | p->port_no = index; | 280 | p->port_no = index; |
277 | br_init_port(p); | 281 | br_init_port(p); |
278 | p->state = BR_STATE_DISABLED; | 282 | p->state = BR_STATE_DISABLED; |
279 | INIT_WORK(&p->carrier_check, port_carrier_check, dev); | 283 | INIT_DELAYED_WORK_NAR(&p->carrier_check, port_carrier_check); |
280 | br_stp_port_timer_init(p); | 284 | br_stp_port_timer_init(p); |
281 | 285 | ||
282 | kobject_init(&p->kobj); | 286 | kobject_init(&p->kobj); |
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h index 74258d86f256..3a534e94c7f3 100644 --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h | |||
@@ -82,7 +82,7 @@ struct net_bridge_port | |||
82 | struct timer_list hold_timer; | 82 | struct timer_list hold_timer; |
83 | struct timer_list message_age_timer; | 83 | struct timer_list message_age_timer; |
84 | struct kobject kobj; | 84 | struct kobject kobj; |
85 | struct work_struct carrier_check; | 85 | struct delayed_work carrier_check; |
86 | struct rcu_head rcu; | 86 | struct rcu_head rcu; |
87 | }; | 87 | }; |
88 | 88 | ||
diff --git a/net/core/netpoll.c b/net/core/netpoll.c index 6589adb14cbf..63f24c914ddb 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c | |||
@@ -56,7 +56,7 @@ static atomic_t trapped; | |||
56 | static void zap_completion_queue(void); | 56 | static void zap_completion_queue(void); |
57 | static void arp_reply(struct sk_buff *skb); | 57 | static void arp_reply(struct sk_buff *skb); |
58 | 58 | ||
59 | static void queue_process(void *p) | 59 | static void queue_process(struct work_struct *work) |
60 | { | 60 | { |
61 | unsigned long flags; | 61 | unsigned long flags; |
62 | struct sk_buff *skb; | 62 | struct sk_buff *skb; |
@@ -77,7 +77,7 @@ static void queue_process(void *p) | |||
77 | } | 77 | } |
78 | } | 78 | } |
79 | 79 | ||
80 | static DECLARE_WORK(send_queue, queue_process, NULL); | 80 | static DECLARE_WORK(send_queue, queue_process); |
81 | 81 | ||
82 | void netpoll_queue(struct sk_buff *skb) | 82 | void netpoll_queue(struct sk_buff *skb) |
83 | { | 83 | { |
diff --git a/net/dccp/minisocks.c b/net/dccp/minisocks.c index 9045438d6b36..36db5be2a9e9 100644 --- a/net/dccp/minisocks.c +++ b/net/dccp/minisocks.c | |||
@@ -31,8 +31,7 @@ struct inet_timewait_death_row dccp_death_row = { | |||
31 | .tw_timer = TIMER_INITIALIZER(inet_twdr_hangman, 0, | 31 | .tw_timer = TIMER_INITIALIZER(inet_twdr_hangman, 0, |
32 | (unsigned long)&dccp_death_row), | 32 | (unsigned long)&dccp_death_row), |
33 | .twkill_work = __WORK_INITIALIZER(dccp_death_row.twkill_work, | 33 | .twkill_work = __WORK_INITIALIZER(dccp_death_row.twkill_work, |
34 | inet_twdr_twkill_work, | 34 | inet_twdr_twkill_work), |
35 | &dccp_death_row), | ||
36 | /* Short-time timewait calendar */ | 35 | /* Short-time timewait calendar */ |
37 | 36 | ||
38 | .twcal_hand = -1, | 37 | .twcal_hand = -1, |
diff --git a/net/ieee80211/softmac/ieee80211softmac_assoc.c b/net/ieee80211/softmac/ieee80211softmac_assoc.c index cf51c87a971d..08386c102954 100644 --- a/net/ieee80211/softmac/ieee80211softmac_assoc.c +++ b/net/ieee80211/softmac/ieee80211softmac_assoc.c | |||
@@ -58,9 +58,11 @@ ieee80211softmac_assoc(struct ieee80211softmac_device *mac, struct ieee80211soft | |||
58 | } | 58 | } |
59 | 59 | ||
60 | void | 60 | void |
61 | ieee80211softmac_assoc_timeout(void *d) | 61 | ieee80211softmac_assoc_timeout(struct work_struct *work) |
62 | { | 62 | { |
63 | struct ieee80211softmac_device *mac = (struct ieee80211softmac_device *)d; | 63 | struct ieee80211softmac_device *mac = |
64 | container_of(work, struct ieee80211softmac_device, | ||
65 | associnfo.timeout.work); | ||
64 | struct ieee80211softmac_network *n; | 66 | struct ieee80211softmac_network *n; |
65 | 67 | ||
66 | mutex_lock(&mac->associnfo.mutex); | 68 | mutex_lock(&mac->associnfo.mutex); |
@@ -186,9 +188,11 @@ ieee80211softmac_assoc_notify_auth(struct net_device *dev, int event_type, void | |||
186 | 188 | ||
187 | /* This function is called to handle userspace requests (asynchronously) */ | 189 | /* This function is called to handle userspace requests (asynchronously) */ |
188 | void | 190 | void |
189 | ieee80211softmac_assoc_work(void *d) | 191 | ieee80211softmac_assoc_work(struct work_struct *work) |
190 | { | 192 | { |
191 | struct ieee80211softmac_device *mac = (struct ieee80211softmac_device *)d; | 193 | struct ieee80211softmac_device *mac = |
194 | container_of(work, struct ieee80211softmac_device, | ||
195 | associnfo.work.work); | ||
192 | struct ieee80211softmac_network *found = NULL; | 196 | struct ieee80211softmac_network *found = NULL; |
193 | struct ieee80211_network *net = NULL, *best = NULL; | 197 | struct ieee80211_network *net = NULL, *best = NULL; |
194 | int bssvalid; | 198 | int bssvalid; |
@@ -412,7 +416,7 @@ ieee80211softmac_handle_assoc_response(struct net_device * dev, | |||
412 | network->authenticated = 0; | 416 | network->authenticated = 0; |
413 | /* we don't want to do this more than once ... */ | 417 | /* we don't want to do this more than once ... */ |
414 | network->auth_desynced_once = 1; | 418 | network->auth_desynced_once = 1; |
415 | schedule_work(&mac->associnfo.work); | 419 | schedule_delayed_work(&mac->associnfo.work, 0); |
416 | break; | 420 | break; |
417 | } | 421 | } |
418 | default: | 422 | default: |
@@ -446,7 +450,7 @@ ieee80211softmac_handle_disassoc(struct net_device * dev, | |||
446 | ieee80211softmac_disassoc(mac); | 450 | ieee80211softmac_disassoc(mac); |
447 | 451 | ||
448 | /* try to reassociate */ | 452 | /* try to reassociate */ |
449 | schedule_work(&mac->associnfo.work); | 453 | schedule_delayed_work(&mac->associnfo.work, 0); |
450 | 454 | ||
451 | return 0; | 455 | return 0; |
452 | } | 456 | } |
@@ -466,7 +470,7 @@ ieee80211softmac_handle_reassoc_req(struct net_device * dev, | |||
466 | dprintkl(KERN_INFO PFX "reassoc request from unknown network\n"); | 470 | dprintkl(KERN_INFO PFX "reassoc request from unknown network\n"); |
467 | return 0; | 471 | return 0; |
468 | } | 472 | } |
469 | schedule_work(&mac->associnfo.work); | 473 | schedule_delayed_work(&mac->associnfo.work, 0); |
470 | 474 | ||
471 | return 0; | 475 | return 0; |
472 | } | 476 | } |
diff --git a/net/ieee80211/softmac/ieee80211softmac_auth.c b/net/ieee80211/softmac/ieee80211softmac_auth.c index 4cef39e171d0..2ae1833b657a 100644 --- a/net/ieee80211/softmac/ieee80211softmac_auth.c +++ b/net/ieee80211/softmac/ieee80211softmac_auth.c | |||
@@ -26,7 +26,7 @@ | |||
26 | 26 | ||
27 | #include "ieee80211softmac_priv.h" | 27 | #include "ieee80211softmac_priv.h" |
28 | 28 | ||
29 | static void ieee80211softmac_auth_queue(void *data); | 29 | static void ieee80211softmac_auth_queue(struct work_struct *work); |
30 | 30 | ||
31 | /* Queues an auth request to the desired AP */ | 31 | /* Queues an auth request to the desired AP */ |
32 | int | 32 | int |
@@ -54,14 +54,14 @@ ieee80211softmac_auth_req(struct ieee80211softmac_device *mac, | |||
54 | auth->mac = mac; | 54 | auth->mac = mac; |
55 | auth->retry = IEEE80211SOFTMAC_AUTH_RETRY_LIMIT; | 55 | auth->retry = IEEE80211SOFTMAC_AUTH_RETRY_LIMIT; |
56 | auth->state = IEEE80211SOFTMAC_AUTH_OPEN_REQUEST; | 56 | auth->state = IEEE80211SOFTMAC_AUTH_OPEN_REQUEST; |
57 | INIT_WORK(&auth->work, &ieee80211softmac_auth_queue, (void *)auth); | 57 | INIT_DELAYED_WORK(&auth->work, ieee80211softmac_auth_queue); |
58 | 58 | ||
59 | /* Lock (for list) */ | 59 | /* Lock (for list) */ |
60 | spin_lock_irqsave(&mac->lock, flags); | 60 | spin_lock_irqsave(&mac->lock, flags); |
61 | 61 | ||
62 | /* add to list */ | 62 | /* add to list */ |
63 | list_add_tail(&auth->list, &mac->auth_queue); | 63 | list_add_tail(&auth->list, &mac->auth_queue); |
64 | schedule_work(&auth->work); | 64 | schedule_delayed_work(&auth->work, 0); |
65 | spin_unlock_irqrestore(&mac->lock, flags); | 65 | spin_unlock_irqrestore(&mac->lock, flags); |
66 | 66 | ||
67 | return 0; | 67 | return 0; |
@@ -70,14 +70,15 @@ ieee80211softmac_auth_req(struct ieee80211softmac_device *mac, | |||
70 | 70 | ||
71 | /* Sends an auth request to the desired AP and handles timeouts */ | 71 | /* Sends an auth request to the desired AP and handles timeouts */ |
72 | static void | 72 | static void |
73 | ieee80211softmac_auth_queue(void *data) | 73 | ieee80211softmac_auth_queue(struct work_struct *work) |
74 | { | 74 | { |
75 | struct ieee80211softmac_device *mac; | 75 | struct ieee80211softmac_device *mac; |
76 | struct ieee80211softmac_auth_queue_item *auth; | 76 | struct ieee80211softmac_auth_queue_item *auth; |
77 | struct ieee80211softmac_network *net; | 77 | struct ieee80211softmac_network *net; |
78 | unsigned long flags; | 78 | unsigned long flags; |
79 | 79 | ||
80 | auth = (struct ieee80211softmac_auth_queue_item *)data; | 80 | auth = container_of(work, struct ieee80211softmac_auth_queue_item, |
81 | work.work); | ||
81 | net = auth->net; | 82 | net = auth->net; |
82 | mac = auth->mac; | 83 | mac = auth->mac; |
83 | 84 | ||
@@ -118,9 +119,11 @@ ieee80211softmac_auth_queue(void *data) | |||
118 | 119 | ||
119 | /* Sends a response to an auth challenge (for shared key auth). */ | 120 | /* Sends a response to an auth challenge (for shared key auth). */ |
120 | static void | 121 | static void |
121 | ieee80211softmac_auth_challenge_response(void *_aq) | 122 | ieee80211softmac_auth_challenge_response(struct work_struct *work) |
122 | { | 123 | { |
123 | struct ieee80211softmac_auth_queue_item *aq = _aq; | 124 | struct ieee80211softmac_auth_queue_item *aq = |
125 | container_of(work, struct ieee80211softmac_auth_queue_item, | ||
126 | work.work); | ||
124 | 127 | ||
125 | /* Send our response */ | 128 | /* Send our response */ |
126 | ieee80211softmac_send_mgt_frame(aq->mac, aq->net, IEEE80211_STYPE_AUTH, aq->state); | 129 | ieee80211softmac_send_mgt_frame(aq->mac, aq->net, IEEE80211_STYPE_AUTH, aq->state); |
@@ -228,8 +231,8 @@ ieee80211softmac_auth_resp(struct net_device *dev, struct ieee80211_auth *auth) | |||
228 | * we have obviously already sent the initial auth | 231 | * we have obviously already sent the initial auth |
229 | * request. */ | 232 | * request. */ |
230 | cancel_delayed_work(&aq->work); | 233 | cancel_delayed_work(&aq->work); |
231 | INIT_WORK(&aq->work, &ieee80211softmac_auth_challenge_response, (void *)aq); | 234 | INIT_DELAYED_WORK(&aq->work, &ieee80211softmac_auth_challenge_response); |
232 | schedule_work(&aq->work); | 235 | schedule_delayed_work(&aq->work, 0); |
233 | spin_unlock_irqrestore(&mac->lock, flags); | 236 | spin_unlock_irqrestore(&mac->lock, flags); |
234 | return 0; | 237 | return 0; |
235 | case IEEE80211SOFTMAC_AUTH_SHARED_PASS: | 238 | case IEEE80211SOFTMAC_AUTH_SHARED_PASS: |
@@ -392,6 +395,6 @@ ieee80211softmac_deauth_resp(struct net_device *dev, struct ieee80211_deauth *de | |||
392 | ieee80211softmac_deauth_from_net(mac, net); | 395 | ieee80211softmac_deauth_from_net(mac, net); |
393 | 396 | ||
394 | /* let's try to re-associate */ | 397 | /* let's try to re-associate */ |
395 | schedule_work(&mac->associnfo.work); | 398 | schedule_delayed_work(&mac->associnfo.work, 0); |
396 | return 0; | 399 | return 0; |
397 | } | 400 | } |
diff --git a/net/ieee80211/softmac/ieee80211softmac_event.c b/net/ieee80211/softmac/ieee80211softmac_event.c index f34fa2ef666b..b9015656cfb3 100644 --- a/net/ieee80211/softmac/ieee80211softmac_event.c +++ b/net/ieee80211/softmac/ieee80211softmac_event.c | |||
@@ -73,10 +73,12 @@ static char *event_descriptions[IEEE80211SOFTMAC_EVENT_LAST+1] = { | |||
73 | 73 | ||
74 | 74 | ||
75 | static void | 75 | static void |
76 | ieee80211softmac_notify_callback(void *d) | 76 | ieee80211softmac_notify_callback(struct work_struct *work) |
77 | { | 77 | { |
78 | struct ieee80211softmac_event event = *(struct ieee80211softmac_event*) d; | 78 | struct ieee80211softmac_event *pevent = |
79 | kfree(d); | 79 | container_of(work, struct ieee80211softmac_event, work.work); |
80 | struct ieee80211softmac_event event = *pevent; | ||
81 | kfree(pevent); | ||
80 | 82 | ||
81 | event.fun(event.mac->dev, event.event_type, event.context); | 83 | event.fun(event.mac->dev, event.event_type, event.context); |
82 | } | 84 | } |
@@ -99,7 +101,7 @@ ieee80211softmac_notify_internal(struct ieee80211softmac_device *mac, | |||
99 | return -ENOMEM; | 101 | return -ENOMEM; |
100 | 102 | ||
101 | eventptr->event_type = event; | 103 | eventptr->event_type = event; |
102 | INIT_WORK(&eventptr->work, ieee80211softmac_notify_callback, eventptr); | 104 | INIT_DELAYED_WORK(&eventptr->work, ieee80211softmac_notify_callback); |
103 | eventptr->fun = fun; | 105 | eventptr->fun = fun; |
104 | eventptr->context = context; | 106 | eventptr->context = context; |
105 | eventptr->mac = mac; | 107 | eventptr->mac = mac; |
@@ -170,7 +172,7 @@ ieee80211softmac_call_events_locked(struct ieee80211softmac_device *mac, int eve | |||
170 | /* User may have subscribed to ANY event, so | 172 | /* User may have subscribed to ANY event, so |
171 | * we tell them which event triggered it. */ | 173 | * we tell them which event triggered it. */ |
172 | eventptr->event_type = event; | 174 | eventptr->event_type = event; |
173 | schedule_work(&eventptr->work); | 175 | schedule_delayed_work(&eventptr->work, 0); |
174 | } | 176 | } |
175 | } | 177 | } |
176 | } | 178 | } |
diff --git a/net/ieee80211/softmac/ieee80211softmac_module.c b/net/ieee80211/softmac/ieee80211softmac_module.c index 33aff4f4a471..256207b71dc9 100644 --- a/net/ieee80211/softmac/ieee80211softmac_module.c +++ b/net/ieee80211/softmac/ieee80211softmac_module.c | |||
@@ -58,8 +58,8 @@ struct net_device *alloc_ieee80211softmac(int sizeof_priv) | |||
58 | INIT_LIST_HEAD(&softmac->events); | 58 | INIT_LIST_HEAD(&softmac->events); |
59 | 59 | ||
60 | mutex_init(&softmac->associnfo.mutex); | 60 | mutex_init(&softmac->associnfo.mutex); |
61 | INIT_WORK(&softmac->associnfo.work, ieee80211softmac_assoc_work, softmac); | 61 | INIT_DELAYED_WORK(&softmac->associnfo.work, ieee80211softmac_assoc_work); |
62 | INIT_WORK(&softmac->associnfo.timeout, ieee80211softmac_assoc_timeout, softmac); | 62 | INIT_DELAYED_WORK(&softmac->associnfo.timeout, ieee80211softmac_assoc_timeout); |
63 | softmac->start_scan = ieee80211softmac_start_scan_implementation; | 63 | softmac->start_scan = ieee80211softmac_start_scan_implementation; |
64 | softmac->wait_for_scan = ieee80211softmac_wait_for_scan_implementation; | 64 | softmac->wait_for_scan = ieee80211softmac_wait_for_scan_implementation; |
65 | softmac->stop_scan = ieee80211softmac_stop_scan_implementation; | 65 | softmac->stop_scan = ieee80211softmac_stop_scan_implementation; |
diff --git a/net/ieee80211/softmac/ieee80211softmac_priv.h b/net/ieee80211/softmac/ieee80211softmac_priv.h index 0642e090b8a7..c0dbe070e548 100644 --- a/net/ieee80211/softmac/ieee80211softmac_priv.h +++ b/net/ieee80211/softmac/ieee80211softmac_priv.h | |||
@@ -78,7 +78,7 @@ | |||
78 | /* private definitions and prototypes */ | 78 | /* private definitions and prototypes */ |
79 | 79 | ||
80 | /*** prototypes from _scan.c */ | 80 | /*** prototypes from _scan.c */ |
81 | void ieee80211softmac_scan(void *sm); | 81 | void ieee80211softmac_scan(struct work_struct *work); |
82 | /* for internal use if scanning is needed */ | 82 | /* for internal use if scanning is needed */ |
83 | int ieee80211softmac_start_scan(struct ieee80211softmac_device *mac); | 83 | int ieee80211softmac_start_scan(struct ieee80211softmac_device *mac); |
84 | void ieee80211softmac_stop_scan(struct ieee80211softmac_device *mac); | 84 | void ieee80211softmac_stop_scan(struct ieee80211softmac_device *mac); |
@@ -149,7 +149,7 @@ int ieee80211softmac_auth_resp(struct net_device *dev, struct ieee80211_auth *au | |||
149 | int ieee80211softmac_deauth_resp(struct net_device *dev, struct ieee80211_deauth *deauth); | 149 | int ieee80211softmac_deauth_resp(struct net_device *dev, struct ieee80211_deauth *deauth); |
150 | 150 | ||
151 | /*** prototypes from _assoc.c */ | 151 | /*** prototypes from _assoc.c */ |
152 | void ieee80211softmac_assoc_work(void *d); | 152 | void ieee80211softmac_assoc_work(struct work_struct *work); |
153 | int ieee80211softmac_handle_assoc_response(struct net_device * dev, | 153 | int ieee80211softmac_handle_assoc_response(struct net_device * dev, |
154 | struct ieee80211_assoc_response * resp, | 154 | struct ieee80211_assoc_response * resp, |
155 | struct ieee80211_network * network); | 155 | struct ieee80211_network * network); |
@@ -157,7 +157,7 @@ int ieee80211softmac_handle_disassoc(struct net_device * dev, | |||
157 | struct ieee80211_disassoc * disassoc); | 157 | struct ieee80211_disassoc * disassoc); |
158 | int ieee80211softmac_handle_reassoc_req(struct net_device * dev, | 158 | int ieee80211softmac_handle_reassoc_req(struct net_device * dev, |
159 | struct ieee80211_reassoc_request * reassoc); | 159 | struct ieee80211_reassoc_request * reassoc); |
160 | void ieee80211softmac_assoc_timeout(void *d); | 160 | void ieee80211softmac_assoc_timeout(struct work_struct *work); |
161 | void ieee80211softmac_send_disassoc_req(struct ieee80211softmac_device *mac, u16 reason); | 161 | void ieee80211softmac_send_disassoc_req(struct ieee80211softmac_device *mac, u16 reason); |
162 | void ieee80211softmac_disassoc(struct ieee80211softmac_device *mac); | 162 | void ieee80211softmac_disassoc(struct ieee80211softmac_device *mac); |
163 | 163 | ||
@@ -207,7 +207,7 @@ struct ieee80211softmac_auth_queue_item { | |||
207 | struct ieee80211softmac_device *mac; /* SoftMAC device */ | 207 | struct ieee80211softmac_device *mac; /* SoftMAC device */ |
208 | u8 retry; /* Retry limit */ | 208 | u8 retry; /* Retry limit */ |
209 | u8 state; /* Auth State */ | 209 | u8 state; /* Auth State */ |
210 | struct work_struct work; /* Work queue */ | 210 | struct delayed_work work; /* Work queue */ |
211 | }; | 211 | }; |
212 | 212 | ||
213 | /* scanning information */ | 213 | /* scanning information */ |
@@ -219,7 +219,8 @@ struct ieee80211softmac_scaninfo { | |||
219 | stop:1; | 219 | stop:1; |
220 | u8 skip_flags; | 220 | u8 skip_flags; |
221 | struct completion finished; | 221 | struct completion finished; |
222 | struct work_struct softmac_scan; | 222 | struct delayed_work softmac_scan; |
223 | struct ieee80211softmac_device *mac; | ||
223 | }; | 224 | }; |
224 | 225 | ||
225 | /* private event struct */ | 226 | /* private event struct */ |
@@ -227,7 +228,7 @@ struct ieee80211softmac_event { | |||
227 | struct list_head list; | 228 | struct list_head list; |
228 | int event_type; | 229 | int event_type; |
229 | void *event_context; | 230 | void *event_context; |
230 | struct work_struct work; | 231 | struct delayed_work work; |
231 | notify_function_ptr fun; | 232 | notify_function_ptr fun; |
232 | void *context; | 233 | void *context; |
233 | struct ieee80211softmac_device *mac; | 234 | struct ieee80211softmac_device *mac; |
diff --git a/net/ieee80211/softmac/ieee80211softmac_scan.c b/net/ieee80211/softmac/ieee80211softmac_scan.c index d31cf77498c4..a8326076581a 100644 --- a/net/ieee80211/softmac/ieee80211softmac_scan.c +++ b/net/ieee80211/softmac/ieee80211softmac_scan.c | |||
@@ -91,12 +91,14 @@ ieee80211softmac_wait_for_scan(struct ieee80211softmac_device *sm) | |||
91 | 91 | ||
92 | 92 | ||
93 | /* internal scanning implementation follows */ | 93 | /* internal scanning implementation follows */ |
94 | void ieee80211softmac_scan(void *d) | 94 | void ieee80211softmac_scan(struct work_struct *work) |
95 | { | 95 | { |
96 | int invalid_channel; | 96 | int invalid_channel; |
97 | u8 current_channel_idx; | 97 | u8 current_channel_idx; |
98 | struct ieee80211softmac_device *sm = (struct ieee80211softmac_device *)d; | 98 | struct ieee80211softmac_scaninfo *si = |
99 | struct ieee80211softmac_scaninfo *si = sm->scaninfo; | 99 | container_of(work, struct ieee80211softmac_scaninfo, |
100 | softmac_scan.work); | ||
101 | struct ieee80211softmac_device *sm = si->mac; | ||
100 | unsigned long flags; | 102 | unsigned long flags; |
101 | 103 | ||
102 | while (!(si->stop) && (si->current_channel_idx < si->number_channels)) { | 104 | while (!(si->stop) && (si->current_channel_idx < si->number_channels)) { |
@@ -146,7 +148,8 @@ static inline struct ieee80211softmac_scaninfo *allocate_scaninfo(struct ieee802 | |||
146 | struct ieee80211softmac_scaninfo *info = kmalloc(sizeof(struct ieee80211softmac_scaninfo), GFP_ATOMIC); | 148 | struct ieee80211softmac_scaninfo *info = kmalloc(sizeof(struct ieee80211softmac_scaninfo), GFP_ATOMIC); |
147 | if (unlikely(!info)) | 149 | if (unlikely(!info)) |
148 | return NULL; | 150 | return NULL; |
149 | INIT_WORK(&info->softmac_scan, ieee80211softmac_scan, mac); | 151 | INIT_DELAYED_WORK(&info->softmac_scan, ieee80211softmac_scan); |
152 | info->mac = mac; | ||
150 | init_completion(&info->finished); | 153 | init_completion(&info->finished); |
151 | return info; | 154 | return info; |
152 | } | 155 | } |
@@ -189,7 +192,7 @@ int ieee80211softmac_start_scan_implementation(struct net_device *dev) | |||
189 | sm->scaninfo->started = 1; | 192 | sm->scaninfo->started = 1; |
190 | sm->scaninfo->stop = 0; | 193 | sm->scaninfo->stop = 0; |
191 | INIT_COMPLETION(sm->scaninfo->finished); | 194 | INIT_COMPLETION(sm->scaninfo->finished); |
192 | schedule_work(&sm->scaninfo->softmac_scan); | 195 | schedule_delayed_work(&sm->scaninfo->softmac_scan, 0); |
193 | spin_unlock_irqrestore(&sm->lock, flags); | 196 | spin_unlock_irqrestore(&sm->lock, flags); |
194 | return 0; | 197 | return 0; |
195 | } | 198 | } |
diff --git a/net/ieee80211/softmac/ieee80211softmac_wx.c b/net/ieee80211/softmac/ieee80211softmac_wx.c index 23068a830f7d..2ffaebd21c53 100644 --- a/net/ieee80211/softmac/ieee80211softmac_wx.c +++ b/net/ieee80211/softmac/ieee80211softmac_wx.c | |||
@@ -122,7 +122,7 @@ ieee80211softmac_wx_set_essid(struct net_device *net_dev, | |||
122 | 122 | ||
123 | sm->associnfo.associating = 1; | 123 | sm->associnfo.associating = 1; |
124 | /* queue lower level code to do work (if necessary) */ | 124 | /* queue lower level code to do work (if necessary) */ |
125 | schedule_work(&sm->associnfo.work); | 125 | schedule_delayed_work(&sm->associnfo.work, 0); |
126 | out: | 126 | out: |
127 | mutex_unlock(&sm->associnfo.mutex); | 127 | mutex_unlock(&sm->associnfo.mutex); |
128 | 128 | ||
@@ -356,7 +356,7 @@ ieee80211softmac_wx_set_wap(struct net_device *net_dev, | |||
356 | /* force reassociation */ | 356 | /* force reassociation */ |
357 | mac->associnfo.bssvalid = 0; | 357 | mac->associnfo.bssvalid = 0; |
358 | if (mac->associnfo.associated) | 358 | if (mac->associnfo.associated) |
359 | schedule_work(&mac->associnfo.work); | 359 | schedule_delayed_work(&mac->associnfo.work, 0); |
360 | } else if (is_zero_ether_addr(data->ap_addr.sa_data)) { | 360 | } else if (is_zero_ether_addr(data->ap_addr.sa_data)) { |
361 | /* the bssid we have is no longer fixed */ | 361 | /* the bssid we have is no longer fixed */ |
362 | mac->associnfo.bssfixed = 0; | 362 | mac->associnfo.bssfixed = 0; |
@@ -373,7 +373,7 @@ ieee80211softmac_wx_set_wap(struct net_device *net_dev, | |||
373 | /* tell the other code that this bssid should be used no matter what */ | 373 | /* tell the other code that this bssid should be used no matter what */ |
374 | mac->associnfo.bssfixed = 1; | 374 | mac->associnfo.bssfixed = 1; |
375 | /* queue associate if new bssid or (old one again and not associated) */ | 375 | /* queue associate if new bssid or (old one again and not associated) */ |
376 | schedule_work(&mac->associnfo.work); | 376 | schedule_delayed_work(&mac->associnfo.work, 0); |
377 | } | 377 | } |
378 | 378 | ||
379 | out: | 379 | out: |
diff --git a/net/ipv4/ipvs/ip_vs_ctl.c b/net/ipv4/ipvs/ip_vs_ctl.c index f261616e4602..9b933381ebbe 100644 --- a/net/ipv4/ipvs/ip_vs_ctl.c +++ b/net/ipv4/ipvs/ip_vs_ctl.c | |||
@@ -221,10 +221,10 @@ static void update_defense_level(void) | |||
221 | * Timer for checking the defense | 221 | * Timer for checking the defense |
222 | */ | 222 | */ |
223 | #define DEFENSE_TIMER_PERIOD 1*HZ | 223 | #define DEFENSE_TIMER_PERIOD 1*HZ |
224 | static void defense_work_handler(void *data); | 224 | static void defense_work_handler(struct work_struct *work); |
225 | static DECLARE_WORK(defense_work, defense_work_handler, NULL); | 225 | static DECLARE_DELAYED_WORK(defense_work, defense_work_handler); |
226 | 226 | ||
227 | static void defense_work_handler(void *data) | 227 | static void defense_work_handler(struct work_struct *work) |
228 | { | 228 | { |
229 | update_defense_level(); | 229 | update_defense_level(); |
230 | if (atomic_read(&ip_vs_dropentry)) | 230 | if (atomic_read(&ip_vs_dropentry)) |
diff --git a/net/irda/ircomm/ircomm_tty.c b/net/irda/ircomm/ircomm_tty.c index d50a02030ad7..262bda808d96 100644 --- a/net/irda/ircomm/ircomm_tty.c +++ b/net/irda/ircomm/ircomm_tty.c | |||
@@ -61,7 +61,7 @@ static void ircomm_tty_flush_buffer(struct tty_struct *tty); | |||
61 | static void ircomm_tty_send_xchar(struct tty_struct *tty, char ch); | 61 | static void ircomm_tty_send_xchar(struct tty_struct *tty, char ch); |
62 | static void ircomm_tty_wait_until_sent(struct tty_struct *tty, int timeout); | 62 | static void ircomm_tty_wait_until_sent(struct tty_struct *tty, int timeout); |
63 | static void ircomm_tty_hangup(struct tty_struct *tty); | 63 | static void ircomm_tty_hangup(struct tty_struct *tty); |
64 | static void ircomm_tty_do_softint(void *private_); | 64 | static void ircomm_tty_do_softint(struct work_struct *work); |
65 | static void ircomm_tty_shutdown(struct ircomm_tty_cb *self); | 65 | static void ircomm_tty_shutdown(struct ircomm_tty_cb *self); |
66 | static void ircomm_tty_stop(struct tty_struct *tty); | 66 | static void ircomm_tty_stop(struct tty_struct *tty); |
67 | 67 | ||
@@ -389,7 +389,7 @@ static int ircomm_tty_open(struct tty_struct *tty, struct file *filp) | |||
389 | self->flow = FLOW_STOP; | 389 | self->flow = FLOW_STOP; |
390 | 390 | ||
391 | self->line = line; | 391 | self->line = line; |
392 | INIT_WORK(&self->tqueue, ircomm_tty_do_softint, self); | 392 | INIT_WORK(&self->tqueue, ircomm_tty_do_softint); |
393 | self->max_header_size = IRCOMM_TTY_HDR_UNINITIALISED; | 393 | self->max_header_size = IRCOMM_TTY_HDR_UNINITIALISED; |
394 | self->max_data_size = IRCOMM_TTY_DATA_UNINITIALISED; | 394 | self->max_data_size = IRCOMM_TTY_DATA_UNINITIALISED; |
395 | self->close_delay = 5*HZ/10; | 395 | self->close_delay = 5*HZ/10; |
@@ -594,15 +594,16 @@ static void ircomm_tty_flush_buffer(struct tty_struct *tty) | |||
594 | } | 594 | } |
595 | 595 | ||
596 | /* | 596 | /* |
597 | * Function ircomm_tty_do_softint (private_) | 597 | * Function ircomm_tty_do_softint (work) |
598 | * | 598 | * |
599 | * We use this routine to give the write wakeup to the user at at a | 599 | * We use this routine to give the write wakeup to the user at at a |
600 | * safe time (as fast as possible after write have completed). This | 600 | * safe time (as fast as possible after write have completed). This |
601 | * can be compared to the Tx interrupt. | 601 | * can be compared to the Tx interrupt. |
602 | */ | 602 | */ |
603 | static void ircomm_tty_do_softint(void *private_) | 603 | static void ircomm_tty_do_softint(struct work_struct *work) |
604 | { | 604 | { |
605 | struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) private_; | 605 | struct ircomm_tty_cb *self = |
606 | container_of(work, struct ircomm_tty_cb, tqueue); | ||
606 | struct tty_struct *tty; | 607 | struct tty_struct *tty; |
607 | unsigned long flags; | 608 | unsigned long flags; |
608 | struct sk_buff *skb, *ctrl_skb; | 609 | struct sk_buff *skb, *ctrl_skb; |
diff --git a/net/sctp/associola.c b/net/sctp/associola.c index ed0445fe85e7..88124696ba60 100644 --- a/net/sctp/associola.c +++ b/net/sctp/associola.c | |||
@@ -61,7 +61,7 @@ | |||
61 | #include <net/sctp/sm.h> | 61 | #include <net/sctp/sm.h> |
62 | 62 | ||
63 | /* Forward declarations for internal functions. */ | 63 | /* Forward declarations for internal functions. */ |
64 | static void sctp_assoc_bh_rcv(struct sctp_association *asoc); | 64 | static void sctp_assoc_bh_rcv(struct work_struct *work); |
65 | 65 | ||
66 | 66 | ||
67 | /* 1st Level Abstractions. */ | 67 | /* 1st Level Abstractions. */ |
@@ -269,9 +269,7 @@ static struct sctp_association *sctp_association_init(struct sctp_association *a | |||
269 | 269 | ||
270 | /* Create an input queue. */ | 270 | /* Create an input queue. */ |
271 | sctp_inq_init(&asoc->base.inqueue); | 271 | sctp_inq_init(&asoc->base.inqueue); |
272 | sctp_inq_set_th_handler(&asoc->base.inqueue, | 272 | sctp_inq_set_th_handler(&asoc->base.inqueue, sctp_assoc_bh_rcv); |
273 | (void (*)(void *))sctp_assoc_bh_rcv, | ||
274 | asoc); | ||
275 | 273 | ||
276 | /* Create an output queue. */ | 274 | /* Create an output queue. */ |
277 | sctp_outq_init(asoc, &asoc->outqueue); | 275 | sctp_outq_init(asoc, &asoc->outqueue); |
@@ -944,8 +942,11 @@ out: | |||
944 | } | 942 | } |
945 | 943 | ||
946 | /* Do delayed input processing. This is scheduled by sctp_rcv(). */ | 944 | /* Do delayed input processing. This is scheduled by sctp_rcv(). */ |
947 | static void sctp_assoc_bh_rcv(struct sctp_association *asoc) | 945 | static void sctp_assoc_bh_rcv(struct work_struct *work) |
948 | { | 946 | { |
947 | struct sctp_association *asoc = | ||
948 | container_of(work, struct sctp_association, | ||
949 | base.inqueue.immediate); | ||
949 | struct sctp_endpoint *ep; | 950 | struct sctp_endpoint *ep; |
950 | struct sctp_chunk *chunk; | 951 | struct sctp_chunk *chunk; |
951 | struct sock *sk; | 952 | struct sock *sk; |
diff --git a/net/sctp/endpointola.c b/net/sctp/endpointola.c index 9b6b394b66f6..a2b553721514 100644 --- a/net/sctp/endpointola.c +++ b/net/sctp/endpointola.c | |||
@@ -61,7 +61,7 @@ | |||
61 | #include <net/sctp/sm.h> | 61 | #include <net/sctp/sm.h> |
62 | 62 | ||
63 | /* Forward declarations for internal helpers. */ | 63 | /* Forward declarations for internal helpers. */ |
64 | static void sctp_endpoint_bh_rcv(struct sctp_endpoint *ep); | 64 | static void sctp_endpoint_bh_rcv(struct work_struct *work); |
65 | 65 | ||
66 | /* | 66 | /* |
67 | * Initialize the base fields of the endpoint structure. | 67 | * Initialize the base fields of the endpoint structure. |
@@ -85,8 +85,7 @@ static struct sctp_endpoint *sctp_endpoint_init(struct sctp_endpoint *ep, | |||
85 | sctp_inq_init(&ep->base.inqueue); | 85 | sctp_inq_init(&ep->base.inqueue); |
86 | 86 | ||
87 | /* Set its top-half handler */ | 87 | /* Set its top-half handler */ |
88 | sctp_inq_set_th_handler(&ep->base.inqueue, | 88 | sctp_inq_set_th_handler(&ep->base.inqueue, sctp_endpoint_bh_rcv); |
89 | (void (*)(void *))sctp_endpoint_bh_rcv, ep); | ||
90 | 89 | ||
91 | /* Initialize the bind addr area */ | 90 | /* Initialize the bind addr area */ |
92 | sctp_bind_addr_init(&ep->base.bind_addr, 0); | 91 | sctp_bind_addr_init(&ep->base.bind_addr, 0); |
@@ -311,8 +310,11 @@ int sctp_endpoint_is_peeled_off(struct sctp_endpoint *ep, | |||
311 | /* Do delayed input processing. This is scheduled by sctp_rcv(). | 310 | /* Do delayed input processing. This is scheduled by sctp_rcv(). |
312 | * This may be called on BH or task time. | 311 | * This may be called on BH or task time. |
313 | */ | 312 | */ |
314 | static void sctp_endpoint_bh_rcv(struct sctp_endpoint *ep) | 313 | static void sctp_endpoint_bh_rcv(struct work_struct *work) |
315 | { | 314 | { |
315 | struct sctp_endpoint *ep = | ||
316 | container_of(work, struct sctp_endpoint, | ||
317 | base.inqueue.immediate); | ||
316 | struct sctp_association *asoc; | 318 | struct sctp_association *asoc; |
317 | struct sock *sk; | 319 | struct sock *sk; |
318 | struct sctp_transport *transport; | 320 | struct sctp_transport *transport; |
diff --git a/net/sctp/inqueue.c b/net/sctp/inqueue.c index cf6deed7e849..71b07466e880 100644 --- a/net/sctp/inqueue.c +++ b/net/sctp/inqueue.c | |||
@@ -54,7 +54,7 @@ void sctp_inq_init(struct sctp_inq *queue) | |||
54 | queue->in_progress = NULL; | 54 | queue->in_progress = NULL; |
55 | 55 | ||
56 | /* Create a task for delivering data. */ | 56 | /* Create a task for delivering data. */ |
57 | INIT_WORK(&queue->immediate, NULL, NULL); | 57 | INIT_WORK(&queue->immediate, NULL); |
58 | 58 | ||
59 | queue->malloced = 0; | 59 | queue->malloced = 0; |
60 | } | 60 | } |
@@ -97,7 +97,7 @@ void sctp_inq_push(struct sctp_inq *q, struct sctp_chunk *chunk) | |||
97 | * on the BH related data structures. | 97 | * on the BH related data structures. |
98 | */ | 98 | */ |
99 | list_add_tail(&chunk->list, &q->in_chunk_list); | 99 | list_add_tail(&chunk->list, &q->in_chunk_list); |
100 | q->immediate.func(q->immediate.data); | 100 | q->immediate.func(&q->immediate); |
101 | } | 101 | } |
102 | 102 | ||
103 | /* Extract a chunk from an SCTP inqueue. | 103 | /* Extract a chunk from an SCTP inqueue. |
@@ -205,9 +205,8 @@ struct sctp_chunk *sctp_inq_pop(struct sctp_inq *queue) | |||
205 | * The intent is that this routine will pull stuff out of the | 205 | * The intent is that this routine will pull stuff out of the |
206 | * inqueue and process it. | 206 | * inqueue and process it. |
207 | */ | 207 | */ |
208 | void sctp_inq_set_th_handler(struct sctp_inq *q, | 208 | void sctp_inq_set_th_handler(struct sctp_inq *q, work_func_t callback) |
209 | void (*callback)(void *), void *arg) | ||
210 | { | 209 | { |
211 | INIT_WORK(&q->immediate, callback, arg); | 210 | INIT_WORK(&q->immediate, callback); |
212 | } | 211 | } |
213 | 212 | ||
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index 7736b23c3f03..ba924d40df7d 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c | |||
@@ -358,7 +358,7 @@ static void xfrm_policy_gc_kill(struct xfrm_policy *policy) | |||
358 | xfrm_pol_put(policy); | 358 | xfrm_pol_put(policy); |
359 | } | 359 | } |
360 | 360 | ||
361 | static void xfrm_policy_gc_task(void *data) | 361 | static void xfrm_policy_gc_task(struct work_struct *work) |
362 | { | 362 | { |
363 | struct xfrm_policy *policy; | 363 | struct xfrm_policy *policy; |
364 | struct hlist_node *entry, *tmp; | 364 | struct hlist_node *entry, *tmp; |
@@ -546,7 +546,7 @@ static inline int xfrm_byidx_should_resize(int total) | |||
546 | 546 | ||
547 | static DEFINE_MUTEX(hash_resize_mutex); | 547 | static DEFINE_MUTEX(hash_resize_mutex); |
548 | 548 | ||
549 | static void xfrm_hash_resize(void *__unused) | 549 | static void xfrm_hash_resize(struct work_struct *__unused) |
550 | { | 550 | { |
551 | int dir, total; | 551 | int dir, total; |
552 | 552 | ||
@@ -563,7 +563,7 @@ static void xfrm_hash_resize(void *__unused) | |||
563 | mutex_unlock(&hash_resize_mutex); | 563 | mutex_unlock(&hash_resize_mutex); |
564 | } | 564 | } |
565 | 565 | ||
566 | static DECLARE_WORK(xfrm_hash_work, xfrm_hash_resize, NULL); | 566 | static DECLARE_WORK(xfrm_hash_work, xfrm_hash_resize); |
567 | 567 | ||
568 | /* Generate new index... KAME seems to generate them ordered by cost | 568 | /* Generate new index... KAME seems to generate them ordered by cost |
569 | * of an absolute inpredictability of ordering of rules. This will not pass. */ | 569 | * of an absolute inpredictability of ordering of rules. This will not pass. */ |
@@ -2080,7 +2080,7 @@ static void __init xfrm_policy_init(void) | |||
2080 | panic("XFRM: failed to allocate bydst hash\n"); | 2080 | panic("XFRM: failed to allocate bydst hash\n"); |
2081 | } | 2081 | } |
2082 | 2082 | ||
2083 | INIT_WORK(&xfrm_policy_gc_work, xfrm_policy_gc_task, NULL); | 2083 | INIT_WORK(&xfrm_policy_gc_work, xfrm_policy_gc_task); |
2084 | register_netdevice_notifier(&xfrm_dev_notifier); | 2084 | register_netdevice_notifier(&xfrm_dev_notifier); |
2085 | } | 2085 | } |
2086 | 2086 | ||
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c index 899de9ed22a6..40c527179843 100644 --- a/net/xfrm/xfrm_state.c +++ b/net/xfrm/xfrm_state.c | |||
@@ -115,7 +115,7 @@ static unsigned long xfrm_hash_new_size(void) | |||
115 | 115 | ||
116 | static DEFINE_MUTEX(hash_resize_mutex); | 116 | static DEFINE_MUTEX(hash_resize_mutex); |
117 | 117 | ||
118 | static void xfrm_hash_resize(void *__unused) | 118 | static void xfrm_hash_resize(struct work_struct *__unused) |
119 | { | 119 | { |
120 | struct hlist_head *ndst, *nsrc, *nspi, *odst, *osrc, *ospi; | 120 | struct hlist_head *ndst, *nsrc, *nspi, *odst, *osrc, *ospi; |
121 | unsigned long nsize, osize; | 121 | unsigned long nsize, osize; |
@@ -168,7 +168,7 @@ out_unlock: | |||
168 | mutex_unlock(&hash_resize_mutex); | 168 | mutex_unlock(&hash_resize_mutex); |
169 | } | 169 | } |
170 | 170 | ||
171 | static DECLARE_WORK(xfrm_hash_work, xfrm_hash_resize, NULL); | 171 | static DECLARE_WORK(xfrm_hash_work, xfrm_hash_resize); |
172 | 172 | ||
173 | DECLARE_WAIT_QUEUE_HEAD(km_waitq); | 173 | DECLARE_WAIT_QUEUE_HEAD(km_waitq); |
174 | EXPORT_SYMBOL(km_waitq); | 174 | EXPORT_SYMBOL(km_waitq); |
@@ -207,7 +207,7 @@ static void xfrm_state_gc_destroy(struct xfrm_state *x) | |||
207 | kfree(x); | 207 | kfree(x); |
208 | } | 208 | } |
209 | 209 | ||
210 | static void xfrm_state_gc_task(void *data) | 210 | static void xfrm_state_gc_task(struct work_struct *data) |
211 | { | 211 | { |
212 | struct xfrm_state *x; | 212 | struct xfrm_state *x; |
213 | struct hlist_node *entry, *tmp; | 213 | struct hlist_node *entry, *tmp; |
@@ -1568,6 +1568,6 @@ void __init xfrm_state_init(void) | |||
1568 | panic("XFRM: Cannot allocate bydst/bysrc/byspi hashes."); | 1568 | panic("XFRM: Cannot allocate bydst/bysrc/byspi hashes."); |
1569 | xfrm_state_hmask = ((sz / sizeof(struct hlist_head)) - 1); | 1569 | xfrm_state_hmask = ((sz / sizeof(struct hlist_head)) - 1); |
1570 | 1570 | ||
1571 | INIT_WORK(&xfrm_state_gc_work, xfrm_state_gc_task, NULL); | 1571 | INIT_WORK(&xfrm_state_gc_work, xfrm_state_gc_task); |
1572 | } | 1572 | } |
1573 | 1573 | ||