]> git.openfabrics.org - ~shefty/rdma-dev.git/commitdiff
video/msm_fb: use system_wq instead of dedicated workqueues
authorTejun Heo <tj@kernel.org>
Mon, 3 Jan 2011 13:49:43 +0000 (13:49 +0000)
committerDavid Brown <davidb@codeaurora.org>
Tue, 25 Jan 2011 23:14:28 +0000 (15:14 -0800)
With cmwq, there's no reason to use separate workqueues.  Drop
msmfb_info->resume_workqueue and use system_wq instead.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Stanislaw Gruszka <stf_xl@wp.pl>
Cc: linux-usb@vger.kernel.org
Signed-off-by: David Brown <davidb@codeaurora.org>
drivers/video/msm/msm_fb.c

index debe5933fd2e6c0d3c3e272242e093632f2732cf..5436aeb9445626888be2d453aba070d47d1cf65d 100644 (file)
@@ -81,7 +81,6 @@ struct msmfb_info {
        spinlock_t update_lock;
        struct mutex panel_init_lock;
        wait_queue_head_t frame_wq;
-       struct workqueue_struct *resume_workqueue;
        struct work_struct resume_work;
        struct msmfb_callback dma_callback;
        struct msmfb_callback vsync_callback;
@@ -111,7 +110,7 @@ static void msmfb_handle_dma_interrupt(struct msmfb_callback *callback)
        if (msmfb->sleeping == UPDATING &&
            msmfb->frame_done == msmfb->update_frame) {
                DLOG(SUSPEND_RESUME, "full update completed\n");
-               queue_work(msmfb->resume_workqueue, &msmfb->resume_work);
+               schedule_work(&msmfb->resume_work);
        }
        spin_unlock_irqrestore(&msmfb->update_lock, irq_flags);
        wake_up(&msmfb->frame_wq);
@@ -559,12 +558,6 @@ static int msmfb_probe(struct platform_device *pdev)
        spin_lock_init(&msmfb->update_lock);
        mutex_init(&msmfb->panel_init_lock);
        init_waitqueue_head(&msmfb->frame_wq);
-       msmfb->resume_workqueue = create_workqueue("panel_on");
-       if (msmfb->resume_workqueue == NULL) {
-               printk(KERN_ERR "failed to create panel_on workqueue\n");
-               ret = -ENOMEM;
-               goto error_create_workqueue;
-       }
        INIT_WORK(&msmfb->resume_work, power_on_panel);
        msmfb->black = kzalloc(msmfb->fb->var.bits_per_pixel*msmfb->xres,
                               GFP_KERNEL);
@@ -589,8 +582,6 @@ static int msmfb_probe(struct platform_device *pdev)
        return 0;
 
 error_register_framebuffer:
-       destroy_workqueue(msmfb->resume_workqueue);
-error_create_workqueue:
        iounmap(fb->screen_base);
 error_setup_fbmem:
        framebuffer_release(msmfb->fb);