diff options
author | Tejun Heo <tj@kernel.org> | 2011-01-03 13:49:43 +0000 |
---|---|---|
committer | David Brown <davidb@codeaurora.org> | 2011-01-25 15:14:28 -0800 |
commit | 48b63b6908a10add9ee383c7db24c37f99e5d324 (patch) | |
tree | a5e97a5b4e3172cbc27224fc62fd25878a9db48a /drivers | |
parent | 1bae4ce27c9c90344f23c65ea6966c50ffeae2f5 (diff) | |
download | linux-stable-48b63b6908a10add9ee383c7db24c37f99e5d324.tar.gz linux-stable-48b63b6908a10add9ee383c7db24c37f99e5d324.tar.bz2 linux-stable-48b63b6908a10add9ee383c7db24c37f99e5d324.zip |
video/msm_fb: use system_wq instead of dedicated workqueues
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/video/msm/msm_fb.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/drivers/video/msm/msm_fb.c b/drivers/video/msm/msm_fb.c index debe5933fd2e..5436aeb94456 100644 --- a/drivers/video/msm/msm_fb.c +++ b/drivers/video/msm/msm_fb.c @@ -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); |