瀏覽代碼

[PATCH] re-export cancel_rearming_delayed_workqueue

This was unexported by Arjan because we have no current users.

However, during a conversion from tasklets to workqueues of the parisc led
functions, we ran across a case where this was needed.  In particular, the
open coded equivalent of cancel_rearming_delayed_workqueue was implemented
incorrectly, which is, I think, all the evidence necessary that this is a
useful API.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
James Bottomley 20 年之前
父節點
當前提交
81ddef77bb
共有 2 個文件被更改,包括 5 次插入2 次删除
  1. 2 0
      include/linux/workqueue.h
  2. 3 2
      kernel/workqueue.c

+ 2 - 0
include/linux/workqueue.h

@@ -71,6 +71,8 @@ extern int keventd_up(void);
 
 
 extern void init_workqueues(void);
 extern void init_workqueues(void);
 void cancel_rearming_delayed_work(struct work_struct *work);
 void cancel_rearming_delayed_work(struct work_struct *work);
+void cancel_rearming_delayed_workqueue(struct workqueue_struct *,
+				       struct work_struct *);
 
 
 /*
 /*
  * Kill off a pending schedule_delayed_work().  Note that the work callback
  * Kill off a pending schedule_delayed_work().  Note that the work callback

+ 3 - 2
kernel/workqueue.c

@@ -429,12 +429,13 @@ void flush_scheduled_work(void)
  * @wq:   the controlling workqueue structure
  * @wq:   the controlling workqueue structure
  * @work: the delayed work struct
  * @work: the delayed work struct
  */
  */
-static void cancel_rearming_delayed_workqueue(struct workqueue_struct *wq,
-					struct work_struct *work)
+void cancel_rearming_delayed_workqueue(struct workqueue_struct *wq,
+				       struct work_struct *work)
 {
 {
 	while (!cancel_delayed_work(work))
 	while (!cancel_delayed_work(work))
 		flush_workqueue(wq);
 		flush_workqueue(wq);
 }
 }
+EXPORT_SYMBOL(cancel_rearming_delayed_workqueue);
 
 
 /**
 /**
  * cancel_rearming_delayed_work - reliably kill off a delayed keventd
  * cancel_rearming_delayed_work - reliably kill off a delayed keventd