]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.0 patches
authorGreg Kroah-Hartman <gregkh@suse.de>
Fri, 2 Dec 2011 22:03:52 +0000 (14:03 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 2 Dec 2011 22:03:52 +0000 (14:03 -0800)
added patches:
alsa-lx6464es-fix-device-communication-via-command-bus.patch
arm-7161-1-errata-no-automatic-store-buffer-drain.patch
arm-mx28-fix-bit-operation-in-clock-setting.patch
arm-omap2-select-arm_amba-if-omap3_emu-is-defined.patch
arm-omap-smartreflex-fix-irq-handling-bug.patch
arm-pxa-fix-inconsistent-config_usb_pxa27x.patch
asoc-ensure-wm8731-register-cache-is-synced-when-resuming-from-disabled.patch
asoc-fsl_ssi-properly-initialize-the-sysfs-attribute-object.patch
asoc-wm8753-skip-noop-reconfiguration-of-dai-mode.patch

queue-3.0/alsa-lx6464es-fix-device-communication-via-command-bus.patch [new file with mode: 0644]
queue-3.0/arm-7161-1-errata-no-automatic-store-buffer-drain.patch [new file with mode: 0644]
queue-3.0/arm-mx28-fix-bit-operation-in-clock-setting.patch [new file with mode: 0644]
queue-3.0/arm-omap-smartreflex-fix-irq-handling-bug.patch [new file with mode: 0644]
queue-3.0/arm-omap2-select-arm_amba-if-omap3_emu-is-defined.patch [new file with mode: 0644]
queue-3.0/arm-pxa-fix-inconsistent-config_usb_pxa27x.patch [new file with mode: 0644]
queue-3.0/asoc-ensure-wm8731-register-cache-is-synced-when-resuming-from-disabled.patch [new file with mode: 0644]
queue-3.0/asoc-fsl_ssi-properly-initialize-the-sysfs-attribute-object.patch [new file with mode: 0644]
queue-3.0/asoc-wm8753-skip-noop-reconfiguration-of-dai-mode.patch [new file with mode: 0644]
queue-3.0/series

diff --git a/queue-3.0/alsa-lx6464es-fix-device-communication-via-command-bus.patch b/queue-3.0/alsa-lx6464es-fix-device-communication-via-command-bus.patch
new file mode 100644 (file)
index 0000000..1c9ed8a
--- /dev/null
@@ -0,0 +1,58 @@
+From a29878553a9a7b4c06f93c7e383527cf014d4ceb Mon Sep 17 00:00:00 2001
+From: Tim Blechmann <tim@klingt.org>
+Date: Tue, 22 Nov 2011 11:15:45 +0100
+Subject: ALSA: lx6464es - fix device communication via command bus
+
+From: Tim Blechmann <tim@klingt.org>
+
+commit a29878553a9a7b4c06f93c7e383527cf014d4ceb upstream.
+
+commit 6175ddf06b6172046a329e3abfd9c901a43efd2e optimized the mem*io
+functions that have been used to send commands to the device. these
+optimizations somehow corrupted the communication with the lx6464es,
+that resulted the device to be unusable with kernels after 2.6.33.
+
+this patch emulates the memcpy_*_io functions via a loop to avoid these
+problems.
+
+Signed-off-by: Tim Blechmann <tim@klingt.org>
+LKML-Reference: <4ECB5257.4040600@ladisch.de>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ sound/pci/lx6464es/lx_core.c |   16 ++++++++++++----
+ 1 file changed, 12 insertions(+), 4 deletions(-)
+
+--- a/sound/pci/lx6464es/lx_core.c
++++ b/sound/pci/lx6464es/lx_core.c
+@@ -80,8 +80,12 @@ unsigned long lx_dsp_reg_read(struct lx6
+ void lx_dsp_reg_readbuf(struct lx6464es *chip, int port, u32 *data, u32 len)
+ {
+-      void __iomem *address = lx_dsp_register(chip, port);
+-      memcpy_fromio(data, address, len*sizeof(u32));
++      u32 __iomem *address = lx_dsp_register(chip, port);
++      int i;
++
++      /* we cannot use memcpy_fromio */
++      for (i = 0; i != len; ++i)
++              data[i] = ioread32(address + i);
+ }
+@@ -94,8 +98,12 @@ void lx_dsp_reg_write(struct lx6464es *c
+ void lx_dsp_reg_writebuf(struct lx6464es *chip, int port, const u32 *data,
+                        u32 len)
+ {
+-      void __iomem *address = lx_dsp_register(chip, port);
+-      memcpy_toio(address, data, len*sizeof(u32));
++      u32 __iomem *address = lx_dsp_register(chip, port);
++      int i;
++
++      /* we cannot use memcpy_to */
++      for (i = 0; i != len; ++i)
++              iowrite32(data[i], address + i);
+ }
diff --git a/queue-3.0/arm-7161-1-errata-no-automatic-store-buffer-drain.patch b/queue-3.0/arm-7161-1-errata-no-automatic-store-buffer-drain.patch
new file mode 100644 (file)
index 0000000..a8f80e2
--- /dev/null
@@ -0,0 +1,62 @@
+From 11ed0ba1754841316d4095478944300acf19acc3 Mon Sep 17 00:00:00 2001
+From: Will Deacon <will.deacon@arm.com>
+Date: Mon, 14 Nov 2011 17:24:58 +0100
+Subject: ARM: 7161/1: errata: no automatic store buffer drain
+
+From: Will Deacon <will.deacon@arm.com>
+
+commit 11ed0ba1754841316d4095478944300acf19acc3 upstream.
+
+This patch implements a workaround for PL310 erratum 769419. On
+revisions of the PL310 prior to r3p2, the Store Buffer does not
+automatically drain. This can cause normal, non-cacheable writes to be
+retained when the memory system is idle, leading to suboptimal I/O
+performance for drivers using coherent DMA.
+
+This patch adds an optional wmb() call to the cpu_idle loop. On systems
+with an outer cache, this causes an explicit flush of the store buffer.
+
+Acked-by: Catalin Marinas <catalin.marinas@arm.com>
+Tested-by: Marc Zyngier <marc.zyngier@arm.com>
+Signed-off-by: Will Deacon <will.deacon@arm.com>
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/arm/Kconfig          |   12 ++++++++++++
+ arch/arm/kernel/process.c |    3 +++
+ 2 files changed, 15 insertions(+)
+
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -1312,6 +1312,18 @@ config ARM_ERRATA_764369
+         relevant cache maintenance functions and sets a specific bit
+         in the diagnostic control register of the SCU.
++config PL310_ERRATA_769419
++      bool "PL310 errata: no automatic Store Buffer drain"
++      depends on CACHE_L2X0
++      help
++        On revisions of the PL310 prior to r3p2, the Store Buffer does
++        not automatically drain. This can cause normal, non-cacheable
++        writes to be retained when the memory system is idle, leading
++        to suboptimal I/O performance for drivers using coherent DMA.
++        This option adds a write barrier to the cpu_idle loop so that,
++        on systems with an outer cache, the store buffer is drained
++        explicitly.
++
+ endmenu
+ menu "Kernel Features"
+--- a/arch/arm/kernel/process.c
++++ b/arch/arm/kernel/process.c
+@@ -191,6 +191,9 @@ void cpu_idle(void)
+ #endif
+                       local_irq_disable();
++#ifdef CONFIG_PL310_ERRATA_769419
++                      wmb();
++#endif
+                       if (hlt_counter) {
+                               local_irq_enable();
+                               cpu_relax();
diff --git a/queue-3.0/arm-mx28-fix-bit-operation-in-clock-setting.patch b/queue-3.0/arm-mx28-fix-bit-operation-in-clock-setting.patch
new file mode 100644 (file)
index 0000000..7f2c131
--- /dev/null
@@ -0,0 +1,35 @@
+From c2735391fbc68feae10d6d14e60956c8106e725f Mon Sep 17 00:00:00 2001
+From: Wolfram Sang <w.sang@pengutronix.de>
+Date: Sat, 10 Sep 2011 12:26:07 +0200
+Subject: arm: mx28: fix bit operation in clock setting
+
+From: Wolfram Sang <w.sang@pengutronix.de>
+
+commit c2735391fbc68feae10d6d14e60956c8106e725f upstream.
+
+reg | (1 << clk->enable_shift) always evaluates to true. Switch it
+to & which makes much more sense. Same fix as 13be9f00 (ARM i.MX28: fix
+bit operation) at a different location.
+
+Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
+Cc: Sascha Hauer <s.hauer@pengutronix.de>
+Cc: Shawn Guo <shawn.guo@freescale.com>
+Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/arm/mach-mxs/clock-mx28.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/arm/mach-mxs/clock-mx28.c
++++ b/arch/arm/mach-mxs/clock-mx28.c
+@@ -404,7 +404,7 @@ static int name##_set_rate(struct clk *c
+       reg = __raw_readl(CLKCTRL_BASE_ADDR + HW_CLKCTRL_##dr);         \
+       reg &= ~BM_CLKCTRL_##dr##_DIV;                                  \
+       reg |= div << BP_CLKCTRL_##dr##_DIV;                            \
+-      if (reg | (1 << clk->enable_shift)) {                           \
++      if (reg & (1 << clk->enable_shift)) {                           \
+               pr_err("%s: clock is gated\n", __func__);               \
+               return -EINVAL;                                         \
+       }                                                               \
diff --git a/queue-3.0/arm-omap-smartreflex-fix-irq-handling-bug.patch b/queue-3.0/arm-omap-smartreflex-fix-irq-handling-bug.patch
new file mode 100644 (file)
index 0000000..bd7ff9b
--- /dev/null
@@ -0,0 +1,33 @@
+From 5a4f1844c2ba21f804d7729306d9b16eaeb724a8 Mon Sep 17 00:00:00 2001
+From: Felipe Balbi <balbi@ti.com>
+Date: Wed, 23 Nov 2011 14:43:37 -0800
+Subject: ARM: OMAP: smartreflex: fix IRQ handling bug
+
+From: Felipe Balbi <balbi@ti.com>
+
+commit 5a4f1844c2ba21f804d7729306d9b16eaeb724a8 upstream.
+
+Fix a bug which has been on this driver since
+it was added by the original commit 984aa6db
+which would never clear IRQSTATUS bits.
+
+Signed-off-by: Felipe Balbi <balbi@ti.com>
+Signed-off-by: Kevin Hilman <khilman@ti.com>
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/arm/mach-omap2/smartreflex.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/arm/mach-omap2/smartreflex.c
++++ b/arch/arm/mach-omap2/smartreflex.c
+@@ -137,7 +137,7 @@ static irqreturn_t sr_interrupt(int irq,
+               sr_write_reg(sr_info, ERRCONFIG_V1, status);
+       } else if (sr_info->ip_type == SR_TYPE_V2) {
+               /* Read the status bits */
+-              sr_read_reg(sr_info, IRQSTATUS);
++              status = sr_read_reg(sr_info, IRQSTATUS);
+               /* Clear them by writing back */
+               sr_write_reg(sr_info, IRQSTATUS, status);
diff --git a/queue-3.0/arm-omap2-select-arm_amba-if-omap3_emu-is-defined.patch b/queue-3.0/arm-omap2-select-arm_amba-if-omap3_emu-is-defined.patch
new file mode 100644 (file)
index 0000000..59ba61a
--- /dev/null
@@ -0,0 +1,62 @@
+From a8a6565c7615cab3608d75af95b5c8a3522cd7c4 Mon Sep 17 00:00:00 2001
+From: Ming Lei <tom.leiming@gmail.com>
+Date: Wed, 23 Nov 2011 14:44:50 -0800
+Subject: ARM: OMAP2: select ARM_AMBA if OMAP3_EMU is defined
+
+From: Ming Lei <tom.leiming@gmail.com>
+
+commit a8a6565c7615cab3608d75af95b5c8a3522cd7c4 upstream.
+
+This patch selects ARM_AMBA if OMAP3_EMU is defined because
+OC_ETM depends on ARM_AMBA, so fix the link failure[1].
+
+[1],
+arch/arm/kernel/built-in.o: In function `etm_remove':
+/home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:609: undefined
+reference to `amba_release_regions'
+arch/arm/kernel/built-in.o: In function `etb_remove':
+/home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:409: undefined
+reference to `amba_release_regions'
+arch/arm/kernel/built-in.o: In function `etm_init':
+/home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:640: undefined
+reference to `amba_driver_register'
+/home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:646: undefined
+reference to `amba_driver_register'
+/home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:648: undefined
+reference to `amba_driver_unregister'
+arch/arm/kernel/built-in.o: In function `etm_probe':
+/home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:545: undefined
+reference to `amba_request_regions'
+/home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:595: undefined
+reference to `amba_release_regions'
+arch/arm/kernel/built-in.o: In function `etb_probe':
+/home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:347: undefined
+reference to `amba_request_regions'
+/home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:392: undefined
+reference to `amba_release_regions'
+arch/arm/mach-omap2/built-in.o: In function `emu_init':
+/home/tom/git/omap/linux-2.6-omap/arch/arm/mach-omap2/emu.c:62:
+undefined reference to `amba_device_register'
+/home/tom/git/omap/linux-2.6-omap/arch/arm/mach-omap2/emu.c:63:
+undefined reference to `amba_device_register'
+make: *** [.tmp_vmlinux1] Error 1
+making modules
+
+Signed-off-by: Ming Lei <tom.leiming@gmail.com>
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/arm/mach-omap2/Kconfig |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/arm/mach-omap2/Kconfig
++++ b/arch/arm/mach-omap2/Kconfig
+@@ -326,6 +326,7 @@ config MACH_OMAP4_PANDA
+ config OMAP3_EMU
+       bool "OMAP3 debugging peripherals"
+       depends on ARCH_OMAP3
++      select ARM_AMBA
+       select OC_ETM
+       help
+         Say Y here to enable debugging hardware of omap3
diff --git a/queue-3.0/arm-pxa-fix-inconsistent-config_usb_pxa27x.patch b/queue-3.0/arm-pxa-fix-inconsistent-config_usb_pxa27x.patch
new file mode 100644 (file)
index 0000000..c1b7101
--- /dev/null
@@ -0,0 +1,157 @@
+From c0a39151a4055332897cba615623d3de2f3896df Mon Sep 17 00:00:00 2001
+From: Haojian Zhuang <haojian.zhuang@marvell.com>
+Date: Thu, 10 Nov 2011 07:13:07 +0800
+Subject: ARM: pxa: fix inconsistent CONFIG_USB_PXA27X
+
+From: Haojian Zhuang <haojian.zhuang@marvell.com>
+
+commit c0a39151a4055332897cba615623d3de2f3896df upstream.
+
+Since CONFIG_USB_GADGET_PXA27X and other macros are renamed to
+CONFIG_USB_PXA27X. Update them in arch/arm/mach-pxa and arch/arm/configs
+to keep consistent.
+
+Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
+Acked-by: Felipe Balbi <balbi@ti.com>
+Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/arm/configs/ezx_defconfig           |    2 +-
+ arch/arm/configs/imote2_defconfig        |    2 +-
+ arch/arm/configs/magician_defconfig      |    2 +-
+ arch/arm/configs/zeus_defconfig          |    2 +-
+ arch/arm/mach-pxa/balloon3.c             |    2 +-
+ arch/arm/mach-pxa/colibri-pxa320.c       |    2 +-
+ arch/arm/mach-pxa/gumstix.c              |    2 +-
+ arch/arm/mach-pxa/include/mach/palm27x.h |    4 ++--
+ arch/arm/mach-pxa/palm27x.c              |    4 ++--
+ arch/arm/mach-pxa/palmtc.c               |    2 +-
+ arch/arm/mach-pxa/vpac270.c              |    2 +-
+ 11 files changed, 13 insertions(+), 13 deletions(-)
+
+--- a/arch/arm/configs/ezx_defconfig
++++ b/arch/arm/configs/ezx_defconfig
+@@ -287,7 +287,7 @@ CONFIG_USB=y
+ # CONFIG_USB_DEVICE_CLASS is not set
+ CONFIG_USB_OHCI_HCD=y
+ CONFIG_USB_GADGET=y
+-CONFIG_USB_GADGET_PXA27X=y
++CONFIG_USB_PXA27X=y
+ CONFIG_USB_ETH=m
+ # CONFIG_USB_ETH_RNDIS is not set
+ CONFIG_MMC=y
+--- a/arch/arm/configs/imote2_defconfig
++++ b/arch/arm/configs/imote2_defconfig
+@@ -263,7 +263,7 @@ CONFIG_USB=y
+ # CONFIG_USB_DEVICE_CLASS is not set
+ CONFIG_USB_OHCI_HCD=y
+ CONFIG_USB_GADGET=y
+-CONFIG_USB_GADGET_PXA27X=y
++CONFIG_USB_PXA27X=y
+ CONFIG_USB_ETH=m
+ # CONFIG_USB_ETH_RNDIS is not set
+ CONFIG_MMC=y
+--- a/arch/arm/configs/magician_defconfig
++++ b/arch/arm/configs/magician_defconfig
+@@ -132,7 +132,7 @@ CONFIG_USB_MON=m
+ CONFIG_USB_OHCI_HCD=y
+ CONFIG_USB_GADGET=y
+ CONFIG_USB_GADGET_VBUS_DRAW=500
+-CONFIG_USB_GADGET_PXA27X=y
++CONFIG_USB_PXA27X=y
+ CONFIG_USB_ETH=m
+ # CONFIG_USB_ETH_RNDIS is not set
+ CONFIG_USB_GADGETFS=m
+--- a/arch/arm/configs/zeus_defconfig
++++ b/arch/arm/configs/zeus_defconfig
+@@ -140,7 +140,7 @@ CONFIG_USB_SERIAL=m
+ CONFIG_USB_SERIAL_GENERIC=y
+ CONFIG_USB_SERIAL_MCT_U232=m
+ CONFIG_USB_GADGET=m
+-CONFIG_USB_GADGET_PXA27X=y
++CONFIG_USB_PXA27X=y
+ CONFIG_USB_ETH=m
+ CONFIG_USB_GADGETFS=m
+ CONFIG_USB_FILE_STORAGE=m
+--- a/arch/arm/mach-pxa/balloon3.c
++++ b/arch/arm/mach-pxa/balloon3.c
+@@ -307,7 +307,7 @@ static inline void balloon3_mmc_init(voi
+ /******************************************************************************
+  * USB Gadget
+  ******************************************************************************/
+-#if defined(CONFIG_USB_GADGET_PXA27X)||defined(CONFIG_USB_GADGET_PXA27X_MODULE)
++#if defined(CONFIG_USB_PXA27X)||defined(CONFIG_USB_PXA27X_MODULE)
+ static void balloon3_udc_command(int cmd)
+ {
+       if (cmd == PXA2XX_UDC_CMD_CONNECT)
+--- a/arch/arm/mach-pxa/colibri-pxa320.c
++++ b/arch/arm/mach-pxa/colibri-pxa320.c
+@@ -147,7 +147,7 @@ static void __init colibri_pxa320_init_e
+ static inline void __init colibri_pxa320_init_eth(void) {}
+ #endif /* CONFIG_AX88796 */
+-#if defined(CONFIG_USB_GADGET_PXA27X)||defined(CONFIG_USB_GADGET_PXA27X_MODULE)
++#if defined(CONFIG_USB_PXA27X)||defined(CONFIG_USB_PXA27X_MODULE)
+ static struct gpio_vbus_mach_info colibri_pxa320_gpio_vbus_info = {
+       .gpio_vbus              = mfp_to_gpio(MFP_PIN_GPIO96),
+       .gpio_pullup            = -1,
+--- a/arch/arm/mach-pxa/gumstix.c
++++ b/arch/arm/mach-pxa/gumstix.c
+@@ -106,7 +106,7 @@ static void __init gumstix_mmc_init(void
+ }
+ #endif
+-#ifdef CONFIG_USB_GADGET_PXA25X
++#ifdef CONFIG_USB_PXA25X
+ static struct gpio_vbus_mach_info gumstix_udc_info = {
+       .gpio_vbus              = GPIO_GUMSTIX_USB_GPIOn,
+       .gpio_pullup            = GPIO_GUMSTIX_USB_GPIOx,
+--- a/arch/arm/mach-pxa/include/mach/palm27x.h
++++ b/arch/arm/mach-pxa/include/mach/palm27x.h
+@@ -37,8 +37,8 @@ extern void __init palm27x_lcd_init(int
+ static inline void palm27x_lcd_init(int power, struct pxafb_mode_info *mode) {}
+ #endif
+-#if   defined(CONFIG_USB_GADGET_PXA27X) || \
+-      defined(CONFIG_USB_GADGET_PXA27X_MODULE)
++#if   defined(CONFIG_USB_PXA27X) || \
++      defined(CONFIG_USB_PXA27X_MODULE)
+ extern void __init palm27x_udc_init(int vbus, int pullup,
+                                       int vbus_inverted);
+ #else
+--- a/arch/arm/mach-pxa/palm27x.c
++++ b/arch/arm/mach-pxa/palm27x.c
+@@ -164,8 +164,8 @@ void __init palm27x_lcd_init(int power,
+ /******************************************************************************
+  * USB Gadget
+  ******************************************************************************/
+-#if   defined(CONFIG_USB_GADGET_PXA27X) || \
+-      defined(CONFIG_USB_GADGET_PXA27X_MODULE)
++#if   defined(CONFIG_USB_PXA27X) || \
++      defined(CONFIG_USB_PXA27X_MODULE)
+ static struct gpio_vbus_mach_info palm27x_udc_info = {
+       .gpio_vbus_inverted     = 1,
+ };
+--- a/arch/arm/mach-pxa/palmtc.c
++++ b/arch/arm/mach-pxa/palmtc.c
+@@ -339,7 +339,7 @@ static inline void palmtc_mkp_init(void)
+ /******************************************************************************
+  * UDC
+  ******************************************************************************/
+-#if defined(CONFIG_USB_GADGET_PXA25X)||defined(CONFIG_USB_GADGET_PXA25X_MODULE)
++#if defined(CONFIG_USB_PXA25X)||defined(CONFIG_USB_PXA25X_MODULE)
+ static struct gpio_vbus_mach_info palmtc_udc_info = {
+       .gpio_vbus              = GPIO_NR_PALMTC_USB_DETECT_N,
+       .gpio_vbus_inverted     = 1,
+--- a/arch/arm/mach-pxa/vpac270.c
++++ b/arch/arm/mach-pxa/vpac270.c
+@@ -343,7 +343,7 @@ static inline void vpac270_uhc_init(void
+ /******************************************************************************
+  * USB Gadget
+  ******************************************************************************/
+-#if defined(CONFIG_USB_GADGET_PXA27X)||defined(CONFIG_USB_GADGET_PXA27X_MODULE)
++#if defined(CONFIG_USB_PXA27X)||defined(CONFIG_USB_PXA27X_MODULE)
+ static struct gpio_vbus_mach_info vpac270_gpio_vbus_info = {
+       .gpio_vbus              = GPIO41_VPAC270_UDC_DETECT,
+       .gpio_pullup            = -1,
diff --git a/queue-3.0/asoc-ensure-wm8731-register-cache-is-synced-when-resuming-from-disabled.patch b/queue-3.0/asoc-ensure-wm8731-register-cache-is-synced-when-resuming-from-disabled.patch
new file mode 100644 (file)
index 0000000..7486fb0
--- /dev/null
@@ -0,0 +1,26 @@
+From ed3e80c4c991a52f9fce3421536a78e331ae0949 Mon Sep 17 00:00:00 2001
+From: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Date: Mon, 21 Nov 2011 11:55:41 +0000
+Subject: ASoC: Ensure WM8731 register cache is synced when resuming from disabled
+
+From: Mark Brown <broonie@opensource.wolfsonmicro.com>
+
+commit ed3e80c4c991a52f9fce3421536a78e331ae0949 upstream.
+
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ sound/soc/codecs/wm8731.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/soc/codecs/wm8731.c
++++ b/sound/soc/codecs/wm8731.c
+@@ -463,6 +463,7 @@ static int wm8731_set_bias_level(struct
+               snd_soc_write(codec, WM8731_PWR, 0xffff);
+               regulator_bulk_disable(ARRAY_SIZE(wm8731->supplies),
+                                      wm8731->supplies);
++              codec->cache_sync = 1;
+               break;
+       }
+       codec->dapm.bias_level = level;
diff --git a/queue-3.0/asoc-fsl_ssi-properly-initialize-the-sysfs-attribute-object.patch b/queue-3.0/asoc-fsl_ssi-properly-initialize-the-sysfs-attribute-object.patch
new file mode 100644 (file)
index 0000000..255004e
--- /dev/null
@@ -0,0 +1,30 @@
+From 0f768a7235d3dfb6f4833030a95a06419df089cb Mon Sep 17 00:00:00 2001
+From: Timur Tabi <timur@freescale.com>
+Date: Mon, 14 Nov 2011 16:35:26 -0600
+Subject: ASoC: fsl_ssi: properly initialize the sysfs attribute object
+
+From: Timur Tabi <timur@freescale.com>
+
+commit 0f768a7235d3dfb6f4833030a95a06419df089cb upstream.
+
+Commit 6992f533 ("sysfs: Use one lockdep class per sysfs attribute")
+requires 'struct attribute' objects to be initialized with sysfs_attr_init().
+
+Signed-off-by: Timur Tabi <timur@freescale.com>
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ sound/soc/fsl/fsl_ssi.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/soc/fsl/fsl_ssi.c
++++ b/sound/soc/fsl/fsl_ssi.c
+@@ -698,6 +698,7 @@ static int __devinit fsl_ssi_probe(struc
+       /* Initialize the the device_attribute structure */
+       dev_attr = &ssi_private->dev_attr;
++      sysfs_attr_init(&dev_attr->attr);
+       dev_attr->attr.name = "statistics";
+       dev_attr->attr.mode = S_IRUGO;
+       dev_attr->show = fsl_sysfs_ssi_show;
diff --git a/queue-3.0/asoc-wm8753-skip-noop-reconfiguration-of-dai-mode.patch b/queue-3.0/asoc-wm8753-skip-noop-reconfiguration-of-dai-mode.patch
new file mode 100644 (file)
index 0000000..5a09888
--- /dev/null
@@ -0,0 +1,39 @@
+From 2391a0e06789a3f1718dee30b282562f7ed28c87 Mon Sep 17 00:00:00 2001
+From: Timo Juhani Lindfors <timo.lindfors@iki.fi>
+Date: Thu, 17 Nov 2011 02:52:50 +0200
+Subject: ASoC: wm8753: Skip noop reconfiguration of DAI mode
+
+From: Timo Juhani Lindfors <timo.lindfors@iki.fi>
+
+commit 2391a0e06789a3f1718dee30b282562f7ed28c87 upstream.
+
+This patch makes it possible to set DAI mode to its currently applied
+value even if codec is active. This is necessary to allow
+
+aplay -t raw -r 44100 -f S16_LE -c 2 < /dev/urandom &
+alsactl store -f backup.state
+alsactl restore -f backup.state
+
+to work without returning errors. This patch is based on a patch sent
+by Klaus Kurzmann <mok@fluxnetz.de>.
+
+Signed-off-by: Timo Juhani Lindfors <timo.lindfors@iki.fi>
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ sound/soc/codecs/wm8753.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/sound/soc/codecs/wm8753.c
++++ b/sound/soc/codecs/wm8753.c
+@@ -189,6 +189,9 @@ static int wm8753_set_dai(struct snd_kco
+       struct wm8753_priv *wm8753 = snd_soc_codec_get_drvdata(codec);
+       u16 ioctl;
++      if (wm8753->dai_func == ucontrol->value.integer.value[0])
++              return 0;
++
+       if (codec->active)
+               return -EBUSY;
index cd9de27d0f7a71dad7039c334137fcebe51ddc44..6cd6b1a81d8871c8729c06ed4ec3ef17ed8f4da8 100644 (file)
@@ -12,3 +12,12 @@ drm-i915-fix-cb-tuning-check-for-ilk.patch
 pci-hotplug-shpchp-don-t-blindly-claim-non-amd-0x7450-device-ids.patch
 drm-radeon-kms-fix-up-gpio-i2c-mask-bits-for-r4xx.patch
 viafb-correct-sync-polarity-for-olpc-dcon.patch
+arm-pxa-fix-inconsistent-config_usb_pxa27x.patch
+arm-mx28-fix-bit-operation-in-clock-setting.patch
+arm-omap-smartreflex-fix-irq-handling-bug.patch
+arm-omap2-select-arm_amba-if-omap3_emu-is-defined.patch
+arm-7161-1-errata-no-automatic-store-buffer-drain.patch
+alsa-lx6464es-fix-device-communication-via-command-bus.patch
+asoc-fsl_ssi-properly-initialize-the-sysfs-attribute-object.patch
+asoc-wm8753-skip-noop-reconfiguration-of-dai-mode.patch
+asoc-ensure-wm8731-register-cache-is-synced-when-resuming-from-disabled.patch