Re: [PATCH 20/32] video/msm_fb: use system_wq instead of dedicatedworkqueues

From: Stanislaw Gruszka
Date: Mon Jan 03 2011 - 12:06:48 EST


On Mon, Jan 03, 2011 at 02:49:43PM +0100, Tejun Heo wrote:
> 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@xxxxxxxxxx>
> Cc: Stanislaw Gruszka <stf_xl@xxxxx>
I'm not the right person, CC according to MAINTAINERS

> Cc: linux-usb@xxxxxxxxxxxxxxx
> ---
> Only compile tested. Please feel free to take it into the subsystem
> tree or simply ack - I'll route it through the wq tree.
>
> Thanks.
>
> 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 debe593..5436aeb 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);
> --
> 1.7.1
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/