--- /dev/null
+From 0fdebe1a2f4d3a8fc03754022fabf8ba95e131a3 Mon Sep 17 00:00:00 2001
+From: Stefan Wahren <stefan.wahren@i2se.com>
+Date: Tue, 14 Apr 2015 20:37:26 +0000
+Subject: ARM: dts: imx23-olinuxino: Fix dr_mode of usb0
+
+From: Stefan Wahren <stefan.wahren@i2se.com>
+
+commit 0fdebe1a2f4d3a8fc03754022fabf8ba95e131a3 upstream.
+
+The dr_mode of usb0 on imx233-olinuxino is left to default "otg".
+Since the green LED (GPIO2_1) on imx233-olinuxino is connected to the
+same pin as USB_OTG_ID it's possible to disable USB host by LED toggling:
+
+echo 0 > /sys/class/leds/green/brightness
+[ 1068.890000] ci_hdrc ci_hdrc.0: remove, state 1
+[ 1068.890000] usb usb1: USB disconnect, device number 1
+[ 1068.920000] usb 1-1: USB disconnect, device number 2
+[ 1068.920000] usb 1-1.1: USB disconnect, device number 3
+[ 1069.070000] usb 1-1.2: USB disconnect, device number 4
+[ 1069.450000] ci_hdrc ci_hdrc.0: USB bus 1 deregistered
+[ 1074.460000] ci_hdrc ci_hdrc.0: timeout waiting for 00000800 in 11
+
+This patch fixes the issue by setting dr_mode to "host" in the dts file.
+
+Reported-by: Harald Geyer <harald@ccbib.org>
+Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
+Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
+Reviewed-by: Marek Vasut <marex@denx.de>
+Acked-by: Peter Chen <peter.chen@freescale.com>
+Fixes: b49312948285 ("ARM: dts: imx23-olinuxino: Add USB host support")
+Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/imx23-olinuxino.dts | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/arm/boot/dts/imx23-olinuxino.dts
++++ b/arch/arm/boot/dts/imx23-olinuxino.dts
+@@ -93,6 +93,7 @@
+
+ ahb@80080000 {
+ usb0: usb@80080000 {
++ dr_mode = "host";
+ vbus-supply = <®_usb0_vbus>;
+ status = "okay";
+ };
--- /dev/null
+From cfe8c59762244251fd9a5e281d48808095ff4090 Mon Sep 17 00:00:00 2001
+From: Fabio Estevam <fabio.estevam@freescale.com>
+Date: Tue, 14 Apr 2015 11:05:04 -0300
+Subject: ARM: dts: imx23-olinuxino: Fix polarity of LED GPIO
+
+From: Fabio Estevam <fabio.estevam@freescale.com>
+
+commit cfe8c59762244251fd9a5e281d48808095ff4090 upstream.
+
+On imx23-olinuxino the LED turns on when level logic high is aplied to
+GPIO2_1.
+
+Fix the gpios property accordingly.
+
+Fixes: b34aa1850244 ("ARM: dts: imx23-olinuxino: Remove unneeded "default-on"")
+Reported-by: Stefan Wahren <stefan.wahren@i2se.com>
+Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
+Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
+Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/imx23-olinuxino.dts | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/arch/arm/boot/dts/imx23-olinuxino.dts
++++ b/arch/arm/boot/dts/imx23-olinuxino.dts
+@@ -12,6 +12,7 @@
+ */
+
+ /dts-v1/;
++#include <dt-bindings/gpio/gpio.h>
+ #include "imx23.dtsi"
+
+ / {
+@@ -123,7 +124,7 @@
+
+ user {
+ label = "green";
+- gpios = <&gpio2 1 1>;
++ gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
+ };
+ };
+ };
--- /dev/null
+From f90d3f0d0a11fa77918fd5497cb616dd2faa8431 Mon Sep 17 00:00:00 2001
+From: Markus Pargmann <mpa@pengutronix.de>
+Date: Fri, 24 Apr 2015 09:27:33 +0200
+Subject: ARM: dts: imx25: Add #pwm-cells to pwm4
+
+From: Markus Pargmann <mpa@pengutronix.de>
+
+commit f90d3f0d0a11fa77918fd5497cb616dd2faa8431 upstream.
+
+The property '#pwm-cells' is currently missing. It is not possible to
+use pwm4 without this property.
+
+Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
+Fixes: 5658a68fb578 ("ARM i.MX25: Add devicetree")
+Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
+Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/imx25.dtsi | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/arm/boot/dts/imx25.dtsi
++++ b/arch/arm/boot/dts/imx25.dtsi
+@@ -428,6 +428,7 @@
+
+ pwm4: pwm@53fc8000 {
+ compatible = "fsl,imx25-pwm", "fsl,imx27-pwm";
++ #pwm-cells = <2>;
+ reg = <0x53fc8000 0x4000>;
+ clocks = <&clks 108>, <&clks 52>;
+ clock-names = "ipg", "per";
--- /dev/null
+From 4ada77e37a773168fea484899201e272ab44ba8b Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Fri, 24 Apr 2015 13:29:47 +0200
+Subject: ARM: dts: imx28: Fix AUART4 TX-DMA interrupt name
+
+From: Marek Vasut <marex@denx.de>
+
+commit 4ada77e37a773168fea484899201e272ab44ba8b upstream.
+
+Fix a typo in the TX DMA interrupt name for AUART4.
+This patch makes AUART4 operational again.
+
+Signed-off-by: Marek Vasut <marex@denx.de>
+Fixes: f30fb03d4d3a ("ARM: dts: add generic DMA device tree binding for mxs-dma")
+Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
+Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ Documentation/devicetree/bindings/dma/fsl-mxs-dma.txt | 2 +-
+ arch/arm/boot/dts/imx28.dtsi | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/Documentation/devicetree/bindings/dma/fsl-mxs-dma.txt
++++ b/Documentation/devicetree/bindings/dma/fsl-mxs-dma.txt
+@@ -38,7 +38,7 @@ dma_apbx: dma-apbx@80024000 {
+ 80 81 68 69
+ 70 71 72 73
+ 74 75 76 77>;
+- interrupt-names = "auart4-rx", "aurat4-tx", "spdif-tx", "empty",
++ interrupt-names = "auart4-rx", "auart4-tx", "spdif-tx", "empty",
+ "saif0", "saif1", "i2c0", "i2c1",
+ "auart0-rx", "auart0-tx", "auart1-rx", "auart1-tx",
+ "auart2-rx", "auart2-tx", "auart3-rx", "auart3-tx";
+--- a/arch/arm/boot/dts/imx28.dtsi
++++ b/arch/arm/boot/dts/imx28.dtsi
+@@ -900,7 +900,7 @@
+ 80 81 68 69
+ 70 71 72 73
+ 74 75 76 77>;
+- interrupt-names = "auart4-rx", "aurat4-tx", "spdif-tx", "empty",
++ interrupt-names = "auart4-rx", "auart4-tx", "spdif-tx", "empty",
+ "saif0", "saif1", "i2c0", "i2c1",
+ "auart0-rx", "auart0-tx", "auart1-rx", "auart1-tx",
+ "auart2-rx", "auart2-tx", "auart3-rx", "auart3-tx";
--- /dev/null
+From 7f8d49dcc66a3dd3a8fc3078330b8fb9e616ad3f Mon Sep 17 00:00:00 2001
+From: Philipp Zabel <p.zabel@pengutronix.de>
+Date: Tue, 21 Apr 2015 15:59:53 +0200
+Subject: ARM: dts: imx6: phyFLEX: USB VBUS control is active-high
+
+From: Philipp Zabel <p.zabel@pengutronix.de>
+
+commit 7f8d49dcc66a3dd3a8fc3078330b8fb9e616ad3f upstream.
+
+The fixed-regulator bindings require a separate property enable-active-high,
+the standard gpio phandle property polarity setting is ignored.
+
+Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
+Fixes: 4fe69a934b1f ("ARM: dts: Add Phytec pfla02 with i.MX6 DualLite/Solo")
+Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
++++ b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
+@@ -31,6 +31,7 @@
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ gpio = <&gpio4 15 0>;
++ enable-active-high;
+ };
+
+ reg_usb_h1_vbus: regulator@1 {
+@@ -40,6 +41,7 @@
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ gpio = <&gpio1 0 0>;
++ enable-active-high;
+ };
+ };
+
--- /dev/null
+From 1819e3034ee26ffadc71880064ed8b8e7d74f52c Mon Sep 17 00:00:00 2001
+From: Pavel Machek <pavel@ucw.cz>
+Date: Sun, 1 Mar 2015 21:07:08 +0200
+Subject: ARM: dts: OMAP3-N900: Add microphone bias voltages
+
+From: Pavel Machek <pavel@ucw.cz>
+
+commit 1819e3034ee26ffadc71880064ed8b8e7d74f52c upstream.
+
+N900 audio recording needs that codec provides bias voltage for integrated
+digital microphone and headset microphone depending which one is used.
+Digital microphone uses 2 V bias and it comes from the codec A part. Codec
+B part drives the headset microphone bias and that is set to 2.5 V.
+
+Signed-off-by: Pavel Machek <pavel@ucw.cz>
+[Jarkko: Headset mic bias changed to 2 (2.5 V) as it was before commit
+e2e8bfdf6157 ("ASoC: tlv320aic3x: Convert mic bias to a supply widget")]
+Signed-off-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/omap3-n900.dts | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/arch/arm/boot/dts/omap3-n900.dts
++++ b/arch/arm/boot/dts/omap3-n900.dts
+@@ -484,6 +484,8 @@
+ DRVDD-supply = <&vmmc2>;
+ IOVDD-supply = <&vio>;
+ DVDD-supply = <&vio>;
++
++ ai3x-micbias-vg = <1>;
+ };
+
+ tlv320aic3x_aux: tlv320aic3x@19 {
+@@ -495,6 +497,8 @@
+ DRVDD-supply = <&vmmc2>;
+ IOVDD-supply = <&vio>;
+ DVDD-supply = <&vio>;
++
++ ai3x-micbias-vg = <2>;
+ };
+
+ tsl2563: tsl2563@29 {
--- /dev/null
+From 750e30d4076ae5e02ad13a376e96c95a2627742c Mon Sep 17 00:00:00 2001
+From: Gregory CLEMENT <gregory.clement@free-electrons.com>
+Date: Tue, 14 Apr 2015 11:50:13 +0200
+Subject: ARM: mvebu: armada-xp-openblocks-ax3-4: Disable internal RTC
+
+From: Gregory CLEMENT <gregory.clement@free-electrons.com>
+
+commit 750e30d4076ae5e02ad13a376e96c95a2627742c upstream.
+
+There is no crystal connected to the internal RTC on the Open Block
+AX3. So let's disable it in order to prevent the kernel probing the
+driver uselessly. Eventually this patches removes the following
+warning message from the boot log:
+"rtc-mv d0010300.rtc: internal RTC not ticking"
+
+Acked-by: Andrew Lunn <andrew@lunn.ch>
+Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
++++ b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
+@@ -105,6 +105,10 @@
+ };
+
+ internal-regs {
++ rtc@10300 {
++ /* No crystal connected to the internal RTC */
++ status = "disabled";
++ };
+ serial@12000 {
+ status = "okay";
+ };
--- /dev/null
+From 19fc99d0c6ba7d9b65456496b5bb2169d5f74cd0 Mon Sep 17 00:00:00 2001
+From: Nicolas Schichan <nschichan@freebox.fr>
+Date: Wed, 6 May 2015 18:31:56 +0200
+Subject: ARM: net fix emit_udiv() for BPF_ALU | BPF_DIV | BPF_K intruction.
+
+From: Nicolas Schichan <nschichan@freebox.fr>
+
+commit 19fc99d0c6ba7d9b65456496b5bb2169d5f74cd0 upstream.
+
+In that case, emit_udiv() will be called with rn == ARM_R0 (r_scratch)
+and loading rm first into ARM_R0 will result in jit_udiv() function
+being called the same dividend and divisor. Fix that by loading rn
+first into ARM_R1 and then rm into ARM_R0.
+
+Signed-off-by: Nicolas Schichan <nschichan@freebox.fr>
+Fixes: aee636c4809f (bpf: do not use reciprocal divide)
+Acked-by: Mircea Gherzan <mgherzan@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/net/bpf_jit_32.c | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+--- a/arch/arm/net/bpf_jit_32.c
++++ b/arch/arm/net/bpf_jit_32.c
+@@ -449,10 +449,21 @@ static inline void emit_udiv(u8 rd, u8 r
+ return;
+ }
+ #endif
+- if (rm != ARM_R0)
+- emit(ARM_MOV_R(ARM_R0, rm), ctx);
++
++ /*
++ * For BPF_ALU | BPF_DIV | BPF_K instructions, rm is ARM_R4
++ * (r_A) and rn is ARM_R0 (r_scratch) so load rn first into
++ * ARM_R1 to avoid accidentally overwriting ARM_R0 with rm
++ * before using it as a source for ARM_R1.
++ *
++ * For BPF_ALU | BPF_DIV | BPF_X rm is ARM_R4 (r_A) and rn is
++ * ARM_R5 (r_X) so there is no particular register overlap
++ * issues.
++ */
+ if (rn != ARM_R1)
+ emit(ARM_MOV_R(ARM_R1, rn), ctx);
++ if (rm != ARM_R0)
++ emit(ARM_MOV_R(ARM_R0, rm), ctx);
+
+ ctx->seen |= SEEN_CALL;
+ emit_mov_i(ARM_R3, (u32)jit_udiv, ctx);
--- /dev/null
+From 102bcb6ed2d1c3ffcc7269afc957c2df11942085 Mon Sep 17 00:00:00 2001
+From: Tony Lindgren <tony@atomide.com>
+Date: Mon, 4 May 2015 08:54:41 -0700
+Subject: ARM: OMAP2+: Fix omap off idle power consumption creeping up
+
+From: Tony Lindgren <tony@atomide.com>
+
+commit 102bcb6ed2d1c3ffcc7269afc957c2df11942085 upstream.
+
+If we use a combination of VMODE and I2C4 for retention modes,
+eventually the off idle power consumption will creep up by about
+23mW, even during off mode with I2C4 always staying enabled.
+
+Turns out this is because of erratum i531 "Extra Power Consumed
+When Repeated Start Operation Mode Is Enabled on I2C Interface
+Dedicated for Smart Reflex (I2C4)" as pointed out by Nishanth
+Menon <nm@ti.com>.
+
+Let's fix the issue by adding i2c_cfg_clear_mask for the bits
+to clear when initializing the I2C4 adapter so we can clear
+SREN bit that drives the I2C4 lines low otherwise when there
+is no traffic.
+
+Fixes: 3b8c4ebb7630 ("ARM: OMAP3: Fix idle mode signaling for
+sys_clkreq and sys_off_mode")
+Cc: Kevin Hilman <khilman@kernel.org>
+Cc: Tero Kristo <t-kristo@ti.com>
+Reviewed-by: Nishanth Menon <nm@ti.com>
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/mach-omap2/prm-regbits-34xx.h | 1 +
+ arch/arm/mach-omap2/prm-regbits-44xx.h | 1 +
+ arch/arm/mach-omap2/vc.c | 12 ++++++++++--
+ arch/arm/mach-omap2/vc.h | 2 ++
+ arch/arm/mach-omap2/vc3xxx_data.c | 1 +
+ arch/arm/mach-omap2/vc44xx_data.c | 1 +
+ 6 files changed, 16 insertions(+), 2 deletions(-)
+
+--- a/arch/arm/mach-omap2/prm-regbits-34xx.h
++++ b/arch/arm/mach-omap2/prm-regbits-34xx.h
+@@ -112,6 +112,7 @@
+ #define OMAP3430_VC_CMD_ONLP_SHIFT 16
+ #define OMAP3430_VC_CMD_RET_SHIFT 8
+ #define OMAP3430_VC_CMD_OFF_SHIFT 0
++#define OMAP3430_SREN_MASK (1 << 4)
+ #define OMAP3430_HSEN_MASK (1 << 3)
+ #define OMAP3430_MCODE_MASK (0x7 << 0)
+ #define OMAP3430_VALID_MASK (1 << 24)
+--- a/arch/arm/mach-omap2/prm-regbits-44xx.h
++++ b/arch/arm/mach-omap2/prm-regbits-44xx.h
+@@ -35,6 +35,7 @@
+ #define OMAP4430_GLOBAL_WARM_SW_RST_SHIFT 1
+ #define OMAP4430_GLOBAL_WUEN_MASK (1 << 16)
+ #define OMAP4430_HSMCODE_MASK (0x7 << 0)
++#define OMAP4430_SRMODEEN_MASK (1 << 4)
+ #define OMAP4430_HSMODEEN_MASK (1 << 3)
+ #define OMAP4430_HSSCLL_SHIFT 24
+ #define OMAP4430_ICEPICK_RST_SHIFT 9
+--- a/arch/arm/mach-omap2/vc.c
++++ b/arch/arm/mach-omap2/vc.c
+@@ -316,7 +316,8 @@ static void __init omap3_vc_init_pmic_si
+ * idle. And we can also scale voltages to zero for off-idle.
+ * Note that no actual voltage scaling during off-idle will
+ * happen unless the board specific twl4030 PMIC scripts are
+- * loaded.
++ * loaded. See also omap_vc_i2c_init for comments regarding
++ * erratum i531.
+ */
+ val = voltdm->read(OMAP3_PRM_VOLTCTRL_OFFSET);
+ if (!(val & OMAP3430_PRM_VOLTCTRL_SEL_OFF)) {
+@@ -704,9 +705,16 @@ static void __init omap_vc_i2c_init(stru
+ return;
+ }
+
++ /*
++ * Note that for omap3 OMAP3430_SREN_MASK clears SREN to work around
++ * erratum i531 "Extra Power Consumed When Repeated Start Operation
++ * Mode Is Enabled on I2C Interface Dedicated for Smart Reflex (I2C4)".
++ * Otherwise I2C4 eventually leads into about 23mW extra power being
++ * consumed even during off idle using VMODE.
++ */
+ i2c_high_speed = voltdm->pmic->i2c_high_speed;
+ if (i2c_high_speed)
+- voltdm->rmw(vc->common->i2c_cfg_hsen_mask,
++ voltdm->rmw(vc->common->i2c_cfg_clear_mask,
+ vc->common->i2c_cfg_hsen_mask,
+ vc->common->i2c_cfg_reg);
+
+--- a/arch/arm/mach-omap2/vc.h
++++ b/arch/arm/mach-omap2/vc.h
+@@ -34,6 +34,7 @@ struct voltagedomain;
+ * @cmd_ret_shift: RET field shift in PRM_VC_CMD_VAL_* register
+ * @cmd_off_shift: OFF field shift in PRM_VC_CMD_VAL_* register
+ * @i2c_cfg_reg: I2C configuration register offset
++ * @i2c_cfg_clear_mask: high-speed mode bit clear mask in I2C config register
+ * @i2c_cfg_hsen_mask: high-speed mode bit field mask in I2C config register
+ * @i2c_mcode_mask: MCODE field mask for I2C config register
+ *
+@@ -52,6 +53,7 @@ struct omap_vc_common {
+ u8 cmd_ret_shift;
+ u8 cmd_off_shift;
+ u8 i2c_cfg_reg;
++ u8 i2c_cfg_clear_mask;
+ u8 i2c_cfg_hsen_mask;
+ u8 i2c_mcode_mask;
+ };
+--- a/arch/arm/mach-omap2/vc3xxx_data.c
++++ b/arch/arm/mach-omap2/vc3xxx_data.c
+@@ -40,6 +40,7 @@ static struct omap_vc_common omap3_vc_co
+ .cmd_onlp_shift = OMAP3430_VC_CMD_ONLP_SHIFT,
+ .cmd_ret_shift = OMAP3430_VC_CMD_RET_SHIFT,
+ .cmd_off_shift = OMAP3430_VC_CMD_OFF_SHIFT,
++ .i2c_cfg_clear_mask = OMAP3430_SREN_MASK | OMAP3430_HSEN_MASK,
+ .i2c_cfg_hsen_mask = OMAP3430_HSEN_MASK,
+ .i2c_cfg_reg = OMAP3_PRM_VC_I2C_CFG_OFFSET,
+ .i2c_mcode_mask = OMAP3430_MCODE_MASK,
+--- a/arch/arm/mach-omap2/vc44xx_data.c
++++ b/arch/arm/mach-omap2/vc44xx_data.c
+@@ -42,6 +42,7 @@ static const struct omap_vc_common omap4
+ .cmd_ret_shift = OMAP4430_RET_SHIFT,
+ .cmd_off_shift = OMAP4430_OFF_SHIFT,
+ .i2c_cfg_reg = OMAP4_PRM_VC_CFG_I2C_MODE_OFFSET,
++ .i2c_cfg_clear_mask = OMAP4430_SRMODEEN_MASK | OMAP4430_HSMODEEN_MASK,
+ .i2c_cfg_hsen_mask = OMAP4430_HSMODEEN_MASK,
+ .i2c_mcode_mask = OMAP4430_HSMCODE_MASK,
+ };
--- /dev/null
+From f9a8c3914ba85f19c3360b19612d77c47adb8942 Mon Sep 17 00:00:00 2001
+From: Ulf Hansson <ulf.hansson@linaro.org>
+Date: Mon, 20 Apr 2015 16:02:32 +0200
+Subject: ARM: ux500: Enable GPIO regulator for SD-card for HREF boards
+
+From: Ulf Hansson <ulf.hansson@linaro.org>
+
+commit f9a8c3914ba85f19c3360b19612d77c47adb8942 upstream.
+
+Fixes: c94a4ab7af3f ("ARM: ux500: Disable the MMCI gpio-regulator by default")
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+Reviewed-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/ste-href.dtsi | 2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/arch/arm/boot/dts/ste-href.dtsi
++++ b/arch/arm/boot/dts/ste-href.dtsi
+@@ -124,8 +124,6 @@
+
+ states = <1800000 0x1
+ 2900000 0x0>;
+-
+- status = "disabled";
+ };
+
+ // External Micro SD slot
--- /dev/null
+From 11133db7a836b0cb411faa048f07a38e994d1382 Mon Sep 17 00:00:00 2001
+From: Ulf Hansson <ulf.hansson@linaro.org>
+Date: Mon, 20 Apr 2015 16:02:33 +0200
+Subject: ARM: ux500: Enable GPIO regulator for SD-card for snowball
+
+From: Ulf Hansson <ulf.hansson@linaro.org>
+
+commit 11133db7a836b0cb411faa048f07a38e994d1382 upstream.
+
+Fixes: c94a4ab7af3f ("ARM: ux500: Disable the MMCI gpio-regulator by default")
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+Reviewed-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/ste-snowball.dts | 2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/arch/arm/boot/dts/ste-snowball.dts
++++ b/arch/arm/boot/dts/ste-snowball.dts
+@@ -161,8 +161,6 @@
+
+ states = <1800000 0x1
+ 2900000 0x0>;
+-
+- status = "disabled";
+ };
+
+ // External Micro SD slot
--- /dev/null
+From 53d2669844263fd5fdc70f0eb6a2eb8a21086d8e Mon Sep 17 00:00:00 2001
+From: Ulf Hansson <ulf.hansson@linaro.org>
+Date: Mon, 20 Apr 2015 16:02:31 +0200
+Subject: ARM: ux500: Move GPIO regulator for SD-card into board DTSs
+
+From: Ulf Hansson <ulf.hansson@linaro.org>
+
+commit 53d2669844263fd5fdc70f0eb6a2eb8a21086d8e upstream.
+
+The GPIO regulator for the SD-card isn't a ux500 SOC configuration, but
+instead it's specific to the board. Move the definition of it, into the
+board DTSs.
+
+Fixes: c94a4ab7af3f ("ARM: ux500: Disable the MMCI gpio-regulator by default")
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+Reviewed-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/ste-dbx5x0.dtsi | 17 -----------------
+ arch/arm/boot/dts/ste-href.dtsi | 17 +++++++++++++++++
+ arch/arm/boot/dts/ste-snowball.dts | 15 +++++++++++++++
+ 3 files changed, 32 insertions(+), 17 deletions(-)
+
+--- a/arch/arm/boot/dts/ste-dbx5x0.dtsi
++++ b/arch/arm/boot/dts/ste-dbx5x0.dtsi
+@@ -1017,23 +1017,6 @@
+ status = "disabled";
+ };
+
+- vmmci: regulator-gpio {
+- compatible = "regulator-gpio";
+-
+- regulator-min-microvolt = <1800000>;
+- regulator-max-microvolt = <2900000>;
+- regulator-name = "mmci-reg";
+- regulator-type = "voltage";
+-
+- startup-delay-us = <100>;
+- enable-active-high;
+-
+- states = <1800000 0x1
+- 2900000 0x0>;
+-
+- status = "disabled";
+- };
+-
+ mcde@a0350000 {
+ compatible = "stericsson,mcde";
+ reg = <0xa0350000 0x1000>, /* MCDE */
+--- a/arch/arm/boot/dts/ste-href.dtsi
++++ b/arch/arm/boot/dts/ste-href.dtsi
+@@ -111,6 +111,23 @@
+ pinctrl-1 = <&i2c3_sleep_mode>;
+ };
+
++ vmmci: regulator-gpio {
++ compatible = "regulator-gpio";
++
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <2900000>;
++ regulator-name = "mmci-reg";
++ regulator-type = "voltage";
++
++ startup-delay-us = <100>;
++ enable-active-high;
++
++ states = <1800000 0x1
++ 2900000 0x0>;
++
++ status = "disabled";
++ };
++
+ // External Micro SD slot
+ sdi0_per1@80126000 {
+ arm,primecell-periphid = <0x10480180>;
+--- a/arch/arm/boot/dts/ste-snowball.dts
++++ b/arch/arm/boot/dts/ste-snowball.dts
+@@ -146,8 +146,23 @@
+ };
+
+ vmmci: regulator-gpio {
++ compatible = "regulator-gpio";
++
+ gpios = <&gpio7 4 0x4>;
+ enable-gpio = <&gpio6 25 0x4>;
++
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <2900000>;
++ regulator-name = "mmci-reg";
++ regulator-type = "voltage";
++
++ startup-delay-us = <100>;
++ enable-active-high;
++
++ states = <1800000 0x1
++ 2900000 0x0>;
++
++ status = "disabled";
+ };
+
+ // External Micro SD slot
--- /dev/null
+From fdb68e09bbb1c981f24608d7022c7d93cc47b326 Mon Sep 17 00:00:00 2001
+From: Mario Kleiner <mario.kleiner.de@gmail.com>
+Date: Tue, 7 Apr 2015 06:31:09 +0200
+Subject: drm: Zero out invalid vblank timestamp in drm_update_vblank_count.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Mario Kleiner <mario.kleiner.de@gmail.com>
+
+commit fdb68e09bbb1c981f24608d7022c7d93cc47b326 upstream.
+
+Since commit 844b03f27739135fe1fed2fef06da0ffc4c7a081 we make
+sure that after vblank irq off, we return the last valid
+(vblank count, vblank timestamp) pair to clients, e.g., during
+modesets, which is good.
+
+An overlooked side effect of that commit for kms drivers without
+support for precise vblank timestamping is that at vblank irq
+enable, when we update the vblank counter from the hw counter, we
+can't update the corresponding vblank timestamp, so now we have a
+totally mismatched timestamp for the new count to confuse clients.
+
+Restore old client visible behaviour from before Linux 3.17, but
+zero out the timestamp at vblank counter update (instead of disable
+as in original implementation) if we can't generate a meaningful
+timestamp immediately for the new vblank counter. This will fix
+this regression, so callers know they need to retry again later
+if they need a valid timestamp, but at the same time preserves
+the improvements made in the commit mentioned above.
+
+Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
+Cc: <stable@vger.kernel.org> #v3.17+
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
+Cc: Daniel Vetter <daniel@ffwll.ch>
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+---
+ drivers/gpu/drm/drm_irq.c | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+--- a/drivers/gpu/drm/drm_irq.c
++++ b/drivers/gpu/drm/drm_irq.c
+@@ -131,12 +131,11 @@ static void drm_update_vblank_count(stru
+
+ /* Reinitialize corresponding vblank timestamp if high-precision query
+ * available. Skip this step if query unsupported or failed. Will
+- * reinitialize delayed at next vblank interrupt in that case.
++ * reinitialize delayed at next vblank interrupt in that case and
++ * assign 0 for now, to mark the vblanktimestamp as invalid.
+ */
+- if (rc) {
+- tslot = atomic_read(&vblank->count) + diff;
+- vblanktimestamp(dev, crtc, tslot) = t_vblank;
+- }
++ tslot = atomic_read(&vblank->count) + diff;
++ vblanktimestamp(dev, crtc, tslot) = rc ? t_vblank : (struct timeval) {0, 0};
+
+ smp_mb__before_atomic();
+ atomic_add(diff, &vblank->count);
block-destroy-bdi-before-blockdev-is-unregistered.patch
blk-mq-fix-race-between-timeout-and-cpu-hotplug.patch
blk-mq-fix-cpu-hotplug-handling.patch
+arm-dts-omap3-n900-add-microphone-bias-voltages.patch
+arm-dts-imx25-add-pwm-cells-to-pwm4.patch
+arm-dts-imx6-phyflex-usb-vbus-control-is-active-high.patch
+arm-dts-imx28-fix-auart4-tx-dma-interrupt-name.patch
+arm-dts-imx23-olinuxino-fix-dr_mode-of-usb0.patch
+arm-dts-imx23-olinuxino-fix-polarity-of-led-gpio.patch
+arm-mvebu-armada-xp-openblocks-ax3-4-disable-internal-rtc.patch
+arm-omap2-fix-omap-off-idle-power-consumption-creeping-up.patch
+arm-net-fix-emit_udiv-for-bpf_alu-bpf_div-bpf_k-intruction.patch
+arm-ux500-move-gpio-regulator-for-sd-card-into-board-dtss.patch
+arm-ux500-enable-gpio-regulator-for-sd-card-for-href-boards.patch
+arm-ux500-enable-gpio-regulator-for-sd-card-for-snowball.patch
+drm-zero-out-invalid-vblank-timestamp-in-drm_update_vblank_count.patch