--- /dev/null
+From fcff03813a7c612873303037cef5ba0329850c35 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
+Date: Thu, 8 Sep 2016 11:30:21 +0200
+Subject: ARM: clk-imx35: fix name for ckil clk
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
+
+commit fcff03813a7c612873303037cef5ba0329850c35 upstream.
+
+This fixes
+ [ 0.000000] i.MX clk 82: register failed with -17
+because the name is duplicated.
+
+Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
+Fixes: 3713e3f5e927 ("clk: imx35: define two clocks for rtc")
+Acked-by: Shawn Guo <shawnguo@kernel.org>
+Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/clk/imx/clk-imx35.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/clk/imx/clk-imx35.c
++++ b/drivers/clk/imx/clk-imx35.c
+@@ -115,7 +115,7 @@ static void __init _mx35_clocks_init(voi
+ }
+
+ clk[ckih] = imx_clk_fixed("ckih", 24000000);
+- clk[ckil] = imx_clk_fixed("ckih", 32768);
++ clk[ckil] = imx_clk_fixed("ckil", 32768);
+ clk[mpll] = imx_clk_pllv1(IMX_PLLV1_IMX35, "mpll", "ckih", base + MX35_CCM_MPCTL);
+ clk[ppll] = imx_clk_pllv1(IMX_PLLV1_IMX35, "ppll", "ckih", base + MX35_CCM_PPCTL);
+
--- /dev/null
+From ee26c013cdee0b947e29d6cadfb9ff3341c69ff9 Mon Sep 17 00:00:00 2001
+From: Sebastian Frias <sf84@laposte.net>
+Date: Mon, 1 Aug 2016 16:27:38 +0200
+Subject: genirq/generic_chip: Add irq_unmap callback
+
+From: Sebastian Frias <sf84@laposte.net>
+
+commit ee26c013cdee0b947e29d6cadfb9ff3341c69ff9 upstream.
+
+Without this patch irq_domain_disassociate() cannot properly release the
+interrupt. In fact, irq_map_generic_chip() checks a bit on 'gc->installed'
+but said bit is never cleared, only set.
+
+Commit 088f40b7b027 ("genirq: Generic chip: Add linear irq domain support")
+added irq_map_generic_chip() function and also stated "This lacks a removal
+function for now".
+
+This commit provides an implementation of an unmap function that can be
+called by irq_domain_disassociate().
+
+[ tglx: Made the function static and removed the export as we have neither
+ a prototype nor a modular user. ]
+
+Fixes: 088f40b7b027 ("genirq: Generic chip: Add linear irq domain support")
+Signed-off-by: Sebastian Frias <sf84@laposte.net>
+Cc: Marc Zyngier <marc.zyngier@arm.com>
+Cc: Mason <slash.tmp@free.fr>
+Cc: Jason Cooper <jason@lakedaemon.net>
+Link: http://lkml.kernel.org/r/579F5C5A.2070507@laposte.net
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ kernel/irq/generic-chip.c | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+--- a/kernel/irq/generic-chip.c
++++ b/kernel/irq/generic-chip.c
+@@ -411,8 +411,29 @@ int irq_map_generic_chip(struct irq_doma
+ }
+ EXPORT_SYMBOL_GPL(irq_map_generic_chip);
+
++static void irq_unmap_generic_chip(struct irq_domain *d, unsigned int virq)
++{
++ struct irq_data *data = irq_domain_get_irq_data(d, virq);
++ struct irq_domain_chip_generic *dgc = d->gc;
++ unsigned int hw_irq = data->hwirq;
++ struct irq_chip_generic *gc;
++ int irq_idx;
++
++ gc = irq_get_domain_generic_chip(d, hw_irq);
++ if (!gc)
++ return;
++
++ irq_idx = hw_irq % dgc->irqs_per_chip;
++
++ clear_bit(irq_idx, &gc->installed);
++ irq_domain_set_info(d, virq, hw_irq, &no_irq_chip, NULL, NULL, NULL,
++ NULL);
++
++}
++
+ struct irq_domain_ops irq_generic_chip_ops = {
+ .map = irq_map_generic_chip,
++ .unmap = irq_unmap_generic_chip,
+ .xlate = irq_domain_xlate_onetwocell,
+ };
+ EXPORT_SYMBOL_GPL(irq_generic_chip_ops);
tunnels-remove-encapsulation-offloads-on-decap.patch
powerpc-eeh-null-check-uses-of-eeh_pe_bus_get.patch
perf-stat-fix-interval-output-values.patch
+genirq-generic_chip-add-irq_unmap-callback.patch
+uio-fix-dmem_region_start-computation.patch
+arm-clk-imx35-fix-name-for-ckil-clk.patch
+spi-spi-fsl-dspi-drop-extra-spi_master_put-in-device-remove-function.patch
--- /dev/null
+From 6999aeabbb703a81a204cb6f9f8f151759a99ac4 Mon Sep 17 00:00:00 2001
+From: Wei Yongjun <weiyj.lk@gmail.com>
+Date: Sat, 20 Aug 2016 15:25:32 +0000
+Subject: spi: spi-fsl-dspi: Drop extra spi_master_put in device remove function
+
+From: Wei Yongjun <weiyj.lk@gmail.com>
+
+commit 6999aeabbb703a81a204cb6f9f8f151759a99ac4 upstream.
+
+The call sequence spi_alloc_master/spi_register_master/spi_unregister_master
+is complete; it reduces the device reference count to zero, which and results
+in device memory being freed. The subsequent call to spi_master_put is
+unnecessary and results in an access to free memory. Drop it.
+
+Fixes: 9298bc727385 ("spi: spi-fsl-dspi: Remove spi-bitbang")
+Signed-off-by: Wei Yongjun <weiyj.lk@gmail.com>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/spi/spi-fsl-dspi.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/drivers/spi/spi-fsl-dspi.c
++++ b/drivers/spi/spi-fsl-dspi.c
+@@ -753,7 +753,6 @@ static int dspi_remove(struct platform_d
+ /* Disconnect from the SPI framework */
+ clk_disable_unprepare(dspi->clk);
+ spi_unregister_master(dspi->master);
+- spi_master_put(dspi->master);
+
+ return 0;
+ }
--- /dev/null
+From 4d31a2588ae37a5d0f61f4d956454e9504846aeb Mon Sep 17 00:00:00 2001
+From: Jan Viktorin <viktorin@rehivetech.com>
+Date: Tue, 17 May 2016 11:22:17 +0200
+Subject: uio: fix dmem_region_start computation
+
+From: Jan Viktorin <viktorin@rehivetech.com>
+
+commit 4d31a2588ae37a5d0f61f4d956454e9504846aeb upstream.
+
+The variable i contains a total number of resources (including
+IORESOURCE_IRQ). However, we want the dmem_region_start to point
+after the last resource of type IORESOURCE_MEM. The original behaviour
+leads (very likely) to skipping several UIO mapping regions and makes
+them useless. Fix this by computing dmem_region_start from the uiomem
+which points to the last used UIO mapping.
+
+Fixes: 0a0c3b5a24bd ("Add new uio device for dynamic memory allocation")
+
+Signed-off-by: Jan Viktorin <viktorin@rehivetech.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/uio/uio_dmem_genirq.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/uio/uio_dmem_genirq.c
++++ b/drivers/uio/uio_dmem_genirq.c
+@@ -229,7 +229,7 @@ static int uio_dmem_genirq_probe(struct
+ ++uiomem;
+ }
+
+- priv->dmem_region_start = i;
++ priv->dmem_region_start = uiomem - &uioinfo->mem[0];
+ priv->num_dmem_regions = pdata->num_dynamic_regions;
+
+ for (i = 0; i < pdata->num_dynamic_regions; ++i) {