From: Greg Kroah-Hartman Date: Sun, 6 Dec 2015 05:51:46 +0000 (-0800) Subject: 4.3-stable patches X-Git-Tag: v3.10.94~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c98aa298f36ea383a22c411f8dfa5cfd6c2f53d7;p=thirdparty%2Fkernel%2Fstable-queue.git 4.3-stable patches added patches: arm-8426-1-dma-mapping-add-missing-range-check-in-dma_mmap.patch arm-8427-1-dma-mapping-add-support-for-offset-parameter-in-dma_mmap.patch arm-at91-dt-corrections-to-i2c1-declaration-to-sama5d4.patch arm-at91-pm-at91_pm_suspend_in_sram-must-be-8-byte-aligned.patch arm-common-edma-fix-channel-parameter-for-irq-callbacks.patch arm-dts-add-vbus-regulator-to-usb2-phy-nodes-on-exynos3250-exynos4210-and-exynos4412-boards.patch arm-dts-fix-wlan-regression-on-omap5-uevm.patch arm-dts-imx27.dtsi-change-the-clock-information-for-usb.patch arm-dts-sun6i-hummingbird-fix-vdd-cpu-and-vdd-gpu.patch arm-pxa-remove-incorrect-__init-annotation-on-pxa27x_set_pwrmode.patch arm-tegra-paz00-use-con_id-s-to-refer-gpio-s-in-gpiod_lookup-table.patch --- diff --git a/queue-4.3/arm-8426-1-dma-mapping-add-missing-range-check-in-dma_mmap.patch b/queue-4.3/arm-8426-1-dma-mapping-add-missing-range-check-in-dma_mmap.patch new file mode 100644 index 00000000000..0990ccb0be5 --- /dev/null +++ b/queue-4.3/arm-8426-1-dma-mapping-add-missing-range-check-in-dma_mmap.patch @@ -0,0 +1,42 @@ +From 371f0f085f629fc0f66695f572373ca4445a67ad Mon Sep 17 00:00:00 2001 +From: Marek Szyprowski +Date: Fri, 28 Aug 2015 09:41:39 +0100 +Subject: ARM: 8426/1: dma-mapping: add missing range check in dma_mmap() + +From: Marek Szyprowski + +commit 371f0f085f629fc0f66695f572373ca4445a67ad upstream. + +dma_mmap() function in IOMMU-based dma-mapping implementation lacked +a check for valid range of mmap parameters (offset and buffer size), what +might have caused access beyond the allocated buffer. This patch fixes +this issue. + +Signed-off-by: Marek Szyprowski +Signed-off-by: Russell King +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm/mm/dma-mapping.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/arch/arm/mm/dma-mapping.c ++++ b/arch/arm/mm/dma-mapping.c +@@ -1407,12 +1407,17 @@ static int arm_iommu_mmap_attrs(struct d + unsigned long uaddr = vma->vm_start; + unsigned long usize = vma->vm_end - vma->vm_start; + struct page **pages = __iommu_get_pages(cpu_addr, attrs); ++ unsigned long nr_pages = PAGE_ALIGN(size) >> PAGE_SHIFT; ++ unsigned long off = vma->vm_pgoff; + + vma->vm_page_prot = __get_dma_pgprot(attrs, vma->vm_page_prot); + + if (!pages) + return -ENXIO; + ++ if (off >= nr_pages || (usize >> PAGE_SHIFT) > nr_pages - off) ++ return -ENXIO; ++ + do { + int ret = vm_insert_page(vma, uaddr, *pages++); + if (ret) { diff --git a/queue-4.3/arm-8427-1-dma-mapping-add-support-for-offset-parameter-in-dma_mmap.patch b/queue-4.3/arm-8427-1-dma-mapping-add-support-for-offset-parameter-in-dma_mmap.patch new file mode 100644 index 00000000000..31dd1e4c354 --- /dev/null +++ b/queue-4.3/arm-8427-1-dma-mapping-add-support-for-offset-parameter-in-dma_mmap.patch @@ -0,0 +1,33 @@ +From 7e31210349e9e03a9a4dff31ab5f2bc83e8e84f5 Mon Sep 17 00:00:00 2001 +From: Marek Szyprowski +Date: Fri, 28 Aug 2015 09:42:09 +0100 +Subject: ARM: 8427/1: dma-mapping: add support for offset parameter in dma_mmap() + +From: Marek Szyprowski + +commit 7e31210349e9e03a9a4dff31ab5f2bc83e8e84f5 upstream. + +IOMMU-based dma_mmap() implementation lacked proper support for offset +parameter used in mmap call (it always assumed that mapping starts from +offset zero). This patch adds support for offset parameter to IOMMU-based +implementation. + +Signed-off-by: Marek Szyprowski +Signed-off-by: Russell King +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm/mm/dma-mapping.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/arch/arm/mm/dma-mapping.c ++++ b/arch/arm/mm/dma-mapping.c +@@ -1418,6 +1418,8 @@ static int arm_iommu_mmap_attrs(struct d + if (off >= nr_pages || (usize >> PAGE_SHIFT) > nr_pages - off) + return -ENXIO; + ++ pages += off; ++ + do { + int ret = vm_insert_page(vma, uaddr, *pages++); + if (ret) { diff --git a/queue-4.3/arm-at91-dt-corrections-to-i2c1-declaration-to-sama5d4.patch b/queue-4.3/arm-at91-dt-corrections-to-i2c1-declaration-to-sama5d4.patch new file mode 100644 index 00000000000..ef4bbea3432 --- /dev/null +++ b/queue-4.3/arm-at91-dt-corrections-to-i2c1-declaration-to-sama5d4.patch @@ -0,0 +1,38 @@ +From d1a9c24ad16ab2b26f1574bc3f2c165a7beff5df Mon Sep 17 00:00:00 2001 +From: Holger Busse +Date: Wed, 26 Aug 2015 10:45:45 +0200 +Subject: ARM: at91/dt: corrections to i2c1 declaration to sama5d4 + +From: Holger Busse + +commit d1a9c24ad16ab2b26f1574bc3f2c165a7beff5df upstream. + +Correcting the dma declaration for i2c1 dma. + +Signed-off-by: Holger Busse +Signed-off-by: Nicolas Ferre +Fixes: 4cc7cdf35c5f ("ARM: at91/dt: add i2c1 declaration to sama5d4") +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm/boot/dts/sama5d4.dtsi | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +--- a/arch/arm/boot/dts/sama5d4.dtsi ++++ b/arch/arm/boot/dts/sama5d4.dtsi +@@ -939,11 +939,11 @@ + reg = <0xf8018000 0x4000>; + interrupts = <33 IRQ_TYPE_LEVEL_HIGH 6>; + dmas = <&dma1 +- (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)) +- AT91_XDMAC_DT_PERID(4)>, ++ (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) ++ | AT91_XDMAC_DT_PERID(4))>, + <&dma1 +- (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)) +- AT91_XDMAC_DT_PERID(5)>; ++ (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) ++ | AT91_XDMAC_DT_PERID(5))>; + dma-names = "tx", "rx"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c1>; diff --git a/queue-4.3/arm-at91-pm-at91_pm_suspend_in_sram-must-be-8-byte-aligned.patch b/queue-4.3/arm-at91-pm-at91_pm_suspend_in_sram-must-be-8-byte-aligned.patch new file mode 100644 index 00000000000..d045b1cb745 --- /dev/null +++ b/queue-4.3/arm-at91-pm-at91_pm_suspend_in_sram-must-be-8-byte-aligned.patch @@ -0,0 +1,33 @@ +From 5fcf8d1a0e84792b2bc44922c5d833dab96a9c1e Mon Sep 17 00:00:00 2001 +From: Patrick Doyle +Date: Fri, 16 Oct 2015 12:39:05 +0200 +Subject: ARM: at91: pm: at91_pm_suspend_in_sram() must be 8-byte aligned + +From: Patrick Doyle + +commit 5fcf8d1a0e84792b2bc44922c5d833dab96a9c1e upstream. + +fncpy() requires that the source and the destination are both 8-byte +aligned. + +Signed-off-by: Patrick Doyle +Signed-off-by: Alexandre Belloni +Acked-by: Nicolas Ferre +Fixes: d94e688cae56 ("ARM: at91/pm: move the copying the sram function to the sram initialization phase") +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm/mach-at91/pm_suspend.S | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/arch/arm/mach-at91/pm_suspend.S ++++ b/arch/arm/mach-at91/pm_suspend.S +@@ -80,6 +80,8 @@ tmp2 .req r5 + * @r2: base address of second SDRAM Controller or 0 if not present + * @r3: pm information + */ ++/* at91_pm_suspend_in_sram must be 8-byte aligned per the requirements of fncpy() */ ++ .align 3 + ENTRY(at91_pm_suspend_in_sram) + /* Save registers on stack */ + stmfd sp!, {r4 - r12, lr} diff --git a/queue-4.3/arm-common-edma-fix-channel-parameter-for-irq-callbacks.patch b/queue-4.3/arm-common-edma-fix-channel-parameter-for-irq-callbacks.patch new file mode 100644 index 00000000000..346132f4f41 --- /dev/null +++ b/queue-4.3/arm-common-edma-fix-channel-parameter-for-irq-callbacks.patch @@ -0,0 +1,42 @@ +From 696d8b70c09dd421c4d037fab04341e5b30585cf Mon Sep 17 00:00:00 2001 +From: Peter Ujfalusi +Date: Wed, 14 Oct 2015 14:42:43 +0300 +Subject: ARM: common: edma: Fix channel parameter for irq callbacks + +From: Peter Ujfalusi + +commit 696d8b70c09dd421c4d037fab04341e5b30585cf upstream. + +In case when the interrupt happened for the second eDMA the channel +number was incorrectly passed to the client driver. + +Signed-off-by: Peter Ujfalusi +Signed-off-by: Vinod Koul +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm/common/edma.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +--- a/arch/arm/common/edma.c ++++ b/arch/arm/common/edma.c +@@ -406,7 +406,8 @@ static irqreturn_t dma_irq_handler(int i + BIT(slot)); + if (edma_cc[ctlr]->intr_data[channel].callback) + edma_cc[ctlr]->intr_data[channel].callback( +- channel, EDMA_DMA_COMPLETE, ++ EDMA_CTLR_CHAN(ctlr, channel), ++ EDMA_DMA_COMPLETE, + edma_cc[ctlr]->intr_data[channel].data); + } + } while (sh_ipr); +@@ -460,7 +461,8 @@ static irqreturn_t dma_ccerr_handler(int + if (edma_cc[ctlr]->intr_data[k]. + callback) { + edma_cc[ctlr]->intr_data[k]. +- callback(k, ++ callback( ++ EDMA_CTLR_CHAN(ctlr, k), + EDMA_DMA_CC_ERROR, + edma_cc[ctlr]->intr_data + [k].data); diff --git a/queue-4.3/arm-dts-add-vbus-regulator-to-usb2-phy-nodes-on-exynos3250-exynos4210-and-exynos4412-boards.patch b/queue-4.3/arm-dts-add-vbus-regulator-to-usb2-phy-nodes-on-exynos3250-exynos4210-and-exynos4412-boards.patch new file mode 100644 index 00000000000..34dc528c904 --- /dev/null +++ b/queue-4.3/arm-dts-add-vbus-regulator-to-usb2-phy-nodes-on-exynos3250-exynos4210-and-exynos4412-boards.patch @@ -0,0 +1,95 @@ +From 4ae9a4c66cdcb8b5d4e4d904846f1b450dbcabb4 Mon Sep 17 00:00:00 2001 +From: Marek Szyprowski +Date: Fri, 21 Aug 2015 14:38:38 +0200 +Subject: ARM: dts: Add vbus regulator to USB2 phy nodes on exynos3250, exynos4210 and exynos4412 boards + +From: Marek Szyprowski + +commit 4ae9a4c66cdcb8b5d4e4d904846f1b450dbcabb4 upstream. + +Exynos USB2 PHY driver now supports VBUS regulator, so add it to all +boards which have it available. This also fixes commit +7eec1266751b ("ARM: dts: Add Maxim 77693 PMIC to exynos4412-trats2"), +which added new regulators to Trats2 board, but without linking them to +the consumers. + +Signed-off-by: Marek Szyprowski +Signed-off-by: Krzysztof Kozlowski +Fixes: 7eec1266751b ("ARM: dts: Add Maxim 77693 PMIC to exynos4412-trats2") +Signed-off-by: Kukjin Kim +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm/boot/dts/exynos3250-monk.dts | 1 + + arch/arm/boot/dts/exynos3250-rinato.dts | 1 + + arch/arm/boot/dts/exynos4210-trats.dts | 2 +- + arch/arm/boot/dts/exynos4210-universal_c210.dts | 2 +- + arch/arm/boot/dts/exynos4412-trats2.dts | 1 + + 5 files changed, 5 insertions(+), 2 deletions(-) + +--- a/arch/arm/boot/dts/exynos3250-monk.dts ++++ b/arch/arm/boot/dts/exynos3250-monk.dts +@@ -161,6 +161,7 @@ + }; + + &exynos_usbphy { ++ vbus-supply = <&safeout_reg>; + status = "okay"; + }; + +--- a/arch/arm/boot/dts/exynos3250-rinato.dts ++++ b/arch/arm/boot/dts/exynos3250-rinato.dts +@@ -153,6 +153,7 @@ + + &exynos_usbphy { + status = "okay"; ++ vbus-supply = <&safeout_reg>; + }; + + &hsotg { +--- a/arch/arm/boot/dts/exynos4210-trats.dts ++++ b/arch/arm/boot/dts/exynos4210-trats.dts +@@ -251,6 +251,7 @@ + + &exynos_usbphy { + status = "okay"; ++ vbus-supply = <&safe1_sreg>; + }; + + &fimd { +@@ -448,7 +449,6 @@ + + safe1_sreg: ESAFEOUT1 { + regulator-name = "SAFEOUT1"; +- regulator-always-on; + }; + + safe2_sreg: ESAFEOUT2 { +--- a/arch/arm/boot/dts/exynos4210-universal_c210.dts ++++ b/arch/arm/boot/dts/exynos4210-universal_c210.dts +@@ -248,6 +248,7 @@ + + &exynos_usbphy { + status = "okay"; ++ vbus-supply = <&safeout1_reg>; + }; + + &fimd { +@@ -486,7 +487,6 @@ + + safeout1_reg: ESAFEOUT1 { + regulator-name = "SAFEOUT1"; +- regulator-always-on; + }; + + safeout2_reg: ESAFEOUT2 { +--- a/arch/arm/boot/dts/exynos4412-trats2.dts ++++ b/arch/arm/boot/dts/exynos4412-trats2.dts +@@ -391,6 +391,7 @@ + }; + + &exynos_usbphy { ++ vbus-supply = <&esafeout1_reg>; + status = "okay"; + }; + diff --git a/queue-4.3/arm-dts-fix-wlan-regression-on-omap5-uevm.patch b/queue-4.3/arm-dts-fix-wlan-regression-on-omap5-uevm.patch new file mode 100644 index 00000000000..3cfa1e9ea1a --- /dev/null +++ b/queue-4.3/arm-dts-fix-wlan-regression-on-omap5-uevm.patch @@ -0,0 +1,154 @@ +From 0efc898a9bea7a2e8e583c6efab0e19dc7093078 Mon Sep 17 00:00:00 2001 +From: Tony Lindgren +Date: Fri, 16 Oct 2015 12:32:32 -0700 +Subject: ARM: dts: Fix WLAN regression on omap5-uevm + +From: Tony Lindgren + +commit 0efc898a9bea7a2e8e583c6efab0e19dc7093078 upstream. + +Commit 99f84cae43df ("ARM: dts: add wl12xx/wl18xx bindings") added +device tree bindings for the TI WLAN SDIO on many omap variants. + +I recall wondering how come omap5-uevm did not have the WLAN +added and this issue has been bugging me for a while now, and +I finally tracked it down to a bad pinmux regression, and a missing +deferred probe handling for the 32k clock from palmas that's +requested by twl6040. + +Basically 392adaf796b9 ("ARM: dts: omap5-evm: Add mcspi data") +added pin muxing for mcspi4 that conflicts with the onboard +WLAN. While some omap5-uevm don't have WLAN populated, the +pins are not reused for other devices. And as the SDIO bus +should be probed, let's try to enable WLAN by default. + +Let's fix the regression and add the WLAN configuration as +done for the other boards in 99f84cae43df ("ARM: dts: add +wl12xx/wl18xx bindings"). And let's use the new MMC pwrseq for +the 32k clock as suggested by Javier Martinez Canillas +. + +Note that without a related deferred probe fix for twl6040, +the 32k clock is not initialized if palmas-clk is a module +and twl6040 is built-in. + +Let's also use the generic "non-removable" instead of the +legacy "ti,non-removable" property while at it. + +And finally, note that omap5 seems to require WAKEUP_EN for +the WLAN GPIO interrupt. + +Fixes: 392adaf796b9 ("ARM: dts: omap5-evm: Add mcspi data") +Cc: Sourav Poddar +Signed-off-by: Tony Lindgren +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm/boot/dts/omap5-uevm.dts | 66 ++++++++++++++++++++++++++++++++------- + 1 file changed, 55 insertions(+), 11 deletions(-) + +--- a/arch/arm/boot/dts/omap5-uevm.dts ++++ b/arch/arm/boot/dts/omap5-uevm.dts +@@ -31,6 +31,24 @@ + regulator-max-microvolt = <3000000>; + }; + ++ mmc3_pwrseq: sdhci0_pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ clocks = <&clk32kgaudio>; ++ clock-names = "ext_clock"; ++ }; ++ ++ vmmcsdio_fixed: fixedregulator-mmcsdio { ++ compatible = "regulator-fixed"; ++ regulator-name = "vmmcsdio_fixed"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ gpio = <&gpio5 12 GPIO_ACTIVE_HIGH>; /* gpio140 WLAN_EN */ ++ enable-active-high; ++ startup-delay-us = <70000>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&wlan_pins>; ++ }; ++ + /* HS USB Host PHY on PORT 2 */ + hsusb2_phy: hsusb2_phy { + compatible = "usb-nop-xceiv"; +@@ -197,12 +215,20 @@ + >; + }; + +- mcspi4_pins: pinmux_mcspi4_pins { ++ mmc3_pins: pinmux_mmc3_pins { ++ pinctrl-single,pins = < ++ OMAP5_IOPAD(0x01a4, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_clk */ ++ OMAP5_IOPAD(0x01a6, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_cmd */ ++ OMAP5_IOPAD(0x01a8, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data0 */ ++ OMAP5_IOPAD(0x01aa, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data1 */ ++ OMAP5_IOPAD(0x01ac, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data2 */ ++ OMAP5_IOPAD(0x01ae, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data3 */ ++ >; ++ }; ++ ++ wlan_pins: pinmux_wlan_pins { + pinctrl-single,pins = < +- 0x164 (PIN_INPUT | MUX_MODE1) /* mcspi4_clk */ +- 0x168 (PIN_INPUT | MUX_MODE1) /* mcspi4_simo */ +- 0x16a (PIN_INPUT | MUX_MODE1) /* mcspi4_somi */ +- 0x16c (PIN_INPUT | MUX_MODE1) /* mcspi4_cs0 */ ++ OMAP5_IOPAD(0x1bc, PIN_OUTPUT | MUX_MODE6) /* mcspi1_clk.gpio5_140 */ + >; + }; + +@@ -276,6 +302,12 @@ + 0x1A (PIN_OUTPUT | MUX_MODE0) /* fref_clk1_out, USB hub clk */ + >; + }; ++ ++ wlcore_irq_pin: pinmux_wlcore_irq_pin { ++ pinctrl-single,pins = < ++ OMAP5_IOPAD(0x040, WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE6) /* llia_wakereqin.gpio1_wk14 */ ++ >; ++ }; + }; + + &mmc1 { +@@ -290,8 +322,25 @@ + }; + + &mmc3 { ++ vmmc-supply = <&vmmcsdio_fixed>; ++ mmc-pwrseq = <&mmc3_pwrseq>; + bus-width = <4>; +- ti,non-removable; ++ non-removable; ++ cap-power-off-card; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc3_pins &wlcore_irq_pin>; ++ interrupts-extended = <&gic GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH ++ &omap5_pmx_core 0x168>; ++ ++ #address-cells = <1>; ++ #size-cells = <0>; ++ wlcore: wlcore@2 { ++ compatible = "ti,wl1271"; ++ reg = <2>; ++ interrupt-parent = <&gpio1>; ++ interrupts = <14 IRQ_TYPE_LEVEL_HIGH>; /* gpio 14 */ ++ ref-clock-frequency = <26000000>; ++ }; + }; + + &mmc4 { +@@ -598,11 +647,6 @@ + pinctrl-0 = <&mcspi3_pins>; + }; + +-&mcspi4 { +- pinctrl-names = "default"; +- pinctrl-0 = <&mcspi4_pins>; +-}; +- + &uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>; diff --git a/queue-4.3/arm-dts-imx27.dtsi-change-the-clock-information-for-usb.patch b/queue-4.3/arm-dts-imx27.dtsi-change-the-clock-information-for-usb.patch new file mode 100644 index 00000000000..c4388e707b9 --- /dev/null +++ b/queue-4.3/arm-dts-imx27.dtsi-change-the-clock-information-for-usb.patch @@ -0,0 +1,91 @@ +From facf47ee6b4d07d43c3bfd6f0762f1b28f64703a Mon Sep 17 00:00:00 2001 +From: Peter Chen +Date: Wed, 16 Sep 2015 09:35:06 +0800 +Subject: ARM: dts: imx27.dtsi: change the clock information for usb + +From: Peter Chen + +commit facf47ee6b4d07d43c3bfd6f0762f1b28f64703a upstream. + +For imx27, it needs three clocks to let the controller work, +the old code is wrong, and usbmisc has not included clock handling +code any more. Without this patch, it will cause below data +abort when accessing usbmisc registers. + +usbcore: registered new interface driver usb-storage +Unhandled fault: external abort on non-linefetch (0x008) at 0xf4424600 +pgd = c0004000 +[f4424600] *pgd=10000452(bad) +Internal error: : 8 [#1] PREEMPT ARM +Modules linked in: +CPU: 0 PID: 1 Comm: swapper Not tainted 4.1.0-next-20150701-dirty #3089 +Hardware name: Freescale i.MX27 (Device Tree Support) +task: c7832b60 ti: c783e000 task.ti: c783e000 +PC is at usbmisc_imx27_init+0x4c/0xbc +LR is at usbmisc_imx27_init+0x40/0xbc +pc : [] lr : [] psr: 60000093 +sp : c783fe08 ip : 00000000 fp : 00000000 +r10: c0576434 r9 : 0000009c r8 : c7a773a0 +r7 : 01000000 r6 : 60000013 r5 : c7a776f0 r4 : c7a773f0 +r3 : f4424600 r2 : 00000000 r1 : 00000001 r0 : 00000001 +Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel +Control: 0005317f Table: a0004000 DAC: 00000017 +Process swapper (pid: 1, stack limit = 0xc783e190) +Stack: (0xc783fe08 to 0xc7840000) + +Signed-off-by: Peter Chen +Reported-by: Fabio Estevam +Tested-by: Fabio Estevam +Acked-by: Shawn Guo +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm/boot/dts/imx27.dtsi | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +--- a/arch/arm/boot/dts/imx27.dtsi ++++ b/arch/arm/boot/dts/imx27.dtsi +@@ -486,7 +486,10 @@ + compatible = "fsl,imx27-usb"; + reg = <0x10024000 0x200>; + interrupts = <56>; +- clocks = <&clks IMX27_CLK_USB_IPG_GATE>; ++ clocks = <&clks IMX27_CLK_USB_IPG_GATE>, ++ <&clks IMX27_CLK_USB_AHB_GATE>, ++ <&clks IMX27_CLK_USB_DIV>; ++ clock-names = "ipg", "ahb", "per"; + fsl,usbmisc = <&usbmisc 0>; + status = "disabled"; + }; +@@ -495,7 +498,10 @@ + compatible = "fsl,imx27-usb"; + reg = <0x10024200 0x200>; + interrupts = <54>; +- clocks = <&clks IMX27_CLK_USB_IPG_GATE>; ++ clocks = <&clks IMX27_CLK_USB_IPG_GATE>, ++ <&clks IMX27_CLK_USB_AHB_GATE>, ++ <&clks IMX27_CLK_USB_DIV>; ++ clock-names = "ipg", "ahb", "per"; + fsl,usbmisc = <&usbmisc 1>; + dr_mode = "host"; + status = "disabled"; +@@ -505,7 +511,10 @@ + compatible = "fsl,imx27-usb"; + reg = <0x10024400 0x200>; + interrupts = <55>; +- clocks = <&clks IMX27_CLK_USB_IPG_GATE>; ++ clocks = <&clks IMX27_CLK_USB_IPG_GATE>, ++ <&clks IMX27_CLK_USB_AHB_GATE>, ++ <&clks IMX27_CLK_USB_DIV>; ++ clock-names = "ipg", "ahb", "per"; + fsl,usbmisc = <&usbmisc 2>; + dr_mode = "host"; + status = "disabled"; +@@ -515,7 +524,6 @@ + #index-cells = <1>; + compatible = "fsl,imx27-usbmisc"; + reg = <0x10024600 0x200>; +- clocks = <&clks IMX27_CLK_USB_AHB_GATE>; + }; + + sahara2: sahara@10025000 { diff --git a/queue-4.3/arm-dts-sun6i-hummingbird-fix-vdd-cpu-and-vdd-gpu.patch b/queue-4.3/arm-dts-sun6i-hummingbird-fix-vdd-cpu-and-vdd-gpu.patch new file mode 100644 index 00000000000..24ab4f31054 --- /dev/null +++ b/queue-4.3/arm-dts-sun6i-hummingbird-fix-vdd-cpu-and-vdd-gpu.patch @@ -0,0 +1,48 @@ +From 976d84fce6aa1e5bf92b8d06d69014ac45fd5fad Mon Sep 17 00:00:00 2001 +From: Chen-Yu Tsai +Date: Sat, 10 Oct 2015 22:48:56 +0800 +Subject: ARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU + regulator names + +From: Chen-Yu Tsai + +commit 976d84fce6aa1e5bf92b8d06d69014ac45fd5fad upstream. + +The VDD-CPU and VDD-GPU regulators were incorrectly swapped. + +Fixes: bab03561224ba ("ARM: dts: sun6i: hummingbird: Add AXP221 regulator + nodes") + +Signed-off-by: Chen-Yu Tsai +Signed-off-by: Maxime Ripard +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm/boot/dts/sun6i-a31-hummingbird.dts | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +--- a/arch/arm/boot/dts/sun6i-a31-hummingbird.dts ++++ b/arch/arm/boot/dts/sun6i-a31-hummingbird.dts +@@ -184,18 +184,18 @@ + regulator-name = "vcc-3v0"; + }; + +- vdd_cpu: dcdc2 { ++ vdd_gpu: dcdc2 { + regulator-always-on; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1320000>; +- regulator-name = "vdd-cpu"; ++ regulator-name = "vdd-gpu"; + }; + +- vdd_gpu: dcdc3 { ++ vdd_cpu: dcdc3 { + regulator-always-on; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1320000>; +- regulator-name = "vdd-gpu"; ++ regulator-name = "vdd-cpu"; + }; + + vdd_sys_dll: dcdc4 { diff --git a/queue-4.3/arm-pxa-remove-incorrect-__init-annotation-on-pxa27x_set_pwrmode.patch b/queue-4.3/arm-pxa-remove-incorrect-__init-annotation-on-pxa27x_set_pwrmode.patch new file mode 100644 index 00000000000..7a6f387e97d --- /dev/null +++ b/queue-4.3/arm-pxa-remove-incorrect-__init-annotation-on-pxa27x_set_pwrmode.patch @@ -0,0 +1,54 @@ +From 54c09889bff6d99c8733eed4a26c9391b177c88b Mon Sep 17 00:00:00 2001 +From: Arnd Bergmann +Date: Mon, 12 Oct 2015 15:46:08 +0200 +Subject: ARM: pxa: remove incorrect __init annotation on pxa27x_set_pwrmode + +From: Arnd Bergmann + +commit 54c09889bff6d99c8733eed4a26c9391b177c88b upstream. + +The z2 machine calls pxa27x_set_pwrmode() in order to power off +the machine, but this function gets discarded early at boot because +it is marked __init, as pointed out by kbuild: + +WARNING: vmlinux.o(.text+0x145c4): Section mismatch in reference from the function z2_power_off() to the function .init.text:pxa27x_set_pwrmode() +The function z2_power_off() references +the function __init pxa27x_set_pwrmode(). +This is often because z2_power_off lacks a __init +annotation or the annotation of pxa27x_set_pwrmode is wrong. + +This removes the __init section modifier to fix rebooting and the +build error. + +Signed-off-by: Arnd Bergmann +Fixes: ba4a90a6d86a ("ARM: pxa/z2: fix building error of pxa27x_cpu_suspend() no longer available") +Signed-off-by: Robert Jarzmik +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm/mach-pxa/include/mach/pxa27x.h | 2 +- + arch/arm/mach-pxa/pxa27x.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +--- a/arch/arm/mach-pxa/include/mach/pxa27x.h ++++ b/arch/arm/mach-pxa/include/mach/pxa27x.h +@@ -19,7 +19,7 @@ + #define ARB_CORE_PARK (1<<24) /* Be parked with core when idle */ + #define ARB_LOCK_FLAG (1<<23) /* Only Locking masters gain access to the bus */ + +-extern int __init pxa27x_set_pwrmode(unsigned int mode); ++extern int pxa27x_set_pwrmode(unsigned int mode); + extern void pxa27x_cpu_pm_enter(suspend_state_t state); + + #endif /* __MACH_PXA27x_H */ +--- a/arch/arm/mach-pxa/pxa27x.c ++++ b/arch/arm/mach-pxa/pxa27x.c +@@ -84,7 +84,7 @@ EXPORT_SYMBOL_GPL(pxa27x_configure_ac97r + */ + static unsigned int pwrmode = PWRMODE_SLEEP; + +-int __init pxa27x_set_pwrmode(unsigned int mode) ++int pxa27x_set_pwrmode(unsigned int mode) + { + switch (mode) { + case PWRMODE_SLEEP: diff --git a/queue-4.3/arm-tegra-paz00-use-con_id-s-to-refer-gpio-s-in-gpiod_lookup-table.patch b/queue-4.3/arm-tegra-paz00-use-con_id-s-to-refer-gpio-s-in-gpiod_lookup-table.patch new file mode 100644 index 00000000000..d9eab8ef240 --- /dev/null +++ b/queue-4.3/arm-tegra-paz00-use-con_id-s-to-refer-gpio-s-in-gpiod_lookup-table.patch @@ -0,0 +1,41 @@ +From e77b675f8786f38d40fc1562e1275875daf67fef Mon Sep 17 00:00:00 2001 +From: Dmitry Osipenko +Date: Tue, 30 Jun 2015 17:15:50 +0300 +Subject: ARM: tegra: paz00: use con_id's to refer GPIO's in gpiod_lookup table + +From: Dmitry Osipenko + +commit e77b675f8786f38d40fc1562e1275875daf67fef upstream. + +Commit 72daceb9a10a ("net: rfkill: gpio: Add default GPIO driver mappings +for ACPI") removed possibility to request GPIO by table index for non-ACPI +platforms without changing its users. As result "shutdown" GPIO request +will fail if request for "reset" GPIO succeeded or "reset" will be +requested instead of "shutdown" if "reset" wasn't defined. Fix it by +making gpiod_lookup_table use con_id's instead of indexes. + +Signed-off-by: Dmitry Osipenko +Fixes: 72daceb (net: rfkill: gpio: Add default GPIO driver mappings for ACPI) +Acked-by: Alexandre Courbot +Reviewed-by: Marc Dietrich +Tested-by: Marc Dietrich +Signed-off-by: Thierry Reding +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm/mach-tegra/board-paz00.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/arch/arm/mach-tegra/board-paz00.c ++++ b/arch/arm/mach-tegra/board-paz00.c +@@ -39,8 +39,8 @@ static struct platform_device wifi_rfkil + static struct gpiod_lookup_table wifi_gpio_lookup = { + .dev_id = "rfkill_gpio", + .table = { +- GPIO_LOOKUP_IDX("tegra-gpio", 25, NULL, 0, 0), +- GPIO_LOOKUP_IDX("tegra-gpio", 85, NULL, 1, 0), ++ GPIO_LOOKUP("tegra-gpio", 25, "reset", 0), ++ GPIO_LOOKUP("tegra-gpio", 85, "shutdown", 0), + { }, + }, + }; diff --git a/queue-4.3/series b/queue-4.3/series index 6e15d23ae0c..2923a712def 100644 --- a/queue-4.3/series +++ b/queue-4.3/series @@ -17,3 +17,14 @@ tun_dst-fix-potential-null-dereference.patch packet-race-condition-in-packet_bind.patch bonding-fix-panic-on-non-arphrd_ether-enslave-failure.patch net-fix-a-race-in-dst_release.patch +arm-8426-1-dma-mapping-add-missing-range-check-in-dma_mmap.patch +arm-8427-1-dma-mapping-add-support-for-offset-parameter-in-dma_mmap.patch +arm-common-edma-fix-channel-parameter-for-irq-callbacks.patch +arm-dts-imx27.dtsi-change-the-clock-information-for-usb.patch +arm-tegra-paz00-use-con_id-s-to-refer-gpio-s-in-gpiod_lookup-table.patch +arm-at91-dt-corrections-to-i2c1-declaration-to-sama5d4.patch +arm-at91-pm-at91_pm_suspend_in_sram-must-be-8-byte-aligned.patch +arm-dts-add-vbus-regulator-to-usb2-phy-nodes-on-exynos3250-exynos4210-and-exynos4412-boards.patch +arm-dts-fix-wlan-regression-on-omap5-uevm.patch +arm-dts-sun6i-hummingbird-fix-vdd-cpu-and-vdd-gpu.patch +arm-pxa-remove-incorrect-__init-annotation-on-pxa27x_set_pwrmode.patch