summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2014-02-14 10:53:57 +0100
committerTakashi Iwai <tiwai@suse.de>2014-02-14 10:53:57 +0100
commit83ac7c11abd5c5ce134f9944eb8737743138b24a (patch)
tree9666e16e85d81da15f5d547dabe480dfeb323471
parentfdc19212371684782577e14810a1e97c5eedf8cd (diff)
downloadalsa-driver-build-unstable-83ac7c11abd5c5ce134f9944eb8737743138b24a.tar.gz
Refresh patches
Mostly for adjusting snd_card_new() changes. The CONFIG_SYSFS_DEPRECATED ifdefs are dropped as well. Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--alsa/acore/info.patch22
-rw-r--r--alsa/acore/init.patch101
-rw-r--r--alsa/acore/memalloc.patch28
-rw-r--r--alsa/acore/pcm.patch12
-rw-r--r--alsa/acore/pcm_native.patch54
-rw-r--r--alsa/acore/sound.patch6
-rw-r--r--alsa/drivers/pcsp/pcsp.patch8
-rw-r--r--alsa/include/sound/core.patch40
-rw-r--r--alsa/include/sound/pcm.patch28
-rw-r--r--alsa/pci/hda/hda_beep.patch12
-rw-r--r--alsa/pci/hda/hda_intel.patch38
-rw-r--r--alsa/pci/via82xx.patch18
-rw-r--r--alsa/usb/usx2y/usbusx2y.patch12
-rw-r--r--alsa/usb/usx2y/usx2yhwdeppcm.patch6
14 files changed, 135 insertions, 250 deletions
diff --git a/alsa/acore/info.patch b/alsa/acore/info.patch
index d983bf3c2..2cb0f2f52 100644
--- a/alsa/acore/info.patch
+++ b/alsa/acore/info.patch
@@ -1,5 +1,5 @@
---- ../alsa-kernel/core/info.c 2013-05-13 10:01:02.042914933 +0200
-+++ info.c 2013-05-13 10:18:58.422914805 +0200
+--- ../alsa-kernel/core/info.c 2014-02-14 08:10:32.317887679 +0100
++++ info.c 2014-02-14 10:32:00.169618030 +0100
@@ -1,3 +1,7 @@
+#define __NO_VERSION__
+#include "adriver.h"
@@ -54,7 +54,7 @@
static loff_t snd_info_entry_llseek(struct file *file, loff_t offset, int orig)
{
struct snd_info_private_data *data;
-@@ -485,9 +516,28 @@
+@@ -490,9 +521,28 @@
return -ENOTTY;
}
@@ -83,7 +83,7 @@
struct snd_info_private_data *data;
struct snd_info_entry *entry;
-@@ -513,7 +563,11 @@
+@@ -518,7 +568,11 @@
.read = snd_info_entry_read,
.write = snd_info_entry_write,
.poll = snd_info_entry_poll,
@@ -95,7 +95,7 @@
.mmap = snd_info_entry_mmap,
.open = snd_info_entry_open,
.release = snd_info_entry_release,
-@@ -573,7 +627,11 @@
+@@ -578,7 +632,11 @@
#ifdef CONFIG_SND_OSSEMUL
snd_info_free_entry(snd_oss_root);
#endif
@@ -107,7 +107,7 @@
}
return 0;
}
-@@ -635,7 +693,11 @@
+@@ -640,7 +698,11 @@
{
mutex_lock(&info_mutex);
if (card->proc_root_link) {
@@ -119,7 +119,7 @@
card->proc_root_link = NULL;
}
if (strcmp(card->id, card->proc_root->name))
-@@ -654,7 +716,11 @@
+@@ -659,7 +721,11 @@
if (!card)
return;
mutex_lock(&info_mutex);
@@ -131,7 +131,7 @@
card->proc_root_link = NULL;
if (card->proc_root)
snd_info_disconnect(card->proc_root);
-@@ -842,7 +908,11 @@
+@@ -847,7 +913,11 @@
list_del_init(&entry->list);
root = entry->parent == NULL ? snd_proc_root : entry->parent->p;
snd_BUG_ON(!root);
@@ -143,7 +143,7 @@
entry->p = NULL;
}
-@@ -943,6 +1013,17 @@
+@@ -948,6 +1018,17 @@
return -ENXIO;
root = entry->parent == NULL ? snd_proc_root : entry->parent->p;
mutex_lock(&info_mutex);
@@ -161,7 +161,7 @@
if (S_ISDIR(entry->mode)) {
p = proc_mkdir_mode(entry->name, entry->mode, root);
if (!p) {
-@@ -958,6 +1039,7 @@
+@@ -963,6 +1044,7 @@
}
proc_set_size(p, entry->size);
}
@@ -169,7 +169,7 @@
entry->p = p;
if (entry->parent)
list_add_tail(&entry->list, &entry->parent->children);
-@@ -975,9 +1057,20 @@
+@@ -980,9 +1062,20 @@
static void snd_info_version_read(struct snd_info_entry *entry, struct snd_info_buffer *buffer)
{
diff --git a/alsa/acore/init.patch b/alsa/acore/init.patch
index 3d7c90f16..d73e460ce 100644
--- a/alsa/acore/init.patch
+++ b/alsa/acore/init.patch
@@ -1,12 +1,12 @@
---- ../alsa-kernel/core/init.c 2012-04-05 17:55:31.000000000 +0200
-+++ init.c 2012-07-19 14:04:35.000000000 +0200
+--- ../alsa-kernel/core/init.c 2014-02-14 10:29:56.461067921 +0100
++++ init.c 2014-02-14 10:35:47.863521502 +0100
@@ -1,3 +1,5 @@
+#define __NO_VERSION__
+#include "adriver.h"
/*
* Initialization routines
* Copyright (c) by Jaroslav Kysela <perex@perex.cz>
-@@ -298,11 +300,19 @@
+@@ -329,11 +331,19 @@
return POLLERR | POLLNVAL;
}
@@ -26,7 +26,7 @@
static int snd_disconnect_mmap(struct file *file, struct vm_area_struct *vma)
{
-@@ -322,10 +332,14 @@
+@@ -353,10 +363,14 @@
.write = snd_disconnect_write,
.release = snd_disconnect_release,
.poll = snd_disconnect_poll,
@@ -41,96 +41,3 @@
.mmap = snd_disconnect_mmap,
.fasync = snd_disconnect_fasync
};
-@@ -394,10 +408,12 @@
- snd_printk(KERN_ERR "not all devices for card %i can be disconnected\n", card->number);
-
- snd_info_card_disconnect(card);
-+#ifndef CONFIG_SYSFS_DEPRECATED
- if (card->card_dev) {
- device_unregister(card->card_dev);
- card->card_dev = NULL;
- }
-+#endif
- #ifdef CONFIG_PM
- wake_up(&card->power_sleep);
- #endif
-@@ -600,6 +616,7 @@
- }
- EXPORT_SYMBOL(snd_card_set_id);
-
-+#ifndef CONFIG_SYSFS_DEPRECATED
- static ssize_t
- card_id_show_attr(struct device *dev,
- struct device_attribute *attr, char *buf)
-@@ -651,6 +668,7 @@
-
- static struct device_attribute card_number_attrs =
- __ATTR(number, S_IRUGO, card_number_show_attr, NULL);
-+#endif /* CONFIG_SYSFS_DEPRECATED */
-
- /**
- * snd_card_register - register the soundcard
-@@ -669,15 +687,27 @@
-
- if (snd_BUG_ON(!card))
- return -EINVAL;
--
-+#ifndef CONFIG_SYSFS_DEPRECATED
- if (!card->card_dev) {
-+#ifdef CONFIG_SND_HAS_DEVICE_CREATE_DRVDATA
-+ card->card_dev = device_create_drvdata(sound_class, card->dev,
-+ MKDEV(0, 0), card,
-+ "card%i", card->number);
-+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
- card->card_dev = device_create(sound_class, card->dev,
- MKDEV(0, 0), card,
- "card%i", card->number);
-+#else
-+ card->card_dev = device_create(sound_class, card->dev,
-+ MKDEV(0, 0),
-+ "card%i", card->number);
-+ if (card->card_dev && !IS_ERR(card->card_dev))
-+ dev_set_drvdata(card->card_dev, card);
-+#endif
- if (IS_ERR(card->card_dev))
- card->card_dev = NULL;
- }
--
-+#endif
- if ((err = snd_device_register_all(card)) < 0)
- return err;
- mutex_lock(&snd_card_mutex);
-@@ -705,6 +735,7 @@
- if (snd_mixer_oss_notify_callback)
- snd_mixer_oss_notify_callback(card, SND_MIXER_OSS_NOTIFY_REGISTER);
- #endif
-+#ifndef CONFIG_SYSFS_DEPRECATED
- if (card->card_dev) {
- err = device_create_file(card->card_dev, &card_id_attrs);
- if (err < 0)
-@@ -713,7 +744,7 @@
- if (err < 0)
- return err;
- }
--
-+#endif
- return 0;
- }
-
-@@ -979,3 +1010,16 @@
-
- EXPORT_SYMBOL(snd_power_wait);
- #endif /* CONFIG_PM */
-+
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 30)
-+/* just for old ABI compatibility */
-+struct snd_card *snd_card_new(int idx, const char *id,
-+ struct module *module, int extra_size)
-+{
-+ struct snd_card *card;
-+ if (snd_card_create(idx, id, module, extra_size, &card) < 0)
-+ return NULL;
-+ return card;
-+}
-+EXPORT_SYMBOL(snd_card_new);
-+#endif
diff --git a/alsa/acore/memalloc.patch b/alsa/acore/memalloc.patch
index e1aef9ce9..2837bf0e9 100644
--- a/alsa/acore/memalloc.patch
+++ b/alsa/acore/memalloc.patch
@@ -1,12 +1,12 @@
---- ../alsa-kernel/core/memalloc.c 2014-01-08 16:20:14.751778402 +0100
-+++ memalloc.c 2014-01-08 16:25:14.024853133 +0100
+--- ../alsa-kernel/core/memalloc.c 2014-02-14 08:10:32.318887692 +0100
++++ memalloc.c 2014-02-14 10:46:42.307855817 +0100
@@ -1,3 +1,4 @@
+#include "memalloc.inc"
/*
* Copyright (c) by Jaroslav Kysela <perex@perex.cz>
* Takashi Iwai <tiwai@suse.de>
-@@ -42,11 +43,131 @@
-
+@@ -28,11 +29,131 @@
+ #include <sound/memalloc.h>
/*
+ * Hacks
@@ -137,7 +137,7 @@
/**
* snd_malloc_pages - allocate pages with the given size
* @size: the size to allocate in bytes
-@@ -59,6 +180,7 @@
+@@ -45,6 +166,7 @@
void *snd_malloc_pages(size_t size, gfp_t gfp_flags)
{
int pg;
@@ -145,7 +145,7 @@
if (WARN_ON(!size))
return NULL;
-@@ -66,7 +188,9 @@
+@@ -52,7 +174,9 @@
return NULL;
gfp_flags |= __GFP_COMP; /* compound page lets parts be mapped */
pg = get_order(size);
@@ -156,7 +156,7 @@
}
/**
-@@ -83,6 +207,7 @@
+@@ -69,6 +193,7 @@
if (ptr == NULL)
return;
pg = get_order(size);
@@ -164,7 +164,7 @@
free_pages((unsigned long) ptr, pg);
}
-@@ -96,6 +221,7 @@
+@@ -82,6 +207,7 @@
/* allocate the coherent DMA pages */
static void *snd_malloc_dev_pages(struct device *dev, size_t size, dma_addr_t *dma)
{
@@ -172,7 +172,7 @@
int pg;
gfp_t gfp_flags;
-@@ -106,7 +232,11 @@
+@@ -92,7 +218,11 @@
| __GFP_COMP /* compound page lets parts be mapped */
| __GFP_NORETRY /* don't trigger OOM-killer */
| __GFP_NOWARN; /* no stack trace print - this call is non-critical */
@@ -185,7 +185,7 @@
}
/* free the coherent DMA pages */
-@@ -118,6 +248,7 @@
+@@ -104,6 +234,7 @@
if (ptr == NULL)
return;
pg = get_order(size);
@@ -193,7 +193,7 @@
dma_free_coherent(dev, PAGE_SIZE << pg, ptr, dma);
}
-@@ -137,6 +268,7 @@
+@@ -123,6 +254,7 @@
dmab->area = NULL;
dmab->addr = 0;
@@ -201,7 +201,7 @@
if (dev->of_node)
pool = of_get_named_gen_pool(dev->of_node, "iram", 0);
-@@ -147,6 +279,7 @@
+@@ -133,6 +265,7 @@
dmab->private_data = pool;
dmab->area = gen_pool_dma_alloc(pool, size, &dmab->addr);
@@ -209,7 +209,7 @@
}
/**
-@@ -155,10 +288,12 @@
+@@ -141,10 +274,12 @@
*/
static void snd_free_dev_iram(struct snd_dma_buffer *dmab)
{
@@ -222,7 +222,7 @@
}
#endif /* CONFIG_GENERIC_ALLOCATOR */
#endif /* CONFIG_HAS_DMA */
-@@ -311,3 +446,5 @@
+@@ -297,3 +432,5 @@
EXPORT_SYMBOL(snd_malloc_pages);
EXPORT_SYMBOL(snd_free_pages);
diff --git a/alsa/acore/pcm.patch b/alsa/acore/pcm.patch
index 84058ee3c..262a3b8a4 100644
--- a/alsa/acore/pcm.patch
+++ b/alsa/acore/pcm.patch
@@ -1,11 +1,11 @@
---- ../alsa-kernel/core/pcm.c 2009-11-10 18:21:52.000000000 +0100
-+++ pcm.c 2009-12-15 22:17:50.000000000 +0100
+--- ../alsa-kernel/core/pcm.c 2014-02-14 08:10:32.319887704 +0100
++++ pcm.c 2014-02-14 10:32:00.189618285 +0100
@@ -1,3 +1,4 @@
+#include "adriver.h"
/*
* Digital Audio (PCM) abstract layer
* Copyright (c) by Jaroslav Kysela <perex@perex.cz>
-@@ -928,8 +929,12 @@
+@@ -998,8 +999,12 @@
substream->pstr->substream_opened--;
}
@@ -18,7 +18,7 @@
{
struct snd_pcm *pcm;
const char *str;
-@@ -940,7 +945,11 @@
+@@ -1010,7 +1015,11 @@
[SNDRV_PCM_CLASS_DIGITIZER] = "digitizer",
};
@@ -30,7 +30,7 @@
pcm->dev_class > SNDRV_PCM_CLASS_LAST)
str = "none";
else
-@@ -948,7 +957,11 @@
+@@ -1018,7 +1027,11 @@
return snprintf(buf, PAGE_SIZE, "%s\n", str);
}
@@ -42,7 +42,7 @@
__ATTR(pcm_class, S_IRUGO, show_pcm_class, NULL);
static int snd_pcm_dev_register(struct snd_device *device)
-@@ -1000,7 +1013,7 @@
+@@ -1070,7 +1083,7 @@
return err;
}
snd_add_device_sysfs_file(devtype, pcm->card, pcm->device,
diff --git a/alsa/acore/pcm_native.patch b/alsa/acore/pcm_native.patch
index abaeffc0b..a10ad9e05 100644
--- a/alsa/acore/pcm_native.patch
+++ b/alsa/acore/pcm_native.patch
@@ -1,5 +1,5 @@
---- ../alsa-kernel/core/pcm_native.c 2013-07-09 17:32:00.144639747 +0200
-+++ pcm_native.c 2013-07-09 17:48:51.026434838 +0200
+--- ../alsa-kernel/core/pcm_native.c 2014-02-14 08:10:32.320887717 +0100
++++ pcm_native.c 2014-02-14 10:32:00.211618565 +0100
@@ -1,3 +1,7 @@
+#define __NO_VERSION__
+#include "adriver.h"
@@ -23,7 +23,7 @@
#include <linux/dma-mapping.h>
#include <sound/core.h>
#include <sound/control.h>
-@@ -377,7 +383,10 @@ static void snd_pcm_set_state(struct snd
+@@ -377,7 +383,10 @@
snd_pcm_stream_unlock_irq(substream);
}
@@ -35,7 +35,7 @@
struct snd_pcm_hw_params *params)
{
struct snd_pcm_runtime *runtime;
-@@ -462,11 +471,33 @@ static int snd_pcm_hw_params(struct snd_
+@@ -462,11 +471,33 @@
snd_pcm_timer_resolution_change(substream);
snd_pcm_set_state(substream, SNDRV_PCM_STATE_SETUP);
@@ -69,7 +69,7 @@
return 0;
_error:
/* hardware might be unusable from this time,
-@@ -521,7 +552,17 @@ static int snd_pcm_hw_free(struct snd_pc
+@@ -521,7 +552,17 @@
if (substream->ops->hw_free)
result = substream->ops->hw_free(substream);
snd_pcm_set_state(substream, SNDRV_PCM_STATE_OPEN);
@@ -87,9 +87,9 @@
return result;
}
-@@ -956,7 +997,11 @@ static struct action_ops snd_pcm_action_
+@@ -956,7 +997,11 @@
*
- * Return: Zero if succesful, or a negative error code.
+ * Return: Zero if successful, or a negative error code.
*/
+#if defined(__GENKSYMS__) && LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 38)
+int snd_pcm_stop(struct snd_pcm_substream *substream, int state)
@@ -99,7 +99,7 @@
{
return snd_pcm_action(&snd_pcm_action_stop, substream, state);
}
-@@ -1591,7 +1636,13 @@ static int snd_pcm_drop(struct snd_pcm_s
+@@ -1592,7 +1637,13 @@
static bool is_pcm_file(struct file *file)
{
@@ -113,7 +113,7 @@
unsigned int minor;
if (!S_ISCHR(inode->i_mode) || imajor(inode) != snd_major)
-@@ -2038,8 +2089,21 @@ void snd_pcm_release_substream(struct sn
+@@ -2039,8 +2090,21 @@
substream->ops->close(substream);
substream->hw_opened = 0;
}
@@ -135,7 +135,7 @@
if (substream->pcm_release) {
substream->pcm_release(substream);
substream->pcm_release = NULL;
-@@ -2859,23 +2923,42 @@ static ssize_t snd_pcm_write(struct file
+@@ -2862,23 +2926,42 @@
pcm_file = file->private_data;
substream = pcm_file->substream;
@@ -185,7 +185,7 @@
{
struct snd_pcm_file *pcm_file;
struct snd_pcm_substream *substream;
-@@ -2885,7 +2968,11 @@ static ssize_t snd_pcm_aio_read(struct k
+@@ -2888,7 +2971,11 @@
void __user **bufs;
snd_pcm_uframes_t frames;
@@ -197,7 +197,7 @@
substream = pcm_file->substream;
if (PCM_RUNTIME_CHECK(substream))
return -ENXIO;
-@@ -2909,8 +2996,13 @@ static ssize_t snd_pcm_aio_read(struct k
+@@ -2912,8 +2999,13 @@
return result;
}
@@ -211,7 +211,7 @@
{
struct snd_pcm_file *pcm_file;
struct snd_pcm_substream *substream;
-@@ -2920,7 +3012,11 @@ static ssize_t snd_pcm_aio_write(struct
+@@ -2923,7 +3015,11 @@
void __user **bufs;
snd_pcm_uframes_t frames;
@@ -223,7 +223,7 @@
substream = pcm_file->substream;
if (PCM_RUNTIME_CHECK(substream))
return -ENXIO;
-@@ -2942,6 +3038,7 @@ static ssize_t snd_pcm_aio_write(struct
+@@ -2945,6 +3041,7 @@
kfree(bufs);
return result;
}
@@ -231,7 +231,7 @@
static unsigned int snd_pcm_playback_poll(struct file *file, poll_table * wait)
{
-@@ -3029,6 +3126,19 @@ static unsigned int snd_pcm_capture_poll
+@@ -3032,6 +3129,19 @@
* mmap support
*/
@@ -251,7 +251,7 @@
/*
* Only on coherent architectures, we can mmap the status and the control records
* for effcient data transfer. On others, we have to use HWSYNC ioctl...
-@@ -3037,6 +3147,7 @@ static unsigned int snd_pcm_capture_poll
+@@ -3040,6 +3150,7 @@
/*
* mmap status record
*/
@@ -259,7 +259,7 @@
static int snd_pcm_mmap_status_fault(struct vm_area_struct *area,
struct vm_fault *vmf)
{
-@@ -3050,10 +3161,35 @@ static int snd_pcm_mmap_status_fault(str
+@@ -3053,10 +3164,35 @@
get_page(vmf->page);
return 0;
}
@@ -295,7 +295,7 @@
};
static int snd_pcm_mmap_status(struct snd_pcm_substream *substream, struct file *file,
-@@ -3074,6 +3210,7 @@ static int snd_pcm_mmap_status(struct sn
+@@ -3077,6 +3213,7 @@
/*
* mmap control record
*/
@@ -303,7 +303,7 @@
static int snd_pcm_mmap_control_fault(struct vm_area_struct *area,
struct vm_fault *vmf)
{
-@@ -3087,10 +3224,36 @@ static int snd_pcm_mmap_control_fault(st
+@@ -3090,10 +3227,36 @@
get_page(vmf->page);
return 0;
}
@@ -340,7 +340,7 @@
};
static int snd_pcm_mmap_control(struct snd_pcm_substream *substream, struct file *file,
-@@ -3144,9 +3307,12 @@ snd_pcm_default_page_ops(struct snd_pcm_
+@@ -3147,9 +3310,12 @@
return virt_to_page(vaddr);
}
@@ -353,7 +353,7 @@
static int snd_pcm_mmap_data_fault(struct vm_area_struct *area,
struct vm_fault *vmf)
{
-@@ -3173,6 +3339,45 @@ static int snd_pcm_mmap_data_fault(struc
+@@ -3176,6 +3342,45 @@
vmf->page = page;
return 0;
}
@@ -399,7 +399,7 @@
static const struct vm_operations_struct snd_pcm_vm_ops_data = {
.open = snd_pcm_mmap_data_open,
-@@ -3182,7 +3387,14 @@ static const struct vm_operations_struct
+@@ -3185,7 +3390,14 @@
static const struct vm_operations_struct snd_pcm_vm_ops_data_fault = {
.open = snd_pcm_mmap_data_open,
.close = snd_pcm_mmap_data_close,
@@ -414,7 +414,7 @@
};
#ifndef ARCH_HAS_DMA_MMAP_COHERENT
-@@ -3228,7 +3440,35 @@ int snd_pcm_lib_mmap_iomem(struct snd_pc
+@@ -3239,7 +3451,35 @@
struct snd_pcm_runtime *runtime = substream->runtime;;
area->vm_page_prot = pgprot_noncached(area->vm_page_prot);
@@ -450,7 +450,7 @@
}
EXPORT_SYMBOL(snd_pcm_lib_mmap_iomem);
-@@ -3262,7 +3502,7 @@ int snd_pcm_mmap_data(struct snd_pcm_sub
+@@ -3273,7 +3513,7 @@
runtime->access == SNDRV_PCM_ACCESS_RW_NONINTERLEAVED)
return -EINVAL;
size = area->vm_end - area->vm_start;
@@ -459,7 +459,7 @@
dma_bytes = PAGE_ALIGN(runtime->dma_bytes);
if ((size_t)size > dma_bytes)
return -EINVAL;
-@@ -3293,7 +3533,7 @@ static int snd_pcm_mmap(struct file *fil
+@@ -3304,7 +3544,7 @@
if (PCM_RUNTIME_CHECK(substream))
return -ENXIO;
@@ -468,7 +468,7 @@
switch (offset) {
case SNDRV_PCM_MMAP_OFFSET_STATUS:
if (pcm_file->no_compat_mmap)
-@@ -3326,12 +3566,34 @@ static int snd_pcm_fasync(int fd, struct
+@@ -3337,12 +3577,34 @@
/*
* ioctl32 compat
*/
@@ -504,7 +504,7 @@
/*
* To be removed helpers to keep binary compatibility
*/
-@@ -3472,29 +3734,49 @@ const struct file_operations snd_pcm_f_o
+@@ -3483,29 +3745,49 @@
{
.owner = THIS_MODULE,
.write = snd_pcm_write,
diff --git a/alsa/acore/sound.patch b/alsa/acore/sound.patch
index 269aab7bf..4d1adcb64 100644
--- a/alsa/acore/sound.patch
+++ b/alsa/acore/sound.patch
@@ -1,5 +1,5 @@
---- ../alsa-kernel/core/sound.c 2013-11-27 08:48:59.677641394 +0100
-+++ sound.c 2013-11-27 09:17:08.461746060 +0100
+--- ../alsa-kernel/core/sound.c 2014-02-14 08:10:32.325887782 +0100
++++ sound.c 2014-02-14 10:46:42.306855804 +0100
@@ -1,3 +1,4 @@
+#include "adriver.h"
/*
@@ -137,7 +137,7 @@
+ snd_memory_info_init();
snd_info_minor_register();
#ifndef MODULE
- printk(KERN_INFO "Advanced Linux Sound Architecture Driver Initialized.\n");
+ pr_info("Advanced Linux Sound Architecture Driver Initialized.\n");
@@ -475,9 +544,13 @@
static void __exit alsa_sound_exit(void)
{
diff --git a/alsa/drivers/pcsp/pcsp.patch b/alsa/drivers/pcsp/pcsp.patch
index ef5794c94..91626ca2c 100644
--- a/alsa/drivers/pcsp/pcsp.patch
+++ b/alsa/drivers/pcsp/pcsp.patch
@@ -1,11 +1,11 @@
---- ../../alsa-kernel/drivers/pcsp/pcsp.c 2009-11-04 07:58:49.000000000 +0100
-+++ pcsp.c 2009-12-15 22:17:50.000000000 +0100
+--- ../../alsa-kernel/drivers/pcsp/pcsp.c 2014-02-14 10:29:56.461067921 +0100
++++ pcsp.c 2014-02-14 10:46:42.548858883 +0100
@@ -1,3 +1,4 @@
+#include "adriver.h"
/*
* PC-Speaker driver for Linux
*
-@@ -102,6 +103,9 @@
+@@ -103,6 +104,9 @@
return -EINVAL;
hrtimer_init(&pcsp_chip.timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
@@ -14,4 +14,4 @@
+#endif
pcsp_chip.timer.function = pcsp_do_timer;
- err = snd_card_create(index, id, THIS_MODULE, 0, &card);
+ err = snd_card_new(dev, index, id, THIS_MODULE, 0, &card);
diff --git a/alsa/include/sound/core.patch b/alsa/include/sound/core.patch
index fb55d4a15..e27ac292f 100644
--- a/alsa/include/sound/core.patch
+++ b/alsa/include/sound/core.patch
@@ -1,6 +1,6 @@
---- ../../alsa-kernel/include/core.h 2012-10-30 11:00:52.000000000 +0100
-+++ core.h 2012-11-23 17:56:50.000000000 +0100
-@@ -104,8 +104,16 @@
+--- ../../alsa-kernel/include/core.h 2014-02-14 10:29:56.461067921 +0100
++++ core.h 2014-02-14 10:30:41.512621336 +0100
+@@ -108,8 +108,16 @@
char shortname[32]; /* short name of this soundcard */
char longname[80]; /* name of this soundcard */
char mixername[80]; /* mixer name */
@@ -17,7 +17,7 @@
struct module *module; /* top-level module */
void *private_data; /* private data for soundcard */
-@@ -125,7 +133,15 @@
+@@ -129,7 +137,15 @@
struct snd_info_entry *proc_id; /* the card id */
struct proc_dir_entry *proc_root_link; /* number link to real id */
@@ -33,17 +33,7 @@
struct snd_shutdown_f_ops *s_f_ops; /* file operations in the shutdown
state */
spinlock_t files_lock; /* lock the files for this card */
-@@ -134,7 +150,9 @@
- wait_queue_head_t shutdown_sleep;
- atomic_t refcount; /* refcount for disconnection */
- struct device *dev; /* device assigned to this card */
-+#ifndef CONFIG_SYSFS_DEPRECATED
- struct device *card_dev; /* cardX object for sysfs */
-+#endif
-
- #ifdef CONFIG_PM
- unsigned int power_state; /* power state */
-@@ -146,6 +164,17 @@
+@@ -149,6 +165,17 @@
struct snd_mixer_oss *mixer_oss;
int mixer_oss_change_count;
#endif
@@ -60,22 +50,10 @@
+#endif /* !__GENKSYMS__ */
};
- #ifdef CONFIG_PM
-@@ -196,7 +225,11 @@
- /* return a device pointer linked to each sound device as a parent */
- static inline struct device *snd_card_get_device_link(struct snd_card *card)
- {
-+#ifdef CONFIG_SYSFS_DEPRECATED
-+ return card ? card->dev : NULL;
-+#else
- return card ? card->card_dev : NULL;
-+#endif
- }
-
- /* sound.c */
-@@ -299,7 +332,11 @@
+ #define dev_to_snd_card(p) container_of(p, struct snd_card, card_dev)
+@@ -310,7 +337,11 @@
int snd_card_file_remove(struct snd_card *card, struct file *file);
- void snd_card_unref(struct snd_card *card);
+ #define snd_card_unref(card) put_device(&(card)->card_dev)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
+#define snd_card_set_dev(card,dev) /* no struct device */
@@ -85,7 +63,7 @@
/* device.c */
-@@ -424,13 +461,21 @@
+@@ -438,13 +469,21 @@
/* for easier backward-porting */
#if defined(CONFIG_GAMEPORT) || defined(CONFIG_GAMEPORT_MODULE)
diff --git a/alsa/include/sound/pcm.patch b/alsa/include/sound/pcm.patch
index a4bed0e97..9809fd119 100644
--- a/alsa/include/sound/pcm.patch
+++ b/alsa/include/sound/pcm.patch
@@ -1,6 +1,6 @@
---- ../../alsa-kernel/include/pcm.h 2012-10-23 16:14:36.000000000 +0200
-+++ pcm.h 2012-10-25 00:44:04.000000000 +0200
-@@ -280,10 +280,18 @@
+--- ../../alsa-kernel/include/pcm.h 2014-02-14 08:10:32.314887640 +0100
++++ pcm.h 2014-02-14 10:46:42.233854876 +0100
+@@ -282,10 +282,18 @@
snd_pcm_uframes_t avail_max;
snd_pcm_uframes_t hw_ptr_base; /* Position at buffer restart */
snd_pcm_uframes_t hw_ptr_interrupt; /* Position at interrupt time */
@@ -19,7 +19,7 @@
/* -- HW params -- */
snd_pcm_access_t access; /* access mode */
-@@ -294,6 +302,9 @@
+@@ -296,6 +304,9 @@
snd_pcm_uframes_t period_size; /* period size */
unsigned int periods; /* periods */
snd_pcm_uframes_t buffer_size; /* buffer size */
@@ -29,7 +29,7 @@
snd_pcm_uframes_t min_align; /* Min alignment for the format */
size_t byte_align;
unsigned int frame_bits;
-@@ -301,11 +312,17 @@
+@@ -303,11 +314,17 @@
unsigned int info;
unsigned int rate_num;
unsigned int rate_den;
@@ -47,7 +47,7 @@
snd_pcm_uframes_t start_threshold;
snd_pcm_uframes_t stop_threshold;
snd_pcm_uframes_t silence_threshold; /* Silence filling happens when
-@@ -323,9 +340,22 @@
+@@ -325,9 +342,22 @@
struct snd_pcm_mmap_control *control;
/* -- locking / scheduling -- */
@@ -70,7 +70,7 @@
struct fasync_struct *fasync;
/* -- private section -- */
-@@ -342,8 +372,9 @@
+@@ -344,8 +374,9 @@
/* -- timer -- */
unsigned int timer_resolution; /* timer resolution */
@@ -81,7 +81,7 @@
/* -- DMA -- */
unsigned char *dma_area; /* DMA area */
dma_addr_t dma_addr; /* physical bus address (not accessible from main CPU) */
-@@ -356,9 +387,37 @@
+@@ -358,9 +389,37 @@
struct snd_pcm_oss_runtime oss;
#endif
@@ -119,7 +119,7 @@
};
struct snd_pcm_group { /* keep linked substreams */
-@@ -376,7 +435,15 @@
+@@ -378,7 +437,15 @@
int number;
char name[32]; /* substream name */
int stream; /* stream (direction) */
@@ -134,8 +134,8 @@
+#endif
size_t buffer_bytes_max; /* limit ring buffer size */
struct snd_dma_buffer dma_buffer;
- unsigned int dma_buf_id;
-@@ -388,6 +455,9 @@
+ size_t dma_max;
+@@ -389,6 +456,9 @@
/* -- timer section -- */
struct snd_timer *timer; /* timer */
unsigned timer_running: 1; /* time is running */
@@ -145,7 +145,7 @@
/* -- next substream -- */
struct snd_pcm_substream *next;
/* -- linked substreams -- */
-@@ -400,7 +470,9 @@
+@@ -401,7 +471,9 @@
atomic_t mmap_count;
unsigned int f_flags;
void (*pcm_release)(struct snd_pcm_substream *);
@@ -155,7 +155,7 @@
#if defined(CONFIG_SND_PCM_OSS) || defined(CONFIG_SND_PCM_OSS_MODULE)
/* -- OSS things -- */
struct snd_pcm_oss_substream oss;
-@@ -416,6 +488,13 @@
+@@ -417,6 +489,13 @@
#endif
/* misc flags */
unsigned int hw_opened: 1;
@@ -169,7 +169,7 @@
};
#define SUBSTREAM_BUSY(substream) ((substream)->ref_count > 0)
-@@ -499,7 +578,11 @@
+@@ -500,7 +579,11 @@
int snd_pcm_status(struct snd_pcm_substream *substream,
struct snd_pcm_status *status);
int snd_pcm_start(struct snd_pcm_substream *substream);
diff --git a/alsa/pci/hda/hda_beep.patch b/alsa/pci/hda/hda_beep.patch
index 193071432..82f20084f 100644
--- a/alsa/pci/hda/hda_beep.patch
+++ b/alsa/pci/hda/hda_beep.patch
@@ -1,5 +1,5 @@
---- ../../alsa-kernel/pci/hda/hda_beep.c 2013-10-24 11:38:36.463985941 +0200
-+++ hda_beep.c 2013-10-24 14:55:48.026984530 +0200
+--- ../../alsa-kernel/pci/hda/hda_beep.c 2013-12-19 17:11:11.245210883 +0100
++++ hda_beep.c 2014-02-14 10:46:43.090865780 +0100
@@ -1,3 +1,5 @@
+#define __NO_VERSION__
+#include "adriver.h"
@@ -18,7 +18,7 @@
switch (code) {
case SND_BELL:
-@@ -127,7 +133,9 @@
+@@ -128,7 +134,9 @@
static void turn_off_beep(struct hda_beep *beep)
{
@@ -28,7 +28,7 @@
if (beep->playing) {
/* turn off beep */
snd_hda_codec_write(beep->codec, beep->nid, 0,
-@@ -140,6 +148,9 @@
+@@ -141,6 +149,9 @@
static void snd_hda_do_detach(struct hda_beep *beep)
{
input_unregister_device(beep->dev);
@@ -38,7 +38,7 @@
beep->dev = NULL;
turn_off_beep(beep);
}
-@@ -150,7 +161,11 @@
+@@ -151,7 +162,11 @@
struct hda_codec *codec = beep->codec;
int err;
@@ -50,7 +50,7 @@
if (!input_dev)
return -ENOMEM;
-@@ -166,15 +181,26 @@
+@@ -167,15 +182,26 @@
input_dev->evbit[0] = BIT_MASK(EV_SND);
input_dev->sndbit[0] = BIT_MASK(SND_BELL) | BIT_MASK(SND_TONE);
input_dev->event = snd_hda_beep_event;
diff --git a/alsa/pci/hda/hda_intel.patch b/alsa/pci/hda/hda_intel.patch
index 8b732b010..0cea292ff 100644
--- a/alsa/pci/hda/hda_intel.patch
+++ b/alsa/pci/hda/hda_intel.patch
@@ -1,5 +1,5 @@
---- ../../alsa-kernel/pci/hda/hda_intel.c 2013-04-05 07:36:57.760588767 +0200
-+++ hda_intel.c 2013-04-05 08:55:45.636009218 +0200
+--- ../../alsa-kernel/pci/hda/hda_intel.c 2014-02-14 10:29:56.470068031 +0100
++++ hda_intel.c 2014-02-14 10:51:14.000311502 +0100
@@ -1,3 +1,4 @@
+#include "hda_intel_hack.c"
/*
@@ -15,7 +15,7 @@
#include <linux/time.h>
#include <linux/completion.h>
-@@ -426,8 +429,10 @@
+@@ -428,8 +431,10 @@
unsigned int wc_marked:1;
unsigned int no_period_wakeup:1;
@@ -24,9 +24,9 @@
struct cyclecounter azx_cc;
+#endif
- #ifdef CONFIG_SND_HDA_DSP_LOADER
- struct mutex dsp_mutex;
-@@ -679,6 +684,57 @@
+ int delay_negative_threshold;
+
+@@ -696,6 +701,57 @@
#define get_azx_dev(substream) (substream->runtime->private_data)
#ifdef CONFIG_X86
@@ -84,7 +84,7 @@
static void __mark_pages_wc(struct azx *chip, struct snd_dma_buffer *dmab, bool on)
{
int pages;
-@@ -1845,6 +1901,7 @@
+@@ -1876,6 +1932,7 @@
azx_dev->opened = 0;
}
@@ -92,7 +92,7 @@
static cycle_t azx_cc_read(const struct cyclecounter *cc)
{
struct azx_dev *azx_dev = container_of(cc, struct azx_dev, azx_cc);
-@@ -1902,6 +1959,9 @@
+@@ -1954,6 +2011,9 @@
return 0;
}
@@ -102,7 +102,7 @@
static struct snd_pcm_hardware azx_pcm_hw = {
.info = (SNDRV_PCM_INFO_MMAP |
-@@ -2269,6 +2329,7 @@
+@@ -2330,6 +2390,7 @@
azx_readl(chip, OLD_SSYNC) & ~sbits);
else
azx_writel(chip, SSYNC, azx_readl(chip, SSYNC) & ~sbits);
@@ -110,7 +110,7 @@
if (start) {
azx_timecounter_init(substream, 0, 0);
if (nsync > 1) {
-@@ -2285,6 +2346,7 @@
+@@ -2346,6 +2407,7 @@
}
}
}
@@ -118,7 +118,7 @@
spin_unlock(&chip->reg_lock);
return 0;
}
-@@ -2517,7 +2579,11 @@
+@@ -2582,7 +2644,11 @@
struct azx_pcm *apcm = snd_pcm_substream_chip(substream);
struct azx *chip = apcm->chip;
if (!azx_snoop(chip))
@@ -130,7 +130,7 @@
return snd_pcm_lib_default_mmap(substream, area);
}
#else
-@@ -3192,6 +3258,7 @@
+@@ -3322,6 +3388,7 @@
static bool check_hdmi_disabled(struct pci_dev *pci)
{
bool vga_inactive = false;
@@ -138,7 +138,7 @@
struct pci_dev *p = get_bound_vga(pci);
if (p) {
-@@ -3199,6 +3266,7 @@
+@@ -3329,6 +3396,7 @@
vga_inactive = true;
pci_dev_put(p);
}
@@ -146,7 +146,7 @@
return vga_inactive;
}
#endif /* SUPPORT_VGA_SWITCHEROO */
-@@ -3307,6 +3375,10 @@
+@@ -3437,6 +3505,10 @@
}
}
@@ -157,7 +157,7 @@
/*
* white/black-list for enable_msi
*/
-@@ -3319,6 +3391,14 @@
+@@ -3454,6 +3526,14 @@
{}
};
@@ -172,7 +172,7 @@
static void check_msi(struct azx *chip)
{
const struct snd_pci_quirk *q;
-@@ -3327,7 +3407,11 @@
+@@ -3462,7 +3542,11 @@
chip->msi = !!enable_msi;
return;
}
@@ -184,7 +184,7 @@
q = snd_pci_quirk_lookup(chip->pci, msi_black_list);
if (q) {
printk(KERN_INFO
-@@ -3336,6 +3420,16 @@
+@@ -3471,6 +3555,16 @@
chip->msi = q->value;
return;
}
@@ -201,7 +201,7 @@
/* NVidia chipsets seem to cause troubles with MSI */
if (chip->driver_caps & AZX_DCAPS_NO_MSI) {
-@@ -3357,7 +3451,7 @@
+@@ -3492,7 +3586,7 @@
if (snoop) {
u8 val;
pci_read_config_byte(chip->pci, 0x42, &val);
@@ -210,7 +210,7 @@
snoop = false;
}
break;
-@@ -3506,7 +3600,7 @@
+@@ -3650,7 +3744,7 @@
PCI_DEVICE_ID_ATI_SBX00_SMBUS,
NULL);
if (p_smbus) {
diff --git a/alsa/pci/via82xx.patch b/alsa/pci/via82xx.patch
index d2b663fe2..3d8d470f3 100644
--- a/alsa/pci/via82xx.patch
+++ b/alsa/pci/via82xx.patch
@@ -1,19 +1,19 @@
---- ../alsa-kernel/pci/via82xx.c 2012-04-24 12:18:48.000000000 +0200
-+++ via82xx.c 2012-04-24 12:32:51.000000000 +0200
+--- ../alsa-kernel/pci/via82xx.c 2014-02-14 10:29:56.475068093 +0100
++++ via82xx.c 2014-02-14 10:46:42.779861823 +0100
@@ -1,3 +1,4 @@
+#include "adriver.h"
/*
* ALSA driver for VIA VT82xx (South Bridge)
*
-@@ -2513,6 +2514,7 @@
+@@ -2541,6 +2542,7 @@
int chip_type = 0, card_type;
unsigned int i;
int err;
+ unsigned char revision = snd_pci_revision(pci);
- err = snd_card_create(index, id, THIS_MODULE, 0, &card);
+ err = snd_card_new(&pci->dev, index, id, THIS_MODULE, 0, &card);
if (err < 0)
-@@ -2522,14 +2524,14 @@
+@@ -2550,14 +2552,14 @@
switch (card_type) {
case TYPE_CARD_VIA686:
strcpy(card->driver, "VIA686A");
@@ -31,7 +31,7 @@
chip_type = via823x_cards[i].type;
strcpy(card->shortname, via823x_cards[i].name);
break;
-@@ -2537,7 +2539,7 @@
+@@ -2565,7 +2567,7 @@
}
if (chip_type != TYPE_VIA8233A) {
if (dxs_support == VIA_DXS_AUTO)
@@ -40,7 +40,7 @@
/* force to use VIA8233 or 8233A model according to
* dxs_support module option
*/
-@@ -2548,7 +2550,7 @@
+@@ -2576,7 +2578,7 @@
}
if (chip_type == TYPE_VIA8233A)
strcpy(card->driver, "VIA8233A");
@@ -49,7 +49,7 @@
strcpy(card->driver, "VIA8237"); /* no slog assignment */
else
strcpy(card->driver, "VIA8233");
-@@ -2559,7 +2561,7 @@
+@@ -2587,7 +2589,7 @@
goto __error;
}
@@ -58,7 +58,7 @@
ac97_clock, &chip)) < 0)
goto __error;
card->private_data = chip;
-@@ -2631,3 +2633,5 @@
+@@ -2657,3 +2659,5 @@
};
module_pci_driver(via82xx_driver);
diff --git a/alsa/usb/usx2y/usbusx2y.patch b/alsa/usb/usx2y/usbusx2y.patch
index 5c4362c46..69e47fdaa 100644
--- a/alsa/usb/usx2y/usbusx2y.patch
+++ b/alsa/usb/usx2y/usbusx2y.patch
@@ -1,5 +1,5 @@
---- usbusx2y.c.orig 2012-01-17 12:21:23.764268787 +0100
-+++ usbusx2y.c 2012-01-17 12:22:04.419266082 +0100
+--- ../../alsa-kernel/usb/usx2y/usbusx2y.c 2014-02-14 08:10:32.368888338 +0100
++++ usbusx2y.c 2014-02-14 10:51:14.716320606 +0100
@@ -1,3 +1,5 @@
+#include "usbusx2y.inc"
+
@@ -92,8 +92,8 @@
+#endif
return -EINVAL;
- err = usX2Y_create_card(device, &card);
-@@ -397,6 +427,7 @@
+ err = usX2Y_create_card(device, intf, &card);
+@@ -396,6 +426,7 @@
return 0;
}
@@ -101,7 +101,7 @@
/*
* new 2.5 USB kernel API
*/
-@@ -417,13 +448,35 @@
+@@ -416,13 +447,35 @@
usX2Y_usb_disconnect(interface_to_usbdev(intf),
usb_get_intfdata(intf));
}
@@ -137,7 +137,7 @@
};
static void snd_usX2Y_card_private_free(struct snd_card *card)
-@@ -455,8 +508,14 @@
+@@ -454,8 +507,14 @@
}
if (usX2Y->us428ctls_sharedmem)
wake_up(&usX2Y->us428ctls_wait_queue_head);
diff --git a/alsa/usb/usx2y/usx2yhwdeppcm.patch b/alsa/usb/usx2y/usx2yhwdeppcm.patch
index ba5a969bd..1fe50b647 100644
--- a/alsa/usb/usx2y/usx2yhwdeppcm.patch
+++ b/alsa/usb/usx2y/usx2yhwdeppcm.patch
@@ -1,11 +1,11 @@
---- ../../alsa-kernel/usb/usx2y/usx2yhwdeppcm.c 2013-04-29 11:45:04.825944327 +0200
-+++ usx2yhwdeppcm.c 2013-04-29 18:04:28.975941611 +0200
+--- ../../alsa-kernel/usb/usx2y/usx2yhwdeppcm.c 2013-10-02 17:57:10.236598197 +0200
++++ usx2yhwdeppcm.c 2014-02-14 10:46:43.917876302 +0100
@@ -1,3 +1,4 @@
+#include "usx2yhwdeppcm.inc"
/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
-@@ -443,6 +444,9 @@
+@@ -438,6 +439,9 @@
if (0 == u)
atomic_set(&subs->state, state_STARTING3);
urb->dev = usX2Y->dev;