Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1444779 > unrolled thread
| Started by | Bhaktipriya Shridhar <bhaktipriya96@gmail.com> |
|---|---|
| First post | 2016-07-16 10:40 +0200 |
| Last post | 2016-07-19 02:00 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH] [media] s5p-mfc: Remove deprecated create_singlethread_workqueue Bhaktipriya Shridhar <bhaktipriya96@gmail.com> - 2016-07-16 10:40 +0200
Re: [PATCH] [media] s5p-mfc: Remove deprecated create_singlethread_workqueue Tejun Heo <tj@kernel.org> - 2016-07-19 01:50 +0200
Re: [PATCH] [media] s5p-mfc: Remove deprecated create_singlethread_workqueue Tejun Heo <tj@kernel.org> - 2016-07-19 02:00 +0200
| From | Bhaktipriya Shridhar <bhaktipriya96@gmail.com> |
|---|---|
| Date | 2016-07-16 10:40 +0200 |
| Subject | [PATCH] [media] s5p-mfc: Remove deprecated create_singlethread_workqueue |
| Message-ID | <rVtiG-1tK-11@gated-at.bofh.it> |
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
[toc] | [next] | [standalone]
| From | Tejun Heo <tj@kernel.org> |
|---|---|
| Date | 2016-07-19 01:50 +0200 |
| Message-ID | <rWqsq-4uI-9@gated-at.bofh.it> |
| In reply to | #1444779 |
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
[toc] | [prev] | [next] | [standalone]
| From | Tejun Heo <tj@kernel.org> |
|---|---|
| Date | 2016-07-19 02:00 +0200 |
| Message-ID | <rWqC5-4yl-1@gated-at.bofh.it> |
| In reply to | #1444779 |
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
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web