diff options
author | Jaroslav Kysela <perex@perex.cz> | 2011-01-05 11:44:22 +0100 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2011-01-05 11:44:22 +0100 |
commit | 06f700f4ff39aff8c4884af7cfb92a7dfbe0daf1 (patch) | |
tree | 9c8e9a53194797c9207ae150a38f5ebfa9ae1c0e | |
parent | 9adba376090271f05ab793b8e7582a1a3adf4237 (diff) | |
parent | 6b04b6c2f82e9a7c29c21a16c03ec9fe36c36969 (diff) | |
download | alsa-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.in | 2 | ||||
-rw-r--r-- | include/adriver.h | 49 | ||||
-rw-r--r-- | include/trace_events_asoc_compat.h | 3 | ||||
-rw-r--r-- | pci/hda/Makefile | 9 | ||||
-rw-r--r-- | pci/hda/dummy.c | 9 | ||||
-rw-r--r-- | soc/soc-core.patch | 16 | ||||
-rw-r--r-- | utils/mod-deps.c | 2 |
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 */ |