|
@@ -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);
|