diff options
author | Tejun Heo <tj@kernel.org> | 2010-10-14 19:55:22 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-10-24 17:20:01 -0400 |
commit | 6cebb17beece746de86793cd549e84740896cf4a (patch) | |
tree | 6f5a3ee1ab6ee0147688f7e2343055645f7a64e7 /drivers/connector/connector.c | |
parent | 229aebb873e29726b91e076161649cf45154b0bf (diff) |
connector: remove lazy workqueue creation
Commit 1a5645bc (connector: create connector workqueue only while
needed once) implements lazy workqueue creation for connector
workqueue. With cmwq now in place, lazy workqueue creation doesn't
make much sense while adding a lot of complexity. Remove it and
allocate an ordered workqueue during initialization.
This also removes a call to flush_scheduled_work() which is deprecated
and scheduled to be removed.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/connector/connector.c')
-rw-r--r-- | drivers/connector/connector.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/connector/connector.c b/drivers/connector/connector.c index 1d48f40342cb..e16c3fa8d2e3 100644 --- a/drivers/connector/connector.c +++ b/drivers/connector/connector.c | |||
@@ -133,7 +133,8 @@ static int cn_call_callback(struct sk_buff *skb) | |||
133 | __cbq->data.skb == NULL)) { | 133 | __cbq->data.skb == NULL)) { |
134 | __cbq->data.skb = skb; | 134 | __cbq->data.skb = skb; |
135 | 135 | ||
136 | if (queue_cn_work(__cbq, &__cbq->work)) | 136 | if (queue_work(dev->cbdev->cn_queue, |
137 | &__cbq->work)) | ||
137 | err = 0; | 138 | err = 0; |
138 | else | 139 | else |
139 | err = -EINVAL; | 140 | err = -EINVAL; |
@@ -148,13 +149,11 @@ static int cn_call_callback(struct sk_buff *skb) | |||
148 | d->callback = __cbq->data.callback; | 149 | d->callback = __cbq->data.callback; |
149 | d->free = __new_cbq; | 150 | d->free = __new_cbq; |
150 | 151 | ||
151 | __new_cbq->pdev = __cbq->pdev; | ||
152 | |||
153 | INIT_WORK(&__new_cbq->work, | 152 | INIT_WORK(&__new_cbq->work, |
154 | &cn_queue_wrapper); | 153 | &cn_queue_wrapper); |
155 | 154 | ||
156 | if (queue_cn_work(__new_cbq, | 155 | if (queue_work(dev->cbdev->cn_queue, |
157 | &__new_cbq->work)) | 156 | &__new_cbq->work)) |
158 | err = 0; | 157 | err = 0; |
159 | else { | 158 | else { |
160 | kfree(__new_cbq); | 159 | kfree(__new_cbq); |