summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-11-27 09:28:07 +0100
committerTakashi Iwai <tiwai@suse.de>2013-11-27 09:28:07 +0100
commit8b9fa59f1f4b58dc2aa6ed41cfdc4984b8a6dbe2 (patch)
tree5a5a1b3c7f1b7ad5128b03145d906a33cd2e2cce
parent679f095ea33fb511b813dc3e40ea30f0b209d984 (diff)
parentd8400e3cfdeae4d14c743ee5eb70e1224596307e (diff)
downloadalsa-driver-build-unstable-8b9fa59f1f4b58dc2aa6ed41cfdc4984b8a6dbe2.tar.gz
Merge remote-tracking branch 'stable/build' into build
-rw-r--r--alsa/acore/memalloc.patch24
-rw-r--r--alsa/acore/sound.patch34
-rw-r--r--alsa/include/adriver.h4
3 files changed, 41 insertions, 21 deletions
diff --git a/alsa/acore/memalloc.patch b/alsa/acore/memalloc.patch
index 00faf2349..fb53dfe87 100644
--- a/alsa/acore/memalloc.patch
+++ b/alsa/acore/memalloc.patch
@@ -1,5 +1,5 @@
---- ../alsa-kernel/core/memalloc.c 2013-10-29 12:01:07.687030626 +0100
-+++ memalloc.c 2013-10-29 12:02:03.024035743 +0100
+--- ../alsa-kernel/core/memalloc.c 2013-11-27 08:48:59.676641382 +0100
++++ memalloc.c 2013-11-27 09:07:09.599262109 +0100
@@ -1,3 +1,4 @@
+#include "memalloc.inc"
/*
@@ -213,23 +213,23 @@
dmab->area = NULL;
dmab->addr = 0;
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 13, 0)
if (dev->of_node)
pool = of_get_named_gen_pool(dev->of_node, "iram", 0);
-@@ -189,6 +347,7 @@
- return;
+@@ -185,6 +343,7 @@
+ dmab->private_data = pool;
- dmab->addr = gen_pool_virt_to_phys(pool, (unsigned long)dmab->area);
+ dmab->area = gen_pool_dma_alloc(pool, size, &dmab->addr);
+#endif
}
/**
-@@ -197,10 +356,12 @@
+@@ -193,10 +352,12 @@
*/
static void snd_free_dev_iram(struct snd_dma_buffer *dmab)
{
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 13, 0)
struct gen_pool *pool = dmab->private_data;
if (pool && dmab->area)
@@ -238,7 +238,7 @@
}
#endif /* CONFIG_GENERIC_ALLOCATOR */
#endif /* CONFIG_HAS_DMA */
-@@ -428,6 +589,7 @@
+@@ -424,6 +585,7 @@
#ifdef CONFIG_PROC_FS
@@ -246,7 +246,7 @@
/*
* proc file interface
*/
-@@ -566,6 +728,7 @@
+@@ -562,6 +724,7 @@
.release = single_release,
};
@@ -254,7 +254,7 @@
#endif /* CONFIG_PROC_FS */
/*
-@@ -575,15 +738,23 @@
+@@ -571,15 +734,23 @@
static int __init snd_mem_init(void)
{
#ifdef CONFIG_PROC_FS
@@ -278,7 +278,7 @@
free_all_reserved_pages();
if (snd_allocated_pages > 0)
printk(KERN_ERR "snd-malloc: Memory leak? pages not freed = %li\n", snd_allocated_pages);
-@@ -606,3 +777,5 @@
+@@ -602,3 +773,5 @@
EXPORT_SYMBOL(snd_malloc_pages);
EXPORT_SYMBOL(snd_free_pages);
diff --git a/alsa/acore/sound.patch b/alsa/acore/sound.patch
index ed2a4d291..269aab7bf 100644
--- a/alsa/acore/sound.patch
+++ b/alsa/acore/sound.patch
@@ -1,11 +1,27 @@
---- ../alsa-kernel/core/sound.c 2012-09-05 09:19:31.000000000 +0200
-+++ sound.c 2012-10-15 10:58:19.000000000 +0200
+--- ../alsa-kernel/core/sound.c 2013-11-27 08:48:59.677641394 +0100
++++ sound.c 2013-11-27 09:17:08.461746060 +0100
@@ -1,3 +1,4 @@
+#include "adriver.h"
/*
* Advanced Linux Sound Architecture
* Copyright (c) by Jaroslav Kysela <perex@perex.cz>
-@@ -289,8 +290,18 @@
+@@ -149,6 +150,15 @@
+ #define autoload_device(minor) NULL
+ #endif /* CONFIG_MODULES */
+
++#ifndef replace_fops
++#define replace_fops(f, fops) \
++ do { \
++ struct file *__file = (f); \
++ fops_put(__file->f_op); \
++ BUG_ON(!(__file->f_op = (fops))); \
++ } while(0)
++#endif
++
+ static int snd_open(struct inode *inode, struct file *file)
+ {
+ unsigned int minor = iminor(inode);
+@@ -289,8 +299,18 @@
return minor;
}
snd_minors[minor] = preg;
@@ -24,7 +40,7 @@
if (IS_ERR(preg->dev)) {
snd_minors[minor] = NULL;
mutex_unlock(&sound_mutex);
-@@ -298,6 +309,22 @@
+@@ -298,6 +318,22 @@
kfree(preg);
return minor;
}
@@ -47,7 +63,7 @@
mutex_unlock(&sound_mutex);
return 0;
-@@ -345,7 +372,13 @@
+@@ -345,7 +381,13 @@
return -EINVAL;
}
@@ -61,7 +77,7 @@
kfree(snd_minors[minor]);
snd_minors[minor] = NULL;
-@@ -358,16 +391,28 @@
+@@ -358,16 +400,28 @@
int snd_add_device_sysfs_file(int type, struct snd_card *card, int dev,
struct device_attribute *attr)
{
@@ -91,7 +107,7 @@
}
EXPORT_SYMBOL(snd_add_device_sysfs_file);
-@@ -453,6 +498,19 @@
+@@ -453,6 +507,19 @@
* INIT PART
*/
@@ -111,7 +127,7 @@
static int __init alsa_sound_init(void)
{
snd_major = major;
-@@ -463,8 +521,10 @@
+@@ -463,8 +530,10 @@
}
if (snd_info_init() < 0) {
unregister_chrdev(major, "alsa");
@@ -122,7 +138,7 @@
snd_info_minor_register();
#ifndef MODULE
printk(KERN_INFO "Advanced Linux Sound Architecture Driver Initialized.\n");
-@@ -475,9 +535,13 @@
+@@ -475,9 +544,13 @@
static void __exit alsa_sound_exit(void)
{
snd_info_minor_unregister();
diff --git a/alsa/include/adriver.h b/alsa/include/adriver.h
index c68ba42f3..ae02ed297 100644
--- a/alsa/include/adriver.h
+++ b/alsa/include/adriver.h
@@ -1775,4 +1775,8 @@ static inline struct fd fdget(unsigned int fd)
}
#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+#define reinit_completion(x) ((x)->done = 0)
+#endif
+
#endif /* __SOUND_LOCAL_DRIVER_H */