• Bhaktipriya Shridhar's avatar
    omapfb: panel-dsi-cm: Remove deprecated create_singlethread_workqueue · b59ac9a3
    Bhaktipriya Shridhar authored
    The workqueue "workqueue" has only a single workitem(&ddata->ulps_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.
    
    dsicm_remove() calls dsicm_cancel_ulps_work which uses
    cancel_delayed_work() to ensure that there are no pending tasks while
    disconnecting the driver.
    Signed-off-by: default avatarBhaktipriya Shridhar <bhaktipriya96@gmail.com>
    Acked-by: default avatarTejun Heo <tj@kernel.org>
    Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
    b59ac9a3
panel-dsi-cm.c 27.5 KB