summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThorsten Leemhuis <fedora@leemhuis.info>2018-04-19 09:00:57 +0200
committerThorsten Leemhuis <fedora@leemhuis.info>2018-04-19 09:00:57 +0200
commit47e9b887029a6aa8c75dcced25e1abb645fa7ad8 (patch)
treee3017f4cee427f30a3ccefb472fd506c455cfd81
parent6e42be7c908c549d7d55f7bcefbb8324ff0883a5 (diff)
parent0ec9f4d319b8d6233baeb0648858ccb51fe1b98e (diff)
downloadkernel-47e9b887029a6aa8c75dcced25e1abb645fa7ad8.tar.gz
kernel-47e9b887029a6aa8c75dcced25e1abb645fa7ad8.tar.xz
kernel-47e9b887029a6aa8c75dcced25e1abb645fa7ad8.zip
Merge remote-tracking branch 'origin/f28' into f28-user-thl-vanilla-fedora
-rw-r--r--arm-sunxi-nvmem-fixH3.patch131
-rw-r--r--clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch58
-rw-r--r--configs/fedora/generic/CONFIG_SPI_CADENCE (renamed from configs/fedora/generic/x86/CONFIG_SPI_CADENCE)0
-rw-r--r--configs/fedora/generic/CONFIG_TEGRA_BPMP_THERMAL1
-rw-r--r--configs/fedora/generic/arm/CONFIG_CADENCE_WATCHDOG2
-rw-r--r--configs/fedora/generic/arm/CONFIG_I2C_CADENCE (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_I2C_CADENCE)0
-rw-r--r--configs/fedora/generic/arm/CONFIG_SPI_CADENCE2
-rw-r--r--configs/fedora/generic/arm/CONFIG_TEGRA_BPMP2
-rw-r--r--configs/fedora/generic/arm/CONFIG_TEGRA_HSP_MBOX2
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_TEGRA_BPMP1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_TEGRA_BPMP_THERMAL1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_TEGRA_HSP_MBOX1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_TEGRA_IVC1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_REGULATOR_TPS652171
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_TEGRA_IVC1
-rw-r--r--configs/fedora/generic/arm/armv7/armv7/CONFIG_CADENCE_WATCHDOG1
-rw-r--r--configs/fedora/generic/arm/armv7/armv7/CONFIG_CHARGER_TPS652172
-rw-r--r--configs/fedora/generic/arm/armv7/armv7/CONFIG_SPI_CADENCE1
-rw-r--r--configs/fedora/generic/s390x/CONFIG_DRM1
-rw-r--r--crypto-testmgr-Allow-different-compression-results.patch163
-rw-r--r--kernel-aarch64-debug.config22
-rw-r--r--kernel-aarch64.config22
-rw-r--r--kernel-armv7hl-debug.config7
-rw-r--r--kernel-armv7hl-lpae-debug.config12
-rw-r--r--kernel-armv7hl-lpae.config12
-rw-r--r--kernel-armv7hl.config7
-rw-r--r--kernel-i686-PAE.config1
-rw-r--r--kernel-i686-PAEdebug.config1
-rw-r--r--kernel-i686-debug.config1
-rw-r--r--kernel-i686.config1
-rw-r--r--kernel-ppc64-debug.config2
-rw-r--r--kernel-ppc64.config2
-rw-r--r--kernel-ppc64le-debug.config2
-rw-r--r--kernel-ppc64le.config2
-rw-r--r--kernel-s390x-debug.config4
-rw-r--r--kernel-s390x.config4
-rw-r--r--kernel-x86_64-debug.config1
-rw-r--r--kernel-x86_64.config1
-rw-r--r--kernel.spec33
-rw-r--r--net-Revert-macsec-missing-dev_put-on-error-in-macsec_newlink.patch57
-rw-r--r--of-i2c-fix-module-aliases.patch69
41 files changed, 568 insertions, 67 deletions
diff --git a/arm-sunxi-nvmem-fixH3.patch b/arm-sunxi-nvmem-fixH3.patch
new file mode 100644
index 000000000..415885d4c
--- /dev/null
+++ b/arm-sunxi-nvmem-fixH3.patch
@@ -0,0 +1,131 @@
+From 0ab09d651b5858f9bc7d5f74e725334a661828e0 Mon Sep 17 00:00:00 2001
+From: Icenowy Zheng <icenowy@aosc.io>
+Date: Fri, 9 Mar 2018 14:47:17 +0000
+Subject: nvmem: sunxi-sid: fix H3 SID controller support
+
+It seems that doing some operation will make the value pre-read on H3
+SID controller wrong again, so all operation should be performed by
+register.
+
+Change the SID reading to use register only.
+
+Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
+Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/nvmem/sunxi_sid.c | 71 +++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 50 insertions(+), 21 deletions(-)
+
+diff --git a/drivers/nvmem/sunxi_sid.c b/drivers/nvmem/sunxi_sid.c
+index 99bd54d..26bb637 100644
+--- a/drivers/nvmem/sunxi_sid.c
++++ b/drivers/nvmem/sunxi_sid.c
+@@ -85,13 +85,14 @@ static int sunxi_sid_read(void *context, unsigned int offset,
+ }
+
+ static int sun8i_sid_register_readout(const struct sunxi_sid *sid,
+- const unsigned int word)
++ const unsigned int offset,
++ u32 *out)
+ {
+ u32 reg_val;
+ int ret;
+
+ /* Set word, lock access, and set read command */
+- reg_val = (word & SUN8I_SID_OFFSET_MASK)
++ reg_val = (offset & SUN8I_SID_OFFSET_MASK)
+ << SUN8I_SID_OFFSET_SHIFT;
+ reg_val |= SUN8I_SID_OP_LOCK | SUN8I_SID_READ;
+ writel(reg_val, sid->base + SUN8I_SID_PRCTL);
+@@ -101,7 +102,49 @@ static int sun8i_sid_register_readout(const struct sunxi_sid *sid,
+ if (ret)
+ return ret;
+
++ if (out)
++ *out = readl(sid->base + SUN8I_SID_RDKEY);
++
+ writel(0, sid->base + SUN8I_SID_PRCTL);
++
++ return 0;
++}
++
++/*
++ * On Allwinner H3, the value on the 0x200 offset of the SID controller seems
++ * to be not reliable at all.
++ * Read by the registers instead.
++ */
++static int sun8i_sid_read_byte_by_reg(const struct sunxi_sid *sid,
++ const unsigned int offset,
++ u8 *out)
++{
++ u32 word;
++ int ret;
++
++ ret = sun8i_sid_register_readout(sid, offset & ~0x03, &word);
++
++ if (ret)
++ return ret;
++
++ *out = (word >> ((offset & 0x3) * 8)) & 0xff;
++
++ return 0;
++}
++
++static int sun8i_sid_read_by_reg(void *context, unsigned int offset,
++ void *val, size_t bytes)
++{
++ struct sunxi_sid *sid = context;
++ u8 *buf = val;
++ int ret;
++
++ while (bytes--) {
++ ret = sun8i_sid_read_byte_by_reg(sid, offset++, buf++);
++ if (ret)
++ return ret;
++ }
++
+ return 0;
+ }
+
+@@ -131,26 +174,12 @@ static int sunxi_sid_probe(struct platform_device *pdev)
+
+ size = cfg->size;
+
+- if (cfg->need_register_readout) {
+- /*
+- * H3's SID controller have a bug that the value at 0x200
+- * offset is not the correct value when the hardware is reseted.
+- * However, after doing a register-based read operation, the
+- * value become right.
+- * Do a full read operation here, but ignore its value
+- * (as it's more fast to read by direct MMIO value than
+- * with registers)
+- */
+- for (i = 0; i < (size >> 2); i++) {
+- ret = sun8i_sid_register_readout(sid, i);
+- if (ret)
+- return ret;
+- }
+- }
+-
+ econfig.size = size;
+ econfig.dev = dev;
+- econfig.reg_read = sunxi_sid_read;
++ if (cfg->need_register_readout)
++ econfig.reg_read = sun8i_sid_read_by_reg;
++ else
++ econfig.reg_read = sunxi_sid_read;
+ econfig.priv = sid;
+ nvmem = nvmem_register(&econfig);
+ if (IS_ERR(nvmem))
+@@ -163,7 +192,7 @@ static int sunxi_sid_probe(struct platform_device *pdev)
+ }
+
+ for (i = 0; i < size; i++)
+- randomness[i] = sunxi_sid_read_byte(sid, i);
++ econfig.reg_read(sid, i, &randomness[i], 1);
+
+ add_device_randomness(randomness, size);
+ kfree(randomness);
+--
+cgit v1.1
diff --git a/clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch b/clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch
new file mode 100644
index 000000000..c1ef68279
--- /dev/null
+++ b/clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch
@@ -0,0 +1,58 @@
+From patchwork Tue Mar 27 17:47:04 2018
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: clk: ti: fix flag space conflict with clkctrl clocks
+From: Tero Kristo <t-kristo@ti.com>
+X-Patchwork-Id: 10311335
+Message-Id: <1522172824-14094-1-git-send-email-t-kristo@ti.com>
+To: <sboyd@kernel.org>, <mturquette@baylibre.com>,
+ <linux-omap@vger.kernel.org>, <linux-clk@vger.kernel.org>,
+ <tony@atomide.com>
+Cc: <arnd@arndb.de>, <linux-arm-kernel@lists.infradead.org>
+Date: Tue, 27 Mar 2018 20:47:04 +0300
+
+The introduction of support for CLK_SET_RATE_PARENT flag for clkctrl
+clocks used a generic clock flag, which causes a conflict with the
+rest of the clkctrl flags, namely the NO_IDLEST flag. This can cause
+boot failures on certain platforms where this flag is introduced, by
+omitting the wait for the clockctrl module to be fully enabled before
+proceeding with rest of the code.
+
+Fix this by moving all the clkctrl specific flags to their own bit-range.
+
+Signed-off-by: Tero Kristo <t-kristo@ti.com>
+Fixes: 49159a9dc3da ("clk: ti: add support for CLK_SET_RATE_PARENT flag")
+Reported-by: Christophe Lyon <christophe.lyon@linaro.org>
+Tested-by: Tony Lindgren <tony@atomide.com>
+---
+ drivers/clk/ti/clock.h | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/clk/ti/clock.h b/drivers/clk/ti/clock.h
+index 90b86aa..b582780 100644
+--- a/drivers/clk/ti/clock.h
++++ b/drivers/clk/ti/clock.h
+@@ -76,6 +76,11 @@ enum {
+ #define CLKF_CORE (1 << 9)
+ #define CLKF_J_TYPE (1 << 10)
+
++/* CLKCTRL flags */
++#define CLKF_SW_SUP BIT(5)
++#define CLKF_HW_SUP BIT(6)
++#define CLKF_NO_IDLEST BIT(7)
++
+ #define CLK(dev, con, ck) \
+ { \
+ .lk = { \
+@@ -185,10 +190,6 @@ struct omap_clkctrl_data {
+ extern const struct omap_clkctrl_data dm814_clkctrl_data[];
+ extern const struct omap_clkctrl_data dm816_clkctrl_data[];
+
+-#define CLKF_SW_SUP BIT(0)
+-#define CLKF_HW_SUP BIT(1)
+-#define CLKF_NO_IDLEST BIT(2)
+-
+ typedef void (*ti_of_clk_init_cb_t)(void *, struct device_node *);
+
+ struct clk *ti_clk_register(struct device *dev, struct clk_hw *hw,
diff --git a/configs/fedora/generic/x86/CONFIG_SPI_CADENCE b/configs/fedora/generic/CONFIG_SPI_CADENCE
index 78e16ec97..78e16ec97 100644
--- a/configs/fedora/generic/x86/CONFIG_SPI_CADENCE
+++ b/configs/fedora/generic/CONFIG_SPI_CADENCE
diff --git a/configs/fedora/generic/CONFIG_TEGRA_BPMP_THERMAL b/configs/fedora/generic/CONFIG_TEGRA_BPMP_THERMAL
deleted file mode 100644
index e1e1b80f4..000000000
--- a/configs/fedora/generic/CONFIG_TEGRA_BPMP_THERMAL
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_TEGRA_BPMP_THERMAL is not set
diff --git a/configs/fedora/generic/arm/CONFIG_CADENCE_WATCHDOG b/configs/fedora/generic/arm/CONFIG_CADENCE_WATCHDOG
index 3892db328..85b4e115d 100644
--- a/configs/fedora/generic/arm/CONFIG_CADENCE_WATCHDOG
+++ b/configs/fedora/generic/arm/CONFIG_CADENCE_WATCHDOG
@@ -1 +1 @@
-# CONFIG_CADENCE_WATCHDOG is not set
+CONFIG_CADENCE_WATCHDOG=m
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_I2C_CADENCE b/configs/fedora/generic/arm/CONFIG_I2C_CADENCE
index 8e1eefa5c..8e1eefa5c 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_I2C_CADENCE
+++ b/configs/fedora/generic/arm/CONFIG_I2C_CADENCE
diff --git a/configs/fedora/generic/arm/CONFIG_SPI_CADENCE b/configs/fedora/generic/arm/CONFIG_SPI_CADENCE
index 78e16ec97..3a8bb168c 100644
--- a/configs/fedora/generic/arm/CONFIG_SPI_CADENCE
+++ b/configs/fedora/generic/arm/CONFIG_SPI_CADENCE
@@ -1 +1 @@
-# CONFIG_SPI_CADENCE is not set
+CONFIG_SPI_CADENCE=m
diff --git a/configs/fedora/generic/arm/CONFIG_TEGRA_BPMP b/configs/fedora/generic/arm/CONFIG_TEGRA_BPMP
index 348002b0b..9127d3c57 100644
--- a/configs/fedora/generic/arm/CONFIG_TEGRA_BPMP
+++ b/configs/fedora/generic/arm/CONFIG_TEGRA_BPMP
@@ -1 +1 @@
-CONFIG_TEGRA_BPMP=y
+# CONFIG_TEGRA_BPMP is not set
diff --git a/configs/fedora/generic/arm/CONFIG_TEGRA_HSP_MBOX b/configs/fedora/generic/arm/CONFIG_TEGRA_HSP_MBOX
index 3d46b7c93..54f071b05 100644
--- a/configs/fedora/generic/arm/CONFIG_TEGRA_HSP_MBOX
+++ b/configs/fedora/generic/arm/CONFIG_TEGRA_HSP_MBOX
@@ -1 +1 @@
-CONFIG_TEGRA_HSP_MBOX=y
+# CONFIG_TEGRA_HSP_MBOX is not set
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_TEGRA_BPMP b/configs/fedora/generic/arm/aarch64/CONFIG_TEGRA_BPMP
new file mode 100644
index 000000000..348002b0b
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_TEGRA_BPMP
@@ -0,0 +1 @@
+CONFIG_TEGRA_BPMP=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_TEGRA_BPMP_THERMAL b/configs/fedora/generic/arm/aarch64/CONFIG_TEGRA_BPMP_THERMAL
new file mode 100644
index 000000000..41b5a2ab5
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_TEGRA_BPMP_THERMAL
@@ -0,0 +1 @@
+CONFIG_TEGRA_BPMP_THERMAL=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_TEGRA_HSP_MBOX b/configs/fedora/generic/arm/aarch64/CONFIG_TEGRA_HSP_MBOX
new file mode 100644
index 000000000..3d46b7c93
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_TEGRA_HSP_MBOX
@@ -0,0 +1 @@
+CONFIG_TEGRA_HSP_MBOX=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_TEGRA_IVC b/configs/fedora/generic/arm/aarch64/CONFIG_TEGRA_IVC
deleted file mode 100644
index cdcacbec2..000000000
--- a/configs/fedora/generic/arm/aarch64/CONFIG_TEGRA_IVC
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_TEGRA_IVC=y
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_REGULATOR_TPS65217 b/configs/fedora/generic/arm/armv7/CONFIG_REGULATOR_TPS65217
deleted file mode 100644
index 3773f756b..000000000
--- a/configs/fedora/generic/arm/armv7/CONFIG_REGULATOR_TPS65217
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_REGULATOR_TPS65217=y
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_TEGRA_IVC b/configs/fedora/generic/arm/armv7/CONFIG_TEGRA_IVC
deleted file mode 100644
index cdcacbec2..000000000
--- a/configs/fedora/generic/arm/armv7/CONFIG_TEGRA_IVC
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_TEGRA_IVC=y
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CADENCE_WATCHDOG b/configs/fedora/generic/arm/armv7/armv7/CONFIG_CADENCE_WATCHDOG
deleted file mode 100644
index 85b4e115d..000000000
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CADENCE_WATCHDOG
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_CADENCE_WATCHDOG=m
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CHARGER_TPS65217 b/configs/fedora/generic/arm/armv7/armv7/CONFIG_CHARGER_TPS65217
index e77c2fc05..629b8503c 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CHARGER_TPS65217
+++ b/configs/fedora/generic/arm/armv7/armv7/CONFIG_CHARGER_TPS65217
@@ -1 +1 @@
-CONFIG_CHARGER_TPS65217=m
+# CONFIG_CHARGER_TPS65217 is not set
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SPI_CADENCE b/configs/fedora/generic/arm/armv7/armv7/CONFIG_SPI_CADENCE
deleted file mode 100644
index 3a8bb168c..000000000
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SPI_CADENCE
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SPI_CADENCE=m
diff --git a/configs/fedora/generic/s390x/CONFIG_DRM b/configs/fedora/generic/s390x/CONFIG_DRM
deleted file mode 100644
index c9d4b0f66..000000000
--- a/configs/fedora/generic/s390x/CONFIG_DRM
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_DRM is not set
diff --git a/crypto-testmgr-Allow-different-compression-results.patch b/crypto-testmgr-Allow-different-compression-results.patch
new file mode 100644
index 000000000..c752770ef
--- /dev/null
+++ b/crypto-testmgr-Allow-different-compression-results.patch
@@ -0,0 +1,163 @@
+From patchwork Wed Apr 11 18:28:32 2018
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: crypto: testmgr: Allow different compression results
+From: Jan Glauber <jglauber@cavium.com>
+X-Patchwork-Id: 10336001
+Message-Id: <20180411182832.27761-1-jglauber@cavium.com>
+To: Herbert Xu <herbert@gondor.apana.org.au>
+Cc: "David S . Miller" <davem@davemloft.net>,
+ linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org,
+ Mahipal Challa <mchalla@cavium.com>,
+ Balakrishna Bhamidipati <bbhamidipati@cavium.com>,
+ Jan Glauber <jglauber@cavium.com>
+Date: Wed, 11 Apr 2018 20:28:32 +0200
+
+From: Mahipal Challa <mchalla@cavium.com>
+
+The following error is triggered by the ThunderX ZIP driver
+if the testmanager is enabled:
+
+[ 199.069437] ThunderX-ZIP 0000:03:00.0: Found ZIP device 0 177d:a01a on Node 0
+[ 199.073573] alg: comp: Compression test 1 failed for deflate-generic: output len = 37
+
+The reason for this error is the verification of the compression
+results. Verifying the compression result only works if all
+algorithm parameters are identical, in this case to the software
+implementation.
+
+Different compression engines like the ThunderX ZIP coprocessor
+might yield different compression results by tuning the
+algorithm parameters. In our case the compressed result is
+shorter than the test vector.
+
+We should not forbid different compression results but only
+check that compression -> decompression yields the same
+result. This is done already in the acomp test. Do something
+similar for test_comp().
+
+Signed-off-by: Mahipal Challa <mchalla@cavium.com>
+Signed-off-by: Balakrishna Bhamidipati <bbhamidipati@cavium.com>
+[jglauber@cavium.com: removed unrelated printk changes, rewrote commit msg,
+ fixed whitespace and unneeded initialization]
+Signed-off-by: Jan Glauber <jglauber@cavium.com>
+---
+ crypto/testmgr.c | 50 +++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 37 insertions(+), 13 deletions(-)
+
+diff --git a/crypto/testmgr.c b/crypto/testmgr.c
+index af4a01c..627e82e 100644
+--- a/crypto/testmgr.c
++++ b/crypto/testmgr.c
+@@ -1342,19 +1342,30 @@ static int test_comp(struct crypto_comp *tfm,
+ int ctcount, int dtcount)
+ {
+ const char *algo = crypto_tfm_alg_driver_name(crypto_comp_tfm(tfm));
++ char *output, *decomp_output;
+ unsigned int i;
+- char result[COMP_BUF_SIZE];
+ int ret;
+
++ output = kmalloc(COMP_BUF_SIZE, GFP_KERNEL);
++ if (!output)
++ return -ENOMEM;
++
++ decomp_output = kmalloc(COMP_BUF_SIZE, GFP_KERNEL);
++ if (!decomp_output) {
++ kfree(output);
++ return -ENOMEM;
++ }
++
+ for (i = 0; i < ctcount; i++) {
+ int ilen;
+ unsigned int dlen = COMP_BUF_SIZE;
+
+- memset(result, 0, sizeof (result));
++ memset(output, 0, sizeof(COMP_BUF_SIZE));
++ memset(decomp_output, 0, sizeof(COMP_BUF_SIZE));
+
+ ilen = ctemplate[i].inlen;
+ ret = crypto_comp_compress(tfm, ctemplate[i].input,
+- ilen, result, &dlen);
++ ilen, output, &dlen);
+ if (ret) {
+ printk(KERN_ERR "alg: comp: compression failed "
+ "on test %d for %s: ret=%d\n", i + 1, algo,
+@@ -1362,7 +1373,17 @@ static int test_comp(struct crypto_comp *tfm,
+ goto out;
+ }
+
+- if (dlen != ctemplate[i].outlen) {
++ ilen = dlen;
++ dlen = COMP_BUF_SIZE;
++ ret = crypto_comp_decompress(tfm, output,
++ ilen, decomp_output, &dlen);
++ if (ret) {
++ pr_err("alg: comp: compression failed: decompress: on test %d for %s failed: ret=%d\n",
++ i + 1, algo, -ret);
++ goto out;
++ }
++
++ if (dlen != ctemplate[i].inlen) {
+ printk(KERN_ERR "alg: comp: Compression test %d "
+ "failed for %s: output len = %d\n", i + 1, algo,
+ dlen);
+@@ -1370,10 +1391,11 @@ static int test_comp(struct crypto_comp *tfm,
+ goto out;
+ }
+
+- if (memcmp(result, ctemplate[i].output, dlen)) {
+- printk(KERN_ERR "alg: comp: Compression test %d "
+- "failed for %s\n", i + 1, algo);
+- hexdump(result, dlen);
++ if (memcmp(decomp_output, ctemplate[i].input,
++ ctemplate[i].inlen)) {
++ pr_err("alg: comp: compression failed: output differs: on test %d for %s\n",
++ i + 1, algo);
++ hexdump(decomp_output, dlen);
+ ret = -EINVAL;
+ goto out;
+ }
+@@ -1383,11 +1405,11 @@ static int test_comp(struct crypto_comp *tfm,
+ int ilen;
+ unsigned int dlen = COMP_BUF_SIZE;
+
+- memset(result, 0, sizeof (result));
++ memset(decomp_output, 0, sizeof(COMP_BUF_SIZE));
+
+ ilen = dtemplate[i].inlen;
+ ret = crypto_comp_decompress(tfm, dtemplate[i].input,
+- ilen, result, &dlen);
++ ilen, decomp_output, &dlen);
+ if (ret) {
+ printk(KERN_ERR "alg: comp: decompression failed "
+ "on test %d for %s: ret=%d\n", i + 1, algo,
+@@ -1403,10 +1425,10 @@ static int test_comp(struct crypto_comp *tfm,
+ goto out;
+ }
+
+- if (memcmp(result, dtemplate[i].output, dlen)) {
++ if (memcmp(decomp_output, dtemplate[i].output, dlen)) {
+ printk(KERN_ERR "alg: comp: Decompression test %d "
+ "failed for %s\n", i + 1, algo);
+- hexdump(result, dlen);
++ hexdump(decomp_output, dlen);
+ ret = -EINVAL;
+ goto out;
+ }
+@@ -1415,11 +1437,13 @@ static int test_comp(struct crypto_comp *tfm,
+ ret = 0;
+
+ out:
++ kfree(decomp_output);
++ kfree(output);
+ return ret;
+ }
+
+ static int test_acomp(struct crypto_acomp *tfm,
+- const struct comp_testvec *ctemplate,
++ const struct comp_testvec *ctemplate,
+ const struct comp_testvec *dtemplate,
+ int ctcount, int dtcount)
+ {
diff --git a/kernel-aarch64-debug.config b/kernel-aarch64-debug.config
index bc929d483..6d2a8a713 100644
--- a/kernel-aarch64-debug.config
+++ b/kernel-aarch64-debug.config
@@ -149,7 +149,7 @@ CONFIG_ADAPTEC_STARFIRE=m
# CONFIG_AF_KCM is not set
# CONFIG_AF_RXRPC is not set
# CONFIG_AFS_FS is not set
-# CONFIG_AHCI_CEVA is not set
+CONFIG_AHCI_CEVA=m
CONFIG_AHCI_MVEBU=m
# CONFIG_AHCI_QORIQ is not set
CONFIG_AHCI_SUNXI=m
@@ -713,7 +713,8 @@ CONFIG_BUILD_DOCSRC=y
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_HISTOGRAM is not set
CONFIG_CACHEFILES=m
-# CONFIG_CADENCE_WATCHDOG is not set
+CONFIG_CADENCE_TTC_TIMER=y
+CONFIG_CADENCE_WATCHDOG=m
# CONFIG_CAIF is not set
CONFIG_CAN_8DEV_USB=m
CONFIG_CAN_BCM=m
@@ -759,7 +760,7 @@ CONFIG_CAN_SUN4I=m
# CONFIG_CAN_TSCAN1 is not set
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
-# CONFIG_CAN_XILINXCAN is not set
+CONFIG_CAN_XILINXCAN=m
CONFIG_CAPI_AVM=y
# CONFIG_CAPI_EICON is not set
# CONFIG_CAPI_TRACE is not set
@@ -1822,6 +1823,7 @@ CONFIG_GPIO_RASPBERRYPI_EXP=m
CONFIG_GPIO_TEGRA=y
CONFIG_GPIO_THUNDERX=m
# CONFIG_GPIO_TPIC2810 is not set
+CONFIG_GPIO_TPS65086=m
CONFIG_GPIO_TPS68470=y
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
@@ -2069,7 +2071,7 @@ CONFIG_I2C_ARB_GPIO_CHALLENGE=m
# CONFIG_I2C_BCM2048 is not set
CONFIG_I2C_BCM2835=m
CONFIG_I2C_BOARDINFO=y
-# CONFIG_I2C_CADENCE is not set
+CONFIG_I2C_CADENCE=m
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_COMPAT=y
@@ -2212,7 +2214,7 @@ CONFIG_IMA_LSM_RULES=y
CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_IMG_ASCII_LCD is not set
# CONFIG_IMX_IPUV3_CORE is not set
-# CONFIG_INA2XX_ADC is not set
+CONFIG_INA2XX_ADC=m
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_ESP_OFFLOAD=m
@@ -3094,7 +3096,7 @@ CONFIG_MFD_SYSCON=y
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TI_LP87565 is not set
# CONFIG_MFD_TIMBERDALE is not set
-# CONFIG_MFD_TPS65086 is not set
+CONFIG_MFD_TPS65086=m
# CONFIG_MFD_TPS65090 is not set
# CONFIG_MFD_TPS65217 is not set
# CONFIG_MFD_TPS65218 is not set
@@ -4479,6 +4481,7 @@ CONFIG_REGULATOR_RK808=m
# CONFIG_REGULATOR_TPS62360 is not set
# CONFIG_REGULATOR_TPS65023 is not set
# CONFIG_REGULATOR_TPS6507X is not set
+CONFIG_REGULATOR_TPS65086=m
# CONFIG_REGULATOR_TPS65132 is not set
# CONFIG_REGULATOR_TPS6524X is not set
CONFIG_REGULATOR_USERSPACE_CONSUMER=m
@@ -5102,7 +5105,8 @@ CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_SERIAL_TEGRA=y
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_UARTLITE is not set
-# CONFIG_SERIAL_XILINX_PS_UART is not set
+CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
+CONFIG_SERIAL_XILINX_PS_UART=y
CONFIG_SERIO_ALTERA_PS2=m
CONFIG_SERIO_AMBAKMI=m
# CONFIG_SERIO_APBPS2 is not set
@@ -5527,7 +5531,7 @@ CONFIG_SPI_BCM2835=m
# CONFIG_SPI_BCM_QSPI is not set
CONFIG_SPI_BITBANG=m
# CONFIG_SPI_BUTTERFLY is not set
-# CONFIG_SPI_CADENCE is not set
+CONFIG_SPI_CADENCE=m
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_DESIGNWARE=m
# CONFIG_SPI_DW_MID_DMA is not set
@@ -5725,7 +5729,7 @@ CONFIG_TEGRA20_APB_DMA=y
CONFIG_TEGRA210_ADMA=y
CONFIG_TEGRA_ACONNECT=m
CONFIG_TEGRA_AHB=y
-# CONFIG_TEGRA_BPMP_THERMAL is not set
+CONFIG_TEGRA_BPMP_THERMAL=m
CONFIG_TEGRA_BPMP=y
CONFIG_TEGRA_GMI=m
CONFIG_TEGRA_HOST1X_FIREWALL=y
diff --git a/kernel-aarch64.config b/kernel-aarch64.config
index 4d66efe55..133e05b90 100644
--- a/kernel-aarch64.config
+++ b/kernel-aarch64.config
@@ -149,7 +149,7 @@ CONFIG_ADAPTEC_STARFIRE=m
# CONFIG_AF_KCM is not set
# CONFIG_AF_RXRPC is not set
# CONFIG_AFS_FS is not set
-# CONFIG_AHCI_CEVA is not set
+CONFIG_AHCI_CEVA=m
CONFIG_AHCI_MVEBU=m
# CONFIG_AHCI_QORIQ is not set
CONFIG_AHCI_SUNXI=m
@@ -713,7 +713,8 @@ CONFIG_BUILD_DOCSRC=y
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_HISTOGRAM is not set
CONFIG_CACHEFILES=m
-# CONFIG_CADENCE_WATCHDOG is not set
+CONFIG_CADENCE_TTC_TIMER=y
+CONFIG_CADENCE_WATCHDOG=m
# CONFIG_CAIF is not set
CONFIG_CAN_8DEV_USB=m
CONFIG_CAN_BCM=m
@@ -759,7 +760,7 @@ CONFIG_CAN_SUN4I=m
# CONFIG_CAN_TSCAN1 is not set
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
-# CONFIG_CAN_XILINXCAN is not set
+CONFIG_CAN_XILINXCAN=m
CONFIG_CAPI_AVM=y
# CONFIG_CAPI_EICON is not set
# CONFIG_CAPI_TRACE is not set
@@ -1804,6 +1805,7 @@ CONFIG_GPIO_RASPBERRYPI_EXP=m
CONFIG_GPIO_TEGRA=y
CONFIG_GPIO_THUNDERX=m
# CONFIG_GPIO_TPIC2810 is not set
+CONFIG_GPIO_TPS65086=m
CONFIG_GPIO_TPS68470=y
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
@@ -2051,7 +2053,7 @@ CONFIG_I2C_ARB_GPIO_CHALLENGE=m
# CONFIG_I2C_BCM2048 is not set
CONFIG_I2C_BCM2835=m
CONFIG_I2C_BOARDINFO=y
-# CONFIG_I2C_CADENCE is not set
+CONFIG_I2C_CADENCE=m
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_COMPAT=y
@@ -2194,7 +2196,7 @@ CONFIG_IMA_LSM_RULES=y
CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_IMG_ASCII_LCD is not set
# CONFIG_IMX_IPUV3_CORE is not set
-# CONFIG_INA2XX_ADC is not set
+CONFIG_INA2XX_ADC=m
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_ESP_OFFLOAD=m
@@ -3073,7 +3075,7 @@ CONFIG_MFD_SYSCON=y
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TI_LP87565 is not set
# CONFIG_MFD_TIMBERDALE is not set
-# CONFIG_MFD_TPS65086 is not set
+CONFIG_MFD_TPS65086=m
# CONFIG_MFD_TPS65090 is not set
# CONFIG_MFD_TPS65217 is not set
# CONFIG_MFD_TPS65218 is not set
@@ -4456,6 +4458,7 @@ CONFIG_REGULATOR_RK808=m
# CONFIG_REGULATOR_TPS62360 is not set
# CONFIG_REGULATOR_TPS65023 is not set
# CONFIG_REGULATOR_TPS6507X is not set
+CONFIG_REGULATOR_TPS65086=m
# CONFIG_REGULATOR_TPS65132 is not set
# CONFIG_REGULATOR_TPS6524X is not set
CONFIG_REGULATOR_USERSPACE_CONSUMER=m
@@ -5079,7 +5082,8 @@ CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_SERIAL_TEGRA=y
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_UARTLITE is not set
-# CONFIG_SERIAL_XILINX_PS_UART is not set
+CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
+CONFIG_SERIAL_XILINX_PS_UART=y
CONFIG_SERIO_ALTERA_PS2=m
CONFIG_SERIO_AMBAKMI=m
# CONFIG_SERIO_APBPS2 is not set
@@ -5503,7 +5507,7 @@ CONFIG_SPI_BCM2835=m
# CONFIG_SPI_BCM_QSPI is not set
CONFIG_SPI_BITBANG=m
# CONFIG_SPI_BUTTERFLY is not set
-# CONFIG_SPI_CADENCE is not set
+CONFIG_SPI_CADENCE=m
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_DESIGNWARE=m
# CONFIG_SPI_DW_MID_DMA is not set
@@ -5701,7 +5705,7 @@ CONFIG_TEGRA20_APB_DMA=y
CONFIG_TEGRA210_ADMA=y
CONFIG_TEGRA_ACONNECT=m
CONFIG_TEGRA_AHB=y
-# CONFIG_TEGRA_BPMP_THERMAL is not set
+CONFIG_TEGRA_BPMP_THERMAL=m
CONFIG_TEGRA_BPMP=y
CONFIG_TEGRA_GMI=m
CONFIG_TEGRA_HOST1X_FIREWALL=y
diff --git a/kernel-armv7hl-debug.config b/kernel-armv7hl-debug.config
index 111e78f62..8dd5a6f33 100644
--- a/kernel-armv7hl-debug.config
+++ b/kernel-armv7hl-debug.config
@@ -873,7 +873,7 @@ CONFIG_CHARGER_QCOM_SMBB=m
# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
CONFIG_CHARGER_TPS65090=m
-CONFIG_CHARGER_TPS65217=m
+# CONFIG_CHARGER_TPS65217 is not set
CONFIG_CHARGER_TWL4030=m
# CONFIG_CHASH_SELFTEST is not set
# CONFIG_CHASH_STATS is not set
@@ -6190,12 +6190,11 @@ CONFIG_TEGRA124_EMC=y
CONFIG_TEGRA20_APB_DMA=y
CONFIG_TEGRA20_MC=y
CONFIG_TEGRA_AHB=y
-# CONFIG_TEGRA_BPMP_THERMAL is not set
-CONFIG_TEGRA_BPMP=y
+# CONFIG_TEGRA_BPMP is not set
CONFIG_TEGRA_GMI=m
CONFIG_TEGRA_HOST1X_FIREWALL=y
CONFIG_TEGRA_HOST1X=m
-CONFIG_TEGRA_HSP_MBOX=y
+# CONFIG_TEGRA_HSP_MBOX is not set
CONFIG_TEGRA_IOMMU_GART=y
CONFIG_TEGRA_IOMMU_SMMU=y
CONFIG_TEGRA_IVC=y
diff --git a/kernel-armv7hl-lpae-debug.config b/kernel-armv7hl-lpae-debug.config
index 7290db40e..2d105f611 100644
--- a/kernel-armv7hl-lpae-debug.config
+++ b/kernel-armv7hl-lpae-debug.config
@@ -725,7 +725,7 @@ CONFIG_CACHEFILES=m
CONFIG_CACHE_L2X0_PMU=y
CONFIG_CACHE_L2X0=y
CONFIG_CACHE_TAUROS2=y
-# CONFIG_CADENCE_WATCHDOG is not set
+CONFIG_CADENCE_WATCHDOG=m
# CONFIG_CAIF is not set
CONFIG_CAN_8DEV_USB=m
CONFIG_CAN_BCM=m
@@ -2079,7 +2079,7 @@ CONFIG_I2C_ARB_GPIO_CHALLENGE=m
# CONFIG_I2C_BCM2048 is not set
CONFIG_I2C_BCM2835=m
CONFIG_I2C_BOARDINFO=y
-# CONFIG_I2C_CADENCE is not set
+CONFIG_I2C_CADENCE=m
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_COMPAT=y
@@ -4505,7 +4505,6 @@ CONFIG_REGULATOR_TPS65023=m
CONFIG_REGULATOR_TPS6507X=m
CONFIG_REGULATOR_TPS65090=m
# CONFIG_REGULATOR_TPS65132 is not set
-CONFIG_REGULATOR_TPS65217=y
CONFIG_REGULATOR_TPS6524X=m
CONFIG_REGULATOR_TPS6586X=m
CONFIG_REGULATOR_TPS65910=m
@@ -5586,7 +5585,7 @@ CONFIG_SPI_BCM2835=m
# CONFIG_SPI_BCM_QSPI is not set
CONFIG_SPI_BITBANG=m
# CONFIG_SPI_BUTTERFLY is not set
-# CONFIG_SPI_CADENCE is not set
+CONFIG_SPI_CADENCE=m
# CONFIG_SPI_CADENCE_QUADSPI is not set
CONFIG_SPI_DAVINCI=m
# CONFIG_SPI_DEBUG is not set
@@ -5789,12 +5788,11 @@ CONFIG_TEGRA124_EMC=y
CONFIG_TEGRA20_APB_DMA=y
# CONFIG_TEGRA20_MC is not set
CONFIG_TEGRA_AHB=y
-# CONFIG_TEGRA_BPMP_THERMAL is not set
-CONFIG_TEGRA_BPMP=y
+# CONFIG_TEGRA_BPMP is not set
CONFIG_TEGRA_GMI=m
CONFIG_TEGRA_HOST1X_FIREWALL=y
CONFIG_TEGRA_HOST1X=m
-CONFIG_TEGRA_HSP_MBOX=y
+# CONFIG_TEGRA_HSP_MBOX is not set
# CONFIG_TEGRA_IOMMU_GART is not set
CONFIG_TEGRA_IOMMU_SMMU=y
CONFIG_TEGRA_IVC=y
diff --git a/kernel-armv7hl-lpae.config b/kernel-armv7hl-lpae.config
index 8d5c3fa41..b6856efda 100644
--- a/kernel-armv7hl-lpae.config
+++ b/kernel-armv7hl-lpae.config
@@ -724,7 +724,7 @@ CONFIG_CACHEFILES=m
CONFIG_CACHE_L2X0_PMU=y
CONFIG_CACHE_L2X0=y
CONFIG_CACHE_TAUROS2=y
-# CONFIG_CADENCE_WATCHDOG is not set
+CONFIG_CADENCE_WATCHDOG=m
# CONFIG_CAIF is not set
CONFIG_CAN_8DEV_USB=m
CONFIG_CAN_BCM=m
@@ -2061,7 +2061,7 @@ CONFIG_I2C_ARB_GPIO_CHALLENGE=m
# CONFIG_I2C_BCM2048 is not set
CONFIG_I2C_BCM2835=m
CONFIG_I2C_BOARDINFO=y
-# CONFIG_I2C_CADENCE is not set
+CONFIG_I2C_CADENCE=m
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_COMPAT=y
@@ -4482,7 +4482,6 @@ CONFIG_REGULATOR_TPS65023=m
CONFIG_REGULATOR_TPS6507X=m
CONFIG_REGULATOR_TPS65090=m
# CONFIG_REGULATOR_TPS65132 is not set
-CONFIG_REGULATOR_TPS65217=y
CONFIG_REGULATOR_TPS6524X=m
CONFIG_REGULATOR_TPS6586X=m
CONFIG_REGULATOR_TPS65910=m
@@ -5562,7 +5561,7 @@ CONFIG_SPI_BCM2835=m
# CONFIG_SPI_BCM_QSPI is not set
CONFIG_SPI_BITBANG=m
# CONFIG_SPI_BUTTERFLY is not set
-# CONFIG_SPI_CADENCE is not set
+CONFIG_SPI_CADENCE=m
# CONFIG_SPI_CADENCE_QUADSPI is not set
CONFIG_SPI_DAVINCI=m
# CONFIG_SPI_DEBUG is not set
@@ -5765,12 +5764,11 @@ CONFIG_TEGRA124_EMC=y
CONFIG_TEGRA20_APB_DMA=y
# CONFIG_TEGRA20_MC is not set
CONFIG_TEGRA_AHB=y
-# CONFIG_TEGRA_BPMP_THERMAL is not set
-CONFIG_TEGRA_BPMP=y
+# CONFIG_TEGRA_BPMP is not set
CONFIG_TEGRA_GMI=m
CONFIG_TEGRA_HOST1X_FIREWALL=y
CONFIG_TEGRA_HOST1X=m
-CONFIG_TEGRA_HSP_MBOX=y
+# CONFIG_TEGRA_HSP_MBOX is not set
# CONFIG_TEGRA_IOMMU_GART is not set
CONFIG_TEGRA_IOMMU_SMMU=y
CONFIG_TEGRA_IVC=y
diff --git a/kernel-armv7hl.config b/kernel-armv7hl.config
index c7375c76d..89631775d 100644
--- a/kernel-armv7hl.config
+++ b/kernel-armv7hl.config
@@ -872,7 +872,7 @@ CONFIG_CHARGER_QCOM_SMBB=m
# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
CONFIG_CHARGER_TPS65090=m
-CONFIG_CHARGER_TPS65217=m
+# CONFIG_CHARGER_TPS65217 is not set
CONFIG_CHARGER_TWL4030=m
# CONFIG_CHASH_SELFTEST is not set
# CONFIG_CHASH_STATS is not set
@@ -6166,12 +6166,11 @@ CONFIG_TEGRA124_EMC=y
CONFIG_TEGRA20_APB_DMA=y
CONFIG_TEGRA20_MC=y
CONFIG_TEGRA_AHB=y
-# CONFIG_TEGRA_BPMP_THERMAL is not set
-CONFIG_TEGRA_BPMP=y
+# CONFIG_TEGRA_BPMP is not set
CONFIG_TEGRA_GMI=m
CONFIG_TEGRA_HOST1X_FIREWALL=y
CONFIG_TEGRA_HOST1X=m
-CONFIG_TEGRA_HSP_MBOX=y
+# CONFIG_TEGRA_HSP_MBOX is not set
CONFIG_TEGRA_IOMMU_GART=y
CONFIG_TEGRA_IOMMU_SMMU=y
CONFIG_TEGRA_IVC=y
diff --git a/kernel-i686-PAE.config b/kernel-i686-PAE.config
index d39f5e1e3..07964da3a 100644
--- a/kernel-i686-PAE.config
+++ b/kernel-i686-PAE.config
@@ -5363,7 +5363,6 @@ CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_TEE is not set
-# CONFIG_TEGRA_BPMP_THERMAL is not set
CONFIG_TEHUTI=m
CONFIG_TELCLOCK=m
CONFIG_TERANETICS_PHY=m
diff --git a/kernel-i686-PAEdebug.config b/kernel-i686-PAEdebug.config
index c9f06bc7b..52714cd6b 100644
--- a/kernel-i686-PAEdebug.config
+++ b/kernel-i686-PAEdebug.config
@@ -5386,7 +5386,6 @@ CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_TEE is not set
-# CONFIG_TEGRA_BPMP_THERMAL is not set
CONFIG_TEHUTI=m
CONFIG_TELCLOCK=m
CONFIG_TERANETICS_PHY=m
diff --git a/kernel-i686-debug.config b/kernel-i686-debug.config
index d45e2acfa..19a76085a 100644
--- a/kernel-i686-debug.config
+++ b/kernel-i686-debug.config
@@ -5386,7 +5386,6 @@ CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_TEE is not set
-# CONFIG_TEGRA_BPMP_THERMAL is not set
CONFIG_TEHUTI=m
CONFIG_TELCLOCK=m
CONFIG_TERANETICS_PHY=m
diff --git a/kernel-i686.config b/kernel-i686.config
index 391bcad49..abdc72143 100644
--- a/kernel-i686.config
+++ b/kernel-i686.config
@@ -5363,7 +5363,6 @@ CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_TEE is not set
-# CONFIG_TEGRA_BPMP_THERMAL is not set
CONFIG_TEHUTI=m
CONFIG_TELCLOCK=m
CONFIG_TERANETICS_PHY=m
diff --git a/kernel-ppc64-debug.config b/kernel-ppc64-debug.config
index 68ea3984b..fb0c89ac3 100644
--- a/kernel-ppc64-debug.config
+++ b/kernel-ppc64-debug.config
@@ -4998,6 +4998,7 @@ CONFIG_SPARSE_RCU_POINTER=y
# CONFIG_SPI_AXI_SPI_ENGINE is not set
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_BUTTERFLY is not set
+# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_FSL_LPSPI=m
@@ -5157,7 +5158,6 @@ CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_TEE is not set
-# CONFIG_TEGRA_BPMP_THERMAL is not set
CONFIG_TEHUTI=m
CONFIG_TELCLOCK=m
CONFIG_TERANETICS_PHY=m
diff --git a/kernel-ppc64.config b/kernel-ppc64.config
index f40057455..ff348860d 100644
--- a/kernel-ppc64.config
+++ b/kernel-ppc64.config
@@ -4973,6 +4973,7 @@ CONFIG_SPARSE_RCU_POINTER=y
# CONFIG_SPI_AXI_SPI_ENGINE is not set
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_BUTTERFLY is not set
+# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_FSL_LPSPI=m
@@ -5132,7 +5133,6 @@ CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_TEE is not set
-# CONFIG_TEGRA_BPMP_THERMAL is not set
CONFIG_TEHUTI=m
CONFIG_TELCLOCK=m
CONFIG_TERANETICS_PHY=m
diff --git a/kernel-ppc64le-debug.config b/kernel-ppc64le-debug.config
index a1638aaeb..fa42fc631 100644
--- a/kernel-ppc64le-debug.config
+++ b/kernel-ppc64le-debug.config
@@ -4926,6 +4926,7 @@ CONFIG_SPARSE_RCU_POINTER=y
# CONFIG_SPI_AXI_SPI_ENGINE is not set
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_BUTTERFLY is not set
+# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_FSL_LPSPI=m
@@ -5085,7 +5086,6 @@ CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_TEE is not set
-# CONFIG_TEGRA_BPMP_THERMAL is not set
CONFIG_TEHUTI=m
CONFIG_TELCLOCK=m
CONFIG_TERANETICS_PHY=m
diff --git a/kernel-ppc64le.config b/kernel-ppc64le.config
index b29251361..b79306d9a 100644
--- a/kernel-ppc64le.config
+++ b/kernel-ppc64le.config
@@ -4901,6 +4901,7 @@ CONFIG_SPARSE_RCU_POINTER=y
# CONFIG_SPI_AXI_SPI_ENGINE is not set
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_BUTTERFLY is not set
+# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_FSL_LPSPI=m
@@ -5060,7 +5061,6 @@ CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_TEE is not set
-# CONFIG_TEGRA_BPMP_THERMAL is not set
CONFIG_TEHUTI=m
CONFIG_TELCLOCK=m
CONFIG_TERANETICS_PHY=m
diff --git a/kernel-s390x-debug.config b/kernel-s390x-debug.config
index d10cbe38b..ba519dbc9 100644
--- a/kernel-s390x-debug.config
+++ b/kernel-s390x-debug.config
@@ -1075,10 +1075,10 @@ CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
-# CONFIG_DRM is not set
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
# CONFIG_DRM_LVDS_ENCODER is not set
+CONFIG_DRM=m
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
@@ -4821,6 +4821,7 @@ CONFIG_SPARSE_RCU_POINTER=y
# CONFIG_SPI_AXI_SPI_ENGINE is not set
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_BUTTERFLY is not set
+# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_FSL_LPSPI=m
@@ -4979,7 +4980,6 @@ CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_TEE is not set
-# CONFIG_TEGRA_BPMP_THERMAL is not set
CONFIG_TEHUTI=m
CONFIG_TELCLOCK=m
CONFIG_TERANETICS_PHY=m
diff --git a/kernel-s390x.config b/kernel-s390x.config
index d914c23c0..7821c24fc 100644
--- a/kernel-s390x.config
+++ b/kernel-s390x.config
@@ -1064,10 +1064,10 @@ CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
-# CONFIG_DRM is not set
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
# CONFIG_DRM_LVDS_ENCODER is not set
+CONFIG_DRM=m
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
@@ -4796,6 +4796,7 @@ CONFIG_SPARSE_RCU_POINTER=y
# CONFIG_SPI_AXI_SPI_ENGINE is not set
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_BUTTERFLY is not set
+# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_FSL_LPSPI=m
@@ -4954,7 +4955,6 @@ CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_TEE is not set
-# CONFIG_TEGRA_BPMP_THERMAL is not set
CONFIG_TEHUTI=m
CONFIG_TELCLOCK=m
CONFIG_TERANETICS_PHY=m
diff --git a/kernel-x86_64-debug.config b/kernel-x86_64-debug.config
index 9f2bcacc1..0975954b1 100644
--- a/kernel-x86_64-debug.config
+++ b/kernel-x86_64-debug.config
@@ -5477,7 +5477,6 @@ CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_TEE is not set
-# CONFIG_TEGRA_BPMP_THERMAL is not set
CONFIG_TEHUTI=m
CONFIG_TELCLOCK=m
CONFIG_TERANETICS_PHY=m
diff --git a/kernel-x86_64.config b/kernel-x86_64.config
index ddd640e07..bb458a5d0 100644
--- a/kernel-x86_64.config
+++ b/kernel-x86_64.config
@@ -5454,7 +5454,6 @@ CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_TEE is not set
-# CONFIG_TEGRA_BPMP_THERMAL is not set
CONFIG_TEHUTI=m
CONFIG_TELCLOCK=m
CONFIG_TERANETICS_PHY=m
diff --git a/kernel.spec b/kernel.spec
index e698f1fc3..69650c21f 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -612,7 +612,19 @@ Patch307: arm-crypto-sunxi-ss-Add-MODULE_ALIAS-to-sun4i-ss.patch
# https://marc.info/?l=linux-kernel&m=152328880417846&w=2
Patch308: arm64-thunderx-crypto-zip-fixes.patch
-Patch309: arm-tegra-fix-nouveau-crash.patch
+# https://www.spinics.net/lists/linux-crypto/msg32725.html
+Patch309: crypto-testmgr-Allow-different-compression-results.patch
+
+Patch310: arm-tegra-fix-nouveau-crash.patch
+
+# https://www.spinics.net/lists/arm-kernel/msg630629.html
+Patch311: arm-sunxi-nvmem-fixH3.patch
+
+# https://patchwork.kernel.org/patch/10311335/
+Patch312: clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch
+
+# Upstream 4.17 back port
+Patch319: of-i2c-fix-module-aliases.patch
# Fix USB on the RPi https://patchwork.kernel.org/patch/9879371/
Patch320: bcm283x-dma-mapping-skip-USB-devices-when-configuring-DMA-during-probe.patch
@@ -654,6 +666,9 @@ Patch504: sunrpc-remove-incorrect-HMAC-request-initialization.patch
# rhbz 1549316
Patch505: ipmi-fixes.patch
+# rhbz 1566510
+Patch506: net-Revert-macsec-missing-dev_put-on-error-in-macsec_newlink.patch
+
# END OF PATCH DEFINITIONS
%endif
@@ -1906,9 +1921,25 @@ fi
#
#
%changelog
+* Tue Apr 17 2018 Peter Robinson <pbrobinson@fedoraproject.org>
+- Enable drivers for Xilinx ZYMQ-MP Ultra96
+
+* Mon Apr 16 2018 Laura Abbott <labbott@fedoraproject.org>
+- Fix for hang on removal of macsec module (rhbz 1566410)
+
+* Thu Apr 12 2018 Peter Robinson <pbrobinson@fedoraproject.org>
+- Disable tps65217-charger on BeagleBone to fix USB-OTG port rhbz 1487399
+
+* Thu Apr 12 2018 Jeremy Cline <jeremy@jcline.org> - 4.16.2-300
+- Linux v4.16.2
+
* Thu Apr 12 2018 Peter Robinson <pbrobinson@fedoraproject.org>
- Patch to fix nouveau on Tegra platforms
- Enable IOMMU on Exynos now upstream does
+- Further fix for ThunderX ZIP driver
+- Fix for OF i2c module aliases
+- Fix for nvmem on AllWinner H3/H5 SoCs
+- Add fix for the BeagleBone boot failure
* Mon Apr 09 2018 Jeremy Cline <jeremy@jcline.org>
- Include the KCS IPMI BMC driver that's in F27
diff --git a/net-Revert-macsec-missing-dev_put-on-error-in-macsec_newlink.patch b/net-Revert-macsec-missing-dev_put-on-error-in-macsec_newlink.patch
new file mode 100644
index 000000000..f3af83782
--- /dev/null
+++ b/net-Revert-macsec-missing-dev_put-on-error-in-macsec_newlink.patch
@@ -0,0 +1,57 @@
+From patchwork Mon Apr 16 10:17:50 2018
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [net] Revert "macsec: missing dev_put() on error in macsec_newlink()"
+X-Patchwork-Submitter: Dan Carpenter <dan.carpenter@oracle.com>
+X-Patchwork-Id: 898556
+X-Patchwork-Delegate: davem@davemloft.net
+Message-Id: <20180416101750.GA19613@mwanda>
+To: Laura Abbott <labbott@redhat.com>, Sabrina Dubroca <sd@queasysnail.net>
+Cc: "David S. Miller" <davem@davemloft.net>,
+ Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
+ netdev@vger.kernel.org
+Date: Mon, 16 Apr 2018 13:17:50 +0300
+From: Dan Carpenter <dan.carpenter@oracle.com>
+List-Id: <netdev.vger.kernel.org>
+
+This patch is just wrong, sorry. I was trying to fix a static checker
+warning and misread the code. The reference taken in macsec_newlink()
+is released in macsec_free_netdev() when the netdevice is destroyed.
+
+This reverts commit 5dcd8400884cc4a043a6d4617e042489e5d566a9.
+
+Reported-by: Laura Abbott <labbott@redhat.com>
+Fixes: 5dcd8400884c ("macsec: missing dev_put() on error in macsec_newlink()")
+Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
+Acked-by: Sabrina Dubroca <sd@queasysnail.net>
+---
+I sent this earlier but I messed up the CC list. I've updated the
+commit message as well.
+
+ drivers/net/macsec.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/net/macsec.c b/drivers/net/macsec.c
+index 9cbb0c8a896a..7de88b33d5b9 100644
+--- a/drivers/net/macsec.c
++++ b/drivers/net/macsec.c
+@@ -3277,7 +3277,7 @@ static int macsec_newlink(struct net *net, struct net_device *dev,
+
+ err = netdev_upper_dev_link(real_dev, dev, extack);
+ if (err < 0)
+- goto put_dev;
++ goto unregister;
+
+ /* need to be already registered so that ->init has run and
+ * the MAC addr is set
+@@ -3316,8 +3316,7 @@ static int macsec_newlink(struct net *net, struct net_device *dev,
+ macsec_del_dev(macsec);
+ unlink:
+ netdev_upper_dev_unlink(real_dev, dev);
+-put_dev:
+- dev_put(real_dev);
++unregister:
+ unregister_netdevice(dev);
+ return err;
+ }
diff --git a/of-i2c-fix-module-aliases.patch b/of-i2c-fix-module-aliases.patch
new file mode 100644
index 000000000..3c737f6e8
--- /dev/null
+++ b/of-i2c-fix-module-aliases.patch
@@ -0,0 +1,69 @@
+From af503716ac1444db61d80cb6d17cfe62929c21df Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javierm@redhat.com>
+Date: Sun, 3 Dec 2017 22:40:50 +0100
+Subject: i2c: core: report OF style module alias for devices registered via OF
+
+The buses should honor the firmware interface used to register the device,
+but the I2C core reports a MODALIAS of the form i2c:<device> even for I2C
+devices registered via OF.
+
+This means that user-space will never get an OF stype uevent MODALIAS even
+when the drivers modules contain aliases exported from both the I2C and OF
+device ID tables. For example, an Atmel maXTouch Touchscreen registered by
+a DT node with compatible "atmel,maxtouch" has the following module alias:
+
+$ cat /sys/class/i2c-adapter/i2c-8/8-004b/modalias
+i2c:maxtouch
+
+So udev won't be able to auto-load a module for an OF-only device driver.
+Many OF-only drivers duplicate the OF device ID table entries in an I2C ID
+table only has a workaround for how the I2C core reports the module alias.
+
+This patch changes the I2C core to report an OF related MODALIAS uevent if
+the device was registered via OF. So for the previous example, after this
+patch, the reported MODALIAS for the Atmel maXTouch will be the following:
+
+$ cat /sys/class/i2c-adapter/i2c-8/8-004b/modalias
+of:NtrackpadT<NULL>Catmel,maxtouch
+
+NOTE: This patch may break out-of-tree drivers that were relying on this
+ behavior, and only had an I2C device ID table even when the device
+ was registered via OF. There are no remaining drivers in mainline
+ that do this, but out-of-tree drivers have to be fixed and define
+ a proper OF device ID table to have module auto-loading working.
+
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Tested-by: Dmitry Mastykin <mastichi@gmail.com>
+Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
+---
+ drivers/i2c/i2c-core-base.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
+index 5a00bf4..edfc23e4 100644
+--- a/drivers/i2c/i2c-core-base.c
++++ b/drivers/i2c/i2c-core-base.c
+@@ -124,6 +124,10 @@ static int i2c_device_uevent(struct device *dev, struct kobj_uevent_env *env)
+ struct i2c_client *client = to_i2c_client(dev);
+ int rc;
+
++ rc = of_device_uevent_modalias(dev, env);
++ if (rc != -ENODEV)
++ return rc;
++
+ rc = acpi_device_uevent_modalias(dev, env);
+ if (rc != -ENODEV)
+ return rc;
+@@ -439,6 +443,10 @@ show_modalias(struct device *dev, struct device_attribute *attr, char *buf)
+ struct i2c_client *client = to_i2c_client(dev);
+ int len;
+
++ len = of_device_modalias(dev, buf, PAGE_SIZE);
++ if (len != -ENODEV)
++ return len;
++
+ len = acpi_device_modalias(dev, buf, PAGE_SIZE -1);
+ if (len != -ENODEV)
+ return len;
+--
+cgit v1.1