diff options
| author | Rob Herring <robh@kernel.org> | 2018-03-08 09:21:07 -0600 | 
|---|---|---|
| committer | Rob Herring <robh@kernel.org> | 2018-03-08 09:21:07 -0600 | 
| commit | c679fa6e3aaa5c58fc514b5b88cfa82774b8d390 (patch) | |
| tree | 0c10b339368bd1795152a66a4e245e6f654fb3ec /kernel/workqueue.c | |
| parent | bdb7013df910681f84eff27b07791d4c160cb76f (diff) | |
| parent | 4fd98e374fd377ae0458a9dc44aa779cf9631ddd (diff) | |
Merge branch 'dtc-update' into dt/next
Diffstat (limited to 'kernel/workqueue.c')
| -rw-r--r-- | kernel/workqueue.c | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 017044c26233..bb9a519cbf50 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -4180,6 +4180,22 @@ void workqueue_set_max_active(struct workqueue_struct *wq, int max_active)  EXPORT_SYMBOL_GPL(workqueue_set_max_active);  /** + * current_work - retrieve %current task's work struct + * + * Determine if %current task is a workqueue worker and what it's working on. + * Useful to find out the context that the %current task is running in. + * + * Return: work struct if %current task is a workqueue worker, %NULL otherwise. + */ +struct work_struct *current_work(void) +{ +	struct worker *worker = current_wq_worker(); + +	return worker ? worker->current_work : NULL; +} +EXPORT_SYMBOL(current_work); + +/**   * current_is_workqueue_rescuer - is %current workqueue rescuer?   *   * Determine whether %current is a workqueue rescuer.  Can be used from  | 
