From badb7f5e8bddf74a2f2dcc7d9d88accabfc000f5 Mon Sep 17 00:00:00 2001 From: Lai Jiangshan Date: Wed, 1 Jul 2015 15:38:04 +0800 Subject: [PATCH 1/3] workqueue: add myself as a dedicated reviwer I am one of the dedicated reviwers of workqueue.c. Now I add myself to the MAINTAINERS entry with the updated email address. The old laijs@cn.fujitsu.com will be ended soon. Signed-off-by: Lai Jiangshan Signed-off-by: Lai Jiangshan Signed-off-by: Tejun Heo --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index 8133cefb6b6e..f136c296c421 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -11165,6 +11165,7 @@ F: sound/soc/codecs/wm* WORKQUEUE M: Tejun Heo +R: Lai Jiangshan T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git S: Maintained F: include/linux/workqueue.h From 1dadafa86a779884f14a6e7a3ddde1a57b0a0a65 Mon Sep 17 00:00:00 2001 From: Tim Gardner Date: Tue, 4 Aug 2015 11:26:04 -0600 Subject: [PATCH 2/3] workqueue: Make flush_workqueue() available again to non GPL modules Commit 37b1ef31a568fc02e53587620226e5f3c66454c8 ("workqueue: move flush_scheduled_work() to workqueue.h") moved the exported non GPL flush_scheduled_work() from a function to an inline wrapper. Unfortunately, it directly calls flush_workqueue() which is a GPL function. This has the effect of changing the licensing requirement for this function and makes it unavailable to non GPL modules. See commit ad7b1f841f8a54c6d61ff181451f55b68175e15a ("workqueue: Make schedule_work() available again to non GPL modules") for precedent. Signed-off-by: Tim Gardner Signed-off-by: Tejun Heo --- kernel/workqueue.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 4c4f06176f74..a413acb59a07 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -2614,7 +2614,7 @@ void flush_workqueue(struct workqueue_struct *wq) out_unlock: mutex_unlock(&wq->mutex); } -EXPORT_SYMBOL_GPL(flush_workqueue); +EXPORT_SYMBOL(flush_workqueue); /** * drain_workqueue - drain a workqueue From 355c06633e233a57155b827ebe99b91c35bc1f5c Mon Sep 17 00:00:00 2001 From: Jonathan Corbet Date: Thu, 13 Aug 2015 17:52:02 -0600 Subject: [PATCH 3/3] workqueue: fix some docbook warnings There are some errors in the docbook comments in workqueue.h that cause warnings when the docs are built; this only recently came to light because these comments were not used until now. Fix the comments to make the warnings go away. The "args..." "fix" is a hack. kerneldoc doesn't deal properly with named variadic arguments in macros, so all I've really achieved here is to make it shut up. Fixing kerneldoc will have to wait for more time. Signed-off-by: Jonathan Corbet Signed-off-by: Tejun Heo --- include/linux/workqueue.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index 738b30b39b68..0197358f1e81 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h @@ -265,7 +265,7 @@ static inline unsigned int work_static(struct work_struct *work) { return 0; } /** * delayed_work_pending - Find out whether a delayable work item is currently * pending - * @work: The work item in question + * @w: The work item in question */ #define delayed_work_pending(w) \ work_pending(&(w)->work) @@ -366,7 +366,7 @@ __alloc_workqueue_key(const char *fmt, unsigned int flags, int max_active, * @fmt: printf format for the name of the workqueue * @flags: WQ_* flags * @max_active: max in-flight work items, 0 for default - * @args: args for @fmt + * @args...: args for @fmt * * Allocate a workqueue with the specified parameters. For detailed * information on WQ_* flags, please refer to Documentation/workqueue.txt. @@ -398,7 +398,7 @@ __alloc_workqueue_key(const char *fmt, unsigned int flags, int max_active, * alloc_ordered_workqueue - allocate an ordered workqueue * @fmt: printf format for the name of the workqueue * @flags: WQ_* flags (only WQ_FREEZABLE and WQ_MEM_RECLAIM are meaningful) - * @args: args for @fmt + * @args...: args for @fmt * * Allocate an ordered workqueue. An ordered workqueue executes at * most one work item at any given time in the queued order. They are