aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-02-28 17:03:27 +0100
committerTakashi Iwai <tiwai@suse.de>2011-02-28 17:03:27 +0100
commita492d185c55fceaf3e074012578a4d56c4f36f4b (patch)
tree261b2ef184591fa062cd4409d65b6c1ebe302a08
parent94ede6e3802d15d2df05639e4245b7c09d1f0145 (diff)
downloadalsa-driver-build-unstable-a492d185c55fceaf3e074012578a4d56c4f36f4b.tar.gz
Add a wrapper of async API for older kernels
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--configure.in2
-rw-r--r--include/async_compat.h37
2 files changed, 39 insertions, 0 deletions
diff --git a/configure.in b/configure.in
index 0d6ef7f1d..d506d46cd 100644
--- a/configure.in
+++ b/configure.in
@@ -1584,6 +1584,8 @@ CHECK_KERNEL_HEADER(linux/gfp.h)
CHECK_KERNEL_HEADER(pcmcia/cs_types.h, [#define SND_HAVE_DUMMY_CS_TYPES_H])
CHECK_KERNEL_HEADER(pcmcia/cs.h, [#define SND_HAVE_DUMMY_CS_H])
CHECK_KERNEL_HEADER(linux/lzo.h)
+CHECK_KERNEL_HEADER(linux/async.h, [#include \"async_compat.h\"
+])
mkdir -p include/trace/events
echo "Creating a dummy <trace/events/asoc.h>..."
diff --git a/include/async_compat.h b/include/async_compat.h
new file mode 100644
index 000000000..bcde53f0b
--- /dev/null
+++ b/include/async_compat.h
@@ -0,0 +1,37 @@
+#ifndef _ASYNC_COMPAT_H
+#define _ASYNC_COMPAT_H
+
+typedef u64 async_cookie_t;
+typedef void (async_func_ptr) (void *data, async_cookie_t cookie);
+
+/* just do synchronous calls */
+static inline async_cookie_t
+async_schedule_domain(async_func_ptr *ptr, void *data, struct list_head *list)
+{
+ ptr(data, 0);
+ return 0;
+}
+
+static inline void async_synchronize_full(void)
+{
+}
+
+static inline async_cookie_t async_schedule(async_func_ptr *ptr, void *data)
+{
+ return async_schedule_domain(ptr, data, NULL);
+}
+
+static inline void async_synchronize_full_domain(struct list_head *list)
+{
+}
+
+static inline void async_synchronize_cookie(async_cookie_t cookie)
+{
+}
+
+static inline void async_synchronize_cookie_domain(async_cookie_t cookie,
+ struct list_head *list)
+{
+}
+
+#endif