diff options
author | Takashi Iwai <tiwai@suse.de> | 2013-11-27 09:28:07 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2013-11-27 09:28:07 +0100 |
commit | 8b9fa59f1f4b58dc2aa6ed41cfdc4984b8a6dbe2 (patch) | |
tree | 5a5a1b3c7f1b7ad5128b03145d906a33cd2e2cce | |
parent | 679f095ea33fb511b813dc3e40ea30f0b209d984 (diff) | |
parent | d8400e3cfdeae4d14c743ee5eb70e1224596307e (diff) | |
download | alsa-driver-build-unstable-8b9fa59f1f4b58dc2aa6ed41cfdc4984b8a6dbe2.tar.gz |
Merge remote-tracking branch 'stable/build' into build
-rw-r--r-- | alsa/acore/memalloc.patch | 24 | ||||
-rw-r--r-- | alsa/acore/sound.patch | 34 | ||||
-rw-r--r-- | alsa/include/adriver.h | 4 |
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 */ |