diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-16 11:20:19 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-16 11:20:19 -0400 |
commit | bd2895eeade5f11f3e5906283c630bbdb4b57454 (patch) | |
tree | 4d98f4fcd80c7d062afce28823d08aee53e66f82 /arch | |
parent | 016aa2ed1cc9cf704cf76d8df07751b6daa9750f (diff) | |
parent | 24d51add7438f9696a7205927bf9de3c5c787a58 (diff) |
Merge branch 'for-2.6.39' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
* 'for-2.6.39' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
workqueue: fix build failure introduced by s/freezeable/freezable/
workqueue: add system_freezeable_wq
rds/ib: use system_wq instead of rds_ib_fmr_wq
net/9p: replace p9_poll_task with a work
net/9p: use system_wq instead of p9_mux_wq
xfs: convert to alloc_workqueue()
reiserfs: make commit_wq use the default concurrency level
ocfs2: use system_wq instead of ocfs2_quota_wq
ext4: convert to alloc_workqueue()
scsi/scsi_tgt_lib: scsi_tgtd isn't used in memory reclaim path
scsi/be2iscsi,qla2xxx: convert to alloc_workqueue()
misc/iwmc3200top: use system_wq instead of dedicated workqueues
i2o: use alloc_workqueue() instead of create_workqueue()
acpi: kacpi*_wq don't need WQ_MEM_RECLAIM
fs/aio: aio_wq isn't used in memory reclaim path
input/tps6507x-ts: use system_wq instead of dedicated workqueue
cpufreq: use system_wq instead of dedicated workqueues
wireless/ipw2x00: use system_wq instead of dedicated workqueues
arm/omap: use system_wq in mailbox
workqueue: use WQ_MEM_RECLAIM instead of WQ_RESCUER
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/plat-omap/mailbox.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/arch/arm/plat-omap/mailbox.c b/arch/arm/plat-omap/mailbox.c index 49d3208793e5..69ddc9f76c13 100644 --- a/arch/arm/plat-omap/mailbox.c +++ b/arch/arm/plat-omap/mailbox.c | |||
@@ -32,7 +32,6 @@ | |||
32 | 32 | ||
33 | #include <plat/mailbox.h> | 33 | #include <plat/mailbox.h> |
34 | 34 | ||
35 | static struct workqueue_struct *mboxd; | ||
36 | static struct omap_mbox **mboxes; | 35 | static struct omap_mbox **mboxes; |
37 | 36 | ||
38 | static int mbox_configured; | 37 | static int mbox_configured; |
@@ -197,7 +196,7 @@ static void __mbox_rx_interrupt(struct omap_mbox *mbox) | |||
197 | /* no more messages in the fifo. clear IRQ source. */ | 196 | /* no more messages in the fifo. clear IRQ source. */ |
198 | ack_mbox_irq(mbox, IRQ_RX); | 197 | ack_mbox_irq(mbox, IRQ_RX); |
199 | nomem: | 198 | nomem: |
200 | queue_work(mboxd, &mbox->rxq->work); | 199 | schedule_work(&mbox->rxq->work); |
201 | } | 200 | } |
202 | 201 | ||
203 | static irqreturn_t mbox_interrupt(int irq, void *p) | 202 | static irqreturn_t mbox_interrupt(int irq, void *p) |
@@ -307,7 +306,7 @@ static void omap_mbox_fini(struct omap_mbox *mbox) | |||
307 | if (!--mbox->use_count) { | 306 | if (!--mbox->use_count) { |
308 | free_irq(mbox->irq, mbox); | 307 | free_irq(mbox->irq, mbox); |
309 | tasklet_kill(&mbox->txq->tasklet); | 308 | tasklet_kill(&mbox->txq->tasklet); |
310 | flush_work(&mbox->rxq->work); | 309 | flush_work_sync(&mbox->rxq->work); |
311 | mbox_queue_free(mbox->txq); | 310 | mbox_queue_free(mbox->txq); |
312 | mbox_queue_free(mbox->rxq); | 311 | mbox_queue_free(mbox->rxq); |
313 | } | 312 | } |
@@ -409,10 +408,6 @@ static int __init omap_mbox_init(void) | |||
409 | if (err) | 408 | if (err) |
410 | return err; | 409 | return err; |
411 | 410 | ||
412 | mboxd = create_workqueue("mboxd"); | ||
413 | if (!mboxd) | ||
414 | return -ENOMEM; | ||
415 | |||
416 | /* kfifo size sanity check: alignment and minimal size */ | 411 | /* kfifo size sanity check: alignment and minimal size */ |
417 | mbox_kfifo_size = ALIGN(mbox_kfifo_size, sizeof(mbox_msg_t)); | 412 | mbox_kfifo_size = ALIGN(mbox_kfifo_size, sizeof(mbox_msg_t)); |
418 | mbox_kfifo_size = max_t(unsigned int, mbox_kfifo_size, | 413 | mbox_kfifo_size = max_t(unsigned int, mbox_kfifo_size, |
@@ -424,7 +419,6 @@ subsys_initcall(omap_mbox_init); | |||
424 | 419 | ||
425 | static void __exit omap_mbox_exit(void) | 420 | static void __exit omap_mbox_exit(void) |
426 | { | 421 | { |
427 | destroy_workqueue(mboxd); | ||
428 | class_unregister(&omap_mbox_class); | 422 | class_unregister(&omap_mbox_class); |
429 | } | 423 | } |
430 | module_exit(omap_mbox_exit); | 424 | module_exit(omap_mbox_exit); |