From: Greg Kroah-Hartman Date: Sun, 6 Dec 2015 05:51:31 +0000 (-0800) Subject: 4.1-stable patches X-Git-Tag: v3.10.94~25 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=882ea36abe8c7068f9bb2993550b392a3f020666;p=thirdparty%2Fkernel%2Fstable-queue.git 4.1-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-fix-wlan-regression-on-omap5-uevm.patch arm-dts-imx27.dtsi-change-the-clock-information-for-usb.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.1/arm-8426-1-dma-mapping-add-missing-range-check-in-dma_mmap.patch b/queue-4.1/arm-8426-1-dma-mapping-add-missing-range-check-in-dma_mmap.patch new file mode 100644 index 00000000000..220422af9aa --- /dev/null +++ b/queue-4.1/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 +@@ -1395,12 +1395,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.1/arm-8427-1-dma-mapping-add-support-for-offset-parameter-in-dma_mmap.patch b/queue-4.1/arm-8427-1-dma-mapping-add-support-for-offset-parameter-in-dma_mmap.patch new file mode 100644 index 00000000000..600d3bf05b7 --- /dev/null +++ b/queue-4.1/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 +@@ -1406,6 +1406,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.1/arm-at91-dt-corrections-to-i2c1-declaration-to-sama5d4.patch b/queue-4.1/arm-at91-dt-corrections-to-i2c1-declaration-to-sama5d4.patch new file mode 100644 index 00000000000..d445a4b2842 --- /dev/null +++ b/queue-4.1/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 +@@ -918,11 +918,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.1/arm-at91-pm-at91_pm_suspend_in_sram-must-be-8-byte-aligned.patch b/queue-4.1/arm-at91-pm-at91_pm_suspend_in_sram-must-be-8-byte-aligned.patch new file mode 100644 index 00000000000..0bca8f00f7b --- /dev/null +++ b/queue-4.1/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 +@@ -81,6 +81,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.1/arm-common-edma-fix-channel-parameter-for-irq-callbacks.patch b/queue-4.1/arm-common-edma-fix-channel-parameter-for-irq-callbacks.patch new file mode 100644 index 00000000000..346132f4f41 --- /dev/null +++ b/queue-4.1/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.1/arm-dts-fix-wlan-regression-on-omap5-uevm.patch b/queue-4.1/arm-dts-fix-wlan-regression-on-omap5-uevm.patch new file mode 100644 index 00000000000..2ce6d180f16 --- /dev/null +++ b/queue-4.1/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 { +@@ -591,11 +640,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.1/arm-dts-imx27.dtsi-change-the-clock-information-for-usb.patch b/queue-4.1/arm-dts-imx27.dtsi-change-the-clock-information-for-usb.patch new file mode 100644 index 00000000000..95cb412ef3e --- /dev/null +++ b/queue-4.1/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 +@@ -477,7 +477,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"; + }; +@@ -486,7 +489,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"; +@@ -496,7 +502,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"; +@@ -506,7 +515,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.1/arm-pxa-remove-incorrect-__init-annotation-on-pxa27x_set_pwrmode.patch b/queue-4.1/arm-pxa-remove-incorrect-__init-annotation-on-pxa27x_set_pwrmode.patch new file mode 100644 index 00000000000..cb8f6990ff2 --- /dev/null +++ b/queue-4.1/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 +@@ -251,7 +251,7 @@ static struct clk_lookup pxa27x_clkregs[ + */ + 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.1/arm-tegra-paz00-use-con_id-s-to-refer-gpio-s-in-gpiod_lookup-table.patch b/queue-4.1/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.1/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.1/series b/queue-4.1/series index 670c2e702f8..58a0dda661e 100644 --- a/queue-4.1/series +++ b/queue-4.1/series @@ -20,3 +20,12 @@ packet-race-condition-in-packet_bind.patch net-fix-a-race-in-dst_release.patch virtio-net-drop-netif_f_fraglist.patch rds-verify-the-underlying-transport-exists-before-creating-a-connection.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-fix-wlan-regression-on-omap5-uevm.patch +arm-pxa-remove-incorrect-__init-annotation-on-pxa27x_set_pwrmode.patch