fbdev: Remove deprecated create_singlethread_workqueue
authorBhaktipriya Shridhar <bhaktipriya96@gmail.com>
Sat, 2 Jul 2016 08:39:23 +0000 (14:09 +0530)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 11 Aug 2016 14:54:56 +0000 (17:54 +0300)
commit71668292151efc7ca867e6b6ac0cb603f1d59e42
treeb9bbf15d9ee6c851beb9b191aa69e5a6914a8543
parentb59ac9a3dbcf22c38b0bb958a62bf6b787a449a8
fbdev: Remove deprecated create_singlethread_workqueue

The workqueue "esd_wq" has only a single workitem(&md->esd_work)
and hence doesn't require ordering. Also, it is not being used on a
memory reclaim path. Hence, the singlethreaded workqueue has been
replaced with the use of system_wq.

System workqueues have been able to handle high level of concurrency
for a long time now and hence it's not required to have a singlethreaded
workqueue just to gain concurrency. Unlike a dedicated per-cpu workqueue
created with create_singlethread_workqueue(), system_wq allows multiple
work items to overlap executions even on the same CPU; however, a
per-cpu workqueue doesn't have any CPU locality or global ordering
guarantee unless the target CPU is explicitly specified and thus the
increase of local concurrency shouldn't make any difference.

mipid_esd_stop_check () calls cancel_delayed_work() in mipid_cleanup()
to ensure that there are no pending tasks while disconnecting the driver.

Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/fbdev/omap/lcd_mipid.c