aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2011-01-05 11:44:22 +0100
committerJaroslav Kysela <perex@perex.cz>2011-01-05 11:44:22 +0100
commit06f700f4ff39aff8c4884af7cfb92a7dfbe0daf1 (patch)
tree9c8e9a53194797c9207ae150a38f5ebfa9ae1c0e
parent9adba376090271f05ab793b8e7582a1a3adf4237 (diff)
parent6b04b6c2f82e9a7c29c21a16c03ec9fe36c36969 (diff)
downloadalsa-driver-build-unstable-06f700f4ff39aff8c4884af7cfb92a7dfbe0daf1.tar.gz
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/alsa-driver-build
-rw-r--r--configure.in2
-rw-r--r--include/adriver.h49
-rw-r--r--include/trace_events_asoc_compat.h3
-rw-r--r--pci/hda/Makefile9
-rw-r--r--pci/hda/dummy.c9
-rw-r--r--soc/soc-core.patch16
-rw-r--r--utils/mod-deps.c2
7 files changed, 82 insertions, 8 deletions
diff --git a/configure.in b/configure.in
index d2cec73e2..1ab696b3e 100644
--- a/configure.in
+++ b/configure.in
@@ -462,6 +462,7 @@ AC_DEFUN([CHECK_KERNEL_HEADER], [
if test ! -f include/$1; then
mkdir -p include/linux include/asm include/media
mkdir -p include/linux/regulator include/linux/usb include/pcmcia
+ mkdir -p include/trace/events
if test -z "$2" ; then
echo "Creating a dummy <$1>..."
touch include/$1
@@ -1584,6 +1585,7 @@ 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(trace/events/asoc.h, [#include \"trace_events_asoc_compat.h\"
])
+CHECK_KERNEL_HEADER(linux/lzo.h)
dnl Check for dump_stack
if test "$kversion.$kpatchlevel" = "2.6"; then
diff --git a/include/adriver.h b/include/adriver.h
index 2a2f1aa64..c16becea3 100644
--- a/include/adriver.h
+++ b/include/adriver.h
@@ -1932,6 +1932,55 @@ static inline void *vzalloc(unsigned long size)
}
#endif
+/* flush_delayed_work_sync() wrapper */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 37)
+#include <linux/workqueue.h>
+static inline bool flush_work_sync(struct work_struct *work)
+{
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 27)
+ /* XXX */
+ flush_scheduled_work();
+ return true;
+#else
+ if (!flush_work(work))
+ return false;
+ while (flush_work(work))
+ ;
+ return true;
+#endif
+}
+
+static inline bool flush_delayed_work_sync(struct delayed_work *dwork)
+{
+ bool ret;
+ ret = cancel_delayed_work(dwork);
+ if (ret) {
+ schedule_delayed_work(dwork, 0);
+ flush_scheduled_work();
+ }
+ return ret;
+}
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 23)
+/* XXX this is a workaround; these are really different, but almost same
+ * as used in the usual free/error path
+ */
+#define cancel_delayed_work_sync flush_delayed_work_sync
+#endif
+
+#endif /* < 2.6.37 */
+
+/* pm_wakeup_event() wrapper */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 37)
+#define pm_wakeup_event(dev, msec)
+#endif
+
+/* request_any_context_irq() wrapper */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 35)
+#define request_any_context_irq(irq, fn, flags, name, dev_id) \
+ request_irq(irq, fn, flags, name, dev_id)
+#endif
+
/* hack - CONFIG_SND_HDA_INPUT_JACK can be wrongly set for older kernels */
#ifndef CONFIG_SND_JACK
#undef CONFIG_SND_HDA_INPUT_JACK
diff --git a/include/trace_events_asoc_compat.h b/include/trace_events_asoc_compat.h
index 598f0622f..b7a6b0492 100644
--- a/include/trace_events_asoc_compat.h
+++ b/include/trace_events_asoc_compat.h
@@ -9,4 +9,7 @@
#define trace_snd_soc_dapm_start(card)
#define trace_snd_soc_dapm_done(card)
#define trace_snd_soc_dapm_widget_power(w, power)
+#define trace_snd_soc_jack_report(jack, mask, status)
+#define trace_snd_soc_jack_notify(jack, status)
+#define trace_snd_soc_jack_irq(name)
#endif /* _TRACE_ASOC_H */
diff --git a/pci/hda/Makefile b/pci/hda/Makefile
index 23dec5457..e7baf44b5 100644
--- a/pci/hda/Makefile
+++ b/pci/hda/Makefile
@@ -13,6 +13,15 @@ EXTRA_CFLAGS += -I$(SND_TOPDIR)/alsa-kernel/pci/hda
include $(SND_TOPDIR)/alsa-kernel/pci/hda/Makefile
+ifdef CONFIG_SND_HDA_CODEC_HDMI
+snd-hda-codec-atihdmi-objs := dummy.o
+snd-hda-codec-intelhdmi-objs := dummy.o
+snd-hda-codec-nvhdmi-objs := dummy.o
+obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-atihdmi.o
+obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-intelhdmi.o
+obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-nvhdmi.o
+endif
+
include $(SND_TOPDIR)/Rules.make
hda_intel.c: hda_intel.patch $(SND_TOPDIR)/alsa-kernel/pci/hda/hda_intel.c
diff --git a/pci/hda/dummy.c b/pci/hda/dummy.c
new file mode 100644
index 000000000..a33f83aec
--- /dev/null
+++ b/pci/hda/dummy.c
@@ -0,0 +1,9 @@
+#include <linux/init.h>
+#include <linux/module.h>
+
+static int __init dummy_init(void)
+{
+ return -EINVAL;
+}
+
+module_init(dummy_init)
diff --git a/soc/soc-core.patch b/soc/soc-core.patch
index 988e1d097..7f73cbaea 100644
--- a/soc/soc-core.patch
+++ b/soc/soc-core.patch
@@ -1,5 +1,5 @@
---- ../alsa-kernel/soc/soc-core.c 2010-09-30 23:00:05.764410616 +0200
-+++ soc-core.c 2010-10-04 09:16:06.920758499 +0200
+--- ../alsa-kernel/soc/soc-core.c 2010-12-08 17:36:03.000000000 +0100
++++ soc-core.c 2010-12-08 17:36:56.000000000 +0100
@@ -1,3 +1,8 @@
+#include "adriver.h"
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 27)
@@ -9,17 +9,17 @@
/*
* soc-core.c -- ALSA SoC Audio Layer
*
-@@ -1452,7 +1457,9 @@
-
- /* register the rtd device */
+@@ -1496,7 +1501,9 @@
+ rtd->card = card;
+ rtd->dev.parent = card->dev;
rtd->dev.release = rtd_release;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
- rtd->dev.init_name = dai_link->name;
+ rtd->dev.init_name = name;
+#endif
ret = device_register(&rtd->dev);
if (ret < 0) {
- printk(KERN_ERR "asoc: failed to register DAI runtime device %d\n", ret);
-@@ -1693,21 +1700,43 @@
+ dev_err(card->dev,
+@@ -1966,21 +1973,43 @@
return 0;
}
diff --git a/utils/mod-deps.c b/utils/mod-deps.c
index 4960c71e6..cd7f92d60 100644
--- a/utils/mod-deps.c
+++ b/utils/mod-deps.c
@@ -165,6 +165,8 @@ static char *kernel_deps[] = {
"HAS_IOPORT",
"EXPERIMENTAL",
"BROKEN",
+ "LZO_COMPRESS",
+ "LZO_DECOMPRESS",
/* sound common */
"AC97_BUS",
/* workaround */