linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] [media] s5p-mfc: Remove deprecated create_singlethread_workqueue
@ 2016-07-16  8:30 Bhaktipriya Shridhar
  2016-07-18 23:42 ` Tejun Heo
  2016-07-18 23:50 ` Tejun Heo
  0 siblings, 2 replies; 3+ messages in thread
From: Bhaktipriya Shridhar @ 2016-07-16  8:30 UTC (permalink / raw)
  To: linux-arm-kernel

alloc_workqueue replaces deprecated create_singlethread_workqueue().

The MFC device driver is a v4l2 driver which can encode/decode video
raw/elementary streams and has support for all popular video codecs.

The driver's watchdog_workqueue has been replaced with system_wq since
it queues a single work item, &dev->watchdog_work, which calls for no
ordering requirement. The work item is involved in running the watchdog
timer and is not being used on a memory reclaim path.

Work item has been flushed in s5p_mfc_remove() to ensure
that there are no pending tasks while disconnecting the driver.

Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
---
 drivers/media/platform/s5p-mfc/s5p_mfc.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc.c b/drivers/media/platform/s5p-mfc/s5p_mfc.c
index b16466f..1bc27ec 100644
--- a/drivers/media/platform/s5p-mfc/s5p_mfc.c
+++ b/drivers/media/platform/s5p-mfc/s5p_mfc.c
@@ -152,7 +152,7 @@ static void s5p_mfc_watchdog(unsigned long arg)
 		 * error. Now it is time to kill all instances and
 		 * reset the MFC. */
 		mfc_err("Time out during waiting for HW\n");
-		queue_work(dev->watchdog_workqueue, &dev->watchdog_work);
+		schedule_work(&dev->watchdog_work);
 	}
 	dev->watchdog_timer.expires = jiffies +
 					msecs_to_jiffies(MFC_WATCHDOG_INTERVAL);
@@ -1238,7 +1238,6 @@ static int s5p_mfc_probe(struct platform_device *pdev)
 	platform_set_drvdata(pdev, dev);

 	dev->hw_lock = 0;
-	dev->watchdog_workqueue = create_singlethread_workqueue(S5P_MFC_NAME);
 	INIT_WORK(&dev->watchdog_work, s5p_mfc_watchdog_worker);
 	atomic_set(&dev->watchdog_cnt, 0);
 	init_timer(&dev->watchdog_timer);
@@ -1284,8 +1283,7 @@ static int s5p_mfc_remove(struct platform_device *pdev)
 	v4l2_info(&dev->v4l2_dev, "Removing %s\n", pdev->name);

 	del_timer_sync(&dev->watchdog_timer);
-	flush_workqueue(dev->watchdog_workqueue);
-	destroy_workqueue(dev->watchdog_workqueue);
+	flush_work(&dev->watchdog_work);

 	video_unregister_device(dev->vfd_enc);
 	video_unregister_device(dev->vfd_dec);
--
2.1.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH] [media] s5p-mfc: Remove deprecated create_singlethread_workqueue
  2016-07-16  8:30 [PATCH] [media] s5p-mfc: Remove deprecated create_singlethread_workqueue Bhaktipriya Shridhar
@ 2016-07-18 23:42 ` Tejun Heo
  2016-07-18 23:50 ` Tejun Heo
  1 sibling, 0 replies; 3+ messages in thread
From: Tejun Heo @ 2016-07-18 23:42 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, Jul 16, 2016 at 02:00:25PM +0530, Bhaktipriya Shridhar wrote:
> alloc_workqueue replaces deprecated create_singlethread_workqueue().
> 
> The MFC device driver is a v4l2 driver which can encode/decode video
> raw/elementary streams and has support for all popular video codecs.
> 
> The driver's watchdog_workqueue has been replaced with system_wq since
> it queues a single work item, &dev->watchdog_work, which calls for no
> ordering requirement. The work item is involved in running the watchdog
> timer and is not being used on a memory reclaim path.
> 
> Work item has been flushed in s5p_mfc_remove() 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>

Thanks.

-- 
tejun

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] [media] s5p-mfc: Remove deprecated create_singlethread_workqueue
  2016-07-16  8:30 [PATCH] [media] s5p-mfc: Remove deprecated create_singlethread_workqueue Bhaktipriya Shridhar
  2016-07-18 23:42 ` Tejun Heo
@ 2016-07-18 23:50 ` Tejun Heo
  1 sibling, 0 replies; 3+ messages in thread
From: Tejun Heo @ 2016-07-18 23:50 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, Jul 16, 2016 at 02:00:25PM +0530, Bhaktipriya Shridhar wrote:
> alloc_workqueue replaces deprecated create_singlethread_workqueue().
> 
> The MFC device driver is a v4l2 driver which can encode/decode video
> raw/elementary streams and has support for all popular video codecs.
> 
> The driver's watchdog_workqueue has been replaced with system_wq since
> it queues a single work item, &dev->watchdog_work, which calls for no
> ordering requirement. The work item is involved in running the watchdog
> timer and is not being used on a memory reclaim path.
> 
> Work item has been flushed in s5p_mfc_remove() 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>

Thanks.

-- 
tejun

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-07-18 23:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-16  8:30 [PATCH] [media] s5p-mfc: Remove deprecated create_singlethread_workqueue Bhaktipriya Shridhar
2016-07-18 23:42 ` Tejun Heo
2016-07-18 23:50 ` Tejun Heo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).