aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/gemini/patches-4.19/0001-pinctrl-gemini-Mask-and-set-properly.patch
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2019-01-26 13:36:49 +0100
committerMathias Kresin <dev@kresin.me>2019-01-26 21:46:32 +0100
commite44d1e17da089fdc7e7cb1cfa48334993e8aa427 (patch)
tree7c6a7addfd8fd99b05975faf6d2571e5b6de1584 /target/linux/gemini/patches-4.19/0001-pinctrl-gemini-Mask-and-set-properly.patch
parentc2bdd018a301662258ec745bf4da71d6d6193af1 (diff)
downloadupstream-e44d1e17da089fdc7e7cb1cfa48334993e8aa427.tar.gz
upstream-e44d1e17da089fdc7e7cb1cfa48334993e8aa427.tar.bz2
upstream-e44d1e17da089fdc7e7cb1cfa48334993e8aa427.zip
gemini: Add v4.19 kernel patches
This is the remainder of kernel patches for the v4.19 kernel. A whole slew of the previous patch stack is now upstream, so this mainly contains the stuff that was added upstream between v4.19 and v5.0-rc1, and then the USB FOTG201 patches from Hans. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'target/linux/gemini/patches-4.19/0001-pinctrl-gemini-Mask-and-set-properly.patch')
-rw-r--r--target/linux/gemini/patches-4.19/0001-pinctrl-gemini-Mask-and-set-properly.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/target/linux/gemini/patches-4.19/0001-pinctrl-gemini-Mask-and-set-properly.patch b/target/linux/gemini/patches-4.19/0001-pinctrl-gemini-Mask-and-set-properly.patch
new file mode 100644
index 0000000000..3cc7bad8b8
--- /dev/null
+++ b/target/linux/gemini/patches-4.19/0001-pinctrl-gemini-Mask-and-set-properly.patch
@@ -0,0 +1,36 @@
+From f8ac3d3472a8dc99c8647a637611d146d88be8cb Mon Sep 17 00:00:00 2001
+From: Linus Walleij <linus.walleij@linaro.org>
+Date: Tue, 9 Oct 2018 10:09:14 +0200
+Subject: [PATCH 01/18] pinctrl: gemini: Mask and set properly
+
+The code was written under the assumption that the
+regmap_update_bits() would mask the bits in the mask and
+set the bits in the value.
+
+It missed the points that it will not set bits in the value
+unless these are also masked in the mask. Set value bits
+that are not in the mask will simply be ignored.
+
+Fixes: 06351d133dea ("pinctrl: add a Gemini SoC pin controller")
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+---
+ drivers/pinctrl/pinctrl-gemini.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/pinctrl/pinctrl-gemini.c b/drivers/pinctrl/pinctrl-gemini.c
+index fa7d998e1d5a..1e484a36ff07 100644
+--- a/drivers/pinctrl/pinctrl-gemini.c
++++ b/drivers/pinctrl/pinctrl-gemini.c
+@@ -2184,7 +2184,8 @@ static int gemini_pmx_set_mux(struct pinctrl_dev *pctldev,
+ func->name, grp->name);
+
+ regmap_read(pmx->map, GLOBAL_MISC_CTRL, &before);
+- regmap_update_bits(pmx->map, GLOBAL_MISC_CTRL, grp->mask,
++ regmap_update_bits(pmx->map, GLOBAL_MISC_CTRL,
++ grp->mask | grp->value,
+ grp->value);
+ regmap_read(pmx->map, GLOBAL_MISC_CTRL, &after);
+
+--
+2.19.2
+