]> rtime.felk.cvut.cz Git - zynq/linux.git/blobdiff - include/linux/work-simple.h
work-simple: Simple work queue implemenation
[zynq/linux.git] / include / linux / work-simple.h
diff --git a/include/linux/work-simple.h b/include/linux/work-simple.h
new file mode 100644 (file)
index 0000000..f175fa9
--- /dev/null
@@ -0,0 +1,24 @@
+#ifndef _LINUX_SWORK_H
+#define _LINUX_SWORK_H
+
+#include <linux/list.h>
+
+struct swork_event {
+       struct list_head item;
+       unsigned long flags;
+       void (*func)(struct swork_event *);
+};
+
+static inline void INIT_SWORK(struct swork_event *event,
+                             void (*func)(struct swork_event *))
+{
+       event->flags = 0;
+       event->func = func;
+}
+
+bool swork_queue(struct swork_event *sev);
+
+int swork_get(void);
+void swork_put(void);
+
+#endif /* _LINUX_SWORK_H */