--- /dev/null
+From b5d724b1add6eabf3aa7276ab3454ea9f45eebd3 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 2 Jun 2015 19:57:08 +0200
+Subject: ALSA: hda/realtek - Add a fixup for another Acer Aspire 9420
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit b5d724b1add6eabf3aa7276ab3454ea9f45eebd3 upstream.
+
+Acer Aspire 9420 with ALC883 (1025:0107) needs the fixup for EAPD to
+make the sound working like other Aspire models.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94111
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_realtek.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -2148,6 +2148,7 @@ static const struct hda_fixup alc882_fix
+ static const struct snd_pci_quirk alc882_fixup_tbl[] = {
+ SND_PCI_QUIRK(0x1025, 0x006c, "Acer Aspire 9810", ALC883_FIXUP_ACER_EAPD),
+ SND_PCI_QUIRK(0x1025, 0x0090, "Acer Aspire", ALC883_FIXUP_ACER_EAPD),
++ SND_PCI_QUIRK(0x1025, 0x0107, "Acer Aspire", ALC883_FIXUP_ACER_EAPD),
+ SND_PCI_QUIRK(0x1025, 0x010a, "Acer Ferrari 5000", ALC883_FIXUP_ACER_EAPD),
+ SND_PCI_QUIRK(0x1025, 0x0110, "Acer Aspire", ALC883_FIXUP_ACER_EAPD),
+ SND_PCI_QUIRK(0x1025, 0x0112, "Acer Aspire 9303", ALC883_FIXUP_ACER_EAPD),
--- /dev/null
+From 044bddb9ca8d49edb91bc22b9940a463b0dbb97f Mon Sep 17 00:00:00 2001
+From: Clemens Ladisch <clemens@ladisch.de>
+Date: Wed, 3 Jun 2015 11:36:42 +0200
+Subject: ALSA: usb-audio: add MAYA44 USB+ mixer control names
+
+From: Clemens Ladisch <clemens@ladisch.de>
+
+commit 044bddb9ca8d49edb91bc22b9940a463b0dbb97f upstream.
+
+Add mixer control names for the ESI Maya44 USB+ (which appears to be
+identical width the AudioTrak Maya44 USB).
+
+Reported-by: nightmixes <nightmixes@gmail.com>
+Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/usb/mixer_maps.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/sound/usb/mixer_maps.c
++++ b/sound/usb/mixer_maps.c
+@@ -418,6 +418,11 @@ static struct usbmix_ctl_map usbmix_ctl_
+ .map = ebox44_map,
+ },
+ {
++ /* MAYA44 USB+ */
++ .id = USB_ID(0x2573, 0x0008),
++ .map = maya44_map,
++ },
++ {
+ /* KEF X300A */
+ .id = USB_ID(0x27ac, 0x1000),
+ .map = scms_usb3318_map,
--- /dev/null
+From 1ef9f0583514508bc93427106ceef3215e4eb1a5 Mon Sep 17 00:00:00 2001
+From: Wolfram Sang <wsa@the-dreams.de>
+Date: Fri, 29 May 2015 19:50:56 +0900
+Subject: ALSA: usb-audio: Add mic volume fix quirk for Logitech Quickcam Fusion
+
+From: Wolfram Sang <wsa@the-dreams.de>
+
+commit 1ef9f0583514508bc93427106ceef3215e4eb1a5 upstream.
+
+Fix this from the logs:
+
+usb 7-1: New USB device found, idVendor=046d, idProduct=08ca
+...
+usb 7-1: Warning! Unlikely big volume range (=3072), cval->res is probably wrong.
+usb 7-1: [5] FU [Mic Capture Volume] ch = 1, val = 4608/7680/1
+
+Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/usb/mixer.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/usb/mixer.c
++++ b/sound/usb/mixer.c
+@@ -891,6 +891,7 @@ static void volume_control_quirks(struct
+ case USB_ID(0x046d, 0x081d): /* HD Webcam c510 */
+ case USB_ID(0x046d, 0x0825): /* HD Webcam c270 */
+ case USB_ID(0x046d, 0x0826): /* HD Webcam c525 */
++ case USB_ID(0x046d, 0x08ca): /* Logitech Quickcam Fusion */
+ case USB_ID(0x046d, 0x0991):
+ /* Most audio usb devices lie about volume resolution.
+ * Most Logitech webcams have res = 384.
--- /dev/null
+From c2a8b623a089d52c199e305e7905829907db8ec8 Mon Sep 17 00:00:00 2001
+From: Paul Cercueil <paul.cercueil@analog.com>
+Date: Fri, 15 May 2015 17:18:36 +0200
+Subject: iio: adis16400: Compute the scan mask from channel indices
+
+From: Paul Cercueil <paul.cercueil@analog.com>
+
+commit c2a8b623a089d52c199e305e7905829907db8ec8 upstream.
+
+We unfortunately can't use ~0UL for the scan mask to indicate that the
+only valid scan mask is all channels selected. The IIO core needs the exact
+mask to work correctly and not a super-set of it. So calculate the masked
+based on the channels that are available for a particular device.
+
+Signed-off-by: Paul Cercueil <paul.cercueil@analog.com>
+Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
+Fixes: 5eda3550a3cc ("staging:iio:adis16400: Preallocate transfer message")
+Signed-off-by: Jonathan Cameron <jic23@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/iio/imu/adis16400.h | 1 +
+ drivers/iio/imu/adis16400_core.c | 25 ++++++++++++++++++-------
+ 2 files changed, 19 insertions(+), 7 deletions(-)
+
+--- a/drivers/iio/imu/adis16400.h
++++ b/drivers/iio/imu/adis16400.h
+@@ -165,6 +165,7 @@ struct adis16400_state {
+ int filt_int;
+
+ struct adis adis;
++ unsigned long avail_scan_mask[2];
+ };
+
+ /* At the moment triggers are only used for ring buffer
+--- a/drivers/iio/imu/adis16400_core.c
++++ b/drivers/iio/imu/adis16400_core.c
+@@ -824,11 +824,6 @@ static const struct iio_info adis16400_i
+ .debugfs_reg_access = adis_debugfs_reg_access,
+ };
+
+-static const unsigned long adis16400_burst_scan_mask[] = {
+- ~0UL,
+- 0,
+-};
+-
+ static const char * const adis16400_status_error_msgs[] = {
+ [ADIS16400_DIAG_STAT_ZACCL_FAIL] = "Z-axis accelerometer self-test failure",
+ [ADIS16400_DIAG_STAT_YACCL_FAIL] = "Y-axis accelerometer self-test failure",
+@@ -876,6 +871,20 @@ static const struct adis_data adis16400_
+ BIT(ADIS16400_DIAG_STAT_POWER_LOW),
+ };
+
++static void adis16400_setup_chan_mask(struct adis16400_state *st)
++{
++ const struct adis16400_chip_info *chip_info = st->variant;
++ unsigned i;
++
++ for (i = 0; i < chip_info->num_channels; i++) {
++ const struct iio_chan_spec *ch = &chip_info->channels[i];
++
++ if (ch->scan_index >= 0 &&
++ ch->scan_index != ADIS16400_SCAN_TIMESTAMP)
++ st->avail_scan_mask[0] |= BIT(ch->scan_index);
++ }
++}
++
+ static int adis16400_probe(struct spi_device *spi)
+ {
+ struct adis16400_state *st;
+@@ -899,8 +908,10 @@ static int adis16400_probe(struct spi_de
+ indio_dev->info = &adis16400_info;
+ indio_dev->modes = INDIO_DIRECT_MODE;
+
+- if (!(st->variant->flags & ADIS16400_NO_BURST))
+- indio_dev->available_scan_masks = adis16400_burst_scan_mask;
++ if (!(st->variant->flags & ADIS16400_NO_BURST)) {
++ adis16400_setup_chan_mask(st);
++ indio_dev->available_scan_masks = st->avail_scan_mask;
++ }
+
+ ret = adis_init(&st->adis, indio_dev, spi, &adis16400_data);
+ if (ret)
--- /dev/null
+From 69ca2d771e4e709c5ae1125858e1246e77ef8b86 Mon Sep 17 00:00:00 2001
+From: Lars-Peter Clausen <lars@metafoo.de>
+Date: Fri, 15 May 2015 17:18:34 +0200
+Subject: iio: adis16400: Report pressure channel scale
+
+From: Lars-Peter Clausen <lars@metafoo.de>
+
+commit 69ca2d771e4e709c5ae1125858e1246e77ef8b86 upstream.
+
+Add the scale for the pressure channel, which is currently missing.
+
+Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
+Fixes: 76ada52f7f5d ("iio:adis16400: Add support for the adis16448")
+Signed-off-by: Jonathan Cameron <jic23@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/iio/imu/adis16400_core.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/drivers/iio/imu/adis16400_core.c
++++ b/drivers/iio/imu/adis16400_core.c
+@@ -438,6 +438,11 @@ static int adis16400_read_raw(struct iio
+ *val = st->variant->temp_scale_nano / 1000000;
+ *val2 = (st->variant->temp_scale_nano % 1000000);
+ return IIO_VAL_INT_PLUS_MICRO;
++ case IIO_PRESSURE:
++ /* 20 uBar = 0.002kPascal */
++ *val = 0;
++ *val2 = 2000;
++ return IIO_VAL_INT_PLUS_MICRO;
+ default:
+ return -EINVAL;
+ }
--- /dev/null
+From 7323d59862802ca109451eeda9777024a7625509 Mon Sep 17 00:00:00 2001
+From: Paul Cercueil <paul.cercueil@analog.com>
+Date: Fri, 15 May 2015 17:18:35 +0200
+Subject: iio: adis16400: Use != channel indices for the two voltage channels
+
+From: Paul Cercueil <paul.cercueil@analog.com>
+
+commit 7323d59862802ca109451eeda9777024a7625509 upstream.
+
+Previously, the two voltage channels had the same ID, which didn't cause
+conflicts in sysfs only because one channel is named and the other isn't;
+this is still violating the spec though, two indexed channels should never
+have the same index.
+
+Signed-off-by: Paul Cercueil <paul.cercueil@analog.com>
+Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
+Signed-off-by: Jonathan Cameron <jic23@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/iio/imu/adis16400_core.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/drivers/iio/imu/adis16400_core.c
++++ b/drivers/iio/imu/adis16400_core.c
+@@ -485,10 +485,10 @@ static int adis16400_read_raw(struct iio
+ }
+ }
+
+-#define ADIS16400_VOLTAGE_CHAN(addr, bits, name, si) { \
++#define ADIS16400_VOLTAGE_CHAN(addr, bits, name, si, chn) { \
+ .type = IIO_VOLTAGE, \
+ .indexed = 1, \
+- .channel = 0, \
++ .channel = chn, \
+ .extend_name = name, \
+ .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) | \
+ BIT(IIO_CHAN_INFO_SCALE), \
+@@ -504,10 +504,10 @@ static int adis16400_read_raw(struct iio
+ }
+
+ #define ADIS16400_SUPPLY_CHAN(addr, bits) \
+- ADIS16400_VOLTAGE_CHAN(addr, bits, "supply", ADIS16400_SCAN_SUPPLY)
++ ADIS16400_VOLTAGE_CHAN(addr, bits, "supply", ADIS16400_SCAN_SUPPLY, 0)
+
+ #define ADIS16400_AUX_ADC_CHAN(addr, bits) \
+- ADIS16400_VOLTAGE_CHAN(addr, bits, NULL, ADIS16400_SCAN_ADC)
++ ADIS16400_VOLTAGE_CHAN(addr, bits, NULL, ADIS16400_SCAN_ADC, 1)
+
+ #define ADIS16400_GYRO_CHAN(mod, addr, bits) { \
+ .type = IIO_ANGL_VEL, \
net_sched-invoke-attach-after-setting-dev-qdisc.patch
udp-fix-behavior-of-wrong-checksums.patch
xen-netback-read-hotplug-script-once-at-start-of-day.patch
+iio-adis16400-report-pressure-channel-scale.patch
+iio-adis16400-use-channel-indices-for-the-two-voltage-channels.patch
+iio-adis16400-compute-the-scan-mask-from-channel-indices.patch
+alsa-hda-realtek-add-a-fixup-for-another-acer-aspire-9420.patch
+alsa-usb-audio-add-mic-volume-fix-quirk-for-logitech-quickcam-fusion.patch
+alsa-usb-audio-add-maya44-usb-mixer-control-names.patch