linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / kernel / workqueue.c
index 880fb41..b052e2c 100644 (file)
@@ -27,7 +27,6 @@
 #include <linux/cpu.h>
 #include <linux/notifier.h>
 #include <linux/kthread.h>
-#include <linux/hardirq.h>
 
 /*
  * The per-CPU workqueue (if single thread, we always use the first
@@ -477,34 +476,6 @@ void cancel_rearming_delayed_work(struct work_struct *work)
 }
 EXPORT_SYMBOL(cancel_rearming_delayed_work);
 
-/**
- * execute_in_process_context - reliably execute the routine with user context
- * @fn:                the function to execute
- * @data:      data to pass to the function
- * @ew:                guaranteed storage for the execute work structure (must
- *             be available when the work executes)
- *
- * Executes the function immediately if process context is available,
- * otherwise schedules the function for delayed execution.
- *
- * Returns:    0 - function was executed
- *             1 - function was scheduled for execution
- */
-int execute_in_process_context(void (*fn)(void *data), void *data,
-                              struct execute_work *ew)
-{
-       if (!in_interrupt()) {
-               fn(data);
-               return 0;
-       }
-
-       INIT_WORK(&ew->work, fn, data);
-       schedule_work(&ew->work);
-
-       return 1;
-}
-EXPORT_SYMBOL_GPL(execute_in_process_context);
-
 int keventd_up(void)
 {
        return keventd_wq != NULL;
@@ -547,7 +518,7 @@ static void take_over_work(struct workqueue_struct *wq, unsigned int cpu)
 }
 
 /* We're holding the cpucontrol mutex here */
-static int workqueue_cpu_callback(struct notifier_block *nfb,
+static int __devinit workqueue_cpu_callback(struct notifier_block *nfb,
                                  unsigned long action,
                                  void *hcpu)
 {