diff options
Diffstat (limited to 'arch/arm')
-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); |