]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - kernel/workqueue.c
Merge branch 'master' into for-2.6.39
[karo-tx-linux.git] / kernel / workqueue.c
index ee6578b578ad3c3e4afb47cdc5fe78f0a572d3fc..572f559f6cb992695425f138e94b533a88d8e36f 100644 (file)
@@ -251,10 +251,12 @@ struct workqueue_struct *system_wq __read_mostly;
 struct workqueue_struct *system_long_wq __read_mostly;
 struct workqueue_struct *system_nrt_wq __read_mostly;
 struct workqueue_struct *system_unbound_wq __read_mostly;
+struct workqueue_struct *system_freezeable_wq __read_mostly;
 EXPORT_SYMBOL_GPL(system_wq);
 EXPORT_SYMBOL_GPL(system_long_wq);
 EXPORT_SYMBOL_GPL(system_nrt_wq);
 EXPORT_SYMBOL_GPL(system_unbound_wq);
+EXPORT_SYMBOL_GPL(system_freezeable_wq);
 
 #define CREATE_TRACE_POINTS
 #include <trace/events/workqueue.h>
@@ -3775,8 +3777,10 @@ static int __init init_workqueues(void)
        system_nrt_wq = alloc_workqueue("events_nrt", WQ_NON_REENTRANT, 0);
        system_unbound_wq = alloc_workqueue("events_unbound", WQ_UNBOUND,
                                            WQ_UNBOUND_MAX_ACTIVE);
+       system_freezeable_wq = alloc_workqueue("events_freezeable",
+                                              WQ_FREEZEABLE, 0);
        BUG_ON(!system_wq || !system_long_wq || !system_nrt_wq ||
-              !system_unbound_wq);
+              !system_unbound_wq || !system_freezeable_wq);
        return 0;
 }
 early_initcall(init_workqueues);